@lmzhen/dsh-memory 0.3.16 → 0.3.17

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/lib/index.js CHANGED
@@ -17,9 +17,13 @@ var MemoryRegistry = class extends Service {
17
17
  if (this.providers.get(provider.name) === provider) this.providers.delete(provider.name);
18
18
  };
19
19
  }
20
- provider() {
20
+ /** 0.3.17 (E-73): named lookup like the io/state-storage registries; no
21
+ * name = first registered (backward compatible). */
22
+ provider(name) {
23
+ const byName = name ? this.providers.get(name) : void 0;
24
+ if (byName) return byName;
21
25
  const first = this.providers.values().next().value;
22
- if (!first) throw new Error("memory: no provider registered");
26
+ if (!first) throw new Error(`memory: no provider registered${name ? ` named "${name}"` : ""}`);
23
27
  return first;
24
28
  }
25
29
  read(target, signal) {
@@ -54,7 +54,9 @@ export declare class MemoryRegistry extends Service {
54
54
  private readonly providers;
55
55
  constructor(ctx: Context);
56
56
  registerProvider(provider: MemoryProvider): () => void;
57
- private provider;
57
+ /** 0.3.17 (E-73): named lookup like the io/state-storage registries; no
58
+ * name = first registered (backward compatible). */
59
+ provider(name?: string): MemoryProvider;
58
60
  read(target: MemoryTarget, signal?: AbortSignal): Promise<string[]>;
59
61
  applyBatch(target: MemoryTarget, operations: MemoryOperation[], signal?: AbortSignal): Promise<MemoryApplyResult>;
60
62
  snapshot(signal?: AbortSignal): Promise<MemorySnapshot>;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@lmzhen/dsh-memory",
3
3
  "description": "Memory provider registry for self-evolution (community build)",
4
- "version": "0.3.16",
4
+ "version": "0.3.17",
5
5
  "publishConfig": {
6
6
  "access": "public"
7
7
  },