@astrale-os/kernel-client 0.3.1 → 0.4.1

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 (100) hide show
  1. package/dist/auth/api.d.ts +2 -1
  2. package/dist/auth/api.d.ts.map +1 -1
  3. package/dist/auth/api.js +13 -1
  4. package/dist/auth/api.js.map +1 -1
  5. package/dist/auth/defaults.d.ts +3 -0
  6. package/dist/auth/defaults.d.ts.map +1 -0
  7. package/dist/auth/defaults.js +3 -0
  8. package/dist/auth/defaults.js.map +1 -0
  9. package/dist/auth/index.d.ts +2 -0
  10. package/dist/auth/index.d.ts.map +1 -1
  11. package/dist/auth/index.js +1 -0
  12. package/dist/auth/index.js.map +1 -1
  13. package/dist/auth/minting.d.ts.map +1 -1
  14. package/dist/auth/minting.js +2 -6
  15. package/dist/auth/minting.js.map +1 -1
  16. package/dist/auth/shorthands.d.ts +19 -0
  17. package/dist/auth/shorthands.d.ts.map +1 -0
  18. package/dist/auth/shorthands.js +27 -0
  19. package/dist/auth/shorthands.js.map +1 -0
  20. package/dist/graph/api.d.ts +3 -0
  21. package/dist/graph/api.d.ts.map +1 -1
  22. package/dist/graph/api.js +2 -0
  23. package/dist/graph/api.js.map +1 -1
  24. package/dist/graph/index.d.ts +2 -0
  25. package/dist/graph/index.d.ts.map +1 -1
  26. package/dist/graph/index.js +1 -0
  27. package/dist/graph/index.js.map +1 -1
  28. package/dist/graph/reconcile/execute.d.ts +8 -0
  29. package/dist/graph/reconcile/execute.d.ts.map +1 -0
  30. package/dist/graph/reconcile/execute.js +56 -0
  31. package/dist/graph/reconcile/execute.js.map +1 -0
  32. package/dist/graph/reconcile/index.d.ts +5 -0
  33. package/dist/graph/reconcile/index.d.ts.map +1 -0
  34. package/dist/graph/reconcile/index.js +3 -0
  35. package/dist/graph/reconcile/index.js.map +1 -0
  36. package/dist/graph/reconcile/input.d.ts +80 -0
  37. package/dist/graph/reconcile/input.d.ts.map +1 -0
  38. package/dist/graph/reconcile/input.js +5 -0
  39. package/dist/graph/reconcile/input.js.map +1 -0
  40. package/dist/graph/reconcile/normalize.d.ts +3 -0
  41. package/dist/graph/reconcile/normalize.d.ts.map +1 -0
  42. package/dist/graph/reconcile/normalize.js +144 -0
  43. package/dist/graph/reconcile/normalize.js.map +1 -0
  44. package/dist/graph/reconcile/result.d.ts +19 -0
  45. package/dist/graph/reconcile/result.d.ts.map +1 -0
  46. package/dist/graph/reconcile/result.js +95 -0
  47. package/dist/graph/reconcile/result.js.map +1 -0
  48. package/dist/graph/reconcile/scope.d.ts +6 -0
  49. package/dist/graph/reconcile/scope.d.ts.map +1 -0
  50. package/dist/graph/reconcile/scope.js +69 -0
  51. package/dist/graph/reconcile/scope.js.map +1 -0
  52. package/dist/schema/class-proxy.d.ts.map +1 -1
  53. package/dist/schema/class-proxy.js +5 -0
  54. package/dist/schema/class-proxy.js.map +1 -1
  55. package/dist/schema/node-proxy.d.ts.map +1 -1
  56. package/dist/schema/node-proxy.js +10 -0
  57. package/dist/schema/node-proxy.js.map +1 -1
  58. package/dist/schema/proxy-types.d.ts +8 -2
  59. package/dist/schema/proxy-types.d.ts.map +1 -1
  60. package/dist/session/bound.d.ts +2 -2
  61. package/dist/session/bound.d.ts.map +1 -1
  62. package/dist/session/bound.js +12 -7
  63. package/dist/session/bound.js.map +1 -1
  64. package/dist/session/client-session.d.ts +2 -2
  65. package/dist/session/client-session.d.ts.map +1 -1
  66. package/dist/session/client-session.js +63 -32
  67. package/dist/session/client-session.js.map +1 -1
  68. package/dist/session/config.d.ts +8 -1
  69. package/dist/session/config.d.ts.map +1 -1
  70. package/dist/session/delegation/cache.d.ts +13 -6
  71. package/dist/session/delegation/cache.d.ts.map +1 -1
  72. package/dist/session/delegation/cache.js +13 -15
  73. package/dist/session/delegation/cache.js.map +1 -1
  74. package/dist/session/delegation/utils.d.ts +4 -0
  75. package/dist/session/delegation/utils.d.ts.map +1 -0
  76. package/dist/session/delegation/utils.js +12 -0
  77. package/dist/session/delegation/utils.js.map +1 -0
  78. package/dist/session/delegation-mint.d.ts +4 -4
  79. package/dist/session/delegation-mint.d.ts.map +1 -1
  80. package/dist/session/delegation-mint.js +23 -15
  81. package/dist/session/delegation-mint.js.map +1 -1
  82. package/dist/session/dispatch-routes.d.ts +27 -0
  83. package/dist/session/dispatch-routes.d.ts.map +1 -0
  84. package/dist/session/dispatch-routes.js +77 -0
  85. package/dist/session/dispatch-routes.js.map +1 -0
  86. package/dist/session/forward.d.ts +5 -4
  87. package/dist/session/forward.d.ts.map +1 -1
  88. package/dist/session/forward.js +11 -15
  89. package/dist/session/forward.js.map +1 -1
  90. package/dist/session/index.d.ts +2 -0
  91. package/dist/session/index.d.ts.map +1 -1
  92. package/dist/session/index.js +1 -0
  93. package/dist/session/index.js.map +1 -1
  94. package/dist/session/types.d.ts +6 -1
  95. package/dist/session/types.d.ts.map +1 -1
  96. package/dist/store/memory.d.ts +3 -1
  97. package/dist/store/memory.d.ts.map +1 -1
  98. package/dist/store/memory.js +23 -0
  99. package/dist/store/memory.js.map +1 -1
  100. package/package.json +4 -4
