@procedures/store 0.1.0 → 0.2.0

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/dist/index.d.ts CHANGED
@@ -14,6 +14,6 @@ export * from "./storage/index.js";
14
14
  export * from "./program-store/index.js";
15
15
  export { ProcedureStoreError, type ProcedureStoreErrorCode } from "./errors.js";
16
16
  export { procedureStorageModule, procedureStorageProcedures } from "./procedures.js";
17
- export * from "./register.js";
17
+ export * from "./module.js";
18
18
  export * from "./types.js";
19
19
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,cAAc,oBAAoB,CAAC;AACnC,cAAc,0BAA0B,CAAC;AACzC,OAAO,EAAE,mBAAmB,EAAE,KAAK,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAChF,OAAO,EAAE,sBAAsB,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAC;AACrF,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,cAAc,oBAAoB,CAAC;AACnC,cAAc,0BAA0B,CAAC;AACzC,OAAO,EAAE,mBAAmB,EAAE,KAAK,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAChF,OAAO,EAAE,sBAAsB,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAC;AACrF,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC"}
package/dist/index.js CHANGED
@@ -14,6 +14,6 @@ export * from "./storage/index.js";
14
14
  export * from "./program-store/index.js";
15
15
  export { ProcedureStoreError } from "./errors.js";
16
16
  export { procedureStorageModule, procedureStorageProcedures } from "./procedures.js";
17
- export * from "./register.js";
17
+ export * from "./module.js";
18
18
  export * from "./types.js";
19
19
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,cAAc,oBAAoB,CAAC;AACnC,cAAc,0BAA0B,CAAC;AACzC,OAAO,EAAE,mBAAmB,EAAgC,MAAM,aAAa,CAAC;AAChF,OAAO,EAAE,sBAAsB,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAC;AACrF,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,cAAc,oBAAoB,CAAC;AACnC,cAAc,0BAA0B,CAAC;AACzC,OAAO,EAAE,mBAAmB,EAAgC,MAAM,aAAa,CAAC;AAChF,OAAO,EAAE,sBAAsB,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAC;AACrF,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC"}
package/dist/module.d.ts CHANGED
@@ -5,11 +5,19 @@
5
5
  * `procedure.store`, `load`, `sync` and `remote`. The core registered the older versions of them
6
6
  * before they moved here (roadmap 3.2).
7
7
  */
8
- import { type ProcedureModule } from "@procedures/client";
8
+ import { type ProcedureModule, type ProcedureRegistry } from "@procedures/client";
9
9
  /**
10
10
  * The module of this package, for `createRegistry()`: its procedures as data. Importing this
11
11
  * file registers nothing. (`register.ts` registers the same procedures in the global registry.)
12
12
  */
13
13
  export declare const storeModule: ProcedureModule;
14
14
  export default storeModule;
15
+ /**
16
+ * This function registers the procedures of @procedures/store, and of the modules that it requires, in
17
+ * a registry. The default is the global registry. Importing this file registers nothing: the
18
+ * `./register` entry starts this function (ARCHITECTURE-PROPOSALS-2026-10, P9).
19
+ */
20
+ export declare function registerStoreProcedures(registry?: ProcedureRegistry): void;
21
+ /** @deprecated Use `registerStoreProcedures`. The old name stays for one version. */
22
+ export declare const register: (registry?: ProcedureRegistry) => void;
15
23
  //# sourceMappingURL=module.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../src/module.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAgB,KAAK,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAGxE;;;GAGG;AACH,eAAO,MAAM,WAAW,EAAE,eAA+E,CAAC;eAE3F,WAAW"}
