@telorun/kernel 0.45.0 → 0.46.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.
@@ -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,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
+ {"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;AActB,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;CA2IhC;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,5 +1,5 @@
1
1
  import { RuntimeError } from "@telorun/sdk";
2
- import { controllerBearingAncestor, hasOwnControllerOrTemplate, inheritedCapability, } from "@telorun/analyzer";
2
+ import { controllerBearingAncestor, effectiveAuthorSchema, hasOwnControllerOrTemplate, inheritedCapability, } from "@telorun/analyzer";
3
3
  import { ControllerLoader } from "../../controller-loader.js";
4
4
  import { formatAjvErrors, validateResourceDefinition } from "../../manifest-schemas.js";
5
5
  import { createTemplateController } from "./resource-template-controller.js";
@@ -28,6 +28,21 @@ class ResourceDefinition {
28
28
  }
29
29
  return definingCtx.getDefinition?.(canonical) ?? definingCtx.getDefinition?.(kind);
30
30
  };
31
+ // Stamp the inheritance-resolved author schema, mirroring the capability
32
+ // stamping below: without `base:`, an `extends` child is authored against
33
+ // merge(parent, own), so a field the parent declares is legal on the child.
34
+ // Every consumer validating a resource against `definition.schema` must see
35
+ // that merged view — otherwise the analyzer accepts an inherited field and
36
+ // the kernel rejects it at create(). Shares `effectiveAuthorSchema` with the
37
+ // analyzer so `telo check` and the runtime cannot drift.
38
+ if (this.resource.extends) {
39
+ if (!resolveDef(this.resource.extends)) {
40
+ // Parent not loaded yet — defer rather than silently merging nothing,
41
+ // which would cache a schema missing every inherited field.
42
+ throw new RuntimeError("ERR_LOCAL_REF_PENDING", `Telo.Definition '${this.resource.metadata.name}': 'extends' target '${this.resource.extends}' is not loaded yet.`);
43
+ }
44
+ this.resource.schema = effectiveAuthorSchema(this.resource, resolveDef);
45
+ }
31
46
  // Inherited-controller delegation: a definition that `extends` a concrete
32
47
  // kind, declares no own `controllers:` / template body, inherits the parent
33
48
  // controller by delegation and maps its config via `base:`.
@@ -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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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@telorun/kernel",
3
- "version": "0.45.0",
3
+ "version": "0.46.0",
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.35.0",
50
+ "@telorun/analyzer": "0.36.0",
51
51
  "@telorun/glob": "0.2.0",
52
52
  "@telorun/templating": "0.10.1",
53
53
  "ajv": "^8.17.1",
@@ -8,6 +8,7 @@ import type {
8
8
  import { RuntimeError } from "@telorun/sdk";
9
9
  import {
10
10
  controllerBearingAncestor,
11
+ effectiveAuthorSchema,
11
12
  hasOwnControllerOrTemplate,
12
13
  inheritedCapability,
13
14
  type DefResolver,
@@ -56,6 +57,28 @@ class ResourceDefinition implements ResourceInstance {
56
57
  return definingCtx.getDefinition?.(canonical) ?? definingCtx.getDefinition?.(kind);
57
58
  };
58
59
 
60
+ // Stamp the inheritance-resolved author schema, mirroring the capability
61
+ // stamping below: without `base:`, an `extends` child is authored against
62
+ // merge(parent, own), so a field the parent declares is legal on the child.
63
+ // Every consumer validating a resource against `definition.schema` must see
64
+ // that merged view — otherwise the analyzer accepts an inherited field and
65
+ // the kernel rejects it at create(). Shares `effectiveAuthorSchema` with the
66
+ // analyzer so `telo check` and the runtime cannot drift.
67
+ if (this.resource.extends) {
68
+ if (!resolveDef(this.resource.extends)) {
69
+ // Parent not loaded yet — defer rather than silently merging nothing,
70
+ // which would cache a schema missing every inherited field.
71
+ throw new RuntimeError(
72
+ "ERR_LOCAL_REF_PENDING",
73
+ `Telo.Definition '${this.resource.metadata.name}': 'extends' target '${this.resource.extends}' is not loaded yet.`,
74
+ );
75
+ }
76
+ this.resource.schema = effectiveAuthorSchema(
77
+ this.resource as ResourceDefinitionManifest,
78
+ resolveDef,
79
+ );
80
+ }
81
+
59
82
  // Inherited-controller delegation: a definition that `extends` a concrete
60
83
  // kind, declares no own `controllers:` / template body, inherits the parent
61
84
  // controller by delegation and maps its config via `base:`.