@telorun/kernel 0.43.0 → 0.44.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.
@@ -8,6 +8,8 @@ type ResourceDefinitionResource = RuntimeResource & {
8
8
  };
9
9
  schema: Record<string, any>;
10
10
  capability?: string;
11
+ extends?: string;
12
+ base?: Record<string, any>;
11
13
  controllers?: Array<string>;
12
14
  provide?: unknown;
13
15
  };
@@ -1 +1 @@
1
- {"version":3,"file":"resource-definition-controller.d.ts","sourceRoot":"","sources":["../../../src/controllers/resource-definition/resource-definition-controller.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,iBAAiB,EACjB,eAAe,EACf,gBAAgB,EAChB,eAAe,EAChB,MAAM,cAAc,CAAC;AAKtB,KAAK,0BAA0B,GAAG,eAAe,GAAG;IAClD,IAAI,EAAE,iBAAiB,CAAC;IACxB,QAAQ,EAAE;QACR,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;QACnB,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAC5B,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF;;;GAGG;AACH,cAAM,kBAAmB,YAAW,gBAAgB;IAGtC,QAAQ,CAAC,QAAQ,EAAE,0BAA0B;IAFzD,QAAQ,CAAC,IAAI,EAAE,oBAAoB,CAAwB;gBAEtC,QAAQ,EAAE,0BAA0B;IAEnD,IAAI,CAAC,GAAG,EAAE,eAAe;CA+DhC;AAeD,wBAAgB,QAAQ,CAAC,GAAG,EAAE,iBAAiB,GAAG,IAAI,CAErD;AAED,wBAAsB,MAAM,CAAC,QAAQ,EAAE,GAAG,EAAE,GAAG,EAAE,eAAe,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAW7F;AAED,eAAO,MAAM,MAAM;;;CAGlB,CAAC"}
1
+ {"version":3,"file":"resource-definition-controller.d.ts","sourceRoot":"","sources":["../../../src/controllers/resource-definition/resource-definition-controller.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,iBAAiB,EACjB,eAAe,EAEf,gBAAgB,EAChB,eAAe,EAChB,MAAM,cAAc,CAAC;AAatB,KAAK,0BAA0B,GAAG,eAAe,GAAG;IAClD,IAAI,EAAE,iBAAiB,CAAC;IACxB,QAAQ,EAAE;QACR,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;QACnB,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC3B,WAAW,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IAC5B,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF;;;GAGG;AACH,cAAM,kBAAmB,YAAW,gBAAgB;IAGtC,QAAQ,CAAC,QAAQ,EAAE,0BAA0B;IAFzD,QAAQ,CAAC,IAAI,EAAE,oBAAoB,CAAwB;gBAEtC,QAAQ,EAAE,0BAA0B;IAEnD,IAAI,CAAC,GAAG,EAAE,eAAe;CAqHhC;AAeD,wBAAgB,QAAQ,CAAC,GAAG,EAAE,iBAAiB,GAAG,IAAI,CAErD;AAED,wBAAsB,MAAM,CAAC,QAAQ,EAAE,GAAG,EAAE,GAAG,EAAE,eAAe,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAW7F;AAED,eAAO,MAAM,MAAM;;;CAGlB,CAAC"}
@@ -1,6 +1,9 @@
1
+ import { RuntimeError } from "@telorun/sdk";
2
+ import { controllerBearingAncestor, hasOwnControllerOrTemplate, inheritedCapability, } from "@telorun/analyzer";
1
3
  import { ControllerLoader } from "../../controller-loader.js";
2
4
  import { formatAjvErrors, validateResourceDefinition } from "../../manifest-schemas.js";
3
5
  import { createTemplateController } from "./resource-template-controller.js";
6
+ import { createInheritedController } from "./resource-inherited-controller.js";
4
7
  /**
5
8
  * ResourceDefinition resource - acts as metadata holder for resource type definitions
6
9
  * Validates incoming definitions against schema and maintains definition metadata
@@ -11,6 +14,49 @@ class ResourceDefinition {
11
14
  this.kind = "ResourceDefinition";
12
15
  }
13
16
  async init(ctx) {
17
+ const definingCtx = ctx.moduleContext;
18
+ // Resolve an `extends`/kind target (alias or canonical form) to its
19
+ // definition against the DEFINING library's scope — where the `extends`
20
+ // alias was declared.
21
+ const resolveDef = (kind) => {
22
+ let canonical = kind;
23
+ try {
24
+ canonical = definingCtx.resolveKind(kind);
25
+ }
26
+ catch {
27
+ // ungated / unqualified — fall back to the raw kind below
28
+ }
29
+ return definingCtx.getDefinition?.(canonical) ?? definingCtx.getDefinition?.(kind);
30
+ };
31
+ // Inherited-controller delegation: a definition that `extends` a concrete
32
+ // kind, declares no own `controllers:` / template body, inherits the parent
33
+ // controller by delegation and maps its config via `base:`.
34
+ if (this.resource.extends && !hasOwnControllerOrTemplate(this.resource)) {
35
+ const parentDef = resolveDef(this.resource.extends);
36
+ if (!parentDef) {
37
+ // The parent's Telo.Definition (and thus its controller) isn't loaded
38
+ // yet — defer; the multi-pass init loop retries once its import resolves.
39
+ throw new RuntimeError("ERR_LOCAL_REF_PENDING", `Telo.Definition '${this.resource.metadata.name}': 'extends' target '${this.resource.extends}' is not loaded yet.`);
40
+ }
41
+ if (controllerBearingAncestor(this.resource, resolveDef)) {
42
+ // Capability is inherited and immutable — stamp the resolved capability
43
+ // so every consumer that reads `definition.capability` (compile-CEL eval
44
+ // paths, `capabilityOf`, lifecycle role) sees the effective role without
45
+ // re-walking `extends`.
46
+ if (!this.resource.capability) {
47
+ const inherited = inheritedCapability(this.resource, resolveDef);
48
+ if (inherited)
49
+ this.resource.capability = inherited;
50
+ }
51
+ const controllerInstance = createInheritedController(this.resource, definingCtx, resolveDef);
52
+ ctx.registerDefinition(this.resource);
53
+ await ctx.registerController(this.resource.metadata.module, this.resource.metadata.name, controllerInstance);
54
+ return;
55
+ }
56
+ // Otherwise the chain reaches no controller-bearing concrete ancestor
57
+ // (e.g. it implements a pure abstract) — fall through to the normal
58
+ // template / controller handling below.
59
+ }
14
60
  if (!this.resource.controllers?.length) {
15
61
  if (this.resource.capability === "Telo.Provider" && this.resource.provide == null) {
16
62
  throw new Error(`Telo.Definition '${this.resource.metadata.name}': 'capability: Telo.Provider' requires either 'controllers:' (TS-backed) or 'provide:' (template-backed).`);
@@ -1 +1 @@
1
- {"version":3,"file":"resource-definition-controller.js","sourceRoot":"","sources":["../../../src/controllers/resource-definition/resource-definition-controller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resource-definition-controller.js","sourceRoot":"","sources":["../../../src/controllers/resource-definition/resource-definition-controller.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ import type { ControllerInstance, EvaluationContext, ResourceDefinition, ResourceInstance } from "@telorun/sdk";
2
+ import { type DefResolver } from "@telorun/analyzer";
3
+ /** Typed internal seam implemented by the concrete `ResourceContextImpl`: runs
4
+ * the kernel's create phase for the parent-kind manifest and returns the native
5
+ * parent instance (or null when the parent controller isn't registered yet — a
6
+ * retry, same as `_createInstance`). Off the public SDK surface, like
7
+ * `registerLazyController`. */
8
+ export interface InheritedInstanceHost {
9
+ createInheritedInstance(evalContext: EvaluationContext, resource: Record<string, unknown>): Promise<ResourceInstance | null>;
10
+ }
11
+ /**
12
+ * Controller for a definition that inherits its controller by delegation — it
13
+ * `extends` a concrete kind, declares no own `controllers:` / template body, and
14
+ * maps the parent's config via `base:`. `create()` evaluates `base:` against the
15
+ * child instance's config (`self`, with reference slots resolved to live
16
+ * instances) and constructs the parent kind through {@link InheritedInstanceHost},
17
+ * returning that native parent instance verbatim so the child duck-types as its
18
+ * parent (e.g. inherits `.snapshot()`).
19
+ */
20
+ export declare function createInheritedController(definition: ResourceDefinition, definingContext: EvaluationContext, resolveDef: DefResolver): ControllerInstance;
21
+ //# sourceMappingURL=resource-inherited-controller.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resource-inherited-controller.d.ts","sourceRoot":"","sources":["../../../src/controllers/resource-definition/resource-inherited-controller.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,kBAAkB,EAClB,iBAAiB,EAEjB,kBAAkB,EAClB,gBAAgB,EACjB,MAAM,cAAc,CAAC;AAEtB,OAAO,EAIL,KAAK,WAAW,EACjB,MAAM,mBAAmB,CAAC;AAG3B;;;;gCAIgC;AAChC,MAAM,WAAW,qBAAqB;IACpC,uBAAuB,CACrB,WAAW,EAAE,iBAAiB,EAC9B,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAChC,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAAC;CACrC;AAqED;;;;;;;;GAQG;AACH,wBAAgB,yBAAyB,CACvC,UAAU,EAAE,kBAAkB,EAC9B,eAAe,EAAE,iBAAiB,EAClC,UAAU,EAAE,WAAW,GACtB,kBAAkB,CA0DpB"}
@@ -0,0 +1,130 @@
1
+ import { isCompiledValue } from "@telorun/sdk";
2
+ import { buildReferenceFieldMap, effectiveAuthorSchema, isRefEntry, } from "@telorun/analyzer";
3
+ import { isRefSentinel } from "@telorun/templating";
4
+ /** Matches a CEL source that is exactly a `self.<path>` member access — resolved
5
+ * by direct navigation so live resource instances (which CEL's output type
6
+ * checker rejects) can flow through `base:` untouched. */
7
+ const SELF_PATH = /^self((?:\.[A-Za-z_$][\w$]*)+)$/;
8
+ const hasSnapshot = (v) => !!v && typeof v.snapshot === "function";
9
+ /** Resolves a reference-slot value to its live instance, or undefined when the
10
+ * referenced resource isn't initialized yet. A value that is already a live
11
+ * instance (has `snapshot()`) passes through. Post Phase-2.5 a slot holds a
12
+ * `{kind, name, alias?}` object; a raw `!ref` sentinel (only reachable behind a
13
+ * hidden `$ref` slot) is normalized through the sanctioned `ctx.resolveChildren`
14
+ * so the reference grammar (alias/Self splitting) stays in one place. */
15
+ function resolveRefSlot(value, ctx) {
16
+ if (hasSnapshot(value))
17
+ return value;
18
+ let name;
19
+ let alias;
20
+ if (isRefSentinel(value)) {
21
+ const ref = ctx.resolveChildren(value);
22
+ name = ref.name;
23
+ alias = ref.alias;
24
+ }
25
+ else if (value && typeof value === "object") {
26
+ const ref = value;
27
+ if (typeof ref.name === "string") {
28
+ name = ref.name;
29
+ alias = typeof ref.alias === "string" ? ref.alias : undefined;
30
+ }
31
+ }
32
+ if (!name)
33
+ return undefined;
34
+ const instance = alias && alias !== "Self"
35
+ ? ctx.moduleContext.resolveImportedInstance(alias, name)
36
+ : ctx.moduleContext.resourceInstances.get(name)?.instance;
37
+ return instance ?? undefined;
38
+ }
39
+ /** Expand a `base:` node against `self`. Self-only CEL resolves to literals now;
40
+ * a pure `self.<path>` access is navigated directly so live instances pass
41
+ * through. */
42
+ function expandBaseNode(value, self, ctx) {
43
+ if (isCompiledValue(value)) {
44
+ const src = typeof value.source === "string" ? value.source.trim() : "";
45
+ const m = src.match(SELF_PATH);
46
+ if (m) {
47
+ let cur = self;
48
+ for (const key of m[1].split(".").slice(1)) {
49
+ cur = cur?.[key];
50
+ }
51
+ return cur;
52
+ }
53
+ return ctx.expandWith(value, { self });
54
+ }
55
+ if (Array.isArray(value))
56
+ return value.map((v) => expandBaseNode(v, self, ctx));
57
+ if (value !== null && typeof value === "object" && Object.getPrototypeOf(value) === Object.prototype) {
58
+ const out = {};
59
+ for (const [k, v] of Object.entries(value)) {
60
+ out[k] = expandBaseNode(v, self, ctx);
61
+ }
62
+ return out;
63
+ }
64
+ return value;
65
+ }
66
+ /**
67
+ * Controller for a definition that inherits its controller by delegation — it
68
+ * `extends` a concrete kind, declares no own `controllers:` / template body, and
69
+ * maps the parent's config via `base:`. `create()` evaluates `base:` against the
70
+ * child instance's config (`self`, with reference slots resolved to live
71
+ * instances) and constructs the parent kind through {@link InheritedInstanceHost},
72
+ * returning that native parent instance verbatim so the child duck-types as its
73
+ * parent (e.g. inherits `.snapshot()`).
74
+ */
75
+ export function createInheritedController(definition, definingContext, resolveDef) {
76
+ const authorSchema = effectiveAuthorSchema(definition, resolveDef);
77
+ const parentKind = definition.extends;
78
+ if (!parentKind) {
79
+ throw new Error(`Telo.Definition '${definition.metadata.name}': inherited controller requires an 'extends' target.`);
80
+ }
81
+ const base = definition.base;
82
+ // Top-level reference fields on the author-facing schema — resolved to live
83
+ // instances before `base:` runs so a `!cel "self.<ref>"` passthrough forwards
84
+ // the live parent instance (e.g. a `client` into an inherited Http.Request).
85
+ const refFieldPaths = [];
86
+ for (const [path, entry] of buildReferenceFieldMap(authorSchema)) {
87
+ if (isRefEntry(entry) && !path.includes(".") && !path.includes("["))
88
+ refFieldPaths.push(path);
89
+ }
90
+ return {
91
+ schema: authorSchema,
92
+ create: async (resource, ctx) => {
93
+ const self = { ...resource, name: resource.metadata.name };
94
+ for (const path of refFieldPaths) {
95
+ const raw = resource[path];
96
+ if (raw == null)
97
+ continue;
98
+ const live = resolveRefSlot(raw, ctx);
99
+ // A reference that is set but hasn't resolved yet means the dependency
100
+ // isn't initialized — defer via the retry signal, like _createInstance.
101
+ if (!live)
102
+ return null;
103
+ self[path] = live;
104
+ }
105
+ // With `base:`, it maps `self` onto the parent's (narrowed) config. Without
106
+ // it, the child is a pure additive extension: it carries the parent's config
107
+ // fields directly, so forward them (reference slots already resolved to live
108
+ // instances in `self`), minus the reserved keys.
109
+ let parentConfig;
110
+ if (base != null) {
111
+ parentConfig = expandBaseNode(base, self, definingContext);
112
+ }
113
+ else {
114
+ const { kind: _kind, metadata: _metadata, name: _name, ...config } = self;
115
+ parentConfig = config;
116
+ }
117
+ const parentResource = {
118
+ kind: parentKind,
119
+ metadata: { ...resource.metadata },
120
+ ...parentConfig,
121
+ };
122
+ const host = ctx;
123
+ if (typeof host.createInheritedInstance !== "function") {
124
+ throw new Error(`Telo.Definition '${definition.metadata.name}': inherited controller requires a ResourceContext host that implements createInheritedInstance().`);
125
+ }
126
+ return host.createInheritedInstance(definingContext, parentResource);
127
+ },
128
+ };
129
+ }
130
+ //# sourceMappingURL=resource-inherited-controller.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resource-inherited-controller.js","sourceRoot":"","sources":["../../../src/controllers/resource-definition/resource-inherited-controller.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EACL,sBAAsB,EACtB,qBAAqB,EACrB,UAAU,GAEX,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAcpD;;2DAE2D;AAC3D,MAAM,SAAS,GAAG,iCAAiC,CAAC;AAKpD,MAAM,WAAW,GAAG,CAAC,CAAU,EAAqB,EAAE,CACpD,CAAC,CAAC,CAAC,IAAI,OAAQ,CAA4B,CAAC,QAAQ,KAAK,UAAU,CAAC;AAEtE;;;;;0EAK0E;AAC1E,SAAS,cAAc,CAAC,KAAc,EAAE,GAAoB;IAC1D,IAAI,WAAW,CAAC,KAAK,CAAC;QAAE,OAAO,KAAoC,CAAC;IACpE,IAAI,IAAwB,CAAC;IAC7B,IAAI,KAAyB,CAAC;IAC9B,IAAI,aAAa,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,MAAM,GAAG,GAAG,GAAG,CAAC,eAAe,CAAC,KAAK,CAAqC,CAAC;QAC3E,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;QAChB,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC;IACpB,CAAC;SAAM,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9C,MAAM,GAAG,GAAG,KAA4C,CAAC;QACzD,IAAI,OAAO,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACjC,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;YAChB,KAAK,GAAG,OAAO,GAAG,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;QAChE,CAAC;IACH,CAAC;IACD,IAAI,CAAC,IAAI;QAAE,OAAO,SAAS,CAAC;IAC5B,MAAM,QAAQ,GACZ,KAAK,IAAI,KAAK,KAAK,MAAM;QACvB,CAAC,CAAC,GAAG,CAAC,aAAa,CAAC,uBAAuB,CAAC,KAAK,EAAE,IAAI,CAAC;QACxD,CAAC,CAAE,GAAG,CAAC,aAAa,CAAC,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,QAAyC,CAAC;IAChG,OAAO,QAAQ,IAAI,SAAS,CAAC;AAC/B,CAAC;AAED;;eAEe;AACf,SAAS,cAAc,CAAC,KAAc,EAAE,IAA6B,EAAE,GAAsB;IAC3F,IAAI,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC;QAC3B,MAAM,GAAG,GAAG,OAAO,KAAK,CAAC,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACxE,MAAM,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QAC/B,IAAI,CAAC,EAAE,CAAC;YACN,IAAI,GAAG,GAAY,IAAI,CAAC;YACxB,KAAK,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC3C,GAAG,GAAI,GAA2C,EAAE,CAAC,GAAG,CAAC,CAAC;YAC5D,CAAC;YACD,OAAO,GAAG,CAAC;QACb,CAAC;QACD,OAAO,GAAG,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;IACzC,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;IAChF,IAAI,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,KAAK,MAAM,CAAC,SAAS,EAAE,CAAC;QACrG,MAAM,GAAG,GAA4B,EAAE,CAAC;QACxC,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAgC,CAAC,EAAE,CAAC;YACtE,GAAG,CAAC,CAAC,CAAC,GAAG,cAAc,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;QACxC,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,yBAAyB,CACvC,UAA8B,EAC9B,eAAkC,EAClC,UAAuB;IAEvB,MAAM,YAAY,GAAG,qBAAqB,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;IACnE,MAAM,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC;IACtC,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CACb,oBAAoB,UAAU,CAAC,QAAQ,CAAC,IAAI,uDAAuD,CACpG,CAAC;IACJ,CAAC;IACD,MAAM,IAAI,GAAG,UAAU,CAAC,IAAI,CAAC;IAE7B,4EAA4E;IAC5E,8EAA8E;IAC9E,6EAA6E;IAC7E,MAAM,aAAa,GAAa,EAAE,CAAC;IACnC,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,sBAAsB,CAAC,YAAY,CAAC,EAAE,CAAC;QACjE,IAAI,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC;YAAE,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAChG,CAAC;IAED,OAAO;QACL,MAAM,EAAE,YAAY;QAEpB,MAAM,EAAE,KAAK,EAAE,QAAa,EAAE,GAAoB,EAAoC,EAAE;YACtF,MAAM,IAAI,GAA4B,EAAE,GAAG,QAAQ,EAAE,IAAI,EAAE,QAAQ,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;YACpF,KAAK,MAAM,IAAI,IAAI,aAAa,EAAE,CAAC;gBACjC,MAAM,GAAG,GAAI,QAAoC,CAAC,IAAI,CAAC,CAAC;gBACxD,IAAI,GAAG,IAAI,IAAI;oBAAE,SAAS;gBAC1B,MAAM,IAAI,GAAG,cAAc,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;gBACtC,uEAAuE;gBACvE,wEAAwE;gBACxE,IAAI,CAAC,IAAI;oBAAE,OAAO,IAAI,CAAC;gBACvB,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;YACpB,CAAC;YAED,4EAA4E;YAC5E,6EAA6E;YAC7E,6EAA6E;YAC7E,iDAAiD;YACjD,IAAI,YAAqC,CAAC;YAC1C,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;gBACjB,YAAY,GAAG,cAAc,CAAC,IAAI,EAAE,IAAI,EAAE,eAAe,CAA4B,CAAC;YACxF,CAAC;iBAAM,CAAC;gBACN,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,EAAE,GAAG,IAAI,CAAC;gBAC1E,YAAY,GAAG,MAAM,CAAC;YACxB,CAAC;YACD,MAAM,cAAc,GAA4B;gBAC9C,IAAI,EAAE,UAAU;gBAChB,QAAQ,EAAE,EAAE,GAAG,QAAQ,CAAC,QAAQ,EAAE;gBAClC,GAAG,YAAY;aAChB,CAAC;YACF,MAAM,IAAI,GAAG,GAAuC,CAAC;YACrD,IAAI,OAAQ,IAA8C,CAAC,uBAAuB,KAAK,UAAU,EAAE,CAAC;gBAClG,MAAM,IAAI,KAAK,CACb,oBAAoB,UAAU,CAAC,QAAQ,CAAC,IAAI,oGAAoG,CACjJ,CAAC;YACJ,CAAC;YACD,OAAO,IAAI,CAAC,uBAAuB,CAAC,eAAe,EAAE,cAAc,CAAC,CAAC;QACvE,CAAC;KACF,CAAC;AACJ,CAAC"}
package/dist/kernel.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import { AnalysisRegistry, type LoadedGraph, type ManifestSource } from "@telorun/analyzer";
2
- import { Kernel as IKernel, ResourceDefinition, ResourceManifest, RuntimeEvent, type InvokeOptions, type LoadOptions } from "@telorun/sdk";
2
+ import { Kernel as IKernel, ResourceDefinition, ResourceInstance, ResourceManifest, RuntimeEvent, type EvaluationContext as IEvaluationContext, type InvokeOptions, type LoadOptions } from "@telorun/sdk";
3
3
  export interface KernelOptions {
4
4
  stdin?: NodeJS.ReadableStream;
5
5
  stdout?: NodeJS.WritableStream;
@@ -239,6 +239,16 @@ export declare class Kernel implements IKernel {
239
239
  * is not yet registered (retry signal).
240
240
  */
241
241
  private _createInstance;
242
+ /**
243
+ * Create phase for an inherited (concrete-`extends`) definition's parent: runs
244
+ * the ordinary create pipeline (controller resolution + lazy load, schema
245
+ * validation, compile-CEL expansion, ctx creation) for the parent-kind
246
+ * manifest built from `base:`, and returns the native parent instance. The
247
+ * inherited child's controller returns this verbatim so the child duck-types
248
+ * as its parent. Null means the parent controller isn't registered yet — the
249
+ * caller propagates it as the create-phase retry signal.
250
+ */
251
+ createInheritedInstance(evalContext: IEvaluationContext, resource: ResourceManifest): Promise<ResourceInstance | null>;
242
252
  /**
243
253
  * Phase 5 — Inject live instances into reference fields of a resource config.
244
254
  *
@@ -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
@@ -836,6 +836,19 @@ export class Kernel {
836
836
  };
837
837
  return { instance, ctx, resource: processedResource };
838
838
  }
839
+ /**
840
+ * Create phase for an inherited (concrete-`extends`) definition's parent: runs
841
+ * the ordinary create pipeline (controller resolution + lazy load, schema
842
+ * validation, compile-CEL expansion, ctx creation) for the parent-kind
843
+ * manifest built from `base:`, and returns the native parent instance. The
844
+ * inherited child's controller returns this verbatim so the child duck-types
845
+ * as its parent. Null means the parent controller isn't registered yet — the
846
+ * caller propagates it as the create-phase retry signal.
847
+ */
848
+ async createInheritedInstance(evalContext, resource) {
849
+ const created = await this._createInstance(evalContext, resource);
850
+ return created?.instance ?? null;
851
+ }
839
852
  /**
840
853
  * Phase 5 — Inject live instances into reference fields of a resource config.
841
854
  *
@@ -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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"}
@@ -72,6 +72,14 @@ export declare class ResourceContextImpl implements ResourceContext {
72
72
  * surface; the only caller is the `Telo.Definition` controller.
73
73
  */
74
74
  registerLazyController(moduleName: string, kindName: string, load: () => Promise<void>): void;
75
+ /**
76
+ * Run the create phase for an inherited (concrete-`extends`) definition's
77
+ * parent kind, returning the native parent instance (or null when the parent
78
+ * controller isn't registered yet — a retry). A typed internal seam for the
79
+ * inherited-controller delegation; off the public SDK `ResourceContext`
80
+ * surface, like `registerLazyController`.
81
+ */
82
+ createInheritedInstance(evalContext: IEvaluationContext, resource: Record<string, unknown>): Promise<ResourceInstance | null>;
75
83
  registerDefinition(def: any): void;
76
84
  getControllerPolicy(): ControllerPolicy | undefined;
77
85
  getEntryUrl(): string | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"resource-context.d.ts","sourceRoot":"","sources":["../src/resource-context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resource-context.d.ts","sourceRoot":"","sources":["../src/resource-context.ts"],"names":[],"mappings":"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"}
@@ -298,6 +298,16 @@ export class ResourceContextImpl {
298
298
  const fingerprint = policyFingerprint(this.moduleContext.getControllerPolicy());
299
299
  this.kernel.registerLazyController(moduleName, kindName, fingerprint, load);
300
300
  }
301
+ /**
302
+ * Run the create phase for an inherited (concrete-`extends`) definition's
303
+ * parent kind, returning the native parent instance (or null when the parent
304
+ * controller isn't registered yet — a retry). A typed internal seam for the
305
+ * inherited-controller delegation; off the public SDK `ResourceContext`
306
+ * surface, like `registerLazyController`.
307
+ */
308
+ createInheritedInstance(evalContext, resource) {
309
+ return this.kernel.createInheritedInstance(evalContext, resource);
310
+ }
301
311
  registerDefinition(def) {
302
312
  this.kernel.registerResourceDefinition(def);
303
313
  }
@@ -1 +1 @@
1
- {"version":3,"file":"resource-context.js","sourceRoot":"","sources":["../src/resource-context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resource-context.js","sourceRoot":"","sources":["../src/resource-context.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@telorun/kernel",
3
- "version": "0.43.0",
3
+ "version": "0.44.1",
4
4
  "description": "Telo Runtime - A lightweight, polyglot execution host.",
5
5
  "keywords": [
6
6
  "telo",
@@ -47,7 +47,7 @@
47
47
  "dependencies": {
48
48
  "@marcbachmann/cel-js": "^7.6.1",
49
49
  "@sinclair/typebox": "^0.34.48",
50
- "@telorun/analyzer": "0.33.0",
50
+ "@telorun/analyzer": "0.34.1",
51
51
  "@telorun/glob": "0.2.0",
52
52
  "@telorun/templating": "0.10.1",
53
53
  "ajv": "^8.17.1",
@@ -61,7 +61,7 @@
61
61
  "@types/tar-stream": "^3.1.3",
62
62
  "typescript": "^5.0.0",
63
63
  "vitest": "^2.1.8",
64
- "@telorun/sdk": "0.41.0"
64
+ "@telorun/sdk": "0.44.0"
65
65
  },
66
66
  "optionalDependencies": {
67
67
  "esbuild": "^0.28.1"
@@ -1,12 +1,21 @@
1
1
  import type {
2
2
  ControllerContext,
3
3
  ResourceContext,
4
+ ResourceDefinition as ResourceDefinitionManifest,
4
5
  ResourceInstance,
5
6
  RuntimeResource,
6
7
  } from "@telorun/sdk";
8
+ import { RuntimeError } from "@telorun/sdk";
9
+ import {
10
+ controllerBearingAncestor,
11
+ hasOwnControllerOrTemplate,
12
+ inheritedCapability,
13
+ type DefResolver,
14
+ } from "@telorun/analyzer";
7
15
  import { ControllerLoader } from "../../controller-loader.js";
8
16
  import { formatAjvErrors, validateResourceDefinition } from "../../manifest-schemas.js";
9
17
  import { createTemplateController } from "./resource-template-controller.js";
18
+ import { createInheritedController } from "./resource-inherited-controller.js";
10
19
 
11
20
  type ResourceDefinitionResource = RuntimeResource & {
12
21
  kind: "Telo.Definition";
@@ -17,6 +26,8 @@ type ResourceDefinitionResource = RuntimeResource & {
17
26
  };
18
27
  schema: Record<string, any>;
19
28
  capability?: string;
29
+ extends?: string;
30
+ base?: Record<string, any>;
20
31
  controllers?: Array<string>;
21
32
  provide?: unknown;
22
33
  };
@@ -31,6 +42,60 @@ class ResourceDefinition implements ResourceInstance {
31
42
  constructor(readonly resource: ResourceDefinitionResource) {}
32
43
 
33
44
  async init(ctx: ResourceContext) {
45
+ const definingCtx = ctx.moduleContext;
46
+ // Resolve an `extends`/kind target (alias or canonical form) to its
47
+ // definition against the DEFINING library's scope — where the `extends`
48
+ // alias was declared.
49
+ const resolveDef: DefResolver = (kind) => {
50
+ let canonical = kind;
51
+ try {
52
+ canonical = definingCtx.resolveKind(kind);
53
+ } catch {
54
+ // ungated / unqualified — fall back to the raw kind below
55
+ }
56
+ return definingCtx.getDefinition?.(canonical) ?? definingCtx.getDefinition?.(kind);
57
+ };
58
+
59
+ // Inherited-controller delegation: a definition that `extends` a concrete
60
+ // kind, declares no own `controllers:` / template body, inherits the parent
61
+ // controller by delegation and maps its config via `base:`.
62
+ if (this.resource.extends && !hasOwnControllerOrTemplate(this.resource as ResourceDefinitionManifest)) {
63
+ const parentDef = resolveDef(this.resource.extends);
64
+ if (!parentDef) {
65
+ // The parent's Telo.Definition (and thus its controller) isn't loaded
66
+ // yet — defer; the multi-pass init loop retries once its import resolves.
67
+ throw new RuntimeError(
68
+ "ERR_LOCAL_REF_PENDING",
69
+ `Telo.Definition '${this.resource.metadata.name}': 'extends' target '${this.resource.extends}' is not loaded yet.`,
70
+ );
71
+ }
72
+ if (controllerBearingAncestor(this.resource as ResourceDefinitionManifest, resolveDef)) {
73
+ // Capability is inherited and immutable — stamp the resolved capability
74
+ // so every consumer that reads `definition.capability` (compile-CEL eval
75
+ // paths, `capabilityOf`, lifecycle role) sees the effective role without
76
+ // re-walking `extends`.
77
+ if (!this.resource.capability) {
78
+ const inherited = inheritedCapability(this.resource as ResourceDefinitionManifest, resolveDef);
79
+ if (inherited) this.resource.capability = inherited;
80
+ }
81
+ const controllerInstance = createInheritedController(
82
+ this.resource as ResourceDefinitionManifest,
83
+ definingCtx,
84
+ resolveDef,
85
+ );
86
+ ctx.registerDefinition(this.resource);
87
+ await ctx.registerController(
88
+ this.resource.metadata.module,
89
+ this.resource.metadata.name,
90
+ controllerInstance,
91
+ );
92
+ return;
93
+ }
94
+ // Otherwise the chain reaches no controller-bearing concrete ancestor
95
+ // (e.g. it implements a pure abstract) — fall through to the normal
96
+ // template / controller handling below.
97
+ }
98
+
34
99
  if (!this.resource.controllers?.length) {
35
100
  if (this.resource.capability === "Telo.Provider" && this.resource.provide == null) {
36
101
  throw new Error(
@@ -0,0 +1,167 @@
1
+ import type {
2
+ ControllerInstance,
3
+ EvaluationContext,
4
+ ResourceContext,
5
+ ResourceDefinition,
6
+ ResourceInstance,
7
+ } from "@telorun/sdk";
8
+ import { isCompiledValue } from "@telorun/sdk";
9
+ import {
10
+ buildReferenceFieldMap,
11
+ effectiveAuthorSchema,
12
+ isRefEntry,
13
+ type DefResolver,
14
+ } from "@telorun/analyzer";
15
+ import { isRefSentinel } from "@telorun/templating";
16
+
17
+ /** Typed internal seam implemented by the concrete `ResourceContextImpl`: runs
18
+ * the kernel's create phase for the parent-kind manifest and returns the native
19
+ * parent instance (or null when the parent controller isn't registered yet — a
20
+ * retry, same as `_createInstance`). Off the public SDK surface, like
21
+ * `registerLazyController`. */
22
+ export interface InheritedInstanceHost {
23
+ createInheritedInstance(
24
+ evalContext: EvaluationContext,
25
+ resource: Record<string, unknown>,
26
+ ): Promise<ResourceInstance | null>;
27
+ }
28
+
29
+ /** Matches a CEL source that is exactly a `self.<path>` member access — resolved
30
+ * by direct navigation so live resource instances (which CEL's output type
31
+ * checker rejects) can flow through `base:` untouched. */
32
+ const SELF_PATH = /^self((?:\.[A-Za-z_$][\w$]*)+)$/;
33
+
34
+ interface Snapshotable {
35
+ snapshot(): Record<string, unknown>;
36
+ }
37
+ const hasSnapshot = (v: unknown): v is Snapshotable =>
38
+ !!v && typeof (v as { snapshot?: unknown }).snapshot === "function";
39
+
40
+ /** Resolves a reference-slot value to its live instance, or undefined when the
41
+ * referenced resource isn't initialized yet. A value that is already a live
42
+ * instance (has `snapshot()`) passes through. Post Phase-2.5 a slot holds a
43
+ * `{kind, name, alias?}` object; a raw `!ref` sentinel (only reachable behind a
44
+ * hidden `$ref` slot) is normalized through the sanctioned `ctx.resolveChildren`
45
+ * so the reference grammar (alias/Self splitting) stays in one place. */
46
+ function resolveRefSlot(value: unknown, ctx: ResourceContext): ResourceInstance | undefined {
47
+ if (hasSnapshot(value)) return value as unknown as ResourceInstance;
48
+ let name: string | undefined;
49
+ let alias: string | undefined;
50
+ if (isRefSentinel(value)) {
51
+ const ref = ctx.resolveChildren(value) as { name: string; alias?: string };
52
+ name = ref.name;
53
+ alias = ref.alias;
54
+ } else if (value && typeof value === "object") {
55
+ const ref = value as { name?: unknown; alias?: unknown };
56
+ if (typeof ref.name === "string") {
57
+ name = ref.name;
58
+ alias = typeof ref.alias === "string" ? ref.alias : undefined;
59
+ }
60
+ }
61
+ if (!name) return undefined;
62
+ const instance =
63
+ alias && alias !== "Self"
64
+ ? ctx.moduleContext.resolveImportedInstance(alias, name)
65
+ : (ctx.moduleContext.resourceInstances.get(name)?.instance as ResourceInstance | undefined);
66
+ return instance ?? undefined;
67
+ }
68
+
69
+ /** Expand a `base:` node against `self`. Self-only CEL resolves to literals now;
70
+ * a pure `self.<path>` access is navigated directly so live instances pass
71
+ * through. */
72
+ function expandBaseNode(value: unknown, self: Record<string, unknown>, ctx: EvaluationContext): unknown {
73
+ if (isCompiledValue(value)) {
74
+ const src = typeof value.source === "string" ? value.source.trim() : "";
75
+ const m = src.match(SELF_PATH);
76
+ if (m) {
77
+ let cur: unknown = self;
78
+ for (const key of m[1].split(".").slice(1)) {
79
+ cur = (cur as Record<string, unknown> | undefined)?.[key];
80
+ }
81
+ return cur;
82
+ }
83
+ return ctx.expandWith(value, { self });
84
+ }
85
+ if (Array.isArray(value)) return value.map((v) => expandBaseNode(v, self, ctx));
86
+ if (value !== null && typeof value === "object" && Object.getPrototypeOf(value) === Object.prototype) {
87
+ const out: Record<string, unknown> = {};
88
+ for (const [k, v] of Object.entries(value as Record<string, unknown>)) {
89
+ out[k] = expandBaseNode(v, self, ctx);
90
+ }
91
+ return out;
92
+ }
93
+ return value;
94
+ }
95
+
96
+ /**
97
+ * Controller for a definition that inherits its controller by delegation — it
98
+ * `extends` a concrete kind, declares no own `controllers:` / template body, and
99
+ * maps the parent's config via `base:`. `create()` evaluates `base:` against the
100
+ * child instance's config (`self`, with reference slots resolved to live
101
+ * instances) and constructs the parent kind through {@link InheritedInstanceHost},
102
+ * returning that native parent instance verbatim so the child duck-types as its
103
+ * parent (e.g. inherits `.snapshot()`).
104
+ */
105
+ export function createInheritedController(
106
+ definition: ResourceDefinition,
107
+ definingContext: EvaluationContext,
108
+ resolveDef: DefResolver,
109
+ ): ControllerInstance {
110
+ const authorSchema = effectiveAuthorSchema(definition, resolveDef);
111
+ const parentKind = definition.extends;
112
+ if (!parentKind) {
113
+ throw new Error(
114
+ `Telo.Definition '${definition.metadata.name}': inherited controller requires an 'extends' target.`,
115
+ );
116
+ }
117
+ const base = definition.base;
118
+
119
+ // Top-level reference fields on the author-facing schema — resolved to live
120
+ // instances before `base:` runs so a `!cel "self.<ref>"` passthrough forwards
121
+ // the live parent instance (e.g. a `client` into an inherited Http.Request).
122
+ const refFieldPaths: string[] = [];
123
+ for (const [path, entry] of buildReferenceFieldMap(authorSchema)) {
124
+ if (isRefEntry(entry) && !path.includes(".") && !path.includes("[")) refFieldPaths.push(path);
125
+ }
126
+
127
+ return {
128
+ schema: authorSchema,
129
+
130
+ create: async (resource: any, ctx: ResourceContext): Promise<ResourceInstance | null> => {
131
+ const self: Record<string, unknown> = { ...resource, name: resource.metadata.name };
132
+ for (const path of refFieldPaths) {
133
+ const raw = (resource as Record<string, unknown>)[path];
134
+ if (raw == null) continue;
135
+ const live = resolveRefSlot(raw, ctx);
136
+ // A reference that is set but hasn't resolved yet means the dependency
137
+ // isn't initialized — defer via the retry signal, like _createInstance.
138
+ if (!live) return null;
139
+ self[path] = live;
140
+ }
141
+
142
+ // With `base:`, it maps `self` onto the parent's (narrowed) config. Without
143
+ // it, the child is a pure additive extension: it carries the parent's config
144
+ // fields directly, so forward them (reference slots already resolved to live
145
+ // instances in `self`), minus the reserved keys.
146
+ let parentConfig: Record<string, unknown>;
147
+ if (base != null) {
148
+ parentConfig = expandBaseNode(base, self, definingContext) as Record<string, unknown>;
149
+ } else {
150
+ const { kind: _kind, metadata: _metadata, name: _name, ...config } = self;
151
+ parentConfig = config;
152
+ }
153
+ const parentResource: Record<string, unknown> = {
154
+ kind: parentKind,
155
+ metadata: { ...resource.metadata },
156
+ ...parentConfig,
157
+ };
158
+ const host = ctx as unknown as InheritedInstanceHost;
159
+ if (typeof (host as { createInheritedInstance?: unknown }).createInheritedInstance !== "function") {
160
+ throw new Error(
161
+ `Telo.Definition '${definition.metadata.name}': inherited controller requires a ResourceContext host that implements createInheritedInstance().`,
162
+ );
163
+ }
164
+ return host.createInheritedInstance(definingContext, parentResource);
165
+ },
166
+ };
167
+ }
package/src/kernel.ts CHANGED
@@ -1118,6 +1118,23 @@ export class Kernel implements IKernel {
1118
1118
  return { instance, ctx, resource: processedResource };
1119
1119
  }
1120
1120
 
1121
+ /**
1122
+ * Create phase for an inherited (concrete-`extends`) definition's parent: runs
1123
+ * the ordinary create pipeline (controller resolution + lazy load, schema
1124
+ * validation, compile-CEL expansion, ctx creation) for the parent-kind
1125
+ * manifest built from `base:`, and returns the native parent instance. The
1126
+ * inherited child's controller returns this verbatim so the child duck-types
1127
+ * as its parent. Null means the parent controller isn't registered yet — the
1128
+ * caller propagates it as the create-phase retry signal.
1129
+ */
1130
+ async createInheritedInstance(
1131
+ evalContext: IEvaluationContext,
1132
+ resource: ResourceManifest,
1133
+ ): Promise<ResourceInstance | null> {
1134
+ const created = await this._createInstance(evalContext, resource);
1135
+ return created?.instance ?? null;
1136
+ }
1137
+
1121
1138
  /**
1122
1139
  * Phase 5 — Inject live instances into reference fields of a resource config.
1123
1140
  *
@@ -412,6 +412,20 @@ export class ResourceContextImpl implements ResourceContext {
412
412
  this.kernel.registerLazyController(moduleName, kindName, fingerprint, load);
413
413
  }
414
414
 
415
+ /**
416
+ * Run the create phase for an inherited (concrete-`extends`) definition's
417
+ * parent kind, returning the native parent instance (or null when the parent
418
+ * controller isn't registered yet — a retry). A typed internal seam for the
419
+ * inherited-controller delegation; off the public SDK `ResourceContext`
420
+ * surface, like `registerLazyController`.
421
+ */
422
+ createInheritedInstance(
423
+ evalContext: IEvaluationContext,
424
+ resource: Record<string, unknown>,
425
+ ): Promise<ResourceInstance | null> {
426
+ return this.kernel.createInheritedInstance(evalContext, resource as ResourceManifest);
427
+ }
428
+
415
429
  registerDefinition(def: any) {
416
430
  this.kernel.registerResourceDefinition(def);
417
431
  }