@@ -0,0 +1,144 @@
1
+ import { AbsolutePath, isConflictStrategy, isReconcileEntityPolicy, rawOf, toEdgeKey, } from '@astrale-os/kernel-core';
2
+ import { DEFAULT_CLIENT_RECONCILE_POLICY } from './input';
3
+ export function normalizeReconcileInput(input) {
4
+ if (input.integrity !== undefined && Object.keys(input.integrity).length > 0) {
5
+ throw new Error('graph.reconcile: client v0 does not support integrity constraints');
6
+ }
7
+ const scope = normalizeScope(input);
8
+ const policy = normalizePolicy(input.policy);
9
+ const nodeConflictByPath = new Map();
10
+ const edgeConflictByKey = new Map();
11
+ const nodePaths = new Set();
12
+ const edgeKeys = new Set();
13
+ const specNodePaths = [];
14
+ const specEdgeClasses = new Set();
15
+ const nodes = (input.spec.nodes ?? []).map((node) => {
16
+ const path = normalizeAbsolute(node.path, 'spec node path');
17
+ if (nodePaths.has(path))
18
+ throw new Error(`graph.reconcile: duplicate spec node path "${path}"`);
19
+ nodePaths.add(path);
20
+ specNodePaths.push(path);
21
+ assertInScope(path, scope.roots, scope.depth, 'spec node path');
22
+ const cls = rawOf(node.class);
23
+ assertClassAllowed(cls, scope.classes, 'spec node class');
24
+ if (node.onConflict !== undefined) {
25
+ assertConflictStrategy(node.onConflict, 'spec node onConflict');
26
+ nodeConflictByPath.set(path, node.onConflict);
27
+ }
28
+ return {
29
+ class: cls,
30
+ path,
31
+ props: { ...node.props },
32
+ };
33
+ });
34
+ const edges = (input.spec.edges ?? []).map((edge) => {
35
+ const cls = rawOf(edge.class);
36
+ assertClassAllowed(cls, scope.classes, 'spec edge class');
37
+ const source = normalizeAbsolute(edge.source, 'spec edge source');
38
+ assertInScope(source, scope.roots, scope.depth, 'spec edge source');
39
+ const target = normalizeAbsolute(edge.target, 'spec edge target');
40
+ const normalized = {
41
+ class: cls,
42
+ source,
43
+ ...(edge.slug !== undefined ? { slug: edge.slug } : {}),
44
+ target,
45
+ props: { ...edge.props },
46
+ };
47
+ const key = toEdgeKey(normalized);
48
+ if (edgeKeys.has(key))
49
+ throw new Error(`graph.reconcile: duplicate spec edge identity "${key}"`);
50
+ edgeKeys.add(key);
51
+ specEdgeClasses.add(cls);
52
+ if (edge.onConflict !== undefined) {
53
+ assertConflictStrategy(edge.onConflict, 'spec edge onConflict');
54
+ edgeConflictByKey.set(key, edge.onConflict);
55
+ }
56
+ return normalized;
57
+ });
58
+ return {
59
+ spec: { nodes, edges },
60
+ scope,
61
+ policy,
62
+ dryRun: input.dryRun === true,
63
+ nodeConflictByPath,
64
+ edgeConflictByKey,
65
+ specNodePaths,
66
+ specEdgeKeys: edgeKeys,
67
+ specEdgeClasses: [...specEdgeClasses],
68
+ };
69
+ }
70
+ function normalizeScope(input) {
71
+ const roots = input.scope.roots.map((root) => normalizeAbsolute(root, 'scope root'));
72
+ if (roots.length === 0)
73
+ throw new Error('graph.reconcile: scope.roots must be non-empty');
74
+ const depth = input.scope.depth ?? 0;
75
+ if (!Number.isInteger(depth) || depth < 0 || depth > 5) {
76
+ throw new Error('graph.reconcile: scope.depth must be an integer from 0 to 5');
77
+ }
78
+ const classes = input.scope.classes === undefined ? undefined : new Set(input.scope.classes.map(rawOf));
79
+ return { roots, depth, ...(classes !== undefined ? { classes } : {}) };
80
+ }
81
+ function normalizePolicy(input) {
82
+ const onConflict = input?.onConflict ?? DEFAULT_CLIENT_RECONCILE_POLICY.onConflict;
83
+ assertConflictStrategy(onConflict, 'policy.onConflict');
84
+ const onRemoved = {
85
+ nodes: input?.onRemoved?.nodes ?? DEFAULT_CLIENT_RECONCILE_POLICY.onRemoved.nodes,
86
+ edges: input?.onRemoved?.edges ?? DEFAULT_CLIENT_RECONCILE_POLICY.onRemoved.edges,
87
+ };
88
+ assertUntrackedPolicy(onRemoved, 'policy.onRemoved');
89
+ if (input?.onUntracked !== undefined)
90
+ assertUntrackedPolicy(input.onUntracked, 'policy.onUntracked');
91
+ return {
92
+ onConflict,
93
+ onRemoved,
94
+ ...(input?.onUntracked !== undefined ? { onUntracked: input.onUntracked } : {}),
95
+ };
96
+ }
97
+ function normalizeAbsolute(path, label) {
98
+ const raw = rawOf(path);
99
+ try {
100
+ AbsolutePath.parse(raw);
101
+ }
102
+ catch (error) {
103
+ throw new Error(`graph.reconcile: invalid ${label} "${raw}": ${error.message}`);
104
+ }
105
+ return raw;
106
+ }
107
+ function assertInScope(path, roots, depth, label) {
108
+ for (const root of roots) {
109
+ const distance = distanceFromRoot(path, root);
110
+ if (distance !== null && distance <= depth)
111
+ return;
112
+ }
113
+ throw new Error(`graph.reconcile: ${label} "${path}" is outside scope`);
114
+ }
115
+ function distanceFromRoot(path, root) {
116
+ const rootSegments = AbsolutePath.segments(root);
117
+ const pathSegments = AbsolutePath.segments(path);
118
+ if (pathSegments.length < rootSegments.length)
119
+ return null;
120
+ for (let i = 0; i < rootSegments.length; i++) {
121
+ if (pathSegments[i] !== rootSegments[i])
122
+ return null;
123
+ }
124
+ return pathSegments.length - rootSegments.length;
125
+ }
126
+ function assertClassAllowed(cls, classes, label) {
127
+ if (classes !== undefined && !classes.has(cls)) {
128
+ throw new Error(`graph.reconcile: ${label} "${cls}" is outside scope.classes`);
129
+ }
130
+ }
131
+ function assertConflictStrategy(value, label) {
132
+ if (!isConflictStrategy(value)) {
133
+ throw new Error(`graph.reconcile: unsupported ${label} "${String(value)}"`);
134
+ }
135
+ }
136
+ function assertUntrackedPolicy(policy, label) {
137
+ if (!isReconcileEntityPolicy(policy.nodes)) {
138
+ throw new Error(`graph.reconcile: unsupported ${label}.nodes "${String(policy.nodes)}"`);
139
+ }
140
+ if (!isReconcileEntityPolicy(policy.edges)) {
141
+ throw new Error(`graph.reconcile: unsupported ${label}.edges "${String(policy.edges)}"`);
142
+ }
143
+ }
144
+ //# sourceMappingURL=normalize.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"normalize.js","sourceRoot":"","sources":["../../../src/graph/reconcile/normalize.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ import type { MutationResult, NodeId, PatchData, PatchDataInput, PatchValidationResult } from '@astrale-os/kernel-core';
2
+ export interface ReconcileResult {
3
+ /** False only for dryRun or validation failure. */
4
+ applied: boolean;
5
+ /** PatchDataInput is the client/wire shape accepted by graph.mutate(). */
6
+ patch: PatchDataInput;
7
+ /** Path raw -> NodeId for every spec node that exists after apply. */
8
+ nodes: Record<string, NodeId>;
9
+ /** Existing function.mutate result. Undefined for dryRun. */
10
+ mutation?: MutationResult;
11
+ validation?: PatchValidationResult;
12
+ }
13
+ export declare const EMPTY_MUTATION_RESULT: MutationResult;
14
+ export declare function dryRunResult(patch: PatchDataInput, nodes: Record<string, NodeId>): ReconcileResult;
15
+ export declare function emptyApplyResult(patch: PatchDataInput, nodes: Record<string, NodeId>): ReconcileResult;
16
+ export declare function applyResult(patch: PatchDataInput, existingNodes: Record<string, NodeId>, mutation: MutationResult): ReconcileResult;
17
+ export declare function isPatchEmpty(patch: PatchDataInput): boolean;
18
+ export declare function toPatchInput(patch: PatchData): PatchDataInput;
19
+ //# sourceMappingURL=result.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"result.d.ts","sourceRoot":"","sources":["../../../src/graph/reconcile/result.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAIV,cAAc,EAGd,MAAM,EAEN,SAAS,EACT,cAAc,EACd,qBAAqB,EACtB,MAAM,yBAAyB,CAAA;AAIhC,MAAM,WAAW,eAAe;IAC9B,mDAAmD;IACnD,OAAO,EAAE,OAAO,CAAA;IAChB,0EAA0E;IAC1E,KAAK,EAAE,cAAc,CAAA;IACrB,sEAAsE;IACtE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC7B,6DAA6D;IAC7D,QAAQ,CAAC,EAAE,cAAc,CAAA;IACzB,UAAU,CAAC,EAAE,qBAAqB,CAAA;CACnC;AAED,eAAO,MAAM,qBAAqB,EAAE,cAGnC,CAAA;AAED,wBAAgB,YAAY,CAC1B,KAAK,EAAE,cAAc,EACrB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC5B,eAAe,CAEjB;AAED,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,cAAc,EACrB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC5B,eAAe,CAEjB;AAED,wBAAgB,WAAW,CACzB,KAAK,EAAE,cAAc,EACrB,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACrC,QAAQ,EAAE,cAAc,GACvB,eAAe,CAOjB;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,cAAc,GAAG,OAAO,CAW3D;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,SAAS,GAAG,cAAc,CAO7D"}
@@ -0,0 +1,95 @@
1
+ import { rawOf } from '@astrale-os/kernel-core';
2
+ export const EMPTY_MUTATION_RESULT = {
3
+ createdNodes: {},
4
+ createdEdges: {},
5
+ };
6
+ export function dryRunResult(patch, nodes) {
7
+ return { applied: false, patch, nodes };
8
+ }
9
+ export function emptyApplyResult(patch, nodes) {
10
+ return { applied: true, patch, nodes, mutation: EMPTY_MUTATION_RESULT };
11
+ }
12
+ export function applyResult(patch, existingNodes, mutation) {
13
+ return {
14
+ applied: true,
15
+ patch,
16
+ mutation,
17
+ nodes: { ...existingNodes, ...mutation.createdNodes },
18
+ };
19
+ }
20
+ export function isPatchEmpty(patch) {
21
+ const nodes = patch.nodes;
22
+ const edges = patch.edges;
23
+ return ((nodes?.create?.length ?? 0) === 0 &&
24
+ (nodes?.update?.length ?? 0) === 0 &&
25
+ (nodes?.delete?.length ?? 0) === 0 &&
26
+ (edges?.create?.length ?? 0) === 0 &&
27
+ (edges?.update?.length ?? 0) === 0 &&
28
+ (edges?.delete?.length ?? 0) === 0);
29
+ }
30
+ export function toPatchInput(patch) {
31
+ const out = {};
32
+ const nodes = compactNodes(patch.nodes);
33
+ const edges = compactEdges(patch.edges);
34
+ if (nodes !== undefined)
35
+ out.nodes = nodes;
36
+ if (edges !== undefined)
37
+ out.edges = edges;
38
+ return out;
39
+ }
40
+ function compactNodes(nodes) {
41
+ const out = {};
42
+ if (nodes.create.length > 0)
43
+ out.create = nodes.create.map(wireNodeCreate);
44
+ if (nodes.update.length > 0)
45
+ out.update = nodes.update.map(wireNodeUpdate);
46
+ if (nodes.delete.length > 0)
47
+ out.delete = nodes.delete.map(wireNodeDelete);
48
+ return Object.keys(out).length === 0 ? undefined : out;
49
+ }
50
+ function compactEdges(edges) {
51
+ const out = {};
52
+ if (edges.create.length > 0)
53
+ out.create = edges.create.map(wireEdgeCreate);
54
+ if (edges.update.length > 0)
55
+ out.update = edges.update.map(wireEdgeUpdate);
56
+ if (edges.delete.length > 0)
57
+ out.delete = edges.delete.map(wireEdgeDelete);
58
+ return Object.keys(out).length === 0 ? undefined : out;
59
+ }
60
+ function wireNodeCreate(node) {
61
+ return { class: rawOf(node.class), at: rawOf(node.at), props: { ...node.props } };
62
+ }
63
+ function wireNodeUpdate(node) {
64
+ return { class: rawOf(node.class), path: rawOf(node.path), props: { ...node.props } };
65
+ }
66
+ function wireNodeDelete(node) {
67
+ return { class: rawOf(node.class), path: rawOf(node.path) };
68
+ }
69
+ function wireEdgeCreate(edge) {
70
+ return {
71
+ class: rawOf(edge.class),
72
+ source: rawOf(edge.source),
73
+ ...(edge.slug !== undefined ? { slug: edge.slug } : {}),
74
+ target: rawOf(edge.target),
75
+ props: { ...edge.props },
76
+ };
77
+ }
78
+ function wireEdgeUpdate(edge) {
79
+ return {
80
+ class: rawOf(edge.class),
81
+ source: rawOf(edge.source),
82
+ ...(edge.slug !== undefined ? { slug: edge.slug } : {}),
83
+ target: rawOf(edge.target),
84
+ props: { ...edge.props },
85
+ };
86
+ }
87
+ function wireEdgeDelete(edge) {
88
+ return {
89
+ class: rawOf(edge.class),
90
+ source: rawOf(edge.source),
91
+ ...(edge.slug !== undefined ? { slug: edge.slug } : {}),
92
+ target: rawOf(edge.target),
93
+ };
94
+ }
95
+ //# sourceMappingURL=result.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"result.js","sourceRoot":"","sources":["../../../src/graph/reconcile/result.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import type { EdgeKey, Graph, NodeId } from '@astrale-os/kernel-core';
2
+ import type { NormalizedReconcileInput } from './input';
3
+ export declare function filterOwnedBase(base: Graph, scope: NormalizedReconcileInput['scope'], specEdgeKeys: ReadonlySet<EdgeKey>): Graph;
4
+ export declare function resolveExistingSpecNodeIds(base: Graph, specNodePaths: readonly string[]): Record<string, NodeId>;
5
+ export declare function assertNoSpecClassMismatches(base: Graph, spec: NormalizedReconcileInput['spec']): void;
6
+ //# sourceMappingURL=scope.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scope.d.ts","sourceRoot":"","sources":["../../../src/graph/reconcile/scope.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAA;AAIrE,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,SAAS,CAAA;AAEvD,wBAAgB,eAAe,CAC7B,IAAI,EAAE,KAAK,EACX,KAAK,EAAE,wBAAwB,CAAC,OAAO,CAAC,EACxC,YAAY,EAAE,WAAW,CAAC,OAAO,CAAC,GACjC,KAAK,CAwBP;AAED,wBAAgB,0BAA0B,CACxC,IAAI,EAAE,KAAK,EACX,aAAa,EAAE,SAAS,MAAM,EAAE,GAC/B,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAOxB;AAED,wBAAgB,2BAA2B,CACzC,IAAI,EAAE,KAAK,EACX,IAAI,EAAE,wBAAwB,CAAC,MAAM,CAAC,GACrC,IAAI,CAWN"}
@@ -0,0 +1,69 @@
1
+ import { Graph as CoreGraph, rawOf, toEdgeKey } from '@astrale-os/kernel-core';
2
+ export function filterOwnedBase(base, scope, specEdgeKeys) {
3
+ const nodes = base.nodes.filter((node) => pathInScope(rawOf(node.path), scope.roots, scope.depth) &&
4
+ classAllowed(rawOf(node.class), scope.classes));
5
+ const nodeIds = new Set(nodes.map((node) => node.id));
6
+ const edges = base.edges.filter((edge) => {
7
+ if (specEdgeKeys.has(toEdgeKey(edge)))
8
+ return true;
9
+ if (!classAllowed(rawOf(edge.class), scope.classes))
10
+ return false;
11
+ const endpoints = base.endpoints(edge);
12
+ return (endpoints.source !== null &&
13
+ endpoints.target !== null &&
14
+ nodeIds.has(endpoints.source.id) &&
15
+ nodeIds.has(endpoints.target.id));
16
+ });
17
+ const aliases = base.aliases?.filter(([id]) => nodeIds.has(id));
18
+ return CoreGraph.from({
19
+ nodes,
20
+ edges,
21
+ ...(aliases !== undefined && aliases.length > 0 ? { aliases } : {}),
22
+ });
23
+ }
24
+ export function resolveExistingSpecNodeIds(base, specNodePaths) {
25
+ const nodes = {};
26
+ for (const path of specNodePaths) {
27
+ const existing = base.nodes.at(path);
28
+ if (existing !== undefined && existing !== null)
29
+ nodes[path] = existing.id;
30
+ }
31
+ return nodes;
32
+ }
33
+ export function assertNoSpecClassMismatches(base, spec) {
34
+ for (const node of spec.nodes) {
35
+ const existing = base.nodes.at(node.path);
36
+ if (existing === undefined || existing === null)
37
+ continue;
38
+ const existingClass = rawOf(existing.class);
39
+ if (existingClass !== node.class) {
40
+ throw new Error(`graph.reconcile: node path "${node.path}" already has class "${existingClass}", not "${node.class}"`);
41
+ }
42
+ }
43
+ }
44
+ function pathInScope(path, roots, depth) {
45
+ for (const root of roots) {
46
+ const distance = distanceFromRoot(path, root);
47
+ if (distance !== null && distance <= depth)
48
+ return true;
49
+ }
50
+ return false;
51
+ }
52
+ function distanceFromRoot(path, root) {
53
+ const rootParts = pathParts(root);
54
+ const pathPartsValue = pathParts(path);
55
+ if (pathPartsValue.length < rootParts.length)
56
+ return null;
57
+ for (let i = 0; i < rootParts.length; i++) {
58
+ if (pathPartsValue[i] !== rootParts[i])
59
+ return null;
60
+ }
61
+ return pathPartsValue.length - rootParts.length;
62
+ }
63
+ function pathParts(path) {
64
+ return path.split('/').filter(Boolean);
65
+ }
66
+ function classAllowed(cls, classes) {
67
+ return classes === undefined || classes.has(cls);
68
+ }
69
+ //# sourceMappingURL=scope.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scope.js","sourceRoot":"","sources":["../../../src/graph/reconcile/scope.ts"],"names":[],"mappings":"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"}
@@ -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,eAAe,CAAA;AAQhD;;;;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,CA0BT"}
1
+ {"version":3,"file":"class-proxy.d.ts","sourceRoot":"","sources":["../../src/schema/class-proxy.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAQhD;;;;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"}
@@ -30,6 +30,11 @@ export function createClassProxy(caller, domain, className, knownMethods) {
30
30
  signal: opts?.signal,
31
31
  correlationId: opts?.correlationId,
32
32
  url: opts?.url,
33
+ delegation: opts?.delegation,
34
+ attestation: opts?.attestation,
35
+ skipDelegation: opts?.skipDelegation,
36
+ maxHops: opts?.maxHops,
37
+ self: opts?.self,
33
38
  });
