Asim Aslam
6950870dd9
a2a: conform to external A2A clients — well-known path + spec SSE events ( #4832 )
...
* a2a: conform to external A2A clients — well-known path + spec SSE events
The A2A gateway interoperated go-micro-to-go-micro but a real external
client (ADK, LangGraph, a2a-SDK) would not:
- Discovery: served the Agent Card at /.well-known/agent.json, but A2A
0.3.0 discovers it at /.well-known/agent-card.json. Serve both, with
agent-card.json canonical and agent.json a legacy alias — per-agent,
per-skill, and at the single-agent top level.
- message/stream emitted repeated full Task snapshots. External SSE
clients parse by `kind` and stop on `final:true`; a Task snapshot has
neither, so they never terminate. Emit spec-shaped TaskArtifactUpdate
(append) chunks and close with a TaskStatusUpdate final:true. The
non-streaming and resubscribe paths also close with a terminal marker.
- A streaming error set both `result` and `error` in one JSON-RPC
response (strict clients reject it). Emit a failed status-update
instead — never result and error together.
Tests assert the canonical card path, the status-update/artifact-update
event shapes ending in final:true, and that no response carries both
result and error.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01CmdEY7pYmV5zzwCjNJ4ykL
* harness: update a2a-streaming to the spec-shaped stream events
The A2A gateway now emits artifact-update deltas and a terminal
status-update (final:true) instead of repeated full Task snapshots, so
the conformance harness must reassemble the answer from the append
artifact-update chunks and assert the final:true marker. This makes the
harness a stronger spec check rather than a snapshot-shape check.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01CmdEY7pYmV5zzwCjNJ4ykL
* agent: update a2a stream test to spec-shaped events
TestA2AStreamUsesAgentChatPathWithTools decoded the last SSE event as a
completed Task snapshot with artifacts. The gateway now closes the stream
with a status-update (final:true) and carries the answer as append
artifact-update deltas, so reassemble the answer from those deltas and
assert the terminal completed status-update instead.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
Claude-Session: https://claude.ai/code/session_01CmdEY7pYmV5zzwCjNJ4ykL
---------
Co-authored-by: Claude <noreply@anthropic.com >
2026-07-12 13:27:27 +01:00
Asim Aslam
4d6ebe1fd3
Observe agent x402 spend ( #4806 )
...
Co-authored-by: Codex <codex@openai.com >
2026-07-12 10:23:30 +01:00
Asim Aslam
d584d372cd
agent: wire x402 payer into tool runtime ( #4802 )
...
Co-authored-by: Codex <codex@openai.com >
2026-07-12 09:29:36 +01:00
Asim Aslam
c9e61c0f7b
Classify provider failures in agent inspection ( #4782 )
...
Co-authored-by: Codex <codex@openai.com >
2026-07-12 06:49:13 +01:00
Asim Aslam
7f9096a1cd
Add model retry jitter control ( #4775 )
...
Co-authored-by: Codex <codex@openai.com >
2026-07-12 04:56:39 +01:00
Asim Aslam
a662bcff9d
Expose compacted memory summaries ( #4769 )
...
Co-authored-by: Codex <codex@openai.com >
2026-07-12 03:28:48 +01:00
Asim Aslam
5aa6e50ae5
Stream remote agent chat replies ( #4763 )
...
Co-authored-by: Codex <codex@openai.com >
2026-07-12 02:15:11 +01:00
Asim Aslam
3995ed906e
agent: propagate stream run context ( #4753 )
...
goreleaser / goreleaser (push) Has been cancelled
Co-authored-by: Codex <codex@openai.com >
2026-07-11 23:57:43 +01:00
Asim Aslam
2293aafc5d
Add agent x402 spend budget guardrail ( #4748 )
...
Co-authored-by: Codex <codex@openai.com >
2026-07-11 23:05:54 +01:00
Asim Aslam
6190712679
Reject nested text tool calls in arguments ( #4709 )
...
Co-authored-by: Codex <codex@openai.com >
2026-07-11 15:55:48 +01:00
Asim Aslam
2281175bbc
Record agent provider failure metadata ( #4688 )
...
Co-authored-by: Codex <codex@openai.com >
2026-07-11 11:59:23 +01:00
Asim Aslam
1b371470a9
Guard checkpointed tool result recording ( #4602 )
...
Co-authored-by: Codex <codex@openai.com >
2026-07-10 19:21:30 +01:00
Asim Aslam
8ed0c21aa3
Tighten agent provider conformance coverage ( #4575 )
...
Co-authored-by: Codex <codex@openai.com >
2026-07-10 14:27:09 +01:00
Asim Aslam
6681a0971a
Deduplicate launch readiness notification replays ( #4542 )
...
Co-authored-by: Codex <codex@openai.com >
2026-07-10 07:00:39 +01:00
Asim Aslam
4faafdf3e9
Fix plan delegate harness cleanup ( #4537 )
...
Co-authored-by: Codex <codex@openai.com >
2026-07-10 05:00:38 +01:00
Asim Aslam
7f78bbf814
Broaden MiniMax streaming conformance ( #4481 )
...
Co-authored-by: Codex <codex@openai.com >
2026-07-09 19:22:01 +01:00
Asim Aslam
7e0b6fd3fa
Fix AtlasCloud tool streaming capability ( #4477 )
...
Co-authored-by: Codex <codex@openai.com >
2026-07-09 18:32:39 +01:00
Asim Aslam
4150e8dc89
Repair partial text tool calls ( #4445 )
...
Co-authored-by: Codex <codex@openai.com >
2026-07-09 08:59:37 +01:00
Asim Aslam
776fe1a36a
Add agent stream provider conformance ( #4433 )
...
Co-authored-by: Codex <codex@openai.com >
2026-07-09 04:56:44 +01:00
Asim Aslam
ad8ff2abde
Harden model call timeout enforcement ( #4411 )
...
Co-authored-by: Codex <codex@openai.com >
2026-07-09 01:05:25 +01:00
Asim Aslam
687a33faee
Preserve checkpointed tool calls on agent resume ( #4406 )
...
goreleaser / goreleaser (push) Has been cancelled
Co-authored-by: Codex <codex@openai.com >
2026-07-09 00:01:13 +01:00
Asim Aslam
80d2d7306f
agent: document resume checkpoint limits ( #4397 )
...
Co-authored-by: Codex <codex@openai.com >
2026-07-08 22:01:52 +01:00
Asim Aslam
0e3a749556
agent: add workflow run info to tool spans ( #4391 )
...
Co-authored-by: Codex <codex@openai.com >
2026-07-08 20:08:02 +01:00
Asim Aslam
967e1cfd9b
Stabilize conformance marker retry prompt ( #4357 )
...
Co-authored-by: Codex <codex@openai.com >
2026-07-08 14:14:06 +01:00
Asim Aslam
415e95c0f1
test agent startup resume checkpoints ( #4350 )
...
Co-authored-by: Codex <codex@openai.com >
2026-07-08 13:20:15 +01:00
Asim Aslam
a1d17ec984
Avoid recording failed stream turns ( #4313 )
...
Co-authored-by: Codex <codex@openai.com >
2026-07-08 04:57:10 +01:00
Asim Aslam
76fea3f01c
agent: parse function-style text tool calls ( #4307 )
...
Co-authored-by: Codex <codex@openai.com >
2026-07-08 03:29:12 +01:00
Asim Aslam
2c7b2dbe51
Harden text tool call parsing for AtlasCloud ( #4270 )
...
Co-authored-by: Codex <codex@openai.com >
2026-07-07 20:24:31 +01:00
Asim Aslam
ae69583f34
Parse OpenAI-compatible text tool calls ( #4257 )
...
Co-authored-by: Codex <codex@openai.com >
2026-07-07 16:40:58 +01:00
Asim Aslam
ef46bfc37f
Prevent duplicate delegate replays ( #4251 )
...
Co-authored-by: Codex <codex@openai.com >
2026-07-07 15:30:36 +01:00
Asim Aslam
5b32014de1
agent: trace tool retry attempts ( #4232 )
...
Co-authored-by: Codex <codex@openai.com >
2026-07-07 10:58:59 +01:00
Asim Aslam
32d0c46676
agent: cancel stream ask on close ( #4226 )
...
Co-authored-by: Codex <codex@openai.com >
2026-07-07 09:05:08 +01:00
Asim Aslam
091fb1d4df
agent: add resume pending helper ( #4221 )
...
Co-authored-by: Codex <codex@openai.com >
2026-07-07 07:05:27 +01:00
Asim Aslam
6f220089d5
test agent retry side-effect dedupe ( #4215 )
...
Co-authored-by: Codex <codex@openai.com >
2026-07-07 04:57:01 +01:00
Asim Aslam
e51cbfba01
agent: harden conformance delegate retry ( #4211 )
...
Co-authored-by: Codex <codex@openai.com >
2026-07-07 03:30:56 +01:00
Asim Aslam
f6951d2bb0
Enforce idempotent delegate notifications ( #4200 )
...
Co-authored-by: Codex <codex@openai.com >
2026-07-07 01:03:54 +01:00
Asim Aslam
d54139c02d
Harden agent conformance retry prompts ( #4195 )
...
goreleaser / goreleaser (push) Has been cancelled
Co-authored-by: Codex <codex@openai.com >
2026-07-07 00:00:00 +01:00
Asim Aslam
5ff3760cd4
Harden agent conformance retry completion ( #4191 )
...
Co-authored-by: Codex <codex@openai.com >
2026-07-06 23:10:09 +01:00
Asim Aslam
dbce523437
agent: cover durable checkpoint resume smoke ( #4167 )
...
Co-authored-by: Codex <codex@openai.com >
2026-07-06 19:29:11 +01:00
Asim Aslam
40308cf779
Preserve delegated notification plan completion ( #4146 )
...
Co-authored-by: Codex <codex@openai.com >
2026-07-06 13:03:39 +01:00
Asim Aslam
d4bfb4db5a
agent: record otel events before ending spans ( #4027 )
...
Co-authored-by: Codex <codex@openai.com >
2026-07-05 10:41:35 +01:00
Asim Aslam
15af99f587
agent: extend checkpoint plan continuations ( #4019 )
...
Co-authored-by: Codex <codex@openai.com >
2026-07-05 08:48:44 +01:00
Asim Aslam
f2096bf0cf
Guard plan delegation ordering ( #4003 )
...
Co-authored-by: Codex <codex@openai.com >
2026-07-05 03:30:56 +01:00
Asim Aslam
f16b23cf76
agent: run mixed text tool calls after structured calls ( #3998 )
...
Co-authored-by: Codex <codex@openai.com >
2026-07-05 02:18:18 +01:00
Asim Aslam
3f17f7b106
Stabilize first-agent broker isolation ( #3981 )
...
Co-authored-by: Codex <codex@openai.com >
2026-07-04 23:01:12 +01:00
Asim Aslam
76f309f253
agent: alias text tool create calls to add ( #3964 )
...
Co-authored-by: Codex <codex@openai.com >
2026-07-04 19:59:32 +01:00
Asim Aslam
eb76367b0b
Stabilize agent conformance marker retry ( #3959 )
...
Co-authored-by: Codex <codex@openai.com >
2026-07-04 19:02:09 +01:00
Asim Aslam
f12788bd80
Preserve completed agent plan steps ( #3953 )
...
Co-authored-by: Codex <codex@openai.com >
2026-07-04 17:59:30 +01:00
Asim Aslam
f35274af00
agent: harden AtlasCloud delegate conformance prompt ( #3948 )
...
Co-authored-by: Codex <codex@openai.com >
2026-07-04 17:01:03 +01:00
Asim Aslam
b01fd477b5
agent: parse tagged text tool calls ( #3942 )
...
Co-authored-by: Codex <codex@openai.com >
2026-07-04 16:13:07 +01:00