1
+ {"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../src/module.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAgB,KAAK,eAAe,EAAuC,KAAK,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAGrI;;;GAGG;AACH,eAAO,MAAM,WAAW,EAAE,eAA+E,CAAC;eAE3F,WAAW;AAE1B;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,QAAQ,GAAE,iBAAsC,GAAG,IAAI,CAE9F;AAED,qFAAqF;AACrF,eAAO,MAAM,QAAQ,EAAE,CAAC,QAAQ,CAAC,EAAE,iBAAiB,KAAK,IAA8B,CAAC"}
package/dist/module.js CHANGED
@@ -5,7 +5,7 @@
5
5
  * `procedure.store`, `load`, `sync` and `remote`. The core registered the older versions of them
6
6
  * before they moved here (roadmap 3.2).
7
7
  */
8
- import { defineModule } from "@procedures/client";
8
+ import { defineModule, PROCEDURE_REGISTRY, registerModules } from "@procedures/client";
9
9
  import { procedureStorageProcedures } from "./procedures.js";
10
10
  /**
11
11
  * The module of this package, for `createRegistry()`: its procedures as data. Importing this
@@ -13,4 +13,14 @@ import { procedureStorageProcedures } from "./procedures.js";
13
13
  */
14
14
  export const storeModule = defineModule("@procedures/store", procedureStorageProcedures);
15
15
  export default storeModule;
16
+ /**
17
+ * This function registers the procedures of @procedures/store, and of the modules that it requires, in
18
+ * a registry. The default is the global registry. Importing this file registers nothing: the
19
+ * `./register` entry starts this function (ARCHITECTURE-PROPOSALS-2026-10, P9).
20
+ */
21
+ export function registerStoreProcedures(registry = PROCEDURE_REGISTRY) {
22
+ registerModules(registry, [storeModule], { override: true });
23
+ }
24
+ /** @deprecated Use `registerStoreProcedures`. The old name stays for one version. */
25
+ export const register = registerStoreProcedures;
16
26
  //# sourceMappingURL=module.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"module.js","sourceRoot":"","sources":["../src/module.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,YAAY,EAAwB,MAAM,oBAAoB,CAAC;AACxE,OAAO,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAC;AAE7D;;;GAGG;AACH,MAAM,CAAC,MAAM,WAAW,GAAoB,YAAY,CAAC,mBAAmB,EAAE,0BAA0B,CAAC,CAAC;AAE1G,eAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"module.js","sourceRoot":"","sources":["../src/module.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,YAAY,EAAwB,kBAAkB,EAAE,eAAe,EAA0B,MAAM,oBAAoB,CAAC;AACrI,OAAO,EAAE,0BAA0B,EAAE,MAAM,iBAAiB,CAAC;AAE7D;;;GAGG;AACH,MAAM,CAAC,MAAM,WAAW,GAAoB,YAAY,CAAC,mBAAmB,EAAE,0BAA0B,CAAC,CAAC;AAE1G,eAAe,WAAW,CAAC;AAE3B;;;;GAIG;AACH,MAAM,UAAU,uBAAuB,CAAC,QAAQ,GAAsB,kBAAkB;IACtF,eAAe,CAAC,QAAQ,EAAE,CAAC,WAAW,CAAC,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;AAC/D,CAAC;AAED,qFAAqF;AACrF,MAAM,CAAC,MAAM,QAAQ,GAA2C,uBAAuB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"procedures.d.ts","sourceRoot":"","sources":["../../src/program-store/procedures.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAGH,OAAO,EAQL,KAAK,YAAY,EAGlB,MAAM,oBAAoB,CAAC;AAiF5B,eAAO,MAAM,uBAAuB,EAAE,YAuB5B,CAAC;AA0BX,eAAO,MAAM,sBAAsB,EAAE,YAsD3B,CAAC;AA2BX,eAAO,MAAM,sBAAsB,EAAE,YA+C3B,CAAC;AAkBX,eAAO,MAAM,wBAAwB,EAAE,YA+B7B,CAAC;AAEX,2CAA2C;AAC3C,eAAO,MAAM,sBAAsB,EAAE,YAAY,EAKhD,CAAC"}
