Skip to content

chore: version packages#32

Merged
suleimansh merged 1 commit into
mainfrom
changeset-release/main
Jun 27, 2026
Merged

chore: version packages#32
suleimansh merged 1 commit into
mainfrom
changeset-release/main

Conversation

@github-actions

@github-actions github-actions Bot commented Jun 26, 2026

Copy link
Copy Markdown
Contributor

This PR was opened by the Changesets release GitHub action. When you're ready to do a release, you can merge this and the packages will be published to npm automatically. If you're not ready to do a release yet, that's fine, whenever you add more changesets to main, this PR will be updated.

Releases

@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.

@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

@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

@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

@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.

@github-actions github-actions Bot force-pushed the changeset-release/main branch 8 times, most recently from 9223ccc to 1b95586 Compare June 26, 2026 21:35
@github-actions github-actions Bot force-pushed the changeset-release/main branch from 1b95586 to 30e9f05 Compare June 26, 2026 22:35
@suleimansh suleimansh merged commit 5827ced into main Jun 27, 2026
1 check passed
@suleimansh suleimansh deleted the changeset-release/main branch June 27, 2026 09:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant