@telorun/kernel 0.12.0 → 0.13.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 (161) hide show
  1. package/LICENSE +2 -2
  2. package/dist/application-env.d.ts +24 -0
  3. package/dist/application-env.d.ts.map +1 -0
  4. package/dist/application-env.js +156 -0
  5. package/dist/application-env.js.map +1 -0
  6. package/dist/base-definition.d.ts +14 -0
  7. package/dist/base-definition.d.ts.map +1 -0
  8. package/dist/base-definition.js +17 -0
  9. package/dist/base-definition.js.map +1 -0
  10. package/dist/capabilities/capabilities/component.yaml +4 -0
  11. package/dist/capabilities/capabilities/executable.yaml +8 -0
  12. package/dist/capabilities/capabilities/handler.yaml +4 -0
  13. package/dist/capabilities/capabilities/listener.yaml +4 -0
  14. package/dist/capabilities/capabilities/provider.yaml +4 -0
  15. package/dist/capabilities/capabilities/template.yaml +4 -0
  16. package/dist/capabilities/capabilities/type.yaml +4 -0
  17. package/dist/capabilities/component.d.ts +3 -0
  18. package/dist/capabilities/component.d.ts.map +1 -0
  19. package/dist/capabilities/component.js +4 -0
  20. package/dist/capabilities/component.js.map +1 -0
  21. package/dist/capabilities/component.yaml +3 -0
  22. package/dist/capabilities/executable.d.ts +3 -0
  23. package/dist/capabilities/executable.d.ts.map +1 -0
  24. package/dist/capabilities/executable.js +5 -0
  25. package/dist/capabilities/executable.js.map +1 -0
  26. package/dist/capabilities/executable.yaml +7 -0
  27. package/dist/capabilities/handler.d.ts +3 -0
  28. package/dist/capabilities/handler.d.ts.map +1 -0
  29. package/dist/capabilities/handler.js +4 -0
  30. package/dist/capabilities/handler.js.map +1 -0
  31. package/dist/capabilities/handler.yaml +3 -0
  32. package/dist/capabilities/invokable.d.ts +3 -0
  33. package/dist/capabilities/invokable.d.ts.map +1 -0
  34. package/dist/capabilities/invokable.js +5 -0
  35. package/dist/capabilities/invokable.js.map +1 -0
  36. package/dist/capabilities/listener.d.ts +3 -0
  37. package/dist/capabilities/listener.d.ts.map +1 -0
  38. package/dist/capabilities/listener.js +5 -0
  39. package/dist/capabilities/listener.js.map +1 -0
  40. package/dist/capabilities/listener.yaml +3 -0
  41. package/dist/capabilities/mount.d.ts +3 -0
  42. package/dist/capabilities/mount.d.ts.map +1 -0
  43. package/dist/capabilities/mount.js +5 -0
  44. package/dist/capabilities/mount.js.map +1 -0
  45. package/dist/capabilities/provider.d.ts +3 -0
  46. package/dist/capabilities/provider.d.ts.map +1 -0
  47. package/dist/capabilities/provider.js +8 -0
  48. package/dist/capabilities/provider.js.map +1 -0
  49. package/dist/capabilities/provider.yaml +3 -0
  50. package/dist/capabilities/runnable.d.ts +3 -0
  51. package/dist/capabilities/runnable.d.ts.map +1 -0
  52. package/dist/capabilities/runnable.js +5 -0
  53. package/dist/capabilities/runnable.js.map +1 -0
  54. package/dist/capabilities/service.d.ts +3 -0
  55. package/dist/capabilities/service.d.ts.map +1 -0
  56. package/dist/capabilities/service.js +5 -0
  57. package/dist/capabilities/service.js.map +1 -0
  58. package/dist/capabilities/template.d.ts +3 -0
  59. package/dist/capabilities/template.d.ts.map +1 -0
  60. package/dist/capabilities/template.js +5 -0
  61. package/dist/capabilities/template.js.map +1 -0
  62. package/dist/capabilities/template.yaml +3 -0
  63. package/dist/capabilities/type.d.ts +3 -0
  64. package/dist/capabilities/type.d.ts.map +1 -0
  65. package/dist/capabilities/type.js +5 -0
  66. package/dist/capabilities/type.js.map +1 -0
  67. package/dist/capabilities/type.yaml +3 -0
  68. package/dist/controller-loaders/npm-loader.d.ts +32 -8
  69. package/dist/controller-loaders/npm-loader.d.ts.map +1 -1
  70. package/dist/controller-loaders/npm-loader.js +74 -101
  71. package/dist/controller-loaders/npm-loader.js.map +1 -1
  72. package/dist/controllers/capability/capability-controller.d.ts +32 -0
  73. package/dist/controllers/capability/capability-controller.d.ts.map +1 -0
  74. package/dist/controllers/capability/capability-controller.js +26 -0
  75. package/dist/controllers/capability/capability-controller.js.map +1 -0
  76. package/dist/controllers/module/import-controller.d.ts +3 -2
  77. package/dist/controllers/module/import-controller.d.ts.map +1 -1
  78. package/dist/controllers/module/import-controller.js +23 -25
  79. package/dist/controllers/module/import-controller.js.map +1 -1
  80. package/dist/controllers/module/module.json +48 -0
  81. package/dist/controllers/resource-definition/resource-definition-controller.d.ts +1 -0
  82. package/dist/controllers/resource-definition/resource-definition-controller.d.ts.map +1 -1
  83. package/dist/controllers/resource-definition/resource-definition-controller.js +3 -0
  84. package/dist/controllers/resource-definition/resource-definition-controller.js.map +1 -1
  85. package/dist/controllers/resource-definition/resource-template-controller.d.ts +5 -0
  86. package/dist/controllers/resource-definition/resource-template-controller.d.ts.map +1 -1
  87. package/dist/controllers/resource-definition/resource-template-controller.js +67 -6
  88. package/dist/controllers/resource-definition/resource-template-controller.js.map +1 -1
  89. package/dist/internal-context.d.ts +25 -0
  90. package/dist/internal-context.d.ts.map +1 -0
  91. package/dist/internal-context.js +2 -0
  92. package/dist/internal-context.js.map +1 -0
  93. package/dist/kernel.d.ts +21 -1
  94. package/dist/kernel.d.ts.map +1 -1
  95. package/dist/kernel.js +109 -5
  96. package/dist/kernel.js.map +1 -1
  97. package/dist/loader.d.ts +18 -0
  98. package/dist/loader.d.ts.map +1 -0
  99. package/dist/loader.js +127 -0
  100. package/dist/loader.js.map +1 -0
  101. package/dist/manifest-adapters/http-adapter.d.ts +8 -0
  102. package/dist/manifest-adapters/http-adapter.d.ts.map +1 -0
  103. package/dist/manifest-adapters/http-adapter.js +31 -0
  104. package/dist/manifest-adapters/http-adapter.js.map +1 -0
  105. package/dist/manifest-adapters/local-file-adapter.d.ts +15 -0
  106. package/dist/manifest-adapters/local-file-adapter.d.ts.map +1 -0
  107. package/dist/manifest-adapters/local-file-adapter.js +95 -0
  108. package/dist/manifest-adapters/local-file-adapter.js.map +1 -0
  109. package/dist/manifest-adapters/manifest-adapter.d.ts +35 -0
  110. package/dist/manifest-adapters/manifest-adapter.d.ts.map +1 -0
  111. package/dist/manifest-adapters/manifest-adapter.js +2 -0
  112. package/dist/manifest-adapters/manifest-adapter.js.map +1 -0
  113. package/dist/manifest-adapters/registry-adapter.d.ts +9 -0
  114. package/dist/manifest-adapters/registry-adapter.d.ts.map +1 -0
  115. package/dist/manifest-adapters/registry-adapter.js +48 -0
  116. package/dist/manifest-adapters/registry-adapter.js.map +1 -0
  117. package/dist/manifest-schemas.d.ts +7 -23
  118. package/dist/manifest-schemas.d.ts.map +1 -1
  119. package/dist/manifest-schemas.js +18 -8
  120. package/dist/manifest-schemas.js.map +1 -1
  121. package/dist/manifest-sources/analysis-stamp.d.ts +25 -0
  122. package/dist/manifest-sources/analysis-stamp.d.ts.map +1 -0
  123. package/dist/manifest-sources/analysis-stamp.js +151 -0
  124. package/dist/manifest-sources/analysis-stamp.js.map +1 -0
  125. package/dist/module-context-registry.d.ts +48 -0
  126. package/dist/module-context-registry.d.ts.map +1 -0
  127. package/dist/module-context-registry.js +91 -0
  128. package/dist/module-context-registry.js.map +1 -0
  129. package/dist/resource-context.d.ts +2 -0
  130. package/dist/resource-context.d.ts.map +1 -1
  131. package/dist/resource-context.js +28 -0
  132. package/dist/resource-context.js.map +1 -1
  133. package/dist/schema-valiator.d.ts +15 -0
  134. package/dist/schema-valiator.d.ts.map +1 -0
  135. package/dist/schema-valiator.js +127 -0
  136. package/dist/schema-valiator.js.map +1 -0
  137. package/dist/schema-validator.d.ts +28 -0
  138. package/dist/schema-validator.d.ts.map +1 -1
  139. package/dist/schema-validator.js +161 -1
  140. package/dist/schema-validator.js.map +1 -1
  141. package/dist/snapshot-serializer.d.ts +62 -0
  142. package/dist/snapshot-serializer.d.ts.map +1 -0
  143. package/dist/snapshot-serializer.js +164 -0
  144. package/dist/snapshot-serializer.js.map +1 -0
  145. package/dist/types.d.ts +65 -0
  146. package/dist/types.d.ts.map +1 -0
  147. package/dist/types.js +8 -0
  148. package/dist/types.js.map +1 -0
  149. package/package.json +9 -6
  150. package/src/application-env.ts +216 -0
  151. package/src/controller-loaders/npm-loader.ts +78 -103
  152. package/src/controllers/module/import-controller.ts +33 -36
  153. package/src/controllers/resource-definition/resource-definition-controller.ts +6 -0
  154. package/src/controllers/resource-definition/resource-template-controller.ts +95 -7
  155. package/src/internal-context.ts +25 -0
  156. package/src/kernel.ts +130 -5
  157. package/src/manifest-schemas.ts +31 -11
  158. package/src/manifest-sources/analysis-stamp.ts +169 -0
  159. package/src/resource-context.ts +34 -0
  160. package/src/schema-validator.ts +178 -2
  161. package/dist/generated/runtime-deps.json +0 -6
