@telorun/kernel 0.60.0 → 0.61.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (53) hide show
  1. package/dist/controllers/resource-definition/resource-inherited-controller.d.ts.map +1 -1
  2. package/dist/controllers/resource-definition/resource-inherited-controller.js +57 -10
  3. package/dist/controllers/resource-definition/resource-inherited-controller.js.map +1 -1
  4. package/dist/controllers/type/json-schema-controller.d.ts +8 -0
  5. package/dist/controllers/type/json-schema-controller.d.ts.map +1 -0
  6. package/dist/controllers/type/json-schema-controller.js +91 -0
  7. package/dist/controllers/type/json-schema-controller.js.map +1 -0
  8. package/dist/evaluation-context.d.ts +5 -0
  9. package/dist/evaluation-context.d.ts.map +1 -1
  10. package/dist/evaluation-context.js +63 -33
  11. package/dist/evaluation-context.js.map +1 -1
  12. package/dist/index.d.ts +1 -0
  13. package/dist/index.d.ts.map +1 -1
  14. package/dist/index.js +1 -0
  15. package/dist/index.js.map +1 -1
  16. package/dist/init-failure-diagnostics.d.ts +61 -0
  17. package/dist/init-failure-diagnostics.d.ts.map +1 -0
  18. package/dist/init-failure-diagnostics.js +141 -0
  19. package/dist/init-failure-diagnostics.js.map +1 -0
  20. package/dist/invocation-contract-binding.d.ts +105 -0
  21. package/dist/invocation-contract-binding.d.ts.map +1 -0
  22. package/dist/invocation-contract-binding.js +296 -0
  23. package/dist/invocation-contract-binding.js.map +1 -0
  24. package/dist/kernel.d.ts +17 -0
  25. package/dist/kernel.d.ts.map +1 -1
  26. package/dist/kernel.js +62 -5
  27. package/dist/kernel.js.map +1 -1
  28. package/dist/module-context.d.ts.map +1 -1
  29. package/dist/module-context.js +21 -0
  30. package/dist/module-context.js.map +1 -1
  31. package/dist/resource-context.d.ts +45 -0
  32. package/dist/resource-context.d.ts.map +1 -1
  33. package/dist/resource-context.js +79 -0
  34. package/dist/resource-context.js.map +1 -1
  35. package/dist/schema-compiled-values.d.ts +9 -1
  36. package/dist/schema-compiled-values.d.ts.map +1 -1
  37. package/dist/schema-compiled-values.js +55 -16
  38. package/dist/schema-compiled-values.js.map +1 -1
  39. package/dist/schema-validator.d.ts.map +1 -1
  40. package/dist/schema-validator.js +15 -1
  41. package/dist/schema-validator.js.map +1 -1
  42. package/package.json +3 -3
  43. package/src/controllers/resource-definition/resource-inherited-controller.ts +69 -10
  44. package/src/controllers/type/json-schema-controller.ts +114 -0
  45. package/src/evaluation-context.ts +81 -32
  46. package/src/index.ts +1 -0
  47. package/src/init-failure-diagnostics.ts +169 -0
  48. package/src/invocation-contract-binding.ts +392 -0
  49. package/src/kernel.ts +83 -6
  50. package/src/module-context.ts +27 -0
  51. package/src/resource-context.ts +81 -0
  52. package/src/schema-compiled-values.ts +55 -15
  53. package/src/schema-validator.ts +15 -1