34
39
  };
35
40
  },
@@ -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,aAAa,CAAA;AAE7C,+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;iBACf,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,aAAa,CAAA;AAE7C,+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 +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,eAAe,CAAA;AAIlE;;;;;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,CAsBT;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,CAsBT"}
1
+ {"version":3,"file":"node-proxy.d.ts","sourceRoot":"","sources":["../../src/schema/node-proxy.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAoB,WAAW,EAAE,MAAM,eAAe,CAAA;AAIlE;;;;;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"}
@@ -24,6 +24,11 @@ export function createNodeProxy(caller, className, nodeId, knownMethods) {
24
24
  class: className,
25
25
  correlationId: opts?.correlationId,
26
26
  url: opts?.url,
27
+ delegation: opts?.delegation,
28
+ attestation: opts?.attestation,
29
+ skipDelegation: opts?.skipDelegation,
30
+ maxHops: opts?.maxHops,
31
+ self: opts?.self,
27
32
  });
28
33
  };
29
34
  },
@@ -54,6 +59,11 @@ export function createInstanceProxy(caller, selfRaw, knownMethods, classHint) {
54
59
  ...(classHint !== undefined ? { class: classHint } : {}),
55
60
  correlationId: opts?.correlationId,
56
61
  url: opts?.url,
62
+ delegation: opts?.delegation,
63
+ attestation: opts?.attestation,
64
+ skipDelegation: opts?.skipDelegation,
65
+ maxHops: opts?.maxHops,
66
+ self: opts?.self,
57
67
  });
