@astrale-os/kernel-client 0.4.4 → 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.
Files changed (42) hide show
  1. package/dist/index.d.ts +2 -2
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +2 -0
  4. package/dist/index.js.map +1 -1
  5. package/dist/schema/bound/binder.d.ts +1 -1
  6. package/dist/schema/bound/binder.d.ts.map +1 -1
  7. package/dist/schema/bound/binder.js +5 -1
  8. package/dist/schema/bound/binder.js.map +1 -1
  9. package/dist/schema/bound/bound-node.d.ts +61 -48
  10. package/dist/schema/bound/bound-node.d.ts.map +1 -1
  11. package/dist/schema/bound/bound-node.js +83 -32
  12. package/dist/schema/bound/bound-node.js.map +1 -1
  13. package/dist/schema/bound/index.d.ts +2 -2
  14. package/dist/schema/bound/index.d.ts.map +1 -1
  15. package/dist/schema/bound/index.js.map +1 -1
  16. package/dist/schema/bound/view.d.ts +19 -23
  17. package/dist/schema/bound/view.d.ts.map +1 -1
  18. package/dist/schema/bound/view.js +63 -39
  19. package/dist/schema/bound/view.js.map +1 -1
  20. package/dist/schema/class-proxy.d.ts +3 -0
  21. package/dist/schema/class-proxy.d.ts.map +1 -1
  22. package/dist/schema/class-proxy.js +3 -0
  23. package/dist/schema/class-proxy.js.map +1 -1
  24. package/dist/schema/extract.d.ts +3 -0
  25. package/dist/schema/extract.d.ts.map +1 -1
  26. package/dist/schema/extract.js +15 -2
  27. package/dist/schema/extract.js.map +1 -1
  28. package/dist/schema/index.d.ts +2 -1
  29. package/dist/schema/index.d.ts.map +1 -1
  30. package/dist/schema/index.js +1 -0
  31. package/dist/schema/index.js.map +1 -1
  32. package/dist/schema/known-dispatch.d.ts +6 -0
  33. package/dist/schema/known-dispatch.d.ts.map +1 -0
  34. package/dist/schema/known-dispatch.js +39 -0
  35. package/dist/schema/known-dispatch.js.map +1 -0
  36. package/dist/schema/node-proxy.d.ts +3 -0
  37. package/dist/schema/node-proxy.d.ts.map +1 -1
  38. package/dist/schema/node-proxy.js +3 -0
  39. package/dist/schema/node-proxy.js.map +1 -1
  40. package/dist/schema/proxy-types.d.ts +7 -3
  41. package/dist/schema/proxy-types.d.ts.map +1 -1
  42. package/package.json +3 -3
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, SchemaTypedClient, StaticDispatch, TypeNames, } from './schema/proxy-types.js';
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';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
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;AAa5D,4DAA4D;AAC5D,OAAO,EACL,qBAAqB,EACrB,eAAe,EACf,gBAAgB,EAChB,qBAAqB,EACrB,aAAa,EACb,gBAAgB,EAChB,YAAY,GACb,MAAM,yBAAyB,CAAA;AAgBhC,iEAAiE;AACjE,OAAO,EACL,eAAe,EACf,QAAQ,EACR,UAAU,EACV,aAAa,EACb,MAAM,EACN,QAAQ,GACT,MAAM,kBAAkB,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;IAC5C,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;AAID,wBAAgB,gBAAgB,CAAC,CAAC,SAAS,MAAM,EAAE,MAAM,EAAE,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CAqN3E"}
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 = { kind: 'class', methods: new Set() };
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":"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"}
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
- /** Inert value for pure `core/` functions — no session, no methods. */
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
- * A client capability wrapping a PURE kernel-core `Node` (`raw`, never mutated).
16
- * A snapshot, never live — `refresh()` mints a new one.
17
- *
18
- * `D` is the def (class or interface) it was bound as; `S` is the schema's type
19
- * universe, needed by `is`/`out`/`in`. `S` defaults so SDK/docs can say `BoundNode<D>`.
20
- */
21
- export interface BoundNode<D, S extends Schema = Schema> {
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
- /** Typed instance dispatch on this node — address-only, no read. */
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
- * ONE concrete classless type — deliberately NOT the all-classes union.
48
- * `is()` is the only door back into typed land.
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":"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"}
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 { createInstanceProxy } from '../node-proxy.js';
3
- const NO_CALLER = () => Promise.reject(new Error('BoundNode.call is unavailable — this view has no dispatch capability'));
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((n) => binder.bindEndpoint(n, ctx));
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 self = {
36
- id: node.id,
37
- path: node.path,
38
- class: node.class,
39
- typeName: entry.typeName,
40
- props: props,
41
- raw: node,
42
- get call() {
43
- return (callProxy ??= createInstanceProxy(ctx.caller ?? NO_CALLER, nodeRef(node), entry.methods, entry.kind === 'class' ? entry.typeName : undefined));
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
- is(type) {
52
- return binder.implementsType(node.class, type);
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
- return self;
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":"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"}
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,EAAE,yBAAyB,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,WAAW,CAAA;AACzF,YAAY,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AACzD,YAAY,EAAE,mBAAmB,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA"}
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;AAQjD,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"}
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 { ClassNames, DefOf, InstanceDispatch, ProxyCaller, StaticDispatch, TypeNames } from '../proxy-types.js';
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
- * The callable schema-bound surface. The BARE CALL is dispatch:
13
- * view(type) → statics (concrete classes only — wire needs a class path)
14
- * view(type, ref) → instance methods, read-free (interfaces allowed — wire is `@id::method`)
15
- */
16
- export interface SchemaBoundView<S extends Schema, M extends FnMap = FnMap> {
17
- <T extends ClassNames<S>>(type: T): StaticDispatch<DefOf<S, T>>;
18
- <T extends TypeNames<S>>(type: T, ref: NodeRefInput): InstanceDispatch<DefOf<S, T>>;
19
- /** Typed read. ALWAYS two-arg — `raw.get` is the untyped read shorthand. */
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
- /** Typed create for concrete node classes; returns a bound node without an extra read. */
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 Node in hand — zero reads. Class mismatch throws `BindTypeMismatchError`. */
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 dispatch through the view. */
35
+ /** SDK injection seam for audience-aware routing. Defaults to the bound session. */
37
36
  makeDispatch?: (raw: BoundClientSessionView<M>) => ProxyCaller;
38
37
  };
39
- /** A `ProxyCaller` that dispatches through a bound view's `call`. */
38
+ /** Dispatch schema methods through a credential-bound session. */
40
39
  export declare function defaultCaller<M extends FnMap>(view: BoundClientSessionView<M>): ProxyCaller;
41
- /** `@id`/tree-path/`:member` verbatim; a typed Path → its raw; anything else → `@<id>`. */
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":"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"}
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 { createInstanceProxy } from '../node-proxy.js';
3
+ import { createKnownInstanceDispatch, createKnownStaticDispatch } from '../known-dispatch.js';
5
4
  import { createNodeBinder } from './binder.js';
6
- /** A `ProxyCaller` that dispatches through a bound view's `call`. */
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
- /** `@id`/tree-path/`:member` verbatim; a typed Path → its raw; anything else → `@<id>`. */
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 hasWrite = typeof view.createNode === 'function' && typeof view.updateNode === 'function';
40
- const ctx = { caller, read: view, write: hasWrite ? view : null };
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, createProps) {
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, createProps);
64
- const rawAt = rawOf(at);
65
- const path = AbsolutePath.parse(rawAt);
66
- const id = await ctx.write.createNode(classPath, at, props.write);
67
- const node = {
68
- id: id,
69
- class: classPath,
70
- path,
71
- props: props.wire,
72
- };
73
- return binder.bind(type, node, ctx);
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 members = {
76
- node,
94
+ const extension = {
95
+ classes: classes,
96
+ node: readNode,
77
97
  create,
78
- bind: (type, n, bindOpts) => binder.bind(type, n, ctx, bindOpts),
79
- bindAny: (n) => binder.bindAny(n, ctx),
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 Object.assign(dispatch, members);
105
+ return extendCapabilities(view, extension);
85
106
  }
86
- // `createClassProxy` still takes a mutable `Set`; the allow-list is read-only here.
87
- function asSet(methods) {
88
- return methods ? new Set(methods) : undefined;
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":"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"}
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;AAgB7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,eAAe,CAAA;AACpD,OAAO,EAAE,2BAA2B,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAA;AAC7F,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAE9C,MAAM,6BAA6B,GAAG,IAAI,GAAG,CAAC;IAC5C,KAAK;IACL,MAAM;IACN,QAAQ;IACR,WAAW;IACX,QAAQ;IACR,WAAW;IACX,OAAO;IACP,MAAM;IACN,MAAM;CACP,CAAC,CAAA;AA0DF,kEAAkE;AAClE,MAAM,UAAU,aAAa,CAAkB,IAA+B;IAC5E,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,EAAE;QAC9C,MAAM,IAAI,GAA6B,EAAE,CAAA;QACzC,IAAI,QAAQ,EAAE,OAAO,KAAK,SAAS;YAAE,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAA;QACpE,IAAI,QAAQ,EAAE,MAAM,KAAK,SAAS;YAAE,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAA;QACjE,IAAI,QAAQ,EAAE,KAAK,KAAK,SAAS;YAAE,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAA;QAC9D,IAAI,QAAQ,EAAE,aAAa,KAAK,SAAS;YAAE,IAAI,CAAC,aAAa,GAAG,QAAQ,CAAC,aAAa,CAAA;QACtF,IAAI,QAAQ,EAAE,GAAG,KAAK,SAAS;YAAE,IAAI,CAAC,GAAG,GAAG,QAAQ,CAAC,GAAG,CAAA;QACxD,IAAI,QAAQ,EAAE,UAAU,KAAK,SAAS;YAAE,IAAI,CAAC,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAA;QAC7E,IAAI,QAAQ,EAAE,WAAW,KAAK,SAAS;YAAE,IAAI,CAAC,WAAW,GAAG,QAAQ,CAAC,WAAW,CAAA;QAChF,IAAI,QAAQ,EAAE,cAAc,KAAK,SAAS;YAAE,IAAI,CAAC,cAAc,GAAG,QAAQ,CAAC,cAAc,CAAA;QACzF,IAAI,QAAQ,EAAE,OAAO,KAAK,SAAS;YAAE,IAAI,CAAC,OAAO,GAAG,QAAQ,CAAC,OAAO,CAAA;QACpE,IAAI,QAAQ,EAAE,IAAI,KAAK,SAAS;YAAE,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAA;QAC3D,IAAI,UAAU,KAAK,SAAS;YAAE,IAAI,CAAC,UAAU,GAAG,UAAU,CAAA;QAC1D,OAAO,IAAI,CAAC,IAAI,CAAC,MAAe,EAAE,MAAe,EAAE,IAAI,CAAC,CAAA;IAC1D,CAAC,CAAA;AACH,CAAC;AAED,qEAAqE;AACrE,MAAM,UAAU,YAAY,CAAC,GAAiB;IAC5C,IAAI,OAAO,GAAG,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC,GAAG,CAAC,CAAA;IAC9C,OAAO,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,CAAA;AAC5F,CAAC;AAED,wFAAwF;AACxF,MAAM,UAAU,qBAAqB,CACnC,IAA+B,EAC/B,MAAS,EACT,IAAmC;IAEnC,MAAM,MAAM,GAAG,IAAI,EAAE,YAAY,EAAE,CAAC,IAAI,CAAC,IAAI,aAAa,CAAC,IAAI,CAAC,CAAA;IAChE,MAAM,MAAM,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAA;IACvC,MAAM,aAAa,GAAG,oBAAoB,CAAC,MAAM,CAAC,CAAA;IAClD,MAAM,GAAG,GAAY,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAA;IAExD,KAAK,UAAU,QAAQ,CACrB,IAAkB,EAClB,SAAiD,EACjD,QAAsB;QAEtB,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;YAC7B,MAAM,IAAI,GAAG,SAAS,CAAC,GAAG,CAAC,YAAY,CAAC,CAAA;YACxC,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,CAAC,CAAA;YAC1D,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;gBACtB,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;gBAClC,OAAO,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;YAC/D,CAAC,CAAC,CAAA;QACJ,CAAC;QACD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,SAAyB,CAAC,CAAC,CAAA;QACrE,OAAO,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;IAC/D,CAAC;IAED,KAAK,UAAU,MAAM,CACnB,IAA4B,EAC5B,EAAgB,EAChB,KAAwC;QAExC,MAAM,SAAS,GAAG,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,CAAA;QAC5C,MAAM,KAAK,GAAG,MAAM,CAAC,iBAAiB,CAAC,SAAS,EAAE,KAAK,CAAC,CAAA;QACxD,MAAM,IAAI,GAAG,YAAY,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAA;QAC1C,MAAM,EAAE,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,EAAE,EAAE,KAAK,CAAC,KAAK,CAAC,CAAA;QAC5D,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,EAAY,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE,EAAE,GAAG,CAAC,CAAA;IAChG,CAAC;IAED,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAA4B,CAAA;IAC9D,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAA;IAC9F,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;QAC7B,MAAM,QAAQ,GAAG,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;QACxC,IAAI,CAAC,QAAQ;YAAE,SAAQ;QACvB,KAAK,MAAM,MAAM,IAAI,QAAQ,CAAC,aAAa,EAAE,CAAC;YAC5C,IAAI,6BAA6B,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC9C,MAAM,IAAI,KAAK,CAAC,yBAAyB,IAAI,IAAI,MAAM,iCAAiC,CAAC,CAAA;YAC3F,CAAC;QACH,CAAC;QACD,MAAM,SAAS,GAAG,QAAQ,CAAC,IAAI,KAAK,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAA;QAC9D,MAAM,MAAM,GAAG,CAAC,GAAiB,EAAE,EAAE,CACnC,2BAA2B,CAAC,MAAM,EAAE,YAAY,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC,OAAO,EAAE,SAAS,CAAC,CAAA;QACrF,MAAM,CAAC,MAAM,CACX,MAAM,EACN,yBAAyB,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,QAAQ,CAAC,aAAa,CAAC,EAC9E;YACE,GAAG,EAAE,CAAC,SAAiD,EAAE,QAAsB,EAAE,EAAE,CACjF,QAAQ,CAAC,IAAoB,EAAE,SAAS,EAAE,QAAQ,CAAC;SACtD,CACF,CAAA;QACD,OAAO,CAAC,IAAI,CAAC,GAAG,MAAM,CAAA;IACxB,CAAC;IAED,MAAM,SAAS,GAAG;QAChB,OAAO,EAAE,OAA2B;QACpC,IAAI,EAAE,QAAQ;QACd,MAAM;QACN,IAAI,EAAE,CAAC,IAAkB,EAAE,IAAU,EAAE,QAAsB,EAAE,EAAE,CAC/D,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,QAAQ,CAAC;QACxC,OAAO,EAAE,CAAC,IAAU,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC;QAClD,GAAG,EAAE,IAAI;QACT,MAAM;QACN,EAAE,EAAE,CAAC,UAAqD,EAAE,EAAE,CAC5D,qBAAqB,CAAC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC;QAC1D,UAAU,EAAE,CAAoB,IAAQ,EAAE,EAAE,CAAC,qBAAqB,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC;KACrF,CAAA;IAED,OAAO,kBAAkB,CAAC,IAAI,EAAE,SAAS,CAA0B,CAAA;AACrE,CAAC;AAED,uEAAuE;AACvE,SAAS,kBAAkB,CACzB,IAAU,EACV,SAAoB;IAEpB,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,CAAqB,CAAA;IAC7E,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,MAAM,CAAC,yBAAyB,CAAC,IAAI,CAAC,CAAC,CAAA;IACvE,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,MAAM,CAAC,yBAAyB,CAAC,SAAS,CAAC,CAAC,CAAA;IAC5E,OAAO,MAAM,CAAA;AACf,CAAC"}
@@ -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;;;;GAIG;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"}
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;;;;GAIG;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"}
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"}
@@ -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;CACtC;AAED;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAW7E"}
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"}
@@ -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
- byType.set(name, { kind: 'interface', methods: new Set(Object.keys(resolveAllMethods(def))) });
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
- byType.set(name, { kind: 'class', methods: new Set(Object.keys(resolveAllMethods(def))) });
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;AAQD;;;;;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,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;IAChG,CAAC;IACD,KAAK,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;QACzD,MAAM,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;IAC5F,CAAC;IAED,OAAO,MAAM,CAAA;AACf,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"}
@@ -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,EACX,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,SAAS,EACT,aAAa,EACb,mBAAmB,EACnB,WAAW,EACX,yBAAyB,EACzB,SAAS,EACT,WAAW,EACX,UAAU,EACV,YAAY,EACZ,eAAe,GAChB,MAAM,kBAAkB,CAAA"}
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"}
@@ -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) ────────────
@@ -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;AAgBrD,+EAA+E;AAC/E,OAAO,EACL,qBAAqB,EACrB,eAAe,EACf,gBAAgB,EAChB,qBAAqB,EACrB,aAAa,EACb,gBAAgB,EAChB,YAAY,GACb,MAAM,kBAAkB,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;;;;;;;GAOG;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"}
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":"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"}
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;;;;;;;;;;GAUG;AACH,MAAM,UAAU,mBAAmB,CACjC,MAAmB,EACnB,OAAe,EACf,YAAkC,EAClC,SAAkB;IAElB,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,CAAA;IAE9B,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,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;oBACxD,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"}
@@ -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 takes no required params — callable with no args. */
51
- type IsEmptyParams<P> = {} extends P ? true : false;
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> = IsEmptyParams<MethodParams<D, M>> extends true ? (opts?: ProxyCallOptions) => Promise<ExtractMethodReturnValue<D, M>> : (params: MethodParams<D, M>, opts?: ProxyCallOptions) => Promise<ExtractMethodReturnValue<D, M>>;
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.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-dsl": "^0.1.4",
61
62
  "@astrale-os/kernel-api": "^0.4.12",
62
- "@astrale-os/kernel-core": "^0.7.4",
63
- "@astrale-os/kernel-dsl": "^0.1.4"
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",