@@ -1,11 +1,11 @@
1
- import { Type } from "@sinclair/typebox";
2
1
  import AjvModule from "ajv";
3
2
  import addFormats from "ajv-formats";
4
3
  const Ajv = AjvModule.default ?? AjvModule;
5
- export const RuntimeResourceSchema = Type.Object({
6
- kind: Type.String(),
7
- metadata: Type.Object({ name: Type.String() }, { additionalProperties: true }),
8
- }, { additionalProperties: true });
4
+ // Re-export the shared ResourceRef fragment from the templating package
5
+ // so consumers that pull it from the kernel manifest-schemas surface keep
6
+ // working. The canonical home is `@telorun/templating` because the
7
+ // fragment describes the parsed shape of the `!ref` tag's TaggedSentinel.
8
+ export { MANIFEST_SCHEMA_URI, ManifestRootSchema, ResourceRefSchema, } from "@telorun/templating";
9
9
  const metadataSchema = {
10
10
  type: "object",
11
11
  required: ["name"],
@@ -135,9 +135,19 @@ export const ResourceAbstractSchema = {
135
135
  };
136
136
  const ajv = new Ajv({ allErrors: true, strict: false });
137
137
  addFormats.default(ajv);
138
- export const validateRuntimeResource = ajv.compile(RuntimeResourceSchema);
139
- export const validateResourceDefinition = ajv.compile(ResourceDefinitionSchema);
140
- export const validateResourceAbstract = ajv.compile(ResourceAbstractSchema);
138
+ function lazyValidator(schema) {
139
+ let compiled;
140
+ const fn = (data) => {
141
+ if (!compiled)
142
+ compiled = ajv.compile(schema);
143
+ const ok = compiled(data);
144
+ fn.errors = compiled.errors;
145
+ return ok;
146
+ };
147
+ return fn;
148
+ }
149
+ export const validateResourceDefinition = lazyValidator(ResourceDefinitionSchema);
150
+ export const validateResourceAbstract = lazyValidator(ResourceAbstractSchema);
141
151
  export function formatAjvErrors(errors) {
142
152
  if (!errors || errors.length === 0)
143
153
  return "Unknown schema error";
@@ -1 +1 @@
1
- {"version":3,"file":"manifest-schemas.js","sourceRoot":"","sources":["../src/manifest-schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACzC,OAAO,SAAS,MAAM,KAAK,CAAC;AAC5B,OAAO,UAAU,MAAM,aAAa,CAAC;AACrC,MAAM,GAAG,GAAG,SAAS,CAAC,OAAO,IAAI,SAAS,CAAC;AAE3C,MAAM,CAAC,MAAM,qBAAqB,GAAG,IAAI,CAAC,MAAM,CAC9C;IACE,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE;IACnB,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,EAAE,EAAE,oBAAoB,EAAE,IAAI,EAAE,CAAC;CAC/E,EACD,EAAE,oBAAoB,EAAE,IAAI,EAAE,CAC/B,CAAC;AAEF,MAAM,cAAc,GAAG;IACrB,IAAI,EAAE,QAAQ;IACd,QAAQ,EAAE,CAAC,MAAM,CAAC;IAClB,UAAU,EAAE;QACV,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QACxB,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;KAC3B;IACD,oBAAoB,EAAE,IAAI;CAC3B,CAAC;AAEF,MAAM,YAAY,GAAG;IACnB,IAAI,EAAE,QAAQ;IACd,oBAAoB,EAAE,KAAK;IAC3B,UAAU,EAAE;QACV,KAAK,EAAE;YACL,IAAI,EAAE,QAAQ;YACd,aAAa,EAAE,EAAE,OAAO,EAAE,mBAAmB,EAAE;YAC/C,oBAAoB,EAAE;gBACpB,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,CAAC,aAAa,CAAC;gBACzB,oBAAoB,EAAE,KAAK;gBAC3B,UAAU,EAAE;oBACV,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;oBAC/B,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,oBAAoB,EAAE,IAAI,EAAE;iBACrD;aACF;SACF;QACD,uEAAuE;QACvE,sEAAsE;QACtE,yEAAyE;QACzE,oCAAoC;QACpC,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;QAC5B,0EAA0E;QAC1E,kEAAkE;QAClE,WAAW,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE;KACjC;CACF,CAAC;AAEF;;;;;;;yBAOyB;AACzB,MAAM,qBAAqB,GAAG,2CAA2C,CAAC;AAE1E,MAAM,cAAc,GAAG;IACrB,IAAI,EAAE,QAAQ;IACd,QAAQ,EAAE,CAAC,MAAM,EAAE,UAAU,CAAC;IAC9B,UAAU,EAAE;QACV,IAAI,EAAE,EAAE,KAAK,EAAE,iBAAiB,EAAE;QAClC,QAAQ,EAAE,cAAc;QACxB,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC9B,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,qBAAqB,EAAE;QAC3D,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,oBAAoB,EAAE,IAAI,EAAE;QACtD,WAAW,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE;QACzD,MAAM,EAAE,YAAY;KACrB;IACD,qBAAqB,EAAE,KAAK;CAC7B,CAAC;AAEF,MAAM,kBAAkB,GAAG;IACzB,cAAc;IACd,eAAe;IACf,gBAAgB;IAChB,eAAe;IACf,WAAW;IACX,YAAY;CACJ,CAAC;AAEX;;;yBAGyB;AACzB,MAAM,YAAY,GAAG,EAAE,GAAG,EAAE,EAAE,QAAQ,EAAE,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;AAEvD,MAAM,CAAC,MAAM,wBAAwB,GAAG;IACtC,GAAG,cAAc;IACjB,KAAK,EAAE;QACL;YACE,QAAQ,EAAE,CAAC,YAAY,CAAC;YACxB,UAAU,EAAE,EAAE,UAAU,EAAE,EAAE,KAAK,EAAE,cAAc,EAAE,EAAE;YACrD,GAAG,YAAY;SAChB;QACD,EAAE,QAAQ,EAAE,CAAC,YAAY,CAAC,EAAE,UAAU,EAAE,EAAE,UAAU,EAAE,EAAE,KAAK,EAAE,eAAe,EAAE,EAAE,EAAE;QACpF,EAAE,QAAQ,EAAE,CAAC,YAAY,CAAC,EAAE,UAAU,EAAE,EAAE,UAAU,EAAE,EAAE,KAAK,EAAE,gBAAgB,EAAE,EAAE,EAAE;QACrF;YACE,QAAQ,EAAE,CAAC,YAAY,CAAC;YACxB,UAAU,EAAE,EAAE,UAAU,EAAE,EAAE,KAAK,EAAE,eAAe,EAAE,EAAE;YACtD,GAAG,YAAY;SAChB;QACD;YACE,QAAQ,EAAE,CAAC,YAAY,CAAC;YACxB,UAAU,EAAE,EAAE,UAAU,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,EAAE;YAClD,GAAG,YAAY;SAChB;QACD;YACE,QAAQ,EAAE,CAAC,YAAY,CAAC;YACxB,UAAU,EAAE,EAAE,UAAU,EAAE,EAAE,KAAK,EAAE,YAAY,EAAE,EAAE;YACnD,GAAG,YAAY;SAChB;QACD,uEAAuE;QACvE;YACE,GAAG,EAAE;gBACH,QAAQ,EAAE,CAAC,YAAY,CAAC;gBACxB,UAAU,EAAE,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,kBAAkB,EAAE,EAAE;aACzD;YACD,qBAAqB,EAAE,IAAI;SAC5B;KACF;CACF,CAAC;AAEF;;;;;kFAKkF;AAClF,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC,IAAI,EAAE,QAAQ;IACd,QAAQ,EAAE,CAAC,MAAM,EAAE,UAAU,CAAC;IAC9B,UAAU,EAAE;QACV,IAAI,EAAE,EAAE,KAAK,EAAE,eAAe,EAAE;QAChC,QAAQ,EAAE,cAAc;QACxB,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE;QAC9B,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,oBAAoB,EAAE,IAAI,EAAE;KACvD;IACD,GAAG,EAAE;QACH,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,CAAC,aAAa,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC;KACjE;IACD,oBAAoB,EAAE,IAAI;CAC3B,CAAC;AAEF,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;AACxD,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;AAExB,MAAM,CAAC,MAAM,uBAAuB,GAAG,GAAG,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;AAC1E,MAAM,CAAC,MAAM,0BAA0B,GAAG,GAAG,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC;AAChF,MAAM,CAAC,MAAM,wBAAwB,GAAG,GAAG,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC;AAE5E,MAAM,UAAU,eAAe,CAAC,MAAgC;IAC9D,IAAI,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,sBAAsB,CAAC;IAClE,OAAO,MAAM;SACV,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;QACX,MAAM,CAAC,GAAG,GAAG,CAAC,YAAY,IAAI,GAAG,CAAC;QAClC,OAAO,GAAG,CAAC,IAAI,GAAG,CAAC,OAAO,IAAI,YAAY,EAAE,CAAC;IAC/C,CAAC,CAAC;SACD,IAAI,CAAC,IAAI,CAAC,CAAC;AAChB,CAAC"}
1
+ {"version":3,"file":"manifest-schemas.js","sourceRoot":"","sources":["../src/manifest-schemas.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ import type { LoadedGraph } from "@telorun/analyzer";
2
+ export interface AnalysisStamp {
3
+ version: number;
4
+ signature: string;
5
+ }
6
+ /** Hash every owner + partial file in `graph` together with the resolved
7
+ * `@telorun/kernel` and `@telorun/analyzer` versions into one content
8
+ * signature. Two loads of the same manifest set under the same package
9
+ * versions produce the same signature; any edit to any reachable file —
10
+ * or any pnpm/npm install that bumps the kernel or analyzer — flips it.
11
+ * This is what the kernel uses to decide whether the previous analyzer
12
+ * run's verdict still applies. */
13
+ export declare function computeAnalysisSignature(graph: LoadedGraph): string;
14
+ /** Read the stamped analysis verdict for the entry at `entryDir`, or
15
+ * `undefined` when missing / unreadable / format-mismatched. The
16
+ * `version` field is the on-disk *format* version; semantic
17
+ * invalidation flows through the signature (which embeds package
18
+ * versions). A future format change bumps `version` so older kernels
19
+ * reading a newer stamp (or vice versa) discard rather than misparse. */
20
+ export declare function readAnalysisStamp(entryDir: string): Promise<AnalysisStamp | undefined>;
21
+ /** Persist the analysis verdict so the next `kernel.load` can skip the
22
+ * per-resource validation walk when the manifest set is unchanged.
23
+ * Idempotent; safe to call after every successful load. */
24
+ export declare function writeAnalysisStamp(entryDir: string, signature: string): Promise<void>;
25
+ //# sourceMappingURL=analysis-stamp.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"analysis-stamp.d.ts","sourceRoot":"","sources":["../../src/manifest-sources/analysis-stamp.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAkGrD,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;mCAMmC;AACnC,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,WAAW,GAAG,MAAM,CAkBnE;AAED;;;;;0EAK0E;AAC1E,wBAAsB,iBAAiB,CACrC,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC,CAcpC;AAED;;4DAE4D;AAC5D,wBAAsB,kBAAkB,CACtC,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,IAAI,CAAC,CAQf"}
@@ -0,0 +1,151 @@
1
+ import { createHash } from "crypto";
2
+ import { readFileSync } from "fs";
3
+ import * as fs from "fs/promises";
4
+ import { createRequire } from "module";
5
+ import * as path from "path";
6
+ import { fileURLToPath } from "url";
7
+ /**
8
+ * Hash-keyed analysis cache: a tiny JSON sidecar in `.telo/manifests/`
9
+ * recording that an exact set of manifest bytes — under specific
10
+ * `@telorun/kernel` and `@telorun/analyzer` package versions — passed
11
+ * `analyzer.analyzeErrors`. The next `kernel.load` reads the sidecar
12
+ * and, if signatures match, skips the per-resource validation walk.
13
+ *
14
+ * Lives next to the manifest cache (`LocalManifestCacheSource`) but is
15
+ * independent of it — splitting both for grep-ability and because the
16
+ * concerns (URL → file content vs. content → analyzer verdict) are
17
+ * orthogonal.
18
+ */
19
+ const CACHE_SUBDIR = ".telo/manifests";
20
+ /** File-format version of the analysis stamp envelope. Only bumped when
21
+ * the on-disk *layout* changes (new fields, restructured payload). The
22
+ * *semantic* invalidation — "did the analyzer's logic change?" — is
23
+ * handled by baking the resolved `@telorun/analyzer` / `@telorun/kernel`
24
+ * package versions into the signature itself, so any pnpm/npm install
25
+ * that bumps either package automatically invalidates every stamp on
26
+ * disk. A hand-maintained integer for that purpose would silently mask
27
+ * newly-stricter validation until the next manifest edit. */
28
+ const ANALYSIS_STAMP_FORMAT_VERSION = 1;
29
+ const ANALYSIS_STAMP_FILE = `${CACHE_SUBDIR}/.validated.json`;
30
+ const localRequire = createRequire(import.meta.url);
31
+ /** Read the kernel's own `package.json` — `createRequire` can't resolve
32
+ * `@telorun/kernel/package.json` from inside the kernel package itself
33
+ * (the self-reference loops in some node_modules layouts). The file
34
+ * sits two levels up from `dist/manifest-sources/`. */
35
+ function readKernelVersion() {
36
+ try {
37
+ const url = new URL("../../package.json", import.meta.url);
38
+ const pkg = JSON.parse(readFileSync(fileURLToPath(url), "utf-8"));
39
+ return typeof pkg.version === "string" ? pkg.version : "unknown";
40
+ }
41
+ catch {
42
+ return "unknown";
43
+ }
44
+ }
45
+ function readDepVersion(spec) {
46
+ // Fast path: direct `require("<pkg>/package.json")`. Fails (with
47
+ // ERR_PACKAGE_PATH_NOT_EXPORTED) when the dependency declares a strict
48
+ // `exports` map without listing `./package.json` — common for packages
49
+ // that consider package.json an implementation detail. Don't return
50
+ // "unknown" in that case; fall back to resolving the package's main
51
+ // entry and walking the filesystem up to its package.json.
52
+ const pkgJsonSpec = spec.endsWith("/package.json")
53
+ ? spec
54
+ : `${spec}/package.json`;
55
+ try {
56
+ const pkg = localRequire(pkgJsonSpec);
57
+ if (typeof pkg.version === "string")
58
+ return pkg.version;
59
+ }
60
+ catch {
61
+ // fall through to filesystem walk
62
+ }
63
+ try {
64
+ const mainSpec = spec.endsWith("/package.json") ? spec.slice(0, -13) : spec;
65
+ const entry = localRequire.resolve(mainSpec);
66
+ let dir = path.dirname(entry);
67
+ while (dir !== path.dirname(dir)) {
68
+ const candidate = path.join(dir, "package.json");
69
+ try {
70
+ const pkg = JSON.parse(readFileSync(candidate, "utf-8"));
71
+ // Guard against scoped-package interior package.json files (some
72
+ // packages stamp one in dist/) — match by name when the spec
73
+ // names a package.
74
+ const expectedName = mainSpec
75
+ .split("/")
76
+ .slice(0, mainSpec.startsWith("@") ? 2 : 1)
77
+ .join("/");
78
+ if (typeof pkg.name === "string" && pkg.name === expectedName) {
79
+ return typeof pkg.version === "string" ? pkg.version : "unknown";
80
+ }
81
+ }
82
+ catch {
83
+ // not at the package root yet — keep walking
84
+ }
85
+ dir = path.dirname(dir);
86
+ }
87
+ }
88
+ catch {
89
+ // resolution failed — package not installed at all
90
+ }
91
+ return "unknown";
92
+ }
93
+ const KERNEL_VERSION = readKernelVersion();
94
+ const ANALYZER_VERSION = readDepVersion("@telorun/analyzer");
95
+ /** Hash every owner + partial file in `graph` together with the resolved
96
+ * `@telorun/kernel` and `@telorun/analyzer` versions into one content
97
+ * signature. Two loads of the same manifest set under the same package
98
+ * versions produce the same signature; any edit to any reachable file —
99
+ * or any pnpm/npm install that bumps the kernel or analyzer — flips it.
100
+ * This is what the kernel uses to decide whether the previous analyzer
101
+ * run's verdict still applies. */
102
+ export function computeAnalysisSignature(graph) {
103
+ const entries = [];
104
+ for (const [, mod] of graph.modules) {
105
+ for (const file of [mod.owner, ...mod.partials]) {
106
+ const digest = createHash("sha256").update(file.text).digest("hex");
107
+ entries.push([file.source, digest]);
108
+ }
109
+ }
110
+ entries.sort(([a], [b]) => (a < b ? -1 : a > b ? 1 : 0));
111
+ return createHash("sha256")
112
+ .update(JSON.stringify({
113
+ kernel: KERNEL_VERSION,
114
+ analyzer: ANALYZER_VERSION,
115
+ files: entries,
116
+ }))
117
+ .digest("hex");
118
+ }
119
+ /** Read the stamped analysis verdict for the entry at `entryDir`, or
120
+ * `undefined` when missing / unreadable / format-mismatched. The
121
+ * `version` field is the on-disk *format* version; semantic
122
+ * invalidation flows through the signature (which embeds package
123
+ * versions). A future format change bumps `version` so older kernels
124
+ * reading a newer stamp (or vice versa) discard rather than misparse. */
125
+ export async function readAnalysisStamp(entryDir) {
126
+ try {
127
+ const text = await fs.readFile(path.join(entryDir, ANALYSIS_STAMP_FILE), "utf-8");
128
+ const parsed = JSON.parse(text);
129
+ if (parsed?.version === ANALYSIS_STAMP_FORMAT_VERSION &&
130
+ typeof parsed?.signature === "string") {
131
+ return parsed;
132
+ }
133
+ }
134
+ catch {
135
+ // missing / unreadable / unparseable — treat as cache miss
136
+ }
137
+ return undefined;
138
+ }
139
+ /** Persist the analysis verdict so the next `kernel.load` can skip the
140
+ * per-resource validation walk when the manifest set is unchanged.
141
+ * Idempotent; safe to call after every successful load. */
142
+ export async function writeAnalysisStamp(entryDir, signature) {
143
+ const stamp = {
144
+ version: ANALYSIS_STAMP_FORMAT_VERSION,
145
+ signature,
146
+ };
147
+ const target = path.join(entryDir, ANALYSIS_STAMP_FILE);
148
+ await fs.mkdir(path.dirname(target), { recursive: true });
149
+ await fs.writeFile(target, JSON.stringify(stamp), "utf-8");
150
+ }
151
+ //# sourceMappingURL=analysis-stamp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"analysis-stamp.js","sourceRoot":"","sources":["../../src/manifest-sources/analysis-stamp.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,48 @@
1
+ import { EmitEvent, InstanceFactory, ModuleContext } from "@telorun/sdk";
2
+ /**
3
+ * Per-module ModuleContext registry, keyed by module name.
4
+ *
5
+ * Stores persistent (stateful) ModuleContext instances that accumulate
6
+ * variables, secrets, and resources throughout the initialization phase.
7
+ * Each instance is created once and mutated in place — no ephemeral snapshots.
8
+ */
9
+ export declare class ModuleContextRegistry {
10
+ private readonly createInstance;
11
+ private readonly emitEvent;
12
+ private readonly store;
13
+ private readonly declaredModules;
14
+ constructor(createInstance: InstanceFactory | undefined, emitEvent: EmitEvent);
15
+ /**
16
+ * Mark a module name as declared and ensure its persistent context exists.
17
+ * Called by the kernel whenever a kind: Kernel.Module manifest is registered
18
+ * so that getContext() can distinguish "not yet populated" from "unknown".
19
+ */
20
+ declareModule(moduleName: string): void;
21
+ private getOrCreate;
22
+ /**
23
+ * Set variables and secrets on the module's persistent context.
24
+ * Called by the kernel after a Kernel.Module resource is created.
25
+ */
26
+ setVariablesAndSecrets(moduleName: string, variables: Record<string, unknown>, secrets: Record<string, unknown>): void;
27
+ /**
28
+ * Register or update a single resource's exported properties in the
29
+ * module's `resources` namespace.
30
+ */
31
+ setResource(moduleName: string, resourceName: string, props: Record<string, unknown>): void;
32
+ /**
33
+ * Return the persistent ModuleContext for the given module name.
34
+ *
35
+ * If the module has been declared but not yet populated, returns the empty
36
+ * context so the multi-pass init loop can retry once the import controller
37
+ * has injected variables and secrets.
38
+ *
39
+ * If the module name is completely unknown throws immediately so the error
40
+ * surfaces as an init failure rather than a cryptic CEL runtime message.
41
+ */
42
+ getContext(moduleName: string): ModuleContext;
43
+ hasModule(moduleName: string): boolean;
44
+ isDeclared(moduleName: string): boolean;
45
+ /** Iterate all registered module contexts (used for kernel-wide queries). */
46
+ allContexts(): IterableIterator<ModuleContext>;
47
+ }
48
+ //# sourceMappingURL=module-context-registry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"module-context-registry.d.ts","sourceRoot":"","sources":["../src/module-context-registry.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAEzE;;;;;;GAMG;AACH,qBAAa,qBAAqB;IAK9B,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,OAAO,CAAC,QAAQ,CAAC,SAAS;IAL5B,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAoC;IAC1D,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAqB;gBAGlC,cAAc,EAAE,eAAe,YAAmB,EAClD,SAAS,EAAE,SAAS;IAGvC;;;;OAIG;IACH,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAWvC,OAAO,CAAC,WAAW;IAUnB;;;OAGG;IACH,sBAAsB,CACpB,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAClC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC/B,IAAI;IAMP;;;OAGG;IACH,WAAW,CAAC,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAI3F;;;;;;;;;OASG;IACH,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,aAAa;IAsB7C,SAAS,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO;IAItC,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO;IAIvC,6EAA6E;IAC7E,WAAW,IAAI,gBAAgB,CAAC,aAAa,CAAC;CAG/C"}
@@ -0,0 +1,91 @@
1
+ import { ModuleContext } from "@telorun/sdk";
2
+ /**
3
+ * Per-module ModuleContext registry, keyed by module name.
4
+ *
5
+ * Stores persistent (stateful) ModuleContext instances that accumulate
6
+ * variables, secrets, and resources throughout the initialization phase.
7
+ * Each instance is created once and mutated in place — no ephemeral snapshots.
8
+ */
9
+ export class ModuleContextRegistry {
10
+ constructor(createInstance = async () => null, emitEvent) {
11
+ this.createInstance = createInstance;
12
+ this.emitEvent = emitEvent;
13
+ this.store = new Map();
14
+ this.declaredModules = new Set();
15
+ }
16
+ /**
17
+ * Mark a module name as declared and ensure its persistent context exists.
18
+ * Called by the kernel whenever a kind: Kernel.Module manifest is registered
19
+ * so that getContext() can distinguish "not yet populated" from "unknown".
20
+ */
21
+ declareModule(moduleName) {
22
+ // this.declaredModules.add(moduleName);
23
+ // // Idempotent: if the module context was already created (e.g. by a previous pass
24
+ // // of the multi-pass init loop that was retried), keep the existing context.
25
+ // if (this.store.has(moduleName)) return;
26
+ // const ctx = new ModuleContext({}, {}, {}, [], this.createInstance, this.emitEvent);
27
+ // // Every module automatically gets access to Kernel.* built-in kinds.
28
+ // ctx.registerImport("Kernel", "Kernel", []);
29
+ // this.store.set(moduleName, ctx);
30
+ }
31
+ getOrCreate(moduleName) {
32
+ if (!this.store.has(moduleName)) {
33
+ this.store.set(moduleName, new ModuleContext("", {}, {}, {}, [], this.createInstance, this.emitEvent));
34
+ }
35
+ return this.store.get(moduleName);
36
+ }
37
+ /**
38
+ * Set variables and secrets on the module's persistent context.
39
+ * Called by the kernel after a Kernel.Module resource is created.
40
+ */
41
+ setVariablesAndSecrets(moduleName, variables, secrets) {
42
+ const ctx = this.getOrCreate(moduleName);
43
+ ctx.setVariables(variables);
44
+ ctx.setSecrets(secrets);
45
+ }
46
+ /**
47
+ * Register or update a single resource's exported properties in the
48
+ * module's `resources` namespace.
49
+ */
50
+ setResource(moduleName, resourceName, props) {
51
+ this.getOrCreate(moduleName).setResource(resourceName, props);
52
+ }
53
+ /**
54
+ * Return the persistent ModuleContext for the given module name.
55
+ *
56
+ * If the module has been declared but not yet populated, returns the empty
57
+ * context so the multi-pass init loop can retry once the import controller
58
+ * has injected variables and secrets.
59
+ *
60
+ * If the module name is completely unknown throws immediately so the error
61
+ * surfaces as an init failure rather than a cryptic CEL runtime message.
62
+ */
63
+ getContext(moduleName) {
64
+ // throw new Error("asd");
65
+ const ctx = this.store.get(moduleName);
66
+ if (!ctx) {
67
+ if (!this.declaredModules.has(moduleName)) {
68
+ const known = [...this.declaredModules].join(", ") || "(none)";
69
+ throw new Error(`Module '${moduleName}' not found. ` +
70
+ `Check that metadata.module matches a declared module name. ` +
71
+ `Known modules: ${known}.`);
72
+ }
73
+ // Declared but context not yet populated — return the empty context that
74
+ // declareModule() already created.
75
+ return (this.store.get(moduleName) ??
76
+ new ModuleContext("", {}, {}, {}, [], this.createInstance, this.emitEvent));
77
+ }
78
+ return ctx;
79
+ }
80
+ hasModule(moduleName) {
81
+ return this.store.has(moduleName);
82
+ }
83
+ isDeclared(moduleName) {
84
+ return this.declaredModules.has(moduleName);
85
+ }
86
+ /** Iterate all registered module contexts (used for kernel-wide queries). */
87
+ allContexts() {
88
+ return this.store.values();
89
+ }
90
+ }
91
+ //# sourceMappingURL=module-context-registry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"module-context-registry.js","sourceRoot":"","sources":["../src/module-context-registry.ts"],"names":[],"mappings":"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"}
@@ -25,6 +25,8 @@ export declare class ResourceContextImpl implements ResourceContext {
25
25
  registerManifest(resource: any): void;
26
26
  loadModule(url: string, options?: LoadOptions): Promise<ResourceManifest[]>;
27
27
  loadManifests(url: string): Promise<ResourceManifest[]>;
28
+ isImportValidatedAtLoad(url: string): boolean;
29
+ resolveImportUrl(fromSource: string, importSource: string): string;
28
30
  /**
29
31
  * Resolves a resource into a normalized {kind, name} reference.
30
32
  * If the resource contains a definition (kind + properties), registers it as a manifest.
@@ -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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"}
@@ -1,4 +1,5 @@
1
1
  import { NoopValidator, RuntimeError, isCompiledValue, } from "@telorun/sdk";
2
+ import { isRefSentinel } from "@telorun/templating";
2
3
  import AjvModule from "ajv";
3
4
  import addFormats from "ajv-formats";
4
5
  import { EvaluationContext } from "./evaluation-context.js";
@@ -115,6 +116,12 @@ export class ResourceContextImpl {
115
116
  loadManifests(url) {
116
117
  return this.kernel.loadManifests(url);
117
118
  }
119
+ isImportValidatedAtLoad(url) {
120
+ return this.kernel.isImportValidatedAtLoad(url);
121
+ }
122
+ resolveImportUrl(fromSource, importSource) {
123
+ return this.kernel.resolveImportUrl(fromSource, importSource);
124
+ }
118
125
  /**
119
126
  * Resolves a resource into a normalized {kind, name} reference.
120
127
  * If the resource contains a definition (kind + properties), registers it as a manifest.
@@ -129,6 +136,27 @@ export class ResourceContextImpl {
129
136
  if (!resource || typeof resource !== "object") {
130
137
  throw new RuntimeError("ERR_INVALID_VALUE", `[${this.metadata.name}] Resource must be an object. Got: ${typeof resource}`);
131
138
  }
139
+ // Stopgap: `!ref <name>` sentinels can reach the controller directly
140
+ // when the slot is hidden behind a local `$ref: "#/$defs/..."` — the
141
+ // analyzer's field-map walker descends `oneOf`/`anyOf` variant
142
+ // properties but intentionally early-returns on `$ref` (see
143
+ // `analyzer/nodejs/src/reference-field-map.ts`). Enabling the `$ref`
144
+ // descent regresses the kernel's `<Kind>.<Name>.Invoked` event
145
+ // emission for kinds (notably `Run.Sequence`) whose controllers
146
+ // call `instance.invoke()` directly on Phase-5-injected instances;
147
+ // the walker fix needs to land together with routing those callers
148
+ // through `EvaluationContext.invokeResolved`. Until then, the Node
149
+ // kernel resolves the sentinel here. Polyglot controllers don't get
150
+ // this rescue — schemas exercising those hidden slots must use the
151
+ // legacy string or `{kind, name}` forms for now.
152
+ if (isRefSentinel(resource)) {
153
+ const refName = resource.source;
154
+ const entry = this.moduleContext.resourceInstances.get(refName);
155
+ if (!entry) {
156
+ throw new RuntimeError("ERR_RESOURCE_NOT_FOUND", `[${this.metadata.name}] !ref '${refName}' did not resolve to a registered resource.`);
157
+ }
158
+ return { kind: entry.resource.kind, name: refName };
159
+ }
132
160
  if (!resource.kind) {
133
161
  throw new RuntimeError("ERR_INVALID_VALUE", `[${this.metadata.name}] Resource must have 'kind' property. Got: ${JSON.stringify(resource)}`);
134
162
  }
@@ -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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"}
@@ -0,0 +1,15 @@
1
+ import { DataValidator, TypeRule } from "@telorun/sdk";
2
+ export declare class SchemaValidator {
3
+ private ajv;
4
+ private typeRules;
5
+ private rawSchemas;
6
+ private compiledValidators;
7
+ constructor();
8
+ addSchema(name: string, schema: object): void;
9
+ getSchema(name: string): object | undefined;
10
+ addTypeRules(name: string, rules: TypeRule[]): void;
11
+ getTypeRules(name: string): TypeRule[] | undefined;
12
+ compile(schema: any): DataValidator;
13
+ composeWithRules(base: DataValidator, typeName: string, rules: TypeRule[]): DataValidator;
14
+ }
15
+ //# sourceMappingURL=schema-valiator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema-valiator.d.ts","sourceRoot":"","sources":["../src/schema-valiator.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAgB,QAAQ,EAAE,MAAM,cAAc,CAAC;AAOrE,qBAAa,eAAe;IAC1B,OAAO,CAAC,GAAG,CAA2B;IACtC,OAAO,CAAC,SAAS,CAAiC;IAClD,OAAO,CAAC,UAAU,CAA6B;IAC/C,OAAO,CAAC,kBAAkB,CAAwC;;IAwBlE,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAO7C,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAI3C,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,IAAI;IAInD,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,EAAE,GAAG,SAAS;IAIlD,OAAO,CAAC,MAAM,EAAE,GAAG,GAAG,aAAa;IAuDnC,gBAAgB,CAAC,IAAI,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,aAAa;CAmC1F"}