58
68
  };
59
69
  },
@@ -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,aAAa,CAAA;AAE7C;;;;;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;iBACf,CAAC,CAAA;YACJ,CAAC,CAAA;QACH,CAAC;KACF,CAAC,CAAA;AACJ,CAAC;AAED;;;;;;;GAOG;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;iBACf,CAAC,CAAA;YACJ,CAAC,CAAA;QACH,CAAC;KACF,CAAC,CAAA;AACJ,CAAC"}
1
+ {"version":3,"file":"node-proxy.js","sourceRoot":"","sources":["../../src/schema/node-proxy.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import type { CredentialInput, z } from '@astrale-os/kernel-core';
2
+ import type { SelfIdentityExpr, UnresolvedIdentityExpr } from '@astrale-os/kernel-core/expression';
2
3
  import type { AllMethods, ExtractMethodNames, ExtractMethodParams, ExtractMethodReturnValue, Schema } from '@astrale-os/kernel-dsl';
3
- import type { CallOptions } from '../client/config';
4
4
  /**
5
5
  * Def lookup by type name — the def-keyed surface. Classes shadow same-named
6
6
  * interfaces (homonyms, e.g. kernel `Function`): deterministic, and mirrors the
@@ -87,6 +87,12 @@ export type ProxyCallOptions = {
87
87
  * (layer D) to retarget after a redirect.
88
88
  */
89
89
  url?: string;
90
+ class?: string;
91
+ delegation?: UnresolvedIdentityExpr;
92
+ attestation?: SelfIdentityExpr;
93
+ skipDelegation?: boolean;
94
+ maxHops?: number;
95
+ self?: string;
90
96
  };
91
97
  /**
92
98
  * A function that sends a method call through the client.
@@ -95,7 +101,7 @@ export type ProxyCallOptions = {
95
101
  * credential strategy. Proxies call this without knowing which
96
102
  * client type they're working with.
97
103
  */
98
- export type ProxyCaller = (method: string, params: Record<string, unknown>, credential?: CredentialInput, callOpts?: CallOptions) => Promise<unknown>;
104
+ export type ProxyCaller = (method: string, params: Record<string, unknown>, credential?: CredentialInput, callOpts?: ProxyCallOptions) => Promise<unknown>;
99
105
  /**
100
106
  * A KernelClient view bound to a specific schema.
101
107
  * Provides typed `node()` and `static()` without repeating the schema.
@@ -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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"}
@@ -1,11 +1,11 @@
1
1
  import type { CredentialInput } from '@astrale-os/kernel-core';
2
2
  import type { FnMap } from '../client/fn-map';
3
3
  import type { ClientSession } from './client-session';
4
- import type { BoundClientSessionView } from './types';
4
+ import type { BoundClientSessionOptions, BoundClientSessionView } from './types';
5
5
  /**
6
6
  * Credential-bound view over a `ClientSession`. Every dispatch primitive delegates
7
7
  * to the underlying ClientSession with `opts.credential` replaced by the captured
8
8
  * credential. `as(next)` returns a fresh view — rebindings don't mutate.
9
9
  */
10
- export declare function createBoundSessionView<M extends FnMap>(session: ClientSession<M>, credential: CredentialInput | (() => CredentialInput)): BoundClientSessionView<M>;
10
+ export declare function createBoundSessionView<M extends FnMap>(session: ClientSession<M>, credential: CredentialInput | (() => CredentialInput), opts?: BoundClientSessionOptions): BoundClientSessionView<M>;
11
11
  //# sourceMappingURL=bound.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"bound.d.ts","sourceRoot":"","sources":["../../src/session/bound.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AAE9D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAA;AAE7C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AACrD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAA;AAMrD;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,CAAC,SAAS,KAAK,EACpD,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC,EACzB,UAAU,EAAE,eAAe,GAAG,CAAC,MAAM,eAAe,CAAC,GACpD,sBAAsB,CAAC,CAAC,CAAC,CA+B3B"}
1
+ {"version":3,"file":"bound.d.ts","sourceRoot":"","sources":["../../src/session/bound.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAA;AAE9D,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAA;AAE7C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AACrD,OAAO,KAAK,EAAE,yBAAyB,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAA;AAMhF;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,CAAC,SAAS,KAAK,EACpD,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC,EACzB,UAAU,EAAE,eAAe,GAAG,CAAC,MAAM,eAAe,CAAC,EACrD,IAAI,GAAE,yBAA8B,GACnC,sBAAsB,CAAC,CAAC,CAAC,CAiC3B"}
@@ -6,10 +6,15 @@ import { createSchemaBoundView } from '../schema/bound';
6
6
  * to the underlying ClientSession with `opts.credential` replaced by the captured
7
7
  * credential. `as(next)` returns a fresh view — rebindings don't mutate.
8
8
  */
9
- export function createBoundSessionView(session, credential) {
9
+ export function createBoundSessionView(session, credential, opts = {}) {
10
10
  const cred = () => (typeof credential === 'function' ? credential() : credential);
11
+ const callOpts = (callOptions) => ({
12
+ ...(opts.delegation !== undefined ? { delegation: opts.delegation } : {}),
13
+ ...callOptions,
14
+ credential: cred(),
15
+ });
11
16
  // One call capability, shared by graph (data plane) and auth (control plane).
12
- const boundCall = (method, params) => session.call(method, params, { credential: cred() });
17
+ const boundCall = (method, params) => session.call(method, params, callOpts(undefined));
13
18
  const graph = createGraph(boundCall);
14
19
  const auth = createAuth(boundCall, { credential: cred });
15
20
  // Name the view so `withSchema` can compose over it — the schema-bound surface
@@ -24,13 +29,13 @@ export function createBoundSessionView(session, credential) {
24
29
  },
25
30
  ...graph,
26
31
  auth,
27
- call: (method, params, opts) => session.call(method, params, { ...opts, credential: cred() }),
28
- stream: (method, params, opts) => session.stream(method, params, { ...opts, credential: cred() }),
29
- binary: (method, params, opts) => session.binary(method, params, { ...opts, credential: cred() }),
30
- signal: (method, params, opts) => session.signal(method, params, { ...opts, credential: cred() }),
32
+ call: (method, params, opts) => session.call(method, params, callOpts(opts)),
33
+ stream: (method, params, opts) => session.stream(method, params, callOpts(opts)),
34
+ binary: (method, params, opts) => session.binary(method, params, callOpts(opts)),
35
+ signal: (method, params, opts) => session.signal(method, params, callOpts(opts)),
31
36
  describe: (method) => session.describe(method),
32
37
  withSchema: (schema) => createSchemaBoundView(view, schema),
33
- as: (next) => createBoundSessionView(session, next),
38
+ as: (next, nextOpts) => createBoundSessionView(session, next, nextOpts),
34
39
  };
35
40
  return view;
36
41
  }
@@ -1 +1 @@
1
- {"version":3,"file":"bound.js","sourceRoot":"","sources":["../../src/session/bound.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AACtC,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAA;AAEvD;;;;GAIG;AACH,MAAM,UAAU,sBAAsB,CACpC,OAAyB,EACzB,UAAqD;IAErD,MAAM,IAAI,GAAG,GAAoB,EAAE,CAAC,CAAC,OAAO,UAAU,KAAK,UAAU,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAA;IAClG,8EAA8E;IAC9E,MAAM,SAAS,GAAc,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,CAC9C,OAAO,CAAC,IAAI,CAAC,MAAe,EAAE,MAAe,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,CAAC,CAAA;IACxE,MAAM,KAAK,GAAG,WAAW,CAAC,SAAS,CAAC,CAAA;IACpC,MAAM,IAAI,GAAG,UAAU,CAAC,SAAS,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAA;IACxD,+EAA+E;IAC/E,+EAA+E;IAC/E,gFAAgF;IAChF,MAAM,IAAI,GAA8B;QACtC,IAAI,OAAO;YACT,OAAO,OAAO,CAAC,OAAO,CAAA;QACxB,CAAC;QACD,IAAI,QAAQ;YACV,OAAO,OAAO,CAAC,QAAQ,CAAA;QACzB,CAAC;QACD,GAAG,KAAK;QACR,IAAI;QACJ,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,CAAC;QAC7F,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,CAC/B,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,CAAC;QACjE,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,CAC/B,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,CAAC;QACjE,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,CAC/B,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,GAAG,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,CAAC;QACjE,QAAQ,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;QAC9C,UAAU,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,qBAAqB,CAAC,IAAI,EAAE,MAAM,CAAC;QAC3D,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,sBAAsB,CAAC,OAAO,EAAE,IAAI,CAAC;KACpD,CAAA;IACD,OAAO,IAAI,CAAA;AACb,CAAC"}
1
+ {"version":3,"file":"bound.js","sourceRoot":"","sources":["../../src/session/bound.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAA;AACtC,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAA;AAEvD;;;;GAIG;AACH,MAAM,UAAU,sBAAsB,CACpC,OAAyB,EACzB,UAAqD,EACrD,IAAI,GAA8B,EAAE;IAEpC,MAAM,IAAI,GAAG,GAAoB,EAAE,CAAC,CAAC,OAAO,UAAU,KAAK,UAAU,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAA;IAClG,MAAM,QAAQ,GAAG,CAA+B,WAAc,EAAE,EAAE,CAAC,CAAC;QAClE,GAAG,CAAC,IAAI,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzE,GAAG,WAAW;QACd,UAAU,EAAE,IAAI,EAAE;KACnB,CAAC,CAAA;IACF,8EAA8E;IAC9E,MAAM,SAAS,GAAc,CAAC,MAAM,EAAE,MAAM,EAAE,EAAE,CAC9C,OAAO,CAAC,IAAI,CAAC,MAAe,EAAE,MAAe,EAAE,QAAQ,CAAC,SAAS,CAAU,CAAC,CAAA;IAC9E,MAAM,KAAK,GAAG,WAAW,CAAC,SAAS,CAAC,CAAA;IACpC,MAAM,IAAI,GAAG,UAAU,CAAC,SAAS,EAAE,EAAE,UAAU,EAAE,IAAI,EAAE,CAAC,CAAA;IACxD,+EAA+E;IAC/E,+EAA+E;IAC/E,gFAAgF;IAChF,MAAM,IAAI,GAA8B;QACtC,IAAI,OAAO;YACT,OAAO,OAAO,CAAC,OAAO,CAAA;QACxB,CAAC;QACD,IAAI,QAAQ;YACV,OAAO,OAAO,CAAC,QAAQ,CAAA;QACzB,CAAC;QACD,GAAG,KAAK;QACR,IAAI;QACJ,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC5E,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;QAChF,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;QAChF,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;QAChF,QAAQ,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;QAC9C,UAAU,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,qBAAqB,CAAC,IAAI,EAAE,MAAM,CAAC;QAC3D,EAAE,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,CAAC,sBAAsB,CAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,CAAC;KACxE,CAAA;IACD,OAAO,IAAI,CAAA;AACb,CAAC"}
@@ -5,7 +5,7 @@ import type { ClientPool } from '../pool/pool';
5
5
  import type { BinaryResponse } from '../transport/binary';
6
6
  import type { ClientSessionCallOptions, ClientSessionConfig } from './config';
7
7
  import type { DelegationCache } from './delegation/cache';
8
- import type { BoundClientSessionView, SchemaTypedClientSession } from './types';
8
+ import type { BoundClientSessionOptions, BoundClientSessionView, SchemaTypedClientSession } from './types';
9
9
  import { SchemaRegistry } from '../schema/registry';
10
10
  /**
11
11
  * ClientSession — the orchestration layer above `KernelClient`.
@@ -37,7 +37,7 @@ export declare class ClientSession<M extends FnMap = FnMap> {
37
37
  stream<K extends StreamFns<M>>(method: K, params: M[K]['params'], opts?: ClientSessionCallOptions): Promise<AsyncIterable<M[K]['result']>>;
38
38
  binary<K extends BinaryFns<M>>(method: K, params: M[K]['params'], opts?: ClientSessionCallOptions): Promise<BinaryResponse>;
39
39
  signal<K extends SignalFns<M>>(method: K, params: M[K]['params'], opts?: ClientSessionCallOptions): void;
40
- as(credential: CredentialInput | (() => CredentialInput)): BoundClientSessionView<M>;
40
+ as(credential: CredentialInput | (() => CredentialInput), opts?: BoundClientSessionOptions): BoundClientSessionView<M>;
41
41
  withSchema<S extends Schema>(schema: S): SchemaTypedClientSession<S>;
42
42
  private dispatch;
43
43
  private runSignal;
@@ -1 +1 @@
1
- {"version":3,"file":"client-session.d.ts","sourceRoot":"","sources":["../../src/session/client-session.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client-session.d.ts","sourceRoot":"","sources":["../../src/session/client-session.ts"],"names":[],"mappings":"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"}