@astrale-os/sdk 0.1.10 → 0.3.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/LICENSE +202 -0
- package/dist/auth/check.d.ts +1 -2
- package/dist/auth/check.d.ts.map +1 -1
- package/dist/auth/check.js +2 -6
- package/dist/auth/check.js.map +1 -1
- package/dist/auth/index.d.ts +3 -1
- package/dist/auth/index.d.ts.map +1 -1
- package/dist/auth/index.js +2 -1
- package/dist/auth/index.js.map +1 -1
- package/dist/auth/issuer-mint.d.ts +53 -0
- package/dist/auth/issuer-mint.d.ts.map +1 -0
- package/dist/auth/issuer-mint.js +35 -0
- package/dist/auth/issuer-mint.js.map +1 -0
- package/dist/auth/kernel-client.d.ts +8 -2
- package/dist/auth/kernel-client.d.ts.map +1 -1
- package/dist/auth/kernel-client.js +22 -46
- package/dist/auth/kernel-client.js.map +1 -1
- package/dist/cli/dotenv.d.ts +8 -0
- package/dist/cli/dotenv.d.ts.map +1 -1
- package/dist/cli/dotenv.js +18 -0
- package/dist/cli/dotenv.js.map +1 -1
- package/dist/cli/index.d.ts +1 -1
- package/dist/cli/index.d.ts.map +1 -1
- package/dist/cli/index.js +1 -1
- package/dist/cli/index.js.map +1 -1
- package/dist/cli/log.d.ts +11 -0
- package/dist/cli/log.d.ts.map +1 -0
- package/dist/cli/log.js +17 -0
- package/dist/cli/log.js.map +1 -0
- package/dist/cli/publish.d.ts +35 -0
- package/dist/cli/publish.d.ts.map +1 -0
- package/dist/cli/publish.js +271 -0
- package/dist/cli/publish.js.map +1 -0
- package/dist/cli/run.d.ts +17 -2
- package/dist/cli/run.d.ts.map +1 -1
- package/dist/cli/run.js +102 -111
- package/dist/cli/run.js.map +1 -1
- package/dist/cli/spec.d.ts.map +1 -1
- package/dist/cli/spec.js +1 -0
- package/dist/cli/spec.js.map +1 -1
- package/dist/config/adapter.d.ts +12 -11
- package/dist/config/adapter.d.ts.map +1 -1
- package/dist/config/adapter.js.map +1 -1
- package/dist/config/define-domain.d.ts +88 -27
- package/dist/config/define-domain.d.ts.map +1 -1
- package/dist/config/define-domain.js +79 -33
- package/dist/config/define-domain.js.map +1 -1
- package/dist/config/deploy.d.ts +1 -1
- package/dist/config/deploy.js +1 -1
- package/dist/config/index.d.ts +1 -1
- package/dist/config/index.d.ts.map +1 -1
- package/dist/define/remote-function.d.ts +32 -17
- package/dist/define/remote-function.d.ts.map +1 -1
- package/dist/define/remote-function.js +10 -9
- package/dist/define/remote-function.js.map +1 -1
- package/dist/define/view.d.ts +8 -6
- package/dist/define/view.d.ts.map +1 -1
- package/dist/define/view.js +8 -6
- package/dist/define/view.js.map +1 -1
- package/dist/deploy/check.d.ts +6 -6
- package/dist/deploy/check.d.ts.map +1 -1
- package/dist/deploy/check.js +1 -1
- package/dist/deploy/check.js.map +1 -1
- package/dist/deploy/index.d.ts +0 -1
- package/dist/deploy/index.d.ts.map +1 -1
- package/dist/deploy/index.js +0 -1
- package/dist/deploy/index.js.map +1 -1
- package/dist/deploy/meta.d.ts +11 -0
- package/dist/deploy/meta.d.ts.map +1 -1
- package/dist/deploy/meta.js +23 -0
- package/dist/deploy/meta.js.map +1 -1
- package/dist/dispatch/dispatcher.d.ts +17 -4
- package/dist/dispatch/dispatcher.d.ts.map +1 -1
- package/dist/dispatch/dispatcher.js +15 -3
- package/dist/dispatch/dispatcher.js.map +1 -1
- package/dist/dispatch/execute.d.ts +6 -2
- package/dist/dispatch/execute.d.ts.map +1 -1
- package/dist/dispatch/execute.js +1 -0
- package/dist/dispatch/execute.js.map +1 -1
- package/dist/dispatch/identity.d.ts +12 -10
- package/dist/dispatch/identity.d.ts.map +1 -1
- package/dist/dispatch/identity.js +10 -15
- package/dist/dispatch/identity.js.map +1 -1
- package/dist/dispatch/index.d.ts +1 -1
- package/dist/dispatch/index.d.ts.map +1 -1
- package/dist/dispatch/index.js +1 -1
- package/dist/dispatch/index.js.map +1 -1
- package/dist/dispatch/self.d.ts +25 -37
- package/dist/dispatch/self.d.ts.map +1 -1
- package/dist/dispatch/self.js +60 -30
- package/dist/dispatch/self.js.map +1 -1
- package/dist/domain/binding.d.ts +18 -0
- package/dist/domain/binding.d.ts.map +1 -0
- package/dist/domain/binding.js +29 -0
- package/dist/domain/binding.js.map +1 -0
- package/dist/domain/build-spec.d.ts.map +1 -1
- package/dist/domain/build-spec.js +22 -7
- package/dist/domain/build-spec.js.map +1 -1
- package/dist/domain/define.d.ts +28 -43
- package/dist/domain/define.d.ts.map +1 -1
- package/dist/domain/define.js +23 -60
- package/dist/domain/define.js.map +1 -1
- package/dist/domain/extend-functions.d.ts +48 -0
- package/dist/domain/extend-functions.d.ts.map +1 -0
- package/dist/domain/extend-functions.js +84 -0
- package/dist/domain/extend-functions.js.map +1 -0
- package/dist/domain/extend-views.d.ts +45 -0
- package/dist/domain/extend-views.d.ts.map +1 -0
- package/dist/domain/extend-views.js +116 -0
- package/dist/domain/extend-views.js.map +1 -0
- package/dist/index.d.ts +8 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +13 -5
- package/dist/index.js.map +1 -1
- package/dist/method/class.d.ts +2 -2
- package/dist/method/class.d.ts.map +1 -1
- package/dist/method/class.js.map +1 -1
- package/dist/method/context.d.ts +18 -3
- package/dist/method/context.d.ts.map +1 -1
- package/dist/method/index.d.ts +2 -2
- package/dist/method/index.d.ts.map +1 -1
- package/dist/method/index.js.map +1 -1
- package/dist/method/single.d.ts +25 -38
- package/dist/method/single.d.ts.map +1 -1
- package/dist/method/single.js +1 -11
- package/dist/method/single.js.map +1 -1
- package/dist/server/auxiliary-routes.d.ts.map +1 -1
- package/dist/server/auxiliary-routes.js +14 -3
- package/dist/server/auxiliary-routes.js.map +1 -1
- package/dist/server/create.d.ts +2 -15
- package/dist/server/create.d.ts.map +1 -1
- package/dist/server/create.js +15 -51
- package/dist/server/create.js.map +1 -1
- package/dist/server/domain-entry.d.ts +10 -0
- package/dist/server/domain-entry.d.ts.map +1 -1
- package/dist/server/domain-entry.js +2 -0
- package/dist/server/domain-entry.js.map +1 -1
- package/dist/server/index.d.ts +0 -1
- package/dist/server/index.d.ts.map +1 -1
- package/dist/server/index.js +0 -1
- package/dist/server/index.js.map +1 -1
- package/dist/server/worker-entry.d.ts +3 -3
- package/dist/server/worker-entry.js +3 -3
- package/package.json +10 -11
- package/src/auth/check.ts +2 -6
- package/src/auth/index.ts +3 -1
- package/src/auth/issuer-mint.ts +75 -0
- package/src/auth/kernel-client.ts +31 -63
- package/src/cli/dotenv.ts +20 -0
- package/src/cli/index.ts +1 -1
- package/src/cli/log.ts +18 -0
- package/src/cli/publish.ts +341 -0
- package/src/cli/run.ts +109 -125
- package/src/cli/spec.ts +1 -0
- package/src/config/adapter.ts +9 -11
- package/src/config/define-domain.ts +184 -53
- package/src/config/deploy.ts +1 -1
- package/src/config/index.ts +1 -1
- package/src/define/remote-function.ts +56 -21
- package/src/define/view.ts +8 -6
- package/src/deploy/check.ts +7 -7
- package/src/deploy/index.ts +0 -1
- package/src/deploy/meta.ts +25 -0
- package/src/dispatch/dispatcher.ts +32 -9
- package/src/dispatch/execute.ts +7 -2
- package/src/dispatch/identity.ts +17 -22
- package/src/dispatch/index.ts +1 -1
- package/src/dispatch/self.ts +117 -41
- package/src/domain/binding.ts +37 -0
- package/src/domain/build-spec.ts +32 -7
- package/src/domain/define.ts +71 -78
- package/src/domain/extend-functions.ts +106 -0
- package/src/domain/extend-views.ts +151 -0
- package/src/index.ts +36 -7
- package/src/method/class.ts +11 -7
- package/src/method/context.ts +19 -3
- package/src/method/index.ts +8 -2
- package/src/method/single.ts +35 -42
- package/src/server/auxiliary-routes.ts +14 -3
- package/src/server/create.ts +15 -51
- package/src/server/domain-entry.ts +12 -0
- package/src/server/index.ts +0 -1
- package/src/server/worker-entry.ts +3 -3
- package/src/deploy/hash-spec.ts +0 -31
- package/src/domain/extend-core.ts +0 -301
- package/src/server/worker-meta.ts +0 -25
package/dist/deploy/check.d.ts
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import type { Meta } from './meta';
|
|
2
2
|
export type DeployCheckOptions = {
|
|
3
|
-
/** Deployed worker URL (e.g. `https://
|
|
3
|
+
/** Deployed worker URL (e.g. `https://example.astrale.ai`). */
|
|
4
4
|
url: string;
|
|
5
5
|
/**
|
|
6
|
-
* Expected `meta.schemaHash` — the hash of the
|
|
7
|
-
* (
|
|
8
|
-
* advertises a `schemaHash` but this is absent, the check fails
|
|
9
|
-
* than silently "passing" an unverified deploy. Per-domain
|
|
10
|
-
* compute it (`
|
|
6
|
+
* Expected `meta.schemaHash` — the hash of the domain's install graph (via
|
|
7
|
+
* `buildInstallGraphHash(domain, url)`). REQUIRED to verify schema drift: when
|
|
8
|
+
* the worker advertises a `schemaHash` but this is absent, the check fails
|
|
9
|
+
* loudly rather than silently "passing" an unverified deploy. Per-domain
|
|
10
|
+
* deploy scripts compute it (`buildInstallGraphHash(...)`) and pass it.
|
|
11
11
|
*/
|
|
12
12
|
expectedSchemaHash?: string;
|
|
13
13
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"check.d.ts","sourceRoot":"","sources":["../../src/deploy/check.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAIlC,MAAM,MAAM,kBAAkB,GAAG;IAC/B
|
|
1
|
+
{"version":3,"file":"check.d.ts","sourceRoot":"","sources":["../../src/deploy/check.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAA;AAIlC,MAAM,MAAM,kBAAkB,GAAG;IAC/B,+DAA+D;IAC/D,GAAG,EAAE,MAAM,CAAA;IACX;;;;;;OAMG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAA;IAC3B;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,wFAAwF;IACxF,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,2DAA2D;IAC3D,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;CAC7B,CAAA;AAED;;;;;GAKG;AACH,wBAAsB,WAAW,CAAC,IAAI,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAkBzE"}
|
package/dist/deploy/check.js
CHANGED
|
@@ -55,7 +55,7 @@ async function checkSchemaHash(meta, opts, log) {
|
|
|
55
55
|
// means we CANNOT verify drift — never silently "pass" an unverified deploy.
|
|
56
56
|
if (!opts.expectedSchemaHash) {
|
|
57
57
|
throw new Error(`worker advertises schemaHash=${meta.schemaHash} but no expectedSchemaHash was provided — ` +
|
|
58
|
-
`cannot verify schema drift (pass expectedSchemaHash, e.g.
|
|
58
|
+
`cannot verify schema drift (pass expectedSchemaHash, e.g. buildInstallGraphHash(domain, url))`);
|
|
59
59
|
}
|
|
60
60
|
if (meta.schemaHash !== opts.expectedSchemaHash) {
|
|
61
61
|
throw new Error(`schemaHash mismatch: deployed=${meta.schemaHash} local=${opts.expectedSchemaHash}`);
|
package/dist/deploy/check.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"check.js","sourceRoot":"","sources":["../../src/deploy/check.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"check.js","sourceRoot":"","sources":["../../src/deploy/check.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAA;AAC9C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAIhC,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAA;AAwBnC;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,IAAwB;IACxD,sCAAsC;IACtC,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,IAAY,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAA;IAC7D,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;IAEzC,GAAG,CAAC,kBAAkB,IAAI,EAAE,CAAC,CAAA;IAE7B,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,IAAI,CAAC,CAAA;IAClC,GAAG,CAAC,WAAW,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;IACtC,+EAA+E;IAE/E,MAAM,OAAO,CAAC,GAAG,CAAC;QAChB,cAAc,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC;QAC/B,eAAe,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC;QAChC,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC;KACzB,CAAC,CAAA;IAEF,OAAO,IAAI,CAAA;AACb,CAAC;AAED,KAAK,UAAU,SAAS,CAAC,IAAY;IACnC,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,IAAI,OAAO,CAAC,CAAA;IACvC,IAAI,CAAC,GAAG,CAAC,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,OAAO,IAAI,WAAW,GAAG,CAAC,MAAM,EAAE,CAAC,CAAA;IAChE,OAAO,UAAU,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,CAAA;AAC3C,CAAC;AAED,KAAK,UAAU,cAAc,CAC3B,IAAU,EACV,IAAwB,EACxB,GAA2B;IAE3B,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;QACpB,GAAG,CAAC,sDAAsD,CAAC,CAAA;QAC3D,OAAM;IACR,CAAC;IACD,MAAM,OAAO,GACX,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;IACxF,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,GAAG,CAAC,+DAA+D,CAAC,CAAA;QACpE,OAAM;IACR,CAAC;IACD,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IACjC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,GAAG,CAAC,oCAAoC,OAAO,6BAA6B,CAAC,CAAA;QAC7E,OAAM;IACR,CAAC;IACD,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QACjF,MAAM,IAAI,KAAK,CAAC,gCAAgC,IAAI,CAAC,SAAS,UAAU,QAAQ,KAAK,OAAO,GAAG,CAAC,CAAA;IAClG,CAAC;IACD,GAAG,CAAC,iBAAiB,IAAI,CAAC,SAAS,qBAAqB,CAAC,CAAA;AAC3D,CAAC;AAED,KAAK,UAAU,eAAe,CAC5B,IAAU,EACV,IAAwB,EACxB,GAA2B;IAE3B,IAAI,CAAC,IAAI,CAAC,UAAU;QAAE,OAAM;IAC5B,6EAA6E;IAC7E,6EAA6E;IAC7E,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CACb,gCAAgC,IAAI,CAAC,UAAU,4CAA4C;YACzF,+FAA+F,CAClG,CAAA;IACH,CAAC;IACD,IAAI,IAAI,CAAC,UAAU,KAAK,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAChD,MAAM,IAAI,KAAK,CACb,iCAAiC,IAAI,CAAC,UAAU,UAAU,IAAI,CAAC,kBAAkB,EAAE,CACpF,CAAA;IACH,CAAC;IACD,GAAG,CAAC,kBAAkB,IAAI,CAAC,UAAU,gBAAgB,CAAC,CAAA;AACxD,CAAC;AAED,KAAK,UAAU,SAAS,CAAC,GAAW,EAAE,GAA2B;IAC/D,MAAM,OAAO,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,wBAAwB,CAAA;IAClE,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,CAAA;IAChC,IAAI,CAAC,GAAG,CAAC,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,OAAO,OAAO,MAAM,GAAG,CAAC,MAAM,EAAE,CAAC,CAAA;IAC9D,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAuC,CAAA;IACrE,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,EAAE,CAAA;IAC5B,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,GAAG,OAAO,mBAAmB,CAAC,CAAA;IACrE,GAAG,CAAC,sBAAsB,IAAI,CAAC,MAAM,OAAO,IAAI,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAA;AAC9E,CAAC;AAED,SAAS,OAAO,CAAC,QAAgB;IAC/B,MAAM,CAAC,GAAG,SAAS,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,CAAC,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC,CAAA;IACxF,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAA;IAC/B,OAAO,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAA;AACxB,CAAC"}
|
package/dist/deploy/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/deploy/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,KAAK,IAAI,EAAE,MAAM,QAAQ,CAAA;AAC9C,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/deploy/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,KAAK,IAAI,EAAE,MAAM,QAAQ,CAAA;AAC9C,OAAO,EAAE,WAAW,EAAE,KAAK,kBAAkB,EAAE,MAAM,SAAS,CAAA"}
|
package/dist/deploy/index.js
CHANGED
package/dist/deploy/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/deploy/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAa,MAAM,QAAQ,CAAA;AAC9C,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/deploy/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAa,MAAM,QAAQ,CAAA;AAC9C,OAAO,EAAE,WAAW,EAA2B,MAAM,SAAS,CAAA"}
|
package/dist/deploy/meta.d.ts
CHANGED
|
@@ -9,10 +9,21 @@
|
|
|
9
9
|
*/
|
|
10
10
|
import { z } from 'zod';
|
|
11
11
|
export declare const MetaSchema: z.ZodObject<{
|
|
12
|
+
version: z.ZodDefault<z.ZodNumber>;
|
|
12
13
|
iss: z.ZodString;
|
|
13
14
|
sdkCommit: z.ZodOptional<z.ZodString>;
|
|
14
15
|
schemaHash: z.ZodOptional<z.ZodString>;
|
|
15
16
|
domainName: z.ZodOptional<z.ZodString>;
|
|
17
|
+
manifest: z.ZodOptional<z.ZodObject<{
|
|
18
|
+
logo: z.ZodOptional<z.ZodString>;
|
|
19
|
+
entrypoint: z.ZodOptional<z.ZodString>;
|
|
20
|
+
roles: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
21
|
+
slug: z.ZodString;
|
|
22
|
+
name: z.ZodOptional<z.ZodString>;
|
|
23
|
+
description: z.ZodOptional<z.ZodString>;
|
|
24
|
+
default: z.ZodOptional<z.ZodBoolean>;
|
|
25
|
+
}, z.core.$strip>>>;
|
|
26
|
+
}, z.core.$strip>>;
|
|
16
27
|
}, z.core.$strip>;
|
|
17
28
|
export type Meta = z.infer<typeof MetaSchema>;
|
|
18
29
|
//# sourceMappingURL=meta.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"meta.d.ts","sourceRoot":"","sources":["../../src/deploy/meta.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,eAAO,MAAM,UAAU
|
|
1
|
+
{"version":3,"file":"meta.d.ts","sourceRoot":"","sources":["../../src/deploy/meta.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;iBAmCrB,CAAA;AAEF,MAAM,MAAM,IAAI,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,CAAA"}
|
package/dist/deploy/meta.js
CHANGED
|
@@ -9,6 +9,8 @@
|
|
|
9
9
|
*/
|
|
10
10
|
import { z } from 'zod';
|
|
11
11
|
export const MetaSchema = z.object({
|
|
12
|
+
// The version of the meta payload. Incremented on any change to the payload
|
|
13
|
+
version: z.number().int().min(1).default(1),
|
|
12
14
|
/** Base URL where JWKS is published. Always stamped by `createRemoteServer`
|
|
13
15
|
* and required by `deployCheck` to verify JWKS reachability. */
|
|
14
16
|
iss: z.string().min(1),
|
|
@@ -18,5 +20,26 @@ export const MetaSchema = z.object({
|
|
|
18
20
|
schemaHash: z.string().optional(),
|
|
19
21
|
/** Local directory name under `kernel/domains/<...>/` — used to auto-resolve the local spec. */
|
|
20
22
|
domainName: z.string().optional(),
|
|
23
|
+
/**
|
|
24
|
+
* Optional presentation metadata declared on the domain (`defineDomain`):
|
|
25
|
+
* `logo` (inline SVG / `data:` URL), `entrypoint` (a view slug — the domain's
|
|
26
|
+
* entry surface), and the domain's declared `roles` (registered by a workspace
|
|
27
|
+
* at app install). Served verbatim so a host UI can brand a freshly-installed
|
|
28
|
+
* domain.
|
|
29
|
+
*/
|
|
30
|
+
manifest: z
|
|
31
|
+
.object({
|
|
32
|
+
logo: z.string().optional(),
|
|
33
|
+
entrypoint: z.string().optional(),
|
|
34
|
+
roles: z
|
|
35
|
+
.array(z.object({
|
|
36
|
+
slug: z.string().min(1),
|
|
37
|
+
name: z.string().optional(),
|
|
38
|
+
description: z.string().optional(),
|
|
39
|
+
default: z.boolean().optional(),
|
|
40
|
+
}))
|
|
41
|
+
.optional(),
|
|
42
|
+
})
|
|
43
|
+
.optional(),
|
|
21
44
|
});
|
|
22
45
|
//# sourceMappingURL=meta.js.map
|
package/dist/deploy/meta.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"meta.js","sourceRoot":"","sources":["../../src/deploy/meta.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,CAAC,MAAM,CAAC;IACjC;qEACiE;IACjE,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACtB,yDAAyD;IACzD,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAChC,gEAAgE;IAChE,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACjC,gGAAgG;IAChG,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;
|
|
1
|
+
{"version":3,"file":"meta.js","sourceRoot":"","sources":["../../src/deploy/meta.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,CAAC,MAAM,CAAC;IACjC,4EAA4E;IAC5E,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC;IAC3C;qEACiE;IACjE,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IACtB,yDAAyD;IACzD,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAChC,gEAAgE;IAChE,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACjC,gGAAgG;IAChG,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACjC;;;;;;OAMG;IACH,QAAQ,EAAE,CAAC;SACR,MAAM,CAAC;QACN,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QAC3B,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;QACjC,KAAK,EAAE,CAAC;aACL,KAAK,CACJ,CAAC,CAAC,MAAM,CAAC;YACP,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;YACvB,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;YAC3B,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;YAClC,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;SAChC,CAAC,CACH;aACA,QAAQ,EAAE;KACd,CAAC;SACD,QAAQ,EAAE;CACd,CAAC,CAAA"}
|
|
@@ -9,9 +9,13 @@
|
|
|
9
9
|
* resolve method → authenticate → validate → resolve self → execute
|
|
10
10
|
*/
|
|
11
11
|
import type { AuthedKernelAPI, DispatchResult, KernelAPI } from '@astrale-os/kernel-api';
|
|
12
|
-
import type { CredentialInput
|
|
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';
|
|
14
15
|
import type { MethodIndex } from './resolve';
|
|
16
|
+
type PathInput = string | {
|
|
17
|
+
raw: string;
|
|
18
|
+
};
|
|
15
19
|
export type SdkDispatcherConfig<TDeps> = {
|
|
16
20
|
/** The compiled domain — source of the method layout and origin-addressed subs. */
|
|
17
21
|
compiled: CompiledDomain;
|
|
@@ -30,6 +34,12 @@ export type SdkDispatcherConfig<TDeps> = {
|
|
|
30
34
|
issuer: string;
|
|
31
35
|
/** The worker's serving URL (`config.url`) — exposed to handlers as `ctx.url`. */
|
|
32
36
|
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;
|
|
33
43
|
};
|
|
34
44
|
export declare class SdkDispatcher<TDeps = unknown> implements KernelAPI {
|
|
35
45
|
private readonly methods;
|
|
@@ -38,11 +48,13 @@ export declare class SdkDispatcher<TDeps = unknown> implements KernelAPI {
|
|
|
38
48
|
private readonly issuer;
|
|
39
49
|
private readonly url;
|
|
40
50
|
private readonly privateKey;
|
|
51
|
+
/** Built once when a schema is supplied — drives the rich typed `self`. */
|
|
52
|
+
private readonly binder;
|
|
41
53
|
constructor(config: SdkDispatcherConfig<TDeps>);
|
|
42
|
-
call(path:
|
|
54
|
+
call(path: PathInput, credential: CredentialInput, params: unknown, opts?: {
|
|
43
55
|
self?: string;
|
|
44
56
|
}): Promise<unknown>;
|
|
45
|
-
stream(path:
|
|
57
|
+
stream(path: PathInput, credential: CredentialInput, params: unknown, opts?: {
|
|
46
58
|
self?: string;
|
|
47
59
|
}): Promise<AsyncGenerator<unknown>>;
|
|
48
60
|
/**
|
|
@@ -50,11 +62,12 @@ export declare class SdkDispatcher<TDeps = unknown> implements KernelAPI {
|
|
|
50
62
|
* Every call resolves locally; we just classify the return as value or stream
|
|
51
63
|
* and hand it back to the kernel-api orchestrator.
|
|
52
64
|
*/
|
|
53
|
-
dispatch(path:
|
|
65
|
+
dispatch(path: PathInput, credential: CredentialInput, params: unknown, opts?: {
|
|
54
66
|
self?: string;
|
|
55
67
|
}): Promise<DispatchResult>;
|
|
56
68
|
as(credential: CredentialInput): AuthedKernelAPI;
|
|
57
69
|
private run;
|
|
58
70
|
private identityFor;
|
|
59
71
|
}
|
|
72
|
+
export {};
|
|
60
73
|
//# sourceMappingURL=dispatcher.d.ts.map
|
|
@@ -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;
|
|
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;AACjF,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAA;AAMpD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AAa5C,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,kFAAkF;IAClF,GAAG,EAAE,MAAM,CAAA;IACX;;;;OAIG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB,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,2EAA2E;IAC3E,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA2B;IAElD,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;IAqFjB,OAAO,CAAC,WAAW;CAapB"}
|
|
@@ -8,6 +8,8 @@
|
|
|
8
8
|
* Pipeline per call:
|
|
9
9
|
* resolve method → authenticate → validate → resolve self → execute
|
|
10
10
|
*/
|
|
11
|
+
import { createNodeBinder } from '@astrale-os/kernel-client/schema';
|
|
12
|
+
import { makeIssuerMint } from '../auth/issuer-mint';
|
|
11
13
|
import { resolveInboundAuth } from '../auth/resolve';
|
|
12
14
|
import { runAuthorize } from './authorize';
|
|
13
15
|
import { makeCallRemote } from './call-remote';
|
|
@@ -15,7 +17,7 @@ import { MethodNotFoundError, SdkResultValidationError, SdkValidationError } fro
|
|
|
15
17
|
import { executeHandler } from './execute';
|
|
16
18
|
import { buildIdentityMap } from './identity';
|
|
17
19
|
import { resolveMethod } from './resolve';
|
|
18
|
-
import { resolveSelf, withNode } from './self';
|
|
20
|
+
import { resolveSelf, withBoundNode, withNode } from './self';
|
|
19
21
|
import { validateParams, validateResult } from './validate';
|
|
20
22
|
export class SdkDispatcher {
|
|
21
23
|
methods;
|
|
@@ -24,12 +26,15 @@ export class SdkDispatcher {
|
|
|
24
26
|
issuer;
|
|
25
27
|
url;
|
|
26
28
|
privateKey;
|
|
29
|
+
/** Built once when a schema is supplied — drives the rich typed `self`. */
|
|
30
|
+
binder;
|
|
27
31
|
constructor(config) {
|
|
28
32
|
this.methods = config.methods;
|
|
29
33
|
this.deps = config.deps;
|
|
30
34
|
this.issuer = config.issuer;
|
|
31
35
|
this.url = config.url;
|
|
32
36
|
this.privateKey = config.privateKey;
|
|
37
|
+
this.binder = config.schema ? createNodeBinder(config.schema) : null;
|
|
33
38
|
const methodList = Array.from(new Set(config.methods.values()));
|
|
34
39
|
const identityMethods = methodList.filter((bound) => methodAuthPolicy(bound) !== 'public');
|
|
35
40
|
this.identities =
|
|
@@ -65,7 +70,7 @@ export class SdkDispatcher {
|
|
|
65
70
|
};
|
|
66
71
|
}
|
|
67
72
|
async run(path, credential, params, selfRef) {
|
|
68
|
-
const bound = resolveMethod(this.methods, path);
|
|
73
|
+
const bound = resolveMethod(this.methods, pathToString(path));
|
|
69
74
|
if (!bound)
|
|
70
75
|
throw new MethodNotFoundError(pathToString(path));
|
|
71
76
|
const authPolicy = bound.handler.auth ?? 'required';
|
|
@@ -109,7 +114,13 @@ export class SdkDispatcher {
|
|
|
109
114
|
// Enrich the parsed self with the lazy `node()` accessor, bound to this
|
|
110
115
|
// request's kernel (null when the auth policy yields none — `node()` then
|
|
111
116
|
// rejects). Done here, not in `resolveSelf`, so the parse stays kernel-free.
|
|
112
|
-
|
|
117
|
+
// With a schema the handler gets the rich typed `self` keyed by its owner
|
|
118
|
+
// (class/interface); without one, the untyped fallback.
|
|
119
|
+
const self = parsedSelf
|
|
120
|
+
? this.binder
|
|
121
|
+
? withBoundNode(parsedSelf, kernel, this.binder, bound.owner)
|
|
122
|
+
: withNode(parsedSelf, kernel)
|
|
123
|
+
: undefined;
|
|
113
124
|
const ctx = {
|
|
114
125
|
params: handlerParams,
|
|
115
126
|
auth,
|
|
@@ -117,6 +128,7 @@ export class SdkDispatcher {
|
|
|
117
128
|
deps: this.deps,
|
|
118
129
|
url: this.url,
|
|
119
130
|
kernel,
|
|
131
|
+
issuer: makeIssuerMint(fnIdentity),
|
|
120
132
|
callRemote,
|
|
121
133
|
};
|
|
122
134
|
if (handler.authorize)
|
|
@@ -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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"}
|
|
@@ -9,8 +9,9 @@
|
|
|
9
9
|
import type { FnMap } from '@astrale-os/kernel-client';
|
|
10
10
|
import type { BoundClientSessionView } from '@astrale-os/kernel-client/session';
|
|
11
11
|
import type { AuthContext } from '@astrale-os/kernel-core';
|
|
12
|
+
import type { DomainIssuer } from '../auth/issuer-mint';
|
|
12
13
|
import type { CallRemoteFn } from './call-remote';
|
|
13
|
-
import type { SelfResult } from './self';
|
|
14
|
+
import type { SelfResult, TypedSelf } from './self';
|
|
14
15
|
type HandlerFn = (...args: any[]) => any;
|
|
15
16
|
export type ExecuteParams = {
|
|
16
17
|
/** Handler may omit `execute` when authored as a stub (spec-only binding). */
|
|
@@ -22,10 +23,13 @@ export type ExecuteParams = {
|
|
|
22
23
|
ref?: string;
|
|
23
24
|
params: Record<string, unknown>;
|
|
24
25
|
auth: AuthContext | null;
|
|
25
|
-
self
|
|
26
|
+
/** Untyped fallback ({@link withNode}) or the rich typed self ({@link withBoundNode}). */
|
|
27
|
+
self: SelfResult | TypedSelf<unknown> | undefined;
|
|
26
28
|
deps: unknown;
|
|
27
29
|
url: string;
|
|
28
30
|
kernel: BoundClientSessionView<FnMap> | null;
|
|
31
|
+
/** Mint seam for identities this domain issues (`ctx.issuer`). */
|
|
32
|
+
issuer: DomainIssuer;
|
|
29
33
|
callRemote: CallRemoteFn;
|
|
30
34
|
};
|
|
31
35
|
export declare function executeHandler(ctx: ExecuteParams): Promise<unknown>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"execute.d.ts","sourceRoot":"","sources":["../../src/dispatch/execute.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAA;AACtD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAA;AAC/E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AAE1D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AACjD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAA;
|
|
1
|
+
{"version":3,"file":"execute.d.ts","sourceRoot":"","sources":["../../src/dispatch/execute.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAA;AACtD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,mCAAmC,CAAA;AAC/E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AAE1D,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAA;AACvD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AACjD,OAAO,KAAK,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAA;AAGnD,KAAK,SAAS,GAAG,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAA;AAExC,MAAM,MAAM,aAAa,GAAG;IAC1B,8EAA8E;IAC9E,OAAO,EAAE;QAAE,OAAO,CAAC,EAAE,SAAS,CAAA;KAAE,CAAA;IAChC;0EACsE;IACtE,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC/B,IAAI,EAAE,WAAW,GAAG,IAAI,CAAA;IACxB,0FAA0F;IAC1F,IAAI,EAAE,UAAU,GAAG,SAAS,CAAC,OAAO,CAAC,GAAG,SAAS,CAAA;IACjD,IAAI,EAAE,OAAO,CAAA;IACb,GAAG,EAAE,MAAM,CAAA;IACX,MAAM,EAAE,sBAAsB,CAAC,KAAK,CAAC,GAAG,IAAI,CAAA;IAC5C,kEAAkE;IAClE,MAAM,EAAE,YAAY,CAAA;IACpB,UAAU,EAAE,YAAY,CAAA;CACzB,CAAA;AAED,wBAAsB,cAAc,CAAC,GAAG,EAAE,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC,CAiBzE"}
|
package/dist/dispatch/execute.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"execute.js","sourceRoot":"","sources":["../../src/dispatch/execute.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;
|
|
1
|
+
{"version":3,"file":"execute.js","sourceRoot":"","sources":["../../src/dispatch/execute.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AA+BH,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,GAAkB;IACrD,IAAI,OAAO,GAAG,CAAC,OAAO,CAAC,OAAO,KAAK,UAAU,EAAE,CAAC;QAC9C,MAAM,IAAI,KAAK,CACb,0BAA0B,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,GAAG,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,EAAE,6BAA6B;YACvF,sFAAsF,CACzF,CAAA;IACH,CAAC;IACD,OAAO,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC;QACzB,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,GAAG,EAAE,GAAG,CAAC,GAAG;QACZ,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,UAAU,EAAE,GAAG,CAAC,UAAU;KAC3B,CAAC,CAAA;AACJ,CAAC"}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Per-callable identity — dispatcher runtime + install-time wiring.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
* binding
|
|
6
|
-
*
|
|
7
|
-
*
|
|
4
|
+
* Three flavors of callable get an identity per the install-time identity
|
|
5
|
+
* binding, each keyed by its mount-stable semantic sub: Methods on
|
|
6
|
+
* classes/interfaces (sub = MethodPath), standalone-function MEMBERS
|
|
7
|
+
* (sub = FunctionPath `/:<origin>:function.<slug>`), and view MEMBERS
|
|
8
|
+
* (sub = ViewPath `/:<origin>:view.<slug>`).
|
|
8
9
|
*
|
|
9
10
|
* At server startup the method dispatcher and the View / RemoteFunction
|
|
10
11
|
* route mounter pre-compute, for every materialized callable, the
|
|
@@ -41,11 +42,12 @@ export type AuxBuckets<T> = {
|
|
|
41
42
|
remoteFunctions: Record<string, T>;
|
|
42
43
|
};
|
|
43
44
|
/**
|
|
44
|
-
* slug → `
|
|
45
|
-
* (
|
|
46
|
-
*
|
|
47
|
-
*
|
|
48
|
-
*
|
|
45
|
+
* slug → mount-stable semantic `sub` for each aux callable MEMBER node:
|
|
46
|
+
* - standalone-function members (`kind: 'function'`) → FunctionPath;
|
|
47
|
+
* - view members (`kind: 'view'`) → ViewPath (plus any hand-authored/legacy
|
|
48
|
+
* core `View` nodes, `kind: 'core'` className `View`, keyed by their AbsolutePath).
|
|
49
|
+
* The value is `resolveCallables(...).sub` — the exact subject the kernel stamped on
|
|
50
|
+
* the node at install, so an outbound-signing worker matches its own function identity.
|
|
49
51
|
*/
|
|
50
52
|
export type AuxIdentityPaths = AuxBuckets<string>;
|
|
51
53
|
export declare function collectAuxIdentityPaths(compiled: CompiledDomain): AuxIdentityPaths;
|
|
@@ -53,7 +55,7 @@ export declare function collectAuxIdentityPaths(compiled: CompiledDomain): AuxId
|
|
|
53
55
|
* slug → `RemoteIdentityConfig` for each auto-materialized View /
|
|
54
56
|
* RemoteFunction. Built once at server startup; consumed by
|
|
55
57
|
* `mountAuxiliaryRoutes` so each handler signs outbound `kernel.call(...)`
|
|
56
|
-
* with its own `sub` (
|
|
58
|
+
* with its own `sub` (its FunctionPath/ViewPath). Mirrors `buildIdentityMap`.
|
|
57
59
|
*/
|
|
58
60
|
export type AuxIdentityMap = AuxBuckets<RemoteIdentityConfig>;
|
|
59
61
|
export declare function buildAuxIdentityMap(compiled: CompiledDomain, privateKey: JsonWebKey, issuer: string): AuxIdentityMap;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"identity.d.ts","sourceRoot":"","sources":["../../src/dispatch/identity.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"identity.d.ts","sourceRoot":"","sources":["../../src/dispatch/identity.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAA;AAIjF,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAA;AAC5D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AAExD;;;;;;;;;;GAUG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAMnF;AAED;gEACgE;AAChE,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI;IAC1B,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;IACxB,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;CACnC,CAAA;AAED;;;;;;;GAOG;AACH,MAAM,MAAM,gBAAgB,GAAG,UAAU,CAAC,MAAM,CAAC,CAAA;AAEjD,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,cAAc,GAAG,gBAAgB,CAalF;AAED;;;;;GAKG;AACH,MAAM,MAAM,cAAc,GAAG,UAAU,CAAC,oBAAoB,CAAC,CAAA;AAE7D,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,cAAc,EACxB,UAAU,EAAE,UAAU,EACtB,MAAM,EAAE,MAAM,GACb,cAAc,CAWhB;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,cAAc,EACxB,OAAO,EAAE,WAAW,CAAC,gBAAgB,CAAC,EAAE,EACxC,UAAU,EAAE,UAAU,EACtB,MAAM,EAAE,MAAM,GACb,GAAG,CAAC,WAAW,CAAC,gBAAgB,CAAC,EAAE,oBAAoB,CAAC,CAmB1D"}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Per-callable identity — dispatcher runtime + install-time wiring.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
* binding
|
|
6
|
-
*
|
|
7
|
-
*
|
|
4
|
+
* Three flavors of callable get an identity per the install-time identity
|
|
5
|
+
* binding, each keyed by its mount-stable semantic sub: Methods on
|
|
6
|
+
* classes/interfaces (sub = MethodPath), standalone-function MEMBERS
|
|
7
|
+
* (sub = FunctionPath `/:<origin>:function.<slug>`), and view MEMBERS
|
|
8
|
+
* (sub = ViewPath `/:<origin>:view.<slug>`).
|
|
8
9
|
*
|
|
9
10
|
* At server startup the method dispatcher and the View / RemoteFunction
|
|
10
11
|
* route mounter pre-compute, for every materialized callable, the
|
|
@@ -43,21 +44,15 @@ export function collectAuxIdentityPaths(compiled) {
|
|
|
43
44
|
const views = {};
|
|
44
45
|
const remoteFunctions = {};
|
|
45
46
|
for (const c of resolveCallables(compiled)) {
|
|
46
|
-
if (
|
|
47
|
+
if (!c.slug)
|
|
47
48
|
continue;
|
|
48
|
-
if (c.
|
|
49
|
-
views[c.slug] = c.sub;
|
|
50
|
-
}
|
|
51
|
-
else if (c.className === 'Function') {
|
|
52
|
-
// Standalone callables (the former `RemoteFunction`) materialize as the
|
|
53
|
-
// canonical kernel `Function` class.
|
|
49
|
+
if (c.kind === 'function') {
|
|
54
50
|
remoteFunctions[c.slug] = c.sub;
|
|
55
51
|
}
|
|
56
|
-
else {
|
|
57
|
-
|
|
58
|
-
`at ${c.ref}. If you've added a new auto-materialized Function class to extendCore, ` +
|
|
59
|
-
`extend this collector + the kernel walker (resolveCallables) to handle it.`);
|
|
52
|
+
else if (c.kind === 'view' || (c.kind === 'core' && c.className === 'View')) {
|
|
53
|
+
views[c.slug] = c.sub;
|
|
60
54
|
}
|
|
55
|
+
// Methods (`kind: 'method'`) get their identity via `collectMethodPaths`.
|
|
61
56
|
}
|
|
62
57
|
return { views, remoteFunctions };
|
|
63
58
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"identity.js","sourceRoot":"","sources":["../../src/dispatch/identity.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"identity.js","sourceRoot":"","sources":["../../src/dispatch/identity.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAIH,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAA;AAKjE;;;;;;;;;;GAUG;AACH,MAAM,UAAU,kBAAkB,CAAC,QAAwB;IACzD,MAAM,GAAG,GAA2B,EAAE,CAAA;IACtC,KAAK,MAAM,CAAC,IAAI,gBAAgB,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC3C,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ;YAAE,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAA;IAC7C,CAAC;IACD,OAAO,GAAG,CAAA;AACZ,CAAC;AAmBD,MAAM,UAAU,uBAAuB,CAAC,QAAwB;IAC9D,MAAM,KAAK,GAA2B,EAAE,CAAA;IACxC,MAAM,eAAe,GAA2B,EAAE,CAAA;IAClD,KAAK,MAAM,CAAC,IAAI,gBAAgB,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC3C,IAAI,CAAC,CAAC,CAAC,IAAI;YAAE,SAAQ;QACrB,IAAI,CAAC,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;YAC1B,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAA;QACjC,CAAC;aAAM,IAAI,CAAC,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,CAAC,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,CAAC,SAAS,KAAK,MAAM,CAAC,EAAE,CAAC;YAC9E,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAA;QACvB,CAAC;QACD,0EAA0E;IAC5E,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE,CAAA;AACnC,CAAC;AAUD,MAAM,UAAU,mBAAmB,CACjC,QAAwB,EACxB,UAAsB,EACtB,MAAc;IAEd,MAAM,KAAK,GAAG,uBAAuB,CAAC,QAAQ,CAAC,CAAA;IAC/C,MAAM,KAAK,GAAyC,EAAE,CAAA;IACtD,KAAK,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1D,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,CAAA;IAC/C,CAAC;IACD,MAAM,eAAe,GAAyC,EAAE,CAAA;IAChE,KAAK,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,EAAE,CAAC;QACpE,eAAe,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,CAAA;IACzD,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE,CAAA;AACnC,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,UAAU,gBAAgB,CAC9B,QAAwB,EACxB,OAAwC,EACxC,UAAsB,EACtB,MAAc;IAEd,MAAM,KAAK,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAA;IAC1C,MAAM,GAAG,GAAG,IAAI,GAAG,EAAuD,CAAA;IAC1E,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QAChC,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,yEAAyE;YACzE,wEAAwE;YACxE,gEAAgE;YAChE,yEAAyE;YACzE,2DAA2D;YAC3D,MAAM,IAAI,KAAK,CACb,6BAA6B,KAAK,CAAC,GAAG,wCAAwC;gBAC5E,qEAAqE,CACxE,CAAA;QACH,CAAC;QACD,GAAG,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,CAAC,CAAA;IACjD,CAAC;IACD,OAAO,GAAG,CAAA;AACZ,CAAC"}
|
package/dist/dispatch/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export { SdkDispatcher, type SdkDispatcherConfig } from './dispatcher';
|
|
2
2
|
export { resolveMethod, buildMethodIndex, type MethodIndex } from './resolve';
|
|
3
3
|
export { validateParams, validateResult, type ValidationResult, type ResultValidationResult, } from './validate';
|
|
4
|
-
export { resolveSelf, type SelfResult } from './self';
|
|
4
|
+
export { resolveSelf, withBoundNode, type SelfResult, type TypedSelf } from './self';
|
|
5
5
|
export { executeHandler, type ExecuteParams } from './execute';
|
|
6
6
|
export { makeCallRemote, type CallRemoteFn, type KernelCaller } from './call-remote';
|
|
7
7
|
export { AuthorizationDeniedError, MethodNotFoundError, SdkValidationError, SdkResultValidationError, } from './errors';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/dispatch/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,KAAK,mBAAmB,EAAE,MAAM,cAAc,CAAA;AACtE,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,KAAK,WAAW,EAAE,MAAM,WAAW,CAAA;AAC7E,OAAO,EACL,cAAc,EACd,cAAc,EACd,KAAK,gBAAgB,EACrB,KAAK,sBAAsB,GAC5B,MAAM,YAAY,CAAA;AACnB,OAAO,EAAE,WAAW,EAAE,KAAK,UAAU,EAAE,MAAM,QAAQ,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/dispatch/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,KAAK,mBAAmB,EAAE,MAAM,cAAc,CAAA;AACtE,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,KAAK,WAAW,EAAE,MAAM,WAAW,CAAA;AAC7E,OAAO,EACL,cAAc,EACd,cAAc,EACd,KAAK,gBAAgB,EACrB,KAAK,sBAAsB,GAC5B,MAAM,YAAY,CAAA;AACnB,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,KAAK,UAAU,EAAE,KAAK,SAAS,EAAE,MAAM,QAAQ,CAAA;AACpF,OAAO,EAAE,cAAc,EAAE,KAAK,aAAa,EAAE,MAAM,WAAW,CAAA;AAC9D,OAAO,EAAE,cAAc,EAAE,KAAK,YAAY,EAAE,KAAK,YAAY,EAAE,MAAM,eAAe,CAAA;AACpF,OAAO,EACL,wBAAwB,EACxB,mBAAmB,EACnB,kBAAkB,EAClB,wBAAwB,GACzB,MAAM,UAAU,CAAA"}
|
package/dist/dispatch/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export { SdkDispatcher } from './dispatcher';
|
|
2
2
|
export { resolveMethod, buildMethodIndex } from './resolve';
|
|
3
3
|
export { validateParams, validateResult, } from './validate';
|
|
4
|
-
export { resolveSelf } from './self';
|
|
4
|
+
export { resolveSelf, withBoundNode } from './self';
|
|
5
5
|
export { executeHandler } from './execute';
|
|
6
6
|
export { makeCallRemote } from './call-remote';
|
|
7
7
|
export { AuthorizationDeniedError, MethodNotFoundError, SdkValidationError, SdkResultValidationError, } from './errors';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/dispatch/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAA4B,MAAM,cAAc,CAAA;AACtE,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAoB,MAAM,WAAW,CAAA;AAC7E,OAAO,EACL,cAAc,EACd,cAAc,GAGf,MAAM,YAAY,CAAA;AACnB,OAAO,EAAE,WAAW,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/dispatch/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAA4B,MAAM,cAAc,CAAA;AACtE,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAoB,MAAM,WAAW,CAAA;AAC7E,OAAO,EACL,cAAc,EACd,cAAc,GAGf,MAAM,YAAY,CAAA;AACnB,OAAO,EAAE,WAAW,EAAE,aAAa,EAAmC,MAAM,QAAQ,CAAA;AACpF,OAAO,EAAE,cAAc,EAAsB,MAAM,WAAW,CAAA;AAC9D,OAAO,EAAE,cAAc,EAAwC,MAAM,eAAe,CAAA;AACpF,OAAO,EACL,wBAAwB,EACxB,mBAAmB,EACnB,kBAAkB,EAClB,wBAAwB,GACzB,MAAM,UAAU,CAAA"}
|
package/dist/dispatch/self.d.ts
CHANGED
|
@@ -1,27 +1,10 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* Self resolution
|
|
3
|
-
*
|
|
4
|
-
* `_self` is a path reference to the node the non-static method runs on.
|
|
5
|
-
* `resolveSelf` is a thin PARSE: the caller's string becomes a `Path`, and
|
|
6
|
-
* handlers build recursive paths as `${self.path}::method` (the `Path`'s
|
|
7
|
-
* `toString` yields its raw form, so template literals work unchanged). It does
|
|
8
|
-
* NOT touch the graph — the whole dispatch pipeline (resolve → authenticate →
|
|
9
|
-
* validate → self → execute) reaches the handler without a single `Node::get`.
|
|
10
|
-
*
|
|
11
|
-
* `resolveSelf` receives the bare self target (`@<id>` or a tree path) — the
|
|
12
|
-
* method ref travels in a separate dispatch channel, so `::method` never
|
|
13
|
-
* reaches here. For the `@<id>` form the parsed `Path` is an `IdPath` which
|
|
14
|
-
* already carries the node id; surfacing it on `SelfResult.id` saves every
|
|
15
|
-
* worker handler from parsing `self.path.raw` by hand to recover the id of the
|
|
16
|
-
* node it is already operating on.
|
|
17
|
-
*
|
|
18
|
-
* `withNode` enriches the parsed self with the lazy `node()` accessor — the one
|
|
19
|
-
* place a handler can fetch its own node's full record (`{ id, class, props }`)
|
|
20
|
-
* without hand-rolling a `::get`. Construction stays split from parsing so
|
|
21
|
-
* `resolveSelf` remains pure and trivially testable; the dispatcher attaches the
|
|
22
|
-
* accessor once it holds the request's kernel.
|
|
2
|
+
* Self resolution stays parse-only: `_self` becomes a Path/IdPath with no graph
|
|
3
|
+
* read. The dispatcher later attaches lazy node()/call helpers once it has a kernel.
|
|
23
4
|
*/
|
|
5
|
+
import type { BoundNode, InstanceDispatch, NodeBinder } from '@astrale-os/kernel-client/schema';
|
|
24
6
|
import type { Node } from '@astrale-os/kernel-core/graph';
|
|
7
|
+
import type { Schema } from '@astrale-os/kernel-dsl';
|
|
25
8
|
import { Path, type NodeId } from '@astrale-os/kernel-core';
|
|
26
9
|
import type { Kernel } from '../method/context';
|
|
27
10
|
/** The node a non-static method runs on — its full record, id guaranteed. */
|
|
@@ -36,28 +19,33 @@ export type ParsedSelf = {
|
|
|
36
19
|
};
|
|
37
20
|
export type SelfResult = ParsedSelf & {
|
|
38
21
|
/**
|
|
39
|
-
*
|
|
40
|
-
*
|
|
41
|
-
* single in-flight fetch, and a failure clears the cache so it stays
|
|
42
|
-
* retryable. Pass `{ reload: true }` to force a fresh read.
|
|
43
|
-
*
|
|
44
|
-
* The result is a point-in-time SNAPSHOT, not a live view — for
|
|
45
|
-
* read-modify-write, treat it as the value as of the read (or `reload`).
|
|
46
|
-
* `props` is returned structurally validated only, NOT typed against the
|
|
47
|
-
* node's declared schema: the kernel does not hydrate declared props at
|
|
48
|
-
* runtime, so a node-typed `self` would be unsound. Read the concrete backend
|
|
49
|
-
* off `node.class` (a `ClassPath`) — that is the persisted discriminator.
|
|
22
|
+
* Lazy point-in-time self read. Memoized per dispatch; `{ reload: true }`
|
|
23
|
+
* forces a fresh `function.get`.
|
|
50
24
|
*/
|
|
51
25
|
node(opts?: {
|
|
52
26
|
reload?: boolean;
|
|
53
27
|
}): Promise<ResolvedSelfNode>;
|
|
54
28
|
};
|
|
29
|
+
/** Schema-typed self: short-keyed props and typed same-instance call proxy. */
|
|
30
|
+
export type TypedSelf<D, S extends Schema = Schema> = ParsedSelf & {
|
|
31
|
+
/**
|
|
32
|
+
* Fetch THIS node as a typed `BoundNode<D>`. Memoized exactly like
|
|
33
|
+
* {@link SelfResult.node} — one in-flight `function.get`, rejection-clearing,
|
|
34
|
+
* `{ reload: true }` refetches — so the zero-extra-graph-read dispatch
|
|
35
|
+
* invariant holds: nothing is read until called, then at most once.
|
|
36
|
+
*/
|
|
37
|
+
node(opts?: {
|
|
38
|
+
reload?: boolean;
|
|
39
|
+
}): Promise<BoundNode<D, S>>;
|
|
40
|
+
/** Own instance methods — typed, address-only (`<selfPath>::method`), no read. */
|
|
41
|
+
readonly call: InstanceDispatch<D>;
|
|
42
|
+
};
|
|
55
43
|
export declare function resolveSelf(ref: string): ParsedSelf;
|
|
44
|
+
/** Attach memoized node(); unauthenticated contexts reject instead of reading. */
|
|
45
|
+
export declare function withNode(parsed: ParsedSelf, kernel: Kernel | null): SelfResult;
|
|
56
46
|
/**
|
|
57
|
-
*
|
|
58
|
-
*
|
|
59
|
-
* unauthenticated `optional`) — there `node()` rejects with a clear error
|
|
60
|
-
* rather than reading the graph unauthenticated.
|
|
47
|
+
* Schema-typed self helper: lazy BoundNode plus address-only call proxy. With no
|
|
48
|
+
* kernel, both node() and call thunks fail loudly.
|
|
61
49
|
*/
|
|
62
|
-
export declare function
|
|
50
|
+
export declare function withBoundNode<S extends Schema>(parsed: ParsedSelf, kernel: Kernel | null, binder: NodeBinder<S>, typeName: string): TypedSelf<unknown, S>;
|
|
63
51
|
//# sourceMappingURL=self.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"self.d.ts","sourceRoot":"","sources":["../../src/dispatch/self.ts"],"names":[],"mappings":"AAAA
|
|
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;AAyBD;;;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"}
|