@astrale-os/sdk 0.4.5 → 0.4.7
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/dispatch/dispatcher.d.ts +1 -8
- package/dist/dispatch/dispatcher.d.ts.map +1 -1
- package/dist/dispatch/dispatcher.js +6 -9
- package/dist/dispatch/dispatcher.js.map +1 -1
- package/dist/dispatch/self.d.ts.map +1 -1
- package/dist/dispatch/self.js +7 -3
- package/dist/dispatch/self.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/method/class.d.ts +2 -1
- package/dist/method/class.d.ts.map +1 -1
- package/dist/method/class.js.map +1 -1
- package/dist/method/context.d.ts +9 -14
- package/dist/method/context.d.ts.map +1 -1
- package/dist/method/index.d.ts +1 -1
- package/dist/method/index.d.ts.map +1 -1
- package/dist/method/index.js.map +1 -1
- package/dist/method/single.d.ts +6 -6
- package/dist/method/single.d.ts.map +1 -1
- package/dist/method/single.js.map +1 -1
- package/dist/server/create.d.ts.map +1 -1
- package/dist/server/create.js +0 -3
- package/dist/server/create.js.map +1 -1
- package/package.json +6 -6
- package/src/dispatch/dispatcher.ts +7 -17
- package/src/dispatch/self.ts +7 -3
- package/src/index.ts +1 -0
- package/src/method/class.ts +12 -2
- package/src/method/context.ts +13 -18
- package/src/method/index.ts +1 -0
- package/src/method/single.ts +26 -6
- package/src/server/create.ts +0 -3
|
@@ -11,7 +11,6 @@
|
|
|
11
11
|
import type { AuthedKernelAPI, DispatchResult, KernelAPI } from '@astrale-os/kernel-api';
|
|
12
12
|
import type { CredentialInput } from '@astrale-os/kernel-core';
|
|
13
13
|
import type { CompiledDomain } from '@astrale-os/kernel-core/domain';
|
|
14
|
-
import type { Schema } from '@astrale-os/kernel-dsl';
|
|
15
14
|
import type { MethodIndex } from './resolve';
|
|
16
15
|
type PathInput = string | {
|
|
17
16
|
raw: string;
|
|
@@ -34,12 +33,6 @@ export type SdkDispatcherConfig<TDeps> = {
|
|
|
34
33
|
issuer: string;
|
|
35
34
|
/** The worker's serving URL (`config.url`) — exposed to handlers as `ctx.env.url`. */
|
|
36
35
|
url: string;
|
|
37
|
-
/**
|
|
38
|
-
* The domain schema. When present, non-static handlers receive the rich,
|
|
39
|
-
* schema-typed `self` ({@link withBoundNode}: `self.node()` → `BoundNode<D>`,
|
|
40
|
-
* typed `self.call`); absent, they fall back to the untyped {@link withNode}.
|
|
41
|
-
*/
|
|
42
|
-
schema?: Schema;
|
|
43
36
|
};
|
|
44
37
|
export declare class SdkDispatcher<TDeps = unknown> implements KernelAPI {
|
|
45
38
|
private readonly methods;
|
|
@@ -48,7 +41,7 @@ export declare class SdkDispatcher<TDeps = unknown> implements KernelAPI {
|
|
|
48
41
|
private readonly issuer;
|
|
49
42
|
private readonly url;
|
|
50
43
|
private readonly privateKey;
|
|
51
|
-
/** Built once
|
|
44
|
+
/** Built once from the compiled domain — drives typed self and handler kernel binding. */
|
|
52
45
|
private readonly binder;
|
|
53
46
|
constructor(config: SdkDispatcherConfig<TDeps>);
|
|
54
47
|
call(path: PathInput, credential: CredentialInput, params: unknown, opts?: {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dispatcher.d.ts","sourceRoot":"","sources":["../../src/dispatch/dispatcher.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAGxF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AAC9D,OAAO,KAAK,EAAe,cAAc,EAAE,MAAM,gCAAgC,CAAA;
|
|
1
|
+
{"version":3,"file":"dispatcher.d.ts","sourceRoot":"","sources":["../../src/dispatch/dispatcher.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAGxF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AAC9D,OAAO,KAAK,EAAe,cAAc,EAAE,MAAM,gCAAgC,CAAA;AAMjF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AAc5C,KAAK,SAAS,GAAG,MAAM,GAAG;IAAE,GAAG,EAAE,MAAM,CAAA;CAAE,CAAA;AAEzC,MAAM,MAAM,mBAAmB,CAAC,KAAK,IAAI;IACvC,mFAAmF;IACnF,QAAQ,EAAE,cAAc,CAAA;IACxB,+CAA+C;IAC/C,OAAO,EAAE,WAAW,CAAA;IACpB,wDAAwD;IACxD,IAAI,EAAE,KAAK,CAAA;IACX,iEAAiE;IACjE,UAAU,EAAE,UAAU,CAAA;IACtB;;;;;OAKG;IACH,MAAM,EAAE,MAAM,CAAA;IACd,sFAAsF;IACtF,GAAG,EAAE,MAAM,CAAA;CACZ,CAAA;AAED,qBAAa,aAAa,CAAC,KAAK,GAAG,OAAO,CAAE,YAAW,SAAS;IAC9D,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAa;IACrC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAO;IAC5B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA0D;IACrF,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAQ;IAC/B,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAQ;IAC5B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAY;IACvC,0FAA0F;IAC1F,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA2C;IAElE,YAAY,MAAM,EAAE,mBAAmB,CAAC,KAAK,CAAC,EAa7C;IAEK,IAAI,CACR,IAAI,EAAE,SAAS,EACf,UAAU,EAAE,eAAe,EAC3B,MAAM,EAAE,OAAO,EACf,IAAI,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GACvB,OAAO,CAAC,OAAO,CAAC,CAElB;IAEK,MAAM,CACV,IAAI,EAAE,SAAS,EACf,UAAU,EAAE,eAAe,EAC3B,MAAM,EAAE,OAAO,EACf,IAAI,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GACvB,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAMlC;IAED;;;;OAIG;IACG,QAAQ,CACZ,IAAI,EAAE,SAAS,EACf,UAAU,EAAE,eAAe,EAC3B,MAAM,EAAE,OAAO,EACf,IAAI,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,GACvB,OAAO,CAAC,cAAc,CAAC,CAKzB;IAED,EAAE,CAAC,UAAU,EAAE,eAAe,GAAG,eAAe,CAK/C;YAEa,GAAG;IA2GjB,OAAO,CAAC,WAAW;CAapB"}
|
|
@@ -18,7 +18,7 @@ import { MethodNotFoundError, SdkResultValidationError, SdkValidationError } fro
|
|
|
18
18
|
import { executeHandler } from './execute';
|
|
19
19
|
import { buildIdentityMap } from './identity';
|
|
20
20
|
import { resolveMethod } from './resolve';
|
|
21
|
-
import { resolveSelf, withBoundNode
|
|
21
|
+
import { resolveSelf, withBoundNode } from './self';
|
|
22
22
|
import { validateParams, validateResult } from './validate';
|
|
23
23
|
export class SdkDispatcher {
|
|
24
24
|
methods;
|
|
@@ -27,7 +27,7 @@ export class SdkDispatcher {
|
|
|
27
27
|
issuer;
|
|
28
28
|
url;
|
|
29
29
|
privateKey;
|
|
30
|
-
/** Built once
|
|
30
|
+
/** Built once from the compiled domain — drives typed self and handler kernel binding. */
|
|
31
31
|
binder;
|
|
32
32
|
constructor(config) {
|
|
33
33
|
this.methods = config.methods;
|
|
@@ -35,7 +35,7 @@ export class SdkDispatcher {
|
|
|
35
35
|
this.issuer = config.issuer;
|
|
36
36
|
this.url = config.url;
|
|
37
37
|
this.privateKey = config.privateKey;
|
|
38
|
-
this.binder =
|
|
38
|
+
this.binder = createNodeBinder(config.compiled.$.schema);
|
|
39
39
|
const methodList = Array.from(new Set(config.methods.values()));
|
|
40
40
|
const identityMethods = methodList.filter((bound) => methodAuthPolicy(bound) !== 'public');
|
|
41
41
|
this.identities =
|
|
@@ -76,7 +76,8 @@ export class SdkDispatcher {
|
|
|
76
76
|
throw new MethodNotFoundError(pathToString(path));
|
|
77
77
|
const authPolicy = bound.handler.auth ?? 'required';
|
|
78
78
|
const fnIdentity = this.identityFor(bound);
|
|
79
|
-
const { auth, kernel } = await resolveInboundAuth(credential, authPolicy, fnIdentity);
|
|
79
|
+
const { auth, kernel: rawKernel } = await resolveInboundAuth(credential, authPolicy, fnIdentity);
|
|
80
|
+
const kernel = rawKernel?.withSchema(this.binder.schema) ?? null;
|
|
80
81
|
if (typeof params !== 'object' || params === null || Array.isArray(params)) {
|
|
81
82
|
throw new SdkValidationError([{ path: [], message: 'Params must be a plain object' }]);
|
|
82
83
|
}
|
|
@@ -114,12 +115,8 @@ export class SdkDispatcher {
|
|
|
114
115
|
// Enrich the parsed self with the lazy `node()` accessor, bound to this
|
|
115
116
|
// request's kernel (null when the auth policy yields none — `node()` then
|
|
116
117
|
// rejects). Done here, not in `resolveSelf`, so the parse stays kernel-free.
|
|
117
|
-
// With a schema the handler gets the rich typed `self` keyed by its owner
|
|
118
|
-
// (class/interface); without one, the untyped fallback.
|
|
119
118
|
const self = parsedSelf
|
|
120
|
-
? this.binder
|
|
121
|
-
? withBoundNode(parsedSelf, kernel, this.binder, bound.owner)
|
|
122
|
-
: withNode(parsedSelf, kernel)
|
|
119
|
+
? withBoundNode(parsedSelf, kernel, this.binder, bound.owner)
|
|
123
120
|
: undefined;
|
|
124
121
|
const inboundIss = auth?.credential?.verified?.iss;
|
|
125
122
|
const kernelUrl = kernel?.default ?? inboundIss;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dispatcher.js","sourceRoot":"","sources":["../../src/dispatch/dispatcher.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;
|
|
1
|
+
{"version":3,"file":"dispatcher.js","sourceRoot":"","sources":["../../src/dispatch/dispatcher.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"self.d.ts","sourceRoot":"","sources":["../../src/dispatch/self.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAEV,SAAS,EACT,gBAAgB,EAChB,UAAU,EAIX,MAAM,kCAAkC,CAAA;AACzC,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,+BAA+B,CAAA;AACzD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAA;AAOpD,OAAO,EAAa,IAAI,EAAE,KAAK,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAKtE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAE/C,6EAA6E;AAC7E,MAAM,MAAM,gBAAgB,GAAG,IAAI,GAAG;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,CAAA;AAEpD,6DAA6D;AAC7D,MAAM,MAAM,UAAU,GAAG;IACvB,IAAI,EAAE,IAAI,CAAA;IACV,mEAAmE;IACnE,EAAE,CAAC,EAAE,MAAM,CAAA;CACZ,CAAA;AAED,MAAM,MAAM,UAAU,GAAG,UAAU,GAAG;IACpC;;;OAGG;IACH,IAAI,CAAC,IAAI,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAA;CAC7D,CAAA;AAED,+EAA+E;AAC/E,MAAM,MAAM,SAAS,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,GAAG,MAAM,IAAI,UAAU,GAAG;IACjE;;;;;OAKG;IACH,IAAI,CAAC,IAAI,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IAC3D,kFAAkF;IAClF,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAA;CACnC,CAAA;AAED,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,CAGnD;AAED,kFAAkF;AAClF,wBAAgB,QAAQ,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,UAAU,CAa9E;
|
|
1
|
+
{"version":3,"file":"self.d.ts","sourceRoot":"","sources":["../../src/dispatch/self.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAEV,SAAS,EACT,gBAAgB,EAChB,UAAU,EAIX,MAAM,kCAAkC,CAAA;AACzC,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,+BAA+B,CAAA;AACzD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAA;AAOpD,OAAO,EAAa,IAAI,EAAE,KAAK,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAKtE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAE/C,6EAA6E;AAC7E,MAAM,MAAM,gBAAgB,GAAG,IAAI,GAAG;IAAE,EAAE,EAAE,MAAM,CAAA;CAAE,CAAA;AAEpD,6DAA6D;AAC7D,MAAM,MAAM,UAAU,GAAG;IACvB,IAAI,EAAE,IAAI,CAAA;IACV,mEAAmE;IACnE,EAAE,CAAC,EAAE,MAAM,CAAA;CACZ,CAAA;AAED,MAAM,MAAM,UAAU,GAAG,UAAU,GAAG;IACpC;;;OAGG;IACH,IAAI,CAAC,IAAI,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAA;CAC7D,CAAA;AAED,+EAA+E;AAC/E,MAAM,MAAM,SAAS,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,GAAG,MAAM,IAAI,UAAU,GAAG;IACjE;;;;;OAKG;IACH,IAAI,CAAC,IAAI,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;IAC3D,kFAAkF;IAClF,QAAQ,CAAC,IAAI,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAA;CACnC,CAAA;AAED,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,UAAU,CAGnD;AAED,kFAAkF;AAClF,wBAAgB,QAAQ,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,GAAG,UAAU,CAa9E;AA6BD;;;GAGG;AACH,wBAAgB,aAAa,CAAC,CAAC,SAAS,MAAM,EAC5C,MAAM,EAAE,UAAU,EAClB,MAAM,EAAE,MAAM,GAAG,IAAI,EACrB,MAAM,EAAE,UAAU,CAAC,CAAC,CAAC,EACrB,QAAQ,EAAE,MAAM,GACf,SAAS,CAAC,OAAO,EAAE,CAAC,CAAC,CAiCvB"}
|
package/dist/dispatch/self.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Self resolution stays parse-only: `_self` becomes a Path/IdPath with no graph
|
|
3
3
|
* read. The dispatcher later attaches lazy node()/call helpers once it has a kernel.
|
|
4
4
|
*/
|
|
5
|
-
import {
|
|
5
|
+
import { createKnownInstanceDispatch, defaultCaller, extractMethodsByType, } from '@astrale-os/kernel-client/schema';
|
|
6
6
|
import { IdPath, K, Path } from '@astrale-os/kernel-core';
|
|
7
7
|
import { classPathSchema } from '@astrale-os/kernel-core/domain';
|
|
8
8
|
import { absolutePathSchema } from '@astrale-os/kernel-core/tree';
|
|
@@ -27,7 +27,11 @@ export function withNode(parsed, kernel) {
|
|
|
27
27
|
};
|
|
28
28
|
return { ...parsed, node };
|
|
29
29
|
}
|
|
30
|
-
const EMPTY_METHODS = {
|
|
30
|
+
const EMPTY_METHODS = {
|
|
31
|
+
kind: 'class',
|
|
32
|
+
methods: new Set(),
|
|
33
|
+
staticMethods: new Set(),
|
|
34
|
+
};
|
|
31
35
|
const methodMapCache = new WeakMap();
|
|
32
36
|
/** The type's method allow-list + kind, computed once per binder. */
|
|
33
37
|
function methodsFor(binder, typeName) {
|
|
@@ -67,7 +71,7 @@ export function withBoundNode(parsed, kernel, binder, typeName) {
|
|
|
67
71
|
return cached;
|
|
68
72
|
};
|
|
69
73
|
const info = methodsFor(binder, typeName);
|
|
70
|
-
const call =
|
|
74
|
+
const call = createKnownInstanceDispatch(ctx.caller ?? noKernelCaller(parsed.path.raw), parsed.path.raw, info.methods, info.kind === 'class' ? typeName : undefined);
|
|
71
75
|
return { ...parsed, node, call };
|
|
72
76
|
}
|
|
73
77
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"self.js","sourceRoot":"","sources":["../../src/dispatch/self.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAcH,OAAO,EACL,
|
|
1
|
+
{"version":3,"file":"self.js","sourceRoot":"","sources":["../../src/dispatch/self.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export type { MethodParams, MethodResult, AuthForPolicy, GraphApi, Kernel, KernelForAuth, RemoteAuthorizeContext, RemoteContext, RemoteHandler, MethodImpl, ClassMethodsImpl, InterfaceMethodsImpl, SchemaMethodsImpl, } from './method';
|
|
1
|
+
export type { MethodParams, MethodResult, AuthForPolicy, DomainKernel, GraphApi, Kernel, KernelForAuth, RemoteAuthorizeContext, RemoteContext, RemoteHandler, MethodImpl, ClassMethodsImpl, InterfaceMethodsImpl, SchemaMethodsImpl, } from './method';
|
|
2
2
|
export { remoteMethod, remoteClassMethods, remoteInterfaceMethods } from './method';
|
|
3
3
|
export { defineDomain, deploy, defineAdapter } from './config';
|
|
4
4
|
export type { DefineDomainConfig, DomainDefinition, DomainManifest, DeployConfig, AdapterSpec, DeployCtx, DeployResult, DomainAdapter, DomainInfo, WatchCtx, WatchHandle, } from './config';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,YAAY,EACV,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,QAAQ,EACR,MAAM,EACN,aAAa,EACb,sBAAsB,EACtB,aAAa,EACb,aAAa,EACb,UAAU,EACV,gBAAgB,EAChB,oBAAoB,EACpB,iBAAiB,GAClB,MAAM,UAAU,CAAA;AACjB,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAA;AAOnF,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAC9D,YAAY,EACV,kBAAkB,EAClB,gBAAgB,EAChB,cAAc,EACd,YAAY,EACZ,WAAW,EACX,SAAS,EACT,YAAY,EACZ,aAAa,EACb,UAAU,EACV,QAAQ,EACR,WAAW,GACZ,MAAM,UAAU,CAAA;AAGjB,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAA;AAQnE,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAA;AACnE,OAAO,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAA;AAC1D,YAAY,EACV,UAAU,EACV,UAAU,EACV,WAAW,EACX,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,SAAS,GACV,MAAM,yBAAyB,CAAA;AAUhC,OAAO,EAAE,UAAU,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAA;AAC3D,YAAY,EACV,OAAO,EACP,iBAAiB,EACjB,8BAA8B,EAC9B,iBAAiB,EACjB,qBAAqB,GACtB,MAAM,UAAU,CAAA;AAGjB,YAAY,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAclC,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAC1C,YAAY,EAAE,IAAI,EAAE,MAAM,eAAe,CAAA;AAGzC,YAAY,EACV,UAAU,EACV,YAAY,EACZ,eAAe,EACf,gBAAgB,EAChB,sBAAsB,EACtB,UAAU,EACV,SAAS,EACT,UAAU,GACX,MAAM,+BAA+B,CAAA;AAGtC,YAAY,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,QAAQ,CAAA;AACtE,YAAY,EACV,eAAe,EACf,kBAAkB,EAClB,yBAAyB,EACzB,qBAAqB,EACrB,gBAAgB,GACjB,MAAM,QAAQ,CAAA;AACf,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAClB,mBAAmB,EACnB,cAAc,GACf,MAAM,QAAQ,CAAA;AACf,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,QAAQ,CAAA;AAC3D,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAA;AAClF,YAAY,EACV,WAAW,EACX,WAAW,EACX,aAAa,EACb,UAAU,EACV,UAAU,EACV,QAAQ,GACT,MAAM,yBAAyB,CAAA;AAChC,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAGnD,OAAO,EAAE,aAAa,EAAE,KAAK,mBAAmB,EAAE,MAAM,YAAY,CAAA;AACpE,OAAO,EACL,wBAAwB,EACxB,mBAAmB,EACnB,kBAAkB,EAClB,wBAAwB,GACzB,MAAM,YAAY,CAAA;AACnB,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,YAAY,EACV,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,YAAY,EACZ,QAAQ,EACR,MAAM,EACN,aAAa,EACb,sBAAsB,EACtB,aAAa,EACb,aAAa,EACb,UAAU,EACV,gBAAgB,EAChB,oBAAoB,EACpB,iBAAiB,GAClB,MAAM,UAAU,CAAA;AACjB,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAA;AAOnF,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAC9D,YAAY,EACV,kBAAkB,EAClB,gBAAgB,EAChB,cAAc,EACd,YAAY,EACZ,WAAW,EACX,SAAS,EACT,YAAY,EACZ,aAAa,EACb,UAAU,EACV,QAAQ,EACR,WAAW,GACZ,MAAM,UAAU,CAAA;AAGjB,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAA;AAQnE,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAA;AACnE,OAAO,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAA;AAC1D,YAAY,EACV,UAAU,EACV,UAAU,EACV,WAAW,EACX,UAAU,EACV,UAAU,EACV,UAAU,EACV,UAAU,EACV,SAAS,GACV,MAAM,yBAAyB,CAAA;AAUhC,OAAO,EAAE,UAAU,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAA;AAC3D,YAAY,EACV,OAAO,EACP,iBAAiB,EACjB,8BAA8B,EAC9B,iBAAiB,EACjB,qBAAqB,GACtB,MAAM,UAAU,CAAA;AAGjB,YAAY,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAclC,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAC1C,YAAY,EAAE,IAAI,EAAE,MAAM,eAAe,CAAA;AAGzC,YAAY,EACV,UAAU,EACV,YAAY,EACZ,eAAe,EACf,gBAAgB,EAChB,sBAAsB,EACtB,UAAU,EACV,SAAS,EACT,UAAU,GACX,MAAM,+BAA+B,CAAA;AAGtC,YAAY,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,QAAQ,CAAA;AACtE,YAAY,EACV,eAAe,EACf,kBAAkB,EAClB,yBAAyB,EACzB,qBAAqB,EACrB,gBAAgB,GACjB,MAAM,QAAQ,CAAA;AACf,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAClB,mBAAmB,EACnB,cAAc,GACf,MAAM,QAAQ,CAAA;AACf,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,QAAQ,CAAA;AAC3D,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAA;AAClF,YAAY,EACV,WAAW,EACX,WAAW,EACX,aAAa,EACb,UAAU,EACV,UAAU,EACV,QAAQ,GACT,MAAM,yBAAyB,CAAA;AAChC,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAGnD,OAAO,EAAE,aAAa,EAAE,KAAK,mBAAmB,EAAE,MAAM,YAAY,CAAA;AACpE,OAAO,EACL,wBAAwB,EACxB,mBAAmB,EACnB,kBAAkB,EAClB,wBAAwB,GACzB,MAAM,YAAY,CAAA;AACnB,YAAY,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA"}
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,UAAU,CAAA;AAEnF,4EAA4E;AAC5E,6EAA6E;AAC7E,+EAA+E;AAC/E,6EAA6E;AAC7E,qEAAqE;AACrE,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAe9D,4EAA4E;AAC5E,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAA;AAEnE,yEAAyE;AACzE,+EAA+E;AAC/E,oFAAoF;AACpF,mFAAmF;AACnF,uFAAuF;AACvF,iFAAiF;AACjF,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAA;AACnE,OAAO,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAA;AAY1D,4EAA4E;AAC5E,6EAA6E;AAC7E,4EAA4E;AAC5E,0EAA0E;AAC1E,6EAA6E;AAC7E,yEAAyE;AACzE,8EAA8E;AAC9E,wBAAwB;AACxB,OAAO,EAAE,UAAU,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAA;AAY3D,4EAA4E;AAC5E,qFAAqF;AACrF,wEAAwE;AACxE,6EAA6E;AAC7E,wEAAwE;AACxE,yDAAyD;AAEzD,4EAA4E;AAC5E,8EAA8E;AAC9E,0EAA0E;AAC1E,gFAAgF;AAChF,mCAAmC;AACnC,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAA;AAwB1C,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAClB,mBAAmB,EACnB,cAAc,GACf,MAAM,QAAQ,CAAA;AACf,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,QAAQ,CAAA;AAC3D,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,QAAQ,CAAA;AASlF,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAEnD,4EAA4E;AAC5E,OAAO,EAAE,aAAa,EAA4B,MAAM,YAAY,CAAA;AACpE,OAAO,EACL,wBAAwB,EACxB,mBAAmB,EACnB,kBAAkB,EAClB,wBAAwB,GACzB,MAAM,YAAY,CAAA"}
|
package/dist/method/class.d.ts
CHANGED
|
@@ -14,6 +14,7 @@
|
|
|
14
14
|
import type { DefForInterface, InterfaceMethodDefs, InterfaceMethodKeys, MethodClassKeys, NonSealedMethodKeys, OwnMethodKeys, ResolveParams, ResolveReturn, SealedKeys } from '@astrale-os/kernel-core/domain';
|
|
15
15
|
import type { ImplementableOwnKeys, Schema } from '@astrale-os/kernel-dsl';
|
|
16
16
|
import type { TypedSelf } from '../dispatch/self';
|
|
17
|
+
import type { DomainKernel } from './context';
|
|
17
18
|
import type { MethodImpl, RemoteHandler } from './single';
|
|
18
19
|
/** Per-class method implementations for a remote domain. */
|
|
19
20
|
export type ClassMethodsImpl<S extends Schema, K extends MethodClassKeys<S> & string, TDeps = unknown> = {
|
|
@@ -28,7 +29,7 @@ type InterfaceMethodHandler<S extends Schema, K extends string, M extends string
|
|
|
28
29
|
readonly config: infer MC;
|
|
29
30
|
} ? MC extends {
|
|
30
31
|
readonly static: true;
|
|
31
|
-
} ? RemoteHandler<ResolveParams<MC>, ResolveReturn<MC>, undefined, TDeps
|
|
32
|
+
} ? RemoteHandler<ResolveParams<MC>, ResolveReturn<MC>, undefined, TDeps, 'required', DomainKernel<S>> : RemoteHandler<ResolveParams<MC>, ResolveReturn<MC>, TypedSelf<DefForInterface<S, K>, S>, TDeps, 'required', DomainKernel<S>> : never : never;
|
|
32
33
|
/** Per-interface method implementations. */
|
|
33
34
|
export type InterfaceMethodsImpl<S extends Schema, K extends InterfaceMethodKeys<S> & string, TDeps = unknown> = {
|
|
34
35
|
[M in ImplementableOwnKeys<DefForInterface<S, K>> & string]: InterfaceMethodHandler<S, K, M, TDeps>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"class.d.ts","sourceRoot":"","sources":["../../src/method/class.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EACV,eAAe,EACf,mBAAmB,EACnB,mBAAmB,EACnB,eAAe,EACf,mBAAmB,EACnB,aAAa,EACb,aAAa,EACb,aAAa,EACb,UAAU,EACX,MAAM,gCAAgC,CAAA;AACvC,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAA;AAE1E,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAEzD,4DAA4D;AAC5D,MAAM,MAAM,gBAAgB,CAC1B,CAAC,SAAS,MAAM,EAChB,CAAC,SAAS,eAAe,CAAC,CAAC,CAAC,GAAG,MAAM,EACrC,KAAK,GAAG,OAAO,IACb;KACD,CAAC,IAAI,aAAa,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC;CACvD,GAAG;KACD,CAAC,IAAI,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC;CAC7D,GAAG;KACD,CAAC,IAAI,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK;CAChC,CAAA;AAED,oFAAoF;AACpF,KAAK,sBAAsB,CACzB,CAAC,SAAS,MAAM,EAChB,CAAC,SAAS,MAAM,EAChB,CAAC,SAAS,MAAM,EAChB,KAAK,IACH,CAAC,SAAS,MAAM,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,GACzC,mBAAmB,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;IAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE,GAChE,EAAE,SAAS;IAAE,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAA;CAAE,GAClC,aAAa,
|
|
1
|
+
{"version":3,"file":"class.d.ts","sourceRoot":"","sources":["../../src/method/class.ts"],"names":[],"mappings":"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"}
|
package/dist/method/class.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"class.js","sourceRoot":"","sources":["../../src/method/class.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;
|
|
1
|
+
{"version":3,"file":"class.js","sourceRoot":"","sources":["../../src/method/class.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAgHH,MAAM,UAAU,kBAAkB,CAAC,GAAG,IAAe;IACnD,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtB,OAAO,CAAC,GAAG,SAAoB,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;IAClD,CAAC;IAED,OAAO,IAAI,CAAC,CAAC,CAAC,CAAA;AAChB,CAAC;AA0BD,MAAM,UAAU,sBAAsB,CAAC,GAAG,IAAe;IACvD,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtB,OAAO,CAAC,GAAG,SAAoB,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;IAClD,CAAC;IAED,OAAO,IAAI,CAAC,CAAC,CAAC,CAAA;AAChB,CAAC"}
|
package/dist/method/context.d.ts
CHANGED
|
@@ -8,9 +8,10 @@
|
|
|
8
8
|
* `domain`, `caller`, and `fn` namespaces for identity-sensitive work.
|
|
9
9
|
*/
|
|
10
10
|
import type { AuthPolicy } from '@astrale-os/kernel-api/routed';
|
|
11
|
-
import type { FnMap } from '@astrale-os/kernel-client';
|
|
11
|
+
import type { FnMap, SchemaBoundView } from '@astrale-os/kernel-client';
|
|
12
12
|
import type { BoundClientSessionView } from '@astrale-os/kernel-client/session';
|
|
13
13
|
import type { AuthContext } from '@astrale-os/kernel-core';
|
|
14
|
+
import type { Schema } from '@astrale-os/kernel-dsl';
|
|
14
15
|
import type { FunctionContextApi } from '../auth/function-context';
|
|
15
16
|
import type { DomainAuthority } from '../auth/issuer-mint';
|
|
16
17
|
import type { Step } from '../step';
|
|
@@ -22,8 +23,11 @@ export type { GraphApi } from '@astrale-os/kernel-client/graph';
|
|
|
22
23
|
* `call`. Name it from `@astrale-os/sdk` instead of reaching into
|
|
23
24
|
* `@astrale-os/kernel-client`. (For the narrow `{ call }` contract — e.g. a
|
|
24
25
|
* tiny test double — see {@link KernelCaller}.)
|
|
26
|
+
*
|
|
25
27
|
*/
|
|
26
28
|
export type Kernel = BoundClientSessionView<FnMap>;
|
|
29
|
+
/** The default handler kernel for one authored domain schema. */
|
|
30
|
+
export type DomainKernel<S extends Schema> = SchemaBoundView<S, FnMap>;
|
|
27
31
|
/**
|
|
28
32
|
* The `kernel` a handler receives, derived from its declared `auth` policy.
|
|
29
33
|
* The runtime guarantee (see `auth/resolve.ts`) is exact:
|
|
@@ -37,7 +41,7 @@ export type Kernel = BoundClientSessionView<FnMap>;
|
|
|
37
41
|
* literal) to the widened `Kernel | null` — the safe superset, matching the
|
|
38
42
|
* pre-conditional behaviour.
|
|
39
43
|
*/
|
|
40
|
-
export type KernelForAuth<TAuth extends AuthPolicy> = TAuth extends 'public' ? null : TAuth extends 'optional' ?
|
|
44
|
+
export type KernelForAuth<TAuth extends AuthPolicy, TKernel extends Kernel = Kernel> = TAuth extends 'public' ? null : TAuth extends 'optional' ? TKernel | null : TKernel;
|
|
41
45
|
/**
|
|
42
46
|
* The resolved auth context a handler receives, derived from its declared
|
|
43
47
|
* `auth` policy. Mirrors {@link KernelForAuth}: required methods have a
|
|
@@ -70,18 +74,9 @@ type RemoteBaseContext<TParams, TSelf, TDeps, TKernel = Kernel | null, TAuth ext
|
|
|
70
74
|
/** Local serving metadata. */
|
|
71
75
|
env: RemoteEnv;
|
|
72
76
|
/**
|
|
73
|
-
*
|
|
74
|
-
*
|
|
75
|
-
*
|
|
76
|
-
* `'required'`, `… | null` for `'optional'`, `null` for `'public'`. Use for
|
|
77
|
-
* kernel syscalls + same-domain methods, and for the typed graph read/write
|
|
78
|
-
* sugar flattened onto it (`kernel.get` / `kernel.children` / `kernel.query`,
|
|
79
|
-
* plus `kernel.createNode` / `kernel.updateNode` /
|
|
80
|
-
* `kernel.deleteNode` / `kernel.createEdge` / `kernel.updateEdge` /
|
|
81
|
-
* `kernel.deleteEdge` / `kernel.mutate(patch)`) over the `function.get` /
|
|
82
|
-
* `function.mutate` syscalls. Remote-bound calls are made with
|
|
83
|
-
* `kernel.call(...)`; the client follows redirects and remints the next-hop
|
|
84
|
-
* delegation under the current bound authority.
|
|
77
|
+
* Credential-bound client to the parent kernel. Domain methods receive a
|
|
78
|
+
* schema-bound client by default; standalone functions receive the raw
|
|
79
|
+
* session because they are not owned by a schema class.
|
|
85
80
|
*/
|
|
86
81
|
kernel: TKernel;
|
|
87
82
|
/** Inbound kernel/peer context. Present only for authenticated invocations. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/method/context.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAA;AAC/D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAA;
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/method/context.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAA;AAC/D,OAAO,KAAK,EAAE,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AACvE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAA;AAC/E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AAC1D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAA;AAEpD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAA;AAClE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAC1D,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,SAAS,CAAA;AAEnC,YAAY,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAA;AAE/D;;;;;;;;GAQG;AACH,MAAM,MAAM,MAAM,GAAG,sBAAsB,CAAC,KAAK,CAAC,CAAA;AAElD,iEAAiE;AACjE,MAAM,MAAM,YAAY,CAAC,CAAC,SAAS,MAAM,IAAI,eAAe,CAAC,CAAC,EAAE,KAAK,CAAC,CAAA;AAEtE;;;;;;;;;;;;GAYG;AACH,MAAM,MAAM,aAAa,CACvB,KAAK,SAAS,UAAU,EACxB,OAAO,SAAS,MAAM,GAAG,MAAM,IAC7B,KAAK,SAAS,QAAQ,GAAG,IAAI,GAAG,KAAK,SAAS,UAAU,GAAG,OAAO,GAAG,IAAI,GAAG,OAAO,CAAA;AAEvF;;;;GAIG;AACH,MAAM,MAAM,aAAa,CAAC,KAAK,SAAS,UAAU,IAAI,KAAK,SAAS,QAAQ,GACxE,IAAI,GACJ,KAAK,SAAS,UAAU,GACtB,WAAW,GAAG,IAAI,GAClB,WAAW,CAAA;AAEjB,MAAM,MAAM,SAAS,GAAG;IACtB,2CAA2C;IAC3C,GAAG,EAAE,MAAM,CAAA;CACZ,CAAA;AAED,MAAM,MAAM,aAAa,GAAG;IAC1B,oDAAoD;IACpD,GAAG,EAAE,MAAM,CAAA;IACX,kDAAkD;IAClD,GAAG,EAAE,MAAM,CAAA;CACZ,CAAA;AAED,KAAK,iBAAiB,CACpB,OAAO,EACP,KAAK,EACL,KAAK,EACL,OAAO,GAAG,MAAM,GAAG,IAAI,EACvB,KAAK,SAAS,UAAU,GAAG,UAAU,IACnC;IACF,yEAAyE;IACzE,MAAM,EAAE,OAAO,CAAA;IACf;;;;OAIG;IACH,IAAI,EAAE,aAAa,CAAC,KAAK,CAAC,CAAA;IAC1B,4DAA4D;IAC5D,IAAI,EAAE,KAAK,CAAA;IACX,6DAA6D;IAC7D,IAAI,EAAE,KAAK,CAAA;IACX,8BAA8B;IAC9B,GAAG,EAAE,SAAS,CAAA;IACd;;;;OAIG;IACH,MAAM,EAAE,OAAO,CAAA;IACf,+EAA+E;IAC/E,MAAM,CAAC,EAAE,aAAa,CAAA;IACtB,yEAAyE;IACzE,MAAM,EAAE,eAAe,CAAA;IACvB,yFAAyF;IACzF,EAAE,EAAE,kBAAkB,CAAA;CACvB,CAAA;AAED,MAAM,MAAM,sBAAsB,CAChC,OAAO,EACP,KAAK,EACL,KAAK,EACL,OAAO,GAAG,MAAM,GAAG,IAAI,EACvB,KAAK,SAAS,UAAU,GAAG,UAAU,IACnC,iBAAiB,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC,CAAA;AAE5D,MAAM,WAAW,aAAa,CAC5B,OAAO,EACP,KAAK,EACL,KAAK,EACL,OAAO,GAAG,MAAM,GAAG,IAAI,EACvB,KAAK,SAAS,UAAU,GAAG,UAAU,CACrC,SAAQ,iBAAiB,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC;IAChE,gFAAgF;IAChF,IAAI,EAAE,IAAI,CAAA;CACX"}
|
package/dist/method/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export type { AuthForPolicy, GraphApi, Kernel, KernelForAuth, RemoteAuthorizeContext, RemoteContext, } from './context';
|
|
1
|
+
export type { AuthForPolicy, DomainKernel, GraphApi, Kernel, KernelForAuth, RemoteAuthorizeContext, RemoteContext, } from './context';
|
|
2
2
|
export type { RemoteHandler, AnyRemoteHandler, MethodImpl, MethodParams, MethodResult, } from './single';
|
|
3
3
|
export { remoteMethod } from './single';
|
|
4
4
|
export type { ClassMethodsImpl, InterfaceMethodsImpl, SchemaMethodsImpl } from './class';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/method/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,aAAa,EACb,QAAQ,EACR,MAAM,EACN,aAAa,EACb,sBAAsB,EACtB,aAAa,GACd,MAAM,WAAW,CAAA;AAClB,YAAY,EACV,aAAa,EACb,gBAAgB,EAChB,UAAU,EACV,YAAY,EACZ,YAAY,GACb,MAAM,UAAU,CAAA;AACjB,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AACvC,YAAY,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAA;AACxF,OAAO,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAA"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/method/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,aAAa,EACb,YAAY,EACZ,QAAQ,EACR,MAAM,EACN,aAAa,EACb,sBAAsB,EACtB,aAAa,GACd,MAAM,WAAW,CAAA;AAClB,YAAY,EACV,aAAa,EACb,gBAAgB,EAChB,UAAU,EACV,YAAY,EACZ,YAAY,GACb,MAAM,UAAU,CAAA;AACjB,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AACvC,YAAY,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAA;AACxF,OAAO,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAA"}
|
package/dist/method/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/method/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/method/index.ts"],"names":[],"mappings":"AAgBA,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAA;AAEvC,OAAO,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAA"}
|
package/dist/method/single.d.ts
CHANGED
|
@@ -3,14 +3,14 @@ import type { AuthPolicy, RouteBinding } from '@astrale-os/kernel-api/routed';
|
|
|
3
3
|
import type { MethodClassKeys, ClassMethodConfig, NonSealedMethodKeys, OwnMethodKeys } from '@astrale-os/kernel-core/domain';
|
|
4
4
|
import type { Schema } from '@astrale-os/kernel-dsl';
|
|
5
5
|
import type { TypedSelf } from '../dispatch/self';
|
|
6
|
-
import type { KernelForAuth, RemoteAuthorizeContext, RemoteContext } from './context';
|
|
6
|
+
import type { DomainKernel, Kernel, KernelForAuth, RemoteAuthorizeContext, RemoteContext } from './context';
|
|
7
7
|
/**
|
|
8
8
|
* Remote method handler. `execute` is optional only for binding stubs; any
|
|
9
9
|
* handler that the dispatcher actually reaches must provide it.
|
|
10
10
|
*/
|
|
11
|
-
export type RemoteHandler<TParams, TResult, TSelf, TDeps, TAuth extends AuthPolicy = 'required'> = {
|
|
11
|
+
export type RemoteHandler<TParams, TResult, TSelf, TDeps, TAuth extends AuthPolicy = 'required', TKernel extends Kernel = Kernel> = {
|
|
12
12
|
/** The handler body. May be async or an async generator (for `output: 'stream'`). */
|
|
13
|
-
execute?: (ctx: RemoteContext<TParams, TSelf, TDeps, KernelForAuth<TAuth>, TAuth>) => TResult | Promise<TResult> | AsyncGenerator<TResult>;
|
|
13
|
+
execute?: (ctx: RemoteContext<TParams, TSelf, TDeps, KernelForAuth<TAuth, TKernel>, TAuth>) => TResult | Promise<TResult> | AsyncGenerator<TResult>;
|
|
14
14
|
/**
|
|
15
15
|
* Optional REST binding — attaches a native HTTP route to this method.
|
|
16
16
|
* Uses the kernel's canonical `RouteBinding` type directly.
|
|
@@ -36,9 +36,9 @@ export type RemoteHandler<TParams, TResult, TSelf, TDeps, TAuth extends AuthPoli
|
|
|
36
36
|
* Optional business authorization after auth/_self resolution. Kernel
|
|
37
37
|
* has_perm checks remain authoritative; this is additive gating.
|
|
38
38
|
*/
|
|
39
|
-
authorize?: (ctx: RemoteAuthorizeContext<TParams, TSelf, TDeps, KernelForAuth<TAuth>, TAuth>) => void | Promise<void>;
|
|
39
|
+
authorize?: (ctx: RemoteAuthorizeContext<TParams, TSelf, TDeps, KernelForAuth<TAuth, TKernel>, TAuth>) => void | Promise<void>;
|
|
40
40
|
};
|
|
41
|
-
export type AnyRemoteHandler = Omit<RemoteHandler<any, any, any, any, AuthPolicy>, 'authorize' | 'execute'> & {
|
|
41
|
+
export type AnyRemoteHandler = Omit<RemoteHandler<any, any, any, any, AuthPolicy, Kernel>, 'authorize' | 'execute'> & {
|
|
42
42
|
execute?: (ctx: any) => any;
|
|
43
43
|
authorize?: (ctx: any) => void | Promise<void>;
|
|
44
44
|
};
|
|
@@ -58,7 +58,7 @@ export type MethodImpl<S extends Schema, K extends MethodClassKeys<S> & string,
|
|
|
58
58
|
result: infer R;
|
|
59
59
|
self: unknown;
|
|
60
60
|
isStatic: infer St;
|
|
61
|
-
} ? RemoteHandler<P, R, St extends true ? undefined : TypedSelf<S['classes'][K], S>, TDeps, TAuth
|
|
61
|
+
} ? RemoteHandler<P, R, St extends true ? undefined : TypedSelf<S['classes'][K], S>, TDeps, TAuth, DomainKernel<S>> : never;
|
|
62
62
|
/**
|
|
63
63
|
* `MethodParams` / `MethodResult` — a handler types its `params` as
|
|
64
64
|
* `MethodParams<typeof schema, 'Def', 'method'>` and its return as
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"single.d.ts","sourceRoot":"","sources":["../../src/method/single.ts"],"names":[],"mappings":"AAAA,4DAA4D;AAE5D,OAAO,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAA;AAC7E,OAAO,KAAK,EACV,eAAe,EACf,iBAAiB,EACjB,mBAAmB,EACnB,aAAa,EACd,MAAM,gCAAgC,CAAA;AACvC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAA;AAEpD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"single.d.ts","sourceRoot":"","sources":["../../src/method/single.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"single.js","sourceRoot":"","sources":["../../src/method/single.ts"],"names":[],"mappings":"AAAA,4DAA4D;
|
|
1
|
+
{"version":3,"file":"single.js","sourceRoot":"","sources":["../../src/method/single.ts"],"names":[],"mappings":"AAAA,4DAA4D;AA+J5D,MAAM,UAAU,YAAY,CAAC,GAAG,IAAe;IAC7C,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtB,OAAO,CAAC,GAAG,SAAoB,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;IAClD,CAAC;IAED,OAAO,IAAI,CAAC,CAAC,CAAC,CAAA;AAChB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../src/server/create.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAeH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAA;AAClD,OAAO,KAAK,EAAE,YAAY,EAAsB,MAAM,UAAU,CAAA;AAahE,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,kBAAkB,CAAC,KAAK,CAAC,GAAG,YAAY,
|
|
1
|
+
{"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../src/server/create.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAeH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,UAAU,CAAA;AAClD,OAAO,KAAK,EAAE,YAAY,EAAsB,MAAM,UAAU,CAAA;AAahE,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,kBAAkB,CAAC,KAAK,CAAC,GAAG,YAAY,CAsIzF"}
|
package/dist/server/create.js
CHANGED
|
@@ -26,9 +26,6 @@ export function createRemoteServer(config) {
|
|
|
26
26
|
const dispatcher = new SdkDispatcher({
|
|
27
27
|
compiled,
|
|
28
28
|
methods,
|
|
29
|
-
// The source schema drives the rich typed `self` handed to non-static
|
|
30
|
-
// handlers (`self.node()` → BoundNode<D>, typed `self.call`).
|
|
31
|
-
schema: compiled.$.schema,
|
|
32
29
|
deps: config.deps,
|
|
33
30
|
privateKey: config.privateKey,
|
|
34
31
|
issuer: iss,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create.js","sourceRoot":"","sources":["../../src/server/create.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAA;AACjE,OAAO,EACL,mBAAmB,EACnB,0BAA0B,EAC1B,gBAAgB,GACjB,MAAM,gCAAgC,CAAA;AACvC,OAAO,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAA;AAC3D,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAC3B,OAAO,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,MAAM,CAAA;AAMzC,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAA;AACtD,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAA;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;AACtD,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAA;AAC/E,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAClD,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAA;AAC1D,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAA;AACzD,OAAO,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAA;AACxC,OAAO,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAA;AAEtD,MAAM,UAAU,kBAAkB,CAAQ,MAAiC;IACzE,MAAM,OAAO,GAAG,gBAAgB,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;IACvD,8EAA8E;IAC9E,MAAM,GAAG,GAAG,sBAAsB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;IAE9C,0DAA0D;IAC1D,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,uBAAuB,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAE3E,MAAM,UAAU,GAAG,IAAI,aAAa,CAAQ;QAC1C,QAAQ;QACR,OAAO;QACP,
|
|
1
|
+
{"version":3,"file":"create.js","sourceRoot":"","sources":["../../src/server/create.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@astrale-os/sdk",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.7",
|
|
4
4
|
"description": "Astrale Remote Domain SDK - Define and deploy domains as standalone Hono servers",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"astrale",
|
|
@@ -53,11 +53,11 @@
|
|
|
53
53
|
"./package.json": "./package.json"
|
|
54
54
|
},
|
|
55
55
|
"dependencies": {
|
|
56
|
-
"@astrale-os/kernel-api": ">=0.4.
|
|
57
|
-
"@astrale-os/kernel-client": ">=0.
|
|
58
|
-
"@astrale-os/kernel-core": ">=0.
|
|
59
|
-
"@astrale-os/kernel-dsl": ">=0.1.
|
|
60
|
-
"@astrale-os/kernel-server": ">=0.4.
|
|
56
|
+
"@astrale-os/kernel-api": ">=0.4.12 <1.0.0",
|
|
57
|
+
"@astrale-os/kernel-client": ">=0.4.5 <1.0.0",
|
|
58
|
+
"@astrale-os/kernel-core": ">=0.7.4 <1.0.0",
|
|
59
|
+
"@astrale-os/kernel-dsl": ">=0.1.4 <1.0.0",
|
|
60
|
+
"@astrale-os/kernel-server": ">=0.4.11 <1.0.0",
|
|
61
61
|
"hono": "^4.6.20",
|
|
62
62
|
"jose": "^6.1.3",
|
|
63
63
|
"zod": "^4.3.6"
|
|
@@ -14,7 +14,6 @@ import type { AuthPolicy } from '@astrale-os/kernel-api/routed'
|
|
|
14
14
|
import type { NodeBinder } from '@astrale-os/kernel-client/schema'
|
|
15
15
|
import type { CredentialInput } from '@astrale-os/kernel-core'
|
|
16
16
|
import type { BoundMethod, CompiledDomain } from '@astrale-os/kernel-core/domain'
|
|
17
|
-
import type { Schema } from '@astrale-os/kernel-dsl'
|
|
18
17
|
|
|
19
18
|
import { createNodeBinder } from '@astrale-os/kernel-client/schema'
|
|
20
19
|
|
|
@@ -31,7 +30,7 @@ import { MethodNotFoundError, SdkResultValidationError, SdkValidationError } fro
|
|
|
31
30
|
import { executeHandler } from './execute'
|
|
32
31
|
import { buildIdentityMap } from './identity'
|
|
33
32
|
import { resolveMethod } from './resolve'
|
|
34
|
-
import { resolveSelf, withBoundNode,
|
|
33
|
+
import { resolveSelf, withBoundNode, type ParsedSelf } from './self'
|
|
35
34
|
import { validateParams, validateResult } from './validate'
|
|
36
35
|
|
|
37
36
|
type PathInput = string | { raw: string }
|
|
@@ -54,12 +53,6 @@ export type SdkDispatcherConfig<TDeps> = {
|
|
|
54
53
|
issuer: string
|
|
55
54
|
/** The worker's serving URL (`config.url`) — exposed to handlers as `ctx.env.url`. */
|
|
56
55
|
url: string
|
|
57
|
-
/**
|
|
58
|
-
* The domain schema. When present, non-static handlers receive the rich,
|
|
59
|
-
* schema-typed `self` ({@link withBoundNode}: `self.node()` → `BoundNode<D>`,
|
|
60
|
-
* typed `self.call`); absent, they fall back to the untyped {@link withNode}.
|
|
61
|
-
*/
|
|
62
|
-
schema?: Schema
|
|
63
56
|
}
|
|
64
57
|
|
|
65
58
|
export class SdkDispatcher<TDeps = unknown> implements KernelAPI {
|
|
@@ -69,8 +62,8 @@ export class SdkDispatcher<TDeps = unknown> implements KernelAPI {
|
|
|
69
62
|
private readonly issuer: string
|
|
70
63
|
private readonly url: string
|
|
71
64
|
private readonly privateKey: JsonWebKey
|
|
72
|
-
/** Built once
|
|
73
|
-
private readonly binder: NodeBinder<
|
|
65
|
+
/** Built once from the compiled domain — drives typed self and handler kernel binding. */
|
|
66
|
+
private readonly binder: NodeBinder<CompiledDomain['$']['schema']>
|
|
74
67
|
|
|
75
68
|
constructor(config: SdkDispatcherConfig<TDeps>) {
|
|
76
69
|
this.methods = config.methods
|
|
@@ -78,7 +71,7 @@ export class SdkDispatcher<TDeps = unknown> implements KernelAPI {
|
|
|
78
71
|
this.issuer = config.issuer
|
|
79
72
|
this.url = config.url
|
|
80
73
|
this.privateKey = config.privateKey
|
|
81
|
-
this.binder =
|
|
74
|
+
this.binder = createNodeBinder(config.compiled.$.schema)
|
|
82
75
|
const methodList = Array.from(new Set(config.methods.values()))
|
|
83
76
|
const identityMethods = methodList.filter((bound) => methodAuthPolicy(bound) !== 'public')
|
|
84
77
|
this.identities =
|
|
@@ -144,7 +137,8 @@ export class SdkDispatcher<TDeps = unknown> implements KernelAPI {
|
|
|
144
137
|
|
|
145
138
|
const authPolicy: AuthPolicy = (bound.handler as { auth?: AuthPolicy }).auth ?? 'required'
|
|
146
139
|
const fnIdentity = this.identityFor(bound)
|
|
147
|
-
const { auth, kernel } = await resolveInboundAuth(credential, authPolicy, fnIdentity)
|
|
140
|
+
const { auth, kernel: rawKernel } = await resolveInboundAuth(credential, authPolicy, fnIdentity)
|
|
141
|
+
const kernel = rawKernel?.withSchema(this.binder.schema) ?? null
|
|
148
142
|
|
|
149
143
|
if (typeof params !== 'object' || params === null || Array.isArray(params)) {
|
|
150
144
|
throw new SdkValidationError([{ path: [], message: 'Params must be a plain object' }])
|
|
@@ -193,12 +187,8 @@ export class SdkDispatcher<TDeps = unknown> implements KernelAPI {
|
|
|
193
187
|
// Enrich the parsed self with the lazy `node()` accessor, bound to this
|
|
194
188
|
// request's kernel (null when the auth policy yields none — `node()` then
|
|
195
189
|
// rejects). Done here, not in `resolveSelf`, so the parse stays kernel-free.
|
|
196
|
-
// With a schema the handler gets the rich typed `self` keyed by its owner
|
|
197
|
-
// (class/interface); without one, the untyped fallback.
|
|
198
190
|
const self = parsedSelf
|
|
199
|
-
? this.binder
|
|
200
|
-
? withBoundNode(parsedSelf, kernel, this.binder, bound.owner)
|
|
201
|
-
: withNode(parsedSelf, kernel)
|
|
191
|
+
? withBoundNode(parsedSelf, kernel, this.binder, bound.owner)
|
|
202
192
|
: undefined
|
|
203
193
|
const inboundIss = auth?.credential?.verified?.iss as string | undefined
|
|
204
194
|
const kernelUrl = kernel?.default ?? inboundIss
|
package/src/dispatch/self.ts
CHANGED
|
@@ -16,7 +16,7 @@ import type { Node } from '@astrale-os/kernel-core/graph'
|
|
|
16
16
|
import type { Schema } from '@astrale-os/kernel-dsl'
|
|
17
17
|
|
|
18
18
|
import {
|
|
19
|
-
|
|
19
|
+
createKnownInstanceDispatch,
|
|
20
20
|
defaultCaller,
|
|
21
21
|
extractMethodsByType,
|
|
22
22
|
} from '@astrale-os/kernel-client/schema'
|
|
@@ -79,7 +79,11 @@ export function withNode(parsed: ParsedSelf, kernel: Kernel | null): SelfResult
|
|
|
79
79
|
return { ...parsed, node }
|
|
80
80
|
}
|
|
81
81
|
|
|
82
|
-
const EMPTY_METHODS: TypeMethods = {
|
|
82
|
+
const EMPTY_METHODS: TypeMethods = {
|
|
83
|
+
kind: 'class',
|
|
84
|
+
methods: new Set(),
|
|
85
|
+
staticMethods: new Set(),
|
|
86
|
+
}
|
|
83
87
|
const methodMapCache = new WeakMap<object, Map<string, TypeMethods>>()
|
|
84
88
|
|
|
85
89
|
/** The type's method allow-list + kind, computed once per binder. */
|
|
@@ -136,7 +140,7 @@ export function withBoundNode<S extends Schema>(
|
|
|
136
140
|
}
|
|
137
141
|
|
|
138
142
|
const info = methodsFor(binder, typeName)
|
|
139
|
-
const call =
|
|
143
|
+
const call = createKnownInstanceDispatch(
|
|
140
144
|
ctx.caller ?? noKernelCaller(parsed.path.raw),
|
|
141
145
|
parsed.path.raw,
|
|
142
146
|
info.methods,
|
package/src/index.ts
CHANGED
package/src/method/class.ts
CHANGED
|
@@ -26,6 +26,7 @@ import type {
|
|
|
26
26
|
import type { ImplementableOwnKeys, Schema } from '@astrale-os/kernel-dsl'
|
|
27
27
|
|
|
28
28
|
import type { TypedSelf } from '../dispatch/self'
|
|
29
|
+
import type { DomainKernel } from './context'
|
|
29
30
|
import type { MethodImpl, RemoteHandler } from './single'
|
|
30
31
|
|
|
31
32
|
/** Per-class method implementations for a remote domain. */
|
|
@@ -50,7 +51,14 @@ type InterfaceMethodHandler<
|
|
|
50
51
|
> = M extends keyof InterfaceMethodDefs<S, K>
|
|
51
52
|
? InterfaceMethodDefs<S, K>[M] extends { readonly config: infer MC }
|
|
52
53
|
? MC extends { readonly static: true }
|
|
53
|
-
? RemoteHandler<
|
|
54
|
+
? RemoteHandler<
|
|
55
|
+
ResolveParams<MC>,
|
|
56
|
+
ResolveReturn<MC>,
|
|
57
|
+
undefined,
|
|
58
|
+
TDeps,
|
|
59
|
+
'required',
|
|
60
|
+
DomainKernel<S>
|
|
61
|
+
>
|
|
54
62
|
: // Non-static interface methods receive the schema-typed `self` keyed by
|
|
55
63
|
// THIS interface's def — `self.node()` binds to a `BoundNode<D>` with
|
|
56
64
|
// short-keyed, def-typed `props`, `self.call` is typed, exactly as the
|
|
@@ -59,7 +67,9 @@ type InterfaceMethodHandler<
|
|
|
59
67
|
ResolveParams<MC>,
|
|
60
68
|
ResolveReturn<MC>,
|
|
61
69
|
TypedSelf<DefForInterface<S, K>, S>,
|
|
62
|
-
TDeps
|
|
70
|
+
TDeps,
|
|
71
|
+
'required',
|
|
72
|
+
DomainKernel<S>
|
|
63
73
|
>
|
|
64
74
|
: never
|
|
65
75
|
: never
|
package/src/method/context.ts
CHANGED
|
@@ -9,9 +9,10 @@
|
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
11
|
import type { AuthPolicy } from '@astrale-os/kernel-api/routed'
|
|
12
|
-
import type { FnMap } from '@astrale-os/kernel-client'
|
|
12
|
+
import type { FnMap, SchemaBoundView } from '@astrale-os/kernel-client'
|
|
13
13
|
import type { BoundClientSessionView } from '@astrale-os/kernel-client/session'
|
|
14
14
|
import type { AuthContext } from '@astrale-os/kernel-core'
|
|
15
|
+
import type { Schema } from '@astrale-os/kernel-dsl'
|
|
15
16
|
|
|
16
17
|
import type { FunctionContextApi } from '../auth/function-context'
|
|
17
18
|
import type { DomainAuthority } from '../auth/issuer-mint'
|
|
@@ -26,9 +27,13 @@ export type { GraphApi } from '@astrale-os/kernel-client/graph'
|
|
|
26
27
|
* `call`. Name it from `@astrale-os/sdk` instead of reaching into
|
|
27
28
|
* `@astrale-os/kernel-client`. (For the narrow `{ call }` contract — e.g. a
|
|
28
29
|
* tiny test double — see {@link KernelCaller}.)
|
|
30
|
+
*
|
|
29
31
|
*/
|
|
30
32
|
export type Kernel = BoundClientSessionView<FnMap>
|
|
31
33
|
|
|
34
|
+
/** The default handler kernel for one authored domain schema. */
|
|
35
|
+
export type DomainKernel<S extends Schema> = SchemaBoundView<S, FnMap>
|
|
36
|
+
|
|
32
37
|
/**
|
|
33
38
|
* The `kernel` a handler receives, derived from its declared `auth` policy.
|
|
34
39
|
* The runtime guarantee (see `auth/resolve.ts`) is exact:
|
|
@@ -42,11 +47,10 @@ export type Kernel = BoundClientSessionView<FnMap>
|
|
|
42
47
|
* literal) to the widened `Kernel | null` — the safe superset, matching the
|
|
43
48
|
* pre-conditional behaviour.
|
|
44
49
|
*/
|
|
45
|
-
export type KernelForAuth<
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
: Kernel
|
|
50
|
+
export type KernelForAuth<
|
|
51
|
+
TAuth extends AuthPolicy,
|
|
52
|
+
TKernel extends Kernel = Kernel,
|
|
53
|
+
> = TAuth extends 'public' ? null : TAuth extends 'optional' ? TKernel | null : TKernel
|
|
50
54
|
|
|
51
55
|
/**
|
|
52
56
|
* The resolved auth context a handler receives, derived from its declared
|
|
@@ -93,18 +97,9 @@ type RemoteBaseContext<
|
|
|
93
97
|
/** Local serving metadata. */
|
|
94
98
|
env: RemoteEnv
|
|
95
99
|
/**
|
|
96
|
-
*
|
|
97
|
-
*
|
|
98
|
-
*
|
|
99
|
-
* `'required'`, `… | null` for `'optional'`, `null` for `'public'`. Use for
|
|
100
|
-
* kernel syscalls + same-domain methods, and for the typed graph read/write
|
|
101
|
-
* sugar flattened onto it (`kernel.get` / `kernel.children` / `kernel.query`,
|
|
102
|
-
* plus `kernel.createNode` / `kernel.updateNode` /
|
|
103
|
-
* `kernel.deleteNode` / `kernel.createEdge` / `kernel.updateEdge` /
|
|
104
|
-
* `kernel.deleteEdge` / `kernel.mutate(patch)`) over the `function.get` /
|
|
105
|
-
* `function.mutate` syscalls. Remote-bound calls are made with
|
|
106
|
-
* `kernel.call(...)`; the client follows redirects and remints the next-hop
|
|
107
|
-
* delegation under the current bound authority.
|
|
100
|
+
* Credential-bound client to the parent kernel. Domain methods receive a
|
|
101
|
+
* schema-bound client by default; standalone functions receive the raw
|
|
102
|
+
* session because they are not owned by a schema class.
|
|
108
103
|
*/
|
|
109
104
|
kernel: TKernel
|
|
110
105
|
/** Inbound kernel/peer context. Present only for authenticated invocations. */
|
package/src/method/index.ts
CHANGED
package/src/method/single.ts
CHANGED
|
@@ -10,16 +10,29 @@ import type {
|
|
|
10
10
|
import type { Schema } from '@astrale-os/kernel-dsl'
|
|
11
11
|
|
|
12
12
|
import type { TypedSelf } from '../dispatch/self'
|
|
13
|
-
import type {
|
|
13
|
+
import type {
|
|
14
|
+
DomainKernel,
|
|
15
|
+
Kernel,
|
|
16
|
+
KernelForAuth,
|
|
17
|
+
RemoteAuthorizeContext,
|
|
18
|
+
RemoteContext,
|
|
19
|
+
} from './context'
|
|
14
20
|
|
|
15
21
|
/**
|
|
16
22
|
* Remote method handler. `execute` is optional only for binding stubs; any
|
|
17
23
|
* handler that the dispatcher actually reaches must provide it.
|
|
18
24
|
*/
|
|
19
|
-
export type RemoteHandler<
|
|
25
|
+
export type RemoteHandler<
|
|
26
|
+
TParams,
|
|
27
|
+
TResult,
|
|
28
|
+
TSelf,
|
|
29
|
+
TDeps,
|
|
30
|
+
TAuth extends AuthPolicy = 'required',
|
|
31
|
+
TKernel extends Kernel = Kernel,
|
|
32
|
+
> = {
|
|
20
33
|
/** The handler body. May be async or an async generator (for `output: 'stream'`). */
|
|
21
34
|
execute?: (
|
|
22
|
-
ctx: RemoteContext<TParams, TSelf, TDeps, KernelForAuth<TAuth>, TAuth>,
|
|
35
|
+
ctx: RemoteContext<TParams, TSelf, TDeps, KernelForAuth<TAuth, TKernel>, TAuth>,
|
|
23
36
|
) => TResult | Promise<TResult> | AsyncGenerator<TResult>
|
|
24
37
|
/**
|
|
25
38
|
* Optional REST binding — attaches a native HTTP route to this method.
|
|
@@ -47,7 +60,7 @@ export type RemoteHandler<TParams, TResult, TSelf, TDeps, TAuth extends AuthPoli
|
|
|
47
60
|
* has_perm checks remain authoritative; this is additive gating.
|
|
48
61
|
*/
|
|
49
62
|
authorize?: (
|
|
50
|
-
ctx: RemoteAuthorizeContext<TParams, TSelf, TDeps, KernelForAuth<TAuth>, TAuth>,
|
|
63
|
+
ctx: RemoteAuthorizeContext<TParams, TSelf, TDeps, KernelForAuth<TAuth, TKernel>, TAuth>,
|
|
51
64
|
) => void | Promise<void>
|
|
52
65
|
}
|
|
53
66
|
|
|
@@ -55,7 +68,7 @@ export type RemoteHandler<TParams, TResult, TSelf, TDeps, TAuth extends AuthPoli
|
|
|
55
68
|
// at `remoteMethod`, while dispatcher/build-spec only need a policy-neutral bag.
|
|
56
69
|
// oxlint-disable no-explicit-any
|
|
57
70
|
export type AnyRemoteHandler = Omit<
|
|
58
|
-
RemoteHandler<any, any, any, any, AuthPolicy>,
|
|
71
|
+
RemoteHandler<any, any, any, any, AuthPolicy, Kernel>,
|
|
59
72
|
'authorize' | 'execute'
|
|
60
73
|
> & {
|
|
61
74
|
execute?: (ctx: any) => any
|
|
@@ -89,7 +102,14 @@ export type MethodImpl<
|
|
|
89
102
|
self: unknown
|
|
90
103
|
isStatic: infer St
|
|
91
104
|
}
|
|
92
|
-
? RemoteHandler<
|
|
105
|
+
? RemoteHandler<
|
|
106
|
+
P,
|
|
107
|
+
R,
|
|
108
|
+
St extends true ? undefined : TypedSelf<S['classes'][K], S>,
|
|
109
|
+
TDeps,
|
|
110
|
+
TAuth,
|
|
111
|
+
DomainKernel<S>
|
|
112
|
+
>
|
|
93
113
|
: never
|
|
94
114
|
|
|
95
115
|
/**
|
package/src/server/create.ts
CHANGED
|
@@ -41,9 +41,6 @@ export function createRemoteServer<TDeps>(config: RemoteServerConfig<TDeps>): Re
|
|
|
41
41
|
const dispatcher = new SdkDispatcher<TDeps>({
|
|
42
42
|
compiled,
|
|
43
43
|
methods,
|
|
44
|
-
// The source schema drives the rich typed `self` handed to non-static
|
|
45
|
-
// handlers (`self.node()` → BoundNode<D>, typed `self.call`).
|
|
46
|
-
schema: compiled.$.schema,
|
|
47
44
|
deps: config.deps,
|
|
48
45
|
privateKey: config.privateKey,
|
|
49
46
|
issuer: iss,
|