@adobe/data 0.9.37 → 0.9.40
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AGENTS.md +160 -0
- package/dist/ecs/database/observe-select-deep.d.ts +23 -0
- package/dist/ecs/database/observe-select-deep.js +15 -0
- package/dist/ecs/database/observe-select-deep.js.map +1 -0
- package/dist/ecs/database/observe-select-deep.type-test.js +111 -0
- package/dist/ecs/database/observe-select-deep.type-test.js.map +1 -0
- package/dist/ecs/persistence-service/create-storage-persistence-service.js +4 -3
- package/dist/ecs/persistence-service/create-storage-persistence-service.js.map +1 -1
- package/dist/ecs/persistence-service/create-storage-persistence-service.test.js +52 -0
- package/dist/ecs/persistence-service/create-storage-persistence-service.test.js.map +1 -0
- package/dist/service/agentic-service/action.d.ts +4 -8
- package/dist/service/agentic-service/create.d.ts +1 -5
- package/dist/service/agentic-service/create.js +1 -1
- package/dist/service/agentic-service/create.js.map +1 -1
- package/dist/service/agentic-service/create.test.js +1 -1
- package/dist/service/agentic-service/create.test.js.map +1 -1
- package/dist/service/agentic-service/create.type-test.js +0 -23
- package/dist/service/agentic-service/create.type-test.js.map +1 -1
- package/dist/service/agentic-service/link.d.ts +15 -0
- package/dist/service/agentic-service/link.js +3 -0
- package/dist/service/agentic-service/link.js.map +1 -0
- package/dist/service/async-data-service/is-valid.d.ts +3 -1
- package/dist/service/async-data-service/is-valid.type-test.d.ts +1 -0
- package/dist/service/async-data-service/is-valid.type-test.js +3 -0
- package/dist/service/async-data-service/is-valid.type-test.js.map +1 -0
- package/dist/service/dynamic-service/semantic-service.d.ts +19 -0
- package/dist/service/dynamic-service/semantic-service.js +2 -0
- package/dist/service/dynamic-service/semantic-service.js.map +1 -0
- package/dist/service/semantic-service/semantic-service.d.ts +19 -0
- package/dist/service/semantic-service/semantic-service.js +2 -0
- package/dist/service/semantic-service/semantic-service.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +3 -1
- package/references/data-lit/README.md +18 -0
- package/references/data-lit/package.json +35 -0
- package/references/data-lit/src/decorators/apply-decorator.ts +26 -0
- package/references/data-lit/src/decorators/apply-service-decorators.ts +15 -0
- package/references/data-lit/src/decorators/index.ts +4 -0
- package/references/data-lit/src/decorators/require-service.ts +20 -0
- package/references/data-lit/src/elements/application-element.ts +42 -0
- package/references/data-lit/src/elements/application-host.ts +43 -0
- package/references/data-lit/src/elements/database-element.ts +42 -0
- package/references/data-lit/src/elements/index.ts +5 -0
- package/references/data-lit/src/functions/index.ts +3 -0
- package/references/data-lit/src/functions/iterate-self-and-ancestors.ts +23 -0
- package/references/data-lit/src/hooks/attach-decorator.ts +32 -0
- package/references/data-lit/src/hooks/component/component.ts +12 -0
- package/references/data-lit/src/hooks/component/stack.ts +19 -0
- package/references/data-lit/src/hooks/index.ts +21 -0
- package/references/data-lit/src/hooks/use-connected.ts +41 -0
- package/references/data-lit/src/hooks/use-debounce.ts +26 -0
- package/references/data-lit/src/hooks/use-drag-observe.ts +59 -0
- package/references/data-lit/src/hooks/use-drag-transaction.ts +46 -0
- package/references/data-lit/src/hooks/use-draggable.ts +112 -0
- package/references/data-lit/src/hooks/use-effect.ts +19 -0
- package/references/data-lit/src/hooks/use-element.ts +83 -0
- package/references/data-lit/src/hooks/use-memo.ts +16 -0
- package/references/data-lit/src/hooks/use-observable-values.ts +10 -0
- package/references/data-lit/src/hooks/use-observable.ts +15 -0
- package/references/data-lit/src/hooks/use-ref.ts +8 -0
- package/references/data-lit/src/hooks/use-resize-observer.ts +31 -0
- package/references/data-lit/src/hooks/use-state.ts +19 -0
- package/references/data-lit/src/hooks/use-updated.ts +56 -0
- package/references/data-lit/src/hooks/use-window-event.ts +16 -0
- package/references/data-lit/src/hooks/with-hooks.ts +22 -0
- package/references/data-lit/src/index.ts +6 -0
- package/references/data-lit/tsconfig.json +11 -0
- package/references/data-lit-tictactoe/package.json +22 -0
- package/references/data-lit-tictactoe/src/elements/tictactoe-app/tictactoe-app.css.ts +11 -0
- package/references/data-lit-tictactoe/src/elements/tictactoe-app/tictactoe-app.ts +22 -0
- package/references/data-lit-tictactoe/src/elements/tictactoe-board/tictactoe-board-presentation.ts +13 -0
- package/references/data-lit-tictactoe/src/elements/tictactoe-board/tictactoe-board.css.ts +17 -0
- package/references/data-lit-tictactoe/src/elements/tictactoe-board/tictactoe-board.ts +18 -0
- package/references/data-lit-tictactoe/src/elements/tictactoe-cell/tictactoe-cell-presentation.ts +22 -0
- package/references/data-lit-tictactoe/src/elements/tictactoe-cell/tictactoe-cell.css.ts +31 -0
- package/references/data-lit-tictactoe/src/elements/tictactoe-cell/tictactoe-cell.ts +41 -0
- package/references/data-lit-tictactoe/src/elements/tictactoe-hud/tictactoe-hud-presentation.ts +16 -0
- package/references/data-lit-tictactoe/src/elements/tictactoe-hud/tictactoe-hud.css.ts +18 -0
- package/references/data-lit-tictactoe/src/elements/tictactoe-hud/tictactoe-hud.ts +44 -0
- package/references/data-lit-tictactoe/src/main.ts +9 -0
- package/references/data-lit-tictactoe/src/state/agent-plugin.ts +117 -0
- package/references/data-lit-tictactoe/src/state/tictactoe-plugin.ts +56 -0
- package/references/data-lit-tictactoe/src/tictactoe-element.ts +10 -0
- package/references/data-lit-tictactoe/src/types/board-cell.ts +5 -0
- package/references/data-lit-tictactoe/src/types/board-state/board-state.ts +7 -0
- package/references/data-lit-tictactoe/src/types/board-state/create-initial-board.ts +5 -0
- package/references/data-lit-tictactoe/src/types/board-state/current-player.ts +13 -0
- package/references/data-lit-tictactoe/src/types/board-state/derive-status.ts +12 -0
- package/references/data-lit-tictactoe/src/types/board-state/get-cell.ts +7 -0
- package/references/data-lit-tictactoe/src/types/board-state/get-move-count.ts +6 -0
- package/references/data-lit-tictactoe/src/types/board-state/get-winner.ts +14 -0
- package/references/data-lit-tictactoe/src/types/board-state/get-winning-line.ts +25 -0
- package/references/data-lit-tictactoe/src/types/board-state/is-board-full.ts +5 -0
- package/references/data-lit-tictactoe/src/types/board-state/is-cell-playable.ts +13 -0
- package/references/data-lit-tictactoe/src/types/board-state/is-cell-winning.ts +9 -0
- package/references/data-lit-tictactoe/src/types/board-state/is-game-over.ts +8 -0
- package/references/data-lit-tictactoe/src/types/board-state/public.ts +15 -0
- package/references/data-lit-tictactoe/src/types/board-state/schema.ts +10 -0
- package/references/data-lit-tictactoe/src/types/board-state/set-board-cell.ts +13 -0
- package/references/data-lit-tictactoe/src/types/game-status.ts +3 -0
- package/references/data-lit-tictactoe/src/types/move-reject-reason.ts +7 -0
- package/references/data-lit-tictactoe/src/types/play-move-args/can-play-move.ts +33 -0
- package/references/data-lit-tictactoe/src/types/play-move-args/play-move-args.ts +4 -0
- package/references/data-lit-tictactoe/src/types/play-move-args/public.ts +3 -0
- package/references/data-lit-tictactoe/src/types/player-mark/player-mark.ts +7 -0
- package/references/data-lit-tictactoe/src/types/player-mark/public.ts +3 -0
- package/references/data-lit-tictactoe/src/types/player-mark/schema.ts +9 -0
- package/references/data-lit-tictactoe/src/types/winning-line.ts +3 -0
- package/references/data-lit-tictactoe/tsconfig.json +16 -0
- package/references/data-lit-todo/package.json +30 -0
- package/references/data-lit-todo/src/elements/todo-list/todo-list-presentation.ts +22 -0
- package/references/data-lit-todo/src/elements/todo-list/todo-list.css.ts +12 -0
- package/references/data-lit-todo/src/elements/todo-list/todo-list.ts +45 -0
- package/references/data-lit-todo/src/elements/todo-row/index.ts +2 -0
- package/references/data-lit-todo/src/elements/todo-row/todo-row-presentation.ts +68 -0
- package/references/data-lit-todo/src/elements/todo-row/todo-row.css.ts +49 -0
- package/references/data-lit-todo/src/elements/todo-row/todo-row.ts +46 -0
- package/references/data-lit-todo/src/elements/todo-toolbar/index.ts +2 -0
- package/references/data-lit-todo/src/elements/todo-toolbar/todo-toolbar-presentation.ts +55 -0
- package/references/data-lit-todo/src/elements/todo-toolbar/todo-toolbar.css.ts +34 -0
- package/references/data-lit-todo/src/elements/todo-toolbar/todo-toolbar.ts +62 -0
- package/references/data-lit-todo/src/elements/todo-undo-redo/index.ts +3 -0
- package/references/data-lit-todo/src/elements/todo-undo-redo/todo-undo-redo-presentation.ts +41 -0
- package/references/data-lit-todo/src/elements/todo-undo-redo/todo-undo-redo.css.ts +12 -0
- package/references/data-lit-todo/src/elements/todo-undo-redo/todo-undo-redo.ts +37 -0
- package/references/data-lit-todo/src/index.ts +9 -0
- package/references/data-lit-todo/src/main.ts +29 -0
- package/references/data-lit-todo/src/sample-types.ts +14 -0
- package/references/data-lit-todo/src/services/dependent-state-service/create-dependent-state-service.ts +8 -0
- package/references/data-lit-todo/src/services/dependent-state-service/dependent-state/all-todos.ts +5 -0
- package/references/data-lit-todo/src/services/dependent-state-service/dependent-state/complete-todos.ts +5 -0
- package/references/data-lit-todo/src/services/dependent-state-service/dependent-state/incomplete-todos.ts +5 -0
- package/references/data-lit-todo/src/services/dependent-state-service/dependent-state/index.ts +4 -0
- package/references/data-lit-todo/src/services/dependent-state-service/dependent-state-service.ts +4 -0
- package/references/data-lit-todo/src/services/main-service/create-main-service.ts +53 -0
- package/references/data-lit-todo/src/services/main-service/todo-main-service.ts +20 -0
- package/references/data-lit-todo/src/services/state-service/create-todo-database.ts +16 -0
- package/references/data-lit-todo/src/services/state-service/create-todo-store.ts +28 -0
- package/references/data-lit-todo/src/services/state-service/todo-state-service.ts +9 -0
- package/references/data-lit-todo/src/services/state-service/transactions/create-bulk-todos.ts +12 -0
- package/references/data-lit-todo/src/services/state-service/transactions/create-todo.test.ts +17 -0
- package/references/data-lit-todo/src/services/state-service/transactions/create-todo.ts +15 -0
- package/references/data-lit-todo/src/services/state-service/transactions/delete-all-todos.ts +18 -0
- package/references/data-lit-todo/src/services/state-service/transactions/delete-todo.test.ts +25 -0
- package/references/data-lit-todo/src/services/state-service/transactions/delete-todo.ts +11 -0
- package/references/data-lit-todo/src/services/state-service/transactions/drag-todo.ts +19 -0
- package/references/data-lit-todo/src/services/state-service/transactions/index.ts +8 -0
- package/references/data-lit-todo/src/services/state-service/transactions/reorder-todos.ts +13 -0
- package/references/data-lit-todo/src/services/state-service/transactions/toggle-complete.test.ts +78 -0
- package/references/data-lit-todo/src/services/state-service/transactions/toggle-complete.ts +15 -0
- package/references/data-lit-todo/src/todo-element.ts +6 -0
- package/references/data-lit-todo/src/todo-host.ts +29 -0
- package/references/data-lit-todo/src/todo-main-element.ts +40 -0
- package/references/data-lit-todo/src/todo-sample.ts +21 -0
- package/references/data-lit-todo/tsconfig.json +10 -0
- package/references/data-react/README.md +47 -0
- package/references/data-react/package.json +36 -0
- package/references/data-react/src/context/database-context.tsx +41 -0
- package/references/data-react/src/hooks/index.ts +5 -0
- package/references/data-react/src/hooks/use-database.ts +13 -0
- package/references/data-react/src/hooks/use-observable-values.ts +15 -0
- package/references/data-react/src/hooks/use-observable.ts +14 -0
- package/references/data-react/src/index.ts +7 -0
- package/references/data-react/tsconfig.json +12 -0
- package/references/data-react-hello/package.json +25 -0
- package/references/data-react-hello/src/app.tsx +13 -0
- package/references/data-react-hello/src/components/counter/counter-presentation.tsx +13 -0
- package/references/data-react-hello/src/components/counter/counter.tsx +26 -0
- package/references/data-react-hello/src/main.tsx +9 -0
- package/references/data-react-hello/src/state/counter-plugin.ts +14 -0
- package/references/data-react-hello/src/state/use-counter-database.ts +6 -0
- package/references/data-react-hello/tsconfig.json +16 -0
- package/references/data-react-pixie/package.json +28 -0
- package/references/data-react-pixie/src/app.tsx +21 -0
- package/references/data-react-pixie/src/components/filter-selector/filter-selector-presentation.tsx +40 -0
- package/references/data-react-pixie/src/components/filter-selector/filter-selector.tsx +22 -0
- package/references/data-react-pixie/src/components/pixie-scene/pixie-filters.ts +24 -0
- package/references/data-react-pixie/src/components/pixie-scene/pixie-scene-presentation.tsx +18 -0
- package/references/data-react-pixie/src/components/pixie-scene/pixie-scene.tsx +26 -0
- package/references/data-react-pixie/src/components/pixie-scene/pixie-tick.tsx +12 -0
- package/references/data-react-pixie/src/components/sprite/sprite-presentation.tsx +39 -0
- package/references/data-react-pixie/src/components/sprite/sprite.tsx +37 -0
- package/references/data-react-pixie/src/components/sprite/use-sprite-texture.ts +24 -0
- package/references/data-react-pixie/src/main.tsx +14 -0
- package/references/data-react-pixie/src/state/pixie-plugin.ts +97 -0
- package/references/data-react-pixie/src/state/use-pixie-database.ts +6 -0
- package/references/data-react-pixie/src/types/filter-type.ts +3 -0
- package/references/data-react-pixie/src/types/sprite-type/bunny.png +0 -0
- package/references/data-react-pixie/src/types/sprite-type/fox.png +0 -0
- package/references/data-react-pixie/src/types/sprite-type/image.ts +14 -0
- package/references/data-react-pixie/src/types/sprite-type/public.ts +4 -0
- package/references/data-react-pixie/src/types/sprite-type/schema.ts +5 -0
- package/references/data-react-pixie/src/types/sprite-type/sprite-type.ts +7 -0
- package/references/data-react-pixie/src/vite-env.d.ts +6 -0
- package/references/data-react-pixie/tsconfig.json +16 -0
- package/dist/LICENSE +0 -21
- package/dist/README.md +0 -296
- package/dist/package.json +0 -183
- package/dist/service/agentic-service/create-from-config.d.ts +0 -45
- package/dist/service/agentic-service/create-from-config.js +0 -85
- package/dist/service/agentic-service/create-from-config.js.map +0 -1
- package/dist/service/agentic-service/create.interface-first-spike.type-test.js +0 -119
- package/dist/service/agentic-service/create.interface-first-spike.type-test.js.map +0 -1
- package/dist/service/agentic-service/index.d.ts +0 -1
- package/dist/service/agentic-service/index.js +0 -3
- package/dist/service/agentic-service/index.js.map +0 -1
- package/dist/service/dynamic-service/create.interface-first-spike.type-test.js +0 -118
- package/dist/service/dynamic-service/create.interface-first-spike.type-test.js.map +0 -1
- /package/dist/{service/agentic-service/create.interface-first-spike.type-test.d.ts → ecs/database/observe-select-deep.type-test.d.ts} +0 -0
- /package/dist/{service/dynamic-service/create.interface-first-spike.type-test.d.ts → ecs/persistence-service/create-storage-persistence-service.test.d.ts} +0 -0
package/AGENTS.md
ADDED
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
# @adobe/data — Agent guide
|
|
2
|
+
|
|
3
|
+
Adobe data-oriented programming library. Use this file when editing code in this package or when consuming `@adobe/data` in an application.
|
|
4
|
+
|
|
5
|
+
## References
|
|
6
|
+
|
|
7
|
+
Source for peer packages and sample apps is included under `references/` (when present). Use these as living reference code:
|
|
8
|
+
|
|
9
|
+
- **references/data-lit** — Support functions for Lit based projects.
|
|
10
|
+
- **references/data-lit-tictactoe** — **Exemplary types and state.** Tic-Tac-Toe sample with Lit UI. The `types/` (BoardState namespace, PlayMoveArgs, etc.) and `state/` (tictactoe-plugin, agent-plugin) are a very good reference for proper type namespaces, ECS resources, computed observables, and transactions — even for consumers not using Lit.
|
|
11
|
+
- **references/data-react** — Support functions for React based projects.
|
|
12
|
+
- **references/data-react-hello** — Very simple react hello world sample.
|
|
13
|
+
- **references/data-react-pixie** — Simple sample for react pixie based 2d games.
|
|
14
|
+
- **references/data-lit-todo** — Sample for older style applications that use createStore and ApplicationElement. Do not reference unless your legacy application uses those.
|
|
15
|
+
|
|
16
|
+
## Stack
|
|
17
|
+
|
|
18
|
+
- **Package manager:** pnpm
|
|
19
|
+
- **Build:** TypeScript (`tsc -b`), AssemblyScript for WASM
|
|
20
|
+
- **Test:** Vitest (browser tests use Playwright)
|
|
21
|
+
- **Lint:** ESLint
|
|
22
|
+
|
|
23
|
+
## Commands (from package root `packages/data`)
|
|
24
|
+
|
|
25
|
+
| Task | Command |
|
|
26
|
+
|------|---------|
|
|
27
|
+
| Build | `pnpm build` |
|
|
28
|
+
| Test (headless, exit when done) | `pnpm test [filename] -- --run` |
|
|
29
|
+
| Test (watch) | `pnpm dev:test` |
|
|
30
|
+
| Lint | `pnpm lint` |
|
|
31
|
+
| Lint fix | `pnpm lint-fix` |
|
|
32
|
+
|
|
33
|
+
Run tests for a single file: `pnpm test create-storage-persistence-service.test.ts -- --run`
|
|
34
|
+
|
|
35
|
+
## Paradigm and code style
|
|
36
|
+
|
|
37
|
+
- **Data-oriented, functional.** Prefer composition over inheritance. No classes, enums, or inheritance.
|
|
38
|
+
- **Immutable data** by default; mutation allowed only where needed for performance (e.g. ECS internals).
|
|
39
|
+
- **TypeScript:** modern TS, semicolons, `const`/`let`, `??` for nullish coalescing (not `||`).
|
|
40
|
+
- **Separation of concerns:** pure functions and clear module boundaries.
|
|
41
|
+
|
|
42
|
+
## Package layout and imports
|
|
43
|
+
|
|
44
|
+
Consumers use **subpath exports**. Do not rely on deep paths; use the public entry points:
|
|
45
|
+
|
|
46
|
+
| Import | Purpose |
|
|
47
|
+
|--------|---------|
|
|
48
|
+
| `@adobe/data` | Core: Data, equals, normalize, mutableClone |
|
|
49
|
+
| `@adobe/data/observe` | Observables (fromConstant, fromPromise, withMap, withFilter, etc.) |
|
|
50
|
+
| `@adobe/data/ecs` | ECS: Store, Database, Plugin, createStore, createDatabase |
|
|
51
|
+
| `@adobe/data/cache` | Cache, memoize, hashing, BlobStore |
|
|
52
|
+
| `@adobe/data/schema` | JSON Schema helpers, validation |
|
|
53
|
+
| `@adobe/data/service` | AsyncDataService, service patterns |
|
|
54
|
+
| `@adobe/data/blob` | Blob / BlobRef |
|
|
55
|
+
| `@adobe/data/table` | Table utilities |
|
|
56
|
+
| `@adobe/data/math` | Vec2, Vec3, Vec4, Mat4, etc. |
|
|
57
|
+
| `@adobe/data/types` | Shared types |
|
|
58
|
+
| `@adobe/data/functions` | Serialization and pure helpers |
|
|
59
|
+
|
|
60
|
+
Source lives under `src/` with one main `index.ts` per area; built output is in `dist/`.
|
|
61
|
+
|
|
62
|
+
## ECS (Entity Component System)
|
|
63
|
+
|
|
64
|
+
- **Store:** low-level, synchronous, direct mutations. No transactions, no observability.
|
|
65
|
+
- **Database:** wraps a Store; **transaction-based** and **observable**. All mutations go through transaction functions; undo/redo and observers are supported.
|
|
66
|
+
- **Plugins:** use `Database.Plugin.create()` from `@adobe/data/ecs`. Property order is **enforced at runtime**; wrong order throws.
|
|
67
|
+
|
|
68
|
+
### Plugin property order (all optional)
|
|
69
|
+
|
|
70
|
+
`extends` → `services` → `components` → `resources` → `archetypes` → `computed` → `transactions` → `actions` → `systems`
|
|
71
|
+
|
|
72
|
+
| Property | Purpose |
|
|
73
|
+
|----------|---------|
|
|
74
|
+
| `extends` | Base plugin to extend (single parent only) |
|
|
75
|
+
| `services` | `(db) => ServiceInstance` — singleton service factories; extended plugin services initialize first |
|
|
76
|
+
| `components` | Schema object for ECS component data. Use `transient: true` for non-persistable values (DOM refs, HTML elements). |
|
|
77
|
+
| `resources` | `{ default: value as Type }` — global state. Use `as Type` for compile-time type; use `null as unknown as Type` for resources initialized later in a system. |
|
|
78
|
+
| `archetypes` | `['comp1', 'comp2']` — standard ECS archetypes for querying and inserting related components |
|
|
79
|
+
| `computed` | `(db) => Observe<T>` — factory returning observable; receives full db |
|
|
80
|
+
| `transactions` | `(store, payload) => void` — synchronous, deterministic atomic mutations |
|
|
81
|
+
| `actions` | `(db, payload) => T` — general functions; may be async |
|
|
82
|
+
| `systems` | `{ create: (db) => fn | void }` — per-frame (60fps) or init-only; optional `schedule: { before, after, during }` for ordering |
|
|
83
|
+
|
|
84
|
+
### Composition
|
|
85
|
+
|
|
86
|
+
- **Single extension:** one plugin via `extends`.
|
|
87
|
+
- **Multiple peers:** use `Database.Plugin.combine(aPlugin, bPlugin, ...)` — `extends` accepts only one plugin.
|
|
88
|
+
- **Type utilities:** `Database.Plugin.ToDatabase<typeof myPlugin>`, `Database.Plugin.ToStore<typeof myPlugin>`.
|
|
89
|
+
|
|
90
|
+
### Transactions and Store API
|
|
91
|
+
|
|
92
|
+
Transactions receive `(store, payload)`. Mutate via:
|
|
93
|
+
|
|
94
|
+
- `store.update(entity, data)` — update entity components
|
|
95
|
+
- `store.resources.x = value` — mutate resources
|
|
96
|
+
- `store.get(entity, 'component')` — read component value
|
|
97
|
+
- `store.read(entity)` — read all entity component values
|
|
98
|
+
- `store.read(entity, archetype)` — read entity components in archetype
|
|
99
|
+
- `store.select(archetype.components, { where })` — query entities
|
|
100
|
+
|
|
101
|
+
### Actions
|
|
102
|
+
|
|
103
|
+
- May be async. Call **at most one transaction per action** to keep undo/redo correct.
|
|
104
|
+
- UI must **never consume return values** — call for side effects only. Data down via Observe, actions up as void.
|
|
105
|
+
|
|
106
|
+
### Plugin naming
|
|
107
|
+
|
|
108
|
+
- **File:** `*-plugin.ts` (kebab-case), e.g. `layout-plugin.ts`
|
|
109
|
+
- **Export:** `*Plugin` (camelCase), e.g. `layoutPlugin`
|
|
110
|
+
- **System:** `plugin_name__system` (snake_case, double underscore)
|
|
111
|
+
- **Init system:** `plugin_name_initialize`
|
|
112
|
+
|
|
113
|
+
## Observables
|
|
114
|
+
|
|
115
|
+
- `Observable<T>` = subscription function `(callback: (value: T) => void) => Unobserve`.
|
|
116
|
+
- May call back synchronously (once) and/or asynchronously. Use `fromConstant`, `fromPromise`, `fromObservableProperties`; modify with `withMap`, `withFilter`, `withDefault`, `withOptional`, `withDeduplicate`.
|
|
117
|
+
|
|
118
|
+
## Testing
|
|
119
|
+
|
|
120
|
+
- Unit tests live **next to** the code: `<my-file>.test.ts` next to `my-file.ts`.
|
|
121
|
+
- Use Vitest: `describe` for the unit under test, `test`/`it` for the case. Prefer `assert({ given, should, actual, expected })`-style where the project uses it.
|
|
122
|
+
- Before changing behavior: confirm whether the test or the implementation is wrong and state which one you are fixing.
|
|
123
|
+
- Focus on behavior and edge cases; avoid testing types/shapes that TypeScript already enforces.
|
|
124
|
+
|
|
125
|
+
## Data and schemas
|
|
126
|
+
|
|
127
|
+
- **Data:** immutable, JSON-serializable values.
|
|
128
|
+
- **Schemas:** JSON Schema with `as const` so `FromSchema` (or equivalent) can derive TypeScript types. Use schema namespaces for component definitions in ECS if we the types are numeric and we want them stored in linear memory for performance. See Vec2, Vec3 etc. Follow those patterns for numeric values. Do not use an explicit schema for resources, just use `{ default: value as Type }` since there is only one value we don't need linear memory layout.
|
|
129
|
+
|
|
130
|
+
### Data modeling example
|
|
131
|
+
|
|
132
|
+
```ts
|
|
133
|
+
import { Database } from '@adobe/data/ecs';
|
|
134
|
+
import { F32, Vec3, Vec4 } from '@adobe/data/math';
|
|
135
|
+
|
|
136
|
+
const particleDataPlugin = Database.Plugin.create({
|
|
137
|
+
components: {
|
|
138
|
+
position: Vec3.schema,
|
|
139
|
+
velocity: Vec3.schema,
|
|
140
|
+
color: Vec4.schema,
|
|
141
|
+
mass: F32.schema,
|
|
142
|
+
},
|
|
143
|
+
resources: {
|
|
144
|
+
gravity: { default: 9.8 as number },
|
|
145
|
+
},
|
|
146
|
+
archetypes: {
|
|
147
|
+
Particle: ['position', 'velocity', 'color', 'mass'],
|
|
148
|
+
},
|
|
149
|
+
});
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
- **Components:** per-entity data. Use numeric schemas from `@adobe/data/math` or type namespace schemas for custom shapes.
|
|
153
|
+
- **Resources:** global state. Use only `{ default: value as Type }`.
|
|
154
|
+
- **Archetypes:** one per entity kind. List all components that kind requires.
|
|
155
|
+
|
|
156
|
+
## Gotchas
|
|
157
|
+
|
|
158
|
+
- **Breaking changes:** Before 1.0.0, minor version bumps may include breaking API changes.
|
|
159
|
+
- **ECS plugin order:** Reordering plugin properties (e.g. putting `transactions` before `components`) will throw at runtime.
|
|
160
|
+
- **BlobStore / BlobRef:** Prefer BlobRef for persistence and cache keys; resolve to Blob when needed.
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { Observe } from "../../observe/index.js";
|
|
2
|
+
import { StringKeyof } from "../../types/types.js";
|
|
3
|
+
import { RequiredComponents } from "../required-components.js";
|
|
4
|
+
import { Components } from "../store/components.js";
|
|
5
|
+
import { EntitySelectOptions } from "../store/entity-select-options.js";
|
|
6
|
+
import { Database } from "./database.js";
|
|
7
|
+
/**
|
|
8
|
+
* Entity data shape returned by observeSelectDeep.
|
|
9
|
+
* Includes required components (id) and each queried component with its correct type.
|
|
10
|
+
*/
|
|
11
|
+
export type SelectDeepEntityData<C, Include extends StringKeyof<C>> = RequiredComponents & {
|
|
12
|
+
readonly [K in Include]: C[K];
|
|
13
|
+
};
|
|
14
|
+
/**
|
|
15
|
+
* Deeply observe entity data for an archetype query.
|
|
16
|
+
*
|
|
17
|
+
* Unlike `db.observe.select` (which returns entity IDs and only triggers on
|
|
18
|
+
* set membership changes), `observeSelectDeep` returns full typed entity data
|
|
19
|
+
* and re-emits whenever ANY included component value changes on any matched entity.
|
|
20
|
+
*
|
|
21
|
+
* This IS NOT an efficient pattern, so use sparingly and with small number of entities.
|
|
22
|
+
*/
|
|
23
|
+
export declare const observeSelectDeep: <C extends Components, Include extends StringKeyof<C>>(db: Database<C, any, any, any, any, any, any, any>, include: readonly Include[], options?: EntitySelectOptions<C, Pick<C & RequiredComponents, Include>>) => Observe<readonly SelectDeepEntityData<C, Include>[]>;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
// © 2026 Adobe. MIT License. See /LICENSE for details.
|
|
2
|
+
/**
|
|
3
|
+
* Deeply observe entity data for an archetype query.
|
|
4
|
+
*
|
|
5
|
+
* Unlike `db.observe.select` (which returns entity IDs and only triggers on
|
|
6
|
+
* set membership changes), `observeSelectDeep` returns full typed entity data
|
|
7
|
+
* and re-emits whenever ANY included component value changes on any matched entity.
|
|
8
|
+
*
|
|
9
|
+
* This IS NOT an efficient pattern, so use sparingly and with small number of entities.
|
|
10
|
+
*/
|
|
11
|
+
export const observeSelectDeep = (db, include, options) => {
|
|
12
|
+
// TODO: implementation — returns a stub for now so the type signature compiles.
|
|
13
|
+
return (_notify) => () => { };
|
|
14
|
+
};
|
|
15
|
+
//# sourceMappingURL=observe-select-deep.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"observe-select-deep.js","sourceRoot":"","sources":["../../../src/ecs/database/observe-select-deep.ts"],"names":[],"mappings":"AAAA,uDAAuD;AAkBvD;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAI/B,EAAkD,EAClD,OAA2B,EAC3B,OAAuE,EACjB,EAAE;IACxD,gFAAgF;IAChF,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;AAChC,CAAC,CAAC"}
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
// © 2026 Adobe. MIT License. See /LICENSE for details.
|
|
2
|
+
import { Database } from "./database.js";
|
|
3
|
+
import { observeSelectDeep } from "./observe-select-deep.js";
|
|
4
|
+
/**
|
|
5
|
+
* Type-only tests for observeSelectDeep type inference.
|
|
6
|
+
*
|
|
7
|
+
* These tests verify that:
|
|
8
|
+
* 1. observeSelectDeep infers entity data types from included components
|
|
9
|
+
* 2. Only queried components appear in the result type
|
|
10
|
+
* 3. RequiredComponents (id) is always included
|
|
11
|
+
* 4. The helper type SelectDeepEntityData resolves correctly
|
|
12
|
+
*
|
|
13
|
+
* Note: These are compile-time type checks only — they don't need to execute.
|
|
14
|
+
*/
|
|
15
|
+
// ============================================================================
|
|
16
|
+
// SelectDeepEntityData HELPER TYPE
|
|
17
|
+
// ============================================================================
|
|
18
|
+
function testSelectDeepEntityDataType() {
|
|
19
|
+
}
|
|
20
|
+
// ============================================================================
|
|
21
|
+
// BASIC INFERENCE FROM DATABASE
|
|
22
|
+
// ============================================================================
|
|
23
|
+
function testObserveSelectDeepBasicInference() {
|
|
24
|
+
const plugin = Database.Plugin.create({
|
|
25
|
+
components: {
|
|
26
|
+
position: { type: "number" },
|
|
27
|
+
velocity: { type: "number" },
|
|
28
|
+
name: { type: "string" },
|
|
29
|
+
},
|
|
30
|
+
archetypes: {
|
|
31
|
+
Moving: ["position", "velocity"],
|
|
32
|
+
},
|
|
33
|
+
});
|
|
34
|
+
const db = Database.create(plugin);
|
|
35
|
+
// Querying position and velocity should infer correct entity data
|
|
36
|
+
const observed = observeSelectDeep(db, ["position", "velocity"]);
|
|
37
|
+
}
|
|
38
|
+
// ============================================================================
|
|
39
|
+
// SINGLE COMPONENT QUERY
|
|
40
|
+
// ============================================================================
|
|
41
|
+
function testObserveSelectDeepSingleComponent() {
|
|
42
|
+
const plugin = Database.Plugin.create({
|
|
43
|
+
components: {
|
|
44
|
+
position: { type: "number" },
|
|
45
|
+
name: { type: "string" },
|
|
46
|
+
},
|
|
47
|
+
});
|
|
48
|
+
const db = Database.create(plugin);
|
|
49
|
+
// Querying only name should produce id + name
|
|
50
|
+
const observed = observeSelectDeep(db, ["name"]);
|
|
51
|
+
}
|
|
52
|
+
// ============================================================================
|
|
53
|
+
// INVALID COMPONENT NAMES REJECTED
|
|
54
|
+
// ============================================================================
|
|
55
|
+
function testObserveSelectDeepRejectsInvalidComponents() {
|
|
56
|
+
const plugin = Database.Plugin.create({
|
|
57
|
+
components: {
|
|
58
|
+
position: { type: "number" },
|
|
59
|
+
},
|
|
60
|
+
});
|
|
61
|
+
const db = Database.create(plugin);
|
|
62
|
+
// @ts-expect-error - "nonexistent" is not a valid component name
|
|
63
|
+
observeSelectDeep(db, ["nonexistent"]);
|
|
64
|
+
}
|
|
65
|
+
// ============================================================================
|
|
66
|
+
// WITH OPTIONS (where/order)
|
|
67
|
+
// ============================================================================
|
|
68
|
+
function testObserveSelectDeepWithOptions() {
|
|
69
|
+
const plugin = Database.Plugin.create({
|
|
70
|
+
components: {
|
|
71
|
+
position: { type: "number" },
|
|
72
|
+
velocity: { type: "number" },
|
|
73
|
+
name: { type: "string" },
|
|
74
|
+
},
|
|
75
|
+
archetypes: {
|
|
76
|
+
Moving: ["position", "velocity"],
|
|
77
|
+
},
|
|
78
|
+
});
|
|
79
|
+
const db = Database.create(plugin);
|
|
80
|
+
// Should accept where/order options scoped to included components
|
|
81
|
+
const observed = observeSelectDeep(db, ["position", "velocity"], {
|
|
82
|
+
where: { position: { ">": 0 } },
|
|
83
|
+
order: { velocity: true },
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
// ============================================================================
|
|
87
|
+
// EXTENDED PLUGIN INFERENCE
|
|
88
|
+
// ============================================================================
|
|
89
|
+
function testObserveSelectDeepWithExtendedPlugin() {
|
|
90
|
+
const basePlugin = Database.Plugin.create({
|
|
91
|
+
components: {
|
|
92
|
+
position: { type: "number" },
|
|
93
|
+
},
|
|
94
|
+
archetypes: {
|
|
95
|
+
Positioned: ["position"],
|
|
96
|
+
},
|
|
97
|
+
});
|
|
98
|
+
const extendedPlugin = Database.Plugin.create({
|
|
99
|
+
extends: basePlugin,
|
|
100
|
+
components: {
|
|
101
|
+
velocity: { type: "number" },
|
|
102
|
+
},
|
|
103
|
+
archetypes: {
|
|
104
|
+
Moving: ["position", "velocity"],
|
|
105
|
+
},
|
|
106
|
+
});
|
|
107
|
+
const db = Database.create(extendedPlugin);
|
|
108
|
+
// Should work with components from both base and extended plugins
|
|
109
|
+
const observed = observeSelectDeep(db, ["position", "velocity"]);
|
|
110
|
+
}
|
|
111
|
+
//# sourceMappingURL=observe-select-deep.type-test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"observe-select-deep.type-test.js","sourceRoot":"","sources":["../../../src/ecs/database/observe-select-deep.type-test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
// © 2026 Adobe. MIT License. See /LICENSE for details.
|
|
2
2
|
import { deserializeFromStorage, serializeToStorage } from "../../functions/serialization/serialize-to-storage.js";
|
|
3
|
+
import { debounce } from "../../internal/function/debounce.js";
|
|
3
4
|
export const createStoragePersistenceService = async (options) => {
|
|
4
5
|
const { database, defaultFileId, autoSaveOnChange: autoSave, autoLoadOnStart, storage = sessionStorage } = options;
|
|
5
6
|
const service = {
|
|
@@ -18,10 +19,10 @@ export const createStoragePersistenceService = async (options) => {
|
|
|
18
19
|
await service.load();
|
|
19
20
|
}
|
|
20
21
|
if (autoSave) {
|
|
22
|
+
const debouncedSave = debounce(() => service.save(), 300);
|
|
21
23
|
database.observe.transactions(t => {
|
|
22
|
-
if (!t.transient)
|
|
23
|
-
|
|
24
|
-
}
|
|
24
|
+
if (!t.transient)
|
|
25
|
+
debouncedSave();
|
|
25
26
|
});
|
|
26
27
|
}
|
|
27
28
|
return service;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create-storage-persistence-service.js","sourceRoot":"","sources":["../../../src/ecs/persistence-service/create-storage-persistence-service.ts"],"names":[],"mappings":"AAAA,uDAAuD;
|
|
1
|
+
{"version":3,"file":"create-storage-persistence-service.js","sourceRoot":"","sources":["../../../src/ecs/persistence-service/create-storage-persistence-service.ts"],"names":[],"mappings":"AAAA,uDAAuD;AAEvD,OAAO,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,uDAAuD,CAAC;AACnH,OAAO,EAAE,QAAQ,EAAE,MAAM,qCAAqC,CAAC;AAI/D,MAAM,CAAC,MAAM,+BAA+B,GAAG,KAAK,EAAE,OAMrD,EAA+B,EAAE;IAC9B,MAAM,EAAE,QAAQ,EAAE,aAAa,EAAE,gBAAgB,EAAE,QAAQ,EAAE,eAAe,EAAE,OAAO,GAAG,cAAc,EAAE,GAAG,OAAO,CAAC;IACnH,MAAM,OAAO,GAAuB;QAChC,WAAW,EAAE,2BAA2B;QACxC,IAAI,EAAE,KAAK,EAAE,MAAM,GAAG,aAAa,EAAE,EAAE;YACnC,MAAM,kBAAkB,CAAC,QAAQ,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QACjE,CAAC;QACD,IAAI,EAAE,KAAK,EAAE,MAAM,GAAG,aAAa,EAAE,EAAE;YACnC,MAAM,IAAI,GAAG,MAAM,sBAAsB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YAC3D,IAAI,IAAI,EAAE,CAAC;gBACP,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC5B,CAAC;QACL,CAAC;KACJ,CAAA;IACD,IAAI,eAAe,EAAE,CAAC;QAClB,MAAM,OAAO,CAAC,IAAI,EAAE,CAAC;IACzB,CAAC;IACD,IAAI,QAAQ,EAAE,CAAC;QACX,MAAM,aAAa,GAAG,QAAQ,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,GAAG,CAAC,CAAC;QAC1D,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE;YAC9B,IAAI,CAAC,CAAC,CAAC,SAAS;gBAAE,aAAa,EAAE,CAAC;QACtC,CAAC,CAAC,CAAC;IACP,CAAC;IACD,OAAO,OAAO,CAAC;AACnB,CAAC,CAAC"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
// © 2026 Adobe. MIT License. See /LICENSE for details.
|
|
2
|
+
import { describe, it, expect, vi, beforeEach, afterEach } from "vitest";
|
|
3
|
+
import { createStoragePersistenceService } from "./create-storage-persistence-service.js";
|
|
4
|
+
import { Database } from "../index.js";
|
|
5
|
+
function createMinimalDatabase() {
|
|
6
|
+
return Database.create(Database.Plugin.create({
|
|
7
|
+
components: {
|
|
8
|
+
n: { type: "number" },
|
|
9
|
+
},
|
|
10
|
+
archetypes: { N: ["n"] },
|
|
11
|
+
transactions: {
|
|
12
|
+
tick(t, _args) {
|
|
13
|
+
t.archetypes.N.insert({ n: 0 });
|
|
14
|
+
},
|
|
15
|
+
},
|
|
16
|
+
}));
|
|
17
|
+
}
|
|
18
|
+
describe("createStoragePersistenceService", () => {
|
|
19
|
+
describe("autoSaveOnChange with rapid transactions", () => {
|
|
20
|
+
beforeEach(() => {
|
|
21
|
+
vi.useFakeTimers();
|
|
22
|
+
});
|
|
23
|
+
afterEach(() => {
|
|
24
|
+
vi.useRealTimers();
|
|
25
|
+
});
|
|
26
|
+
it("given rapid non-transient transactions, invokes save once after debounce window (debounced)", async () => {
|
|
27
|
+
let saveInvokeCount = 0;
|
|
28
|
+
const database = createMinimalDatabase();
|
|
29
|
+
const service = await createStoragePersistenceService({
|
|
30
|
+
database,
|
|
31
|
+
defaultFileId: "test-id",
|
|
32
|
+
autoSaveOnChange: true,
|
|
33
|
+
autoLoadOnStart: false,
|
|
34
|
+
});
|
|
35
|
+
const originalSave = service.save;
|
|
36
|
+
Object.assign(service, {
|
|
37
|
+
save: async (fileId) => {
|
|
38
|
+
saveInvokeCount++;
|
|
39
|
+
return originalSave.call(service, fileId);
|
|
40
|
+
},
|
|
41
|
+
});
|
|
42
|
+
const transactionCount = 5;
|
|
43
|
+
for (let i = 0; i < transactionCount; i++) {
|
|
44
|
+
database.transactions.tick({});
|
|
45
|
+
}
|
|
46
|
+
vi.advanceTimersByTime(350);
|
|
47
|
+
await vi.runAllTimersAsync();
|
|
48
|
+
expect(saveInvokeCount).toBe(1);
|
|
49
|
+
});
|
|
50
|
+
});
|
|
51
|
+
});
|
|
52
|
+
//# sourceMappingURL=create-storage-persistence-service.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"create-storage-persistence-service.test.js","sourceRoot":"","sources":["../../../src/ecs/persistence-service/create-storage-persistence-service.test.ts"],"names":[],"mappings":"AAAA,uDAAuD;AAEvD,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AACzE,OAAO,EAAE,+BAA+B,EAAE,MAAM,yCAAyC,CAAC;AAC1F,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,SAAS,qBAAqB;IAC1B,OAAO,QAAQ,CAAC,MAAM,CAClB,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC;QACnB,UAAU,EAAE;YACR,CAAC,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;SACxB;QACD,UAAU,EAAE,EAAE,CAAC,EAAE,CAAC,GAAG,CAAC,EAAE;QACxB,YAAY,EAAE;YACV,IAAI,CAAC,CAAC,EAAE,KAA4B;gBAChC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YACpC,CAAC;SACJ;KACJ,CAAC,CACL,CAAC;AACN,CAAC;AAED,QAAQ,CAAC,iCAAiC,EAAE,GAAG,EAAE;IAC7C,QAAQ,CAAC,0CAA0C,EAAE,GAAG,EAAE;QACtD,UAAU,CAAC,GAAG,EAAE;YACZ,EAAE,CAAC,aAAa,EAAE,CAAC;QACvB,CAAC,CAAC,CAAC;QAEH,SAAS,CAAC,GAAG,EAAE;YACX,EAAE,CAAC,aAAa,EAAE,CAAC;QACvB,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,6FAA6F,EAAE,KAAK,IAAI,EAAE;YACzG,IAAI,eAAe,GAAG,CAAC,CAAC;YACxB,MAAM,QAAQ,GAAG,qBAAqB,EAAE,CAAC;YACzC,MAAM,OAAO,GAAG,MAAM,+BAA+B,CAAC;gBAClD,QAAQ;gBACR,aAAa,EAAE,SAAS;gBACxB,gBAAgB,EAAE,IAAI;gBACtB,eAAe,EAAE,KAAK;aACzB,CAAC,CAAC;YACH,MAAM,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;YAClC,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE;gBACnB,IAAI,EAAE,KAAK,EAAE,MAAe,EAAE,EAAE;oBAC5B,eAAe,EAAE,CAAC;oBAClB,OAAO,YAAY,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;gBAC9C,CAAC;aACJ,CAAC,CAAC;YAEH,MAAM,gBAAgB,GAAG,CAAC,CAAC;YAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,gBAAgB,EAAE,CAAC,EAAE,EAAE,CAAC;gBACxC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YACnC,CAAC;YAED,EAAE,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC;YAC5B,MAAM,EAAE,CAAC,iBAAiB,EAAE,CAAC;YAE7B,MAAM,CAAC,eAAe,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACpC,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
|
|
@@ -1,11 +1,7 @@
|
|
|
1
|
-
import { Data } from "../../data.js";
|
|
2
1
|
import { Schema } from "../../schema/index.js";
|
|
3
|
-
type
|
|
4
|
-
|
|
5
|
-
};
|
|
6
|
-
export type Action<P extends readonly Schema[] = readonly Schema[]> = {
|
|
2
|
+
import type { ActionError } from "./action-error.js";
|
|
3
|
+
export type Action<S extends Schema | false = Schema> = {
|
|
7
4
|
description: string;
|
|
8
|
-
|
|
9
|
-
execute: (
|
|
5
|
+
schema: S;
|
|
6
|
+
execute: Schema.ToType<S> extends void ? (() => Promise<void | ActionError> | void) : ((state: Schema.ToType<S>) => Promise<void | ActionError> | void);
|
|
10
7
|
};
|
|
11
|
-
export {};
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { Observe } from "../../observe/index.js";
|
|
2
2
|
import { Schema } from "../../schema/index.js";
|
|
3
|
-
import { Data } from "../../data.js";
|
|
4
3
|
import { AgenticService } from "./agentic-service.js";
|
|
5
4
|
/** State declaration: kind + schema for value + description */
|
|
6
5
|
type StateDeclaration<S extends Schema = Schema> = {
|
|
@@ -50,8 +49,5 @@ export type ImplementationFromDeclarations<D extends Declarations> = {
|
|
|
50
49
|
type: "link";
|
|
51
50
|
} ? AgenticService | Observe<AgenticService> : never;
|
|
52
51
|
};
|
|
53
|
-
type
|
|
54
|
-
[K in keyof P]: P[K] extends Schema ? Schema.ToType<P[K]> : never;
|
|
55
|
-
};
|
|
56
|
-
type ExecuteFromParameters<P extends readonly Schema[]> = (...input: ParametersFromSchemas<P>) => Promise<void | Data> | Data | void;
|
|
52
|
+
type ExecuteFromParameters<P extends readonly Schema[]> = P extends readonly [] ? (() => Promise<void | AgenticService.ActionError> | void) : P extends readonly [infer S extends Schema, ...readonly Schema[]] ? ((input: Schema.ToType<S>) => Promise<void | AgenticService.ActionError> | void) : never;
|
|
57
53
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create.js","sourceRoot":"","sources":["../../../src/service/agentic-service/create.ts"],"names":[],"mappings":"AAAA,uDAAuD;AAEvD,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"create.js","sourceRoot":"","sources":["../../../src/service/agentic-service/create.ts"],"names":[],"mappings":"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"}
|
|
@@ -404,7 +404,7 @@ describe("AgenticService.create", () => {
|
|
|
404
404
|
const actions = await Observe.toPromise(service.actions);
|
|
405
405
|
expect(actions).toHaveProperty("heal");
|
|
406
406
|
expect(actions.heal.description).toBe("Heal player");
|
|
407
|
-
expect(actions.heal.
|
|
407
|
+
expect(actions.heal.schema).toEqual({ type: "number" });
|
|
408
408
|
expect(typeof actions.heal.execute).toBe("function");
|
|
409
409
|
});
|
|
410
410
|
it("should omit disabled actions", async () => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create.test.js","sourceRoot":"","sources":["../../../src/service/agentic-service/create.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"create.test.js","sourceRoot":"","sources":["../../../src/service/agentic-service/create.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -49,16 +49,6 @@ const iface = {
|
|
|
49
49
|
parameters: [],
|
|
50
50
|
},
|
|
51
51
|
};
|
|
52
|
-
const multiIface = {
|
|
53
|
-
multi: {
|
|
54
|
-
type: "action",
|
|
55
|
-
description: "Multi",
|
|
56
|
-
parameters: [
|
|
57
|
-
{ type: "number" },
|
|
58
|
-
{ type: "string" },
|
|
59
|
-
],
|
|
60
|
-
},
|
|
61
|
-
};
|
|
62
52
|
create({
|
|
63
53
|
interface: iface,
|
|
64
54
|
implementation: {
|
|
@@ -75,19 +65,6 @@ create({
|
|
|
75
65
|
heal: Observe.fromConstant(false),
|
|
76
66
|
},
|
|
77
67
|
});
|
|
78
|
-
create({
|
|
79
|
-
interface: multiIface,
|
|
80
|
-
implementation: {
|
|
81
|
-
multi: (a, b) => { },
|
|
82
|
-
},
|
|
83
|
-
});
|
|
84
|
-
create({
|
|
85
|
-
interface: multiIface,
|
|
86
|
-
implementation: {
|
|
87
|
-
// @ts-expect-error - multi parameters must be [number, string]
|
|
88
|
-
multi: (a, b) => { },
|
|
89
|
-
},
|
|
90
|
-
});
|
|
91
68
|
create({
|
|
92
69
|
interface: iface,
|
|
93
70
|
implementation: {
|