diff --git a/.changeset/bright-graphs-navigate.md b/.changeset/bright-graphs-navigate.md deleted file mode 100644 index b671d4dcb..000000000 --- a/.changeset/bright-graphs-navigate.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@sapiom/agent": minor ---- - -Add `PACKAGE_INVENTORY_PROTOCOL`, `packageInventorySchema`, and the public package-inventory types for validating versioned working-tree and immutable-bundle agent inventories. diff --git a/.changeset/calm-graphs-navigate.md b/.changeset/calm-graphs-navigate.md deleted file mode 100644 index d29dcb96c..000000000 --- a/.changeset/calm-graphs-navigate.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@sapiom/harness": minor ---- - -Project dependency graphs now open before source-name inspection finishes. They enrich identities in the background, retain per-agent identity warnings without holding an otherwise settled graph out of cache, and keep retryable reads recoverable. Navigation targets are served with the exact graph revision they belong to, so opening an agent from the map lands on the right one. diff --git a/.changeset/calm-graphs-wrap.md b/.changeset/calm-graphs-wrap.md deleted file mode 100644 index cf8338592..000000000 --- a/.changeset/calm-graphs-wrap.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@sapiom/harness": patch ---- - -Agent Studio now packs agents without detected relationships into a labeled grid below connected graph components, keeping sparse project maps at a usable height. diff --git a/.changeset/public-media-model-aliases.md b/.changeset/public-media-model-aliases.md deleted file mode 100644 index b736c17e3..000000000 --- a/.changeset/public-media-model-aliases.md +++ /dev/null @@ -1,11 +0,0 @@ ---- -"@sapiom/tools": minor ---- - -`contentGeneration` gains public model-alias maps and `select`, the capability-based model chooser. - -New `IMAGE_MODELS` / `VIDEO_MODEL_ALIASES` maps (plus the `KnownImageModel` / `KnownVideoModelAlias` types) carry the public semantic model aliases — `"flux-fast"`, `"veo3-fast"`, … — which are the supported input for `model`. `ImageCreateInput.model` is retyped from bare `string` to `LiteralUnion` for editor autocomplete. - -**Non-breaking.** Both `model` fields stay literal-union-widened to `string`, so an existing raw-provider-id pin keeps compiling and keeps working, and a newly-cataloged alias works before the SDK catches up. No client-side validation is added — the platform catalog stays the authority. Raw provider ids (and the `VIDEO_MODELS` map that lists them) are now documented as **deprecated**: still supported today, to be removed in a future release. - -New optional `select` on both image and video inputs, forwarded on the request body only when set and honored when `model` is omitted. It is typed per media type: `VideoSelect` accepts `requires: ("audio" | "lipsync" | "referenceImage")[]`, `ImageSelect` prohibits `requires` outright (no image model declares a capability tag, so the option could only narrow to zero candidates), and both accept `prefer: "cheapest"`. Asking an image call for `requires` is therefore a compile error rather than a request that can only fail. `MediaSelect` is the shape the two share, and is accepted by both inputs — for code generic over image and video. The response (and both launch handles) now type `preferSatisfied` alongside `resolvedModel`; for the async paths it is threaded from the submit handle, and it is omitted entirely unless a preference was requested. diff --git a/.changeset/soft-agents-discover.md b/.changeset/soft-agents-discover.md deleted file mode 100644 index 3e7c8eb84..000000000 --- a/.changeset/soft-agents-discover.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -"@sapiom/harness": minor ---- - -Discover markerless `defineAgent` and legacy `defineOrchestration` projects plus literal direct source invocations with bounded syntax-only analysis, conservative reconciliation, and live rail/system-graph updates without importing, bundling, type-checking, or executing project code. Public direct invocation edges use `basis: "static-invocation"`. Markerless agents inside nested Git repositories are discovered when that repository is selected directly; package-wide output-to-input data flow remains a separate evidence provider. - -**Breaking:** Public system-graph invocation edges that previously carried `basis: "static"` now carry `basis: "static-invocation"`. - -**Migration:** Consumers that validate or deserialize `GET /api/workspaces/:workspaceKey/system-graph` responses must accept `"static-invocation"` as the invocation-edge `basis` value before upgrading. diff --git a/.changeset/thick-pianos-hammer.md b/.changeset/thick-pianos-hammer.md deleted file mode 100644 index a2d55fb38..000000000 --- a/.changeset/thick-pianos-hammer.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -"@sapiom/harness": minor ---- - -`HarnessSettings.helpSeen` records that the first-run Studio explainer has been dismissed. The flag previously lived in browser `localStorage`, which is keyed by origin; hosts that bind an ephemeral port — the desktop app does, on every boot — presented a new origin with empty storage each launch and re-showed the card every time. It is now per-install and origin-independent, and it survives a reset of the client-side `ui-prefs` blob. - -Also fixes `PATCH /api/settings` silently dropping `telemetryNoticeDismissed`: the field was absent from the request schema, which strips unknown keys, so the request succeeded and nothing was written. Because nothing was ever stored, there is no earlier dismissal to honour — installs will see the telemetry notice one final time after upgrading, and the next dismissal is the first one that persists. `settings.json` gains the key at that point. diff --git a/.changeset/wild-folders-open.md b/.changeset/wild-folders-open.md deleted file mode 100644 index b1f7fe6cf..000000000 --- a/.changeset/wild-folders-open.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@sapiom/harness": patch ---- - -Agent Studio's folder fields now open the operating system's folder browser on the desktop app, and fall back to path completion in the `npx` browser host; the in-app directory listing is removed. The Add a project dialog is reduced to one line of guidance and a single action — its second button, "Add every agent under this folder", is gone because adding a project already brings in the agents below it. diff --git a/packages/agent-core/CHANGELOG.md b/packages/agent-core/CHANGELOG.md index aeb312c88..bfe59248f 100644 --- a/packages/agent-core/CHANGELOG.md +++ b/packages/agent-core/CHANGELOG.md @@ -1,5 +1,15 @@ # @sapiom/orchestration-core +## 0.13.3 + +### Patch Changes + +- Updated dependencies [917c930] +- Updated dependencies [41ce013] + - @sapiom/agent@0.13.0 + - @sapiom/tools@0.34.0 + - @sapiom/agent-runtime@0.7.1 + ## 0.13.2 ### Patch Changes diff --git a/packages/agent-core/package.json b/packages/agent-core/package.json index cf5e8dfc6..5c47271b9 100644 --- a/packages/agent-core/package.json +++ b/packages/agent-core/package.json @@ -1,6 +1,6 @@ { "name": "@sapiom/agent-core", - "version": "0.13.2", + "version": "0.13.3", "description": "Pure, stateless core functions for scaffolding, validating, and operating Sapiom agents — shared by the CLI and MCP packages.", "license": "MIT", "author": "Sapiom", diff --git a/packages/agent-core/src/version-fallback.generated.ts b/packages/agent-core/src/version-fallback.generated.ts index a5f63074e..de6f4afb8 100644 --- a/packages/agent-core/src/version-fallback.generated.ts +++ b/packages/agent-core/src/version-fallback.generated.ts @@ -4,6 +4,6 @@ // @sapiom/agent + @sapiom/tools versions and the offline scaffold fallback can no // longer drift. export const VERSION_FALLBACK = { - agent: "0.12.2", - tools: "0.33.0", + agent: "0.13.0", + tools: "0.34.0", } as const; diff --git a/packages/agent-runtime/CHANGELOG.md b/packages/agent-runtime/CHANGELOG.md index 1de5c0a4c..8095467cf 100644 --- a/packages/agent-runtime/CHANGELOG.md +++ b/packages/agent-runtime/CHANGELOG.md @@ -1,5 +1,12 @@ # @sapiom/orchestration-runtime +## 0.7.1 + +### Patch Changes + +- Updated dependencies [917c930] + - @sapiom/agent@0.13.0 + ## 0.7.0 ### Minor Changes diff --git a/packages/agent-runtime/package.json b/packages/agent-runtime/package.json index 0524e2caf..488f2dac8 100644 --- a/packages/agent-runtime/package.json +++ b/packages/agent-runtime/package.json @@ -1,6 +1,6 @@ { "name": "@sapiom/agent-runtime", - "version": "0.7.0", + "version": "0.7.1", "description": "The Sapiom orchestration runtime: the host-agnostic graph-walker decision logic + the host interfaces (execution store, step dispatcher, observer) it runs against. One runtime, two hosts (server engine + local runner).", "license": "MIT", "author": "Sapiom", diff --git a/packages/agent-studio/CHANGELOG.md b/packages/agent-studio/CHANGELOG.md index 3141d2396..4c5617f45 100644 --- a/packages/agent-studio/CHANGELOG.md +++ b/packages/agent-studio/CHANGELOG.md @@ -1,5 +1,16 @@ # @sapiom/agent-studio +## 0.1.21 + +### Patch Changes + +- Updated dependencies [917c930] +- Updated dependencies [bf380c3] +- Updated dependencies [1107764] +- Updated dependencies [a7d4185] +- Updated dependencies [89430fa] + - @sapiom/harness@0.12.0 + ## 0.1.20 ### Patch Changes diff --git a/packages/agent-studio/package.json b/packages/agent-studio/package.json index 48f38083b..d6f6df821 100644 --- a/packages/agent-studio/package.json +++ b/packages/agent-studio/package.json @@ -1,6 +1,6 @@ { "name": "@sapiom/agent-studio", - "version": "0.1.20", + "version": "0.1.21", "description": "Agent Studio — build, test, deploy, and run Sapiom agents with your coding agent in a local workspace.", "keywords": [ "sapiom", diff --git a/packages/agent/CHANGELOG.md b/packages/agent/CHANGELOG.md index fdf3389e3..e1ba9c20a 100644 --- a/packages/agent/CHANGELOG.md +++ b/packages/agent/CHANGELOG.md @@ -1,5 +1,16 @@ # @sapiom/orchestration +## 0.13.0 + +### Minor Changes + +- 917c930: Add `PACKAGE_INVENTORY_PROTOCOL`, `packageInventorySchema`, and the public package-inventory types for validating versioned working-tree and immutable-bundle agent inventories. + +### Patch Changes + +- Updated dependencies [41ce013] + - @sapiom/tools@0.34.0 + ## 0.12.2 ### Patch Changes diff --git a/packages/agent/package.json b/packages/agent/package.json index 8f8055dfd..7bedd71cd 100644 --- a/packages/agent/package.json +++ b/packages/agent/package.json @@ -1,6 +1,6 @@ { "name": "@sapiom/agent", - "version": "0.12.2", + "version": "0.13.0", "description": "Versioned public contract for authoring Sapiom agents: types, directive constructors/guards, defineAgent, defineStep, InMemoryContextStore. Shared by customer agent definitions, the sandbox step-runner, and the engine.", "license": "MIT", "author": "Sapiom", diff --git a/packages/cli/CHANGELOG.md b/packages/cli/CHANGELOG.md index 38613878c..4b9683acf 100644 --- a/packages/cli/CHANGELOG.md +++ b/packages/cli/CHANGELOG.md @@ -1,5 +1,20 @@ # @sapiom/cli +## 11.0.0 + +### Patch Changes + +- Updated dependencies [917c930] +- Updated dependencies [917c930] +- Updated dependencies [bf380c3] +- Updated dependencies [1107764] +- Updated dependencies [a7d4185] +- Updated dependencies [89430fa] + - @sapiom/agent@0.13.0 + - @sapiom/harness@0.12.0 + - @sapiom/agent-core@0.13.3 + - @sapiom/sandbox-preview@0.1.20 + ## 10.0.0 ### Patch Changes diff --git a/packages/cli/package.json b/packages/cli/package.json index 131a8aac4..a03a4499c 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,6 +1,6 @@ { "name": "@sapiom/cli", - "version": "10.0.0", + "version": "11.0.0", "description": "The Sapiom command-line interface — scaffold, validate, and ship Sapiom agents.", "license": "MIT", "author": "Sapiom", @@ -46,7 +46,7 @@ "zod": "^3.25.76" }, "peerDependencies": { - "@sapiom/harness": ">=0.11.0" + "@sapiom/harness": ">=0.12.0" }, "peerDependenciesMeta": { "@sapiom/harness": { diff --git a/packages/harness-desktop/CHANGELOG.md b/packages/harness-desktop/CHANGELOG.md index 18a4c7788..f9b8bb0c8 100644 --- a/packages/harness-desktop/CHANGELOG.md +++ b/packages/harness-desktop/CHANGELOG.md @@ -1,5 +1,16 @@ # @sapiom/harness-desktop +## 0.4.2 + +### Patch Changes + +- Updated dependencies [917c930] +- Updated dependencies [bf380c3] +- Updated dependencies [1107764] +- Updated dependencies [a7d4185] +- Updated dependencies [89430fa] + - @sapiom/harness@0.12.0 + ## 0.4.1 ### Patch Changes diff --git a/packages/harness-desktop/package.json b/packages/harness-desktop/package.json index 467aa2fa1..d05a2ebb9 100644 --- a/packages/harness-desktop/package.json +++ b/packages/harness-desktop/package.json @@ -1,6 +1,6 @@ { "name": "@sapiom/harness-desktop", - "version": "0.4.1", + "version": "0.4.2", "private": true, "description": "Agent Studio desktop app — a one-click native host for running Claude Code or Codex in a Sapiom-configured environment. The npx CLI (@sapiom/harness) remains the backup host over the same startServer().", "homepage": "https://sapiom.ai", diff --git a/packages/harness/CHANGELOG.md b/packages/harness/CHANGELOG.md index 9e0d4ea5f..c2f2dab1d 100644 --- a/packages/harness/CHANGELOG.md +++ b/packages/harness/CHANGELOG.md @@ -1,5 +1,28 @@ # @sapiom/harness +## 0.12.0 + +### Minor Changes + +- 917c930: Project dependency graphs now open before source-name inspection finishes. They enrich identities in the background, retain per-agent identity warnings without holding an otherwise settled graph out of cache, and keep retryable reads recoverable. Navigation targets are served with the exact graph revision they belong to, so opening an agent from the map lands on the right one. +- 1107764: Discover markerless `defineAgent` and legacy `defineOrchestration` projects plus literal direct source invocations with bounded syntax-only analysis, conservative reconciliation, and live rail/system-graph updates without importing, bundling, type-checking, or executing project code. Public direct invocation edges use `basis: "static-invocation"`. Markerless agents inside nested Git repositories are discovered when that repository is selected directly; package-wide output-to-input data flow remains a separate evidence provider. + + **Breaking:** Public system-graph invocation edges that previously carried `basis: "static"` now carry `basis: "static-invocation"`. + + **Migration:** Consumers that validate or deserialize `GET /api/workspaces/:workspaceKey/system-graph` responses must accept `"static-invocation"` as the invocation-edge `basis` value before upgrading. + +- a7d4185: `HarnessSettings.helpSeen` records that the first-run Studio explainer has been dismissed. The flag previously lived in browser `localStorage`, which is keyed by origin; hosts that bind an ephemeral port — the desktop app does, on every boot — presented a new origin with empty storage each launch and re-showed the card every time. It is now per-install and origin-independent, and it survives a reset of the client-side `ui-prefs` blob. + + Also fixes `PATCH /api/settings` silently dropping `telemetryNoticeDismissed`: the field was absent from the request schema, which strips unknown keys, so the request succeeded and nothing was written. Because nothing was ever stored, there is no earlier dismissal to honour — installs will see the telemetry notice one final time after upgrading, and the next dismissal is the first one that persists. `settings.json` gains the key at that point. + +### Patch Changes + +- bf380c3: Agent Studio now packs agents without detected relationships into a labeled grid below connected graph components, keeping sparse project maps at a usable height. +- 89430fa: Agent Studio's folder fields now open the operating system's folder browser on the desktop app, and fall back to path completion in the `npx` browser host; the in-app directory listing is removed. The Add a project dialog is reduced to one line of guidance and a single action — its second button, "Add every agent under this folder", is gone because adding a project already brings in the agents below it. +- Updated dependencies [917c930] + - @sapiom/agent@0.13.0 + - @sapiom/agent-core@0.13.3 + ## 0.11.0 ### Minor Changes diff --git a/packages/harness/package.json b/packages/harness/package.json index 1fd7fd284..877b6e7c5 100644 --- a/packages/harness/package.json +++ b/packages/harness/package.json @@ -1,6 +1,6 @@ { "name": "@sapiom/harness", - "version": "0.11.0", + "version": "0.12.0", "description": "Agent Studio — a CLI-launched local web app that runs your coding agent (Claude Code or Codex) in a Sapiom-configured environment: MCP pre-wired, agents tracked, one-click deploy/run, and a live canvas for previews.", "keywords": [ "sapiom", diff --git a/packages/sandbox-preview/CHANGELOG.md b/packages/sandbox-preview/CHANGELOG.md index 6b771a489..cbb025a1d 100644 --- a/packages/sandbox-preview/CHANGELOG.md +++ b/packages/sandbox-preview/CHANGELOG.md @@ -1,5 +1,12 @@ # @sapiom/sandbox-preview +## 0.1.20 + +### Patch Changes + +- Updated dependencies [41ce013] + - @sapiom/tools@0.34.0 + ## 0.1.19 ### Patch Changes diff --git a/packages/sandbox-preview/package.json b/packages/sandbox-preview/package.json index d75ed8e6c..69b4d9c49 100644 --- a/packages/sandbox-preview/package.json +++ b/packages/sandbox-preview/package.json @@ -1,6 +1,6 @@ { "name": "@sapiom/sandbox-preview", - "version": "0.1.19", + "version": "0.1.20", "description": "Client-side flow for deploying a web-app preview to a Sapiom sandbox — provision, upload, deploy to a live URL. Shared by the CLI and MCP packages.", "license": "MIT", "author": "Sapiom", diff --git a/packages/tools/CHANGELOG.md b/packages/tools/CHANGELOG.md index 435120106..cf051c6bf 100644 --- a/packages/tools/CHANGELOG.md +++ b/packages/tools/CHANGELOG.md @@ -1,5 +1,17 @@ # @sapiom/tools +## 0.34.0 + +### Minor Changes + +- 41ce013: `contentGeneration` gains public model-alias maps and `select`, the capability-based model chooser. + + New `IMAGE_MODELS` / `VIDEO_MODEL_ALIASES` maps (plus the `KnownImageModel` / `KnownVideoModelAlias` types) carry the public semantic model aliases — `"flux-fast"`, `"veo3-fast"`, … — which are the supported input for `model`. `ImageCreateInput.model` is retyped from bare `string` to `LiteralUnion` for editor autocomplete. + + **Non-breaking.** Both `model` fields stay literal-union-widened to `string`, so an existing raw-provider-id pin keeps compiling and keeps working, and a newly-cataloged alias works before the SDK catches up. No client-side validation is added — the platform catalog stays the authority. Raw provider ids (and the `VIDEO_MODELS` map that lists them) are now documented as **deprecated**: still supported today, to be removed in a future release. + + New optional `select` on both image and video inputs, forwarded on the request body only when set and honored when `model` is omitted. It is typed per media type: `VideoSelect` accepts `requires: ("audio" | "lipsync" | "referenceImage")[]`, `ImageSelect` prohibits `requires` outright (no image model declares a capability tag, so the option could only narrow to zero candidates), and both accept `prefer: "cheapest"`. Asking an image call for `requires` is therefore a compile error rather than a request that can only fail. `MediaSelect` is the shape the two share, and is accepted by both inputs — for code generic over image and video. The response (and both launch handles) now type `preferSatisfied` alongside `resolvedModel`; for the async paths it is threaded from the submit handle, and it is omitted entirely unless a preference was requested. + ## 0.33.0 ### Minor Changes diff --git a/packages/tools/package.json b/packages/tools/package.json index 3a9a0228b..5680dcd22 100644 --- a/packages/tools/package.json +++ b/packages/tools/package.json @@ -1,6 +1,6 @@ { "name": "@sapiom/tools", - "version": "0.33.0", + "version": "0.34.0", "description": "Typed client for Sapiom capabilities (sandboxes, repositories, agent, file storage, …) — the same tools your agents call over MCP, callable from your code, auth'd to your tenant.", "license": "MIT", "author": "Sapiom", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 3c0a05e41..752fcd166 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -256,7 +256,7 @@ importers: specifier: workspace:^ version: link:../analytics-core '@sapiom/harness': - specifier: '>=0.11.0' + specifier: '>=0.12.0' version: link:../harness '@sapiom/sandbox-preview': specifier: workspace:^