@soulcraft/sdk 3.4.0 → 3.4.2
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.
|
@@ -5,20 +5,17 @@
|
|
|
5
5
|
*
|
|
6
6
|
* ## Entity Model
|
|
7
7
|
*
|
|
8
|
-
* Each generated image is stored as two Brainy entities
|
|
8
|
+
* Each generated image is stored as two Brainy entities:
|
|
9
9
|
*
|
|
10
|
-
* - **
|
|
11
|
-
* (enables Cortex semantic search)
|
|
12
|
-
* `metadata
|
|
13
|
-
* from other document nouns.
|
|
10
|
+
* - **Media noun** (`type: 'media'`) — the generation record with prompt text
|
|
11
|
+
* in `data` (enables Cortex semantic search) and structured parameters in
|
|
12
|
+
* `metadata` (style, seed, dimensions, timing, vfsPath).
|
|
14
13
|
*
|
|
15
|
-
* - **VFS file**
|
|
16
|
-
*
|
|
14
|
+
* - **VFS file** — the actual PNG bytes at `/images/{uuid}.png`, auto-created
|
|
15
|
+
* by `brain.vfs.writeFile()` with `metadata.isVFS: true`.
|
|
17
16
|
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
* Gallery queries target `noun: 'document'` with `metadata.imagineGeneration: true`,
|
|
21
|
-
* so VFS entries and other document types are excluded.
|
|
17
|
+
* Gallery queries use `excludeVFS: true` to return only the generation records,
|
|
18
|
+
* not the raw VFS file entities.
|
|
22
19
|
*/
|
|
23
20
|
import type { NamespaceProvider } from '../namespace-router.js';
|
|
24
21
|
/**
|
|
@@ -79,17 +76,13 @@ export interface ImagineBackend {
|
|
|
79
76
|
height: number;
|
|
80
77
|
}>;
|
|
81
78
|
}
|
|
82
|
-
/**
|
|
83
|
-
* @description Options for {@link createImagineHandler}.
|
|
84
|
-
*/
|
|
85
79
|
export interface ImagineHandlerOptions {
|
|
86
80
|
backend: ImagineBackend;
|
|
87
81
|
}
|
|
88
82
|
/**
|
|
89
83
|
* @description Creates the `imagine` namespace handler.
|
|
90
|
-
*
|
|
91
|
-
* @
|
|
92
|
-
* @returns A {@link NamespaceProvider} implementing {@link ImagineNamespace}.
|
|
84
|
+
* @param options - Handler dependencies with GPU backend.
|
|
85
|
+
* @returns A {@link NamespaceProvider} for the `imagine` namespace.
|
|
93
86
|
*/
|
|
94
87
|
export declare function createImagineHandler(options?: ImagineHandlerOptions): NamespaceProvider;
|
|
95
88
|
//# 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;;;;;;;;;;;;;;;;;;GAkBG;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,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,cAAc,CAAA;CACxB;AAsFD;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,CAAC,EAAE,qBAAqB,GAAG,iBAAiB,CAyGvF"}
|
|
@@ -5,90 +5,67 @@
|
|
|
5
5
|
*
|
|
6
6
|
* ## Entity Model
|
|
7
7
|
*
|
|
8
|
-
* Each generated image is stored as two Brainy entities
|
|
8
|
+
* Each generated image is stored as two Brainy entities:
|
|
9
9
|
*
|
|
10
|
-
* - **
|
|
11
|
-
* (enables Cortex semantic search)
|
|
12
|
-
* `metadata
|
|
13
|
-
* from other document nouns.
|
|
10
|
+
* - **Media noun** (`type: 'media'`) — the generation record with prompt text
|
|
11
|
+
* in `data` (enables Cortex semantic search) and structured parameters in
|
|
12
|
+
* `metadata` (style, seed, dimensions, timing, vfsPath).
|
|
14
13
|
*
|
|
15
|
-
* - **VFS file**
|
|
16
|
-
*
|
|
14
|
+
* - **VFS file** — the actual PNG bytes at `/images/{uuid}.png`, auto-created
|
|
15
|
+
* by `brain.vfs.writeFile()` with `metadata.isVFS: true`.
|
|
17
16
|
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
* Gallery queries target `noun: 'document'` with `metadata.imagineGeneration: true`,
|
|
21
|
-
* so VFS entries and other document types are excluded.
|
|
17
|
+
* Gallery queries use `excludeVFS: true` to return only the generation records,
|
|
18
|
+
* not the raw VFS file entities.
|
|
22
19
|
*/
|
|
23
20
|
// ─────────────────────────────────────────────────────────────────────────────
|
|
24
21
|
// Constants
|
|
25
22
|
// ─────────────────────────────────────────────────────────────────────────────
|
|
26
|
-
/** VFS directory where generated images are stored. */
|
|
27
23
|
const IMAGES_VFS_PATH = '/images';
|
|
28
|
-
|
|
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';
|
|
24
|
+
const NOUN_TYPE = 'media';
|
|
34
25
|
// ─────────────────────────────────────────────────────────────────────────────
|
|
35
|
-
//
|
|
26
|
+
// Helpers
|
|
36
27
|
// ─────────────────────────────────────────────────────────────────────────────
|
|
37
28
|
function resolveStylePrefix(key, backend) {
|
|
38
|
-
|
|
39
|
-
return preset?.prefix ?? '';
|
|
29
|
+
return backend.getStylePresets().find((s) => s.key === key)?.prefix ?? '';
|
|
40
30
|
}
|
|
41
31
|
function resolveDimensions(key, backend) {
|
|
42
|
-
|
|
43
|
-
return preset ?? { width: 1024, height: 576 };
|
|
32
|
+
return backend.getSizePresets().find((s) => s.key === key) ?? { width: 1024, height: 576 };
|
|
44
33
|
}
|
|
45
34
|
/**
|
|
46
|
-
* @description Extract image metadata from a Brainy
|
|
47
|
-
*
|
|
35
|
+
* @description Extract image metadata from a Brainy entity. The prompt is
|
|
36
|
+
* stored as `data` (string for semantic search); parameters in `metadata`.
|
|
48
37
|
*/
|
|
49
38
|
function toImageMeta(r) {
|
|
50
|
-
const
|
|
51
|
-
const prompt = typeof r.data === 'string' ? r.data : '';
|
|
39
|
+
const m = (r.metadata ?? {});
|
|
52
40
|
return {
|
|
53
41
|
id: r.id,
|
|
54
|
-
prompt,
|
|
55
|
-
style:
|
|
56
|
-
size:
|
|
57
|
-
steps:
|
|
58
|
-
guidance:
|
|
59
|
-
seed:
|
|
60
|
-
width:
|
|
61
|
-
height:
|
|
62
|
-
elapsed:
|
|
63
|
-
createdAt:
|
|
42
|
+
prompt: typeof r.data === 'string' ? r.data : '',
|
|
43
|
+
style: m['style'] ?? 'none',
|
|
44
|
+
size: m['size'] ?? 'landscape',
|
|
45
|
+
steps: m['steps'] ?? 25,
|
|
46
|
+
guidance: m['guidance'] ?? 7.5,
|
|
47
|
+
seed: m['seed'] ?? 0,
|
|
48
|
+
width: m['width'] ?? 1024,
|
|
49
|
+
height: m['height'] ?? 576,
|
|
50
|
+
elapsed: m['elapsed'] ?? 0,
|
|
51
|
+
createdAt: m['createdAt'] ?? 0,
|
|
64
52
|
filename: `${r.id}.png`,
|
|
65
53
|
};
|
|
66
54
|
}
|
|
67
55
|
/**
|
|
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.
|
|
56
|
+
* @description Store a generated image in Brainy: VFS file + media noun.
|
|
57
|
+
* @returns The media noun entity ID.
|
|
75
58
|
*/
|
|
76
59
|
async function storeImage(brain, imageBytes, meta) {
|
|
77
|
-
// 1. Write PNG to VFS
|
|
78
60
|
await brain.vfs.mkdir(IMAGES_VFS_PATH, { recursive: true });
|
|
79
|
-
|
|
80
|
-
const
|
|
81
|
-
const vfsPath = `${IMAGES_VFS_PATH}/${tempId}.png`;
|
|
61
|
+
const fileId = crypto.randomUUID();
|
|
62
|
+
const vfsPath = `${IMAGES_VFS_PATH}/${fileId}.png`;
|
|
82
63
|
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
64
|
const genId = await brain.add({
|
|
87
|
-
type:
|
|
65
|
+
type: NOUN_TYPE,
|
|
88
66
|
data: meta.prompt,
|
|
89
67
|
metadata: {
|
|
90
68
|
name: meta.prompt.slice(0, 100),
|
|
91
|
-
[GEN_FLAG]: true,
|
|
92
69
|
style: meta.style,
|
|
93
70
|
size: meta.size,
|
|
94
71
|
steps: meta.steps,
|
|
@@ -101,14 +78,6 @@ async function storeImage(brain, imageBytes, meta) {
|
|
|
101
78
|
vfsPath,
|
|
102
79
|
},
|
|
103
80
|
});
|
|
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
81
|
return genId;
|
|
113
82
|
}
|
|
114
83
|
// ─────────────────────────────────────────────────────────────────────────────
|
|
@@ -116,37 +85,33 @@ async function storeImage(brain, imageBytes, meta) {
|
|
|
116
85
|
// ─────────────────────────────────────────────────────────────────────────────
|
|
117
86
|
/**
|
|
118
87
|
* @description Creates the `imagine` namespace handler.
|
|
119
|
-
*
|
|
120
|
-
* @
|
|
121
|
-
* @returns A {@link NamespaceProvider} implementing {@link ImagineNamespace}.
|
|
88
|
+
* @param options - Handler dependencies with GPU backend.
|
|
89
|
+
* @returns A {@link NamespaceProvider} for the `imagine` namespace.
|
|
122
90
|
*/
|
|
123
91
|
export function createImagineHandler(options) {
|
|
124
92
|
const backend = options?.backend;
|
|
125
|
-
function
|
|
126
|
-
if (!backend)
|
|
127
|
-
throw new Error('imagine namespace
|
|
128
|
-
}
|
|
93
|
+
function gpu() {
|
|
94
|
+
if (!backend)
|
|
95
|
+
throw new Error('imagine namespace not configured — provide ImagineBackend');
|
|
129
96
|
return backend;
|
|
130
97
|
}
|
|
131
98
|
return {
|
|
132
99
|
async generate(params, ctx) {
|
|
133
|
-
const
|
|
100
|
+
const g = gpu();
|
|
134
101
|
const { brain } = ctx;
|
|
135
102
|
const count = Math.min(Math.max(params.count ?? 1, 1), 4);
|
|
136
103
|
const style = params.style ?? 'none';
|
|
137
104
|
const sizeKey = params.size ?? 'landscape';
|
|
138
105
|
const steps = params.steps ?? 25;
|
|
139
106
|
const guidance = params.guidance ?? 7.5;
|
|
140
|
-
const prefix = resolveStylePrefix(style,
|
|
141
|
-
const { width, height } = resolveDimensions(sizeKey,
|
|
107
|
+
const prefix = resolveStylePrefix(style, g);
|
|
108
|
+
const { width, height } = resolveDimensions(sizeKey, g);
|
|
142
109
|
const fullPrompt = prefix + params.prompt;
|
|
143
110
|
const images = [];
|
|
144
111
|
for (let i = 0; i < count; i++) {
|
|
145
|
-
const seed = params.seed != null
|
|
146
|
-
? params.seed + i
|
|
147
|
-
: Math.floor(Math.random() * 2147483647);
|
|
112
|
+
const seed = params.seed != null ? params.seed + i : Math.floor(Math.random() * 2147483647);
|
|
148
113
|
const start = performance.now();
|
|
149
|
-
const result = await
|
|
114
|
+
const result = await g.generate({ prompt: fullPrompt, width, height, steps, guidance, seed }, ctx.user.id);
|
|
150
115
|
const elapsed = (performance.now() - start) / 1000;
|
|
151
116
|
const id = await storeImage(brain, result.bytes, {
|
|
152
117
|
prompt: params.prompt, style, size: sizeKey, steps, guidance,
|
|
@@ -160,83 +125,16 @@ export function createImagineHandler(options) {
|
|
|
160
125
|
}
|
|
161
126
|
return images;
|
|
162
127
|
},
|
|
163
|
-
async *generateStream(params, ctx) {
|
|
164
|
-
const gpu = requireBackend();
|
|
165
|
-
const { brain } = ctx;
|
|
166
|
-
const style = params.style ?? 'none';
|
|
167
|
-
const sizeKey = params.size ?? 'landscape';
|
|
168
|
-
const steps = params.steps ?? 25;
|
|
169
|
-
const guidance = params.guidance ?? 7.5;
|
|
170
|
-
const seed = params.seed ?? Math.floor(Math.random() * 2147483647);
|
|
171
|
-
const prefix = resolveStylePrefix(style, gpu);
|
|
172
|
-
const { width, height } = resolveDimensions(sizeKey, gpu);
|
|
173
|
-
const fullPrompt = prefix + params.prompt;
|
|
174
|
-
if (gpu.generateStream) {
|
|
175
|
-
const start = performance.now();
|
|
176
|
-
let resultBytes = null;
|
|
177
|
-
let resultSeed = seed, resultWidth = width, resultHeight = height;
|
|
178
|
-
for await (const event of gpu.generateStream({ prompt: fullPrompt, width, height, steps, guidance, seed }, ctx.user.id)) {
|
|
179
|
-
if (event.type === 'progress') {
|
|
180
|
-
yield { type: 'progress', step: event.step, total: event.total };
|
|
181
|
-
}
|
|
182
|
-
else if (event.type === 'complete') {
|
|
183
|
-
resultBytes = event.bytes;
|
|
184
|
-
resultSeed = event.seed;
|
|
185
|
-
resultWidth = event.width;
|
|
186
|
-
resultHeight = event.height;
|
|
187
|
-
}
|
|
188
|
-
else if (event.type === 'error') {
|
|
189
|
-
yield { type: 'error', message: event.message };
|
|
190
|
-
return;
|
|
191
|
-
}
|
|
192
|
-
}
|
|
193
|
-
if (resultBytes) {
|
|
194
|
-
const elapsed = (performance.now() - start) / 1000;
|
|
195
|
-
const id = await storeImage(brain, resultBytes, {
|
|
196
|
-
prompt: params.prompt, style, size: sizeKey, steps, guidance,
|
|
197
|
-
seed: resultSeed, width: resultWidth, height: resultHeight, elapsed,
|
|
198
|
-
});
|
|
199
|
-
yield {
|
|
200
|
-
type: 'complete',
|
|
201
|
-
images: [{
|
|
202
|
-
id, prompt: params.prompt, style, size: sizeKey, steps, guidance,
|
|
203
|
-
seed: resultSeed, width: resultWidth, height: resultHeight,
|
|
204
|
-
elapsed, createdAt: Date.now(), filename: `${id}.png`,
|
|
205
|
-
}],
|
|
206
|
-
};
|
|
207
|
-
}
|
|
208
|
-
}
|
|
209
|
-
else {
|
|
210
|
-
yield { type: 'progress', step: 0, total: steps };
|
|
211
|
-
const start = performance.now();
|
|
212
|
-
const result = await gpu.generate({ prompt: fullPrompt, width, height, steps, guidance, seed }, ctx.user.id);
|
|
213
|
-
const elapsed = (performance.now() - start) / 1000;
|
|
214
|
-
const id = await storeImage(brain, result.bytes, {
|
|
215
|
-
prompt: params.prompt, style, size: sizeKey, steps, guidance,
|
|
216
|
-
seed: result.seed, width: result.width, height: result.height, elapsed,
|
|
217
|
-
});
|
|
218
|
-
yield {
|
|
219
|
-
type: 'complete',
|
|
220
|
-
images: [{
|
|
221
|
-
id, prompt: params.prompt, style, size: sizeKey, steps, guidance,
|
|
222
|
-
seed: result.seed, width: result.width, height: result.height,
|
|
223
|
-
elapsed, createdAt: Date.now(), filename: `${id}.png`,
|
|
224
|
-
}],
|
|
225
|
-
};
|
|
226
|
-
}
|
|
227
|
-
},
|
|
228
128
|
async list(options, ctx) {
|
|
229
|
-
const { brain } = ctx;
|
|
230
129
|
const limit = options?.limit ?? 50;
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
130
|
+
const findOpts = {
|
|
131
|
+
where: { noun: NOUN_TYPE },
|
|
132
|
+
excludeVFS: true,
|
|
133
|
+
limit,
|
|
235
134
|
};
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
return results.map(toImageMeta);
|
|
135
|
+
if (options?.query)
|
|
136
|
+
findOpts.query = options.query;
|
|
137
|
+
return (await ctx.brain.find(findOpts)).map(toImageMeta);
|
|
240
138
|
},
|
|
241
139
|
async get(imageId, ctx) {
|
|
242
140
|
const entity = await ctx.brain.get(imageId);
|
|
@@ -263,22 +161,17 @@ export function createImagineHandler(options) {
|
|
|
263
161
|
const entity = await ctx.brain.get(imageId);
|
|
264
162
|
const vfsPath = entity?.metadata?.vfsPath ?? `${IMAGES_VFS_PATH}/${imageId}.png`;
|
|
265
163
|
await ctx.brain.delete(imageId);
|
|
266
|
-
|
|
267
|
-
await ctx.brain.vfs.unlink(vfsPath);
|
|
268
|
-
}
|
|
269
|
-
catch {
|
|
270
|
-
// VFS file may already be gone
|
|
271
|
-
}
|
|
164
|
+
await ctx.brain.vfs.unlink(vfsPath).catch(() => { });
|
|
272
165
|
},
|
|
273
166
|
async getPresets() {
|
|
274
|
-
const
|
|
167
|
+
const g = gpu();
|
|
275
168
|
return {
|
|
276
|
-
styles:
|
|
277
|
-
sizes:
|
|
169
|
+
styles: g.getStylePresets().map(({ key, label, description }) => ({ key, label, description })),
|
|
170
|
+
sizes: g.getSizePresets(),
|
|
278
171
|
};
|
|
279
172
|
},
|
|
280
173
|
async health() {
|
|
281
|
-
return
|
|
174
|
+
return gpu().health();
|
|
282
175
|
},
|
|
283
176
|
};
|
|
284
177
|
}
|
|
@@ -1 +1 @@
|
|
|
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"}
|
|
1
|
+
{"version":3,"file":"imagine.js","sourceRoot":"","sources":["../../../src/server/handlers/imagine.ts"],"names":[],"mappings":"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"}
|