diff --git a/CHANGELOG.md b/CHANGELOG.md index b58ffda..f40b43c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,6 +2,63 @@ ## Unreleased +## 1.18.0 - 2026-09-04 + +### Added + +- Added VideoBlock with base64 or absolute HTTP(S) URL sources to the public + content-block API, serialized as an OpenAI-compatible video_url part for + MiniMax-compatible chat. +- Added UnsupportedContentBlockError for adapters that cannot represent a + content block; unsupported video input is terminal and excluded from retry + classification. +- Tool input and output are now recorded on execute_tool v2 spans as + oma.tool.input and oma.tool.output when the trace capture policy opts in. +- Added contentCapture: { mode: 'upstream-policy' } to + @open-multi-agent/otel 0.1.3, forwarding core's opt-in tool input/output + attributes. +- Evaluation judgePrompt can now return per-judge structured LLMMessage[] input + in addition to the existing plain-text form. + +### Changed + +- Context-summary preparation now strips video blocks like image blocks, and + token estimation sizes inline video as rich media so compaction triggers + correctly. +- The @open-multi-agent/otel contentCapture option is widened from only + 'disabled' to 'disabled' or 'upstream-policy'; default behavior is unchanged. +- Evaluation judgePrompt is now invoked once per judge instead of once per + score() call, so a quorum calls it once for each member. Callers whose + judgePrompt is costly or has side effects will see the additional calls. + +### Fixed + +- Fixed v2 trace sinks silently dropping tool input/output that the legacy + onTrace callback delivered; recording is now gated by an explicit capture + policy with default behavior unchanged. + +### Compatibility + +- Core remains backward-compatible: all reviewable executable changes are + additive exports, an additive ContentBlock union member, trailing optional + parameters, or opt-in trace attributes; no published dependency/peer ranges or + engine floors changed. +- TypeScript consumers doing exhaustive matching over ContentBlock should add a + 'video' case or default when upgrading because the union is widened. +- No migration is required for default callers: v2 tool I/O capture remains off, + otel contentCapture remains disabled by default, and existing retry + classifications are unchanged. +- To retain tool arguments/results previously delivered by the legacy onTrace + callback, enable the core capture policy and the otel upstream-policy mode; + both opt-ins are required, and the mode needs @open-multi-agent/otel 0.1.3 or + newer. +- Eval callers using judgePrompt's structured return path must append + buildStructuredOutputInstruction themselves; the existing (context) => string + signature is unchanged and its result is still wrapped by the text template. +- Video sources must be absolute HTTP(S) URLs or raw base64 with a parameterless + MIME type; adapters without a video mapping fail fast with the terminal + unsupported-content-block error rather than retrying. + ## 1.17.0 - 2026-08-28 ### Added diff --git a/package-lock.json b/package-lock.json index a6fa995..f9a174a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -5343,7 +5343,7 @@ }, "packages/core": { "name": "@open-multi-agent/core", - "version": "1.17.0", + "version": "1.18.0", "license": "MIT", "dependencies": { "@anthropic-ai/sdk": "^0.52.0", @@ -5426,7 +5426,7 @@ } }, "packages/create-oma-app": { - "version": "0.8.3", + "version": "0.8.4", "license": "MIT", "bin": { "create-oma-app": "dist/index.js" @@ -5442,7 +5442,7 @@ }, "packages/otel": { "name": "@open-multi-agent/otel", - "version": "0.1.2", + "version": "0.1.3", "license": "MIT", "dependencies": { "@open-multi-agent/core": "^1.11.0" diff --git a/packages/core/package.json b/packages/core/package.json index 9f2c6ac..5e7e53e 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -1,6 +1,6 @@ { "name": "@open-multi-agent/core", - "version": "1.17.0", + "version": "1.18.0", "description": "TypeScript multi-agent framework: one runTeam() call from goal to result. Auto task decomposition and parallel execution for multi-step LLM jobs. Deploys anywhere Node.js runs.", "files": [ "dist", diff --git a/packages/create-oma-app/package.json b/packages/create-oma-app/package.json index 06f7ae3..21b3299 100644 --- a/packages/create-oma-app/package.json +++ b/packages/create-oma-app/package.json @@ -1,6 +1,6 @@ { "name": "create-oma-app", - "version": "0.8.3", + "version": "0.8.4", "description": "Scaffold PR review, security analysis, and multi-agent DAG starters on @open-multi-agent/core.", "type": "module", "bin": { diff --git a/packages/create-oma-app/template/package.json b/packages/create-oma-app/template/package.json index 39f9d5a..6a26a7f 100644 --- a/packages/create-oma-app/template/package.json +++ b/packages/create-oma-app/template/package.json @@ -10,7 +10,7 @@ "dev": "tsx src/index.ts" }, "dependencies": { - "@open-multi-agent/core": "1.17.0" + "@open-multi-agent/core": "1.18.0" }, "devDependencies": { "tsx": "^4.21.0" diff --git a/packages/create-oma-app/templates/demo/package.json b/packages/create-oma-app/templates/demo/package.json index 8b0b4ea..6f9f799 100644 --- a/packages/create-oma-app/templates/demo/package.json +++ b/packages/create-oma-app/templates/demo/package.json @@ -11,7 +11,7 @@ "demo": "tsx src/index.ts --demo" }, "dependencies": { - "@open-multi-agent/core": "1.17.0" + "@open-multi-agent/core": "1.18.0" }, "devDependencies": { "tsx": "^4.21.0" diff --git a/packages/create-oma-app/templates/pr-review/package.json b/packages/create-oma-app/templates/pr-review/package.json index 26dcbe4..1d6070b 100644 --- a/packages/create-oma-app/templates/pr-review/package.json +++ b/packages/create-oma-app/templates/pr-review/package.json @@ -11,7 +11,7 @@ "demo": "tsx src/index.ts --demo" }, "dependencies": { - "@open-multi-agent/core": "1.17.0", + "@open-multi-agent/core": "1.18.0", "zod": "^3.23.0" }, "devDependencies": { diff --git a/packages/create-oma-app/templates/security/package.json b/packages/create-oma-app/templates/security/package.json index 26dcbe4..1d6070b 100644 --- a/packages/create-oma-app/templates/security/package.json +++ b/packages/create-oma-app/templates/security/package.json @@ -11,7 +11,7 @@ "demo": "tsx src/index.ts --demo" }, "dependencies": { - "@open-multi-agent/core": "1.17.0", + "@open-multi-agent/core": "1.18.0", "zod": "^3.23.0" }, "devDependencies": { diff --git a/packages/otel/package.json b/packages/otel/package.json index 260cd1c..010de7b 100644 --- a/packages/otel/package.json +++ b/packages/otel/package.json @@ -1,6 +1,6 @@ { "name": "@open-multi-agent/otel", - "version": "0.1.2", + "version": "0.1.3", "description": "Optional OpenTelemetry adapter for @open-multi-agent/core TraceRecord v2.", "files": [ "dist", diff --git a/packages/otel/src/version.ts b/packages/otel/src/version.ts index 0d3570c..f4ace2d 100644 --- a/packages/otel/src/version.ts +++ b/packages/otel/src/version.ts @@ -3,4 +3,4 @@ * instrumentationVersion. A guard test asserts it matches package.json, so * bumping the package without bumping this constant fails CI. */ -export const PACKAGE_VERSION = '0.1.2' +export const PACKAGE_VERSION = '0.1.3'