@@ -0,0 +1,296 @@
1
+ import { defaultBearingPaths, effectiveContractField, withStreamPropertiesSkipped, } from "@telorun/analyzer";
2
+ import { ERR_CONTRACT_UNRESOLVABLE, ERR_INPUT_INVALID, ERR_OUTPUT_INVALID, InvokeError, } from "@telorun/sdk";
3
+ const CONTRACT_ERROR = {
4
+ inputType: ERR_INPUT_INVALID,
5
+ outputType: ERR_OUTPUT_INVALID,
6
+ };
7
+ /**
8
+ * Resolve one direction of a resource's contract to a bound validator.
9
+ *
10
+ * The declaration is layered instance-manifest → nearest along `extends` (see
11
+ * `effectiveContractField` — nearest wins, contracts never merge), then compiled.
12
+ *
13
+ * A NAMED reference (`inputType: RequestShape`, or a `!ref` to a type) is
14
+ * compiled by name so it keeps the CEL `rules:` registered alongside it, which a
15
+ * plain schema copy would drop. Everything else is compiled from the resolved
16
+ * schema — inline `{kind, schema}` and raw forms carry no rules, and resolving
17
+ * first is what lets a `{ $ref: "telo://Self/X" }` contract compile at all
18
+ * (`resolveTypeSchema` follows it through the kernel's registry, which AJV
19
+ * cannot).
20
+ *
21
+ * The resolved schema is stripped of `x-telo-stream` properties first: a live
22
+ * `Stream` in a declared slot is not data to be traversed, the same defect as
23
+ * `stripCompiledValues` walking a live instance in a ref slot. Streams travel in
24
+ * both directions (`Codec.Encoder` marks `input` on its `inputType` and requires
25
+ * it), so the skip is not one-directional.
26
+ *
27
+ * WHICH declaration applies is decided here, at create time — that is a fact
28
+ * about the manifest. COMPILING it is deferred to first dispatch and memoized: a
29
+ * contract may reference a named `telo#Type` whose `Type.JsonSchema` resource
30
+ * initializes later in the same multi-pass loop, and resolving it eagerly would
31
+ * make every contract-declaring kind depend on type-registration order. Nothing
32
+ * can dispatch before the loop finishes, so first-use is always late enough.
33
+ */
34
+ /** True when a type field names a registered `telo#Type` — a bare name, or the
35
+ * `{kind, name}` object a `!ref` normalizes to. Only these carry CEL `rules:`,
36
+ * so only these are worth compiling by name rather than from their schema. */
37
+ function isNamedTypeReference(declared) {
38
+ if (typeof declared === "string")
39
+ return true;
40
+ if (!declared || typeof declared !== "object")
41
+ return false;
42
+ const ref = declared;
43
+ return typeof ref.name === "string" && !(ref.schema && typeof ref.schema === "object");
44
+ }
45
+ export function resolveBoundContract(direction, manifest, definition, resolveDef, factory) {
46
+ const own = manifest[direction];
47
+ const declared = own !== undefined && own !== null
48
+ ? own
49
+ : effectiveContractField(definition, resolveDef, direction);
50
+ if (declared === undefined || declared === null)
51
+ return undefined;
52
+ let compiled;
53
+ let paths;
54
+ const resolve = () => {
55
+ if (compiled !== undefined)
56
+ return compiled;
57
+ const schema = factory.schemaOf(declared);
58
+ if (!schema) {
59
+ // A declared contract that resolves to nothing is a manifest fault — a
60
+ // named type that never registered — and it MUST NOT degrade to
61
+ // "unvalidated". Silently disabling enforcement is the failure mode
62
+ // nobody notices: every later call passes because nothing is checking.
63
+ throw new InvokeError(ERR_CONTRACT_UNRESOLVABLE, `declared \`${direction}\` could not be resolved to a schema: ${describeDeclaration(declared)}. ` +
64
+ `The type is not registered, so the contract cannot be enforced.`);
65
+ }
66
+ const stripped = withStreamPropertiesSkipped(schema, factory.resolveRef);
67
+ paths = defaultBearingPaths(stripped, factory.resolveRef);
68
+ // Compile by NAME whenever the declaration is one, so the type's CEL
69
+ // `rules:` are composed in — including when a stream had to be stripped, in
70
+ // which case the stream-bearing properties are dropped from the schema the
71
+ // named validator sees rather than the reference being abandoned.
72
+ compiled = !isNamedTypeReference(declared)
73
+ ? factory(stripped)
74
+ : stripped === schema
75
+ ? factory(declared)
76
+ : factory.withRules(nameOf(declared), stripped);
77
+ return compiled;
78
+ };
79
+ return {
80
+ direction,
81
+ validate: (value) => resolve().validate(value),
82
+ defaultPaths: () => {
83
+ resolve();
84
+ return paths ?? [];
85
+ },
86
+ };
87
+ }
88
+ const nameOf = (declared) => typeof declared === "string"
89
+ ? declared
90
+ : declared?.name;
91
+ const describeDeclaration = (declared) => typeof declared === "string" ? `'${declared}'` : JSON.stringify(declared);
92
+ /**
93
+ * A copy of `value` deep along exactly the paths a default can be written to and
94
+ * shared everywhere else.
95
+ *
96
+ * A flat shallow copy would not do: AJV's `useDefaults` writes at every level it
97
+ * finds a default, so a nested default would mutate the structure the caller
98
+ * still holds. Bounded by the schema's defaults rather than by the size of the
99
+ * payload — a contract declaring no defaults copies one level and nothing more.
100
+ */
101
+ export function copyForDefaults(value, paths) {
102
+ if (!value || typeof value !== "object")
103
+ return value;
104
+ let out = shallowCopy(value);
105
+ for (const path of paths) {
106
+ // The leaf is what gets written; every CONTAINER above it is what must not
107
+ // be shared. An `[]` segment fans out: the default lands in each element, so
108
+ // the array and every element on the path have to be copied too — bailing
109
+ // there would leave `rows[0]` shared and let a fill mutate the caller's data.
110
+ out = copyAlong(out, path.slice(0, -1));
111
+ }
112
+ return out;
113
+ }
114
+ const shallowCopy = (value) => Array.isArray(value) ? [...value] : { ...value };
115
+ function copyAlong(node, segments) {
116
+ if (!node || typeof node !== "object")
117
+ return node;
118
+ if (segments.length === 0)
119
+ return node;
120
+ const [head, ...rest] = segments;
121
+ if (head === "[]") {
122
+ if (!Array.isArray(node))
123
+ return node;
124
+ return node.map((item) => item && typeof item === "object" ? copyAlong(shallowCopy(item), rest) : item);
125
+ }
126
+ const container = node;
127
+ const child = container[head];
128
+ if (!child || typeof child !== "object")
129
+ return node;
130
+ container[head] = copyAlong(shallowCopy(child), rest);
131
+ return node;
132
+ }
133
+ /**
134
+ * Raise a contract violation as a structured {@link InvokeError}.
135
+ *
136
+ * Structured rather than a plain error because the run engine assigns
137
+ * `INTERNAL_ERROR` to anything that is not an `InvokeError` — a contract
138
+ * violation would then reach a `catch` block indistinguishable from a crash, and
139
+ * an author could neither match it nor rethrow it faithfully. These are ambient
140
+ * kernel codes: catchable by name, and never counted against a kind's own
141
+ * `throws:` union.
142
+ *
143
+ * The message names the target, the direction, and the offending detail, because
144
+ * a caller several steps away otherwise cannot tell which boundary rejected the
145
+ * value or which side supplied it.
146
+ */
147
+ export function contractViolation(direction, describeTarget, cause) {
148
+ // A type's CEL `rules:` raise the author's OWN code — that is the whole point
149
+ // of declaring one, and `modules/type` documents rule codes as catchable.
150
+ // Only a structural schema failure is the ambient contract violation.
151
+ //
152
+ // Re-raised as a STRUCTURED error carrying that code: the rule itself throws a
153
+ // `RuntimeError`, which has a code but not the marker a catch block matches
154
+ // on, so it used to reach `catch` as the generic plain-failure code — the
155
+ // documented behaviour never actually worked. Wrapping preserves the code and
156
+ // makes it match.
157
+ const ruleCode = ruleViolationCode(cause);
158
+ if (ruleCode) {
159
+ return new InvokeError(ruleCode, cause.message, undefined, { cause });
160
+ }
161
+ const side = direction === "inputType" ? "inputs" : "result";
162
+ const detail = cause instanceof Error ? cause.message : String(cause);
163
+ return new InvokeError(CONTRACT_ERROR[direction], `${describeTarget()}: ${side} do not satisfy the declared ${direction}: ${detail}`, undefined, { cause });
164
+ }
165
+ /** Codes the validator itself raises for a STRUCTURAL failure. Anything else
166
+ * carrying a code came from a declared rule and belongs to its author. */
167
+ const STRUCTURAL_VALIDATION_CODES = new Set([
168
+ "ERR_RESOURCE_SCHEMA_VALIDATION_FAILED",
169
+ "ERR_TYPE_NOT_FOUND",
170
+ ]);
171
+ function ruleViolationCode(cause) {
172
+ const code = cause?.code;
173
+ if (typeof code !== "string" || code.length === 0)
174
+ return undefined;
175
+ return STRUCTURAL_VALIDATION_CODES.has(code) ? undefined : code;
176
+ }
177
+ /**
178
+ * Bind `invoke()` and `provide()` in place.
179
+ *
180
+ * `provide()` takes no caller arguments, so it has no input side, but it returns
181
+ * a value against a declared `outputType` and that result is validated exactly as
182
+ * an invocable's is — same path, same stream skip, same ambient error code.
183
+ * `run()` is bound to nothing: parameterless and void, there is nothing to fill
184
+ * defaults into and no result to validate, so it is guarded statically instead.
185
+ */
186
+ export function bindContract(instance, binding) {
187
+ const { input, output, describeTarget } = binding;
188
+ if (!input && !output)
189
+ return;
190
+ if (typeof instance.invoke === "function") {
191
+ const original = instance.invoke.bind(instance);
192
+ // EVERY argument is forwarded, not just `inputs`. `invoke(inputs, ctx)`
193
+ // carries the InvokeContext — cancellation, tracing — as its second
194
+ // parameter, and a wrapper that takes only `inputs` silently drops it: a
195
+ // detached body would then never see its cancellation token and a lease
196
+ // holding across it would never be released. The contract only concerns the
197
+ // first argument; the rest belong to the caller and the callee.
198
+ instance.invoke = async (inputs, ...rest) => {
199
+ let effective = inputs;
200
+ if (input) {
201
+ effective = copyForDefaults(inputs, input.defaultPaths());
202
+ // Validate a BIGINT-NORMALIZED view, not the values themselves. CEL
203
+ // evaluates an integer literal to a BigInt, which a JSON Schema
204
+ // validator does not recognise as `integer` — so every computed integer
205
+ // reaching a declared integer input would be rejected for a reason the
206
+ // author cannot act on. The dispatched values keep their BigInts, since
207
+ // a controller may need the full 64-bit range.
208
+ const view = withBigIntsAsNumbers(effective);
209
+ try {
210
+ input.validate(view);
211
+ }
212
+ catch (error) {
213
+ throw contractViolation("inputType", describeTarget, error);
214
+ }
215
+ // Defaults are additive, so anything the validator filled into the view
216
+ // is a key the caller omitted — copy exactly those back.
217
+ effective = mergeFilledDefaults(effective, view);
218
+ }
219
+ const result = await original(effective, ...rest);
220
+ if (output) {
221
+ try {
222
+ output.validate(withBigIntsAsNumbers(result));
223
+ }
224
+ catch (error) {
225
+ throw contractViolation("outputType", describeTarget, error);
226
+ }
227
+ }
228
+ return result;
229
+ };
230
+ }
231
+ if (output && typeof instance.provide === "function") {
232
+ const original = instance.provide.bind(instance);
233
+ instance.provide = async (...args) => {
234
+ const result = await original(...args);
235
+ try {
236
+ output.validate(withBigIntsAsNumbers(result));
237
+ }
238
+ catch (error) {
239
+ throw contractViolation("outputType", describeTarget, error);
240
+ }
241
+ return result;
242
+ };
243
+ }
244
+ }
245
+ /** A structural copy with every BigInt rendered as a Number, for validation
246
+ * only. A value beyond the safe-integer range loses precision in the VIEW,
247
+ * which can only affect a bound check at the extremes; the dispatched value is
248
+ * untouched. Non-plain objects (a live `Stream`, a resource instance) pass
249
+ * through by reference — they are not data to be walked. */
250
+ export function withBigIntsAsNumbers(value) {
251
+ if (typeof value === "bigint")
252
+ return Number(value);
253
+ if (Array.isArray(value)) {
254
+ let changed = false;
255
+ const items = value.map((item) => {
256
+ const next = withBigIntsAsNumbers(item);
257
+ if (next !== item)
258
+ changed = true;
259
+ return next;
260
+ });
261
+ return changed ? items : value;
262
+ }
263
+ if (!value || typeof value !== "object")
264
+ return value;
265
+ if (Object.getPrototypeOf(value) !== Object.prototype)
266
+ return value;
267
+ let changed = false;
268
+ const out = {};
269
+ for (const [key, item] of Object.entries(value)) {
270
+ const next = withBigIntsAsNumbers(item);
271
+ if (next !== item)
272
+ changed = true;
273
+ out[key] = next;
274
+ }
275
+ return changed ? out : value;
276
+ }
277
+ /** Copy keys the validator's default-fill added to `view` back onto `target`.
278
+ * Only ADDITIONS are taken: a key already present came from the caller and its
279
+ * original (possibly BigInt) value is the one to dispatch. */
280
+ function mergeFilledDefaults(target, view) {
281
+ if (target === view)
282
+ return target;
283
+ if (!target || typeof target !== "object" || Array.isArray(target))
284
+ return target;
285
+ if (!view || typeof view !== "object" || Array.isArray(view))
286
+ return target;
287
+ const out = target;
288
+ for (const [key, filled] of Object.entries(view)) {
289
+ if (!(key in out))
290
+ out[key] = filled;
291
+ else
292
+ out[key] = mergeFilledDefaults(out[key], filled);
293
+ }
294
+ return out;
295
+ }
296
+ //# sourceMappingURL=invocation-contract-binding.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"invocation-contract-binding.js","sourceRoot":"","sources":["../src/invocation-contract-binding.ts"],"names":[],"mappings":"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"}
package/dist/kernel.d.ts CHANGED
@@ -297,6 +297,17 @@ export declare class Kernel implements IKernel {
297
297
  * is not yet registered (retry signal).
298
298
  */
299
299
  private _createInstance;
300
+ /**
301
+ * Resolve and bind both directions of a resource's invocation contract.
302
+ *
303
+ * The declaration is layered instance-manifest → nearest along `extends`;
304
+ * contracts never merge (a call signature is not additive the way construction
305
+ * config is), so a definition that declares one fully replaces its ancestor's.
306
+ * Resolution runs in the scope that DECLARED each definition — an `extends`
307
+ * alias is lexical, and a `telo#Type` reference goes through import aliases, so
308
+ * a chain crossing module boundaries re-scopes at every hop.
309
+ */
310
+ private bindInvocationContract;
300
311
  /**
301
312
  * Create phase for an inherited (concrete-`extends`) definition's parent: runs
302
313
  * the ordinary create pipeline (controller resolution + lazy load, schema
@@ -314,6 +325,12 @@ export declare class Kernel implements IKernel {
314
325
  * field map and replaces each {kind, name} reference value (outside scope visibility
315
326
  * paths) with the live ResourceInstance returned by getInstance(name). Fields within
316
327
  * scope paths are left as {kind, name} — the controller resolves them at runtime.
328
+ *
329
+ * `owner` is the context the resource belongs to, and the scope handle built for an
330
+ * `x-telo-scope` field hangs off it rather than off the root: a `with:` block's inline
331
+ * declarations name their kinds through the import aliases of the module that DECLARED
332
+ * the resource, so a library's scoped `kind: OAuth.RedirectListener` resolves against
333
+ * that library's imports — the root has never heard of the alias.
317
334
  */
318
335
  private _injectDependencies;
319
336
  }
