diff --git a/package.json b/package.json index 97a50ac9..a9385cc9 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "data-monorepo", - "version": "0.9.97", + "version": "0.9.98", "private": true, "engines": { "node": ">=24" diff --git a/packages/data-ai/.claude-plugin/plugin.json b/packages/data-ai/.claude-plugin/plugin.json index 929c7f40..6eb95efc 100644 --- a/packages/data-ai/.claude-plugin/plugin.json +++ b/packages/data-ai/.claude-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "adobe-data-ai", - "version": "0.9.97", + "version": "0.9.98", "description": "Architecture skills for @adobe/data — data-oriented modelling, archetype iteration, hot-path performance, and related conventions.", "author": { "name": "Adobe" diff --git a/packages/data-ai/.claude/rules/features/services/main-service/index.md b/packages/data-ai/.claude/rules/features/services/main-service/index.md index 546e340e..94d7d479 100644 --- a/packages/data-ai/.claude/rules/features/services/main-service/index.md +++ b/packages/data-ai/.claude/rules/features/services/main-service/index.md @@ -103,9 +103,9 @@ main-service/ core-database/ # the schema (above) index-database/ # extends core; indexes/ transaction-database/ # extends index; transactions/ - computed-database/ # extends transaction; computed/ - service-database/ # extends computed; services/ - action-database/ # extends service; actions/ + service-database/ # extends transaction; services/ + computed-database/ # extends service; computed/ + action-database/ # extends computed; actions/ ``` Each exports a namespace mirroring the plugin — the composed object is a @@ -121,8 +121,8 @@ export namespace IndexDatabase { ### The assembled database — `MainService` -*Which* layer is topmost varies with the facets a feature uses (computed / -service / action / system). Consumers — `ui/`, the app entry, `services/main-service/conformance/` +*Which* layer is topmost varies with the facets a feature uses (service / +computed / action / system). Consumers — `ui/`, the app entry, `services/main-service/conformance/` — need the *whole* feature database but must not name that layer, or adding or dropping a layer rewrites them all. Alias it once from the **folder-eponymous `main-service.ts`** (per `global/namespace.md`, a folder's primary export lives in @@ -155,10 +155,11 @@ two features' `CoreDatabase`s never collide. transaction-context type. Use **`CoreDatabase.Store`** for a transaction that reads/writes entities, resources, or archetypes; **`IndexDatabase.Store`** the moment it reads an index. -- **the whole `Database`** — **computed**, **services**, and **actions** each +- **the whole `Database`** — **services**, **computed**, and **actions** each take `service: ` (the lowest layer whose database exposes what they - read/call): computed reads `service.observe.*`; services read observables and - call transactions; actions call `service.services.*` then + read/call): services read observables and call transactions; computed reads + `service.observe.*` and, once it needs a service's own reactive surface, + `service.services.*`; actions call `service.services.*` then `service.transactions.*`. Each subfolder has its own rule. Modelling a plugin's authored vs. derived diff --git a/packages/data-ai/.claude/rules/features/services/main-service/services.md b/packages/data-ai/.claude/rules/features/services/main-service/services.md index 3c33ae67..96f79026 100644 --- a/packages/data-ai/.claude/rules/features/services/main-service/services.md +++ b/packages/data-ai/.claude/rules/features/services/main-service/services.md @@ -11,7 +11,7 @@ its transactions. This is where the async `services/` contracts (or framework services like `AgenticService`) are wired to ECS state. ```ts -export const createAgentService = (service: ComputedDatabase, mark: PlayerMark): AgenticService => +export const createAgentService = (service: TransactionDatabase, mark: PlayerMark): AgenticService => /* … reads service.observe.*, calls service.transactions.* … */; ``` diff --git a/packages/data-ai/package.json b/packages/data-ai/package.json index 250392ad..c41308fa 100644 --- a/packages/data-ai/package.json +++ b/packages/data-ai/package.json @@ -1,6 +1,6 @@ { "name": "@adobe/data-ai", - "version": "0.9.97", + "version": "0.9.98", "description": "Cross-agent architecture skills for @adobe/data — installable as a Claude Code plugin or copied into any Agent-Skills-compatible agent (Cursor, Codex).", "type": "module", "private": false, diff --git a/packages/data-gpu-hopper/package.json b/packages/data-gpu-hopper/package.json index 84a43d34..a41d38f7 100644 --- a/packages/data-gpu-hopper/package.json +++ b/packages/data-gpu-hopper/package.json @@ -1,6 +1,6 @@ { "name": "data-gpu-hopper", - "version": "0.9.97", + "version": "0.9.98", "description": "Hopper sample - real-time ECS game rendered as colored cubes via @adobe/data-gpu", "type": "module", "private": true, diff --git a/packages/data-gpu-samples/package.json b/packages/data-gpu-samples/package.json index 6d9bb3aa..78e5d6d1 100644 --- a/packages/data-gpu-samples/package.json +++ b/packages/data-gpu-samples/package.json @@ -1,6 +1,6 @@ { "name": "data-gpu-samples", - "version": "0.9.97", + "version": "0.9.98", "description": "WebGPU samples built on @adobe/data-gpu", "type": "module", "private": true, diff --git a/packages/data-gpu/package.json b/packages/data-gpu/package.json index 415af48e..c55f126e 100644 --- a/packages/data-gpu/package.json +++ b/packages/data-gpu/package.json @@ -1,6 +1,6 @@ { "name": "@adobe/data-gpu", - "version": "0.9.97", + "version": "0.9.98", "description": "Adobe data WebGPU plugins and types for graphics and compute", "type": "module", "private": false, diff --git a/packages/data-lit-space-rock-game/package.json b/packages/data-lit-space-rock-game/package.json index 4f8e6776..4e75e34b 100644 --- a/packages/data-lit-space-rock-game/package.json +++ b/packages/data-lit-space-rock-game/package.json @@ -1,6 +1,6 @@ { "name": "data-lit-space-rock-game", - "version": "0.9.97", + "version": "0.9.98", "description": "Space Rock Game sample - real-time ECS game with Lit and @adobe/data", "type": "module", "private": true, diff --git a/packages/data-lit-tictactoe/package.json b/packages/data-lit-tictactoe/package.json index a80ace17..17d36bf6 100644 --- a/packages/data-lit-tictactoe/package.json +++ b/packages/data-lit-tictactoe/package.json @@ -1,6 +1,6 @@ { "name": "data-lit-tictactoe", - "version": "0.9.97", + "version": "0.9.98", "description": "Tic-Tac-Toe sample - Lit web components with @adobe/data-lit and AgenticService", "type": "module", "private": true, diff --git a/packages/data-lit-todo/package.json b/packages/data-lit-todo/package.json index c44d1be5..6ea9de8c 100644 --- a/packages/data-lit-todo/package.json +++ b/packages/data-lit-todo/package.json @@ -1,6 +1,6 @@ { "name": "data-lit-todo", - "version": "0.9.97", + "version": "0.9.98", "description": "Todo application - Lit web components with @adobe/data ECS", "type": "module", "private": true, diff --git a/packages/data-lit/package.json b/packages/data-lit/package.json index e9bd13cb..0576605a 100644 --- a/packages/data-lit/package.json +++ b/packages/data-lit/package.json @@ -1,6 +1,6 @@ { "name": "@adobe/data-lit", - "version": "0.9.97", + "version": "0.9.98", "description": "Adobe data Lit bindings - hooks, elements, decorators", "type": "module", "private": false, diff --git a/packages/data-p2p-tictactoe/package.json b/packages/data-p2p-tictactoe/package.json index 74e26c26..ec6dc2d0 100644 --- a/packages/data-p2p-tictactoe/package.json +++ b/packages/data-p2p-tictactoe/package.json @@ -1,6 +1,6 @@ { "name": "data-p2p-tictactoe", - "version": "0.9.97", + "version": "0.9.98", "description": "Serverless P2P tic-tac-toe — WebRTC DataChannel + @adobe/data-sync", "type": "module", "private": true, diff --git a/packages/data-persistence/package.json b/packages/data-persistence/package.json index 492bcc14..58dd9b7b 100644 --- a/packages/data-persistence/package.json +++ b/packages/data-persistence/package.json @@ -1,6 +1,6 @@ { "name": "@adobe/data-persistence", - "version": "0.9.97", + "version": "0.9.98", "description": "Worker-based incremental persistence layer for @adobe/data ECS over OPFS (browser) and node:fs (server).", "type": "module", "sideEffects": false, diff --git a/packages/data-react-hello/package.json b/packages/data-react-hello/package.json index 4795126b..5c36aaf0 100644 --- a/packages/data-react-hello/package.json +++ b/packages/data-react-hello/package.json @@ -1,6 +1,6 @@ { "name": "data-react-hello", - "version": "0.9.97", + "version": "0.9.98", "description": "Hello World sample - click counter using @adobe/data-react", "type": "module", "private": true, diff --git a/packages/data-react-pixie/package.json b/packages/data-react-pixie/package.json index 52de349e..d731f4d2 100644 --- a/packages/data-react-pixie/package.json +++ b/packages/data-react-pixie/package.json @@ -1,6 +1,6 @@ { "name": "data-react-pixie", - "version": "0.9.97", + "version": "0.9.98", "description": "PixiJS React sample - ECS sprites (bunny, fox) with @adobe/data-react", "type": "module", "private": true, diff --git a/packages/data-react/package.json b/packages/data-react/package.json index d24ed2bb..e3d2094d 100644 --- a/packages/data-react/package.json +++ b/packages/data-react/package.json @@ -1,6 +1,6 @@ { "name": "@adobe/data-react", - "version": "0.9.97", + "version": "0.9.98", "description": "Adobe data React bindings — hooks and context for ECS database", "type": "module", "private": false, diff --git a/packages/data-solid-dashboard/package.json b/packages/data-solid-dashboard/package.json index c3cb03a6..1f2918d4 100644 --- a/packages/data-solid-dashboard/package.json +++ b/packages/data-solid-dashboard/package.json @@ -1,6 +1,6 @@ { "name": "data-solid-dashboard", - "version": "0.9.97", + "version": "0.9.98", "description": "Mini dashboard sample — multiple components sharing one @adobe/data ECS database with SolidJS", "type": "module", "private": true, diff --git a/packages/data-solid/package.json b/packages/data-solid/package.json index 988a1bdb..8d44e842 100644 --- a/packages/data-solid/package.json +++ b/packages/data-solid/package.json @@ -1,6 +1,6 @@ { "name": "@adobe/data-solid", - "version": "0.9.97", + "version": "0.9.98", "description": "Adobe data SolidJS bindings — context and provider for ECS database", "type": "module", "private": false, diff --git a/packages/data-sync/package.json b/packages/data-sync/package.json index ab96ebb5..b607d438 100644 --- a/packages/data-sync/package.json +++ b/packages/data-sync/package.json @@ -1,6 +1,6 @@ { "name": "@adobe/data-sync", - "version": "0.9.97", + "version": "0.9.98", "description": "Multi-user real-time synchronisation for @adobe/data ECS — server, client, and in-process loopback.", "type": "module", "sideEffects": false, diff --git a/packages/data-testing/package.json b/packages/data-testing/package.json index a115c03c..959b8cde 100644 --- a/packages/data-testing/package.json +++ b/packages/data-testing/package.json @@ -1,6 +1,6 @@ { "name": "@adobe/data-testing", - "version": "0.9.97", + "version": "0.9.98", "description": "Conformance-testing utilities (Match + Conformance runners) for @adobe/data ECS features", "type": "module", "sideEffects": false, diff --git a/packages/data/package.json b/packages/data/package.json index 6119da4b..3a16ece0 100644 --- a/packages/data/package.json +++ b/packages/data/package.json @@ -1,6 +1,6 @@ { "name": "@adobe/data", - "version": "0.9.97", + "version": "0.9.98", "description": "Adobe data oriented programming library", "type": "module", "sideEffects": false,