Skip to content

proto: add TextDeltaContent and ThoughtSummaryDeltaContent (task 1 of #246)#281

Closed
joycel-github wants to merge 2 commits into
mainfrom
proto-add-delta-content
Closed

proto: add TextDeltaContent and ThoughtSummaryDeltaContent (task 1 of #246)#281
joycel-github wants to merge 2 commits into
mainfrom
proto-add-delta-content

Conversation

@joycel-github

@joycel-github joycel-github commented Jul 9, 2026

Copy link
Copy Markdown
Collaborator

Task 1 (Proto) of #246 — antigravity harness streaming support.

What

  • Add TextDeltaContent and ThoughtSummaryDeltaContent modeled after the TextDelta / ThoughtSummaryDelta streaming primitives in google-genai.

Follow-up PRs will be sent in sequence

More details see issue #246

  • Task 2 — Antigravity harness: emit text_delta / thought_summary_delta as chunks arrive from the antigravity sdk
  • Task 3 — Controller: accept delta content in stream handling; accumulate adjacent deltas into durable text/thought output where needed; flush on role change, kind change, non-delta output, or stream end. (internal/controller/)
  • Task 4 — Display / clients: render text_delta as streamed assistant text and thought_summary_delta as streamed thought-summary text; add handling for the new delta types wherever content variants are switched on. Note that display is resonsible for identifying the boundary of different content and format accordingly (primary site: cmd/ax/internal/display.go).

Introduce streaming delta content types modeled after the TextDelta and
ThoughtSummaryDelta primitives in google-genai, and add text_delta /
thought_summary_delta variants to the Content oneof (tags 27 and 28).

These carry ordered, append-only chunks of the current contiguous text
or thought-summary run so the antigravity harness can emit the first
visible output as soon as the model stream produces it, without
buffering entire text/thought blocks. Consumers accumulate adjacent
deltas of the same role/kind for durable logs/history and flush on
role change, kind change, non-delta output, or stream end.

This is task 1 (Proto) from #246. Producer (harness), controller, and
display wiring follow in subsequent PRs.

Regenerated proto/content.pb.go via 'protoc --go_out=. --go_opt=paths=source_relative
--go-grpc_out=. --go-grpc_opt=paths=source_relative proto/ax.proto proto/content.proto'
using protoc v28.2 and protoc-gen-go v1.36.11 to match the existing
generated code's toolchain.
@joycel-github joycel-github requested review from rakyll and removed request for rakyll July 9, 2026 06:31
- ThoughtSummaryDeltaContent is now a plain 'string text = 1' instead
  of a oneof; matches TextDeltaContent's shape and avoids
  premature abstraction (variants can be added later if needed).
- Reorder the two delta messages to sit immediately before the Content
  message they extend, for readability.
- Tighten doc comments.
@joycel-github joycel-github requested a review from rakyll July 9, 2026 06:43
@joycel-github joycel-github marked this pull request as ready for review July 9, 2026 06:43
@rakyll

rakyll commented Jul 9, 2026

Copy link
Copy Markdown
Member

These fields are not Interactions Content compatible, am I right? We shouldn't introduce Content types that are not represented in Interactions.

@joycel-github joycel-github marked this pull request as draft July 9, 2026 21:49
@joycel-github

Copy link
Copy Markdown
Collaborator Author

we have decided to go with interaction proto and this issue will be postponed to milestone 3 when the proto is stable

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants