@soulcraft/sdk 3.3.15 → 3.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.
@@ -126,6 +126,11 @@ function _createNamespaceProxy(transport, ns, methodPath) {
126
126
  if (prop === 'then')
127
127
  return undefined;
128
128
  const propStr = String(prop);
129
+ // Expose the underlying transport for remote proxy detection.
130
+ // The namespace router checks this to decide between LocalTransport
131
+ // (real Brainy) and direct RPC forwarding (remote proxy).
132
+ if (propStr === '_transport')
133
+ return transport;
129
134
  // Brainy sub-namespace promotion: brainy.vfs, brainy.versions become
130
135
  // their own namespace rather than a method path.
131
136
  if (ns === 'brainy' && methodPath === '' && BRAINY_SUB_NAMESPACES.has(propStr)) {
@@ -1 +1 @@
1
- {"version":3,"file":"namespace-proxy.js","sourceRoot":"","sources":["../../src/client/namespace-proxy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AAgDH,gFAAgF;AAChF,gBAAgB;AAChB,gFAAgF;AAEhF;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,UAAU,oBAAoB,CAAC,SAA6B;IAChE,OAAO,gBAAgB,CAAC,SAAS,CAAiB,CAAA;AACpD,CAAC;AAED,gFAAgF;AAChF,2BAA2B;AAC3B,gFAAgF;AAEhF;;;;;GAKG;AACH,SAAS,gBAAgB,CAAC,SAA6B;IACrD,OAAO,IAAI,KAAK,CAAC,cAAa,CAAC,EAAE;QAC/B,GAAG,CAAC,OAAO,EAAE,IAAqB;YAChC,IAAI,OAAO,IAAI,KAAK,QAAQ;gBAAE,OAAO,SAAS,CAAA;YAC9C,IAAI,IAAI,KAAK,MAAM;gBAAE,OAAO,SAAS,CAAA;YAErC,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,CAAA;YAEvB,gCAAgC;YAChC,IAAI,EAAE,KAAK,YAAY;gBAAE,OAAO,SAAS,CAAA;YACzC,IAAI,EAAE,KAAK,SAAS;gBAAE,OAAO,GAAG,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,CAAA;YACtD,IAAI,EAAE,KAAK,OAAO;gBAAE,OAAO,GAAG,EAAE,CAAC,SAAS,CAAC,KAAK,EAAE,CAAA;YAElD,6DAA6D;YAC7D,OAAO,qBAAqB,CAAC,SAAS,EAAE,EAAE,EAAE,EAAE,CAAC,CAAA;QACjD,CAAC;KACF,CAAC,CAAA;AACJ,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,SAAS,qBAAqB,CAC5B,SAA6B,EAC7B,EAAU,EACV,UAAkB;IAElB,OAAO,IAAI,KAAK,CAAC,cAAa,CAAC,EAAE;QAC/B,GAAG,CAAC,OAAO,EAAE,IAAqB;YAChC,IAAI,OAAO,IAAI,KAAK,QAAQ;gBAAE,OAAO,SAAS,CAAA;YAC9C,IAAI,IAAI,KAAK,MAAM;gBAAE,OAAO,SAAS,CAAA;YAErC,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,CAAA;YAE5B,qEAAqE;YACrE,iDAAiD;YACjD,IAAI,EAAE,KAAK,QAAQ,IAAI,UAAU,KAAK,EAAE,IAAI,qBAAqB,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC/E,OAAO,qBAAqB,CAAC,SAAS,EAAE,UAAU,OAAO,EAAE,EAAE,EAAE,CAAC,CAAA;YAClE,CAAC;YAED,0BAA0B;YAC1B,MAAM,QAAQ,GAAG,UAAU,CAAC,CAAC,CAAC,GAAG,UAAU,IAAI,OAAO,EAAE,CAAC,CAAC,CAAC,OAAO,CAAA;YAClE,OAAO,qBAAqB,CAAC,SAAS,EAAE,EAAE,EAAE,QAAQ,CAAC,CAAA;QACvD,CAAC;QAED,KAAK,CAAC,OAAO,EAAE,QAAQ,EAAE,IAAe;YACtC,+DAA+D;YAC/D,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,sEAAsE;gBACtE,OAAO,OAAO,CAAC,MAAM,CACnB,IAAI,KAAK,CAAC,0BAA0B,EAAE,kCAAkC,EAAE,eAAe,CAAC,CAC3F,CAAA;YACH,CAAC;YACD,OAAO,SAAS,CAAC,MAAM,CAAC,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,CAAA;QAC/C,CAAC;KACF,CAAC,CAAA;AACJ,CAAC;AAED,iEAAiE;AACjE,MAAM,qBAAqB,GAAG,IAAI,GAAG,CAAC,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC,CAAA"}
1
+ {"version":3,"file":"namespace-proxy.js","sourceRoot":"","sources":["../../src/client/namespace-proxy.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AAgDH,gFAAgF;AAChF,gBAAgB;AAChB,gFAAgF;AAEhF;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,UAAU,oBAAoB,CAAC,SAA6B;IAChE,OAAO,gBAAgB,CAAC,SAAS,CAAiB,CAAA;AACpD,CAAC;AAED,gFAAgF;AAChF,2BAA2B;AAC3B,gFAAgF;AAEhF;;;;;GAKG;AACH,SAAS,gBAAgB,CAAC,SAA6B;IACrD,OAAO,IAAI,KAAK,CAAC,cAAa,CAAC,EAAE;QAC/B,GAAG,CAAC,OAAO,EAAE,IAAqB;YAChC,IAAI,OAAO,IAAI,KAAK,QAAQ;gBAAE,OAAO,SAAS,CAAA;YAC9C,IAAI,IAAI,KAAK,MAAM;gBAAE,OAAO,SAAS,CAAA;YAErC,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,CAAA;YAEvB,gCAAgC;YAChC,IAAI,EAAE,KAAK,YAAY;gBAAE,OAAO,SAAS,CAAA;YACzC,IAAI,EAAE,KAAK,SAAS;gBAAE,OAAO,GAAG,EAAE,CAAC,SAAS,CAAC,OAAO,EAAE,CAAA;YACtD,IAAI,EAAE,KAAK,OAAO;gBAAE,OAAO,GAAG,EAAE,CAAC,SAAS,CAAC,KAAK,EAAE,CAAA;YAElD,6DAA6D;YAC7D,OAAO,qBAAqB,CAAC,SAAS,EAAE,EAAE,EAAE,EAAE,CAAC,CAAA;QACjD,CAAC;KACF,CAAC,CAAA;AACJ,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,SAAS,qBAAqB,CAC5B,SAA6B,EAC7B,EAAU,EACV,UAAkB;IAElB,OAAO,IAAI,KAAK,CAAC,cAAa,CAAC,EAAE;QAC/B,GAAG,CAAC,OAAO,EAAE,IAAqB;YAChC,IAAI,OAAO,IAAI,KAAK,QAAQ;gBAAE,OAAO,SAAS,CAAA;YAC9C,IAAI,IAAI,KAAK,MAAM;gBAAE,OAAO,SAAS,CAAA;YAErC,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,CAAA;YAE5B,8DAA8D;YAC9D,oEAAoE;YACpE,0DAA0D;YAC1D,IAAI,OAAO,KAAK,YAAY;gBAAE,OAAO,SAAS,CAAA;YAE9C,qEAAqE;YACrE,iDAAiD;YACjD,IAAI,EAAE,KAAK,QAAQ,IAAI,UAAU,KAAK,EAAE,IAAI,qBAAqB,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC/E,OAAO,qBAAqB,CAAC,SAAS,EAAE,UAAU,OAAO,EAAE,EAAE,EAAE,CAAC,CAAA;YAClE,CAAC;YAED,0BAA0B;YAC1B,MAAM,QAAQ,GAAG,UAAU,CAAC,CAAC,CAAC,GAAG,UAAU,IAAI,OAAO,EAAE,CAAC,CAAC,CAAC,OAAO,CAAA;YAClE,OAAO,qBAAqB,CAAC,SAAS,EAAE,EAAE,EAAE,QAAQ,CAAC,CAAA;QACvD,CAAC;QAED,KAAK,CAAC,OAAO,EAAE,QAAQ,EAAE,IAAe;YACtC,+DAA+D;YAC/D,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChB,sEAAsE;gBACtE,OAAO,OAAO,CAAC,MAAM,CACnB,IAAI,KAAK,CAAC,0BAA0B,EAAE,kCAAkC,EAAE,eAAe,CAAC,CAC3F,CAAA;YACH,CAAC;YACD,OAAO,SAAS,CAAC,MAAM,CAAC,EAAE,EAAE,UAAU,EAAE,IAAI,CAAC,CAAA;QAC/C,CAAC;KACF,CAAC,CAAA;AACJ,CAAC;AAED,iEAAiE;AACjE,MAAM,qBAAqB,GAAG,IAAI,GAAG,CAAC,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC,CAAA"}
@@ -1,42 +1,31 @@
1
1
  /**
2
2
  * @module server/handlers/imagine
3
3
  * @description Imagine namespace handler — generate, list, search, and manage
4
- * images via a GPU inference backend.
4
+ * AI-generated images via a GPU inference backend.
5
5
  *
6
- * The handler delegates image generation to an injected {@link ImagineBackend}
7
- * interface and stores results as Brainy noun entities with VFS-backed PNG files.
8
- * The backend is the Rust ONNX sidecar (imagine-gpu binary) or any HTTP service
9
- * that implements the generate contract.
6
+ * ## Entity Model
10
7
  *
11
- * Storage is fully Brainy-native: each image is a `media` noun entity with prompt
12
- * metadata (searchable via semantic search) and a VFS file at `/images/{id}.png`.
8
+ * Each generated image is stored as two Brainy entities connected by a verb:
13
9
  *
14
- * Methods:
15
- * - `generate` Generate images and store in Brainy
16
- * - `generateStream` Streaming generation with progress events
17
- * - `list` — List/search user's image gallery
18
- * - `get` — Get single image metadata
19
- * - `getBytes` — Get raw PNG bytes
20
- * - `delete` Delete image (entity + VFS file)
21
- * - `getPresets` — Available style and size presets
22
- * - `health` — GPU backend health check
10
+ * - **Noun** (type: `document`) — the generation record: prompt text as `data`
11
+ * (enables Cortex semantic search), with style, seed, dimensions, timing in
12
+ * `metadata`. Marked with `metadata.imagineGeneration: true` to distinguish
13
+ * from other document nouns.
14
+ *
15
+ * - **VFS file** (type: `media`)the actual PNG bytes at `/images/{id}.png`,
16
+ * managed by Brainy's virtual filesystem. Has `metadata.isVFS: true`.
17
+ *
18
+ * - **Verb** (`creates`)relates the generation document to the VFS image.
19
+ *
20
+ * Gallery queries target `noun: 'document'` with `metadata.imagineGeneration: true`,
21
+ * so VFS entries and other document types are excluded.
23
22
  */
24
23
  import type { NamespaceProvider } from '../namespace-router.js';
25
24
  /**
26
25
  * @description GPU inference backend interface. Implemented by the Imagine
27
26
  * service's `gpu-client.ts` and injected via handler options.
28
- *
29
- * Products that host the imagine namespace (i.e. imagine.soulcraft.com itself)
30
- * provide this backend. Products that *consume* the imagine namespace (Workshop,
31
- * Venue) call it via the SDK transport — they never see this interface.
32
27
  */
33
28
  export interface ImagineBackend {
34
- /**
35
- * @description Generate a single image from a fully-resolved prompt.
36
- * @param params - Generation parameters with resolved dimensions.
37
- * @param userId - The requesting user's ID for tracking.
38
- * @returns Raw PNG bytes, the seed used, and the resolved dimensions.
39
- */
40
29
  generate(params: {
41
30
  prompt: string;
42
31
  width: number;
@@ -49,13 +38,8 @@ export interface ImagineBackend {
49
38
  seed: number;
50
39
  width: number;
51
40
  height: number;
41
+ elapsed?: number;
52
42
  }>;
53
- /**
54
- * @description Stream generation progress events.
55
- * @param params - Generation parameters.
56
- * @param userId - The requesting user's ID.
57
- * @returns Async iterable of progress/complete/error events.
58
- */
59
43
  generateStream?(params: {
60
44
  prompt: string;
61
45
  width: number;
@@ -77,29 +61,17 @@ export interface ImagineBackend {
77
61
  type: 'error';
78
62
  message: string;
79
63
  }>;
80
- /**
81
- * @description Check GPU backend health.
82
- * @returns Health status object.
83
- */
84
64
  health(): Promise<{
85
65
  status: 'ok' | 'unavailable';
86
66
  gpu?: string;
87
67
  info?: string;
88
68
  }>;
89
- /**
90
- * @description Get available style presets.
91
- * @returns Array of style presets.
92
- */
93
69
  getStylePresets(): Array<{
94
70
  key: string;
95
71
  label: string;
96
72
  description: string;
97
73
  prefix: string;
98
74
  }>;
99
- /**
100
- * @description Get available size presets.
101
- * @returns Array of size presets.
102
- */
103
75
  getSizePresets(): Array<{
104
76
  key: string;
105
77
  label: string;
@@ -111,30 +83,13 @@ export interface ImagineBackend {
111
83
  * @description Options for {@link createImagineHandler}.
112
84
  */
113
85
  export interface ImagineHandlerOptions {
114
- /** The GPU inference backend implementation. */
115
86
  backend: ImagineBackend;
116
87
  }
117
88
  /**
118
89
  * @description Creates the `imagine` namespace handler.
119
90
  *
120
- * The handler uses `ctx.brain` for per-user image storage (Brainy noun entities
121
- * + VFS files) and delegates GPU inference to the injected {@link ImagineBackend}.
122
- *
123
91
  * @param options - Handler dependencies. If omitted, all methods throw.
124
92
  * @returns A {@link NamespaceProvider} implementing {@link ImagineNamespace}.
125
- *
126
- * @example Wiring in Imagine's hooks.server.ts
127
- * ```typescript
128
- * import { createImagineHandler } from '@soulcraft/sdk/server'
129
- * import { imagineBackend } from '$lib/server/gpu-client.js'
130
- *
131
- * export const routerConfig = {
132
- * resolveBrain: async (ctx) => getUserBrain(ctx.user.id, ctx.user.email),
133
- * providers: {
134
- * imagine: createImagineHandler({ backend: imagineBackend }),
135
- * },
136
- * }
137
- * ```
138
93
  */
139
94
  export declare function createImagineHandler(options?: ImagineHandlerOptions): NamespaceProvider;
140
95
  //# sourceMappingURL=imagine.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"imagine.d.ts","sourceRoot":"","sources":["../../../src/server/handlers/imagine.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAkB,MAAM,wBAAwB,CAAA;AAM/E;;;;;;;GAOG;AACH,MAAM,WAAW,cAAc;IAC7B;;;;;OAKG;IACH,QAAQ,CACN,MAAM,EAAE;QACN,MAAM,EAAE,MAAM,CAAA;QACd,KAAK,EAAE,MAAM,CAAA;QACb,MAAM,EAAE,MAAM,CAAA;QACd,KAAK,EAAE,MAAM,CAAA;QACb,QAAQ,EAAE,MAAM,CAAA;QAChB,IAAI,EAAE,MAAM,CAAA;KACb,EACD,MAAM,EAAE,MAAM,GACb,OAAO,CAAC;QAAE,KAAK,EAAE,WAAW,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IAE/E;;;;;OAKG;IACH,cAAc,CAAC,CACb,MAAM,EAAE;QACN,MAAM,EAAE,MAAM,CAAA;QACd,KAAK,EAAE,MAAM,CAAA;QACb,MAAM,EAAE,MAAM,CAAA;QACd,KAAK,EAAE,MAAM,CAAA;QACb,QAAQ,EAAE,MAAM,CAAA;QAChB,IAAI,EAAE,MAAM,CAAA;KACb,EACD,MAAM,EAAE,MAAM,GACb,aAAa,CACZ;QAAE,IAAI,EAAE,UAAU,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GACjD;QAAE,IAAI,EAAE,UAAU,CAAC;QAAC,KAAK,EAAE,WAAW,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GACrF;QAAE,IAAI,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CACrC,CAAA;IAED;;;OAGG;IACH,MAAM,IAAI,OAAO,CAAC;QAAE,MAAM,EAAE,IAAI,GAAG,aAAa,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IAEhF;;;OAGG;IACH,eAAe,IAAI,KAAK,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IAE7F;;;OAGG;IACH,cAAc,IAAI,KAAK,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CACvF;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,gDAAgD;IAChD,OAAO,EAAE,cAAc,CAAA;CACxB;AAwGD;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,CAAC,EAAE,qBAAqB,GAAG,iBAAiB,CAqOvF"}
1
+ {"version":3,"file":"imagine.d.ts","sourceRoot":"","sources":["../../../src/server/handlers/imagine.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAkB,MAAM,wBAAwB,CAAA;AAM/E;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,QAAQ,CACN,MAAM,EAAE;QACN,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;QAC7C,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAC9C,EACD,MAAM,EAAE,MAAM,GACb,OAAO,CAAC;QAAE,KAAK,EAAE,WAAW,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IAEjG,cAAc,CAAC,CACb,MAAM,EAAE;QACN,MAAM,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;QAC7C,KAAK,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAC9C,EACD,MAAM,EAAE,MAAM,GACb,aAAa,CACZ;QAAE,IAAI,EAAE,UAAU,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GACjD;QAAE,IAAI,EAAE,UAAU,CAAC;QAAC,KAAK,EAAE,WAAW,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GACrF;QAAE,IAAI,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CACrC,CAAA;IAED,MAAM,IAAI,OAAO,CAAC;QAAE,MAAM,EAAE,IAAI,GAAG,aAAa,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IAChF,eAAe,IAAI,KAAK,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IAC7F,cAAc,IAAI,KAAK,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CACvF;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,cAAc,CAAA;CACxB;AAsHD;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,CAAC,EAAE,qBAAqB,GAAG,iBAAiB,CA4MvF"}
@@ -1,86 +1,94 @@
1
1
  /**
2
2
  * @module server/handlers/imagine
3
3
  * @description Imagine namespace handler — generate, list, search, and manage
4
- * images via a GPU inference backend.
4
+ * AI-generated images via a GPU inference backend.
5
5
  *
6
- * The handler delegates image generation to an injected {@link ImagineBackend}
7
- * interface and stores results as Brainy noun entities with VFS-backed PNG files.
8
- * The backend is the Rust ONNX sidecar (imagine-gpu binary) or any HTTP service
9
- * that implements the generate contract.
6
+ * ## Entity Model
10
7
  *
11
- * Storage is fully Brainy-native: each image is a `media` noun entity with prompt
12
- * metadata (searchable via semantic search) and a VFS file at `/images/{id}.png`.
8
+ * Each generated image is stored as two Brainy entities connected by a verb:
13
9
  *
14
- * Methods:
15
- * - `generate` Generate images and store in Brainy
16
- * - `generateStream` Streaming generation with progress events
17
- * - `list` — List/search user's image gallery
18
- * - `get` — Get single image metadata
19
- * - `getBytes` — Get raw PNG bytes
20
- * - `delete` Delete image (entity + VFS file)
21
- * - `getPresets` — Available style and size presets
22
- * - `health` — GPU backend health check
10
+ * - **Noun** (type: `document`) — the generation record: prompt text as `data`
11
+ * (enables Cortex semantic search), with style, seed, dimensions, timing in
12
+ * `metadata`. Marked with `metadata.imagineGeneration: true` to distinguish
13
+ * from other document nouns.
14
+ *
15
+ * - **VFS file** (type: `media`)the actual PNG bytes at `/images/{id}.png`,
16
+ * managed by Brainy's virtual filesystem. Has `metadata.isVFS: true`.
17
+ *
18
+ * - **Verb** (`creates`)relates the generation document to the VFS image.
19
+ *
20
+ * Gallery queries target `noun: 'document'` with `metadata.imagineGeneration: true`,
21
+ * so VFS entries and other document types are excluded.
23
22
  */
24
23
  // ─────────────────────────────────────────────────────────────────────────────
25
24
  // Constants
26
25
  // ─────────────────────────────────────────────────────────────────────────────
27
26
  /** VFS directory where generated images are stored. */
28
27
  const IMAGES_VFS_PATH = '/images';
28
+ /** Brainy noun type for generation records (the prompt/metadata, not the image). */
29
+ const GEN_NOUN_TYPE = 'document';
30
+ /** Metadata flag distinguishing Imagine generation records from other documents. */
31
+ const GEN_FLAG = 'imagineGeneration';
32
+ /** Verb type linking generation → VFS image file. */
33
+ const GEN_VERB = 'creates';
29
34
  // ─────────────────────────────────────────────────────────────────────────────
30
35
  // Internal helpers
31
36
  // ─────────────────────────────────────────────────────────────────────────────
32
- /**
33
- * @description Resolve a style preset key to its prompt prefix.
34
- * @param key - Style preset key.
35
- * @param backend - The GPU backend (for preset lookup).
36
- * @returns The prefix string (empty for "none").
37
- */
38
37
  function resolveStylePrefix(key, backend) {
39
- const presets = backend.getStylePresets();
40
- const preset = presets.find((s) => s.key === key);
38
+ const preset = backend.getStylePresets().find((s) => s.key === key);
41
39
  return preset?.prefix ?? '';
42
40
  }
43
- /**
44
- * @description Resolve a size preset key to dimensions.
45
- * @param key - Size preset key.
46
- * @param backend - The GPU backend (for preset lookup).
47
- * @returns Width and height in pixels.
48
- */
49
41
  function resolveDimensions(key, backend) {
50
- const presets = backend.getSizePresets();
51
- const preset = presets.find((s) => s.key === key);
42
+ const preset = backend.getSizePresets().find((s) => s.key === key);
52
43
  return preset ?? { width: 1024, height: 576 };
53
44
  }
54
45
  /**
55
- * @description Extract image metadata from a Brainy Result or Entity.
56
- * @param r - A result from brain.find() or brain.get().
57
- * @returns Normalized image metadata.
46
+ * @description Extract image metadata from a Brainy generation entity.
47
+ * The prompt is stored as `data` (string); structured fields in `metadata`.
58
48
  */
59
49
  function toImageMeta(r) {
60
- const d = (r.data ?? {});
50
+ const meta = (r.metadata ?? {});
51
+ const prompt = typeof r.data === 'string' ? r.data : '';
61
52
  return {
62
53
  id: r.id,
63
- prompt: d['prompt'] ?? '',
64
- style: d['style'] ?? 'none',
65
- size: d['size'] ?? 'landscape',
66
- steps: d['steps'] ?? 25,
67
- guidance: d['guidance'] ?? 7.5,
68
- seed: d['seed'] ?? 0,
69
- width: d['width'] ?? 1024,
70
- height: d['height'] ?? 576,
71
- elapsed: d['elapsed'] ?? 0,
72
- createdAt: d['createdAt'] ?? 0,
54
+ prompt,
55
+ style: meta['style'] ?? 'none',
56
+ size: meta['size'] ?? 'landscape',
57
+ steps: meta['steps'] ?? 25,
58
+ guidance: meta['guidance'] ?? 7.5,
59
+ seed: meta['seed'] ?? 0,
60
+ width: meta['width'] ?? 1024,
61
+ height: meta['height'] ?? 576,
62
+ elapsed: meta['elapsed'] ?? 0,
63
+ createdAt: meta['createdAt'] ?? 0,
73
64
  filename: `${r.id}.png`,
74
65
  };
75
66
  }
76
67
  /**
77
- * @description Store a generated image in Brainy (entity + VFS file).
78
- * @returns The entity ID.
68
+ * @description Store a generated image in Brainy.
69
+ *
70
+ * 1. Write PNG to VFS (`/images/{uuid}.png`) — creates a `media` noun internally
71
+ * 2. Create `document` noun with prompt as data + generation metadata
72
+ * 3. Relate document → VFS file via `creates` verb
73
+ *
74
+ * @returns The generation document entity ID.
79
75
  */
80
76
  async function storeImage(brain, imageBytes, meta) {
81
- const id = await brain.add({
82
- data: {
83
- prompt: meta.prompt,
77
+ // 1. Write PNG to VFS
78
+ await brain.vfs.mkdir(IMAGES_VFS_PATH, { recursive: true });
79
+ // Use a temp ID for the filename — we'll use the generation entity ID
80
+ const tempId = crypto.randomUUID();
81
+ const vfsPath = `${IMAGES_VFS_PATH}/${tempId}.png`;
82
+ await brain.vfs.writeFile(vfsPath, Buffer.from(imageBytes));
83
+ // 2. Create generation document noun
84
+ // data = prompt text (enables semantic search via Cortex)
85
+ // metadata = structured generation parameters
86
+ const genId = await brain.add({
87
+ type: GEN_NOUN_TYPE,
88
+ data: meta.prompt,
89
+ metadata: {
90
+ name: meta.prompt.slice(0, 100),
91
+ [GEN_FLAG]: true,
84
92
  style: meta.style,
85
93
  size: meta.size,
86
94
  steps: meta.steps,
@@ -90,18 +98,18 @@ async function storeImage(brain, imageBytes, meta) {
90
98
  height: meta.height,
91
99
  elapsed: meta.elapsed,
92
100
  createdAt: Date.now(),
93
- },
94
- type: 'media',
95
- metadata: {
96
- name: meta.prompt.slice(0, 100),
97
- mediaType: 'image/png',
101
+ vfsPath,
98
102
  },
99
103
  });
100
- // Write PNG to VFS
101
- const vfsPath = `${IMAGES_VFS_PATH}/${id}.png`;
102
- await brain.vfs.mkdir(IMAGES_VFS_PATH, { recursive: true });
103
- await brain.vfs.writeFile(vfsPath, Buffer.from(imageBytes));
104
- return id;
104
+ // 3. Relate generation VFS file
105
+ await brain.relate({
106
+ from: genId,
107
+ to: vfsPath,
108
+ type: GEN_VERB,
109
+ }).catch(() => {
110
+ // VFS entity may not be directly addressable — non-fatal
111
+ });
112
+ return genId;
105
113
  }
106
114
  // ─────────────────────────────────────────────────────────────────────────────
107
115
  // Handler factory
@@ -109,31 +117,14 @@ async function storeImage(brain, imageBytes, meta) {
109
117
  /**
110
118
  * @description Creates the `imagine` namespace handler.
111
119
  *
112
- * The handler uses `ctx.brain` for per-user image storage (Brainy noun entities
113
- * + VFS files) and delegates GPU inference to the injected {@link ImagineBackend}.
114
- *
115
120
  * @param options - Handler dependencies. If omitted, all methods throw.
116
121
  * @returns A {@link NamespaceProvider} implementing {@link ImagineNamespace}.
117
- *
118
- * @example Wiring in Imagine's hooks.server.ts
119
- * ```typescript
120
- * import { createImagineHandler } from '@soulcraft/sdk/server'
121
- * import { imagineBackend } from '$lib/server/gpu-client.js'
122
- *
123
- * export const routerConfig = {
124
- * resolveBrain: async (ctx) => getUserBrain(ctx.user.id, ctx.user.email),
125
- * providers: {
126
- * imagine: createImagineHandler({ backend: imagineBackend }),
127
- * },
128
- * }
129
- * ```
130
122
  */
131
123
  export function createImagineHandler(options) {
132
124
  const backend = options?.backend;
133
125
  function requireBackend() {
134
126
  if (!backend) {
135
- throw new Error('imagine namespace is not configured — provide an ImagineBackend via providers.imagine. ' +
136
- 'The imagine backend is hosted by imagine.soulcraft.com.');
127
+ throw new Error('imagine namespace is not configured — provide an ImagineBackend via providers.imagine.');
137
128
  }
138
129
  return backend;
139
130
  }
@@ -158,29 +149,13 @@ export function createImagineHandler(options) {
158
149
  const result = await gpu.generate({ prompt: fullPrompt, width, height, steps, guidance, seed }, ctx.user.id);
159
150
  const elapsed = (performance.now() - start) / 1000;
160
151
  const id = await storeImage(brain, result.bytes, {
161
- prompt: params.prompt,
162
- style,
163
- size: sizeKey,
164
- steps,
165
- guidance,
166
- seed: result.seed,
167
- width: result.width,
168
- height: result.height,
169
- elapsed,
152
+ prompt: params.prompt, style, size: sizeKey, steps, guidance,
153
+ seed: result.seed, width: result.width, height: result.height, elapsed,
170
154
  });
171
155
  images.push({
172
- id,
173
- prompt: params.prompt,
174
- style,
175
- size: sizeKey,
176
- steps,
177
- guidance,
178
- seed: result.seed,
179
- width: result.width,
180
- height: result.height,
181
- elapsed,
182
- createdAt: Date.now(),
183
- filename: `${id}.png`,
156
+ id, prompt: params.prompt, style, size: sizeKey, steps, guidance,
157
+ seed: result.seed, width: result.width, height: result.height,
158
+ elapsed, createdAt: Date.now(), filename: `${id}.png`,
184
159
  });
185
160
  }
186
161
  return images;
@@ -199,9 +174,7 @@ export function createImagineHandler(options) {
199
174
  if (gpu.generateStream) {
200
175
  const start = performance.now();
201
176
  let resultBytes = null;
202
- let resultSeed = seed;
203
- let resultWidth = width;
204
- let resultHeight = height;
177
+ let resultSeed = seed, resultWidth = width, resultHeight = height;
205
178
  for await (const event of gpu.generateStream({ prompt: fullPrompt, width, height, steps, guidance, seed }, ctx.user.id)) {
206
179
  if (event.type === 'progress') {
207
180
  yield { type: 'progress', step: event.step, total: event.total };
@@ -226,8 +199,7 @@ export function createImagineHandler(options) {
226
199
  yield {
227
200
  type: 'complete',
228
201
  images: [{
229
- id,
230
- prompt: params.prompt, style, size: sizeKey, steps, guidance,
202
+ id, prompt: params.prompt, style, size: sizeKey, steps, guidance,
231
203
  seed: resultSeed, width: resultWidth, height: resultHeight,
232
204
  elapsed, createdAt: Date.now(), filename: `${id}.png`,
233
205
  }],
@@ -235,10 +207,7 @@ export function createImagineHandler(options) {
235
207
  }
236
208
  }
237
209
  else {
238
- // Fallback: non-streaming generate with simulated progress
239
- for (let step = 1; step <= steps; step++) {
240
- yield { type: 'progress', step, total: steps };
241
- }
210
+ yield { type: 'progress', step: 0, total: steps };
242
211
  const start = performance.now();
243
212
  const result = await gpu.generate({ prompt: fullPrompt, width, height, steps, guidance, seed }, ctx.user.id);
244
213
  const elapsed = (performance.now() - start) / 1000;
@@ -249,8 +218,7 @@ export function createImagineHandler(options) {
249
218
  yield {
250
219
  type: 'complete',
251
220
  images: [{
252
- id,
253
- prompt: params.prompt, style, size: sizeKey, steps, guidance,
221
+ id, prompt: params.prompt, style, size: sizeKey, steps, guidance,
254
222
  seed: result.seed, width: result.width, height: result.height,
255
223
  elapsed, createdAt: Date.now(), filename: `${id}.png`,
256
224
  }],
@@ -260,9 +228,14 @@ export function createImagineHandler(options) {
260
228
  async list(options, ctx) {
261
229
  const { brain } = ctx;
262
230
  const limit = options?.limit ?? 50;
231
+ // Query document nouns with imagineGeneration flag — excludes VFS entries
232
+ const where = {
233
+ noun: GEN_NOUN_TYPE,
234
+ [`metadata.${GEN_FLAG}`]: true,
235
+ };
263
236
  const results = options?.query
264
- ? await brain.find({ query: options.query, where: { noun: 'media' }, limit })
265
- : await brain.find({ where: { noun: 'media' }, limit });
237
+ ? await brain.find({ query: options.query, where, limit })
238
+ : await brain.find({ where, limit });
266
239
  return results.map(toImageMeta);
267
240
  },
268
241
  async get(imageId, ctx) {
@@ -273,8 +246,9 @@ export function createImagineHandler(options) {
273
246
  },
274
247
  async getBytes(imageId, ctx) {
275
248
  try {
276
- const buffer = await ctx.brain.vfs.readFile(`${IMAGES_VFS_PATH}/${imageId}.png`);
277
- // Return as ArrayBuffer
249
+ const entity = await ctx.brain.get(imageId);
250
+ const vfsPath = entity?.metadata?.vfsPath ?? `${IMAGES_VFS_PATH}/${imageId}.png`;
251
+ const buffer = await ctx.brain.vfs.readFile(vfsPath);
278
252
  if (buffer instanceof ArrayBuffer)
279
253
  return buffer;
280
254
  if (Buffer.isBuffer(buffer))
@@ -286,9 +260,11 @@ export function createImagineHandler(options) {
286
260
  }
287
261
  },
288
262
  async delete(imageId, ctx) {
263
+ const entity = await ctx.brain.get(imageId);
264
+ const vfsPath = entity?.metadata?.vfsPath ?? `${IMAGES_VFS_PATH}/${imageId}.png`;
289
265
  await ctx.brain.delete(imageId);
290
266
  try {
291
- await ctx.brain.vfs.unlink(`${IMAGES_VFS_PATH}/${imageId}.png`);
267
+ await ctx.brain.vfs.unlink(vfsPath);
292
268
  }
293
269
  catch {
294
270
  // VFS file may already be gone
@@ -302,8 +278,7 @@ export function createImagineHandler(options) {
302
278
  };
303
279
  },
304
280
  async health() {
305
- const gpu = requireBackend();
306
- return gpu.health();
281
+ return requireBackend().health();
307
282
  },
308
283
  };
309
284
  }
@@ -1 +1 @@
1
- {"version":3,"file":"imagine.js","sourceRoot":"","sources":["../../../src/server/handlers/imagine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"imagine.js","sourceRoot":"","sources":["../../../src/server/handlers/imagine.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AA6CH,gFAAgF;AAChF,YAAY;AACZ,gFAAgF;AAEhF,uDAAuD;AACvD,MAAM,eAAe,GAAG,SAAS,CAAA;AAEjC,oFAAoF;AACpF,MAAM,aAAa,GAAG,UAAU,CAAA;AAEhC,oFAAoF;AACpF,MAAM,QAAQ,GAAG,mBAAmB,CAAA;AAEpC,qDAAqD;AACrD,MAAM,QAAQ,GAAG,SAAS,CAAA;AAE1B,gFAAgF;AAChF,mBAAmB;AACnB,gFAAgF;AAEhF,SAAS,kBAAkB,CAAC,GAAW,EAAE,OAAuB;IAC9D,MAAM,MAAM,GAAG,OAAO,CAAC,eAAe,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,CAAA;IACnE,OAAO,MAAM,EAAE,MAAM,IAAI,EAAE,CAAA;AAC7B,CAAC;AAED,SAAS,iBAAiB,CAAC,GAAW,EAAE,OAAuB;IAC7D,MAAM,MAAM,GAAG,OAAO,CAAC,cAAc,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,CAAA;IAClE,OAAO,MAAM,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,CAAA;AAC/C,CAAC;AAED;;;GAGG;AACH,SAAS,WAAW,CAAC,CAAqE;IACxF,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,QAAQ,IAAI,EAAE,CAA4B,CAAA;IAC1D,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAA;IACvD,OAAO;QACL,EAAE,EAAE,CAAC,CAAC,EAAE;QACR,MAAM;QACN,KAAK,EAAG,IAAI,CAAC,OAAO,CAAY,IAAI,MAAM;QAC1C,IAAI,EAAG,IAAI,CAAC,MAAM,CAAY,IAAI,WAAW;QAC7C,KAAK,EAAG,IAAI,CAAC,OAAO,CAAY,IAAI,EAAE;QACtC,QAAQ,EAAG,IAAI,CAAC,UAAU,CAAY,IAAI,GAAG;QAC7C,IAAI,EAAG,IAAI,CAAC,MAAM,CAAY,IAAI,CAAC;QACnC,KAAK,EAAG,IAAI,CAAC,OAAO,CAAY,IAAI,IAAI;QACxC,MAAM,EAAG,IAAI,CAAC,QAAQ,CAAY,IAAI,GAAG;QACzC,OAAO,EAAG,IAAI,CAAC,SAAS,CAAY,IAAI,CAAC;QACzC,SAAS,EAAG,IAAI,CAAC,WAAW,CAAY,IAAI,CAAC;QAC7C,QAAQ,EAAE,GAAG,CAAC,CAAC,EAAE,MAAM;KACxB,CAAA;AACH,CAAC;AAED;;;;;;;;GAQG;AACH,KAAK,UAAU,UAAU,CACvB,KAAU,EACV,UAAuB,EACvB,IAGC;IAED,sBAAsB;IACtB,MAAM,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,eAAe,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IAE3D,sEAAsE;IACtE,MAAM,MAAM,GAAG,MAAM,CAAC,UAAU,EAAE,CAAA;IAClC,MAAM,OAAO,GAAG,GAAG,eAAe,IAAI,MAAM,MAAM,CAAA;IAClD,MAAM,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAA;IAE3D,qCAAqC;IACrC,6DAA6D;IAC7D,iDAAiD;IACjD,MAAM,KAAK,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC;QAC5B,IAAI,EAAE,aAAa;QACnB,IAAI,EAAE,IAAI,CAAC,MAAM;QACjB,QAAQ,EAAE;YACR,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;YAC/B,CAAC,QAAQ,CAAC,EAAE,IAAI;YAChB,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,QAAQ,EAAE,IAAI,CAAC,QAAQ;YACvB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,KAAK,EAAE,IAAI,CAAC,KAAK;YACjB,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;YACrB,OAAO;SACR;KACF,CAAC,CAAA;IAEF,kCAAkC;IAClC,MAAM,KAAK,CAAC,MAAM,CAAC;QACjB,IAAI,EAAE,KAAK;QACX,EAAE,EAAE,OAAO;QACX,IAAI,EAAE,QAAQ;KACf,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;QACZ,yDAAyD;IAC3D,CAAC,CAAC,CAAA;IAEF,OAAO,KAAK,CAAA;AACd,CAAC;AAED,gFAAgF;AAChF,kBAAkB;AAClB,gFAAgF;AAEhF;;;;;GAKG;AACH,MAAM,UAAU,oBAAoB,CAAC,OAA+B;IAClE,MAAM,OAAO,GAAG,OAAO,EAAE,OAAO,CAAA;IAEhC,SAAS,cAAc;QACrB,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CACb,wFAAwF,CACzF,CAAA;QACH,CAAC;QACD,OAAO,OAAO,CAAA;IAChB,CAAC;IAED,OAAO;QACL,KAAK,CAAC,QAAQ,CACZ,MAGC,EACD,GAAmB;YAEnB,MAAM,GAAG,GAAG,cAAc,EAAE,CAAA;YAC5B,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,CAAA;YACrB,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;YACzD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,MAAM,CAAA;YACpC,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,IAAI,WAAW,CAAA;YAC1C,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,EAAE,CAAA;YAChC,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,GAAG,CAAA;YACvC,MAAM,MAAM,GAAG,kBAAkB,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;YAC7C,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,iBAAiB,CAAC,OAAO,EAAE,GAAG,CAAC,CAAA;YACzD,MAAM,UAAU,GAAG,MAAM,GAAG,MAAM,CAAC,MAAM,CAAA;YAEzC,MAAM,MAAM,GAAG,EAAE,CAAA;YAEjB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC/B,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,IAAI;oBAC9B,CAAC,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC;oBACjB,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,UAAU,CAAC,CAAA;gBAE1C,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE,CAAA;gBAC/B,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,QAAQ,CAC/B,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,EAC5D,GAAG,CAAC,IAAI,CAAC,EAAE,CACZ,CAAA;gBACD,MAAM,OAAO,GAAG,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,GAAG,IAAI,CAAA;gBAElD,MAAM,EAAE,GAAG,MAAM,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE;oBAC/C,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ;oBAC5D,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO;iBACvE,CAAC,CAAA;gBAEF,MAAM,CAAC,IAAI,CAAC;oBACV,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ;oBAChE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM;oBAC7D,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM;iBACtD,CAAC,CAAA;YACJ,CAAC;YAED,OAAO,MAAM,CAAA;QACf,CAAC;QAED,KAAK,CAAC,CAAC,cAAc,CACnB,MAGC,EACD,GAAmB;YAEnB,MAAM,GAAG,GAAG,cAAc,EAAE,CAAA;YAC5B,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,CAAA;YACrB,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,MAAM,CAAA;YACpC,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,IAAI,WAAW,CAAA;YAC1C,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,IAAI,EAAE,CAAA;YAChC,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,IAAI,GAAG,CAAA;YACvC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,UAAU,CAAC,CAAA;YAClE,MAAM,MAAM,GAAG,kBAAkB,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;YAC7C,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,iBAAiB,CAAC,OAAO,EAAE,GAAG,CAAC,CAAA;YACzD,MAAM,UAAU,GAAG,MAAM,GAAG,MAAM,CAAC,MAAM,CAAA;YAEzC,IAAI,GAAG,CAAC,cAAc,EAAE,CAAC;gBACvB,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE,CAAA;gBAC/B,IAAI,WAAW,GAAuB,IAAI,CAAA;gBAC1C,IAAI,UAAU,GAAG,IAAI,EAAE,WAAW,GAAG,KAAK,EAAE,YAAY,GAAG,MAAM,CAAA;gBAEjE,IAAI,KAAK,EAAE,MAAM,KAAK,IAAI,GAAG,CAAC,cAAc,CAC1C,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,EAC5D,GAAG,CAAC,IAAI,CAAC,EAAE,CACZ,EAAE,CAAC;oBACF,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;wBAC9B,MAAM,EAAE,IAAI,EAAE,UAAmB,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAA;oBAC3E,CAAC;yBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;wBACrC,WAAW,GAAG,KAAK,CAAC,KAAK,CAAA;wBACzB,UAAU,GAAG,KAAK,CAAC,IAAI,CAAA;wBACvB,WAAW,GAAG,KAAK,CAAC,KAAK,CAAA;wBACzB,YAAY,GAAG,KAAK,CAAC,MAAM,CAAA;oBAC7B,CAAC;yBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;wBAClC,MAAM,EAAE,IAAI,EAAE,OAAgB,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAA;wBACxD,OAAM;oBACR,CAAC;gBACH,CAAC;gBAED,IAAI,WAAW,EAAE,CAAC;oBAChB,MAAM,OAAO,GAAG,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,GAAG,IAAI,CAAA;oBAClD,MAAM,EAAE,GAAG,MAAM,UAAU,CAAC,KAAK,EAAE,WAAW,EAAE;wBAC9C,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ;wBAC5D,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,YAAY,EAAE,OAAO;qBACpE,CAAC,CAAA;oBACF,MAAM;wBACJ,IAAI,EAAE,UAAmB;wBACzB,MAAM,EAAE,CAAC;gCACP,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ;gCAChE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,EAAE,YAAY;gCAC1D,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM;6BACtD,CAAC;qBACH,CAAA;gBACH,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,MAAM,EAAE,IAAI,EAAE,UAAmB,EAAE,IAAI,EAAE,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAA;gBAE1D,MAAM,KAAK,GAAG,WAAW,CAAC,GAAG,EAAE,CAAA;gBAC/B,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,QAAQ,CAC/B,EAAE,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,EAC5D,GAAG,CAAC,IAAI,CAAC,EAAE,CACZ,CAAA;gBACD,MAAM,OAAO,GAAG,CAAC,WAAW,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,GAAG,IAAI,CAAA;gBAElD,MAAM,EAAE,GAAG,MAAM,UAAU,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE;oBAC/C,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ;oBAC5D,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO;iBACvE,CAAC,CAAA;gBAEF,MAAM;oBACJ,IAAI,EAAE,UAAmB;oBACzB,MAAM,EAAE,CAAC;4BACP,EAAE,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ;4BAChE,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM;4BAC7D,OAAO,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM;yBACtD,CAAC;iBACH,CAAA;YACH,CAAC;QACH,CAAC;QAED,KAAK,CAAC,IAAI,CACR,OAAuD,EACvD,GAAmB;YAEnB,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,CAAA;YACrB,MAAM,KAAK,GAAG,OAAO,EAAE,KAAK,IAAI,EAAE,CAAA;YAElC,0EAA0E;YAC1E,MAAM,KAAK,GAAG;gBACZ,IAAI,EAAE,aAAa;gBACnB,CAAC,YAAY,QAAQ,EAAE,CAAC,EAAE,IAAI;aAC/B,CAAA;YACD,MAAM,OAAO,GAAG,OAAO,EAAE,KAAK;gBAC5B,CAAC,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAS,CAAC;gBACjE,CAAC,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,KAAK,EAAS,CAAC,CAAA;YAE7C,OAAO,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,CAAA;QACjC,CAAC;QAED,KAAK,CAAC,GAAG,CAAC,OAAe,EAAE,GAAmB;YAC5C,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;YAC3C,IAAI,CAAC,MAAM;gBAAE,OAAO,IAAI,CAAA;YACxB,OAAO,WAAW,CAAC,MAAa,CAAC,CAAA;QACnC,CAAC;QAED,KAAK,CAAC,QAAQ,CAAC,OAAe,EAAE,GAAmB;YACjD,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAQ,CAAA;gBAClD,MAAM,OAAO,GAAG,MAAM,EAAE,QAAQ,EAAE,OAAO,IAAI,GAAG,eAAe,IAAI,OAAO,MAAM,CAAA;gBAChF,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;gBACpD,IAAI,MAAM,YAAY,WAAW;oBAAE,OAAO,MAAM,CAAA;gBAChD,IAAI,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;oBAAE,OAAO,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAgB,CAAA;gBAChI,OAAO,IAAI,CAAA;YACb,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,IAAI,CAAA;YACb,CAAC;QACH,CAAC;QAED,KAAK,CAAC,MAAM,CAAC,OAAe,EAAE,GAAmB;YAC/C,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,OAAO,CAAQ,CAAA;YAClD,MAAM,OAAO,GAAG,MAAM,EAAE,QAAQ,EAAE,OAAO,IAAI,GAAG,eAAe,IAAI,OAAO,MAAM,CAAA;YAEhF,MAAM,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;YAE/B,IAAI,CAAC;gBACH,MAAM,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;YACrC,CAAC;YAAC,MAAM,CAAC;gBACP,+BAA+B;YACjC,CAAC;QACH,CAAC;QAED,KAAK,CAAC,UAAU;YACd,MAAM,GAAG,GAAG,cAAc,EAAE,CAAA;YAC5B,OAAO;gBACL,MAAM,EAAE,GAAG,CAAC,eAAe,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC;gBACjG,KAAK,EAAE,GAAG,CAAC,cAAc,EAAE;aAC5B,CAAA;QACH,CAAC;QAED,KAAK,CAAC,MAAM;YACV,OAAO,cAAc,EAAE,CAAC,MAAM,EAAE,CAAA;QAClC,CAAC;KACF,CAAA;AACH,CAAC"}
@@ -38,6 +38,7 @@
38
38
  * ```
39
39
  */
40
40
  import type { Brainy } from '@soulcraft/brainy';
41
+ import type { NamespaceTransport } from '../transports/transport.js';
41
42
  import type { SoulcraftRPC, SoulcraftRPCResponse } from '../rpc.js';
42
43
  /**
43
44
  * Context extracted from an incoming request. Passed to `authenticate` and
@@ -108,15 +109,17 @@ export type NamespaceProviders = Record<string, NamespaceProvider | undefined>;
108
109
  */
109
110
  export interface NamespaceRouterConfig {
110
111
  /**
111
- * Resolves the Brainy instance for this request context.
112
+ * Resolves the brain transport for this request context.
112
113
  *
113
- * Called when the target namespace is `brainy`, `brainy.vfs`, or
114
- * `brainy.versions`, or when a Tier 2 handler needs a brain instance.
114
+ * Returns either a real `Brainy` instance (local workspaces) or a
115
+ * `NamespaceTransport` (remote workspaces, e.g. WsTransport to Venue).
116
+ * The namespace router handles both transparently — local brains are
117
+ * dispatched via `LocalTransport`, remote transports via `callNs()`.
115
118
  *
116
119
  * @param ctx - The request context with authenticated user and workspace ID.
117
- * @returns The Brainy instance for this user + workspace.
120
+ * @returns A Brainy instance or NamespaceTransport for RPC forwarding.
118
121
  */
119
- resolveBrain: (ctx: RequestContext) => Promise<Brainy>;
122
+ resolveBrain: (ctx: RequestContext) => Promise<Brainy | NamespaceTransport>;
120
123
  /**
121
124
  * Authenticates the incoming request.
122
125
  *
@@ -1 +1 @@
1
- {"version":3,"file":"namespace-router.d.ts","sourceRoot":"","sources":["../../src/server/namespace-router.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"namespace-router.d.ts","sourceRoot":"","sources":["../../src/server/namespace-router.ts"],"names":[],"mappings":"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"}
@@ -230,7 +230,27 @@ async function _dispatchBrainy(id, ns, method, args, ctx, resolveBrain, blockedM
230
230
  console.error('[SDK/router] resolveBrain threw:', err);
231
231
  return _errorResponse(id, 503, 'BRAIN_UNAVAILABLE', 'Brainy instance not available');
232
232
  }
233
- // Dispatch via LocalTransport (same proven path as SDK 1.x)
233
+ // Check if this brain is a remote proxy (created by createSoulcraftProxy).
234
+ // Remote proxies expose `_transport` — the underlying WsTransport to the
235
+ // remote server. If present, forward the RPC directly through the transport
236
+ // instead of wrapping in LocalTransport (which fails on proxies because
237
+ // property-access traversal creates sub-proxies instead of returning real objects).
238
+ const remoteTransport = brain._transport;
239
+ if (remoteTransport) {
240
+ // Remote brain proxy — forward RPC directly to the remote server
241
+ try {
242
+ const result = await remoteTransport.callNs(ns, method, args);
243
+ return {
244
+ type: 'response',
245
+ response: { id, result },
246
+ };
247
+ }
248
+ catch (err) {
249
+ const message = err instanceof Error ? err.message : String(err);
250
+ return _errorResponse(id, 500, 'RPC_ERROR', message);
251
+ }
252
+ }
253
+ // Local brain — dispatch via LocalTransport (direct method call)
234
254
  const transport = new LocalTransport(brain);
235
255
  try {
236
256
  const raw = await transport.call(transportMethod, args);
@@ -1 +1 @@
1
- {"version":3,"file":"namespace-router.js","sourceRoot":"","sources":["../../src/server/namespace-router.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AAGH,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAqMvD,gFAAgF;AAChF,4BAA4B;AAC5B,gFAAgF;AAEhF,mEAAmE;AACnE,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC,CAAC,QAAQ,EAAE,YAAY,EAAE,iBAAiB,CAAC,CAAC,CAAA;AAE9E;;;;;GAKG;AACH,SAAS,iBAAiB,CAAC,EAAU;IACnC,OAAO,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,CAAA;AAC9D,CAAC;AAED,gFAAgF;AAChF,UAAU;AACV,gFAAgF;AAEhF;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,UAAU,qBAAqB,CAAC,MAA6B;IACjE,MAAM,EACJ,YAAY,EACZ,YAAY,EACZ,SAAS,EACT,SAAS,EACT,oBAAoB,GAAG,EAAE,GAC1B,GAAG,MAAM,CAAA;IAEV,OAAO;QACL,KAAK,CAAC,QAAQ,CAAC,GAAiB,EAAE,YAA+C;YAC/E,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,GAAG,CAAA;YAE5C,6EAA6E;YAC7E,MAAM,SAAS,GAAG,CAAC,CAAC,YAAY,YAAY,OAAO,CAAC,IAAI,MAAM,IAAI,YAAY,CAAA;YAC9E,MAAM,OAAO,GAAY,SAAS;gBAChC,CAAC,CAAE,YAAwC,CAAC,OAAO;gBACnD,CAAC,CAAE,YAAwB,CAAA;YAE7B,qEAAqE;YACrE,MAAM,WAAW,GAAG,SAAS;gBAC3B,CAAC,CAAE,YAAwC,CAAC,WAAW;gBACvD,CAAC,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAA;YAEhC,sEAAsE;YACtE,MAAM,GAAG,GAAmB;gBAC1B,OAAO;gBACP,IAAI,EAAE,SAAS,CAAC,CAAC,CAAE,YAAwC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI;gBACvE,WAAW;aACZ,CAAA;YAED,qEAAqE;YACrE,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,IAAI,CAAC;oBACH,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,GAAG,CAAC,CAAA;oBACpC,IAAI,CAAC,IAAI,EAAE,CAAC;wBACV,OAAO,cAAc,CAAC,EAAE,EAAE,GAAG,EAAE,cAAc,EAAE,yBAAyB,CAAC,CAAA;oBAC3E,CAAC;oBACD,GAAG,CAAC,IAAI,GAAG,IAAI,CAAA;gBACjB,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,OAAO,CAAC,KAAK,CAAC,kCAAkC,EAAE,GAAG,CAAC,CAAA;oBACtD,OAAO,cAAc,CAAC,EAAE,EAAE,GAAG,EAAE,YAAY,EAAE,uBAAuB,CAAC,CAAA;gBACvE,CAAC;YACH,CAAC;YAED,qEAAqE;YACrE,IAAI,SAAS,EAAE,CAAC;gBACd,IAAI,CAAC;oBACH,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,IAAK,CAAC,CAAA;oBAC5D,IAAI,CAAC,OAAO,EAAE,CAAC;wBACb,OAAO,cAAc,CAAC,EAAE,EAAE,GAAG,EAAE,WAAW,EAAE,mBAAmB,EAAE,IAAI,MAAM,EAAE,CAAC,CAAA;oBAChF,CAAC;gBACH,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,OAAO,CAAC,KAAK,CAAC,+BAA+B,EAAE,GAAG,CAAC,CAAA;oBACnD,OAAO,cAAc,CAAC,EAAE,EAAE,GAAG,EAAE,WAAW,EAAE,4BAA4B,CAAC,CAAA;gBAC3E,CAAC;YACH,CAAC;YAED,qEAAqE;YACrE,IAAI,iBAAiB,CAAC,EAAE,CAAC,EAAE,CAAC;gBAC1B,OAAO,eAAe,CAAC,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,YAAY,EAAE,oBAAoB,CAAC,CAAA;YACvF,CAAC;YAED,sEAAsE;YACtE,MAAM,QAAQ,GAAG,SAAS,CAAC,EAAE,CAAC,CAAA;YAC9B,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,OAAO,cAAc,CAAC,EAAE,EAAE,GAAG,EAAE,qBAAqB,EAAE,cAAc,EAAE,qBAAqB,CAAC,CAAA;YAC9F,CAAC;YAED,MAAM,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAA;YAClC,IAAI,OAAO,SAAS,KAAK,UAAU,EAAE,CAAC;gBACpC,OAAO,cAAc,CAAC,EAAE,EAAE,GAAG,EAAE,kBAAkB,EAAE,WAAW,EAAE,IAAI,MAAM,kBAAkB,CAAC,CAAA;YAC/F,CAAC;YAED,wEAAwE;YACxE,IAAI,KAAK,GAAkB,IAAI,CAAA;YAC/B,IAAI,CAAC;gBACH,KAAK,GAAG,MAAM,YAAY,CAAC,GAAG,CAAC,CAAA;YACjC,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,mDAAmD;gBACnD,MAAM,aAAa,GAAG,CAAC,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;gBAC5D,IAAI,aAAa,EAAE,CAAC;oBAClB,OAAO,CAAC,KAAK,CAAC,wCAAwC,EAAE,IAAI,MAAM,GAAG,EAAG,GAAa,CAAC,OAAO,CAAC,CAAA;oBAC9F,OAAO,cAAc,CAAC,EAAE,EAAE,GAAG,EAAE,mBAAmB,EAAE,4BAA4B,EAAE,IAAI,MAAM,KAAM,GAAa,CAAC,OAAO,EAAE,CAAC,CAAA;gBAC5H,CAAC;YACH,CAAC;YAED,MAAM,UAAU,GAAmB;gBACjC,IAAI,EAAE,GAAG,CAAC,IAAK;gBACf,WAAW;gBACX,KAAK,EAAE,KAAe;gBACtB,OAAO;aACR,CAAA;YAED,IAAI,CAAC;gBACH,kEAAkE;gBAClE,iEAAiE;gBACjE,mEAAmE;gBACnE,iEAAiE;gBACjE,kDAAkD;gBAClD,MAAM,YAAY,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,CAAA,CAAC,aAAa;gBACvD,MAAM,UAAU,GAAG,YAAY,GAAG,IAAI,CAAC,MAAM;oBAC3C,CAAC,CAAC,CAAC,GAAG,IAAI,EAAE,GAAG,IAAI,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;oBACrE,CAAC,CAAC,IAAI,CAAA;gBACR,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,GAAG,UAAU,EAAE,UAAU,CAAC,CAAA;gBAEzD,iEAAiE;gBACjE,IAAI,MAAM,IAAI,MAAM,IAAI,IAAI,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,aAAa,IAAK,MAAiB,EAAE,CAAC;oBACzG,OAAO;wBACL,IAAI,EAAE,QAAQ;wBACd,EAAE;wBACF,QAAQ,EAAE,MAAgC;qBAC3C,CAAA;gBACH,CAAC;gBAED,OAAO;oBACL,IAAI,EAAE,UAAU;oBAChB,QAAQ,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE;iBACzB,CAAA;YACH,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;gBAChE,OAAO,CAAC,KAAK,CAAC,gBAAgB,EAAE,IAAI,MAAM,SAAS,EAAE,GAAG,CAAC,CAAA;gBACzD,OAAO,cAAc,CAAC,EAAE,EAAE,GAAG,EAAE,WAAW,EAAE,OAAO,CAAC,CAAA;YACtD,CAAC;QACH,CAAC;KACF,CAAA;AACH,CAAC;AAED,gFAAgF;AAChF,kBAAkB;AAClB,gFAAgF;AAEhF;;;;;;;;;;;;;;;;GAgBG;AACH,KAAK,UAAU,eAAe,CAC5B,EAAU,EACV,EAAU,EACV,MAAc,EACd,IAAe,EACf,GAAmB,EACnB,YAAsD,EACtD,cAAwB;IAExB,iDAAiD;IACjD,wCAAwC;IACxC,qDAAqD;IACrD,0CAA0C;IAC1C,MAAM,KAAK,GAAG,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAA;IAC/D,MAAM,eAAe,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,MAAM,EAAE,CAAC,CAAC,CAAC,MAAM,CAAA;IAE7D,kBAAkB;IAClB,IAAI,cAAc,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;QAC7C,OAAO,cAAc,CAAC,EAAE,EAAE,GAAG,EAAE,WAAW,EAAE,WAAW,eAAe,4BAA4B,CAAC,CAAA;IACrG,CAAC;IAED,0BAA0B;IAC1B,IAAI,KAAa,CAAA;IACjB,IAAI,CAAC;QACH,KAAK,GAAG,MAAM,YAAY,CAAC,GAAG,CAAC,CAAA;IACjC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,kCAAkC,EAAE,GAAG,CAAC,CAAA;QACtD,OAAO,cAAc,CAAC,EAAE,EAAE,GAAG,EAAE,mBAAmB,EAAE,+BAA+B,CAAC,CAAA;IACtF,CAAC;IAED,4DAA4D;IAC5D,MAAM,SAAS,GAAG,IAAI,cAAc,CAAC,KAAK,CAAC,CAAA;IAC3C,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,CAAA;QACvD,iFAAiF;QACjF,wEAAwE;QACxE,uDAAuD;QACvD,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,CAAC,CAAA;QAC/B,OAAO;YACL,IAAI,EAAE,UAAU;YAChB,QAAQ,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE;SACzB,CAAA;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;QAChE,OAAO,cAAc,CAAC,EAAE,EAAE,GAAG,EAAE,WAAW,EAAE,OAAO,CAAC,CAAA;IACtD,CAAC;AACH,CAAC;AAED,gFAAgF;AAChF,UAAU;AACV,gFAAgF;AAEhF;;;;;;;;;;;GAWG;AACH,SAAS,WAAW,CAAC,KAAc;IACjC,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,KAAK,CAAA;IACvD,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAA;IAC3C,IAAI,KAAK,YAAY,IAAI;QAAE,OAAO,KAAK,CAAA;IACvC,IAAI,KAAK,YAAY,MAAM,IAAI,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAA;IAEtE,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,CAAA;IAC/B,CAAC;IAED,mFAAmF;IACnF,MAAM,GAAG,GAAG,KAAgC,CAAA;IAC5C,MAAM,MAAM,GAA4B,EAAE,CAAA;IAE1C,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACnC,MAAM,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAA;QAClB,IAAI,OAAO,CAAC,KAAK,UAAU,EAAE,CAAC;YAC5B,mFAAmF;YACnF,IAAI,CAAC;gBAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,6BAA6B,CAAC,CAAC;QAC3E,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAA;QAC9B,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,cAAc,CACrB,EAAU,EACV,OAAe,EACf,IAAY,EACZ,OAAe;IAEf,OAAO;QACL,IAAI,EAAE,UAAU;QAChB,QAAQ,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE;KAC3C,CAAA;AACH,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,mBAAmB,CAAC,OAAgB;IAC3C,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAA;IACxD,IAAI,UAAU;QAAE,OAAO,UAAU,CAAA;IAEjC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;QAChC,OAAO,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,EAAE,CAAA;IAClD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAA;IACX,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"namespace-router.js","sourceRoot":"","sources":["../../src/server/namespace-router.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@soulcraft/sdk",
3
- "version": "3.3.15",
3
+ "version": "3.3.17",
4
4
  "description": "The unified Soulcraft platform SDK — data, auth, AI, billing, and notifications",
5
5
  "type": "module",
6
6
  "publishConfig": {