From 1dc13e9770d1066570115652316becde86686c39 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Thu, 15 Oct 2026 23:22:29 +0000 Subject: [PATCH] chore: version packages --- .changeset/claude-agent-branding.md | 5 -- .changeset/codex-mcp-fixes.md | 5 -- .changeset/otel-byok-cookout.md | 15 ------ .changeset/otel-core-api.md | 10 ---- .changeset/otel-per-wrapper-schema.md | 13 ----- .changeset/otel-phase-2.md | 15 ------ .changeset/otel-phase-3.md | 13 ----- .changeset/otel-phase-4.md | 10 ---- .changeset/otel-phase-5.md | 12 ----- .changeset/otel-phoenix-identity.md | 17 ------- .changeset/output-format.md | 14 ------ a2a-antigravity/CHANGELOG.md | 45 +++++++++++++++++ a2a-antigravity/package.json | 4 +- a2a-claude/CHANGELOG.md | 70 ++++++++++++++++++++++++++ a2a-claude/package.json | 4 +- a2a-codex/CHANGELOG.md | 60 ++++++++++++++++++++++ a2a-codex/package.json | 4 +- a2a-copilot/CHANGELOG.md | 52 +++++++++++++++++++ a2a-copilot/package.json | 4 +- a2a-opencode/CHANGELOG.md | 45 +++++++++++++++++ a2a-opencode/package.json | 4 +- packages/core/CHANGELOG.md | 72 +++++++++++++++++++++++++++ packages/core/package.json | 2 +- 23 files changed, 355 insertions(+), 140 deletions(-) delete mode 100644 .changeset/claude-agent-branding.md delete mode 100644 .changeset/codex-mcp-fixes.md delete mode 100644 .changeset/otel-byok-cookout.md delete mode 100644 .changeset/otel-core-api.md delete mode 100644 .changeset/otel-per-wrapper-schema.md delete mode 100644 .changeset/otel-phase-2.md delete mode 100644 .changeset/otel-phase-3.md delete mode 100644 .changeset/otel-phase-4.md delete mode 100644 .changeset/otel-phase-5.md delete mode 100644 .changeset/otel-phoenix-identity.md delete mode 100644 .changeset/output-format.md diff --git a/.changeset/claude-agent-branding.md b/.changeset/claude-agent-branding.md deleted file mode 100644 index 78ec88d..0000000 --- a/.changeset/claude-agent-branding.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"a2a-claude": patch ---- - -Follow Anthropic's Agent SDK branding guidelines: describe the package as built on the Claude Agent SDK rather than "Claude Code", update package metadata, and drop the documented subscription-credential Docker mount in favour of API key (or Bedrock / Vertex) authentication. diff --git a/.changeset/codex-mcp-fixes.md b/.changeset/codex-mcp-fixes.md deleted file mode 100644 index 5e349d9..0000000 --- a/.changeset/codex-mcp-fixes.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"a2a-codex": patch ---- - -Fix `subAgents` startup failure ("MCP server key "a2a-subagents" is reserved") by validating only user-supplied MCP servers before the internal bridge entry is merged. Add `defaultToolsApprovalMode` / `toolApprovalModes` to MCP server config (mapped to Codex `default_tools_approval_mode` and `tools..approval_mode`) so MCP tools can be pre-approved in headless mode with `approvalPolicy: "never"`; the sub-agent bridge is pre-approved automatically. diff --git a/.changeset/otel-byok-cookout.md b/.changeset/otel-byok-cookout.md deleted file mode 100644 index d4c91db..0000000 --- a/.changeset/otel-byok-cookout.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -"@a2a-wrapper/core": patch -"a2a-copilot": patch -"a2a-claude": patch -"a2a-codex": patch -"a2a-opencode": patch -"a2a-antigravity": patch ---- - -feat(otel): BYOK cookout + shared mock-ollama; wire CLI OTel bootstrap - -- examples/mock-ollama/ — reusable fake Ollama (OpenAI + Anthropic) for any cookout -- examples/otel-stack/cookout-byok.mjs layers Phoenix/OTel on that stub -- Hand-rolled wrapper CLIs now call bootstrapOtelSdkFromConfig / shutdownOtelSdk -- CLI bootstrap uses SimpleSpanProcessor for reliable short-lived export diff --git a/.changeset/otel-core-api.md b/.changeset/otel-core-api.md deleted file mode 100644 index 8623446..0000000 --- a/.changeset/otel-core-api.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -"@a2a-wrapper/core": minor ---- - -feat(otel): optional OpenTelemetry task spans via `@opentelemetry/api` - -- Optional peer `@opentelemetry/api` (no SDK/exporter in core) -- `instrumentExecutor` in `createA2AServer` for `a2a.task.execute` / cancel -- `AgentEventEmitter` respects emission policy (no duplicate tool spans when backend OTel is on) -- Exports: `setOtelTracer`, `withSpan`, `extractA2ATraceContext`, `getW3cTraceContext`, `resolveOtelEmissionPolicy`, … diff --git a/.changeset/otel-per-wrapper-schema.md b/.changeset/otel-per-wrapper-schema.md deleted file mode 100644 index 6bf86a0..0000000 --- a/.changeset/otel-per-wrapper-schema.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -"@a2a-wrapper/core": patch -"a2a-copilot": patch -"a2a-claude": patch -"a2a-codex": patch -"a2a-opencode": patch -"a2a-antigravity": patch ---- - -fix(otel): per-wrapper OTel schema — common at top, backend knobs only for that package - -OpenCode no longer advertises `otel.backend.codex` (and peers). Shared flags stay -on `otel.*`; only `otel.backend.` appears in each agent schema. diff --git a/.changeset/otel-phase-2.md b/.changeset/otel-phase-2.md deleted file mode 100644 index 8beb0d0..0000000 --- a/.changeset/otel-phase-2.md +++ /dev/null @@ -1,15 +0,0 @@ ---- -"@a2a-wrapper/core": minor -"a2a-copilot": patch -"a2a-claude": patch -"a2a-codex": patch -"a2a-opencode": patch -"a2a-antigravity": patch ---- - -feat(otel): Phase 2 usage mapping + shared execution observability - -- Hook E: `applyUsageSummaryToActiveSpan` with anti-dupe policy — `a2a.task.usage.*` rollup always; `gen_ai.usage.*` only when backend OTel is off -- Hook B: `createExecutionObservability` adopted by all wrappers -- Hook C: `annotateSessionOnTaskSpan`; W3C `injectW3cTraceHeaders` for outbound calls -- Docs: usage double-count rules in `docs/observability.md` diff --git a/.changeset/otel-phase-3.md b/.changeset/otel-phase-3.md deleted file mode 100644 index 66c3622..0000000 --- a/.changeset/otel-phase-3.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -"@a2a-wrapper/core": minor -"a2a-copilot": minor -"a2a-claude": minor -"a2a-codex": minor ---- - -feat(otel): Phase 3 backend passthrough (Hook F) - -- Core helpers: Copilot telemetry/onGetTraceContext, Claude OTel env + TRACEPARENT, Codex otel overrides -- `withSpan` activates real OTel context so parent-link works -- Shared `otel.exporter` endpoint inheritance -- Wire Copilot / Claude / Codex; OpenCode/Antigravity documented diff --git a/.changeset/otel-phase-4.md b/.changeset/otel-phase-4.md deleted file mode 100644 index 3d2560e..0000000 --- a/.changeset/otel-phase-4.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -"@a2a-wrapper/core": minor ---- - -feat(otel): Phase 4 CLI bootstrap, span links, Jaeger demo stack - -- `bootstrapOtelSdkFromConfig` / `shutdownOtelSdk` via dynamic import in `createCli` -- Span links on continue/retry invocations -- Optional peers for sdk-node + OTLP HTTP exporter -- `examples/otel-stack` docker-compose (Jaeger OTLP) diff --git a/.changeset/otel-phase-5.md b/.changeset/otel-phase-5.md deleted file mode 100644 index c4e93ee..0000000 --- a/.changeset/otel-phase-5.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -"@a2a-wrapper/core": minor -"a2a-claude": minor -"a2a-codex": minor ---- - -feat(otel): Phase 5 attribute ownership + gateway ID mapping - -- docs/otel-attribute-ownership.md aligned with draft GenAI A2A #254 -- Span attrs: gen_ai.operation.name, a2a.method.name, session.id, a2a.gateway.* -- extractA2ATraceContext reads conversation/session/passkey/spectrum/ticket metadata -- Claude + Codex applyUsageSummaryToActiveSpan + x-usage on completed turns diff --git a/.changeset/otel-phoenix-identity.md b/.changeset/otel-phoenix-identity.md deleted file mode 100644 index 8d2c6e1..0000000 --- a/.changeset/otel-phoenix-identity.md +++ /dev/null @@ -1,17 +0,0 @@ ---- -"@a2a-wrapper/core": minor -"a2a-claude": minor -"a2a-codex": minor -"a2a-copilot": minor -"a2a-opencode": minor -"a2a-antigravity": minor ---- - -feat(otel): Phoenix demo, package identity attrs, usage flags - -- Replace Jaeger compose requirement with Arize Phoenix (`phoenix serve`, optional Docker) -- CLI bootstrap defaults to `http/protobuf` via `@opentelemetry/exporter-trace-otlp-proto` (Phoenix rejects JSON) -- Stamp `a2a.wrapper.core.version`, `a2a.wrapper.sdk`, `a2a.wrapper.sdk.version` on task spans -- Wire all wrapper servers with package name/version -- `otel.taskUsageRollup` (default true) + `otel.annotateUsageCalls` (default false; Claude/Codex per-call events) -- Smoke scripts: `examples/otel-stack/smoke-export.mjs` + `smoke-providers.mjs` (copilot/claude executor → Phoenix) diff --git a/.changeset/output-format.md b/.changeset/output-format.md deleted file mode 100644 index 909a058..0000000 --- a/.changeset/output-format.md +++ /dev/null @@ -1,14 +0,0 @@ ---- -"a2a-claude": minor -"@a2a-wrapper/core": patch ---- - -Add `claude.outputFormat` to request structured JSON output from the Claude -session. Maps 1:1 onto the Claude Agent SDK's `Options.outputFormat` -(`{ type: "json_schema", schema }`) and is validated at startup. When set, the -SDK's `structured_output` is published as an `application/json` data part on the -`response` artifact, alongside the existing text part — text-only clients are -unaffected, and behaviour is unchanged when `outputFormat` is omitted. - -The core change adds an optional, backward-compatible `structuredData` parameter -to `publishFinalArtifact` / `publishLastChunkMarker`. diff --git a/a2a-antigravity/CHANGELOG.md b/a2a-antigravity/CHANGELOG.md index 419869a..ffb3de8 100644 --- a/a2a-antigravity/CHANGELOG.md +++ b/a2a-antigravity/CHANGELOG.md @@ -1,5 +1,50 @@ # a2a-antigravity +## 0.3.0 + +### Minor Changes + +- a2bfdd2: feat(otel): Phoenix demo, package identity attrs, usage flags + + - Replace Jaeger compose requirement with Arize Phoenix (`phoenix serve`, optional Docker) + - CLI bootstrap defaults to `http/protobuf` via `@opentelemetry/exporter-trace-otlp-proto` (Phoenix rejects JSON) + - Stamp `a2a.wrapper.core.version`, `a2a.wrapper.sdk`, `a2a.wrapper.sdk.version` on task spans + - Wire all wrapper servers with package name/version + - `otel.taskUsageRollup` (default true) + `otel.annotateUsageCalls` (default false; Claude/Codex per-call events) + - Smoke scripts: `examples/otel-stack/smoke-export.mjs` + `smoke-providers.mjs` (copilot/claude executor → Phoenix) + +### Patch Changes + +- a2bfdd2: feat(otel): BYOK cookout + shared mock-ollama; wire CLI OTel bootstrap + + - examples/mock-ollama/ — reusable fake Ollama (OpenAI + Anthropic) for any cookout + - examples/otel-stack/cookout-byok.mjs layers Phoenix/OTel on that stub + - Hand-rolled wrapper CLIs now call bootstrapOtelSdkFromConfig / shutdownOtelSdk + - CLI bootstrap uses SimpleSpanProcessor for reliable short-lived export + +- a2bfdd2: fix(otel): per-wrapper OTel schema — common at top, backend knobs only for that package + + OpenCode no longer advertises `otel.backend.codex` (and peers). Shared flags stay + on `otel.*`; only `otel.backend.` appears in each agent schema. + +- a2bfdd2: feat(otel): Phase 2 usage mapping + shared execution observability + + - Hook E: `applyUsageSummaryToActiveSpan` with anti-dupe policy — `a2a.task.usage.*` rollup always; `gen_ai.usage.*` only when backend OTel is off + - Hook B: `createExecutionObservability` adopted by all wrappers + - Hook C: `annotateSessionOnTaskSpan`; W3C `injectW3cTraceHeaders` for outbound calls + - Docs: usage double-count rules in `docs/observability.md` + +- Updated dependencies [a2bfdd2] +- Updated dependencies [a2bfdd2] +- Updated dependencies [a2bfdd2] +- Updated dependencies [a2bfdd2] +- Updated dependencies [a2bfdd2] +- Updated dependencies [a2bfdd2] +- Updated dependencies [a2bfdd2] +- Updated dependencies [a2bfdd2] +- Updated dependencies [98d2027] + - @a2a-wrapper/core@2.2.0 + ## 0.2.2 ### Patch Changes diff --git a/a2a-antigravity/package.json b/a2a-antigravity/package.json index ee114ab..2e483a3 100644 --- a/a2a-antigravity/package.json +++ b/a2a-antigravity/package.json @@ -1,6 +1,6 @@ { "name": "a2a-antigravity", - "version": "0.2.2", + "version": "0.3.0", "description": "A2A (Agent-to-Agent) protocol wrapper for Google Antigravity SDK. Exposes Antigravity through the shared HTTP/JSON-RPC/REST/SSE A2A surface using a private Python SDK bridge.", "main": "dist/index.js", "types": "dist/index.d.ts", @@ -59,7 +59,7 @@ }, "dependencies": { "@a2a-js/sdk": "^1.0.0", - "@a2a-wrapper/core": "2.1.1", + "@a2a-wrapper/core": "2.2.0", "express": "^4.18.2", "uuid": "^9.0.0" }, diff --git a/a2a-claude/CHANGELOG.md b/a2a-claude/CHANGELOG.md index 342c4e2..6c46fe5 100644 --- a/a2a-claude/CHANGELOG.md +++ b/a2a-claude/CHANGELOG.md @@ -1,5 +1,75 @@ # a2a-claude +## 0.5.0 + +### Minor Changes + +- a2bfdd2: feat(otel): Phase 3 backend passthrough (Hook F) + + - Core helpers: Copilot telemetry/onGetTraceContext, Claude OTel env + TRACEPARENT, Codex otel overrides + - `withSpan` activates real OTel context so parent-link works + - Shared `otel.exporter` endpoint inheritance + - Wire Copilot / Claude / Codex; OpenCode/Antigravity documented + +- a2bfdd2: feat(otel): Phase 5 attribute ownership + gateway ID mapping + + - docs/otel-attribute-ownership.md aligned with draft GenAI A2A #254 + - Span attrs: gen_ai.operation.name, a2a.method.name, session.id, a2a.gateway.\* + - extractA2ATraceContext reads conversation/session/passkey/spectrum/ticket metadata + - Claude + Codex applyUsageSummaryToActiveSpan + x-usage on completed turns + +- a2bfdd2: feat(otel): Phoenix demo, package identity attrs, usage flags + + - Replace Jaeger compose requirement with Arize Phoenix (`phoenix serve`, optional Docker) + - CLI bootstrap defaults to `http/protobuf` via `@opentelemetry/exporter-trace-otlp-proto` (Phoenix rejects JSON) + - Stamp `a2a.wrapper.core.version`, `a2a.wrapper.sdk`, `a2a.wrapper.sdk.version` on task spans + - Wire all wrapper servers with package name/version + - `otel.taskUsageRollup` (default true) + `otel.annotateUsageCalls` (default false; Claude/Codex per-call events) + - Smoke scripts: `examples/otel-stack/smoke-export.mjs` + `smoke-providers.mjs` (copilot/claude executor → Phoenix) + +- 98d2027: Add `claude.outputFormat` to request structured JSON output from the Claude + session. Maps 1:1 onto the Claude Agent SDK's `Options.outputFormat` + (`{ type: "json_schema", schema }`) and is validated at startup. When set, the + SDK's `structured_output` is published as an `application/json` data part on the + `response` artifact, alongside the existing text part — text-only clients are + unaffected, and behaviour is unchanged when `outputFormat` is omitted. + + The core change adds an optional, backward-compatible `structuredData` parameter + to `publishFinalArtifact` / `publishLastChunkMarker`. + +### Patch Changes + +- c721a74: Follow Anthropic's Agent SDK branding guidelines: describe the package as built on the Claude Agent SDK rather than "Claude Code", update package metadata, and drop the documented subscription-credential Docker mount in favour of API key (or Bedrock / Vertex) authentication. +- a2bfdd2: feat(otel): BYOK cookout + shared mock-ollama; wire CLI OTel bootstrap + + - examples/mock-ollama/ — reusable fake Ollama (OpenAI + Anthropic) for any cookout + - examples/otel-stack/cookout-byok.mjs layers Phoenix/OTel on that stub + - Hand-rolled wrapper CLIs now call bootstrapOtelSdkFromConfig / shutdownOtelSdk + - CLI bootstrap uses SimpleSpanProcessor for reliable short-lived export + +- a2bfdd2: fix(otel): per-wrapper OTel schema — common at top, backend knobs only for that package + + OpenCode no longer advertises `otel.backend.codex` (and peers). Shared flags stay + on `otel.*`; only `otel.backend.` appears in each agent schema. + +- a2bfdd2: feat(otel): Phase 2 usage mapping + shared execution observability + + - Hook E: `applyUsageSummaryToActiveSpan` with anti-dupe policy — `a2a.task.usage.*` rollup always; `gen_ai.usage.*` only when backend OTel is off + - Hook B: `createExecutionObservability` adopted by all wrappers + - Hook C: `annotateSessionOnTaskSpan`; W3C `injectW3cTraceHeaders` for outbound calls + - Docs: usage double-count rules in `docs/observability.md` + +- Updated dependencies [a2bfdd2] +- Updated dependencies [a2bfdd2] +- Updated dependencies [a2bfdd2] +- Updated dependencies [a2bfdd2] +- Updated dependencies [a2bfdd2] +- Updated dependencies [a2bfdd2] +- Updated dependencies [a2bfdd2] +- Updated dependencies [a2bfdd2] +- Updated dependencies [98d2027] + - @a2a-wrapper/core@2.2.0 + ## 0.4.1 ### Patch Changes diff --git a/a2a-claude/package.json b/a2a-claude/package.json index b328eb8..519497f 100644 --- a/a2a-claude/package.json +++ b/a2a-claude/package.json @@ -1,6 +1,6 @@ { "name": "a2a-claude", - "version": "0.4.1", + "version": "0.5.0", "description": "A2A (Agent-to-Agent) protocol wrapper for Claude via the Claude Agent SDK. Drop a JSON config file in, get a fully-spec-compliant A2A server out. Supports permission modes, MCP tools, streaming sideband events, and multi-agent delegation.", "main": "dist/index.js", "types": "dist/index.d.ts", @@ -54,7 +54,7 @@ }, "dependencies": { "@a2a-js/sdk": "^1.0.0", - "@a2a-wrapper/core": "2.1.1", + "@a2a-wrapper/core": "2.2.0", "@anthropic-ai/claude-agent-sdk": "0.3.286", "express": "^4.18.2", "uuid": "^9.0.0" diff --git a/a2a-codex/CHANGELOG.md b/a2a-codex/CHANGELOG.md index 6e5cf81..27e2ec1 100644 --- a/a2a-codex/CHANGELOG.md +++ b/a2a-codex/CHANGELOG.md @@ -1,5 +1,65 @@ # a2a-codex +## 1.8.0 + +### Minor Changes + +- a2bfdd2: feat(otel): Phase 3 backend passthrough (Hook F) + + - Core helpers: Copilot telemetry/onGetTraceContext, Claude OTel env + TRACEPARENT, Codex otel overrides + - `withSpan` activates real OTel context so parent-link works + - Shared `otel.exporter` endpoint inheritance + - Wire Copilot / Claude / Codex; OpenCode/Antigravity documented + +- a2bfdd2: feat(otel): Phase 5 attribute ownership + gateway ID mapping + + - docs/otel-attribute-ownership.md aligned with draft GenAI A2A #254 + - Span attrs: gen_ai.operation.name, a2a.method.name, session.id, a2a.gateway.\* + - extractA2ATraceContext reads conversation/session/passkey/spectrum/ticket metadata + - Claude + Codex applyUsageSummaryToActiveSpan + x-usage on completed turns + +- a2bfdd2: feat(otel): Phoenix demo, package identity attrs, usage flags + + - Replace Jaeger compose requirement with Arize Phoenix (`phoenix serve`, optional Docker) + - CLI bootstrap defaults to `http/protobuf` via `@opentelemetry/exporter-trace-otlp-proto` (Phoenix rejects JSON) + - Stamp `a2a.wrapper.core.version`, `a2a.wrapper.sdk`, `a2a.wrapper.sdk.version` on task spans + - Wire all wrapper servers with package name/version + - `otel.taskUsageRollup` (default true) + `otel.annotateUsageCalls` (default false; Claude/Codex per-call events) + - Smoke scripts: `examples/otel-stack/smoke-export.mjs` + `smoke-providers.mjs` (copilot/claude executor → Phoenix) + +### Patch Changes + +- 1bdaa60: Fix `subAgents` startup failure ("MCP server key "a2a-subagents" is reserved") by validating only user-supplied MCP servers before the internal bridge entry is merged. Add `defaultToolsApprovalMode` / `toolApprovalModes` to MCP server config (mapped to Codex `default_tools_approval_mode` and `tools..approval_mode`) so MCP tools can be pre-approved in headless mode with `approvalPolicy: "never"`; the sub-agent bridge is pre-approved automatically. +- a2bfdd2: feat(otel): BYOK cookout + shared mock-ollama; wire CLI OTel bootstrap + + - examples/mock-ollama/ — reusable fake Ollama (OpenAI + Anthropic) for any cookout + - examples/otel-stack/cookout-byok.mjs layers Phoenix/OTel on that stub + - Hand-rolled wrapper CLIs now call bootstrapOtelSdkFromConfig / shutdownOtelSdk + - CLI bootstrap uses SimpleSpanProcessor for reliable short-lived export + +- a2bfdd2: fix(otel): per-wrapper OTel schema — common at top, backend knobs only for that package + + OpenCode no longer advertises `otel.backend.codex` (and peers). Shared flags stay + on `otel.*`; only `otel.backend.` appears in each agent schema. + +- a2bfdd2: feat(otel): Phase 2 usage mapping + shared execution observability + + - Hook E: `applyUsageSummaryToActiveSpan` with anti-dupe policy — `a2a.task.usage.*` rollup always; `gen_ai.usage.*` only when backend OTel is off + - Hook B: `createExecutionObservability` adopted by all wrappers + - Hook C: `annotateSessionOnTaskSpan`; W3C `injectW3cTraceHeaders` for outbound calls + - Docs: usage double-count rules in `docs/observability.md` + +- Updated dependencies [a2bfdd2] +- Updated dependencies [a2bfdd2] +- Updated dependencies [a2bfdd2] +- Updated dependencies [a2bfdd2] +- Updated dependencies [a2bfdd2] +- Updated dependencies [a2bfdd2] +- Updated dependencies [a2bfdd2] +- Updated dependencies [a2bfdd2] +- Updated dependencies [98d2027] + - @a2a-wrapper/core@2.2.0 + ## 1.7.2 ### Patch Changes diff --git a/a2a-codex/package.json b/a2a-codex/package.json index 383c5ec..2fa9ee5 100644 --- a/a2a-codex/package.json +++ b/a2a-codex/package.json @@ -1,6 +1,6 @@ { "name": "a2a-codex", - "version": "1.7.2", + "version": "1.8.0", "description": "A2A (Agent-to-Agent) protocol wrapper for OpenAI Codex SDK. Drop a JSON config file in, get a fully-spec-compliant A2A server out. Supports repository sandboxing, MCP tools, streaming sideband events, and multi-agent delegation.", "main": "dist/index.js", "types": "dist/index.d.ts", @@ -55,7 +55,7 @@ }, "dependencies": { "@a2a-js/sdk": "^1.0.0", - "@a2a-wrapper/core": "2.1.1", + "@a2a-wrapper/core": "2.2.0", "@openai/codex-sdk": "^0.137.0", "express": "^4.18.2", "uuid": "^9.0.0" diff --git a/a2a-copilot/CHANGELOG.md b/a2a-copilot/CHANGELOG.md index c2a73fa..576beb7 100644 --- a/a2a-copilot/CHANGELOG.md +++ b/a2a-copilot/CHANGELOG.md @@ -1,5 +1,57 @@ # Changelog +## 1.9.0 + +### Minor Changes + +- a2bfdd2: feat(otel): Phase 3 backend passthrough (Hook F) + + - Core helpers: Copilot telemetry/onGetTraceContext, Claude OTel env + TRACEPARENT, Codex otel overrides + - `withSpan` activates real OTel context so parent-link works + - Shared `otel.exporter` endpoint inheritance + - Wire Copilot / Claude / Codex; OpenCode/Antigravity documented + +- a2bfdd2: feat(otel): Phoenix demo, package identity attrs, usage flags + + - Replace Jaeger compose requirement with Arize Phoenix (`phoenix serve`, optional Docker) + - CLI bootstrap defaults to `http/protobuf` via `@opentelemetry/exporter-trace-otlp-proto` (Phoenix rejects JSON) + - Stamp `a2a.wrapper.core.version`, `a2a.wrapper.sdk`, `a2a.wrapper.sdk.version` on task spans + - Wire all wrapper servers with package name/version + - `otel.taskUsageRollup` (default true) + `otel.annotateUsageCalls` (default false; Claude/Codex per-call events) + - Smoke scripts: `examples/otel-stack/smoke-export.mjs` + `smoke-providers.mjs` (copilot/claude executor → Phoenix) + +### Patch Changes + +- a2bfdd2: feat(otel): BYOK cookout + shared mock-ollama; wire CLI OTel bootstrap + + - examples/mock-ollama/ — reusable fake Ollama (OpenAI + Anthropic) for any cookout + - examples/otel-stack/cookout-byok.mjs layers Phoenix/OTel on that stub + - Hand-rolled wrapper CLIs now call bootstrapOtelSdkFromConfig / shutdownOtelSdk + - CLI bootstrap uses SimpleSpanProcessor for reliable short-lived export + +- a2bfdd2: fix(otel): per-wrapper OTel schema — common at top, backend knobs only for that package + + OpenCode no longer advertises `otel.backend.codex` (and peers). Shared flags stay + on `otel.*`; only `otel.backend.` appears in each agent schema. + +- a2bfdd2: feat(otel): Phase 2 usage mapping + shared execution observability + + - Hook E: `applyUsageSummaryToActiveSpan` with anti-dupe policy — `a2a.task.usage.*` rollup always; `gen_ai.usage.*` only when backend OTel is off + - Hook B: `createExecutionObservability` adopted by all wrappers + - Hook C: `annotateSessionOnTaskSpan`; W3C `injectW3cTraceHeaders` for outbound calls + - Docs: usage double-count rules in `docs/observability.md` + +- Updated dependencies [a2bfdd2] +- Updated dependencies [a2bfdd2] +- Updated dependencies [a2bfdd2] +- Updated dependencies [a2bfdd2] +- Updated dependencies [a2bfdd2] +- Updated dependencies [a2bfdd2] +- Updated dependencies [a2bfdd2] +- Updated dependencies [a2bfdd2] +- Updated dependencies [98d2027] + - @a2a-wrapper/core@2.2.0 + ## 1.8.2 ### Patch Changes diff --git a/a2a-copilot/package.json b/a2a-copilot/package.json index 69e4bb8..fc53498 100644 --- a/a2a-copilot/package.json +++ b/a2a-copilot/package.json @@ -1,6 +1,6 @@ { "name": "a2a-copilot", - "version": "1.8.2", + "version": "1.9.0", "description": "A2A (Agent-to-Agent) protocol wrapper for the GitHub Copilot SDK. Drop a JSON config file in, get a fully-spec-compliant A2A server out. Supports any agent persona, MCP tool servers, streaming, context building, and multi-turn conversations.", "main": "dist/index.js", "types": "dist/index.d.ts", @@ -57,7 +57,7 @@ }, "dependencies": { "@a2a-js/sdk": "^1.0.0", - "@a2a-wrapper/core": "2.1.1", + "@a2a-wrapper/core": "2.2.0", "@github/copilot-sdk": "^1.0.0", "express": "^4.18.2", "uuid": "^9.0.0" diff --git a/a2a-opencode/CHANGELOG.md b/a2a-opencode/CHANGELOG.md index 6d9ae5b..af372b5 100644 --- a/a2a-opencode/CHANGELOG.md +++ b/a2a-opencode/CHANGELOG.md @@ -1,5 +1,50 @@ # Changelog +## 1.8.0 + +### Minor Changes + +- a2bfdd2: feat(otel): Phoenix demo, package identity attrs, usage flags + + - Replace Jaeger compose requirement with Arize Phoenix (`phoenix serve`, optional Docker) + - CLI bootstrap defaults to `http/protobuf` via `@opentelemetry/exporter-trace-otlp-proto` (Phoenix rejects JSON) + - Stamp `a2a.wrapper.core.version`, `a2a.wrapper.sdk`, `a2a.wrapper.sdk.version` on task spans + - Wire all wrapper servers with package name/version + - `otel.taskUsageRollup` (default true) + `otel.annotateUsageCalls` (default false; Claude/Codex per-call events) + - Smoke scripts: `examples/otel-stack/smoke-export.mjs` + `smoke-providers.mjs` (copilot/claude executor → Phoenix) + +### Patch Changes + +- a2bfdd2: feat(otel): BYOK cookout + shared mock-ollama; wire CLI OTel bootstrap + + - examples/mock-ollama/ — reusable fake Ollama (OpenAI + Anthropic) for any cookout + - examples/otel-stack/cookout-byok.mjs layers Phoenix/OTel on that stub + - Hand-rolled wrapper CLIs now call bootstrapOtelSdkFromConfig / shutdownOtelSdk + - CLI bootstrap uses SimpleSpanProcessor for reliable short-lived export + +- a2bfdd2: fix(otel): per-wrapper OTel schema — common at top, backend knobs only for that package + + OpenCode no longer advertises `otel.backend.codex` (and peers). Shared flags stay + on `otel.*`; only `otel.backend.` appears in each agent schema. + +- a2bfdd2: feat(otel): Phase 2 usage mapping + shared execution observability + + - Hook E: `applyUsageSummaryToActiveSpan` with anti-dupe policy — `a2a.task.usage.*` rollup always; `gen_ai.usage.*` only when backend OTel is off + - Hook B: `createExecutionObservability` adopted by all wrappers + - Hook C: `annotateSessionOnTaskSpan`; W3C `injectW3cTraceHeaders` for outbound calls + - Docs: usage double-count rules in `docs/observability.md` + +- Updated dependencies [a2bfdd2] +- Updated dependencies [a2bfdd2] +- Updated dependencies [a2bfdd2] +- Updated dependencies [a2bfdd2] +- Updated dependencies [a2bfdd2] +- Updated dependencies [a2bfdd2] +- Updated dependencies [a2bfdd2] +- Updated dependencies [a2bfdd2] +- Updated dependencies [98d2027] + - @a2a-wrapper/core@2.2.0 + ## 1.7.2 ### Patch Changes diff --git a/a2a-opencode/package.json b/a2a-opencode/package.json index 2e0674f..9cf0d34 100644 --- a/a2a-opencode/package.json +++ b/a2a-opencode/package.json @@ -1,6 +1,6 @@ { "name": "a2a-opencode", - "version": "1.7.2", + "version": "1.8.0", "description": "A2A (Agent-to-Agent) protocol wrapper for OpenCode. Drop a JSON config file in, get a fully-spec-compliant A2A server out. Supports any agent persona, MCP tool servers, SSE streaming with polling fallback, context building, and multi-turn conversations.", "main": "dist/index.js", "types": "dist/index.d.ts", @@ -53,7 +53,7 @@ }, "dependencies": { "@a2a-js/sdk": "^1.0.0", - "@a2a-wrapper/core": "2.1.1", + "@a2a-wrapper/core": "2.2.0", "@opencode-ai/sdk": "^1.15.13", "express": "^4.18.2", "swagger-ui-express": "^5.0.1", diff --git a/packages/core/CHANGELOG.md b/packages/core/CHANGELOG.md index a531863..ce1b777 100644 --- a/packages/core/CHANGELOG.md +++ b/packages/core/CHANGELOG.md @@ -1,5 +1,77 @@ # Changelog +## 2.2.0 + +### Minor Changes + +- a2bfdd2: feat(otel): optional OpenTelemetry task spans via `@opentelemetry/api` + + - Optional peer `@opentelemetry/api` (no SDK/exporter in core) + - `instrumentExecutor` in `createA2AServer` for `a2a.task.execute` / cancel + - `AgentEventEmitter` respects emission policy (no duplicate tool spans when backend OTel is on) + - Exports: `setOtelTracer`, `withSpan`, `extractA2ATraceContext`, `getW3cTraceContext`, `resolveOtelEmissionPolicy`, … + +- a2bfdd2: feat(otel): Phase 2 usage mapping + shared execution observability + + - Hook E: `applyUsageSummaryToActiveSpan` with anti-dupe policy — `a2a.task.usage.*` rollup always; `gen_ai.usage.*` only when backend OTel is off + - Hook B: `createExecutionObservability` adopted by all wrappers + - Hook C: `annotateSessionOnTaskSpan`; W3C `injectW3cTraceHeaders` for outbound calls + - Docs: usage double-count rules in `docs/observability.md` + +- a2bfdd2: feat(otel): Phase 3 backend passthrough (Hook F) + + - Core helpers: Copilot telemetry/onGetTraceContext, Claude OTel env + TRACEPARENT, Codex otel overrides + - `withSpan` activates real OTel context so parent-link works + - Shared `otel.exporter` endpoint inheritance + - Wire Copilot / Claude / Codex; OpenCode/Antigravity documented + +- a2bfdd2: feat(otel): Phase 4 CLI bootstrap, span links, Jaeger demo stack + + - `bootstrapOtelSdkFromConfig` / `shutdownOtelSdk` via dynamic import in `createCli` + - Span links on continue/retry invocations + - Optional peers for sdk-node + OTLP HTTP exporter + - `examples/otel-stack` docker-compose (Jaeger OTLP) + +- a2bfdd2: feat(otel): Phase 5 attribute ownership + gateway ID mapping + + - docs/otel-attribute-ownership.md aligned with draft GenAI A2A #254 + - Span attrs: gen_ai.operation.name, a2a.method.name, session.id, a2a.gateway.\* + - extractA2ATraceContext reads conversation/session/passkey/spectrum/ticket metadata + - Claude + Codex applyUsageSummaryToActiveSpan + x-usage on completed turns + +- a2bfdd2: feat(otel): Phoenix demo, package identity attrs, usage flags + + - Replace Jaeger compose requirement with Arize Phoenix (`phoenix serve`, optional Docker) + - CLI bootstrap defaults to `http/protobuf` via `@opentelemetry/exporter-trace-otlp-proto` (Phoenix rejects JSON) + - Stamp `a2a.wrapper.core.version`, `a2a.wrapper.sdk`, `a2a.wrapper.sdk.version` on task spans + - Wire all wrapper servers with package name/version + - `otel.taskUsageRollup` (default true) + `otel.annotateUsageCalls` (default false; Claude/Codex per-call events) + - Smoke scripts: `examples/otel-stack/smoke-export.mjs` + `smoke-providers.mjs` (copilot/claude executor → Phoenix) + +### Patch Changes + +- a2bfdd2: feat(otel): BYOK cookout + shared mock-ollama; wire CLI OTel bootstrap + + - examples/mock-ollama/ — reusable fake Ollama (OpenAI + Anthropic) for any cookout + - examples/otel-stack/cookout-byok.mjs layers Phoenix/OTel on that stub + - Hand-rolled wrapper CLIs now call bootstrapOtelSdkFromConfig / shutdownOtelSdk + - CLI bootstrap uses SimpleSpanProcessor for reliable short-lived export + +- a2bfdd2: fix(otel): per-wrapper OTel schema — common at top, backend knobs only for that package + + OpenCode no longer advertises `otel.backend.codex` (and peers). Shared flags stay + on `otel.*`; only `otel.backend.` appears in each agent schema. + +- 98d2027: Add `claude.outputFormat` to request structured JSON output from the Claude + session. Maps 1:1 onto the Claude Agent SDK's `Options.outputFormat` + (`{ type: "json_schema", schema }`) and is validated at startup. When set, the + SDK's `structured_output` is published as an `application/json` data part on the + `response` artifact, alongside the existing text part — text-only clients are + unaffected, and behaviour is unchanged when `outputFormat` is omitted. + + The core change adds an optional, backward-compatible `structuredData` parameter + to `publishFinalArtifact` / `publishLastChunkMarker`. + ## 2.1.1 ### Patch Changes diff --git a/packages/core/package.json b/packages/core/package.json index 39f3f8d..ce972e6 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,6 +1,6 @@ { "name": "@a2a-wrapper/core", - "version": "2.1.1", + "version": "2.2.0", "description": "Shared infrastructure core for A2A protocol wrapper projects. Provides logging, configuration loading, event publishing, agent card building, server bootstrapping, session management, and CLI scaffolding.", "type": "module", "exports": {