feat(storage): storage hub with named backend registry and data-form mounts

ctx.storage is a pure registration hub: multiple named backends stay
mounted side by side, data forms (domain first) mount via the
merge-extensible StorageForms map. src/backend.ts is the normative
KV-facet contract; tests/contract.ts is the shared conformance suite
every backend runs. Backends expose data-shape facets (kv now, an
append-log facet reserved for the future session-backend migration).
This commit is contained in:
imccyu
2026-07-24 19:06:48 +08:00
parent f7b36bd36d
commit e90b0d51df
12 changed files with 564 additions and 0 deletions

View File

@@ -74,6 +74,8 @@
"./packages/hooks/*/src/invariant.ts",
"./packages/session-persistence/*/src/invariant.ts",
"./packages/session-query/*/src/invariant.ts",
"./packages/storage/*/src/invariant.ts",
"./packages/workspace/*/src/invariant.ts",
"./packages/sdk/*/src/invariant.ts",
"./packages/ui/*/src/invariant.ts",
"./packages/examples/*/src/invariant.ts",
@@ -142,6 +144,8 @@
"./packages/session-persistence/*/src",
"./packages/session-query/*/src",
"./packages/session-title/*/src",
"./packages/storage/*/src",
"./packages/workspace/*/src",
"./packages/sdk/*/src",
"./packages/ui/*/src",
"./packages/examples/*/src",