1
+ {"version":3,"file":"procedures.d.ts","sourceRoot":"","sources":["../../src/program-store/procedures.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAGH,OAAO,EAQL,KAAK,YAAY,EAGlB,MAAM,oBAAoB,CAAC;AAiF5B,eAAO,MAAM,uBAAuB,EAAE,YAyB5B,CAAC;AA0BX,eAAO,MAAM,sBAAsB,EAAE,YAwD3B,CAAC;AA2BX,eAAO,MAAM,sBAAsB,EAAE,YAgD3B,CAAC;AAkBX,eAAO,MAAM,wBAAwB,EAAE,YAiC7B,CAAC;AAEX,2CAA2C;AAC3C,eAAO,MAAM,sBAAsB,EAAE,YAAY,EAKhD,CAAC"}
@@ -78,6 +78,8 @@ export const procedureStoreProcedure = createProcedure()
78
78
  .meta({
79
79
  description: "Write the program of a procedure that procedure.define made to the program store",
80
80
  tags: ["procedure", "registry", "storage"],
81
+ // It replaces a stored program of the same key. A FileProgramStore keeps the programs in a file.
82
+ effects: { reads: ["registry"], writes: ["fs", "programs"] },
81
83
  args: ["path"],
82
84
  })
83
85
  .handler(async (input, ctx) => {
@@ -107,6 +109,8 @@ export const procedureLoadProcedure = createProcedure()
107
109
  description: "Define the stored programs again (procedure.define), after a restart",
108
110
  tags: ["procedure", "registry", "storage"],
109
111
  calls: ["procedure.define"],
112
+ // A loaded program replaces a runtime-defined procedure of the same path
113
+ effects: { reads: ["fs", "programs", "registry"], writes: ["registry"] },
110
114
  })
111
115
  .handler(async (input, ctx) => {
112
116
  const chosen = [input.path !== undefined, input.prefix !== undefined, input.all === true].filter(Boolean).length;
@@ -167,6 +171,7 @@ export const procedureSyncProcedure = createProcedure()
167
171
  description: "Synchronize the runtime-defined procedures of the registry with the program store",
168
172
  tags: ["procedure", "registry", "storage"],
169
173
  calls: ["procedure.define"],
174
+ effects: { reads: ["fs", "programs", "registry"], writes: ["fs", "programs", "registry"] },
170
175
  })
171
176
  .handler(async (input, ctx) => {
172
177
  const direction = input.direction ?? "both";
@@ -197,6 +202,8 @@ export const procedureRemoteProcedure = createProcedure()
197
202
  .meta({
198
203
  description: "The status of the program store of the registry",
199
204
  tags: ["procedure", "registry", "storage"],
205
+ // It gives the kind of the store. `connect` and `disconnect` change nothing: they fail.
206
+ effects: { reads: ["programs"], writes: [] },
200
207
  args: ["action"],
201
208
  })
202
209
  .handler(async (input, ctx) => {
@@ -1 +1 @@
1
- {"version":3,"file":"procedures.js","sourceRoot":"","sources":["../../src/program-store/procedures.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"procedures.js","sourceRoot":"","sources":["../../src/program-store/procedures.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,7 @@
1
1
  /**
2
- * Importing this file registers the procedures of @procedures/store in the global
3
- * registry (DECISIONS-2026-10, "Every package root registers its procedures"). The procedures as
4
- * data are in `module.ts`, which registers nothing: a host with its own registry uses that one.
2
+ * Importing this file registers the procedures of @procedures/store, and of the modules that it
3
+ * requires, in the global registry: `import "@procedures/store/register"`. The package root and the
4
+ * `./module` entry register nothing (ARCHITECTURE-PROPOSALS-2026-10, P9).
5
5
  */
6
6
  export * from "./module.js";
7
- export declare function register(): void;
8
7
  //# sourceMappingURL=register.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"register.d.ts","sourceRoot":"","sources":["../src/register.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,cAAc,aAAa,CAAC;AAE5B,wBAAgB,QAAQ,IAAI,IAAI,CAG/B"}
1
+ {"version":3,"file":"register.d.ts","sourceRoot":"","sources":["../src/register.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,cAAc,aAAa,CAAC"}
package/dist/register.js CHANGED
@@ -1,15 +1,9 @@
1
1
  /**
2
- * Importing this file registers the procedures of @procedures/store in the global
3
- * registry (DECISIONS-2026-10, "Every package root registers its procedures"). The procedures as
4
- * data are in `module.ts`, which registers nothing: a host with its own registry uses that one.
2
+ * Importing this file registers the procedures of @procedures/store, and of the modules that it
3
+ * requires, in the global registry: `import "@procedures/store/register"`. The package root and the
4
+ * `./module` entry register nothing (ARCHITECTURE-PROPOSALS-2026-10, P9).
5
5
  */
6
- import { PROCEDURE_REGISTRY } from "@procedures/client";
7
- import { storeModule } from "./module.js";
6
+ import { registerStoreProcedures } from "./module.js";
8
7
  export * from "./module.js";
9
- export function register() {
10
- // Override makes the registration idempotent (two copies of the package in one process)
11
- PROCEDURE_REGISTRY.registerAll(storeModule.procedures, { override: true });
12
- }
13
- // Auto-register
14
- register();
8
+ registerStoreProcedures();
15
9
  //# sourceMappingURL=register.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"register.js","sourceRoot":"","sources":["../src/register.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C,cAAc,aAAa,CAAC;AAE5B,MAAM,UAAU,QAAQ;IACtB,wFAAwF;IACxF,kBAAkB,CAAC,WAAW,CAAC,WAAW,CAAC,UAAU,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;AAC7E,CAAC;AAED,gBAAgB;AAChB,QAAQ,EAAE,CAAC"}
1
+ {"version":3,"file":"register.js","sourceRoot":"","sources":["../src/register.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AAEtD,cAAc,aAAa,CAAC;AAE5B,uBAAuB,EAAE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"procedures.d.ts","sourceRoot":"","sources":["../../src/storage/procedures.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAmC,MAAM,oBAAoB,CAAC;AA0BxF,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AA8CnD,eAAO,MAAM,0BAA0B,EAAE,YA6DvC,CAAC"}
1
+ {"version":3,"file":"procedures.d.ts","sourceRoot":"","sources":["../../src/storage/procedures.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAmC,MAAM,oBAAoB,CAAC;AA0BxF,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AA8CnD,eAAO,MAAM,0BAA0B,EAAE,YAgEvC,CAAC"}
@@ -46,6 +46,9 @@ export const procedureRegisterProcedure = defineProcedure({
46
46
  metadata: {
47
47
  description: "Register a procedure at runtime",
48
48
  tags: ["procedure", "registry", "storage"],
49
+ // It never replaces a registered procedure. With `persist`, it writes the record to the
50
+ // store of the synced registry, over a stored record of the same key.
51
+ effects: { reads: ["registry"], writes: ["registry"] },
49
52
  },
50
53
  handler: async (input, ctx) => {
51
54
  const { path, metadata = {}, streaming, handlerRef, persist = false } = input;
@@ -1 +1 @@
1
- {"version":3,"file":"procedures.js","sourceRoot":"","sources":["../../src/storage/procedures.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"procedures.js","sourceRoot":"","sources":["../../src/storage/procedures.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAErD,OAAO,EAAE,kBAAkB,EAA0B,MAAM,oBAAoB,CAAC;AAChF,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAE/C,OAAO,EAAE,oBAAoB,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AACpF,OAAO,EAAE,iBAAiB,EAAgC,MAAM,sBAAsB,CAAC;AACvF,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAEnD,gFAAgF;AAChF,oBAAoB;AACpB,gFAAgF;AAEhF,MAAM,SAAS,GAIX;IACF,KAAK,EAAE,CAAC,IAAa,EAAE,EAAE,CAAC,IAAI;IAC9B,SAAS,EAAE,CAAC,IAAa,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,IAAa,EAAE,IAAI,EAAE,CAAC;IAChE,OAAO,EAAE,SAAoB;CAC9B,CAAC;AAEF,gFAAgF;AAChF,0BAA0B;AAC1B,gFAAgF;AAEhF,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAEnD,+FAA+F;AAC/F,SAAS,cAAc,CAAC,GAAiC;IACvD,OAAQ,GAAyE,EAAE,QAAQ,IAAI,kBAAkB,CAAC;AACpH,CAAC;AAED,qEAAqE;AACrE,SAAS,YAAY,CAAC,GAAiC,EAAE,IAAY;IACnE,MAAM,KAAK,GAAG,iBAAiB,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC;IACrD,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,MAAM,IAAI,mBAAmB,CAC3B,gBAAgB,EAChB,GAAG,IAAI,wDAAwD;YAC7D,iFAAiF,CACpF,CAAC;IACJ,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AA4BD,MAAM,CAAC,MAAM,0BAA0B,GAAiB,eAAe,CAAC;IACtE,IAAI,EAAE,CAAC,WAAW,EAAE,UAAU,CAAC;IAC/B,KAAK,EAAE,SAAgB;IACvB,MAAM,EAAE,SAAgB;IACxB,QAAQ,EAAE;QACR,WAAW,EAAE,iCAAiC;QAC9C,IAAI,EAAE,CAAC,WAAW,EAAE,UAAU,EAAE,SAAS,CAAC;QAC1C,wFAAwF;QACxF,sEAAsE;QACtE,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC,UAAU,CAAC,EAAE;KACvD;IACD,OAAO,EAAE,KAAK,EAAE,KAAoB,EAAE,GAAqB,EAA2B,EAAE;QACtF,MAAM,EAAE,IAAI,EAAE,QAAQ,GAAG,EAAE,EAAE,SAAS,EAAE,UAAU,EAAE,OAAO,GAAG,KAAK,EAAE,GAAG,KAAK,CAAC;QAC9E,MAAM,GAAG,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;QAC5B,MAAM,UAAU,GAAwB;YACtC,IAAI;YACJ,QAAQ;YACR,SAAS;YACT,UAAU;YACV,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE;SACrB,CAAC;QAEF,IAAI,OAAO,EAAE,CAAC;YACZ,6EAA6E;YAC7E,MAAM,KAAK,GAAG,YAAY,CAAC,GAAG,EAAE,iCAAiC,CAAC,CAAC;YACnE,MAAM,MAAM,GAAG,KAAK,CAAC,gBAAgB,EAAE,CAAC;YACxC,MAAM,SAAS,GAAG,UAAU,IAAI,MAAM,CAAC,CAAC,CAAC,MAAM,oBAAoB,CAAC,UAAU,EAAE,EAAE,aAAa,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YACvH,IAAI,CAAC,SAAS,EAAE,OAAO,EAAE,CAAC;gBACxB,MAAM,IAAI,mBAAmB,CAC3B,YAAY,EACZ,uDAAuD,GAAG,sBAAsB;oBAC9E,8CAA8C,CACjD,CAAC;YACJ,CAAC;YACD,KAAK,CAAC,QAAQ,CAAC,SAAS,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,CAAC,CAAC;YAC3D,MAAM,KAAK,CAAC,WAAW,EAAE,CAAC;YAC1B,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,yBAAyB,GAAG,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC;QAC5F,CAAC;QAED,sFAAsF;QACtF,MAAM,MAAM,GAAG,iBAAiB,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,EAAE,gBAAgB,EAAE,CAAC;QAC1E,MAAM,SAAS,GACb,UAAU,IAAI,MAAM,CAAC,CAAC,CAAC,MAAM,oBAAoB,CAAC,UAAU,EAAE,EAAE,aAAa,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,wBAAwB,CAAC,UAAU,CAAC,CAAC;QAClI,IAAI,CAAC;YACH,cAAc,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,SAAS,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;QAC/D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,qBAAqB;gBACvE,IAAI;gBACJ,UAAU,EAAE,KAAK;aAClB,CAAC;QACJ,CAAC;QAED,MAAM,UAAU,GAAG,OAAO,SAAS,CAAC,OAAO,KAAK,UAAU,CAAC;QAC3D,OAAO;YACL,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,UAAU;gBACjB,CAAC,CAAC,cAAc,GAAG,EAAE;gBACrB,CAAC,CAAC,cAAc,GAAG,0EAA0E;YAC/F,IAAI;YACJ,UAAU;SACX,CAAC;IACJ,CAAC;CACF,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://json.schemastore.org/package",
3
3
  "name": "@procedures/store",
4
- "version": "0.1.0",
4
+ "version": "0.2.0",
5
5
  "description": "A program store for procedure-as-data: save the programs that procedure.define makes, load them back after a restart, in memory, a JSON file or a remote collection storage.",
6
6
  "keywords": [
7
7
  "program-store",
@@ -48,7 +48,6 @@
48
48
  "CHANGELOG.md"
49
49
  ],
50
50
  "sideEffects": [
51
- "./dist/index.js",
52
51
  "./dist/register.js"
53
52
  ],
54
53
  "engines": {
@@ -62,8 +61,8 @@
62
61
  "procedures": "./dist/register.js"
63
62
  },
64
63
  "dependencies": {
65
- "@procedures/client": "0.1.0",
66
- "@procedures/collections": "0.1.0",
64
+ "@procedures/client": "0.2.0",
65
+ "@procedures/collections": "0.2.0",
67
66
  "zod": "^4.6.5"
68
67
  },
69
68
  "devDependencies": {
package/src/index.ts CHANGED
@@ -15,5 +15,5 @@ export * from "./storage/index.js";
15
15
  export * from "./program-store/index.js";
16
16
  export { ProcedureStoreError, type ProcedureStoreErrorCode } from "./errors.js";
17
17
  export { procedureStorageModule, procedureStorageProcedures } from "./procedures.js";
18
- export * from "./register.js";
18
+ export * from "./module.js";
19
19
  export * from "./types.js";
package/src/module.ts CHANGED
@@ -6,7 +6,7 @@
6
6
  * before they moved here (roadmap 3.2).
7
7
  */
8
8
 
9
- import { defineModule, type ProcedureModule } from "@procedures/client";
9
+ import { defineModule, type ProcedureModule, PROCEDURE_REGISTRY, registerModules, type ProcedureRegistry } from "@procedures/client";
10
10
  import { procedureStorageProcedures } from "./procedures.js";
11
11
 
12
12
  /**
@@ -16,3 +16,15 @@ import { procedureStorageProcedures } from "./procedures.js";
16
16
  export const storeModule: ProcedureModule = defineModule("@procedures/store", procedureStorageProcedures);
17
17
 
18
18
  export default storeModule;
19
+
20
+ /**
21
+ * This function registers the procedures of @procedures/store, and of the modules that it requires, in
22
+ * a registry. The default is the global registry. Importing this file registers nothing: the
23
+ * `./register` entry starts this function (ARCHITECTURE-PROPOSALS-2026-10, P9).
24
+ */
25
+ export function registerStoreProcedures(registry: ProcedureRegistry = PROCEDURE_REGISTRY): void {
26
+ registerModules(registry, [storeModule], { override: true });
27
+ }
28
+
29
+ /** @deprecated Use `registerStoreProcedures`. The old name stays for one version. */
30
+ export const register: (registry?: ProcedureRegistry) => void = registerStoreProcedures;
@@ -122,6 +122,8 @@ export const procedureStoreProcedure: AnyProcedure = createProcedure()
122
122
  .meta({
123
123
  description: "Write the program of a procedure that procedure.define made to the program store",
124
124
  tags: ["procedure", "registry", "storage"],
125
+ // It replaces a stored program of the same key. A FileProgramStore keeps the programs in a file.
126
+ effects: { reads: ["registry"], writes: ["fs", "programs"] },
125
127
  args: ["path"],
126
128
  })
127
129
  .handler(async (input: StoreInput, ctx: ProcedureContext): Promise<StoreOutput> => {
@@ -181,6 +183,8 @@ export const procedureLoadProcedure: AnyProcedure = createProcedure()
181
183
  description: "Define the stored programs again (procedure.define), after a restart",
182
184
  tags: ["procedure", "registry", "storage"],
183
185
  calls: ["procedure.define"],
186
+ // A loaded program replaces a runtime-defined procedure of the same path
187
+ effects: { reads: ["fs", "programs", "registry"], writes: ["registry"] },
184
188
  })
185
189
  .handler(async (input: LoadInput, ctx: ProcedureContext): Promise<LoadOutput> => {
186
190
  const chosen = [input.path !== undefined, input.prefix !== undefined, input.all === true].filter(Boolean).length;
@@ -266,6 +270,7 @@ export const procedureSyncProcedure: AnyProcedure = createProcedure()
266
270
  description: "Synchronize the runtime-defined procedures of the registry with the program store",
267
271
  tags: ["procedure", "registry", "storage"],
268
272
  calls: ["procedure.define"],
273
+ effects: { reads: ["fs", "programs", "registry"], writes: ["fs", "programs", "registry"] },
269
274
  })
270
275
  .handler(async (input: SyncInput, ctx: ProcedureContext): Promise<SyncOutput> => {
271
276
  const direction = input.direction ?? "both";
@@ -317,6 +322,8 @@ export const procedureRemoteProcedure: AnyProcedure = createProcedure()
317
322
  .meta({
318
323
  description: "The status of the program store of the registry",
319
324
  tags: ["procedure", "registry", "storage"],
325
+ // It gives the kind of the store. `connect` and `disconnect` change nothing: they fail.
326
+ effects: { reads: ["programs"], writes: [] },
320
327
  args: ["action"],
321
328
  })
322
329
  .handler(async (input: RemoteInput, ctx: ProcedureContext): Promise<RemoteOutput> => {
package/src/register.ts CHANGED
@@ -1,18 +1,11 @@
1
1
  /**
2
- * Importing this file registers the procedures of @procedures/store in the global
3
- * registry (DECISIONS-2026-10, "Every package root registers its procedures"). The procedures as
4
- * data are in `module.ts`, which registers nothing: a host with its own registry uses that one.
2
+ * Importing this file registers the procedures of @procedures/store, and of the modules that it
3
+ * requires, in the global registry: `import "@procedures/store/register"`. The package root and the
4
+ * `./module` entry register nothing (ARCHITECTURE-PROPOSALS-2026-10, P9).
5
5
  */
6
6
 
7
- import { PROCEDURE_REGISTRY } from "@procedures/client";
8
- import { storeModule } from "./module.js";
7
+ import { registerStoreProcedures } from "./module.js";
9
8
 
10
9
  export * from "./module.js";
11
10
 
12
- export function register(): void {
13
- // Override makes the registration idempotent (two copies of the package in one process)
14
- PROCEDURE_REGISTRY.registerAll(storeModule.procedures, { override: true });
15
- }
16
-
17
- // Auto-register
18
- register();
11
+ registerStoreProcedures();
@@ -89,6 +89,9 @@ export const procedureRegisterProcedure: AnyProcedure = defineProcedure({
89
89
  metadata: {
90
90
  description: "Register a procedure at runtime",
91
91
  tags: ["procedure", "registry", "storage"],
92
+ // It never replaces a registered procedure. With `persist`, it writes the record to the
93
+ // store of the synced registry, over a stored record of the same key.
94
+ effects: { reads: ["registry"], writes: ["registry"] },
92
95
  },
93
96
  handler: async (input: RegisterInput, ctx: ProcedureContext): Promise<RegisterOutput> => {
94
97
  const { path, metadata = {}, streaming, handlerRef, persist = false } = input;