@soulcraft/sdk 3.3.18 → 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.
- package/dist/modules/auth/gate.d.ts +88 -0
- package/dist/modules/auth/gate.d.ts.map +1 -0
- package/dist/modules/auth/gate.js +114 -0
- package/dist/modules/auth/gate.js.map +1 -0
- package/dist/modules/auth/sveltekit.d.ts +59 -0
- package/dist/modules/auth/sveltekit.d.ts.map +1 -1
- package/dist/modules/auth/sveltekit.js +48 -2
- package/dist/modules/auth/sveltekit.js.map +1 -1
- package/dist/server/handlers/imagine.d.ts +10 -17
- package/dist/server/handlers/imagine.d.ts.map +1 -1
- package/dist/server/handlers/imagine.js +52 -159
- package/dist/server/handlers/imagine.js.map +1 -1
- package/dist/server/index.d.ts +4 -2
- package/dist/server/index.d.ts.map +1 -1
- package/dist/server/index.js +3 -1
- package/dist/server/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module modules/auth/gate
|
|
3
|
+
* @description Kit-defined authentication gate middleware for SvelteKit products.
|
|
4
|
+
*
|
|
5
|
+
* Controls when sign-in is required based on the active kit's `authGate` setting:
|
|
6
|
+
* - `'none'` — fully public, no login needed (brochure sites)
|
|
7
|
+
* - `'action'` — browse freely, login at checkout/payment/save actions
|
|
8
|
+
* - `'entry'` — login required for everything (game apps, private tools)
|
|
9
|
+
*
|
|
10
|
+
* Route patterns can override the gate for specific paths:
|
|
11
|
+
* - `requiredRoutes` — always require auth regardless of gate
|
|
12
|
+
* - `exemptRoutes` — never require auth regardless of gate
|
|
13
|
+
*
|
|
14
|
+
* When auth is required and no session exists, redirects to `buildLoginUrl()`.
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* ```typescript
|
|
18
|
+
* import { createAuthGateHandle } from '@soulcraft/sdk/server'
|
|
19
|
+
*
|
|
20
|
+
* const authGateGuard = createAuthGateHandle({
|
|
21
|
+
* getGate: (event) => event.locals.kit?.venue?.authGate ?? 'action',
|
|
22
|
+
* requiredRoutes: ['/manage/*', '/account/*'],
|
|
23
|
+
* exemptRoutes: ['/', '/blog/*', '/about'],
|
|
24
|
+
* product: 'venue',
|
|
25
|
+
* })
|
|
26
|
+
*
|
|
27
|
+
* export const handle = sequence(auth.handle, authGateGuard)
|
|
28
|
+
* ```
|
|
29
|
+
*/
|
|
30
|
+
import type { SvelteKitHandle, SvelteKitEvent } from './sveltekit.js';
|
|
31
|
+
/**
|
|
32
|
+
* Auth gate level controlling when sign-in is required.
|
|
33
|
+
*/
|
|
34
|
+
export type AuthGateLevel = 'none' | 'action' | 'entry';
|
|
35
|
+
/**
|
|
36
|
+
* Options for `createAuthGateHandle()`.
|
|
37
|
+
*/
|
|
38
|
+
export interface AuthGateOptions {
|
|
39
|
+
/**
|
|
40
|
+
* Callback returning the current auth gate level from the request context.
|
|
41
|
+
* Typically reads from `event.locals.kit.venue.authGate`.
|
|
42
|
+
*
|
|
43
|
+
* @param event - The SvelteKit request event.
|
|
44
|
+
* @returns The gate level for this request.
|
|
45
|
+
*/
|
|
46
|
+
getGate: (event: SvelteKitEvent) => AuthGateLevel;
|
|
47
|
+
/**
|
|
48
|
+
* Glob-like route patterns that ALWAYS require authentication,
|
|
49
|
+
* regardless of the gate level. Use `*` as a wildcard segment.
|
|
50
|
+
*
|
|
51
|
+
* @example ['/manage/*', '/account/*', '/api/manage/*']
|
|
52
|
+
*/
|
|
53
|
+
requiredRoutes?: string[];
|
|
54
|
+
/**
|
|
55
|
+
* Glob-like route patterns that NEVER require authentication,
|
|
56
|
+
* regardless of the gate level. Use `*` as a wildcard segment.
|
|
57
|
+
*
|
|
58
|
+
* @example ['/', '/blog/*', '/about', '/api/version']
|
|
59
|
+
*/
|
|
60
|
+
exemptRoutes?: string[];
|
|
61
|
+
/**
|
|
62
|
+
* Product identifier passed to `buildLoginUrl()` for context branding.
|
|
63
|
+
*/
|
|
64
|
+
product?: string;
|
|
65
|
+
/**
|
|
66
|
+
* Optional callback to extract tenant slug for the login URL.
|
|
67
|
+
* When provided, `buildLoginUrl()` includes `?tenant=` so the auth page
|
|
68
|
+
* can show tenant branding.
|
|
69
|
+
*
|
|
70
|
+
* @param event - The SvelteKit request event.
|
|
71
|
+
* @returns Tenant slug string, or undefined for platform routes.
|
|
72
|
+
*/
|
|
73
|
+
getTenant?: (event: SvelteKitEvent) => string | undefined;
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* @description Creates a SvelteKit Handle that enforces kit-defined auth gates.
|
|
77
|
+
*
|
|
78
|
+
* Checks the current user session against the gate level and route patterns.
|
|
79
|
+
* When authentication is required and no session exists, redirects to
|
|
80
|
+
* `auth.soulcraft.com/login` (or the dev login in dev mode).
|
|
81
|
+
*
|
|
82
|
+
* Skips API routes (`/api/*`) — those should return 401 instead of redirecting.
|
|
83
|
+
*
|
|
84
|
+
* @param options - Gate callback, route patterns, product context.
|
|
85
|
+
* @returns A SvelteKit Handle function for use in `sequence()`.
|
|
86
|
+
*/
|
|
87
|
+
export declare function createAuthGateHandle(options: AuthGateOptions): SvelteKitHandle;
|
|
88
|
+
//# sourceMappingURL=gate.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gate.d.ts","sourceRoot":"","sources":["../../../src/modules/auth/gate.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AAGH,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAErE;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAA;AAEvD;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B;;;;;;OAMG;IACH,OAAO,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,aAAa,CAAA;IAEjD;;;;;OAKG;IACH,cAAc,CAAC,EAAE,MAAM,EAAE,CAAA;IAEzB;;;;;OAKG;IACH,YAAY,CAAC,EAAE,MAAM,EAAE,CAAA;IAEvB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;IAEhB;;;;;;;OAOG;IACH,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,MAAM,GAAG,SAAS,CAAA;CAC1D;AAsBD;;;;;;;;;;;GAWG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,eAAe,GAAG,eAAe,CAqD9E"}
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @module modules/auth/gate
|
|
3
|
+
* @description Kit-defined authentication gate middleware for SvelteKit products.
|
|
4
|
+
*
|
|
5
|
+
* Controls when sign-in is required based on the active kit's `authGate` setting:
|
|
6
|
+
* - `'none'` — fully public, no login needed (brochure sites)
|
|
7
|
+
* - `'action'` — browse freely, login at checkout/payment/save actions
|
|
8
|
+
* - `'entry'` — login required for everything (game apps, private tools)
|
|
9
|
+
*
|
|
10
|
+
* Route patterns can override the gate for specific paths:
|
|
11
|
+
* - `requiredRoutes` — always require auth regardless of gate
|
|
12
|
+
* - `exemptRoutes` — never require auth regardless of gate
|
|
13
|
+
*
|
|
14
|
+
* When auth is required and no session exists, redirects to `buildLoginUrl()`.
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* ```typescript
|
|
18
|
+
* import { createAuthGateHandle } from '@soulcraft/sdk/server'
|
|
19
|
+
*
|
|
20
|
+
* const authGateGuard = createAuthGateHandle({
|
|
21
|
+
* getGate: (event) => event.locals.kit?.venue?.authGate ?? 'action',
|
|
22
|
+
* requiredRoutes: ['/manage/*', '/account/*'],
|
|
23
|
+
* exemptRoutes: ['/', '/blog/*', '/about'],
|
|
24
|
+
* product: 'venue',
|
|
25
|
+
* })
|
|
26
|
+
*
|
|
27
|
+
* export const handle = sequence(auth.handle, authGateGuard)
|
|
28
|
+
* ```
|
|
29
|
+
*/
|
|
30
|
+
import { buildLoginUrl } from './sveltekit.js';
|
|
31
|
+
/**
|
|
32
|
+
* Match a pathname against a simple glob pattern.
|
|
33
|
+
*
|
|
34
|
+
* Supports `*` as a wildcard that matches one or more path segments.
|
|
35
|
+
* - `/manage/*` matches `/manage/bookings`, `/manage/staff/123`
|
|
36
|
+
* - `/blog` matches only `/blog` exactly
|
|
37
|
+
* - `/` matches only `/` exactly
|
|
38
|
+
*
|
|
39
|
+
* @param pathname - The URL pathname to test.
|
|
40
|
+
* @param pattern - The glob pattern.
|
|
41
|
+
* @returns True if the pathname matches the pattern.
|
|
42
|
+
*/
|
|
43
|
+
function matchRoute(pathname, pattern) {
|
|
44
|
+
if (pattern.endsWith('/*')) {
|
|
45
|
+
const prefix = pattern.slice(0, -2);
|
|
46
|
+
return pathname === prefix || pathname.startsWith(prefix + '/');
|
|
47
|
+
}
|
|
48
|
+
return pathname === pattern;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* @description Creates a SvelteKit Handle that enforces kit-defined auth gates.
|
|
52
|
+
*
|
|
53
|
+
* Checks the current user session against the gate level and route patterns.
|
|
54
|
+
* When authentication is required and no session exists, redirects to
|
|
55
|
+
* `auth.soulcraft.com/login` (or the dev login in dev mode).
|
|
56
|
+
*
|
|
57
|
+
* Skips API routes (`/api/*`) — those should return 401 instead of redirecting.
|
|
58
|
+
*
|
|
59
|
+
* @param options - Gate callback, route patterns, product context.
|
|
60
|
+
* @returns A SvelteKit Handle function for use in `sequence()`.
|
|
61
|
+
*/
|
|
62
|
+
export function createAuthGateHandle(options) {
|
|
63
|
+
const { getGate, requiredRoutes = [], exemptRoutes = [], product, getTenant, } = options;
|
|
64
|
+
return async function authGateHandle({ event, resolve }) {
|
|
65
|
+
const { pathname } = event.url;
|
|
66
|
+
const user = event.locals['user'];
|
|
67
|
+
// Skip API routes — return 401 from the handler, don't redirect
|
|
68
|
+
if (pathname.startsWith('/api/')) {
|
|
69
|
+
return resolve(event);
|
|
70
|
+
}
|
|
71
|
+
// Check exempt routes first — always pass through
|
|
72
|
+
if (exemptRoutes.some((p) => matchRoute(pathname, p))) {
|
|
73
|
+
return resolve(event);
|
|
74
|
+
}
|
|
75
|
+
// Check required routes — always need auth
|
|
76
|
+
if (requiredRoutes.some((p) => matchRoute(pathname, p))) {
|
|
77
|
+
if (!user) {
|
|
78
|
+
return redirectToLogin(event, product, getTenant);
|
|
79
|
+
}
|
|
80
|
+
return resolve(event);
|
|
81
|
+
}
|
|
82
|
+
// Apply the gate level
|
|
83
|
+
const gate = getGate(event);
|
|
84
|
+
switch (gate) {
|
|
85
|
+
case 'none':
|
|
86
|
+
// Fully public — never require auth
|
|
87
|
+
return resolve(event);
|
|
88
|
+
case 'entry':
|
|
89
|
+
// Login required for everything
|
|
90
|
+
if (!user) {
|
|
91
|
+
return redirectToLogin(event, product, getTenant);
|
|
92
|
+
}
|
|
93
|
+
return resolve(event);
|
|
94
|
+
case 'action':
|
|
95
|
+
default:
|
|
96
|
+
// Browse freely — auth checked per-action by route handlers
|
|
97
|
+
// The gate only blocks explicitly required routes (handled above)
|
|
98
|
+
return resolve(event);
|
|
99
|
+
}
|
|
100
|
+
};
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Build and return a 302 redirect response to the login URL.
|
|
104
|
+
*/
|
|
105
|
+
function redirectToLogin(event, product, getTenant) {
|
|
106
|
+
const redirectUrl = event.url.href;
|
|
107
|
+
const tenant = getTenant?.(event);
|
|
108
|
+
const loginUrl = buildLoginUrl({ redirectUrl, product, tenant });
|
|
109
|
+
return new Response(null, {
|
|
110
|
+
status: 302,
|
|
111
|
+
headers: { Location: loginUrl },
|
|
112
|
+
});
|
|
113
|
+
}
|
|
114
|
+
//# sourceMappingURL=gate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gate.js","sourceRoot":"","sources":["../../../src/modules/auth/gate.ts"],"names":[],"mappings":"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"}
|
|
@@ -165,6 +165,19 @@ export interface SoulcraftAuth {
|
|
|
165
165
|
* ```
|
|
166
166
|
*/
|
|
167
167
|
logoutHandler: SvelteKitRequestHandler;
|
|
168
|
+
/**
|
|
169
|
+
* SvelteKit request handler for `GET /api/dev/login`.
|
|
170
|
+
*
|
|
171
|
+
* Issues a signed dev session cookie and redirects. Accepts `?role=`,
|
|
172
|
+
* `?email=`, `?name=`, `?redirect=` query params. Returns 404 in production
|
|
173
|
+
* (safe to leave mounted always).
|
|
174
|
+
*
|
|
175
|
+
* Mount in `routes/api/dev/login/+server.ts`:
|
|
176
|
+
* ```typescript
|
|
177
|
+
* export const GET = auth.devLoginHandler
|
|
178
|
+
* ```
|
|
179
|
+
*/
|
|
180
|
+
devLoginHandler: (event: SvelteKitEvent) => Response;
|
|
168
181
|
/**
|
|
169
182
|
* The session verifier function, exposed for direct use in server load
|
|
170
183
|
* functions or API routes that need session data outside the hook.
|
|
@@ -205,4 +218,50 @@ export interface SoulcraftAuth {
|
|
|
205
218
|
* ```
|
|
206
219
|
*/
|
|
207
220
|
export declare function createSoulcraftAuth(options: SoulcraftAuthOptions): SoulcraftAuth;
|
|
221
|
+
/**
|
|
222
|
+
* Options for `buildLoginUrl()`.
|
|
223
|
+
*/
|
|
224
|
+
export interface BuildLoginUrlOptions {
|
|
225
|
+
/**
|
|
226
|
+
* The full URL to redirect back to after sign-in.
|
|
227
|
+
* @example 'https://venue.soulcraft.com/manage'
|
|
228
|
+
*/
|
|
229
|
+
redirectUrl: string;
|
|
230
|
+
/**
|
|
231
|
+
* Product identifier shown on the login page for context branding.
|
|
232
|
+
* @example 'venue'
|
|
233
|
+
*/
|
|
234
|
+
product?: string | undefined;
|
|
235
|
+
/**
|
|
236
|
+
* Tenant slug for venue/academy tenant-scoped login. When provided, the
|
|
237
|
+
* auth page can show tenant branding (logo, business name).
|
|
238
|
+
* @example 'wicks-and-whiskers'
|
|
239
|
+
*/
|
|
240
|
+
tenant?: string | undefined;
|
|
241
|
+
}
|
|
242
|
+
/**
|
|
243
|
+
* @description Build the auth.soulcraft.com login URL for redirecting unauthenticated users.
|
|
244
|
+
*
|
|
245
|
+
* In production (SOULCRAFT_IDP_URL set), returns a URL to the central IdP login page
|
|
246
|
+
* with `?redirect=`, `?product=`, and `?tenant=` query params. The IdP sets a
|
|
247
|
+
* `.soulcraft.com` cookie and redirects back to the specified URL.
|
|
248
|
+
*
|
|
249
|
+
* In dev mode (no SOULCRAFT_IDP_URL), returns `/api/dev/login?redirect=<url>` so
|
|
250
|
+
* developers hit the local dev login handler instead of the real IdP.
|
|
251
|
+
*
|
|
252
|
+
* @param options - Redirect URL, optional product and tenant context.
|
|
253
|
+
* @returns The login URL string to redirect to.
|
|
254
|
+
*
|
|
255
|
+
* @example Redirect to auth from a SvelteKit load function
|
|
256
|
+
* ```typescript
|
|
257
|
+
* import { buildLoginUrl } from '@soulcraft/sdk/server'
|
|
258
|
+
* import { redirect } from '@sveltejs/kit'
|
|
259
|
+
*
|
|
260
|
+
* throw redirect(302, buildLoginUrl({
|
|
261
|
+
* redirectUrl: `${url.origin}/manage`,
|
|
262
|
+
* product: 'venue'
|
|
263
|
+
* }))
|
|
264
|
+
* ```
|
|
265
|
+
*/
|
|
266
|
+
export declare function buildLoginUrl(options: BuildLoginUrlOptions): string;
|
|
208
267
|
//# sourceMappingURL=sveltekit.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sveltekit.d.ts","sourceRoot":"","sources":["../../../src/modules/auth/sveltekit.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgDG;AAGH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AAC9D,OAAO,KAAK,EAAE,oBAAoB,EAAoB,MAAM,YAAY,CAAA;AAMxE;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,OAAO,CAAA;IAChB,GAAG,EAAE,GAAG,CAAA;IACR,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC/B,OAAO,EAAE;QACP,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;YAAE,IAAI,CAAC,EAAE,MAAM,CAAA;SAAE,GAAG,IAAI,CAAA;KACrD,CAAA;CACF;AAED;;;GAGG;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,KAAK,EAAE;IACpC,KAAK,EAAE,cAAc,CAAA;IACrB,OAAO,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAA;CACtD,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAA;AAEvB;;GAEG;AACH,MAAM,MAAM,uBAAuB,GAAG,CAAC,KAAK,EAAE,cAAc,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAA;AAMlF;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC;;;;OAIG;IACH,OAAO,EAAE,MAAM,CAAA;IAEf;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,eAAe,CAAA;IAE1B;;;;;;;;;;;;;;;;;;OAkBG;IACH,UAAU,CAAC,EAAE,CACX,IAAI,EAAE,oBAAoB,EAC1B,KAAK,EAAE,cAAc,KAClB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAE/D;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAA;IAEtB;;;;OAIG;IACH,eAAe,CAAC,EAAE,MAAM,CAAA;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B;;;;;;;;OAQG;IACH,MAAM,EAAE,eAAe,CAAA;IAEvB;;;;;;;;;;;;OAYG;IACH,kBAAkB,EAAE,uBAAuB,CAAA;IAE3C;;;;;;;;;;;OAWG;IACH,aAAa,EAAE,uBAAuB,CAAA;IAEtC;;;OAGG;IACH,aAAa,EAAE,eAAe,CAAA;CAC/B;AAuFD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,oBAAoB,GAAG,aAAa,
|
|
1
|
+
{"version":3,"file":"sveltekit.d.ts","sourceRoot":"","sources":["../../../src/modules/auth/sveltekit.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgDG;AAGH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AAC9D,OAAO,KAAK,EAAE,oBAAoB,EAAoB,MAAM,YAAY,CAAA;AAMxE;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,OAAO,CAAA;IAChB,GAAG,EAAE,GAAG,CAAA;IACR,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC/B,OAAO,EAAE;QACP,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE;YAAE,IAAI,CAAC,EAAE,MAAM,CAAA;SAAE,GAAG,IAAI,CAAA;KACrD,CAAA;CACF;AAED;;;GAGG;AACH,MAAM,MAAM,eAAe,GAAG,CAAC,KAAK,EAAE;IACpC,KAAK,EAAE,cAAc,CAAA;IACrB,OAAO,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAA;CACtD,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAA;AAEvB;;GAEG;AACH,MAAM,MAAM,uBAAuB,GAAG,CAAC,KAAK,EAAE,cAAc,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAA;AAMlF;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC;;;;OAIG;IACH,OAAO,EAAE,MAAM,CAAA;IAEf;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,eAAe,CAAA;IAE1B;;;;;;;;;;;;;;;;;;OAkBG;IACH,UAAU,CAAC,EAAE,CACX,IAAI,EAAE,oBAAoB,EAC1B,KAAK,EAAE,cAAc,KAClB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAE/D;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAA;IAEtB;;;;OAIG;IACH,eAAe,CAAC,EAAE,MAAM,CAAA;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B;;;;;;;;OAQG;IACH,MAAM,EAAE,eAAe,CAAA;IAEvB;;;;;;;;;;;;OAYG;IACH,kBAAkB,EAAE,uBAAuB,CAAA;IAE3C;;;;;;;;;;;OAWG;IACH,aAAa,EAAE,uBAAuB,CAAA;IAEtC;;;;;;;;;;;OAWG;IACH,eAAe,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,QAAQ,CAAA;IAEpD;;;OAGG;IACH,aAAa,EAAE,eAAe,CAAA;CAC/B;AAuFD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgCG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,oBAAoB,GAAG,aAAa,CAuJhF;AAMD;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC;;;OAGG;IACH,WAAW,EAAE,MAAM,CAAA;IAEnB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IAE5B;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CAC5B;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,oBAAoB,GAAG,MAAM,CAiBnE"}
|
|
@@ -47,7 +47,7 @@
|
|
|
47
47
|
* })
|
|
48
48
|
* ```
|
|
49
49
|
*/
|
|
50
|
-
import { createRemoteSessionVerifier, createDevCookieVerifier } from './request-middleware.js';
|
|
50
|
+
import { createRemoteSessionVerifier, createDevCookieVerifier, createRequestDevLoginHandler } from './request-middleware.js';
|
|
51
51
|
// ─────────────────────────────────────────────────────────────────────────────
|
|
52
52
|
// Constants
|
|
53
53
|
// ─────────────────────────────────────────────────────────────────────────────
|
|
@@ -258,6 +258,52 @@ export function createSoulcraftAuth(options) {
|
|
|
258
258
|
headers: { 'Content-Type': 'application/json' },
|
|
259
259
|
});
|
|
260
260
|
};
|
|
261
|
-
|
|
261
|
+
// ── Dev login handler ──────────────────────────────────────────────────
|
|
262
|
+
const rawDevLogin = createRequestDevLoginHandler({
|
|
263
|
+
cookieName: devCookieName,
|
|
264
|
+
});
|
|
265
|
+
const devLoginHandler = (event) => rawDevLogin(event.request);
|
|
266
|
+
return { handle, backchannelHandler, logoutHandler, devLoginHandler, verifySession };
|
|
267
|
+
}
|
|
268
|
+
/**
|
|
269
|
+
* @description Build the auth.soulcraft.com login URL for redirecting unauthenticated users.
|
|
270
|
+
*
|
|
271
|
+
* In production (SOULCRAFT_IDP_URL set), returns a URL to the central IdP login page
|
|
272
|
+
* with `?redirect=`, `?product=`, and `?tenant=` query params. The IdP sets a
|
|
273
|
+
* `.soulcraft.com` cookie and redirects back to the specified URL.
|
|
274
|
+
*
|
|
275
|
+
* In dev mode (no SOULCRAFT_IDP_URL), returns `/api/dev/login?redirect=<url>` so
|
|
276
|
+
* developers hit the local dev login handler instead of the real IdP.
|
|
277
|
+
*
|
|
278
|
+
* @param options - Redirect URL, optional product and tenant context.
|
|
279
|
+
* @returns The login URL string to redirect to.
|
|
280
|
+
*
|
|
281
|
+
* @example Redirect to auth from a SvelteKit load function
|
|
282
|
+
* ```typescript
|
|
283
|
+
* import { buildLoginUrl } from '@soulcraft/sdk/server'
|
|
284
|
+
* import { redirect } from '@sveltejs/kit'
|
|
285
|
+
*
|
|
286
|
+
* throw redirect(302, buildLoginUrl({
|
|
287
|
+
* redirectUrl: `${url.origin}/manage`,
|
|
288
|
+
* product: 'venue'
|
|
289
|
+
* }))
|
|
290
|
+
* ```
|
|
291
|
+
*/
|
|
292
|
+
export function buildLoginUrl(options) {
|
|
293
|
+
const idpUrl = process.env['SOULCRAFT_IDP_URL'];
|
|
294
|
+
if (!idpUrl) {
|
|
295
|
+
// Dev mode — use the local dev login endpoint
|
|
296
|
+
const params = new URLSearchParams({ redirect: options.redirectUrl });
|
|
297
|
+
return `/api/dev/login?${params}`;
|
|
298
|
+
}
|
|
299
|
+
// Production — redirect to the central IdP login page
|
|
300
|
+
const params = new URLSearchParams({
|
|
301
|
+
redirect: options.redirectUrl,
|
|
302
|
+
});
|
|
303
|
+
if (options.product)
|
|
304
|
+
params.set('product', options.product);
|
|
305
|
+
if (options.tenant)
|
|
306
|
+
params.set('tenant', options.tenant);
|
|
307
|
+
return `${idpUrl.replace(/\/$/, '')}/login?${params}`;
|
|
262
308
|
}
|
|
263
309
|
//# sourceMappingURL=sveltekit.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sveltekit.js","sourceRoot":"","sources":["../../../src/modules/auth/sveltekit.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgDG;AAEH,OAAO,EAAE,2BAA2B,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAA;
|
|
1
|
+
{"version":3,"file":"sveltekit.js","sourceRoot":"","sources":["../../../src/modules/auth/sveltekit.ts"],"names":[],"mappings":"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"}
|
|
@@ -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":"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"}
|
|
1
|
+
{"version":3,"file":"imagine.js","sourceRoot":"","sources":["../../../src/server/handlers/imagine.ts"],"names":[],"mappings":"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"}
|
package/dist/server/index.d.ts
CHANGED
|
@@ -35,8 +35,10 @@ export { createRequestAuthMiddleware, createRequestDevLoginHandler, createReques
|
|
|
35
35
|
export type { RequestMiddleware, RequestAuthMiddleware, AuthMiddlewareOptions, BetterAuthLike, SessionVerifier, RemoteSessionVerifierOptions, DevSessionVerifierOptions, DevLoginHandlerOptions, GuestSessionHandlerOptions, } from '../modules/auth/request-middleware.js';
|
|
36
36
|
export { createRequestBackchannelLogoutHandler } from '../modules/auth/request-backchannel.js';
|
|
37
37
|
export type { BackchannelLogoutConfig, BackchannelAuthLike, } from '../modules/auth/request-backchannel.js';
|
|
38
|
-
export { createSoulcraftAuth } from '../modules/auth/sveltekit.js';
|
|
39
|
-
export type { SoulcraftAuthOptions, SoulcraftAuth, SvelteKitHandle, SvelteKitEvent, SvelteKitRequestHandler, } from '../modules/auth/sveltekit.js';
|
|
38
|
+
export { createSoulcraftAuth, buildLoginUrl } from '../modules/auth/sveltekit.js';
|
|
39
|
+
export type { SoulcraftAuthOptions, SoulcraftAuth, BuildLoginUrlOptions, SvelteKitHandle, SvelteKitEvent, SvelteKitRequestHandler, } from '../modules/auth/sveltekit.js';
|
|
40
|
+
export { createAuthGateHandle } from '../modules/auth/gate.js';
|
|
41
|
+
export type { AuthGateLevel, AuthGateOptions, } from '../modules/auth/gate.js';
|
|
40
42
|
export { createMailClient } from '../modules/mail/client.js';
|
|
41
43
|
export type { MailClient, MailClientConfig, MailSendOptions, MailSendTemplateOptions, MailSendRawOptions, MailSendResult, } from '../modules/mail/types.js';
|
|
42
44
|
export { verifyServiceToken, extractBearerToken, } from '../modules/auth/service-token.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAGH,OAAO,EACL,kBAAkB,EAClB,gBAAgB,GACjB,MAAM,oBAAoB,CAAA;AAC3B,YAAY,EACV,kBAAkB,EAClB,iBAAiB,GAClB,MAAM,oBAAoB,CAAA;AAG3B,OAAO,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAA;AAG/D,OAAO,EACL,gBAAgB,EAChB,qBAAqB,EACrB,uBAAuB,EACvB,UAAU,EACV,eAAe,GAChB,MAAM,oBAAoB,CAAA;AAC3B,YAAY,EACV,qBAAqB,EACrB,UAAU,EACV,sBAAsB,EACtB,kBAAkB,EAClB,iBAAiB,EACjB,qBAAqB,EACrB,eAAe,GAChB,MAAM,oBAAoB,CAAA;AAC3B,YAAY,EACV,QAAQ,EACR,cAAc,EACd,gBAAgB,EAChB,WAAW,EACX,YAAY,EACZ,iBAAiB,EACjB,YAAY,EACZ,eAAe,EACf,eAAe,EACf,mBAAmB,EACnB,qBAAqB,EACrB,mBAAmB,EACnB,eAAe,EACf,aAAa,EACb,iBAAiB,EACjB,gBAAgB,EAChB,gBAAgB,EAChB,yBAAyB,EACzB,WAAW,EACX,gBAAgB,EAChB,SAAS,EACT,eAAe,EACf,eAAe,EACf,eAAe,EACf,WAAW,EACX,oBAAoB,EACpB,sBAAsB,EACtB,iBAAiB,EACjB,mBAAmB,EACnB,aAAa,EACb,qBAAqB,GACtB,MAAM,0BAA0B,CAAA;AAGjC,OAAO,EACL,2BAA2B,EAC3B,4BAA4B,EAC5B,gCAAgC,EAChC,2BAA2B,EAC3B,wBAAwB,EACxB,uBAAuB,EACvB,yBAAyB,EACzB,OAAO,GACR,MAAM,uCAAuC,CAAA;AAC9C,YAAY,EACV,iBAAiB,EACjB,qBAAqB,EACrB,qBAAqB,EACrB,cAAc,EACd,eAAe,EACf,4BAA4B,EAC5B,yBAAyB,EACzB,sBAAsB,EACtB,0BAA0B,GAC3B,MAAM,uCAAuC,CAAA;AAG9C,OAAO,EAAE,qCAAqC,EAAE,MAAM,wCAAwC,CAAA;AAC9F,YAAY,EACV,uBAAuB,EACvB,mBAAmB,GACpB,MAAM,wCAAwC,CAAA;AAG/C,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"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"}
|
package/dist/server/index.js
CHANGED
|
@@ -36,7 +36,9 @@ export { createRequestAuthMiddleware, createRequestDevLoginHandler, createReques
|
|
|
36
36
|
// ── Backchannel logout handler ──────────────────────────────────────────────
|
|
37
37
|
export { createRequestBackchannelLogoutHandler } from '../modules/auth/request-backchannel.js';
|
|
38
38
|
// ── SvelteKit auth integration ────────────────────────────────────────────────
|
|
39
|
-
export { createSoulcraftAuth } from '../modules/auth/sveltekit.js';
|
|
39
|
+
export { createSoulcraftAuth, buildLoginUrl } from '../modules/auth/sveltekit.js';
|
|
40
|
+
// ── Auth gate middleware ─────────────────────────────────────────────────────
|
|
41
|
+
export { createAuthGateHandle } from '../modules/auth/gate.js';
|
|
40
42
|
// ── Mail client ───────────────────────────────────────────────────────────────
|
|
41
43
|
export { createMailClient } from '../modules/mail/client.js';
|
|
42
44
|
// ── Service token verification ────────────────────────────────────────────────
|
package/dist/server/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAEH,iFAAiF;AACjF,OAAO,EACL,kBAAkB,EAClB,gBAAgB,GACjB,MAAM,oBAAoB,CAAA;AAM3B,iFAAiF;AACjF,OAAO,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAA;AAE/D,gFAAgF;AAChF,OAAO,EACL,gBAAgB,EAChB,qBAAqB,EACrB,uBAAuB,EACvB,UAAU,EACV,eAAe,GAChB,MAAM,oBAAoB,CAAA;AA4C3B,iFAAiF;AACjF,OAAO,EACL,2BAA2B,EAC3B,4BAA4B,EAC5B,gCAAgC,EAChC,2BAA2B,EAC3B,wBAAwB,EACxB,uBAAuB,EACvB,yBAAyB,EACzB,OAAO,GACR,MAAM,uCAAuC,CAAA;AAa9C,+EAA+E;AAC/E,OAAO,EAAE,qCAAqC,EAAE,MAAM,wCAAwC,CAAA;AAM9F,iFAAiF;AACjF,OAAO,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"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"}
|