From 30e9f0504c15fbfe268bff0119b1487b18af5866 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Fri, 26 Jun 2026 22:35:34 +0000 Subject: [PATCH] chore: version packages --- .changeset/ai-autopilot-quality-pass.md | 10 ----- .changeset/ai-sdk-cache-seam.md | 13 ------ .changeset/ai-sdk-drop-doctor-subpath.md | 9 ---- .changeset/ai-sdk-drop-orm-subpaths.md | 9 ---- ...-sdk-export-cache-registry-eval-helpers.md | 7 ---- .changeset/ai-sdk-quality-pass.md | 5 --- .changeset/ai-sdk-storage-seam.md | 9 ---- .changeset/ai-skills-quality-pass.md | 12 ------ .changeset/mcp-quality-pass.md | 10 ----- packages/ai-autopilot/CHANGELOG.md | 19 +++++++++ packages/ai-autopilot/package.json | 2 +- packages/ai-mcp/CHANGELOG.md | 12 ++++++ packages/ai-mcp/package.json | 2 +- packages/ai-sdk/CHANGELOG.md | 41 +++++++++++++++++++ packages/ai-sdk/package.json | 2 +- packages/ai-skills/CHANGELOG.md | 23 +++++++++++ packages/ai-skills/package.json | 2 +- packages/mcp/CHANGELOG.md | 11 +++++ packages/mcp/package.json | 2 +- 19 files changed, 111 insertions(+), 89 deletions(-) delete mode 100644 .changeset/ai-autopilot-quality-pass.md delete mode 100644 .changeset/ai-sdk-cache-seam.md delete mode 100644 .changeset/ai-sdk-drop-doctor-subpath.md delete mode 100644 .changeset/ai-sdk-drop-orm-subpaths.md delete mode 100644 .changeset/ai-sdk-export-cache-registry-eval-helpers.md delete mode 100644 .changeset/ai-sdk-quality-pass.md delete mode 100644 .changeset/ai-sdk-storage-seam.md delete mode 100644 .changeset/ai-skills-quality-pass.md delete mode 100644 .changeset/mcp-quality-pass.md diff --git a/.changeset/ai-autopilot-quality-pass.md b/.changeset/ai-autopilot-quality-pass.md deleted file mode 100644 index ea0bc3a..0000000 --- a/.changeset/ai-autopilot-quality-pass.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -"@gemstack/ai-autopilot": patch ---- - -Quality + docs pass for ai-autopilot: - -- `Supervisor` now validates its options at construction (`plan` must be a function, `workers` is required, `concurrency`/`maxSubtasks` must be positive integers) and `run()` rejects an empty task, so misconfiguration fails fast with a clear message instead of deep in a planner call. -- An `onEvent` callback that throws is now isolated (logged and swallowed) so an observer bug can no longer abort a supervised run. -- Corrected the `SupervisorRun.usage` docs: it aggregates dispatched-subtask usage only (the `Planner`/`Synthesizer` contracts return data, not usage, so planning/synthesis spend isn't observable). -- Clarified that `maxSubtasks` and `budget` are optional, marked the internal `runPool` helper `@internal`, and added JSDoc examples. diff --git a/.changeset/ai-sdk-cache-seam.md b/.changeset/ai-sdk-cache-seam.md deleted file mode 100644 index 6685c40..0000000 --- a/.changeset/ai-sdk-cache-seam.md +++ /dev/null @@ -1,13 +0,0 @@ ---- -"@gemstack/ai-sdk": minor ---- - -Decouple the cache-backed run stores from `@rudderjs/cache` (epic: framework-agnostic engine). - -`CachedAgentRunStore` and `CachedSubAgentRunStore` no longer lazy-import `@rudderjs/cache` or read a global `CacheRegistry`. They now take a required, caller-supplied cache via `{ cache }`, typed against the new exported `CacheAdapter` contract (a 3-method interface: `get` / `set` / `forget`). Bring any cache (redis, Memcached, a `Map`, a framework's cache). - -**Breaking (0.x):** -- `new CachedAgentRunStore()` / `new CachedSubAgentRunStore()` with no cache now throw; pass `{ cache }`. (All in-repo and documented usage already passes it.) -- Default key prefixes changed from `rudderjs:ai:*` to `gemstack:ai:*`. These guard 5-minute-TTL ephemeral run snapshots, so the only effect on upgrade is that in-flight parked runs fall back to "not found" once (they self-heal). Override `keyPrefix` to keep the old value if needed. - -Also made the Google prompt-cache registry fully neutral (it already accepted a BYO store): it now uses the shared `CacheAdapter` type and a `gemstack:ai:google-cache:` key prefix, with no `@rudderjs/cache` references. diff --git a/.changeset/ai-sdk-drop-doctor-subpath.md b/.changeset/ai-sdk-drop-doctor-subpath.md deleted file mode 100644 index 7a736f2..0000000 --- a/.changeset/ai-sdk-drop-doctor-subpath.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -"@gemstack/ai-sdk": minor ---- - -Remove the `@gemstack/ai-sdk/doctor` subpath (epic: framework-agnostic engine). - -The AI doctor check registered into `@rudderjs/console`'s doctor registry, coupling the agnostic engine to the Rudder CLI. It has moved to the Rudder binding `@rudderjs/ai/doctor` (same import path on that package). The `./doctor` export is removed here. - -**Breaking (0.x):** importing `@gemstack/ai-sdk/doctor` no longer resolves; use `@rudderjs/ai/doctor`. (The `@rudderjs/console` peer stays for now — `make:agent` and the `/server` provider still use it until they relocate too.) diff --git a/.changeset/ai-sdk-drop-orm-subpaths.md b/.changeset/ai-sdk-drop-orm-subpaths.md deleted file mode 100644 index c867575..0000000 --- a/.changeset/ai-sdk-drop-orm-subpaths.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -"@gemstack/ai-sdk": minor ---- - -Decouple from `@rudderjs/orm` (epic: framework-agnostic engine). - -The ORM-backed store subpaths `@gemstack/ai-sdk/conversation-orm`, `/memory-orm`, `/budget-orm`, and `/memory-embedding` are **removed** from this package. They imported `@rudderjs/orm`, coupling the agnostic engine to the Rudder ORM, so they have moved to the Rudder binding `@rudderjs/ai` under the same subpath names (`@rudderjs/ai/conversation-orm`, etc.). The `@rudderjs/orm` peer dependency is dropped. - -**Breaking (0.x):** update imports from `@gemstack/ai-sdk/{conversation-orm,memory-orm,budget-orm,memory-embedding}` to `@rudderjs/ai/{...}`. The relocated implementations are unchanged and still implement the neutral `ConversationStore` / `UserMemory` / `BudgetStorage` contracts, which remain exported from `@gemstack/ai-sdk`. Non-Rudder apps implement those contracts against their own persistence, or use the in-memory defaults. diff --git a/.changeset/ai-sdk-export-cache-registry-eval-helpers.md b/.changeset/ai-sdk-export-cache-registry-eval-helpers.md deleted file mode 100644 index 25a933a..0000000 --- a/.changeset/ai-sdk-export-cache-registry-eval-helpers.md +++ /dev/null @@ -1,7 +0,0 @@ ---- -"@gemstack/ai-sdk": minor ---- - -Export `GoogleCacheRegistry` (+ `GoogleCacheRegistryOptions` / `CacheStoreLike`) from the main entry, and `defaultFixturesDir` / `readFixture` / `writeFixture` from the `./eval` subpath. - -These were gemstack-internal symbols that framework bindings could not reach against a published build. Surfacing them lets a binding construct the Gemini context-cache registry with its own `CacheAdapter` (`new GoogleCacheRegistry({ store })`) and lets an `ai:eval` CLI binding read/write recorded fixtures. Purely additive; unblocks relocating the `/server` provider and the `ai-eval` command to the Rudder side. diff --git a/.changeset/ai-sdk-quality-pass.md b/.changeset/ai-sdk-quality-pass.md deleted file mode 100644 index accb0a1..0000000 --- a/.changeset/ai-sdk-quality-pass.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"@gemstack/ai-sdk": patch ---- - -Quality pass for ai-sdk: rebrand the error/log message prefix from the migration leftover `[Rudder AI]` to `[ai-sdk]` (108 messages across 38 modules), matching the sibling packages' package-name prefix convention, and fix the "file an issue" URL in the Bedrock provider to point at `gemstack-land/gemstack`. No API or behavior change beyond the message text. diff --git a/.changeset/ai-sdk-storage-seam.md b/.changeset/ai-sdk-storage-seam.md deleted file mode 100644 index d591963..0000000 --- a/.changeset/ai-sdk-storage-seam.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -"@gemstack/ai-sdk": minor ---- - -Decouple `ImageGenerator.store()` / `AudioGenerator.store()` from `@rudderjs/storage` (epic: framework-agnostic engine). - -Both `.store()` helpers no longer lazy-import `@rudderjs/storage`. They now take a required, caller-supplied storage via a new exported `StorageAdapter` contract (a one-method interface: `put(path, bytes)`). Implement it against any blob store (S3, GCS, the filesystem, a framework's storage layer). - -**Breaking (0.x):** `.store(path)` is now `.store(path, storage)`. Migrate `await ImageGenerator.of(p).store('out.png')` to `await ImageGenerator.of(p).store('out.png', storage)` where `storage` satisfies `StorageAdapter`. A Rudder app wraps `@rudderjs/storage` in a ~3-line adapter. diff --git a/.changeset/ai-skills-quality-pass.md b/.changeset/ai-skills-quality-pass.md deleted file mode 100644 index a099b86..0000000 --- a/.changeset/ai-skills-quality-pass.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -"@gemstack/ai-skills": minor ---- - -Quality + docs pass for ai-skills: - -- `SkillRegistry.discover()` no longer aborts the whole scan when a single `SKILL.md` is unreadable or malformed; the bad bundle is skipped and the rest are still indexed. Pass `discover(root, { onError })` to observe what was skipped. This restores the documented "index hundreds of skills safely" contract. -- Skill `name` is now validated at parse time against `[a-zA-Z0-9_-]` instead of being silently mangled later at compose time, so invalid names fail fast with a clear message. -- `load()` on an undiscovered name now lists the available skill names (or hints to call `discover()` first). -- `loadSkill()` distinguishes a missing `SKILL.md` from an unreadable one. -- Deduplicated the internal `fileExists`/`isDirectory` helpers into a shared module. -- README: clarified that the tools module is loaded compiled (`tools.js`/`.mjs`/`.cjs`, not `tools.ts`), and added a direct `loadSkill()` usage example. diff --git a/.changeset/mcp-quality-pass.md b/.changeset/mcp-quality-pass.md deleted file mode 100644 index ea76560..0000000 --- a/.changeset/mcp-quality-pass.md +++ /dev/null @@ -1,10 +0,0 @@ ---- -"@gemstack/mcp": patch ---- - -Quality + docs pass for mcp: - -- OAuth: reject an empty bearer token (`Authorization: Bearer ` with no value) up front with a `401 invalid_token` instead of forwarding an empty string to `verifyToken`. -- Errors thrown when a `@Handle` dependency fails to resolve now chain the original via `{ cause }`. -- Documented `McpResponse.text/json/error` (and when to prefer `error()` over throwing); neutralized framework-specific wording in the OAuth core docs. -- README: completed the OAuth 2.1 section (a real `jose`-based `verifyToken`, and that `oauth2McpMiddleware` + `registerOAuth2Metadata` must both be wired), softened the origin framing. diff --git a/packages/ai-autopilot/CHANGELOG.md b/packages/ai-autopilot/CHANGELOG.md index 444f8fd..fbf7a15 100644 --- a/packages/ai-autopilot/CHANGELOG.md +++ b/packages/ai-autopilot/CHANGELOG.md @@ -1,5 +1,24 @@ # @gemstack/ai-autopilot +## 0.1.1 + +### Patch Changes + +- 81fe17b: Quality + docs pass for ai-autopilot: + + - `Supervisor` now validates its options at construction (`plan` must be a function, `workers` is required, `concurrency`/`maxSubtasks` must be positive integers) and `run()` rejects an empty task, so misconfiguration fails fast with a clear message instead of deep in a planner call. + - An `onEvent` callback that throws is now isolated (logged and swallowed) so an observer bug can no longer abort a supervised run. + - Corrected the `SupervisorRun.usage` docs: it aggregates dispatched-subtask usage only (the `Planner`/`Synthesizer` contracts return data, not usage, so planning/synthesis spend isn't observable). + - Clarified that `maxSubtasks` and `budget` are optional, marked the internal `runPool` helper `@internal`, and added JSDoc examples. + +- Updated dependencies [e784b5d] +- Updated dependencies [97ed299] +- Updated dependencies [4fa5820] +- Updated dependencies [cf28664] +- Updated dependencies [035050e] +- Updated dependencies [3cb13db] + - @gemstack/ai-sdk@0.4.0 + ## 0.1.0 ### Minor Changes diff --git a/packages/ai-autopilot/package.json b/packages/ai-autopilot/package.json index 71ec7a9..db3ee25 100644 --- a/packages/ai-autopilot/package.json +++ b/packages/ai-autopilot/package.json @@ -1,6 +1,6 @@ { "name": "@gemstack/ai-autopilot", - "version": "0.1.0", + "version": "0.1.1", "description": "Orchestration for @gemstack/ai-sdk agents: a Supervisor that plans, dispatches subagents (bounded concurrency + budget guardrails), and synthesizes the result.", "keywords": [ "ai", diff --git a/packages/ai-mcp/CHANGELOG.md b/packages/ai-mcp/CHANGELOG.md index eead927..42f1d84 100644 --- a/packages/ai-mcp/CHANGELOG.md +++ b/packages/ai-mcp/CHANGELOG.md @@ -1,5 +1,17 @@ # @gemstack/ai-mcp +## 0.1.1 + +### Patch Changes + +- Updated dependencies [e784b5d] +- Updated dependencies [97ed299] +- Updated dependencies [4fa5820] +- Updated dependencies [cf28664] +- Updated dependencies [035050e] +- Updated dependencies [3cb13db] + - @gemstack/ai-sdk@0.4.0 + ## 0.1.0 ### Minor Changes diff --git a/packages/ai-mcp/package.json b/packages/ai-mcp/package.json index ceff416..2c58895 100644 --- a/packages/ai-mcp/package.json +++ b/packages/ai-mcp/package.json @@ -1,6 +1,6 @@ { "name": "@gemstack/ai-mcp", - "version": "0.1.0", + "version": "0.1.1", "description": "Bridge between @gemstack/ai-sdk Agents and Model Context Protocol servers: consume remote MCP tools as Agent tools, and expose an Agent as an MCP server.", "keywords": [ "ai", diff --git a/packages/ai-sdk/CHANGELOG.md b/packages/ai-sdk/CHANGELOG.md index eba797f..d6d8876 100644 --- a/packages/ai-sdk/CHANGELOG.md +++ b/packages/ai-sdk/CHANGELOG.md @@ -1,5 +1,46 @@ # @gemstack/ai-sdk +## 0.4.0 + +### Minor Changes + +- e784b5d: Decouple the cache-backed run stores from `@rudderjs/cache` (epic: framework-agnostic engine). + + `CachedAgentRunStore` and `CachedSubAgentRunStore` no longer lazy-import `@rudderjs/cache` or read a global `CacheRegistry`. They now take a required, caller-supplied cache via `{ cache }`, typed against the new exported `CacheAdapter` contract (a 3-method interface: `get` / `set` / `forget`). Bring any cache (redis, Memcached, a `Map`, a framework's cache). + + **Breaking (0.x):** + + - `new CachedAgentRunStore()` / `new CachedSubAgentRunStore()` with no cache now throw; pass `{ cache }`. (All in-repo and documented usage already passes it.) + - Default key prefixes changed from `rudderjs:ai:*` to `gemstack:ai:*`. These guard 5-minute-TTL ephemeral run snapshots, so the only effect on upgrade is that in-flight parked runs fall back to "not found" once (they self-heal). Override `keyPrefix` to keep the old value if needed. + + Also made the Google prompt-cache registry fully neutral (it already accepted a BYO store): it now uses the shared `CacheAdapter` type and a `gemstack:ai:google-cache:` key prefix, with no `@rudderjs/cache` references. + +- 97ed299: Remove the `@gemstack/ai-sdk/doctor` subpath (epic: framework-agnostic engine). + + The AI doctor check registered into `@rudderjs/console`'s doctor registry, coupling the agnostic engine to the Rudder CLI. It has moved to the Rudder binding `@rudderjs/ai/doctor` (same import path on that package). The `./doctor` export is removed here. + + **Breaking (0.x):** importing `@gemstack/ai-sdk/doctor` no longer resolves; use `@rudderjs/ai/doctor`. (The `@rudderjs/console` peer stays for now — `make:agent` and the `/server` provider still use it until they relocate too.) + +- 4fa5820: Decouple from `@rudderjs/orm` (epic: framework-agnostic engine). + + The ORM-backed store subpaths `@gemstack/ai-sdk/conversation-orm`, `/memory-orm`, `/budget-orm`, and `/memory-embedding` are **removed** from this package. They imported `@rudderjs/orm`, coupling the agnostic engine to the Rudder ORM, so they have moved to the Rudder binding `@rudderjs/ai` under the same subpath names (`@rudderjs/ai/conversation-orm`, etc.). The `@rudderjs/orm` peer dependency is dropped. + + **Breaking (0.x):** update imports from `@gemstack/ai-sdk/{conversation-orm,memory-orm,budget-orm,memory-embedding}` to `@rudderjs/ai/{...}`. The relocated implementations are unchanged and still implement the neutral `ConversationStore` / `UserMemory` / `BudgetStorage` contracts, which remain exported from `@gemstack/ai-sdk`. Non-Rudder apps implement those contracts against their own persistence, or use the in-memory defaults. + +- cf28664: Export `GoogleCacheRegistry` (+ `GoogleCacheRegistryOptions` / `CacheStoreLike`) from the main entry, and `defaultFixturesDir` / `readFixture` / `writeFixture` from the `./eval` subpath. + + These were gemstack-internal symbols that framework bindings could not reach against a published build. Surfacing them lets a binding construct the Gemini context-cache registry with its own `CacheAdapter` (`new GoogleCacheRegistry({ store })`) and lets an `ai:eval` CLI binding read/write recorded fixtures. Purely additive; unblocks relocating the `/server` provider and the `ai-eval` command to the Rudder side. + +- 3cb13db: Decouple `ImageGenerator.store()` / `AudioGenerator.store()` from `@rudderjs/storage` (epic: framework-agnostic engine). + + Both `.store()` helpers no longer lazy-import `@rudderjs/storage`. They now take a required, caller-supplied storage via a new exported `StorageAdapter` contract (a one-method interface: `put(path, bytes)`). Implement it against any blob store (S3, GCS, the filesystem, a framework's storage layer). + + **Breaking (0.x):** `.store(path)` is now `.store(path, storage)`. Migrate `await ImageGenerator.of(p).store('out.png')` to `await ImageGenerator.of(p).store('out.png', storage)` where `storage` satisfies `StorageAdapter`. A Rudder app wraps `@rudderjs/storage` in a ~3-line adapter. + +### Patch Changes + +- 035050e: Quality pass for ai-sdk: rebrand the error/log message prefix from the migration leftover `[Rudder AI]` to `[ai-sdk]` (108 messages across 38 modules), matching the sibling packages' package-name prefix convention, and fix the "file an issue" URL in the Bedrock provider to point at `gemstack-land/gemstack`. No API or behavior change beyond the message text. + ## 0.3.0 ### Minor Changes diff --git a/packages/ai-sdk/package.json b/packages/ai-sdk/package.json index d1f58f1..e1a4bfb 100644 --- a/packages/ai-sdk/package.json +++ b/packages/ai-sdk/package.json @@ -1,6 +1,6 @@ { "name": "@gemstack/ai-sdk", - "version": "0.3.0", + "version": "0.4.0", "description": "AI engine: providers, agents, tools, streaming, middleware. The first GemStack package.", "keywords": [ "ai", diff --git a/packages/ai-skills/CHANGELOG.md b/packages/ai-skills/CHANGELOG.md index 8d4a45d..27604a0 100644 --- a/packages/ai-skills/CHANGELOG.md +++ b/packages/ai-skills/CHANGELOG.md @@ -1,5 +1,28 @@ # @gemstack/ai-skills +## 0.2.0 + +### Minor Changes + +- 3eb72d4: Quality + docs pass for ai-skills: + + - `SkillRegistry.discover()` no longer aborts the whole scan when a single `SKILL.md` is unreadable or malformed; the bad bundle is skipped and the rest are still indexed. Pass `discover(root, { onError })` to observe what was skipped. This restores the documented "index hundreds of skills safely" contract. + - Skill `name` is now validated at parse time against `[a-zA-Z0-9_-]` instead of being silently mangled later at compose time, so invalid names fail fast with a clear message. + - `load()` on an undiscovered name now lists the available skill names (or hints to call `discover()` first). + - `loadSkill()` distinguishes a missing `SKILL.md` from an unreadable one. + - Deduplicated the internal `fileExists`/`isDirectory` helpers into a shared module. + - README: clarified that the tools module is loaded compiled (`tools.js`/`.mjs`/`.cjs`, not `tools.ts`), and added a direct `loadSkill()` usage example. + +### Patch Changes + +- Updated dependencies [e784b5d] +- Updated dependencies [97ed299] +- Updated dependencies [4fa5820] +- Updated dependencies [cf28664] +- Updated dependencies [035050e] +- Updated dependencies [3cb13db] + - @gemstack/ai-sdk@0.4.0 + ## 0.1.0 ### Minor Changes diff --git a/packages/ai-skills/package.json b/packages/ai-skills/package.json index 105aa23..5600049 100644 --- a/packages/ai-skills/package.json +++ b/packages/ai-skills/package.json @@ -1,6 +1,6 @@ { "name": "@gemstack/ai-skills", - "version": "0.1.0", + "version": "0.2.0", "description": "Portable capability bundles for @gemstack/ai-sdk agents: load SKILL.md skills (instructions + tools + resources) and compose them onto an Agent.", "keywords": [ "ai", diff --git a/packages/mcp/CHANGELOG.md b/packages/mcp/CHANGELOG.md index 9fc511b..fd0b762 100644 --- a/packages/mcp/CHANGELOG.md +++ b/packages/mcp/CHANGELOG.md @@ -1,5 +1,16 @@ # @gemstack/mcp +## 0.2.1 + +### Patch Changes + +- 36f56e2: Quality + docs pass for mcp: + + - OAuth: reject an empty bearer token (`Authorization: Bearer ` with no value) up front with a `401 invalid_token` instead of forwarding an empty string to `verifyToken`. + - Errors thrown when a `@Handle` dependency fails to resolve now chain the original via `{ cause }`. + - Documented `McpResponse.text/json/error` (and when to prefer `error()` over throwing); neutralized framework-specific wording in the OAuth core docs. + - README: completed the OAuth 2.1 section (a real `jose`-based `verifyToken`, and that `oauth2McpMiddleware` + `registerOAuth2Metadata` must both be wired), softened the origin framing. + ## 0.2.0 ### Minor Changes diff --git a/packages/mcp/package.json b/packages/mcp/package.json index e2c624e..4fe3fdb 100644 --- a/packages/mcp/package.json +++ b/packages/mcp/package.json @@ -1,6 +1,6 @@ { "name": "@gemstack/mcp", - "version": "0.2.0", + "version": "0.2.1", "description": "Agent-agnostic framework for authoring Model Context Protocol (MCP) servers: tools, resources, prompts, decorators, OAuth 2.1, a framework-neutral HTTP handler, and a test client. The graduation of @rudderjs/mcp.", "keywords": [ "mcp",