diff --git a/package-lock.json b/package-lock.json index 87f38bf0..7024d6ff 100644 --- a/package-lock.json +++ b/package-lock.json @@ -5428,12 +5428,12 @@ }, "packages/agent": { "name": "@onkernel/cua-agent", - "version": "0.3.1", + "version": "0.3.2", "license": "MIT", "dependencies": { "@earendil-works/pi-agent-core": "0.79.1", "@earendil-works/pi-ai": "0.79.1", - "@onkernel/cua-ai": "0.2.1", + "@onkernel/cua-ai": "0.2.2", "@onkernel/sdk": "0.49.0", "sharp": "^0.34.5" }, @@ -5444,7 +5444,7 @@ }, "packages/ai": { "name": "@onkernel/cua-ai", - "version": "0.2.1", + "version": "0.2.2", "license": "MIT", "dependencies": { "@earendil-works/pi-ai": "0.79.1", diff --git a/packages/agent/CHANGELOG.md b/packages/agent/CHANGELOG.md index 1c57e4b5..977ccb90 100644 --- a/packages/agent/CHANGELOG.md +++ b/packages/agent/CHANGELOG.md @@ -1,5 +1,9 @@ # Changelog +## 0.3.2 - 2026-06-11 + +- Update the `@onkernel/cua-ai` dependency to 0.2.2. + ## 0.3.1 - 2026-06-11 - Update the `@onkernel/cua-ai` dependency to 0.2.1. diff --git a/packages/agent/package.json b/packages/agent/package.json index b9200bbf..64bbfbc0 100644 --- a/packages/agent/package.json +++ b/packages/agent/package.json @@ -1,6 +1,6 @@ { "name": "@onkernel/cua-agent", - "version": "0.3.1", + "version": "0.3.2", "description": "Kernel browser computer-use Agent and AgentHarness classes built on pi-agent-core", "license": "MIT", "type": "module", @@ -42,7 +42,7 @@ "dependencies": { "@earendil-works/pi-agent-core": "0.79.1", "@earendil-works/pi-ai": "0.79.1", - "@onkernel/cua-ai": "0.2.1", + "@onkernel/cua-ai": "0.2.2", "@onkernel/sdk": "0.49.0", "sharp": "^0.34.5" }, diff --git a/packages/ai/CHANGELOG.md b/packages/ai/CHANGELOG.md index 3a48e506..1cfa0337 100644 --- a/packages/ai/CHANGELOG.md +++ b/packages/ai/CHANGELOG.md @@ -1,5 +1,10 @@ # Changelog +## 0.2.2 - 2026-06-11 + +- Add computer-use support for `gpt-5.4-mini`, `gemini-3.1-flash-lite`, `tzafon.northstar-cua-fast-1.6`, and `tzafon.northstar-cua-fast-1.7-experiment`. +- Drop `gemini-3-pro-preview`, which Google has retired (the API now returns 404 for it). + ## 0.2.1 - 2026-06-11 - Add computer-use support for the `claude-fable-5` Anthropic model. diff --git a/packages/ai/docs/supported-models.md b/packages/ai/docs/supported-models.md index 48ce626c..a0e42736 100644 --- a/packages/ai/docs/supported-models.md +++ b/packages/ai/docs/supported-models.md @@ -22,6 +22,7 @@ API: `openai-responses` · coordinates: pixel Family matches (root + numeric revision/dated-snapshot suffixes): - `gpt-5.4` ([docs](https://developers.openai.com/api/docs/models/gpt-5.4)) +- `gpt-5.4-mini` ([docs](https://developers.openai.com/api/docs/models/gpt-5.4-mini)) - `gpt-5.5` ([docs](https://developers.openai.com/api/docs/models/gpt-5.5)) ## `anthropic` @@ -47,7 +48,7 @@ Model refs use the `google:` prefix; `gemini:` is accepted as an alias. Exact IDs: - `gemini-3-flash-preview` -- `gemini-3-pro-preview` +- `gemini-3.1-flash-lite` `gemini-2.5-computer-use-preview-10-2025` is deliberately not annotated: it rejects the standard function declarations this package sends and requires @@ -62,6 +63,8 @@ API: `tzafon-responses` · coordinates: normalized 0–999 Exact IDs: - `tzafon.northstar-cua-fast` ([model card](https://huggingface.co/Tzafon/Northstar-CUA-Fast)) +- `tzafon.northstar-cua-fast-1.6` ([model card](https://huggingface.co/Tzafon/Northstar-CUA-Fast)) +- `tzafon.northstar-cua-fast-1.7-experiment` ([model card](https://huggingface.co/Tzafon/Northstar-CUA-Fast)) ## `yutori` diff --git a/packages/ai/package.json b/packages/ai/package.json index 6e7c1782..40f7c323 100644 --- a/packages/ai/package.json +++ b/packages/ai/package.json @@ -1,6 +1,6 @@ { "name": "@onkernel/cua-ai", - "version": "0.2.1", + "version": "0.2.2", "description": "Kernel-curated computer-use model access built on pi-ai", "license": "MIT", "type": "module", diff --git a/packages/ai/src/models.ts b/packages/ai/src/models.ts index afbb0dc0..f311c776 100644 --- a/packages/ai/src/models.ts +++ b/packages/ai/src/models.ts @@ -60,6 +60,7 @@ export interface CuaModelAnnotation { export const CUA_MODEL_ANNOTATIONS: Record = { openai: [ { match: { kind: "family", family: "gpt-5.4" }, source: "https://developers.openai.com/api/docs/models/gpt-5.4" }, + { match: { kind: "family", family: "gpt-5.4-mini" }, source: "https://developers.openai.com/api/docs/models/gpt-5.4-mini" }, { match: { kind: "family", family: "gpt-5.5" }, source: "https://developers.openai.com/api/docs/models/gpt-5.5" }, ], anthropic: [ @@ -74,10 +75,14 @@ export const CUA_MODEL_ANNOTATIONS: Record[]> = { google: [], tzafon: [ cuaModel("tzafon", "tzafon.northstar-cua-fast", "Tzafon Northstar CUA Fast"), + cuaModel("tzafon", "tzafon.northstar-cua-fast-1.6", "Tzafon Northstar CUA Fast 1.6"), + cuaModel("tzafon", "tzafon.northstar-cua-fast-1.7-experiment", "Tzafon Northstar CUA Fast 1.7 (experiment)"), ], yutori: [ cuaModel("yutori", "n1.5-latest", "Yutori Navigator n1.5"), diff --git a/packages/ai/test/models.test.ts b/packages/ai/test/models.test.ts index 399abaa7..2a6c3ad3 100644 --- a/packages/ai/test/models.test.ts +++ b/packages/ai/test/models.test.ts @@ -82,6 +82,8 @@ describe("CUA support annotations", () => { it("matches family roots, dated snapshots, and numeric revisions", () => { expect(findCuaAnnotation("openai", "gpt-5.5")?.match).toEqual({ kind: "family", family: "gpt-5.5" }); expect(findCuaAnnotation("openai", "gpt-5.5-2026-04-23")?.match).toEqual({ kind: "family", family: "gpt-5.5" }); + expect(findCuaAnnotation("openai", "gpt-5.4-mini")?.match).toEqual({ kind: "family", family: "gpt-5.4-mini" }); + expect(findCuaAnnotation("openai", "gpt-5.4-mini-2026-03-17")?.match).toEqual({ kind: "family", family: "gpt-5.4-mini" }); expect(findCuaAnnotation("anthropic", "claude-opus-4-7")).toBeDefined(); expect(findCuaAnnotation("anthropic", "claude-3-7-sonnet-20250219")).toBeDefined(); }); @@ -93,12 +95,10 @@ describe("CUA support annotations", () => { }); it("does not match named sibling variants of a family", () => { - expect(findCuaAnnotation("openai", "gpt-5.4-mini")).toBeUndefined(); expect(findCuaAnnotation("openai", "gpt-5.4-nano")).toBeUndefined(); expect(findCuaAnnotation("openai", "gpt-5.4-pro")).toBeUndefined(); expect(findCuaAnnotation("openai", "gpt-5.5-pro")).toBeUndefined(); const openaiModels = listCuaModels("openai").map((model) => model.model); - expect(openaiModels).not.toContain("gpt-5.4-mini"); expect(openaiModels).not.toContain("gpt-5.4-nano"); expect(openaiModels).not.toContain("gpt-5.4-pro"); expect(openaiModels).toContain("gpt-5.5"); @@ -106,9 +106,10 @@ describe("CUA support annotations", () => { it("matches exact-id annotations", () => { expect(findCuaAnnotation("google", "gemini-3-flash-preview")).toBeDefined(); - expect(findCuaAnnotation("google", "gemini-3-pro-preview")).toBeDefined(); + expect(findCuaAnnotation("google", "gemini-3.1-flash-lite")).toBeDefined(); expect(findCuaAnnotation("yutori", "n1.5-latest")).toBeDefined(); expect(findCuaAnnotation("tzafon", "tzafon.northstar-cua-fast")).toBeDefined(); + expect(findCuaAnnotation("tzafon", "tzafon.northstar-cua-fast-1.6")).toBeDefined(); }); it("no longer advertises the Gemini 2.5 computer-use preview", () => { @@ -118,4 +119,10 @@ describe("CUA support annotations", () => { expect(listCuaModels("google").map((model) => model.model)).not.toContain("gemini-2.5-computer-use-preview-10-2025"); expect(() => getCuaModel("google:gemini-2.5-computer-use-preview-10-2025")).toThrow(/unsupported CUA model/); }); + + it("no longer advertises the retired gemini-3-pro-preview", () => { + // Google removed the model; the API now 404s "model no longer available". + expect(findCuaAnnotation("google", "gemini-3-pro-preview")).toBeUndefined(); + expect(listCuaModels("google").map((model) => model.model)).not.toContain("gemini-3-pro-preview"); + }); });