@astrale-os/kernel-client 0.4.3 → 0.4.5
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/index.d.ts +2 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/schema/bound/binder.d.ts +1 -1
- package/dist/schema/bound/binder.d.ts.map +1 -1
- package/dist/schema/bound/binder.js +5 -1
- package/dist/schema/bound/binder.js.map +1 -1
- package/dist/schema/bound/bound-node.d.ts +61 -48
- package/dist/schema/bound/bound-node.d.ts.map +1 -1
- package/dist/schema/bound/bound-node.js +83 -32
- package/dist/schema/bound/bound-node.js.map +1 -1
- package/dist/schema/bound/index.d.ts +2 -2
- package/dist/schema/bound/index.d.ts.map +1 -1
- package/dist/schema/bound/index.js.map +1 -1
- package/dist/schema/bound/view.d.ts +19 -23
- package/dist/schema/bound/view.d.ts.map +1 -1
- package/dist/schema/bound/view.js +63 -39
- package/dist/schema/bound/view.js.map +1 -1
- package/dist/schema/class-proxy.d.ts +3 -0
- package/dist/schema/class-proxy.d.ts.map +1 -1
- package/dist/schema/class-proxy.js +3 -0
- package/dist/schema/class-proxy.js.map +1 -1
- package/dist/schema/extract.d.ts +3 -0
- package/dist/schema/extract.d.ts.map +1 -1
- package/dist/schema/extract.js +15 -2
- package/dist/schema/extract.js.map +1 -1
- package/dist/schema/index.d.ts +2 -1
- package/dist/schema/index.d.ts.map +1 -1
- package/dist/schema/index.js +1 -0
- package/dist/schema/index.js.map +1 -1
- package/dist/schema/known-dispatch.d.ts +6 -0
- package/dist/schema/known-dispatch.d.ts.map +1 -0
- package/dist/schema/known-dispatch.js +39 -0
- package/dist/schema/known-dispatch.js.map +1 -0
- package/dist/schema/node-proxy.d.ts +3 -0
- package/dist/schema/node-proxy.d.ts.map +1 -1
- package/dist/schema/node-proxy.js +3 -0
- package/dist/schema/node-proxy.js.map +1 -1
- package/dist/schema/proxy-types.d.ts +7 -3
- package/dist/schema/proxy-types.d.ts.map +1 -1
- package/package.json +5 -5
package/dist/index.d.ts
CHANGED
|
@@ -15,9 +15,9 @@ export { ClientSessionError } from './errors/session-error.js';
|
|
|
15
15
|
export { SchemaRegistry } from './schema/registry.js';
|
|
16
16
|
export { toFunctionSchemas } from './schema/from-entries.js';
|
|
17
17
|
export type { FunctionSchema } from './schema/types.js';
|
|
18
|
-
export type { ClassProxy, DefOf, InstanceDispatch, NodeProxy, ProxyCallOptions,
|
|
18
|
+
export type { ClassProxy, DefOf, InstanceDispatch, NodeProxy, ProxyCallOptions, StaticDispatch, TypeNames, } from './schema/proxy-types.js';
|
|
19
19
|
export { BindTypeMismatchError, createBoundNode, createNodeBinder, createSchemaBoundView, defaultCaller, resolveNeighbors, normalizeRef, } from './schema/bound/index.js';
|
|
20
|
-
export type { AnyBoundNode, BindCtx, BindOptions, BoundNode, BoundSnapshot, EdgeNames, EndpointsOf, NodeBinder, NodeRefInput, SchemaBoundView, } from './schema/bound/index.js';
|
|
20
|
+
export type { AnyBoundNode, BindCtx, BindOptions, BoundLinks, BoundNode, BoundNodeOperations, BoundPaged, BoundSnapshot, ClassHandle, EdgeNames, EndpointsOf, NodeBinder, NodeRefInput, SchemaBoundView, SchemaClasses, } from './schema/bound/index.js';
|
|
21
21
|
export type { CreatableClassNames, CreateProps } from './schema/bound/index.js';
|
|
22
22
|
export { DESCRIPTION_KEY, NAME_KEY, STATUS_KEY, descriptionOf, nameOf, statusOf, } from './graph/named.js';
|
|
23
23
|
export type { NamedNodeLike } from './graph/named.js';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,YAAY,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAGxD,YAAY,EACV,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,QAAQ,EACR,aAAa,GACd,MAAM,oBAAoB,CAAA;AAC3B,YAAY,EACV,eAAe,EACf,cAAc,EACd,aAAa,EACb,WAAW,EACX,QAAQ,EACR,cAAc,GACf,MAAM,mBAAmB,CAAA;AAG1B,YAAY,EACV,SAAS,EACT,OAAO,EACP,OAAO,EACP,KAAK,EACL,gBAAgB,EAChB,UAAU,EACV,gBAAgB,EAChB,SAAS,EACT,SAAS,GACV,MAAM,oBAAoB,CAAA;AAC3B,YAAY,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAGxE,YAAY,EAAE,aAAa,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AAG/E,OAAO,EACL,cAAc,EACd,cAAc,EACd,cAAc,EACd,mBAAmB,EACnB,WAAW,EACX,WAAW,EACX,aAAa,EACb,iBAAiB,GAClB,MAAM,kBAAkB,CAAA;AACzB,YAAY,EACV,kBAAkB,EAClB,kBAAkB,EAClB,kBAAkB,EAClB,sBAAsB,GACvB,MAAM,kBAAkB,CAAA;AAGzB,OAAO,EACL,cAAc,EACd,mBAAmB,EACnB,eAAe,EACf,iBAAiB,EACjB,qBAAqB,EACrB,uBAAuB,EACvB,WAAW,EACX,oBAAoB,EACpB,aAAa,EACb,qBAAqB,EACrB,YAAY,EACZ,yBAAyB,EACzB,eAAe,EACf,UAAU,EACV,cAAc,EACd,WAAW,GACZ,MAAM,oBAAoB,CAAA;AAC3B,YAAY,EAAE,gBAAgB,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAA;AAG1F,OAAO,EACL,mBAAmB,EACnB,gBAAgB,EAChB,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,EACrB,uBAAuB,EACvB,wBAAwB,EACxB,uBAAuB,EACvB,eAAe,EACf,qBAAqB,EACrB,qBAAqB,EACrB,uBAAuB,EACvB,yBAAyB,EACzB,aAAa,EACb,sBAAsB,EACtB,eAAe,EACf,YAAY,EACZ,uBAAuB,EACvB,4BAA4B,EAC5B,iBAAiB,EACjB,qBAAqB,EACrB,sBAAsB,EACtB,0BAA0B,EAC1B,8BAA8B,EAC9B,gBAAgB,EAChB,2BAA2B,EAC3B,iBAAiB,EACjB,YAAY,GACb,MAAM,oBAAoB,CAAA;AAC3B,YAAY,EAAE,aAAa,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AACxF,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAA;AAM9D,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AAC5D,YAAY,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AACvD,YAAY,EACV,UAAU,EACV,KAAK,EACL,gBAAgB,EAChB,SAAS,EACT,gBAAgB,EAChB,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -12,6 +12,8 @@ export { ClientSessionError } from './errors/session-error.js';
|
|
|
12
12
|
// ─── Schema ─────────────────────────────────────────────
|
|
13
13
|
export { SchemaRegistry } from './schema/registry.js';
|
|
14
14
|
export { toFunctionSchemas } from './schema/from-entries.js';
|
|
15
|
+
// NOTE: SchemaTypedClient (legacy .static/.node surface) is intentionally omitted from primary root re-exports.
|
|
16
|
+
// It remains available via deep import for migration compat but is deprecated in favor of .classes + direct BoundNode methods.
|
|
15
17
|
// ─── Schema-bound surface (SchemaBoundView / BoundNode) ──
|
|
16
18
|
export { BindTypeMismatchError, createBoundNode, createNodeBinder, createSchemaBoundView, defaultCaller, resolveNeighbors, normalizeRef, } from './schema/bound/index.js';
|
|
17
19
|
// ─── Universal-prop helpers (blessed; single-sourced from K) ──
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,2DAA2D;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAqCjD,0DAA0D;AAC1D,OAAO,EACL,cAAc,EACd,cAAc,EACd,cAAc,EACd,mBAAmB,EACnB,WAAW,EACX,WAAW,EACX,aAAa,EACb,iBAAiB,GAClB,MAAM,kBAAkB,CAAA;AAQzB,2DAA2D;AAC3D,OAAO,EACL,cAAc,EACd,mBAAmB,EACnB,eAAe,EACf,iBAAiB,EACjB,qBAAqB,EACrB,uBAAuB,EACvB,WAAW,EACX,oBAAoB,EACpB,aAAa,EACb,qBAAqB,EACrB,YAAY,EACZ,yBAAyB,EACzB,eAAe,EACf,UAAU,EACV,cAAc,EACd,WAAW,GACZ,MAAM,oBAAoB,CAAA;AAG3B,0DAA0D;AAC1D,OAAO,EACL,mBAAmB,EACnB,gBAAgB,EAChB,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,EACrB,uBAAuB,EACvB,wBAAwB,EACxB,uBAAuB,EACvB,eAAe,EACf,qBAAqB,EACrB,qBAAqB,EACrB,uBAAuB,EACvB,yBAAyB,EACzB,aAAa,EACb,sBAAsB,EACtB,eAAe,EACf,YAAY,EACZ,uBAAuB,EACvB,4BAA4B,EAC5B,iBAAiB,EACjB,qBAAqB,EACrB,sBAAsB,EACtB,0BAA0B,EAC1B,8BAA8B,EAC9B,gBAAgB,EAChB,2BAA2B,EAC3B,iBAAiB,EACjB,YAAY,GACb,MAAM,oBAAoB,CAAA;AAE3B,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAA;AAE9D,0EAA0E;AAC1E,qEAAqE;AAErE,2DAA2D;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,2DAA2D;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAqCjD,0DAA0D;AAC1D,OAAO,EACL,cAAc,EACd,cAAc,EACd,cAAc,EACd,mBAAmB,EACnB,WAAW,EACX,WAAW,EACX,aAAa,EACb,iBAAiB,GAClB,MAAM,kBAAkB,CAAA;AAQzB,2DAA2D;AAC3D,OAAO,EACL,cAAc,EACd,mBAAmB,EACnB,eAAe,EACf,iBAAiB,EACjB,qBAAqB,EACrB,uBAAuB,EACvB,WAAW,EACX,oBAAoB,EACpB,aAAa,EACb,qBAAqB,EACrB,YAAY,EACZ,yBAAyB,EACzB,eAAe,EACf,UAAU,EACV,cAAc,EACd,WAAW,GACZ,MAAM,oBAAoB,CAAA;AAG3B,0DAA0D;AAC1D,OAAO,EACL,mBAAmB,EACnB,gBAAgB,EAChB,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,EACrB,uBAAuB,EACvB,wBAAwB,EACxB,uBAAuB,EACvB,eAAe,EACf,qBAAqB,EACrB,qBAAqB,EACrB,uBAAuB,EACvB,yBAAyB,EACzB,aAAa,EACb,sBAAsB,EACtB,eAAe,EACf,YAAY,EACZ,uBAAuB,EACvB,4BAA4B,EAC5B,iBAAiB,EACjB,qBAAqB,EACrB,sBAAsB,EACtB,0BAA0B,EAC1B,8BAA8B,EAC9B,gBAAgB,EAChB,2BAA2B,EAC3B,iBAAiB,EACjB,YAAY,GACb,MAAM,oBAAoB,CAAA;AAE3B,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAA;AAE9D,0EAA0E;AAC1E,qEAAqE;AAErE,2DAA2D;AAC3D,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAA;AAW5D,gHAAgH;AAChH,+HAA+H;AAE/H,4DAA4D;AAC5D,OAAO,EACL,qBAAqB,EACrB,eAAe,EACf,gBAAgB,EAChB,qBAAqB,EACrB,aAAa,EACb,gBAAgB,EAChB,YAAY,GACb,MAAM,yBAAyB,CAAA;AAqBhC,iEAAiE;AACjE,OAAO,EACL,eAAe,EACf,QAAQ,EACR,UAAU,EACV,aAAa,EACb,MAAM,EACN,QAAQ,GACT,MAAM,kBAAkB,CAAA"}
|
|
@@ -19,7 +19,7 @@ export declare class BindTypeMismatchError extends WebOSError {
|
|
|
19
19
|
*/
|
|
20
20
|
export interface BindCtx {
|
|
21
21
|
caller: ProxyCaller | null;
|
|
22
|
-
read: Pick<GraphApi, 'get' | 'query'> | null;
|
|
22
|
+
read: Pick<GraphApi, 'children' | 'get' | 'query'> | null;
|
|
23
23
|
write?: Pick<GraphApi, 'createNode' | 'updateNode'> | null;
|
|
24
24
|
/** Minting envelope for in-envelope (0-RT) traversal. */
|
|
25
25
|
envelope?: Graph;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"binder.d.ts","sourceRoot":"","sources":["../../../src/schema/bound/binder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAA;AAC1D,OAAO,KAAK,EACV,SAAS,EAGV,MAAM,gCAAgC,CAAA;AACvC,OAAO,KAAK,EAAU,MAAM,EAAE,MAAM,wBAAwB,CAAA;AAK5D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AACpD,OAAO,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AACtE,OAAO,KAAK,EAAE,YAAY,EAAa,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAEzE,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAA;AAInD,wGAAwG;AACxG,MAAM,MAAM,WAAW,GAAG;IAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;CAAE,CAAA;AAEzD,yGAAyG;AACzG,qBAAa,qBAAsB,SAAQ,UAAU;IACnD,YAAY,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAG7D;CACF;AAED;;;GAGG;AACH,MAAM,WAAW,OAAO;IACtB,MAAM,EAAE,WAAW,GAAG,IAAI,CAAA;IAC1B,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,KAAK,GAAG,OAAO,CAAC,GAAG,IAAI,CAAA;
|
|
1
|
+
{"version":3,"file":"binder.d.ts","sourceRoot":"","sources":["../../../src/schema/bound/binder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAA;AAC1D,OAAO,KAAK,EACV,SAAS,EAGV,MAAM,gCAAgC,CAAA;AACvC,OAAO,KAAK,EAAU,MAAM,EAAE,MAAM,wBAAwB,CAAA;AAK5D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AACpD,OAAO,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AACtE,OAAO,KAAK,EAAE,YAAY,EAAa,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAEzE,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAA;AAInD,wGAAwG;AACxG,MAAM,MAAM,WAAW,GAAG;IAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAA;CAAE,CAAA;AAEzD,yGAAyG;AACzG,qBAAa,qBAAsB,SAAQ,UAAU;IACnD,YAAY,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAG7D;CACF;AAED;;;GAGG;AACH,MAAM,WAAW,OAAO;IACtB,MAAM,EAAE,WAAW,GAAG,IAAI,CAAA;IAC1B,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,UAAU,GAAG,KAAK,GAAG,OAAO,CAAC,GAAG,IAAI,CAAA;IACzD,KAAK,CAAC,EAAE,IAAI,CAAC,QAAQ,EAAE,YAAY,GAAG,YAAY,CAAC,GAAG,IAAI,CAAA;IAC1D,yDAAyD;IACzD,QAAQ,CAAC,EAAE,KAAK,CAAA;IAChB,oFAAoF;IACpF,QAAQ,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;CAC/B;AAED,MAAM,WAAW,UAAU,CAAC,CAAC,SAAS,MAAM;IAC1C,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAA;IAClB,IAAI,CAAC,CAAC,SAAS,SAAS,CAAC,CAAC,CAAC,EACzB,IAAI,EAAE,CAAC,EACP,IAAI,EAAE,IAAI,EACV,GAAG,EAAE,OAAO,EACZ,IAAI,CAAC,EAAE,WAAW,GACjB,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;IAC5B,OAAO,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,GAAG,YAAY,CAAC,CAAC,CAAC,CAAA;IAClD,cAAc,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAA;IAC3D,iFAAiF;IACjF,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAA;IACtC,+EAA+E;IAC/E,iBAAiB,CACf,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GACvC;QAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,CAAA;IACtF,iEAAiE;IACjE,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAA;IACtC,yFAAyF;IACzF,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,GAAG,YAAY,CAAC,CAAC,CAAC,CAAA;IACvD,iEAAiE;IACjE,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,GAAG,IAAI,GAAG,OAAO,CAAA;CACzD;AAQD,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAqN3E"}
|
|
@@ -10,7 +10,11 @@ export class BindTypeMismatchError extends WebOSError {
|
|
|
10
10
|
this.name = 'BindTypeMismatchError';
|
|
11
11
|
}
|
|
12
12
|
}
|
|
13
|
-
const EMPTY_METHODS = {
|
|
13
|
+
const EMPTY_METHODS = {
|
|
14
|
+
kind: 'class',
|
|
15
|
+
methods: new Set(),
|
|
16
|
+
staticMethods: new Set(),
|
|
17
|
+
};
|
|
14
18
|
export function createNodeBinder(schema) {
|
|
15
19
|
const domain = schema.domain;
|
|
16
20
|
if (!domain || typeof domain !== 'string') {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"binder.js","sourceRoot":"","sources":["../../../src/schema/bound/binder.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAA;AAC9D,OAAO,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAA;AAM/C,OAAO,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAA;AACnD,OAAO,EAAE,oBAAoB,EAAoB,MAAM,eAAe,CAAA;AACtE,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAKjD,yGAAyG;AACzG,MAAM,OAAO,qBAAsB,SAAQ,UAAU;IACnD,YAAY,QAAgB,EAAE,WAAmB,EAAE,GAAW;QAC5D,KAAK,CAAC,eAAe,GAAG,QAAQ,QAAQ,iBAAiB,WAAW,aAAa,QAAQ,GAAG,CAAC,CAAA;QAC7F,IAAI,CAAC,IAAI,GAAG,uBAAuB,CAAA;IACrC,CAAC;CACF;AAyCD,MAAM,aAAa,GAAgB,
|
|
1
|
+
{"version":3,"file":"binder.js","sourceRoot":"","sources":["../../../src/schema/bound/binder.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import type { AbsolutePath, Node, NodeId } from '@astrale-os/kernel-core';
|
|
2
2
|
import type { ClassPath } from '@astrale-os/kernel-core/domain';
|
|
3
3
|
import type { ExtractFullProperties, Schema } from '@astrale-os/kernel-dsl';
|
|
4
|
+
import type { ChildrenOpts } from '../../graph/index.js';
|
|
4
5
|
import type { DefOf, InstanceDispatch, TypeNames } from '../proxy-types.js';
|
|
5
6
|
import type { BindCtx, NodeBinder } from './binder.js';
|
|
6
|
-
|
|
7
|
+
import type { CreatableClassNames } from './write-props.js';
|
|
8
|
+
/** Inert value for pure core functions — no session or dispatch capability. */
|
|
7
9
|
export interface BoundSnapshot<D> {
|
|
8
10
|
readonly id: NodeId;
|
|
9
11
|
readonly path: AbsolutePath;
|
|
@@ -11,42 +13,72 @@ export interface BoundSnapshot<D> {
|
|
|
11
13
|
readonly props: ExtractFullProperties<D>;
|
|
12
14
|
readonly raw: Node;
|
|
13
15
|
}
|
|
14
|
-
/**
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
16
|
+
/** A paged collection that preserves the raw collection's continuation semantics. */
|
|
17
|
+
export interface BoundPaged<T> extends AsyncIterable<T> {
|
|
18
|
+
readonly nodes: T[];
|
|
19
|
+
readonly first: T | null;
|
|
20
|
+
next(): Promise<BoundPaged<T> | null>;
|
|
21
|
+
all(): Promise<T[]>;
|
|
22
|
+
cursor(): string | null;
|
|
23
|
+
}
|
|
24
|
+
/** Edge-class keys in one schema. */
|
|
25
|
+
export type EdgeNames<S extends Schema> = {
|
|
26
|
+
[K in keyof S['classes'] & string]: S['classes'][K] extends {
|
|
27
|
+
readonly __kind: 'edge-class';
|
|
28
|
+
} ? K : never;
|
|
29
|
+
}[keyof S['classes'] & string];
|
|
30
|
+
type BindEndpoint<S extends Schema, T> = T extends S['classes'][keyof S['classes']] ? BoundNode<T, S> : AnyBoundNode<S>;
|
|
31
|
+
/** Cardinality-aware endpoint projection for a schema edge. */
|
|
32
|
+
export type EndpointsOf<S extends Schema, E extends EdgeNames<S>, Side extends 'from' | 'to'> = S['classes'][E] extends {
|
|
33
|
+
readonly [K in Side]: {
|
|
34
|
+
readonly types: readonly (infer T)[];
|
|
35
|
+
readonly cardinality?: infer C;
|
|
36
|
+
};
|
|
37
|
+
} ? C extends '1' | '0..1' ? BindEndpoint<S, T> | null : BindEndpoint<S, T>[] : AnyBoundNode<S>[];
|
|
38
|
+
export interface BoundLinks<S extends Schema> {
|
|
39
|
+
<E extends EdgeNames<S>>(edge: E): Promise<EndpointsOf<S, E, 'to'>>;
|
|
40
|
+
<E extends EdgeNames<S>>(edge: E, direction: 'out'): Promise<EndpointsOf<S, E, 'to'>>;
|
|
41
|
+
<E extends EdgeNames<S>>(edge: E, direction: 'in'): Promise<EndpointsOf<S, E, 'from'>>;
|
|
42
|
+
<E extends EdgeNames<S>>(edge: E, direction: 'both'): Promise<{
|
|
43
|
+
out: EndpointsOf<S, E, 'to'>;
|
|
44
|
+
in: EndpointsOf<S, E, 'from'>;
|
|
45
|
+
}>;
|
|
46
|
+
(edge: ClassPath, direction?: 'out' | 'in'): Promise<AnyBoundNode<S>[]>;
|
|
47
|
+
(edge: ClassPath, direction: 'both'): Promise<{
|
|
48
|
+
out: AnyBoundNode<S>[];
|
|
49
|
+
in: AnyBoundNode<S>[];
|
|
50
|
+
}>;
|
|
51
|
+
out<E extends EdgeNames<S>>(edge: E): Promise<EndpointsOf<S, E, 'to'>>;
|
|
52
|
+
out(edge: ClassPath): Promise<AnyBoundNode<S>[]>;
|
|
53
|
+
in<E extends EdgeNames<S>>(edge: E): Promise<EndpointsOf<S, E, 'from'>>;
|
|
54
|
+
in(edge: ClassPath): Promise<AnyBoundNode<S>[]>;
|
|
55
|
+
}
|
|
56
|
+
/** Kernel-side operations always available under `node.$`. */
|
|
57
|
+
export interface BoundNodeOperations<D, S extends Schema> {
|
|
58
|
+
update(props: Partial<ExtractFullProperties<D>>): Promise<void>;
|
|
59
|
+
readonly links: BoundLinks<S>;
|
|
60
|
+
children<T extends CreatableClassNames<S>>(type: T, opts?: Omit<ChildrenOpts, 'classes'>): Promise<BoundPaged<BoundNode<DefOf<S, T>, S>>>;
|
|
61
|
+
children(opts?: ChildrenOpts): Promise<BoundPaged<AnyBoundNode<S>>>;
|
|
62
|
+
snapshot(): BoundSnapshot<D>;
|
|
63
|
+
refresh(): Promise<BoundNode<D, S>>;
|
|
64
|
+
}
|
|
65
|
+
interface BoundNodeValue<D, S extends Schema> {
|
|
22
66
|
readonly id: NodeId;
|
|
23
67
|
readonly path: AbsolutePath;
|
|
24
68
|
readonly class: ClassPath;
|
|
25
|
-
/** The schema key this node was bound as — class OR interface name. */
|
|
26
69
|
readonly typeName: string;
|
|
27
|
-
/** SHORT-keyed, schema-typed. Missing required prop = typed-undefined + `console.warn`. */
|
|
28
70
|
readonly props: ExtractFullProperties<D>;
|
|
29
|
-
/** The untouched pure value. Qualified wire prop keys live here. */
|
|
30
71
|
readonly raw: Node;
|
|
31
|
-
|
|
32
|
-
readonly call: InstanceDispatch<D>;
|
|
33
|
-
/** Typed partial prop update through the standard `updateNode` mutate shorthand. */
|
|
34
|
-
update(props: Partial<ExtractFullProperties<D>>): Promise<void>;
|
|
72
|
+
readonly $: BoundNodeOperations<D, S>;
|
|
35
73
|
is<T extends TypeNames<S>>(type: T): this is BoundNode<DefOf<S, T>, S>;
|
|
36
|
-
/** Own-schema edge name → endpoint + cardinality typed. */
|
|
37
|
-
out<E extends EdgeNames<S>>(edge: E): Promise<EndpointsOf<S, E, 'to'>>;
|
|
38
|
-
/** Foreign/kernel edge — `K.$.c('extends_with').path.class`. Honest widening. */
|
|
39
|
-
out(edge: ClassPath): Promise<AnyBoundNode<S>[]>;
|
|
40
|
-
in<E extends EdgeNames<S>>(edge: E): Promise<EndpointsOf<S, E, 'from'>>;
|
|
41
|
-
in(edge: ClassPath): Promise<AnyBoundNode<S>[]>;
|
|
42
|
-
snapshot(): BoundSnapshot<D>;
|
|
43
|
-
/** Explicit re-fetch → NEW BoundNode; this one is immutable. */
|
|
44
|
-
refresh(): Promise<BoundNode<D, S>>;
|
|
45
74
|
}
|
|
46
75
|
/**
|
|
47
|
-
*
|
|
48
|
-
*
|
|
76
|
+
* Immutable node snapshot plus schema dispatch. Domain methods are direct.
|
|
77
|
+
* Kernel operations are canonical under `$` and also appear directly when a
|
|
78
|
+
* domain method does not use the same name.
|
|
49
79
|
*/
|
|
80
|
+
export type BoundNode<D, S extends Schema = Schema> = BoundNodeValue<D, S> & InstanceDispatch<D> & Omit<BoundNodeOperations<D, S>, keyof InstanceDispatch<D>>;
|
|
81
|
+
/** Classless binding; `is()` is the typed door into the schema. */
|
|
50
82
|
export interface AnyBoundNode<S extends Schema = Schema> {
|
|
51
83
|
readonly id: NodeId;
|
|
52
84
|
readonly path: AbsolutePath;
|
|
@@ -54,25 +86,9 @@ export interface AnyBoundNode<S extends Schema = Schema> {
|
|
|
54
86
|
readonly typeName: string;
|
|
55
87
|
readonly props: Readonly<Record<string, unknown>>;
|
|
56
88
|
readonly raw: Node;
|
|
89
|
+
readonly links: BoundLinks<S>;
|
|
57
90
|
is<T extends TypeNames<S>>(type: T): this is BoundNode<DefOf<S, T>, S>;
|
|
58
91
|
}
|
|
59
|
-
/** Edge-class keys of S — what the typed `out`/`in` overload accepts. */
|
|
60
|
-
export type EdgeNames<S extends Schema> = {
|
|
61
|
-
[K in keyof S['classes'] & string]: S['classes'][K] extends {
|
|
62
|
-
readonly __kind: 'edge-class';
|
|
63
|
-
} ? K : never;
|
|
64
|
-
}[keyof S['classes'] & string];
|
|
65
|
-
type BindEndpoint<S extends Schema, T> = T extends S['classes'][keyof S['classes']] ? BoundNode<T, S> : AnyBoundNode<S>;
|
|
66
|
-
/**
|
|
67
|
-
* Result of typed traversal. `Side`='to' for `out()`, 'from' for `in()`.
|
|
68
|
-
* `'1'`/`'0..1'` cardinality → single|null (masking outranks cardinality).
|
|
69
|
-
*/
|
|
70
|
-
export type EndpointsOf<S extends Schema, E extends EdgeNames<S>, Side extends 'from' | 'to'> = S['classes'][E] extends {
|
|
71
|
-
readonly [K in Side]: {
|
|
72
|
-
readonly types: readonly (infer T)[];
|
|
73
|
-
readonly cardinality?: infer C;
|
|
74
|
-
};
|
|
75
|
-
} ? C extends '1' | '0..1' ? BindEndpoint<S, T> | null : BindEndpoint<S, T>[] : AnyBoundNode<S>[];
|
|
76
92
|
/** Everything the binder resolves once and hands to a fresh BoundNode. */
|
|
77
93
|
export interface BindEntry {
|
|
78
94
|
readonly typeName: string;
|
|
@@ -80,10 +96,7 @@ export interface BindEntry {
|
|
|
80
96
|
readonly methods: ReadonlySet<string>;
|
|
81
97
|
readonly props: Record<string, unknown>;
|
|
82
98
|
}
|
|
83
|
-
/**
|
|
84
|
-
* Mint a BoundNode / AnyBoundNode over a pure Node. One impl serves both — the
|
|
85
|
-
* static type is the narrowing; the runtime is always honest by concrete class.
|
|
86
|
-
*/
|
|
99
|
+
/** Mint one immutable, schema-bound node capability. */
|
|
87
100
|
export declare function createBoundNode<D, S extends Schema>(binder: NodeBinder<S>, entry: BindEntry, node: Node, ctx: BindCtx): BoundNode<D, S>;
|
|
88
101
|
export {};
|
|
89
102
|
//# sourceMappingURL=bound-node.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bound-node.d.ts","sourceRoot":"","sources":["../../../src/schema/bound/bound-node.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AACzE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAA;AAC/D,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAA;AAE3E,OAAO,KAAK,EAAE,KAAK,EAAE,gBAAgB,EAAe,SAAS,EAAE,MAAM,mBAAmB,CAAA;AACxF,OAAO,KAAK,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"bound-node.d.ts","sourceRoot":"","sources":["../../../src/schema/bound/bound-node.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,23 +1,33 @@
|
|
|
1
1
|
import { resolveNeighbors } from '../../graph/query/traverse.js';
|
|
2
|
-
import {
|
|
3
|
-
const NO_CALLER = () => Promise.reject(new Error('BoundNode
|
|
2
|
+
import { createKnownInstanceDispatch } from '../known-dispatch.js';
|
|
3
|
+
const NO_CALLER = () => Promise.reject(new Error('BoundNode dispatch is unavailable — this view has no caller'));
|
|
4
|
+
const RESERVED_NODE_MEMBERS = new Set([
|
|
5
|
+
'id',
|
|
6
|
+
'path',
|
|
7
|
+
'class',
|
|
8
|
+
'typeName',
|
|
9
|
+
'props',
|
|
10
|
+
'raw',
|
|
11
|
+
'$',
|
|
12
|
+
'is',
|
|
13
|
+
]);
|
|
4
14
|
const noRead = () => {
|
|
5
15
|
throw new Error('BoundNode traversal/refresh is unavailable — this view has no read capability');
|
|
6
16
|
};
|
|
7
17
|
const noWrite = () => {
|
|
8
18
|
throw new Error('BoundNode.update is unavailable — this view has no write capability');
|
|
9
19
|
};
|
|
10
|
-
/** The address a node dispatches / re-reads by: `@id` when identified, else its path. */
|
|
11
20
|
function nodeRef(node) {
|
|
12
21
|
return node.id ? `@${node.id}` : node.path.raw;
|
|
13
22
|
}
|
|
14
|
-
/**
|
|
15
|
-
* Mint a BoundNode / AnyBoundNode over a pure Node. One impl serves both — the
|
|
16
|
-
* static type is the narrowing; the runtime is always honest by concrete class.
|
|
17
|
-
*/
|
|
23
|
+
/** Mint one immutable, schema-bound node capability. */
|
|
18
24
|
export function createBoundNode(binder, entry, node, ctx) {
|
|
25
|
+
for (const method of entry.methods) {
|
|
26
|
+
if (RESERVED_NODE_MEMBERS.has(method)) {
|
|
27
|
+
throw new Error(`Schema method '${entry.typeName}.${method}' conflicts with a bound-node member`);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
19
30
|
const props = Object.freeze(entry.props);
|
|
20
|
-
let callProxy;
|
|
21
31
|
const traverse = async (edge, direction) => {
|
|
22
32
|
if (ctx.read === null)
|
|
23
33
|
return noRead();
|
|
@@ -27,40 +37,41 @@ export function createBoundNode(binder, entry, node, ctx) {
|
|
|
27
37
|
envelope: ctx.envelope,
|
|
28
38
|
gathered: ctx.gathered,
|
|
29
39
|
});
|
|
30
|
-
const bound = found.map((
|
|
40
|
+
const bound = found.map((endpoint) => binder.bindEndpoint(endpoint, ctx));
|
|
31
41
|
if (typeof edge !== 'string')
|
|
32
42
|
return bound;
|
|
33
43
|
return binder.isSingle(edge, direction) ? (bound[0] ?? null) : bound;
|
|
34
44
|
};
|
|
35
|
-
const
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
+
const links = ((edge, direction = 'out') => direction === 'both'
|
|
46
|
+
? Promise.all([traverse(edge, 'out'), traverse(edge, 'in')]).then(([out, incoming]) => ({
|
|
47
|
+
out,
|
|
48
|
+
in: incoming,
|
|
49
|
+
}))
|
|
50
|
+
: traverse(edge, direction));
|
|
51
|
+
links.out = ((edge) => traverse(edge, 'out'));
|
|
52
|
+
links.in = ((edge) => traverse(edge, 'in'));
|
|
53
|
+
const children = (async (typeOrOpts, childOpts) => {
|
|
54
|
+
if (ctx.read === null)
|
|
55
|
+
return noRead();
|
|
56
|
+
const type = typeof typeOrOpts === 'string' ? typeOrOpts : undefined;
|
|
57
|
+
const opts = typeof typeOrOpts === 'string' ? childOpts : typeOrOpts;
|
|
58
|
+
const page = await ctx.read.children(nodeRef(node), {
|
|
59
|
+
...opts,
|
|
60
|
+
...(type ? { classes: [binder.nodeClassPath(type)] } : {}),
|
|
61
|
+
});
|
|
62
|
+
return mapPaged(page, (child) => type ? binder.bind(type, child, ctx) : binder.bindAny(child, ctx));
|
|
63
|
+
});
|
|
64
|
+
const operations = {
|
|
45
65
|
async update(updateProps) {
|
|
46
66
|
if (!ctx.write)
|
|
47
67
|
return noWrite();
|
|
48
68
|
const { write } = binder.resolveWriteProps(node.class, updateProps);
|
|
49
69
|
await ctx.write.updateNode(node.class, nodeRef(node), write);
|
|
50
70
|
},
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
},
|
|
54
|
-
out: ((edge) => traverse(edge, 'out')),
|
|
55
|
-
in: ((edge) => traverse(edge, 'in')),
|
|
71
|
+
links,
|
|
72
|
+
children,
|
|
56
73
|
snapshot() {
|
|
57
|
-
return {
|
|
58
|
-
id: node.id,
|
|
59
|
-
path: node.path,
|
|
60
|
-
typeName: entry.typeName,
|
|
61
|
-
props: props,
|
|
62
|
-
raw: node,
|
|
63
|
-
};
|
|
74
|
+
return { id: node.id, path: node.path, typeName: entry.typeName, props, raw: node };
|
|
64
75
|
},
|
|
65
76
|
async refresh() {
|
|
66
77
|
if (ctx.read === null)
|
|
@@ -72,6 +83,46 @@ export function createBoundNode(binder, entry, node, ctx) {
|
|
|
72
83
|
return binder.bind(entry.typeName, fresh, ctx);
|
|
73
84
|
},
|
|
74
85
|
};
|
|
75
|
-
|
|
86
|
+
const value = {
|
|
87
|
+
id: node.id,
|
|
88
|
+
path: node.path,
|
|
89
|
+
class: node.class,
|
|
90
|
+
typeName: entry.typeName,
|
|
91
|
+
props,
|
|
92
|
+
raw: node,
|
|
93
|
+
$: operations,
|
|
94
|
+
is: (type) => binder.implementsType(node.class, type),
|
|
95
|
+
};
|
|
96
|
+
for (const [name, operation] of Object.entries(operations)) {
|
|
97
|
+
if (!entry.methods.has(name))
|
|
98
|
+
value[name] = operation;
|
|
99
|
+
}
|
|
100
|
+
const dispatch = createKnownInstanceDispatch(ctx.caller ?? NO_CALLER, nodeRef(node), entry.methods, entry.kind === 'class' ? entry.typeName : undefined);
|
|
101
|
+
Object.assign(value, dispatch);
|
|
102
|
+
return value;
|
|
103
|
+
}
|
|
104
|
+
function mapPaged(page, bind) {
|
|
105
|
+
const mapped = {
|
|
106
|
+
nodes: page.nodes.map(bind),
|
|
107
|
+
get first() {
|
|
108
|
+
return mapped.nodes[0] ?? null;
|
|
109
|
+
},
|
|
110
|
+
async next() {
|
|
111
|
+
const next = await page.next();
|
|
112
|
+
return next ? mapPaged(next, bind) : null;
|
|
113
|
+
},
|
|
114
|
+
async all() {
|
|
115
|
+
const nodes = [];
|
|
116
|
+
for await (const node of mapped)
|
|
117
|
+
nodes.push(node);
|
|
118
|
+
return nodes;
|
|
119
|
+
},
|
|
120
|
+
cursor: () => page.cursor(),
|
|
121
|
+
async *[Symbol.asyncIterator]() {
|
|
122
|
+
for await (const child of page)
|
|
123
|
+
yield bind(child);
|
|
124
|
+
},
|
|
125
|
+
};
|
|
126
|
+
return mapped;
|
|
76
127
|
}
|
|
77
128
|
//# sourceMappingURL=bound-node.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bound-node.js","sourceRoot":"","sources":["../../../src/schema/bound/bound-node.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"bound-node.js","sourceRoot":"","sources":["../../../src/schema/bound/bound-node.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
export { createBoundNode } from './bound-node.js';
|
|
2
|
-
export type { AnyBoundNode, BoundNode, BoundSnapshot, EdgeNames, EndpointsOf, } from './bound-node.js';
|
|
2
|
+
export type { AnyBoundNode, BoundLinks, BoundNode, BoundNodeOperations, BoundPaged, BoundSnapshot, EdgeNames, EndpointsOf, } from './bound-node.js';
|
|
3
3
|
export { BindTypeMismatchError, createNodeBinder } from './binder.js';
|
|
4
4
|
export type { BindCtx, BindOptions, NodeBinder } from './binder.js';
|
|
5
5
|
export { resolveNeighbors } from '../../graph/query/traverse.js';
|
|
6
6
|
export { createSchemaBoundView, defaultCaller, normalizeRef } from './view.js';
|
|
7
|
-
export type { CreateSchemaBoundViewOpts, NodeRefInput, SchemaBoundView } from './view.js';
|
|
7
|
+
export type { ClassHandle, CreateSchemaBoundViewOpts, NodeRefInput, SchemaBoundView, SchemaClasses, } from './view.js';
|
|
8
8
|
export type { DefOf, TypeNames } from '../proxy-types.js';
|
|
9
9
|
export type { CreatableClassNames, CreateProps } from './write-props.js';
|
|
10
10
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/schema/bound/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AACjD,YAAY,EACV,YAAY,EACZ,SAAS,EACT,aAAa,EACb,SAAS,EACT,WAAW,GACZ,MAAM,iBAAiB,CAAA;AACxB,OAAO,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AACrE,YAAY,EAAE,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAA;AAChE,OAAO,EAAE,qBAAqB,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAC9E,YAAY,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/schema/bound/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AACjD,YAAY,EACV,YAAY,EACZ,UAAU,EACV,SAAS,EACT,mBAAmB,EACnB,UAAU,EACV,aAAa,EACb,SAAS,EACT,WAAW,GACZ,MAAM,iBAAiB,CAAA;AACxB,OAAO,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AACrE,YAAY,EAAE,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAA;AAChE,OAAO,EAAE,qBAAqB,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAC9E,YAAY,EACV,WAAW,EACX,yBAAyB,EACzB,YAAY,EACZ,eAAe,EACf,aAAa,GACd,MAAM,WAAW,CAAA;AAClB,YAAY,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AACzD,YAAY,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/schema/bound/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/schema/bound/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAWjD,OAAO,EAAE,qBAAqB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAErE,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAA;AAChE,OAAO,EAAE,qBAAqB,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA"}
|
|
@@ -2,47 +2,43 @@ import type { CredentialInput, Node, PathLike } from '@astrale-os/kernel-core';
|
|
|
2
2
|
import type { Schema } from '@astrale-os/kernel-dsl';
|
|
3
3
|
import type { FnMap } from '../../client/fn-map.js';
|
|
4
4
|
import type { BoundClientSessionView } from '../../session/types.js';
|
|
5
|
-
import type {
|
|
5
|
+
import type { DefOf, InstanceDispatch, ProxyCaller, StaticDispatch, TypeNames } from '../proxy-types.js';
|
|
6
6
|
import type { BindOptions } from './binder.js';
|
|
7
7
|
import type { AnyBoundNode, BoundNode } from './bound-node.js';
|
|
8
8
|
import type { CreatableClassNames, CreateProps } from './write-props.js';
|
|
9
9
|
/** `@id`, a tree path, a typed Path — or a bare node id (interpreted as `@<id>`). */
|
|
10
10
|
export type NodeRefInput = PathLike;
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
export
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
11
|
+
export type ClassHandle<S extends Schema, K extends TypeNames<S>> = {
|
|
12
|
+
(ref: NodeRefInput): InstanceDispatch<DefOf<S, K>>;
|
|
13
|
+
get(ref: NodeRefInput, opts?: BindOptions): Promise<BoundNode<DefOf<S, K>, S> | null>;
|
|
14
|
+
get(refs: readonly NodeRefInput[], opts?: BindOptions): Promise<(BoundNode<DefOf<S, K>, S> | null)[]>;
|
|
15
|
+
} & StaticDispatch<DefOf<S, K>>;
|
|
16
|
+
export type SchemaClasses<S extends Schema> = {
|
|
17
|
+
[K in TypeNames<S>]: ClassHandle<S, K>;
|
|
18
|
+
};
|
|
19
|
+
/** A credential-bound kernel session with schema-derived nodes and dispatch. */
|
|
20
|
+
export interface SchemaBoundView<S extends Schema, M extends FnMap = FnMap> extends BoundClientSessionView<M> {
|
|
21
|
+
readonly classes: SchemaClasses<S>;
|
|
20
22
|
node<T extends TypeNames<S>>(type: T, ref: NodeRefInput, opts?: BindOptions): Promise<BoundNode<DefOf<S, T>, S> | null>;
|
|
21
|
-
/** Batched multi-ref read — ONE `function.get`, order-preserving, `null` per miss. */
|
|
22
23
|
node<T extends TypeNames<S>>(type: T, refs: readonly NodeRefInput[], opts?: BindOptions): Promise<(BoundNode<DefOf<S, T>, S> | null)[]>;
|
|
23
|
-
/**
|
|
24
|
+
/** Create a concrete node and bind the minted result without an extra read. */
|
|
24
25
|
create<T extends CreatableClassNames<S>>(type: T, at: NodeRefInput, props: CreateProps<DefOf<S, T>>): Promise<BoundNode<DefOf<S, T>, S>>;
|
|
25
|
-
/** Adopt a
|
|
26
|
+
/** Adopt a node already in hand — zero reads. */
|
|
26
27
|
bind<T extends TypeNames<S>>(type: T, node: Node, opts?: BindOptions): BoundNode<DefOf<S, T>, S>;
|
|
27
|
-
/** Classless adoption; `.is()` to upgrade. */
|
|
28
28
|
bindAny(node: Node): AnyBoundNode<S>;
|
|
29
|
-
/** The untyped `BoundClientSessionView` — COMPOSED, not extended. No name collisions. */
|
|
30
29
|
readonly raw: BoundClientSessionView<M>;
|
|
31
30
|
readonly schema: S;
|
|
32
|
-
/** Fresh view, one principal, welded. Never mutates. */
|
|
33
31
|
as(credential: CredentialInput | (() => CredentialInput)): SchemaBoundView<S, M>;
|
|
32
|
+
withSchema<S2 extends Schema>(schema: S2): SchemaBoundView<S2, M>;
|
|
34
33
|
}
|
|
35
34
|
export type CreateSchemaBoundViewOpts<M extends FnMap> = {
|
|
36
|
-
/** SDK injection seam for audience-aware routing. Defaults to
|
|
35
|
+
/** SDK injection seam for audience-aware routing. Defaults to the bound session. */
|
|
37
36
|
makeDispatch?: (raw: BoundClientSessionView<M>) => ProxyCaller;
|
|
38
37
|
};
|
|
39
|
-
/**
|
|
38
|
+
/** Dispatch schema methods through a credential-bound session. */
|
|
40
39
|
export declare function defaultCaller<M extends FnMap>(view: BoundClientSessionView<M>): ProxyCaller;
|
|
41
|
-
/**
|
|
40
|
+
/** Preserve explicit paths; interpret a bare string as a node id. */
|
|
42
41
|
export declare function normalizeRef(ref: NodeRefInput): string;
|
|
43
|
-
/**
|
|
44
|
-
* Assemble the callable `SchemaBoundView` over a bound session view. The bare
|
|
45
|
-
* call is dispatch; `node/bind/bindAny/raw/schema/as` are named members.
|
|
46
|
-
*/
|
|
42
|
+
/** Build a schema-bound capability view without copying or forwarding a method list. */
|
|
47
43
|
export declare function createSchemaBoundView<S extends Schema, M extends FnMap>(view: BoundClientSessionView<M>, schema: S, opts?: CreateSchemaBoundViewOpts<M>): SchemaBoundView<S, M>;
|
|
48
44
|
//# sourceMappingURL=view.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"view.d.ts","sourceRoot":"","sources":["../../../src/schema/bound/view.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,IAAI,EAAU,QAAQ,EAAE,MAAM,yBAAyB,CAAA;AACtF,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAA;AAIpD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAA;AAEnD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAA;AACpE,OAAO,KAAK,EACV,
|
|
1
|
+
{"version":3,"file":"view.d.ts","sourceRoot":"","sources":["../../../src/schema/bound/view.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,19 @@
|
|
|
1
1
|
import { AbsolutePath, rawOf } from '@astrale-os/kernel-core';
|
|
2
|
-
import { createClassProxy } from '../class-proxy.js';
|
|
3
2
|
import { extractMethodsByType } from '../extract.js';
|
|
4
|
-
import {
|
|
3
|
+
import { createKnownInstanceDispatch, createKnownStaticDispatch } from '../known-dispatch.js';
|
|
5
4
|
import { createNodeBinder } from './binder.js';
|
|
6
|
-
|
|
5
|
+
const RESERVED_CLASS_HANDLE_MEMBERS = new Set([
|
|
6
|
+
'get',
|
|
7
|
+
'name',
|
|
8
|
+
'length',
|
|
9
|
+
'prototype',
|
|
10
|
+
'caller',
|
|
11
|
+
'arguments',
|
|
12
|
+
'apply',
|
|
13
|
+
'bind',
|
|
14
|
+
'call',
|
|
15
|
+
]);
|
|
16
|
+
/** Dispatch schema methods through a credential-bound session. */
|
|
7
17
|
export function defaultCaller(view) {
|
|
8
18
|
return (method, params, credential, callOpts) => {
|
|
9
19
|
const opts = {};
|
|
@@ -17,33 +27,34 @@ export function defaultCaller(view) {
|
|
|
17
27
|
opts.correlationId = callOpts.correlationId;
|
|
18
28
|
if (callOpts?.url !== undefined)
|
|
19
29
|
opts.url = callOpts.url;
|
|
30
|
+
if (callOpts?.delegation !== undefined)
|
|
31
|
+
opts.delegation = callOpts.delegation;
|
|
32
|
+
if (callOpts?.attestation !== undefined)
|
|
33
|
+
opts.attestation = callOpts.attestation;
|
|
34
|
+
if (callOpts?.skipDelegation !== undefined)
|
|
35
|
+
opts.skipDelegation = callOpts.skipDelegation;
|
|
36
|
+
if (callOpts?.maxHops !== undefined)
|
|
37
|
+
opts.maxHops = callOpts.maxHops;
|
|
38
|
+
if (callOpts?.self !== undefined)
|
|
39
|
+
opts.self = callOpts.self;
|
|
20
40
|
if (credential !== undefined)
|
|
21
41
|
opts.credential = credential;
|
|
22
42
|
return view.call(method, params, opts);
|
|
23
43
|
};
|
|
24
44
|
}
|
|
25
|
-
/**
|
|
45
|
+
/** Preserve explicit paths; interpret a bare string as a node id. */
|
|
26
46
|
export function normalizeRef(ref) {
|
|
27
47
|
if (typeof ref !== 'string')
|
|
28
48
|
return rawOf(ref);
|
|
29
49
|
return ref.startsWith('/') || ref.startsWith('@') || ref.startsWith(':') ? ref : `@${ref}`;
|
|
30
50
|
}
|
|
31
|
-
/**
|
|
32
|
-
* Assemble the callable `SchemaBoundView` over a bound session view. The bare
|
|
33
|
-
* call is dispatch; `node/bind/bindAny/raw/schema/as` are named members.
|
|
34
|
-
*/
|
|
51
|
+
/** Build a schema-bound capability view without copying or forwarding a method list. */
|
|
35
52
|
export function createSchemaBoundView(view, schema, opts) {
|
|
36
53
|
const caller = opts?.makeDispatch?.(view) ?? defaultCaller(view);
|
|
37
54
|
const binder = createNodeBinder(schema);
|
|
38
55
|
const methodsByType = extractMethodsByType(schema);
|
|
39
|
-
const
|
|
40
|
-
|
|
41
|
-
const methodsOf = (type) => methodsByType.get(type)?.methods;
|
|
42
|
-
const classHintOf = (type) => methodsByType.get(type)?.kind === 'class' ? type : undefined;
|
|
43
|
-
const dispatch = (type, ref) => ref === undefined
|
|
44
|
-
? createClassProxy(caller, schema.domain, type, asSet(methodsOf(type)))
|
|
45
|
-
: createInstanceProxy(caller, normalizeRef(ref), methodsOf(type), classHintOf(type));
|
|
46
|
-
async function node(type, refOrRefs, bindOpts) {
|
|
56
|
+
const ctx = { caller, read: view, write: view };
|
|
57
|
+
async function readNode(type, refOrRefs, bindOpts) {
|
|
47
58
|
if (Array.isArray(refOrRefs)) {
|
|
48
59
|
const refs = refOrRefs.map(normalizeRef);
|
|
49
60
|
const { graph } = await view.query((q) => q.from(...refs));
|
|
@@ -55,36 +66,49 @@ export function createSchemaBoundView(view, schema, opts) {
|
|
|
55
66
|
const found = await view.get(normalizeRef(refOrRefs));
|
|
56
67
|
return found ? binder.bind(type, found, ctx, bindOpts) : null;
|
|
57
68
|
}
|
|
58
|
-
async function create(type, at,
|
|
59
|
-
if (!ctx.write) {
|
|
60
|
-
throw new Error('SchemaBoundView.create is unavailable — this view has no write capability');
|
|
61
|
-
}
|
|
69
|
+
async function create(type, at, input) {
|
|
62
70
|
const classPath = binder.nodeClassPath(type);
|
|
63
|
-
const props = binder.resolveWriteProps(classPath,
|
|
64
|
-
const
|
|
65
|
-
const
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
71
|
+
const props = binder.resolveWriteProps(classPath, input);
|
|
72
|
+
const path = AbsolutePath.parse(rawOf(at));
|
|
73
|
+
const id = await view.createNode(classPath, at, props.write);
|
|
74
|
+
return binder.bind(type, { id: id, class: classPath, path, props: props.wire }, ctx);
|
|
75
|
+
}
|
|
76
|
+
const classes = Object.create(null);
|
|
77
|
+
const typeNames = new Set([...Object.keys(schema.interfaces), ...Object.keys(schema.classes)]);
|
|
78
|
+
for (const type of typeNames) {
|
|
79
|
+
const metadata = methodsByType.get(type);
|
|
80
|
+
if (!metadata)
|
|
81
|
+
continue;
|
|
82
|
+
for (const method of metadata.staticMethods) {
|
|
83
|
+
if (RESERVED_CLASS_HANDLE_MEMBERS.has(method)) {
|
|
84
|
+
throw new Error(`Static schema method '${type}.${method}' conflicts with a class handle`);
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
const classHint = metadata.kind === 'class' ? type : undefined;
|
|
88
|
+
const handle = (ref) => createKnownInstanceDispatch(caller, normalizeRef(ref), metadata.methods, classHint);
|
|
89
|
+
Object.assign(handle, createKnownStaticDispatch(caller, schema.domain, type, metadata.staticMethods), {
|
|
90
|
+
get: (refOrRefs, bindOpts) => readNode(type, refOrRefs, bindOpts),
|
|
91
|
+
});
|
|
92
|
+
classes[type] = handle;
|
|
74
93
|
}
|
|
75
|
-
const
|
|
76
|
-
|
|
94
|
+
const extension = {
|
|
95
|
+
classes: classes,
|
|
96
|
+
node: readNode,
|
|
77
97
|
create,
|
|
78
|
-
bind: (type,
|
|
79
|
-
bindAny: (
|
|
98
|
+
bind: (type, node, bindOpts) => binder.bind(type, node, ctx, bindOpts),
|
|
99
|
+
bindAny: (node) => binder.bindAny(node, ctx),
|
|
80
100
|
raw: view,
|
|
81
101
|
schema,
|
|
82
102
|
as: (credential) => createSchemaBoundView(view.as(credential), schema, opts),
|
|
103
|
+
withSchema: (next) => createSchemaBoundView(view, next, opts),
|
|
83
104
|
};
|
|
84
|
-
return
|
|
105
|
+
return extendCapabilities(view, extension);
|
|
85
106
|
}
|
|
86
|
-
|
|
87
|
-
function
|
|
88
|
-
|
|
107
|
+
/** Clone one plain capability object and overlay a typed extension. */
|
|
108
|
+
function extendCapabilities(base, extension) {
|
|
109
|
+
const result = Object.create(Object.getPrototypeOf(base));
|
|
110
|
+
Object.defineProperties(result, Object.getOwnPropertyDescriptors(base));
|
|
111
|
+
Object.defineProperties(result, Object.getOwnPropertyDescriptors(extension));
|
|
112
|
+
return result;
|
|
89
113
|
}
|
|
90
114
|
//# sourceMappingURL=view.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"view.js","sourceRoot":"","sources":["../../../src/schema/bound/view.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAA;
|
|
1
|
+
{"version":3,"file":"view.js","sourceRoot":"","sources":["../../../src/schema/bound/view.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,6 +2,9 @@ import type { ProxyCaller } from './proxy-types.js';
|
|
|
2
2
|
/**
|
|
3
3
|
* Create a typed Proxy for static methods on a class.
|
|
4
4
|
*
|
|
5
|
+
* Used to populate the static methods on t.classes.Type for direct static dispatch
|
|
6
|
+
* (t.classes.Type.staticMethod(params)).
|
|
7
|
+
*
|
|
5
8
|
* Uses an allow-list (knownMethods) — only actual static methods produce call thunks.
|
|
6
9
|
*/
|
|
7
10
|
export declare function createClassProxy(caller: ProxyCaller, domain: string, className: string, knownMethods?: Set<string>): unknown;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"class-proxy.d.ts","sourceRoot":"","sources":["../../src/schema/class-proxy.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAQnD
|
|
1
|
+
{"version":3,"file":"class-proxy.d.ts","sourceRoot":"","sources":["../../src/schema/class-proxy.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAQnD;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,WAAW,EACnB,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,YAAY,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,GACzB,OAAO,CA+BT"}
|
|
@@ -6,6 +6,9 @@ import { resolveCallArgs } from './call-args.js';
|
|
|
6
6
|
/**
|
|
7
7
|
* Create a typed Proxy for static methods on a class.
|
|
8
8
|
*
|
|
9
|
+
* Used to populate the static methods on t.classes.Type for direct static dispatch
|
|
10
|
+
* (t.classes.Type.staticMethod(params)).
|
|
11
|
+
*
|
|
9
12
|
* Uses an allow-list (knownMethods) — only actual static methods produce call thunks.
|
|
10
13
|
*/
|
|
11
14
|
export function createClassProxy(caller, domain, className, knownMethods) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"class-proxy.js","sourceRoot":"","sources":["../../src/schema/class-proxy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,gCAAgC,CAAA;AAKhE,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAEhD,+EAA+E;AAC/E,iFAAiF;AACjF,8EAA8E;AAE9E
|
|
1
|
+
{"version":3,"file":"class-proxy.js","sourceRoot":"","sources":["../../src/schema/class-proxy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,gCAAgC,CAAA;AAKhE,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAEhD,+EAA+E;AAC/E,iFAAiF;AACjF,8EAA8E;AAE9E;;;;;;;GAOG;AACH,MAAM,UAAU,gBAAgB,CAC9B,MAAmB,EACnB,MAAc,EACd,SAAiB,EACjB,YAA0B;IAE1B,OAAO,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;QACpC,GAAG,CAAC,OAAO,EAAE,IAAI;YACf,IAAI,OAAO,IAAI,KAAK,QAAQ;gBAAE,OAAO,SAAS,CAAA;YAC9C,IAAI,YAAY,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC;gBAAE,OAAO,SAAS,CAAA;YAE7D,OAAO,CAAC,YAAsB,EAAE,SAA4B,EAAE,EAAE;gBAC9D,8DAA8D;gBAC9D,kDAAkD;gBAClD,MAAM,QAAQ,GAAG,UAAU,CAAC,IAAI,CAAC;oBAC/B,MAAM;oBACN,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,QAAQ,EAAE;oBACjD,UAAU,EAAE,OAAO;oBACnB,MAAM,EAAE,IAAI;iBACb,CAAC,CAAC,GAAG,CAAA;gBACN,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,eAAe,CAAC,YAAY,EAAE,SAAS,CAAC,CAAA;gBAE/D,OAAO,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE;oBAChD,OAAO,EAAE,IAAI,EAAE,OAAO;oBACtB,MAAM,EAAE,IAAI,EAAE,MAAM;oBACpB,aAAa,EAAE,IAAI,EAAE,aAAa;oBAClC,GAAG,EAAE,IAAI,EAAE,GAAG;oBACd,UAAU,EAAE,IAAI,EAAE,UAAU;oBAC5B,WAAW,EAAE,IAAI,EAAE,WAAW;oBAC9B,cAAc,EAAE,IAAI,EAAE,cAAc;oBACpC,OAAO,EAAE,IAAI,EAAE,OAAO;oBACtB,IAAI,EAAE,IAAI,EAAE,IAAI;iBACjB,CAAC,CAAA;YACJ,CAAC,CAAA;QACH,CAAC;KACF,CAAC,CAAA;AACJ,CAAC"}
|
package/dist/schema/extract.d.ts
CHANGED
|
@@ -9,7 +9,10 @@ export declare function extractMethodsByClass(schema: Schema): Map<string, Set<s
|
|
|
9
9
|
/** Per-type method allow-list, keyed by class OR interface name. */
|
|
10
10
|
export interface TypeMethods {
|
|
11
11
|
readonly kind: 'class' | 'interface';
|
|
12
|
+
/** Non-static methods available on an addressed instance. */
|
|
12
13
|
readonly methods: ReadonlySet<string>;
|
|
14
|
+
/** Static methods available directly on a class handle. */
|
|
15
|
+
readonly staticMethods: ReadonlySet<string>;
|
|
13
16
|
}
|
|
14
17
|
/**
|
|
15
18
|
* Method names per type name — classes AND interfaces (the def-keyed allow-list
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extract.d.ts","sourceRoot":"","sources":["../../src/schema/extract.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAA;AAIpD;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAS9E;AAED,oEAAoE;AACpE,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,IAAI,EAAE,OAAO,GAAG,WAAW,CAAA;IACpC,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"extract.d.ts","sourceRoot":"","sources":["../../src/schema/extract.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,wBAAwB,CAAA;AAIpD;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAS9E;AAED,oEAAoE;AACpE,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,IAAI,EAAE,OAAO,GAAG,WAAW,CAAA;IACpC,6DAA6D;IAC7D,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;IACrC,2DAA2D;IAC3D,QAAQ,CAAC,aAAa,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;CAC5C;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAa7E"}
|
package/dist/schema/extract.js
CHANGED
|
@@ -22,11 +22,24 @@ export function extractMethodsByClass(schema) {
|
|
|
22
22
|
export function extractMethodsByType(schema) {
|
|
23
23
|
const byType = new Map();
|
|
24
24
|
for (const [name, def] of Object.entries(schema.interfaces)) {
|
|
25
|
-
|
|
25
|
+
const methods = splitMethods(def);
|
|
26
|
+
byType.set(name, { kind: 'interface', ...methods });
|
|
26
27
|
}
|
|
27
28
|
for (const [name, def] of Object.entries(schema.classes)) {
|
|
28
|
-
|
|
29
|
+
const methods = splitMethods(def);
|
|
30
|
+
byType.set(name, { kind: 'class', ...methods });
|
|
29
31
|
}
|
|
30
32
|
return byType;
|
|
31
33
|
}
|
|
34
|
+
function splitMethods(def) {
|
|
35
|
+
const instance = new Set();
|
|
36
|
+
const statics = new Set();
|
|
37
|
+
for (const [name, method] of Object.entries(resolveAllMethods(def))) {
|
|
38
|
+
if (method.config.static === true)
|
|
39
|
+
statics.add(name);
|
|
40
|
+
else
|
|
41
|
+
instance.add(name);
|
|
42
|
+
}
|
|
43
|
+
return { methods: instance, staticMethods: statics };
|
|
44
|
+
}
|
|
32
45
|
//# sourceMappingURL=extract.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extract.js","sourceRoot":"","sources":["../../src/schema/extract.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAE1D;;;;;GAKG;AACH,MAAM,UAAU,qBAAqB,CAAC,MAAc;IAClD,MAAM,cAAc,GAAG,IAAI,GAAG,EAAuB,CAAA;IAErD,KAAK,MAAM,CAAC,SAAS,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;QAC9D,MAAM,OAAO,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAA;QACtC,cAAc,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;IAC9D,CAAC;IAED,OAAO,cAAc,CAAA;AACvB,CAAC;
|
|
1
|
+
{"version":3,"file":"extract.js","sourceRoot":"","sources":["../../src/schema/extract.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAA;AAE1D;;;;;GAKG;AACH,MAAM,UAAU,qBAAqB,CAAC,MAAc;IAClD,MAAM,cAAc,GAAG,IAAI,GAAG,EAAuB,CAAA;IAErD,KAAK,MAAM,CAAC,SAAS,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;QAC9D,MAAM,OAAO,GAAG,iBAAiB,CAAC,GAAG,CAAC,CAAA;QACtC,cAAc,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;IAC9D,CAAC;IAED,OAAO,cAAc,CAAA;AACvB,CAAC;AAWD;;;;;GAKG;AACH,MAAM,UAAU,oBAAoB,CAAC,MAAc;IACjD,MAAM,MAAM,GAAG,IAAI,GAAG,EAAuB,CAAA;IAE7C,KAAK,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,CAAC;QAC5D,MAAM,OAAO,GAAG,YAAY,CAAC,GAAG,CAAC,CAAA;QACjC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,GAAG,OAAO,EAAE,CAAC,CAAA;IACrD,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;QACzD,MAAM,OAAO,GAAG,YAAY,CAAC,GAAG,CAAC,CAAA;QACjC,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,OAAO,EAAE,CAAC,CAAA;IACjD,CAAC;IAED,OAAO,MAAM,CAAA;AACf,CAAC;AAED,SAAS,YAAY,CAAC,GAA4C;IAIhE,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAA;IAClC,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAA;IACjC,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;QACpE,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,KAAK,IAAI;YAAE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;;YAC/C,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;IACzB,CAAC;IACD,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,OAAO,EAAE,CAAA;AACtD,CAAC"}
|
package/dist/schema/index.d.ts
CHANGED
|
@@ -4,6 +4,7 @@ export { createClassProxy } from './class-proxy.js';
|
|
|
4
4
|
export { createNodeProxy, createInstanceProxy } from './node-proxy.js';
|
|
5
5
|
export { resolveMethodKey } from './resolve.js';
|
|
6
6
|
export { resolveCallArgs } from './call-args.js';
|
|
7
|
+
export { createKnownInstanceDispatch, createKnownStaticDispatch } from './known-dispatch.js';
|
|
7
8
|
export { extractMethodsByClass, extractMethodsByType } from './extract.js';
|
|
8
9
|
export type { TypeMethods } from './extract.js';
|
|
9
10
|
export { toFunctionSchemas } from './from-entries.js';
|
|
@@ -11,5 +12,5 @@ export type { FunctionSchema } from './types.js';
|
|
|
11
12
|
export type { SchemaPersistence } from './persistence.js';
|
|
12
13
|
export type { ClassNames, ClassProxy, DefOf, InstanceDispatch, NodeProxy, ProxyCallOptions, ProxyCaller, SchemaTypedClient, StaticDispatch, TypeNames, } from './proxy-types.js';
|
|
13
14
|
export { BindTypeMismatchError, createBoundNode, createNodeBinder, createSchemaBoundView, defaultCaller, resolveNeighbors, normalizeRef, } from './bound/index.js';
|
|
14
|
-
export type { AnyBoundNode, BindCtx, BindOptions, BoundNode, BoundSnapshot, CreatableClassNames, CreateProps, CreateSchemaBoundViewOpts, EdgeNames, EndpointsOf, NodeBinder, NodeRefInput, SchemaBoundView, } from './bound/index.js';
|
|
15
|
+
export type { AnyBoundNode, BindCtx, BindOptions, BoundLinks, BoundNode, BoundNodeOperations, BoundPaged, BoundSnapshot, ClassHandle, CreatableClassNames, CreateProps, CreateSchemaBoundViewOpts, EdgeNames, EndpointsOf, NodeBinder, NodeRefInput, SchemaBoundView, SchemaClasses, } from './bound/index.js';
|
|
15
16
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/schema/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AACrE,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAA;AACtE,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAChD,OAAO,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAA;AAC1E,YAAY,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AACrD,YAAY,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAChD,YAAY,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AACzD,YAAY,EACV,UAAU,EACV,UAAU,EACV,KAAK,EACL,gBAAgB,EAChB,SAAS,EACT,gBAAgB,EAChB,WAAW,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/schema/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AACrE,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAA;AACtE,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAChD,OAAO,EAAE,2BAA2B,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAA;AAC5F,OAAO,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAA;AAC1E,YAAY,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAC/C,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AACrD,YAAY,EAAE,cAAc,EAAE,MAAM,YAAY,CAAA;AAChD,YAAY,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AACzD,YAAY,EACV,UAAU,EACV,UAAU,EACV,KAAK,EACL,gBAAgB,EAChB,SAAS,EACT,gBAAgB,EAChB,WAAW,EAGX,iBAAiB,EACjB,cAAc,EACd,SAAS,GACV,MAAM,kBAAkB,CAAA;AAGzB,OAAO,EACL,qBAAqB,EACrB,eAAe,EACf,gBAAgB,EAChB,qBAAqB,EACrB,aAAa,EACb,gBAAgB,EAChB,YAAY,GACb,MAAM,kBAAkB,CAAA;AACzB,YAAY,EACV,YAAY,EACZ,OAAO,EACP,WAAW,EACX,UAAU,EACV,SAAS,EACT,mBAAmB,EACnB,UAAU,EACV,aAAa,EACb,WAAW,EACX,mBAAmB,EACnB,WAAW,EACX,yBAAyB,EACzB,SAAS,EACT,WAAW,EACX,UAAU,EACV,YAAY,EACZ,eAAe,EACf,aAAa,GACd,MAAM,kBAAkB,CAAA"}
|
package/dist/schema/index.js
CHANGED
|
@@ -4,6 +4,7 @@ export { createClassProxy } from './class-proxy.js';
|
|
|
4
4
|
export { createNodeProxy, createInstanceProxy } from './node-proxy.js';
|
|
5
5
|
export { resolveMethodKey } from './resolve.js';
|
|
6
6
|
export { resolveCallArgs } from './call-args.js';
|
|
7
|
+
export { createKnownInstanceDispatch, createKnownStaticDispatch } from './known-dispatch.js';
|
|
7
8
|
export { extractMethodsByClass, extractMethodsByType } from './extract.js';
|
|
8
9
|
export { toFunctionSchemas } from './from-entries.js';
|
|
9
10
|
// ─── Schema-bound surface (SchemaBoundView / BoundNode / binder) ────────────
|
package/dist/schema/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/schema/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AACrE,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAA;AACtE,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAChD,OAAO,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAA;AAE1E,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/schema/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AACrE,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAA;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAA;AACnD,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAA;AACtE,OAAO,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAC/C,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAChD,OAAO,EAAE,2BAA2B,EAAE,yBAAyB,EAAE,MAAM,qBAAqB,CAAA;AAC5F,OAAO,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAA;AAE1E,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAkBrD,+EAA+E;AAC/E,OAAO,EACL,qBAAqB,EACrB,eAAe,EACf,gBAAgB,EAChB,qBAAqB,EACrB,aAAa,EACb,gBAAgB,EAChB,YAAY,GACb,MAAM,kBAAkB,CAAA"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { InstanceDispatch, ProxyCaller, StaticDispatch } from './proxy-types.js';
|
|
2
|
+
/** Known instance methods as an ordinary object — no property proxy. */
|
|
3
|
+
export declare function createKnownInstanceDispatch<D>(caller: ProxyCaller, selfRaw: string, methods: ReadonlySet<string>, classHint?: string): InstanceDispatch<D>;
|
|
4
|
+
/** Known static methods as an ordinary object — no prototype proxy. */
|
|
5
|
+
export declare function createKnownStaticDispatch<D>(caller: ProxyCaller, domain: string, className: string, methods: ReadonlySet<string>): StaticDispatch<D>;
|
|
6
|
+
//# sourceMappingURL=known-dispatch.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"known-dispatch.d.ts","sourceRoot":"","sources":["../../src/schema/known-dispatch.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,gBAAgB,EAEhB,WAAW,EACX,cAAc,EACf,MAAM,kBAAkB,CAAA;AAmCzB,wEAAwE;AACxE,wBAAgB,2BAA2B,CAAC,CAAC,EAC3C,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,WAAW,CAAC,MAAM,CAAC,EAC5B,SAAS,CAAC,EAAE,MAAM,GACjB,gBAAgB,CAAC,CAAC,CAAC,CAQrB;AAED,uEAAuE;AACvE,wBAAgB,yBAAyB,CAAC,CAAC,EACzC,MAAM,EAAE,WAAW,EACnB,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,WAAW,CAAC,MAAM,CAAC,GAC3B,cAAc,CAAC,CAAC,CAAC,CAYnB"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { toPath } from '@astrale-os/kernel-core';
|
|
2
|
+
import { InstanceMethodPath, MethodPath, Ref } from '@astrale-os/kernel-core/domain';
|
|
3
|
+
import { resolveCallArgs } from './call-args.js';
|
|
4
|
+
/** Materialize the finite method record described by a schema definition. */
|
|
5
|
+
function createDispatch(caller, methods, pathFor, classHint) {
|
|
6
|
+
return Object.fromEntries([...methods].map((method) => [
|
|
7
|
+
method,
|
|
8
|
+
(paramsOrOpts, maybeOpts) => {
|
|
9
|
+
const [params, opts] = resolveCallArgs(paramsOrOpts, maybeOpts);
|
|
10
|
+
return caller(pathFor(method), params, opts?.credential, {
|
|
11
|
+
timeout: opts?.timeout,
|
|
12
|
+
signal: opts?.signal,
|
|
13
|
+
...(classHint !== undefined ? { class: classHint } : {}),
|
|
14
|
+
correlationId: opts?.correlationId,
|
|
15
|
+
url: opts?.url,
|
|
16
|
+
delegation: opts?.delegation,
|
|
17
|
+
attestation: opts?.attestation,
|
|
18
|
+
skipDelegation: opts?.skipDelegation,
|
|
19
|
+
maxHops: opts?.maxHops,
|
|
20
|
+
self: opts?.self,
|
|
21
|
+
});
|
|
22
|
+
},
|
|
23
|
+
]));
|
|
24
|
+
}
|
|
25
|
+
/** Known instance methods as an ordinary object — no property proxy. */
|
|
26
|
+
export function createKnownInstanceDispatch(caller, selfRaw, methods, classHint) {
|
|
27
|
+
const source = toPath(selfRaw);
|
|
28
|
+
return createDispatch(caller, methods, (method) => InstanceMethodPath.from(source, method).raw, classHint);
|
|
29
|
+
}
|
|
30
|
+
/** Known static methods as an ordinary object — no prototype proxy. */
|
|
31
|
+
export function createKnownStaticDispatch(caller, domain, className, methods) {
|
|
32
|
+
return createDispatch(caller, methods, (method) => MethodPath.from({
|
|
33
|
+
domain,
|
|
34
|
+
member: Ref.member('class', className).toString(),
|
|
35
|
+
memberKind: 'class',
|
|
36
|
+
method,
|
|
37
|
+
}).raw);
|
|
38
|
+
}
|
|
39
|
+
//# sourceMappingURL=known-dispatch.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"known-dispatch.js","sourceRoot":"","sources":["../../src/schema/known-dispatch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAChD,OAAO,EAAE,kBAAkB,EAAE,UAAU,EAAE,GAAG,EAAE,MAAM,gCAAgC,CAAA;AASpF,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAIhD,6EAA6E;AAC7E,SAAS,cAAc,CACrB,MAAmB,EACnB,OAA4B,EAC5B,OAAmC,EACnC,SAAkB;IAElB,OAAO,MAAM,CAAC,WAAW,CACvB,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC;QAC3B,MAAM;QACN,CAAC,YAAsB,EAAE,SAA4B,EAAE,EAAE;YACvD,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,eAAe,CAAC,YAAY,EAAE,SAAS,CAAC,CAAA;YAC/D,OAAO,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE;gBACvD,OAAO,EAAE,IAAI,EAAE,OAAO;gBACtB,MAAM,EAAE,IAAI,EAAE,MAAM;gBACpB,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;gBACxD,aAAa,EAAE,IAAI,EAAE,aAAa;gBAClC,GAAG,EAAE,IAAI,EAAE,GAAG;gBACd,UAAU,EAAE,IAAI,EAAE,UAAU;gBAC5B,WAAW,EAAE,IAAI,EAAE,WAAW;gBAC9B,cAAc,EAAE,IAAI,EAAE,cAAc;gBACpC,OAAO,EAAE,IAAI,EAAE,OAAO;gBACtB,IAAI,EAAE,IAAI,EAAE,IAAI;aACjB,CAAC,CAAA;QACJ,CAAC;KACF,CAAC,CACH,CAAA;AACH,CAAC;AAED,wEAAwE;AACxE,MAAM,UAAU,2BAA2B,CACzC,MAAmB,EACnB,OAAe,EACf,OAA4B,EAC5B,SAAkB;IAElB,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,CAAA;IAC9B,OAAO,cAAc,CACnB,MAAM,EACN,OAAO,EACP,CAAC,MAAM,EAAE,EAAE,CAAC,kBAAkB,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAAG,EACvD,SAAS,CACa,CAAA;AAC1B,CAAC;AAED,uEAAuE;AACvE,MAAM,UAAU,yBAAyB,CACvC,MAAmB,EACnB,MAAc,EACd,SAAiB,EACjB,OAA4B;IAE5B,OAAO,cAAc,CACnB,MAAM,EACN,OAAO,EACP,CAAC,MAAM,EAAE,EAAE,CACT,UAAU,CAAC,IAAI,CAAC;QACd,MAAM;QACN,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,QAAQ,EAAE;QACjD,UAAU,EAAE,OAAO;QACnB,MAAM;KACP,CAAC,CAAC,GAAG,CACY,CAAA;AACxB,CAAC"}
|
|
@@ -11,6 +11,9 @@ export declare function createNodeProxy(caller: ProxyCaller, className: string,
|
|
|
11
11
|
* (`@id`, a tree path, or any parseable `Path`). The wire address is
|
|
12
12
|
* `<selfRaw>::method` — class-free, so interface-keyed dispatch is legal.
|
|
13
13
|
*
|
|
14
|
+
* Used for address-only dispatch (t.classes.Type(ref)) and mixed onto BoundNode
|
|
15
|
+
* for direct method calls (node.method()).
|
|
16
|
+
*
|
|
14
17
|
* `classHint` is threaded onto the call opts only when known (concrete class);
|
|
15
18
|
* interface dispatch omits it, exactly as the wire allows.
|
|
16
19
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node-proxy.d.ts","sourceRoot":"","sources":["../../src/schema/node-proxy.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAoB,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAIrE;;;;;GAKG;AACH,wBAAgB,eAAe,CAC7B,MAAM,EAAE,WAAW,EACnB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,YAAY,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,GACzB,OAAO,CA2BT;AAED
|
|
1
|
+
{"version":3,"file":"node-proxy.d.ts","sourceRoot":"","sources":["../../src/schema/node-proxy.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAoB,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAIrE;;;;;GAKG;AACH,wBAAgB,eAAe,CAC7B,MAAM,EAAE,WAAW,EACnB,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,YAAY,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,GACzB,OAAO,CA2BT;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,mBAAmB,CACjC,MAAM,EAAE,WAAW,EACnB,OAAO,EAAE,MAAM,EACf,YAAY,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,EAClC,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CA2BT"}
|
|
@@ -39,6 +39,9 @@ export function createNodeProxy(caller, className, nodeId, knownMethods) {
|
|
|
39
39
|
* (`@id`, a tree path, or any parseable `Path`). The wire address is
|
|
40
40
|
* `<selfRaw>::method` — class-free, so interface-keyed dispatch is legal.
|
|
41
41
|
*
|
|
42
|
+
* Used for address-only dispatch (t.classes.Type(ref)) and mixed onto BoundNode
|
|
43
|
+
* for direct method calls (node.method()).
|
|
44
|
+
*
|
|
42
45
|
* `classHint` is threaded onto the call opts only when known (concrete class);
|
|
43
46
|
* interface dispatch omits it, exactly as the wire allows.
|
|
44
47
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node-proxy.js","sourceRoot":"","sources":["../../src/schema/node-proxy.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAA;AAInE,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAEhD;;;;;GAKG;AACH,MAAM,UAAU,eAAe,CAC7B,MAAmB,EACnB,SAAiB,EACjB,MAAc,EACd,YAA0B;IAE1B,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,MAAgB,CAAC,CAAA;IAE5C,OAAO,IAAI,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;QACpC,GAAG,CAAC,OAAO,EAAE,IAAI;YACf,IAAI,OAAO,IAAI,KAAK,QAAQ;gBAAE,OAAO,SAAS,CAAA;YAC9C,IAAI,YAAY,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC;gBAAE,OAAO,SAAS,CAAA;YAE7D,OAAO,CAAC,YAAsB,EAAE,SAA4B,EAAE,EAAE;gBAC9D,MAAM,QAAQ,GAAG,kBAAkB,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC,GAAG,CAAA;gBAC1D,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,GAAG,eAAe,CAAC,YAAY,EAAE,SAAS,CAAC,CAAA;gBAE/D,OAAO,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE;oBAChD,OAAO,EAAE,IAAI,EAAE,OAAO;oBACtB,MAAM,EAAE,IAAI,EAAE,MAAM;oBACpB,KAAK,EAAE,SAAS;oBAChB,aAAa,EAAE,IAAI,EAAE,aAAa;oBAClC,GAAG,EAAE,IAAI,EAAE,GAAG;oBACd,UAAU,EAAE,IAAI,EAAE,UAAU;oBAC5B,WAAW,EAAE,IAAI,EAAE,WAAW;oBAC9B,cAAc,EAAE,IAAI,EAAE,cAAc;oBACpC,OAAO,EAAE,IAAI,EAAE,OAAO;oBACtB,IAAI,EAAE,IAAI,EAAE,IAAI;iBACjB,CAAC,CAAA;YACJ,CAAC,CAAA;QACH,CAAC;KACF,CAAC,CAAA;AACJ,CAAC;AAED
|
|
1
|
+
{"version":3,"file":"node-proxy.js","sourceRoot":"","sources":["../../src/schema/node-proxy.ts"],"names":[],"mappings":"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"}
|
|
@@ -47,14 +47,16 @@ type Simplify<T> = {
|
|
|
47
47
|
};
|
|
48
48
|
/** Infer runtime param type from a method's params. */
|
|
49
49
|
type MethodParams<D, M extends string> = Simplify<InferParams<ExtractMethodParams<D, M>>>;
|
|
50
|
-
/** True when the method
|
|
51
|
-
type
|
|
50
|
+
/** True when the method declares no parameters at all. */
|
|
51
|
+
type HasNoParams<P> = keyof P extends never ? true : false;
|
|
52
|
+
/** True when every declared parameter is optional. */
|
|
53
|
+
type HasOnlyOptionalParams<P> = {} extends P ? true : false;
|
|
52
54
|
/**
|
|
53
55
|
* Call signature for a single method.
|
|
54
56
|
* Empty-params: (opts?) => Promise<R>
|
|
55
57
|
* With params: (params, opts?) => Promise<R>
|
|
56
58
|
*/
|
|
57
|
-
type MethodCall<D, M extends string> =
|
|
59
|
+
type MethodCall<D, M extends string> = HasNoParams<MethodParams<D, M>> extends true ? (opts?: ProxyCallOptions) => Promise<ExtractMethodReturnValue<D, M>> : HasOnlyOptionalParams<MethodParams<D, M>> extends true ? (paramsOrOpts?: MethodParams<D, M> | ProxyCallOptions, opts?: ProxyCallOptions) => Promise<ExtractMethodReturnValue<D, M>> : (params: MethodParams<D, M>, opts?: ProxyCallOptions) => Promise<ExtractMethodReturnValue<D, M>>;
|
|
58
60
|
/** Instance-method proxy over a def — the unit `view(type, ref)` and `BoundNode.call` return. */
|
|
59
61
|
export type InstanceDispatch<D> = {
|
|
60
62
|
[M in InstanceMethodNames<D>]: MethodCall<D, M & string>;
|
|
@@ -66,11 +68,13 @@ export type StaticDispatch<D> = {
|
|
|
66
68
|
/**
|
|
67
69
|
* Typed proxy for a node instance — exposes non-static methods.
|
|
68
70
|
* Legacy alias, now derived from {@link InstanceDispatch}.
|
|
71
|
+
* @deprecated prefer the .classes surface and direct methods on BoundNode
|
|
69
72
|
*/
|
|
70
73
|
export type NodeProxy<S extends Schema, K extends string> = InstanceDispatch<DefOf<S, K>>;
|
|
71
74
|
/**
|
|
72
75
|
* Typed proxy for static methods — no node instance needed.
|
|
73
76
|
* Legacy alias, now derived from {@link StaticDispatch}.
|
|
77
|
+
* @deprecated prefer the .classes surface
|
|
74
78
|
*/
|
|
75
79
|
export type ClassProxy<S extends Schema, K extends string> = StaticDispatch<DefOf<S, K>>;
|
|
76
80
|
export type ProxyCallOptions = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"proxy-types.d.ts","sourceRoot":"","sources":["../../src/schema/proxy-types.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"proxy-types.d.ts","sourceRoot":"","sources":["../../src/schema/proxy-types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@astrale-os/kernel-client",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.5",
|
|
4
4
|
"description": "Unified kernel client — protocol-first, transport-agnostic",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"astrale",
|
|
@@ -58,9 +58,9 @@
|
|
|
58
58
|
"dependencies": {
|
|
59
59
|
"@tanstack/pacer": "^0.20.0",
|
|
60
60
|
"dequal": "2.0.3",
|
|
61
|
-
"@astrale-os/kernel-
|
|
62
|
-
"@astrale-os/kernel-
|
|
63
|
-
"@astrale-os/kernel-
|
|
61
|
+
"@astrale-os/kernel-dsl": "^0.1.4",
|
|
62
|
+
"@astrale-os/kernel-api": "^0.4.12",
|
|
63
|
+
"@astrale-os/kernel-core": "^0.7.4"
|
|
64
64
|
},
|
|
65
65
|
"devDependencies": {
|
|
66
66
|
"@astrale/typescript-config": "npm:@jsr/astrale__typescript-config@~1.1.0",
|
|
@@ -74,7 +74,7 @@
|
|
|
74
74
|
"vitest": "^3.1.4",
|
|
75
75
|
"ws": "^8.18.0",
|
|
76
76
|
"zod": "^4.3.6",
|
|
77
|
-
"@astrale-os/kernel-server": "^0.4.
|
|
77
|
+
"@astrale-os/kernel-server": "^0.4.11"
|
|
78
78
|
},
|
|
79
79
|
"scripts": {
|
|
80
80
|
"build": "tsgo",
|