@@ -1 +1 @@
1
- {"version":3,"file":"kernel.d.ts","sourceRoot":"","sources":["../src/kernel.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"kernel.d.ts","sourceRoot":"","sources":["../src/kernel.ts"],"names":[],"mappings":"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"}
package/dist/kernel.js CHANGED
@@ -1,4 +1,5 @@
1
1
  import { AnalysisRegistry, buildEvalPaths, flattenForAnalyzer, flattenLoadedModule, isModuleKind, Loader, StaticAnalyzer, } from "@telorun/analyzer";
2
+ import { bindContract, resolveBoundContract, } from "./invocation-contract-binding.js";
2
3
  import { createCancellationSource, RuntimeError, } from "@telorun/sdk";
3
4
  import { parseArgs } from "util";
4
5
  import { ControllerRegistry } from "./controller-registry.js";
@@ -216,6 +217,10 @@ export class Kernel {
216
217
  // whether that module happened to be installed.
217
218
  this.controllers.registerController("Telo.ConsoleSink", await import("./controllers/logging/console-sink-controller.js"));
218
219
  this.controllers.registerController("Telo.FileSink", await import("./controllers/logging/file-sink-controller.js"));
220
+ // Data shapes are a kernel concern for the same reason: every kind with an
221
+ // invocation contract declares one, so `inputType:` must be writable without
222
+ // first importing a module.
223
+ this.controllers.registerController("Telo.JsonSchema", await import("./controllers/type/json-schema-controller.js"));
219
224
  }
220
225
  /**
221
226
  * Load a manifest by URL. The URL is dispatched through the registered
@@ -256,7 +261,7 @@ export class Kernel {
256
261
  // Initialize built-in Runtime definitions first
257
262
  await this.loadBuiltinDefinitions();
258
263
  // Phase 5: attach injection hook — fires between create() and init() for every resource
259
- this.rootContext.preInitHook = (resource, getInstance, isPending) => this._injectDependencies(resource, getInstance, isPending);
264
+ this.rootContext.preInitHook = (resource, getInstance, isPending, owner) => this._injectDependencies(resource, getInstance, isPending, owner);
260
265
  // Expose definition lookup so invoke()/invokeResolved() can check thrown
261
266
  // InvokeError.code against the declared throw union (rule 9). Propagates
262
267
  // through spawnChild() to module imports and scoped handles.
@@ -950,6 +955,18 @@ export class Kernel {
950
955
  const instance = await controller.create(processedResource, ctx);
951
956
  if (!instance)
952
957
  return null;
958
+ // Bind the resolved invocation contract to the instance, here at the kernel's
959
+ // single instance-production site — so every consumer holds an already
960
+ // enforcing instance, including the majority that read a Phase-5-injected ref
961
+ // straight off their own config and never reach a dispatch chokepoint.
962
+ //
963
+ // For a `base:` child this composes without a special case: the parent's
964
+ // instance was produced by a nested `_createInstance` (so it is already bound
965
+ // to the parent's contract), the inherited controller bound the `inputs:` /
966
+ // `result:` mapping onto it, and this call binds the child's own contract
967
+ // outermost. One dispatch then checks, in order: child inputs → mapping →
968
+ // parent inputs → controller → parent result → mapping → child result.
969
+ this.bindInvocationContract(instance, processedResource, resolvedKind, ctx);
953
970
  // Fold the resource's fire-and-forget drain into its own teardown: tearing
954
971
  // the resource down drains the background tasks it spawned (the kernel just
955
972
  // calls teardown() — it tracks no tasks itself). A drain with no pending
@@ -968,13 +985,47 @@ export class Kernel {
968
985
  // init() on the wrapper would be invisible to the original invoke(), which still
969
986
  // runs with `this === instance`. Mutating in place also preserves the prototype
970
987
  // chain — class-declared methods remain reachable.
988
+ // Every argument is forwarded: `invoke(inputs, ctx)` carries the
989
+ // InvokeContext (cancellation, tracing) as its second parameter, and a
990
+ // wrapper that declares only `inputs` silently drops it.
971
991
  const originalInvoke = instance.invoke.bind(instance);
972
- instance.invoke = async (inputs) => {
992
+ instance.invoke = async (inputs, ...rest) => {
973
993
  const expanded = evalContext.expandPaths(inputs, runtime);
974
- return originalInvoke(expanded);
994
+ return originalInvoke(expanded, ...rest);
975
995
  };
976
996
  return { instance, ctx, resource: processedResource };
977
997
  }
998
+ /**
999
+ * Resolve and bind both directions of a resource's invocation contract.
1000
+ *
1001
+ * The declaration is layered instance-manifest → nearest along `extends`;
1002
+ * contracts never merge (a call signature is not additive the way construction
1003
+ * config is), so a definition that declares one fully replaces its ancestor's.
1004
+ * Resolution runs in the scope that DECLARED each definition — an `extends`
1005
+ * alias is lexical, and a `telo#Type` reference goes through import aliases, so
1006
+ * a chain crossing module boundaries re-scopes at every hop.
1007
+ */
1008
+ bindInvocationContract(instance, resource, resolvedKind, ctx) {
1009
+ const definition = this.controllers.getDefinition(resolvedKind);
1010
+ if (!definition)
1011
+ return;
1012
+ const impl = ctx;
1013
+ const factory = Object.assign((typeRef) => impl.createTypeValidator(typeRef), {
1014
+ schemaOf: (typeRef) => impl.resolveTypeSchema(typeRef),
1015
+ resolveRef: (ref) => impl.lookupSchema(ref),
1016
+ withRules: (name, schema) => impl.createTypeValidatorWithRules(name, schema),
1017
+ });
1018
+ const resolveDef = (kind, from) => this.registry.resolveDefinitionIn(kind, from?.metadata?.module);
1019
+ const input = resolveBoundContract("inputType", resource, definition, resolveDef, factory);
1020
+ const output = resolveBoundContract("outputType", resource, definition, resolveDef, factory);
1021
+ if (!input && !output)
1022
+ return;
1023
+ bindContract(instance, {
1024
+ input,
1025
+ output,
1026
+ describeTarget: () => `${resolvedKind}/${resource.metadata?.name ?? "<unnamed>"}`,
1027
+ });
1028
+ }
978
1029
  /**
979
1030
  * Create phase for an inherited (concrete-`extends`) definition's parent: runs
980
1031
  * the ordinary create pipeline (controller resolution + lazy load, schema
@@ -995,8 +1046,14 @@ export class Kernel {
995
1046
  * field map and replaces each {kind, name} reference value (outside scope visibility
996
1047
  * paths) with the live ResourceInstance returned by getInstance(name). Fields within
997
1048
  * scope paths are left as {kind, name} — the controller resolves them at runtime.
1049
+ *
1050
+ * `owner` is the context the resource belongs to, and the scope handle built for an
1051
+ * `x-telo-scope` field hangs off it rather than off the root: a `with:` block's inline
1052
+ * declarations name their kinds through the import aliases of the module that DECLARED
1053
+ * the resource, so a library's scoped `kind: OAuth.RedirectListener` resolves against
1054
+ * that library's imports — the root has never heard of the alias.
998
1055
  */
999
- _injectDependencies(resource, getInstance, isPending) {
1056
+ _injectDependencies(resource, getInstance, isPending, owner) {
1000
1057
  this.registry.iterateFieldEntries(resource, (fieldPath) => injectAtPath(resource, fieldPath, getInstance, isPending), (fieldPath) => {
1001
1058
  const val = resource[fieldPath];
1002
1059
  if (Array.isArray(val)) {
@@ -1018,7 +1075,7 @@ export class Kernel {
1018
1075
  `such as 'targets:'.`);
1019
1076
  }
1020
1077
  }
1021
- resource[fieldPath] = this.rootContext.createScopeHandle(val);
1078
+ resource[fieldPath] = owner.createScopeHandle(val);
1022
1079
  }
1023
1080
  });
1024
1081
  }
@@ -1 +1 @@
1
- {"version":3,"file":"kernel.js","sourceRoot":"","sources":["../src/kernel.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"kernel.js","sourceRoot":"","sources":["../src/kernel.ts"],"names":[],"mappings":"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"}