@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.
- package/dist/client/namespace-proxy.js +5 -0
- package/dist/client/namespace-proxy.js.map +1 -1
- package/dist/server/handlers/imagine.d.ts +16 -61
- package/dist/server/handlers/imagine.d.ts.map +1 -1
- package/dist/server/handlers/imagine.js +93 -118
- package/dist/server/handlers/imagine.js.map +1 -1
- package/dist/server/namespace-router.d.ts +8 -5
- package/dist/server/namespace-router.d.ts.map +1 -1
- package/dist/server/namespace-router.js +21 -1
- package/dist/server/namespace-router.js.map +1 -1
- package/package.json +1 -1
|
@@ -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
|
-
*
|
|
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
|
-
*
|
|
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
|
-
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
* - `
|
|
20
|
-
*
|
|
21
|
-
*
|
|
22
|
-
* - `
|
|
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
|
|
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
|
-
*
|
|
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
|
-
*
|
|
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
|
-
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
* - `
|
|
20
|
-
*
|
|
21
|
-
*
|
|
22
|
-
* - `
|
|
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
|
|
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
|
|
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
|
|
56
|
-
*
|
|
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
|
|
50
|
+
const meta = (r.metadata ?? {});
|
|
51
|
+
const prompt = typeof r.data === 'string' ? r.data : '';
|
|
61
52
|
return {
|
|
62
53
|
id: r.id,
|
|
63
|
-
prompt
|
|
64
|
-
style:
|
|
65
|
-
size:
|
|
66
|
-
steps:
|
|
67
|
-
guidance:
|
|
68
|
-
seed:
|
|
69
|
-
width:
|
|
70
|
-
height:
|
|
71
|
-
elapsed:
|
|
72
|
-
createdAt:
|
|
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
|
|
78
|
-
*
|
|
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
|
-
|
|
82
|
-
|
|
83
|
-
|
|
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
|
-
//
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
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
|
-
|
|
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
|
-
|
|
174
|
-
|
|
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
|
-
|
|
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
|
|
265
|
-
: await brain.find({ where
|
|
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
|
|
277
|
-
|
|
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(
|
|
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
|
-
|
|
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":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAoFH,gFAAgF;AAChF,YAAY;AACZ,gFAAgF;AAEhF,uDAAuD;AACvD,MAAM,eAAe,GAAG,SAAS,CAAA;AAEjC,gFAAgF;AAChF,mBAAmB;AACnB,gFAAgF;AAEhF;;;;;GAKG;AACH,SAAS,kBAAkB,CAAC,GAAW,EAAE,OAAuB;IAC9D,MAAM,OAAO,GAAG,OAAO,CAAC,eAAe,EAAE,CAAA;IACzC,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,CAAA;IACjD,OAAO,MAAM,EAAE,MAAM,IAAI,EAAE,CAAA;AAC7B,CAAC;AAED;;;;;GAKG;AACH,SAAS,iBAAiB,CAAC,GAAW,EAAE,OAAuB;IAC7D,MAAM,OAAO,GAAG,OAAO,CAAC,cAAc,EAAE,CAAA;IACxC,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,CAAA;IACjD,OAAO,MAAM,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,CAAA;AAC/C,CAAC;AAED;;;;GAIG;AACH,SAAS,WAAW,CAAC,CAAqF;IACxG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAA4B,CAAA;IACnD,OAAO;QACL,EAAE,EAAE,CAAC,CAAC,EAAE;QACR,MAAM,EAAG,CAAC,CAAC,QAAQ,CAAY,IAAI,EAAE;QACrC,KAAK,EAAG,CAAC,CAAC,OAAO,CAAY,IAAI,MAAM;QACvC,IAAI,EAAG,CAAC,CAAC,MAAM,CAAY,IAAI,WAAW;QAC1C,KAAK,EAAG,CAAC,CAAC,OAAO,CAAY,IAAI,EAAE;QACnC,QAAQ,EAAG,CAAC,CAAC,UAAU,CAAY,IAAI,GAAG;QAC1C,IAAI,EAAG,CAAC,CAAC,MAAM,CAAY,IAAI,CAAC;QAChC,KAAK,EAAG,CAAC,CAAC,OAAO,CAAY,IAAI,IAAI;QACrC,MAAM,EAAG,CAAC,CAAC,QAAQ,CAAY,IAAI,GAAG;QACtC,OAAO,EAAG,CAAC,CAAC,SAAS,CAAY,IAAI,CAAC;QACtC,SAAS,EAAG,CAAC,CAAC,WAAW,CAAY,IAAI,CAAC;QAC1C,QAAQ,EAAE,GAAG,CAAC,CAAC,EAAE,MAAM;KACxB,CAAA;AACH,CAAC;AAED;;;GAGG;AACH,KAAK,UAAU,UAAU,CACvB,KAAU,EACV,UAAuB,EACvB,IAGC;IAED,MAAM,EAAE,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC;QACzB,IAAI,EAAE;YACJ,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,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;SACtB;QACD,IAAI,EAAE,OAAO;QACb,QAAQ,EAAE;YACR,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;YAC/B,SAAS,EAAE,WAAW;SACvB;KACF,CAAC,CAAA;IAEF,mBAAmB;IACnB,MAAM,OAAO,GAAG,GAAG,eAAe,IAAI,EAAE,MAAM,CAAA;IAC9C,MAAM,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,eAAe,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IAC3D,MAAM,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAA;IAE3D,OAAO,EAAE,CAAA;AACX,CAAC;AAED,gFAAgF;AAChF,kBAAkB;AAClB,gFAAgF;AAEhF;;;;;;;;;;;;;;;;;;;;;GAqBG;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,yFAAyF;gBACzF,yDAAyD,CAC1D,CAAA;QACH,CAAC;QACD,OAAO,OAAO,CAAA;IAChB,CAAC;IAED,OAAO;QACL,KAAK,CAAC,QAAQ,CACZ,MAQC,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;oBACrB,KAAK;oBACL,IAAI,EAAE,OAAO;oBACb,KAAK;oBACL,QAAQ;oBACR,IAAI,EAAE,MAAM,CAAC,IAAI;oBACjB,KAAK,EAAE,MAAM,CAAC,KAAK;oBACnB,MAAM,EAAE,MAAM,CAAC,MAAM;oBACrB,OAAO;iBACR,CAAC,CAAA;gBAEF,MAAM,CAAC,IAAI,CAAC;oBACV,EAAE;oBACF,MAAM,EAAE,MAAM,CAAC,MAAM;oBACrB,KAAK;oBACL,IAAI,EAAE,OAAO;oBACb,KAAK;oBACL,QAAQ;oBACR,IAAI,EAAE,MAAM,CAAC,IAAI;oBACjB,KAAK,EAAE,MAAM,CAAC,KAAK;oBACnB,MAAM,EAAE,MAAM,CAAC,MAAM;oBACrB,OAAO;oBACP,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;oBACrB,QAAQ,EAAE,GAAG,EAAE,MAAM;iBACtB,CAAC,CAAA;YACJ,CAAC;YAED,OAAO,MAAM,CAAA;QACf,CAAC;QAED,KAAK,CAAC,CAAC,cAAc,CACnB,MAOC,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,CAAA;gBACrB,IAAI,WAAW,GAAG,KAAK,CAAA;gBACvB,IAAI,YAAY,GAAG,MAAM,CAAA;gBAEzB,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;oBAEF,MAAM;wBACJ,IAAI,EAAE,UAAmB;wBACzB,MAAM,EAAE,CAAC;gCACP,EAAE;gCACF,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ;gCAC5D,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,2DAA2D;gBAC3D,KAAK,IAAI,IAAI,GAAG,CAAC,EAAE,IAAI,IAAI,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC;oBACzC,MAAM,EAAE,IAAI,EAAE,UAAmB,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,CAAA;gBACzD,CAAC;gBAED,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;4BACF,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ;4BAC5D,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,MAAM,OAAO,GAAG,OAAO,EAAE,KAAK;gBAC5B,CAAC,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,KAAK,EAAS,CAAC;gBACpF,CAAC,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,KAAK,EAAS,CAAC,CAAA;YAEhE,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,QAAQ,CAAC,GAAG,eAAe,IAAI,OAAO,MAAM,CAAC,CAAA;gBAChF,wBAAwB;gBACxB,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,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;YAC/B,IAAI,CAAC;gBACH,MAAM,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,GAAG,eAAe,IAAI,OAAO,MAAM,CAAC,CAAA;YACjE,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,MAAM,GAAG,GAAG,cAAc,EAAE,CAAA;YAC5B,OAAO,GAAG,CAAC,MAAM,EAAE,CAAA;QACrB,CAAC;KACF,CAAA;AACH,CAAC"}
|
|
1
|
+
{"version":3,"file":"imagine.js","sourceRoot":"","sources":["../../../src/server/handlers/imagine.ts"],"names":[],"mappings":"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"}
|
|
@@ -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
|
|
112
|
+
* Resolves the brain transport for this request context.
|
|
112
113
|
*
|
|
113
|
-
*
|
|
114
|
-
* `
|
|
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
|
|
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":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAE/C,OAAO,KAAK,EACV,YAAY,EACZ,oBAAoB,EAErB,MAAM,WAAW,CAAA;AAMlB;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,oDAAoD;IACpD,OAAO,EAAE,OAAO,CAAA;IAChB,uEAAuE;IACvE,IAAI,EAAE,WAAW,GAAG,IAAI,CAAA;IACxB,8EAA8E;IAC9E,WAAW,EAAE,MAAM,CAAA;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,8BAA8B;IAC9B,EAAE,EAAE,MAAM,CAAA;IACV,4BAA4B;IAC5B,KAAK,EAAE,MAAM,CAAA;IACb,2BAA2B;IAC3B,IAAI,EAAE,MAAM,CAAA;IACZ,yCAAyC;IACzC,SAAS,EAAE,MAAM,CAAA;IACjB,qBAAqB;IACrB,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACzB,gEAAgE;IAChE,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAA;IAC7B,oEAAoE;IACpE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CACvB;AAMD;;;;;;;GAOG;AAEH,MAAM,MAAM,iBAAiB,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC,GAAG,SAAS,CAAC,CAAA;AAErF;;;;;GAKG;AACH,MAAM,WAAW,cAAc;IAC7B,8BAA8B;IAC9B,IAAI,EAAE,WAAW,CAAA;IACjB,oBAAoB;IACpB,WAAW,EAAE,MAAM,CAAA;IACnB,0EAA0E;IAC1E,KAAK,EAAE,MAAM,CAAA;IACb,iDAAiD;IACjD,OAAO,EAAE,OAAO,CAAA;CACjB;AAED;;;;;;GAMG;AACH,MAAM,MAAM,kBAAkB,GAAG,MAAM,CAAC,MAAM,EAAE,iBAAiB,GAAG,SAAS,CAAC,CAAA;AAM9E;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC
|
|
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
|
-
//
|
|
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;
|
|
1
|
+
{"version":3,"file":"namespace-router.js","sourceRoot":"","sources":["../../src/server/namespace-router.ts"],"names":[],"mappings":"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"}
|