@soulcraft/sdk 3.3.17 → 3.4.0
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/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/dist/server/namespace-router.d.ts +8 -2
- package/dist/server/namespace-router.d.ts.map +1 -1
- package/dist/server/namespace-router.js +14 -13
- package/dist/server/namespace-router.js.map +1 -1
- package/dist/server/ws-handler.d.ts +3 -2
- package/dist/server/ws-handler.d.ts.map +1 -1
- package/dist/server/ws-handler.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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"}
|
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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"}
|
|
@@ -38,7 +38,7 @@
|
|
|
38
38
|
* ```
|
|
39
39
|
*/
|
|
40
40
|
import type { Brainy } from '@soulcraft/brainy';
|
|
41
|
-
import type { NamespaceTransport } from '../
|
|
41
|
+
import type { NamespaceTransport } from '../client/namespace-proxy.js';
|
|
42
42
|
import type { SoulcraftRPC, SoulcraftRPCResponse } from '../rpc.js';
|
|
43
43
|
/**
|
|
44
44
|
* Context extracted from an incoming request. Passed to `authenticate` and
|
|
@@ -91,7 +91,13 @@ export interface HandlerContext {
|
|
|
91
91
|
user: UserContext;
|
|
92
92
|
/** Workspace ID. */
|
|
93
93
|
workspaceId: string;
|
|
94
|
-
/**
|
|
94
|
+
/**
|
|
95
|
+
* Brainy instance or remote transport for this request.
|
|
96
|
+
*
|
|
97
|
+
* For local workspaces, this is a real `Brainy` instance with direct method access.
|
|
98
|
+
* For remote workspaces, this is a proxy backed by a `NamespaceTransport` — method
|
|
99
|
+
* calls are transparently forwarded as RPC. Handlers should treat both identically.
|
|
100
|
+
*/
|
|
95
101
|
brain: Brainy;
|
|
96
102
|
/** The raw HTTP request (for advanced cases). */
|
|
97
103
|
request: Request;
|
|
@@ -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,EAAE,kBAAkB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"namespace-router.d.ts","sourceRoot":"","sources":["../../src/server/namespace-router.ts"],"names":[],"mappings":"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"}
|
|
@@ -221,25 +221,25 @@ async function _dispatchBrainy(id, ns, method, args, ctx, resolveBrain, blockedM
|
|
|
221
221
|
if (blockedMethods.includes(transportMethod)) {
|
|
222
222
|
return _errorResponse(id, 403, 'FORBIDDEN', `Method '${transportMethod}' is not available via RPC`);
|
|
223
223
|
}
|
|
224
|
-
// Resolve Brainy instance
|
|
225
|
-
let
|
|
224
|
+
// Resolve the brain — either a local Brainy instance or a remote NamespaceTransport.
|
|
225
|
+
let resolved;
|
|
226
226
|
try {
|
|
227
|
-
|
|
227
|
+
resolved = await resolveBrain(ctx);
|
|
228
228
|
}
|
|
229
229
|
catch (err) {
|
|
230
230
|
console.error('[SDK/router] resolveBrain threw:', err);
|
|
231
231
|
return _errorResponse(id, 503, 'BRAIN_UNAVAILABLE', 'Brainy instance not available');
|
|
232
232
|
}
|
|
233
|
-
//
|
|
234
|
-
//
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
233
|
+
// Detect whether this is a NamespaceTransport (remote) or a real Brainy (local).
|
|
234
|
+
// NamespaceTransport has callNs(); Brainy does not.
|
|
235
|
+
const isTransport = typeof resolved.callNs === 'function';
|
|
236
|
+
if (isTransport) {
|
|
237
|
+
// Remote transport — forward RPC directly to the remote server.
|
|
238
|
+
// No LocalTransport wrapping, no property traversal, no serialization needed
|
|
239
|
+
// (the remote server handles its own serialization).
|
|
240
|
+
const transport = resolved;
|
|
241
241
|
try {
|
|
242
|
-
const result = await
|
|
242
|
+
const result = await transport.callNs(ns, method, args);
|
|
243
243
|
return {
|
|
244
244
|
type: 'response',
|
|
245
245
|
response: { id, result },
|
|
@@ -250,7 +250,8 @@ async function _dispatchBrainy(id, ns, method, args, ctx, resolveBrain, blockedM
|
|
|
250
250
|
return _errorResponse(id, 500, 'RPC_ERROR', message);
|
|
251
251
|
}
|
|
252
252
|
}
|
|
253
|
-
// Local
|
|
253
|
+
// Local Brainy instance — dispatch via LocalTransport (direct method call).
|
|
254
|
+
const brain = resolved;
|
|
254
255
|
const transport = new LocalTransport(brain);
|
|
255
256
|
try {
|
|
256
257
|
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":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AAGH,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AA8MvD,gFAAgF;AAChF,4BAA4B;AAC5B,gFAAgF;AAEhF,mEAAmE;AACnE,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC,CAAC,QAAQ,EAAE,YAAY,EAAE,iBAAiB,CAAC,CAAC,CAAA;AAE9E;;;;;GAKG;AACH,SAAS,iBAAiB,CAAC,EAAU;IACnC,OAAO,iBAAiB,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,CAAA;AAC9D,CAAC;AAED,gFAAgF;AAChF,UAAU;AACV,gFAAgF;AAEhF;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,UAAU,qBAAqB,CAAC,MAA6B;IACjE,MAAM,EACJ,YAAY,EACZ,YAAY,EACZ,SAAS,EACT,SAAS,EACT,oBAAoB,GAAG,EAAE,GAC1B,GAAG,MAAM,CAAA;IAEV,OAAO;QACL,KAAK,CAAC,QAAQ,CAAC,GAAiB,EAAE,YAA+C;YAC/E,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,GAAG,CAAA;YAE5C,6EAA6E;YAC7E,MAAM,SAAS,GAAG,CAAC,CAAC,YAAY,YAAY,OAAO,CAAC,IAAI,MAAM,IAAI,YAAY,CAAA;YAC9E,MAAM,OAAO,GAAY,SAAS;gBAChC,CAAC,CAAE,YAAwC,CAAC,OAAO;gBACnD,CAAC,CAAE,YAAwB,CAAA;YAE7B,qEAAqE;YACrE,MAAM,WAAW,GAAG,SAAS;gBAC3B,CAAC,CAAE,YAAwC,CAAC,WAAW;gBACvD,CAAC,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAA;YAEhC,sEAAsE;YACtE,MAAM,GAAG,GAAmB;gBAC1B,OAAO;gBACP,IAAI,EAAE,SAAS,CAAC,CAAC,CAAE,YAAwC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI;gBACvE,WAAW;aACZ,CAAA;YAED,qEAAqE;YACrE,IAAI,CAAC,SAAS,EAAE,CAAC;gBACf,IAAI,CAAC;oBACH,MAAM,IAAI,GAAG,MAAM,YAAY,CAAC,GAAG,CAAC,CAAA;oBACpC,IAAI,CAAC,IAAI,EAAE,CAAC;wBACV,OAAO,cAAc,CAAC,EAAE,EAAE,GAAG,EAAE,cAAc,EAAE,yBAAyB,CAAC,CAAA;oBAC3E,CAAC;oBACD,GAAG,CAAC,IAAI,GAAG,IAAI,CAAA;gBACjB,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,OAAO,CAAC,KAAK,CAAC,kCAAkC,EAAE,GAAG,CAAC,CAAA;oBACtD,OAAO,cAAc,CAAC,EAAE,EAAE,GAAG,EAAE,YAAY,EAAE,uBAAuB,CAAC,CAAA;gBACvE,CAAC;YACH,CAAC;YAED,qEAAqE;YACrE,IAAI,SAAS,EAAE,CAAC;gBACd,IAAI,CAAC;oBACH,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,IAAK,CAAC,CAAA;oBAC5D,IAAI,CAAC,OAAO,EAAE,CAAC;wBACb,OAAO,cAAc,CAAC,EAAE,EAAE,GAAG,EAAE,WAAW,EAAE,mBAAmB,EAAE,IAAI,MAAM,EAAE,CAAC,CAAA;oBAChF,CAAC;gBACH,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,OAAO,CAAC,KAAK,CAAC,+BAA+B,EAAE,GAAG,CAAC,CAAA;oBACnD,OAAO,cAAc,CAAC,EAAE,EAAE,GAAG,EAAE,WAAW,EAAE,4BAA4B,CAAC,CAAA;gBAC3E,CAAC;YACH,CAAC;YAED,qEAAqE;YACrE,IAAI,iBAAiB,CAAC,EAAE,CAAC,EAAE,CAAC;gBAC1B,OAAO,eAAe,CAAC,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,YAAY,EAAE,oBAAoB,CAAC,CAAA;YACvF,CAAC;YAED,sEAAsE;YACtE,MAAM,QAAQ,GAAG,SAAS,CAAC,EAAE,CAAC,CAAA;YAC9B,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,OAAO,cAAc,CAAC,EAAE,EAAE,GAAG,EAAE,qBAAqB,EAAE,cAAc,EAAE,qBAAqB,CAAC,CAAA;YAC9F,CAAC;YAED,MAAM,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAA;YAClC,IAAI,OAAO,SAAS,KAAK,UAAU,EAAE,CAAC;gBACpC,OAAO,cAAc,CAAC,EAAE,EAAE,GAAG,EAAE,kBAAkB,EAAE,WAAW,EAAE,IAAI,MAAM,kBAAkB,CAAC,CAAA;YAC/F,CAAC;YAED,wEAAwE;YACxE,IAAI,KAAK,GAAuC,IAAI,CAAA;YACpD,IAAI,CAAC;gBACH,KAAK,GAAG,MAAM,YAAY,CAAC,GAAG,CAAC,CAAA;YACjC,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,mDAAmD;gBACnD,MAAM,aAAa,GAAG,CAAC,CAAC,WAAW,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAA;gBAC5D,IAAI,aAAa,EAAE,CAAC;oBAClB,OAAO,CAAC,KAAK,CAAC,wCAAwC,EAAE,IAAI,MAAM,GAAG,EAAG,GAAa,CAAC,OAAO,CAAC,CAAA;oBAC9F,OAAO,cAAc,CAAC,EAAE,EAAE,GAAG,EAAE,mBAAmB,EAAE,4BAA4B,EAAE,IAAI,MAAM,KAAM,GAAa,CAAC,OAAO,EAAE,CAAC,CAAA;gBAC5H,CAAC;YACH,CAAC;YAED,MAAM,UAAU,GAAmB;gBACjC,IAAI,EAAE,GAAG,CAAC,IAAK;gBACf,WAAW;gBACX,KAAK,EAAE,KAAe;gBACtB,OAAO;aACR,CAAA;YAED,IAAI,CAAC;gBACH,kEAAkE;gBAClE,iEAAiE;gBACjE,mEAAmE;gBACnE,iEAAiE;gBACjE,kDAAkD;gBAClD,MAAM,YAAY,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,CAAA,CAAC,aAAa;gBACvD,MAAM,UAAU,GAAG,YAAY,GAAG,IAAI,CAAC,MAAM;oBAC3C,CAAC,CAAC,CAAC,GAAG,IAAI,EAAE,GAAG,IAAI,KAAK,CAAC,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;oBACrE,CAAC,CAAC,IAAI,CAAA;gBACR,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,GAAG,UAAU,EAAE,UAAU,CAAC,CAAA;gBAEzD,iEAAiE;gBACjE,IAAI,MAAM,IAAI,MAAM,IAAI,IAAI,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,CAAC,aAAa,IAAK,MAAiB,EAAE,CAAC;oBACzG,OAAO;wBACL,IAAI,EAAE,QAAQ;wBACd,EAAE;wBACF,QAAQ,EAAE,MAAgC;qBAC3C,CAAA;gBACH,CAAC;gBAED,OAAO;oBACL,IAAI,EAAE,UAAU;oBAChB,QAAQ,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE;iBACzB,CAAA;YACH,CAAC;YAAC,OAAO,GAAG,EAAE,CAAC;gBACb,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;gBAChE,OAAO,CAAC,KAAK,CAAC,gBAAgB,EAAE,IAAI,MAAM,SAAS,EAAE,GAAG,CAAC,CAAA;gBACzD,OAAO,cAAc,CAAC,EAAE,EAAE,GAAG,EAAE,WAAW,EAAE,OAAO,CAAC,CAAA;YACtD,CAAC;QACH,CAAC;KACF,CAAA;AACH,CAAC;AAED,gFAAgF;AAChF,kBAAkB;AAClB,gFAAgF;AAEhF;;;;;;;;;;;;;;;;GAgBG;AACH,KAAK,UAAU,eAAe,CAC5B,EAAU,EACV,EAAU,EACV,MAAc,EACd,IAAe,EACf,GAAmB,EACnB,YAA2E,EAC3E,cAAwB;IAExB,iDAAiD;IACjD,wCAAwC;IACxC,qDAAqD;IACrD,0CAA0C;IAC1C,MAAM,KAAK,GAAG,EAAE,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,MAAM,CAAC,CAAA;IAC/D,MAAM,eAAe,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,MAAM,EAAE,CAAC,CAAC,CAAC,MAAM,CAAA;IAE7D,kBAAkB;IAClB,IAAI,cAAc,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;QAC7C,OAAO,cAAc,CAAC,EAAE,EAAE,GAAG,EAAE,WAAW,EAAE,WAAW,eAAe,4BAA4B,CAAC,CAAA;IACrG,CAAC;IAED,qFAAqF;IACrF,IAAI,QAAqC,CAAA;IACzC,IAAI,CAAC;QACH,QAAQ,GAAG,MAAM,YAAY,CAAC,GAAG,CAAC,CAAA;IACpC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,kCAAkC,EAAE,GAAG,CAAC,CAAA;QACtD,OAAO,cAAc,CAAC,EAAE,EAAE,GAAG,EAAE,mBAAmB,EAAE,+BAA+B,CAAC,CAAA;IACtF,CAAC;IAED,iFAAiF;IACjF,oDAAoD;IACpD,MAAM,WAAW,GAAG,OAAQ,QAA+B,CAAC,MAAM,KAAK,UAAU,CAAA;IAEjF,IAAI,WAAW,EAAE,CAAC;QAChB,gEAAgE;QAChE,6EAA6E;QAC7E,qDAAqD;QACrD,MAAM,SAAS,GAAG,QAA8B,CAAA;QAChD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,SAAS,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,CAAA;YACvD,OAAO;gBACL,IAAI,EAAE,UAAU;gBAChB,QAAQ,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE;aACzB,CAAA;QACH,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;YAChE,OAAO,cAAc,CAAC,EAAE,EAAE,GAAG,EAAE,WAAW,EAAE,OAAO,CAAC,CAAA;QACtD,CAAC;IACH,CAAC;IAED,4EAA4E;IAC5E,MAAM,KAAK,GAAG,QAAkB,CAAA;IAChC,MAAM,SAAS,GAAG,IAAI,cAAc,CAAC,KAAK,CAAC,CAAA;IAC3C,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,CAAA;QACvD,iFAAiF;QACjF,wEAAwE;QACxE,uDAAuD;QACvD,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,CAAC,CAAA;QAC/B,OAAO;YACL,IAAI,EAAE,UAAU;YAChB,QAAQ,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE;SACzB,CAAA;IACH,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;QAChE,OAAO,cAAc,CAAC,EAAE,EAAE,GAAG,EAAE,WAAW,EAAE,OAAO,CAAC,CAAA;IACtD,CAAC;AACH,CAAC;AAED,gFAAgF;AAChF,UAAU;AACV,gFAAgF;AAEhF;;;;;;;;;;;GAWG;AACH,SAAS,WAAW,CAAC,KAAc;IACjC,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,KAAK,CAAA;IACvD,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAA;IAC3C,IAAI,KAAK,YAAY,IAAI;QAAE,OAAO,KAAK,CAAA;IACvC,IAAI,KAAK,YAAY,MAAM,IAAI,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAA;IAEtE,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,CAAA;IAC/B,CAAC;IAED,mFAAmF;IACnF,MAAM,GAAG,GAAG,KAAgC,CAAA;IAC5C,MAAM,MAAM,GAA4B,EAAE,CAAA;IAE1C,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;QACnC,MAAM,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAA;QAClB,IAAI,OAAO,CAAC,KAAK,UAAU,EAAE,CAAC;YAC5B,mFAAmF;YACnF,IAAI,CAAC;gBAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;YAAC,CAAC;YAAC,MAAM,CAAC,CAAC,6BAA6B,CAAC,CAAC;QAC3E,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,GAAG,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,CAAA;QAC9B,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,cAAc,CACrB,EAAU,EACV,OAAe,EACf,IAAY,EACZ,OAAe;IAEf,OAAO;QACL,IAAI,EAAE,UAAU;QAChB,QAAQ,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE;KAC3C,CAAA;AACH,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,mBAAmB,CAAC,OAAgB;IAC3C,MAAM,UAAU,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAA;IACxD,IAAI,UAAU;QAAE,OAAO,UAAU,CAAA;IAEjC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;QAChC,OAAO,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,EAAE,CAAA;IAClD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAA;IACX,CAAC;AACH,CAAC"}
|
|
@@ -56,6 +56,7 @@
|
|
|
56
56
|
* ```
|
|
57
57
|
*/
|
|
58
58
|
import type { Brainy } from '@soulcraft/brainy';
|
|
59
|
+
import type { NamespaceTransport } from '../client/namespace-proxy.js';
|
|
59
60
|
import type { BrainyChangeEvent } from '../modules/brainy/events.js';
|
|
60
61
|
import type { NamespaceRouterConfig, UserContext } from './namespace-router.js';
|
|
61
62
|
import { YDocManager } from '../modules/brainy/ydoc-manager.js';
|
|
@@ -104,8 +105,8 @@ export interface WsSession {
|
|
|
104
105
|
user: UserContext;
|
|
105
106
|
/** Workspace ID extracted from the upgrade request. */
|
|
106
107
|
workspaceId: string;
|
|
107
|
-
/** The resolved Brainy instance for this session's scope. */
|
|
108
|
-
brain: Brainy;
|
|
108
|
+
/** The resolved Brainy instance (local) or transport (remote) for this session's scope. */
|
|
109
|
+
brain: Brainy | NamespaceTransport;
|
|
109
110
|
/** The raw scope string from `?scope=` (preserved for broadcast key). */
|
|
110
111
|
scope: string;
|
|
111
112
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ws-handler.d.ts","sourceRoot":"","sources":["../../src/server/ws-handler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwDG;AAGH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAA;AACpE,OAAO,KAAK,EACV,qBAAqB,EAErB,WAAW,EAEZ,MAAM,uBAAuB,CAAA;AAI9B,OAAO,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAA;AAO/D;;;;;GAKG;AACH,MAAM,WAAW,wBAAwB;IACvC;;;;;;OAMG;IACH,MAAM,EAAE,qBAAqB,CAAA;IAE7B;;;;;;;;;OASG;IACH,aAAa,CAAC,EAAE,MAAM,CAAA;IAEtB;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,WAAW,CAAA;CAC1B;AAMD;;;;GAIG;AACH,MAAM,WAAW,SAAS;IACxB,sCAAsC;IACtC,IAAI,EAAE,WAAW,CAAA;IACjB,uDAAuD;IACvD,WAAW,EAAE,MAAM,CAAA;IACnB,
|
|
1
|
+
{"version":3,"file":"ws-handler.d.ts","sourceRoot":"","sources":["../../src/server/ws-handler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwDG;AAGH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAA;AACtE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAA;AACpE,OAAO,KAAK,EACV,qBAAqB,EAErB,WAAW,EAEZ,MAAM,uBAAuB,CAAA;AAI9B,OAAO,EAAE,WAAW,EAAE,MAAM,mCAAmC,CAAA;AAO/D;;;;;GAKG;AACH,MAAM,WAAW,wBAAwB;IACvC;;;;;;OAMG;IACH,MAAM,EAAE,qBAAqB,CAAA;IAE7B;;;;;;;;;OASG;IACH,aAAa,CAAC,EAAE,MAAM,CAAA;IAEtB;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,WAAW,CAAA;CAC1B;AAMD;;;;GAIG;AACH,MAAM,WAAW,SAAS;IACxB,sCAAsC;IACtC,IAAI,EAAE,WAAW,CAAA;IACjB,uDAAuD;IACvD,WAAW,EAAE,MAAM,CAAA;IACnB,2FAA2F;IAC3F,KAAK,EAAE,MAAM,GAAG,kBAAkB,CAAA;IAClC,yEAAyE;IACzE,KAAK,EAAE,MAAM,CAAA;IACb;;;OAGG;IACH,MAAM,EAAE,MAAM,CAAA;IACd;;;;;;;;;OASG;IACH,SAAS,EAAE,CAAC,GAAG,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,KAAK,IAAI,CAAA;CAC5D;AAMD;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC;;;;;;;;OAQG;IACH,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,CAAA;IAE1D;;;;;;;;;OASG;IACH,aAAa,CACX,OAAO,EAAE,SAAS,EAClB,IAAI,EAAE,WAAW,GAAG,UAAU,EAC9B,IAAI,EAAE,CAAC,GAAG,EAAE,UAAU,KAAK,IAAI,GAC9B,OAAO,CAAC,IAAI,CAAC,CAAA;IAEhB;;;;;;;OAOG;IACH,WAAW,CAAC,OAAO,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAE9C;;;;;OAKG;IACH,eAAe,CAAC,KAAK,EAAE,iBAAiB,EAAE,IAAI,EAAE,CAAC,GAAG,EAAE,UAAU,KAAK,IAAI,GAAG,IAAI,CAAA;CACjF;AAiCD;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CAAC,MAAM,EAAE,wBAAwB,GAAG,kBAAkB,CA0K7F"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ws-handler.js","sourceRoot":"","sources":["../../src/server/ws-handler.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwDG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAA;
|
|
1
|
+
{"version":3,"file":"ws-handler.js","sourceRoot":"","sources":["../../src/server/ws-handler.ts"],"names":[],"mappings":"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"}
|