diff --git a/packages/cli/CHANGELOG.md b/packages/cli/CHANGELOG.md index 01b819c..140cd1e 100644 --- a/packages/cli/CHANGELOG.md +++ b/packages/cli/CHANGELOG.md @@ -2,64 +2,52 @@ ## 0.4.0 — 2026-06-07 -- Rename `ocas prompt setup` to `ocas prompt bootstrap` with programmatic generation (dynamic CLI_VERSION injection). Add `ocas prompt list` subcommand. -- Add CAS closure export/import (`ocas export` / `ocas import`): - - - **`@ocas/core`**: New `computeClosure(store, roots)` traverses references and schema chains to gather a complete CAS closure. New `exportBundle()` / `importBundle()` / `loadBundleStore()` produce and consume self-contained POSIX-tar bundles (`cas/*.bin` CBOR payloads, `vars.jsonl`, `tags.jsonl`). Added `@ocas/output/export` and `@ocas/output/import` builtin output schemas. - - **`@ocas/cli`**: New `ocas export [ ...] -o ` and `ocas import [--scope @new]` commands. New global `--store ` flag opens a bundle as a read-only store for inspection commands (`get`, `walk`, `refs`, `var list`, …). Write commands reject `--store` with a clear error. +- New `ocas export [...] -o ` — export CAS closures as self-contained tar bundles. +- New `ocas import [--scope @new]` — import bundles into a store. +- New global `--store ` flag — open a bundle as read-only store for inspection commands. +- Rename `ocas prompt setup` to `ocas prompt bootstrap` with programmatic generation. +- New `ocas prompt list` subcommand. -## 0.3.1 +## 0.3.1 — 2026-06-04 -### Patch Changes +- Fix prompt docs: `bun` → `pnpm` install instructions, remove stale `--var-db` flag. -- Fix prompt docs: `bun` → `pnpm` install instructions, remove stale `--var-db` flag from usage docs. +## 0.3.0 — 2026-06-03 -## 0.2.0 +- No CLI-specific changes. Coordinated version bump with `@ocas/fs` 0.3.0. + +## 0.2.2 — 2026-06-03 + +- Lint and format fixes. + +## 0.2.1 — 2026-06-03 + +- Full CLI build support with `tsc` emit + Node compatibility. +- Migrate runtime from Bun to Node.js + pnpm. + +## 0.2.0 — 2026-06-02 ### Breaking Changes -- `Store` is now `{ cas: CasStore, var: VarStore, tag: TagStore }` — all sub-stores accessed via properties -- `bootstrap(store)` and `putSchema(store, schema)` are now **synchronous** (were async) -- `VariableStore` class removed from `@ocas/core` — SQLite implementation moved to `@ocas/fs` -- `createVariableStore()` removed from `@ocas/core` -- `openStoreAndVarStore()` removed — use `openStore()` returning unified `Store` -- `RenderOptions.varStore` removed — templates resolved via `store.var` internally -- `@ocas/core` has zero `bun:sqlite` imports — pure TypeScript -- `ocas var tag` subcommand removed — use `ocas tag` / `ocas untag` instead +- `ocas var tag` subcommand removed — use `ocas tag` / `ocas untag` instead. ### New Features -- `CasStore`, `VarStore`, `TagStore` sub-store types -- `TagStore` — first-class tags on any CAS node (not just variables) -- Top-level `ocas tag ...` and `ocas untag ...` commands -- `ocas get` and `ocas var get` now include tag info in output -- `ocas list --tag` and `ocas var list --tag` filter support -- `var-store-helpers.ts` — shared validation/history logic -- `validation.ts` — shared `validateName()` exported from core +- Top-level `ocas tag ...` and `ocas untag ...` commands. +- `ocas get` and `ocas var get` now include tag info in output. +- `ocas list --tag` and `ocas var list --tag` filter support. -## 0.1.2 - -### Patch Changes +## 0.1.2 — 2026-06-02 - Fix render output missing trailing newline. -- Fix TypeScript LSP errors: tsconfig `noEmit`, `exactOptionalPropertyTypes` conditional spread, `schemaHash` scope. -- Add agent skill setup hint with version to help output. Remove postinstall script (blocked by bun security policy). Update `ocas prompt setup` to guide cleanup of old skill versions before installing new ones. +- Add agent skill setup hint with version to help output. +- Remove postinstall script. -- Updated dependencies: - - @ocas/core@0.1.2 - - @ocas/fs@0.1.2 +## 0.1.1 — 2026-06-02 -## 0.1.1 +- Add `ocas prompt usage` and `ocas prompt setup` commands. +- Add `--version` flag. -### Patch Changes +## 0.1.0 — 2026-06-01 -- Add `ocas prompt usage` and `ocas prompt setup` commands for agent skill management. Prompt content is bundled with the CLI and versioned with it. -- Add `--version` flag to display CLI version. - -- Updated dependencies: - - @ocas/core@0.1.1 - - @ocas/fs@0.1.1 - -## 0.1.0 - -Initial release as `@ocas/cli`. CLI tool for OCAS with put, get, list, render, verify, gc, var, and template commands. Envelope output format with pipe composition support. +Initial release. CLI tool for OCAS with put, get, list, render, verify, gc, var, and template commands. diff --git a/packages/core/CHANGELOG.md b/packages/core/CHANGELOG.md index c8758fa..62eff5a 100644 --- a/packages/core/CHANGELOG.md +++ b/packages/core/CHANGELOG.md @@ -1,47 +1,52 @@ # @ocas/core +## 0.4.1 — 2026-06-07 + +- Fix `gc` failing to preserve nodes referenced via `oneOf` — `collectRefs()` now traverses `oneOf` branches alongside existing `anyOf`/`allOf`/`if-then-else` handling. + ## 0.4.0 — 2026-06-07 -- Add CAS closure export/import (`ocas export` / `ocas import`): - - - **`@ocas/core`**: New `computeClosure(store, roots)` traverses references and schema chains to gather a complete CAS closure. New `exportBundle()` / `importBundle()` / `loadBundleStore()` produce and consume self-contained POSIX-tar bundles (`cas/*.bin` CBOR payloads, `vars.jsonl`, `tags.jsonl`). Added `@ocas/output/export` and `@ocas/output/import` builtin output schemas. - - **`@ocas/cli`**: New `ocas export [ ...] -o ` and `ocas import [--scope @new]` commands. New global `--store ` flag opens a bundle as a read-only store for inspection commands (`get`, `walk`, `refs`, `var list`, …). Write commands reject `--store` with a clear error. +- New `computeClosure(store, roots)` — traverses references and schema chains to gather a complete CAS closure. +- New `exportBundle()` / `importBundle()` / `loadBundleStore()` — produce and consume self-contained POSIX-tar bundles (`cas/*.bin` CBOR payloads, `vars.jsonl`, `tags.jsonl`). +- New builtin output schemas: `@ocas/output/export`, `@ocas/output/import`. -## 0.2.0 +## 0.3.0 — 2026-06-03 + +- No API changes. Coordinated version bump with `@ocas/fs` 0.3.0. + +## 0.2.2 — 2026-06-03 + +- Lint and format fixes. + +## 0.2.1 — 2026-06-03 + +- Migrate runtime from Bun to Node.js + pnpm. +- Migrate test framework from `bun:test` to Vitest. +- Extract `VariableStore` SQLite implementation to `@ocas/fs`. + +## 0.2.0 — 2026-06-02 ### Breaking Changes -- `Store` is now `{ cas: CasStore, var: VarStore, tag: TagStore }` — all sub-stores accessed via properties -- `bootstrap(store)` and `putSchema(store, schema)` are now **synchronous** (were async) -- `VariableStore` class removed from `@ocas/core` — SQLite implementation moved to `@ocas/fs` -- `createVariableStore()` removed from `@ocas/core` -- `openStoreAndVarStore()` removed — use `openStore()` returning unified `Store` -- `RenderOptions.varStore` removed — templates resolved via `store.var` internally -- `@ocas/core` has zero `bun:sqlite` imports — pure TypeScript -- `ocas var tag` subcommand removed — use `ocas tag` / `ocas untag` instead +- `Store` is now `{ cas: CasStore, var: VarStore, tag: TagStore }` — all sub-stores accessed via properties. +- `bootstrap(store)` and `putSchema(store, schema)` are now synchronous. +- `VariableStore` class removed — SQLite implementation moved to `@ocas/fs`. +- `createVariableStore()` removed. +- Zero `bun:sqlite` imports — pure TypeScript. ### New Features -- `CasStore`, `VarStore`, `TagStore` sub-store types -- `TagStore` — first-class tags on any CAS node (not just variables) -- Top-level `ocas tag ...` and `ocas untag ...` commands -- `ocas get` and `ocas var get` now include tag info in output -- `ocas list --tag` and `ocas var list --tag` filter support -- `var-store-helpers.ts` — shared validation/history logic -- `validation.ts` — shared `validateName()` exported from core +- `CasStore`, `VarStore`, `TagStore` sub-store types. +- `validation.ts` — shared `validateName()` exported from core. -## 0.1.2 - -### Patch Changes +## 0.1.2 — 2026-06-02 - Fix TypeScript LSP errors: tsconfig `noEmit`, `exactOptionalPropertyTypes` conditional spread, `schemaHash` scope. -## 0.1.1 +## 0.1.1 — 2026-06-02 -### Patch Changes +- Internal improvements. -- Internal improvements for v0.1.1 release. +## 0.1.0 — 2026-06-01 -## 0.1.0 - -Initial release as `@ocas/core`. Content-addressable store engine with JSON Schema typed nodes, XXH64 hashing, variable store, render with resolution decay, and LiquidJS template support. +Initial release. Content-addressable store engine with JSON Schema typed nodes, XXH64 hashing, variable store, render with resolution decay, and LiquidJS template support. diff --git a/packages/fs/CHANGELOG.md b/packages/fs/CHANGELOG.md index 8b5bc98..b5f4288 100644 --- a/packages/fs/CHANGELOG.md +++ b/packages/fs/CHANGELOG.md @@ -2,50 +2,44 @@ ## 0.4.0 — 2026-06-07 -- `FsStore` now uses lazy loading: at startup it scans only filenames in the `nodes/` subdirectory (no CBOR decoding) and reads each node from disk on first `get()`. This makes startup O(filenames) instead of O(decoded-bytes), keeps memory usage bounded by what's actually accessed, and avoids paying the full-load cost for stores with many nodes. Behaviour is unchanged: `has()`, `listAll()`, `listByType()`, `listMeta()`, and `listSchemas()` return the same results as before. Index/meta migration paths still work — they perform a one-time scan + decode when `_index/` is missing. -- Move CAS node files from the store root into a `nodes/` subdirectory. Pre-existing flat-layout stores are auto-migrated on first open: any `.bin` files in the store root are renamed into `nodes/`. Metadata (`_index/`, `_store.db`, `_meta`) remain at the store root unchanged. +- Lazy loading: `FsStore` scans only filenames in `nodes/` at startup (no CBOR decoding), reads each node from disk on first `get()`. Startup is O(filenames) instead of O(decoded-bytes). +- Move CAS node files from store root into `nodes/` subdirectory. Pre-existing flat-layout stores are auto-migrated on first open. ## 0.3.0 — 2026-06-03 -- Migrate from better-sqlite3 to built-in node:sqlite — zero native addon dependencies, no more NODE_MODULE_VERSION mismatch across Node upgrades. +- Migrate from `better-sqlite3` to built-in `node:sqlite` — zero native addon dependencies. -## 0.2.0 +## 0.2.2 — 2026-06-03 + +- Lint and format fixes. + +## 0.2.1 — 2026-06-03 + +- Migrate var/tag store from JSONL to `better-sqlite3`. +- `openStore()` now returns unified `Store` with `cas`, `var`, `tag` sub-stores. +- Migrate runtime from Bun to Node.js + pnpm. + +## 0.2.0 — 2026-06-02 ### Breaking Changes -- `Store` is now `{ cas: CasStore, var: VarStore, tag: TagStore }` — all sub-stores accessed via properties -- `bootstrap(store)` and `putSchema(store, schema)` are now **synchronous** (were async) -- `VariableStore` class removed from `@ocas/core` — SQLite implementation moved to `@ocas/fs` -- `createVariableStore()` removed from `@ocas/core` -- `openStoreAndVarStore()` removed — use `openStore()` returning unified `Store` -- `RenderOptions.varStore` removed — templates resolved via `store.var` internally -- `@ocas/core` has zero `bun:sqlite` imports — pure TypeScript -- `ocas var tag` subcommand removed — use `ocas tag` / `ocas untag` instead +- `openStoreAndVarStore()` removed — use `openStore()` returning unified `Store`. +- `RenderOptions.varStore` removed — templates resolved via `store.var` internally. ### New Features -- `CasStore`, `VarStore`, `TagStore` sub-store types -- `TagStore` — first-class tags on any CAS node (not just variables) -- Top-level `ocas tag ...` and `ocas untag ...` commands -- `ocas get` and `ocas var get` now include tag info in output -- `ocas list --tag` and `ocas var list --tag` filter support -- `var-store-helpers.ts` — shared validation/history logic -- `validation.ts` — shared `validateName()` exported from core +- SQLite-backed `VarStore` and `TagStore` implementations. +- `TagStore` — first-class tags on any CAS node. +- `var-store-helpers.ts` — shared validation/history logic. -## 0.1.2 +## 0.1.2 — 2026-06-02 -### Patch Changes +- Updated dependencies. -- Updated dependencies: - - @ocas/core@0.1.2 +## 0.1.1 — 2026-06-02 -## 0.1.1 +- Updated dependencies. -### Patch Changes +## 0.1.0 — 2026-06-01 -- Updated dependencies: - - @ocas/core@0.1.1 - -## 0.1.0 - -Initial release as `@ocas/fs`. Filesystem-backed CAS store with SQLite indexing and auto-bootstrap. +Initial release. Filesystem-backed CAS store with SQLite indexing and auto-bootstrap.