@telorun/kernel 0.2.9 → 0.3.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 (127) hide show
  1. package/README.md +7 -7
  2. package/dist/controllers/module/import-controller.d.ts.map +1 -1
  3. package/dist/controllers/module/import-controller.js +22 -23
  4. package/dist/controllers/module/import-controller.js.map +1 -1
  5. package/dist/controllers/resource-definition/resource-definition-controller.d.ts +1 -1
  6. package/dist/controllers/resource-definition/resource-definition-controller.d.ts.map +1 -1
  7. package/dist/evaluation-context.d.ts +21 -4
  8. package/dist/evaluation-context.d.ts.map +1 -1
  9. package/dist/evaluation-context.js +85 -13
  10. package/dist/evaluation-context.js.map +1 -1
  11. package/dist/kernel.d.ts +11 -8
  12. package/dist/kernel.d.ts.map +1 -1
  13. package/dist/kernel.js +38 -16
  14. package/dist/kernel.js.map +1 -1
  15. package/dist/manifest-schemas.d.ts +44 -1
  16. package/dist/manifest-schemas.d.ts.map +1 -1
  17. package/dist/manifest-schemas.js +59 -15
  18. package/dist/manifest-schemas.js.map +1 -1
  19. package/dist/module-context.d.ts +1 -1
  20. package/dist/module-context.js +1 -1
  21. package/dist/resource-context.d.ts +6 -2
  22. package/dist/resource-context.d.ts.map +1 -1
  23. package/dist/resource-context.js +24 -4
  24. package/dist/resource-context.js.map +1 -1
  25. package/package.json +3 -3
  26. package/src/controllers/module/import-controller.ts +28 -28
  27. package/src/controllers/resource-definition/resource-definition-controller.ts +1 -1
  28. package/src/evaluation-context.ts +107 -18
  29. package/src/kernel.ts +52 -18
  30. package/src/manifest-schemas.ts +61 -15
  31. package/src/module-context.ts +1 -1
  32. package/src/resource-context.ts +38 -3
  33. package/dist/base-definition.d.ts +0 -14
  34. package/dist/base-definition.d.ts.map +0 -1
  35. package/dist/base-definition.js +0 -17
  36. package/dist/base-definition.js.map +0 -1
  37. package/dist/capabilities/capabilities/component.yaml +0 -4
  38. package/dist/capabilities/capabilities/executable.yaml +0 -8
  39. package/dist/capabilities/capabilities/handler.yaml +0 -4
  40. package/dist/capabilities/capabilities/listener.yaml +0 -4
  41. package/dist/capabilities/capabilities/provider.yaml +0 -4
  42. package/dist/capabilities/capabilities/template.yaml +0 -4
  43. package/dist/capabilities/capabilities/type.yaml +0 -4
  44. package/dist/capabilities/component.d.ts +0 -3
  45. package/dist/capabilities/component.d.ts.map +0 -1
  46. package/dist/capabilities/component.js +0 -4
  47. package/dist/capabilities/component.js.map +0 -1
  48. package/dist/capabilities/component.yaml +0 -3
  49. package/dist/capabilities/executable.d.ts +0 -3
  50. package/dist/capabilities/executable.d.ts.map +0 -1
  51. package/dist/capabilities/executable.js +0 -5
  52. package/dist/capabilities/executable.js.map +0 -1
  53. package/dist/capabilities/executable.yaml +0 -7
  54. package/dist/capabilities/handler.d.ts +0 -3
  55. package/dist/capabilities/handler.d.ts.map +0 -1
  56. package/dist/capabilities/handler.js +0 -4
  57. package/dist/capabilities/handler.js.map +0 -1
  58. package/dist/capabilities/handler.yaml +0 -3
  59. package/dist/capabilities/invokable.d.ts +0 -3
  60. package/dist/capabilities/invokable.d.ts.map +0 -1
  61. package/dist/capabilities/invokable.js +0 -5
  62. package/dist/capabilities/invokable.js.map +0 -1
  63. package/dist/capabilities/listener.d.ts +0 -3
  64. package/dist/capabilities/listener.d.ts.map +0 -1
  65. package/dist/capabilities/listener.js +0 -5
  66. package/dist/capabilities/listener.js.map +0 -1
  67. package/dist/capabilities/listener.yaml +0 -3
  68. package/dist/capabilities/mount.d.ts +0 -3
  69. package/dist/capabilities/mount.d.ts.map +0 -1
  70. package/dist/capabilities/mount.js +0 -5
  71. package/dist/capabilities/mount.js.map +0 -1
  72. package/dist/capabilities/provider.d.ts +0 -3
  73. package/dist/capabilities/provider.d.ts.map +0 -1
  74. package/dist/capabilities/provider.js +0 -8
  75. package/dist/capabilities/provider.js.map +0 -1
  76. package/dist/capabilities/provider.yaml +0 -3
  77. package/dist/capabilities/runnable.d.ts +0 -3
  78. package/dist/capabilities/runnable.d.ts.map +0 -1
  79. package/dist/capabilities/runnable.js +0 -5
  80. package/dist/capabilities/runnable.js.map +0 -1
  81. package/dist/capabilities/service.d.ts +0 -3
  82. package/dist/capabilities/service.d.ts.map +0 -1
  83. package/dist/capabilities/service.js +0 -5
  84. package/dist/capabilities/service.js.map +0 -1
  85. package/dist/capabilities/template.d.ts +0 -3
  86. package/dist/capabilities/template.d.ts.map +0 -1
  87. package/dist/capabilities/template.js +0 -5
  88. package/dist/capabilities/template.js.map +0 -1
  89. package/dist/capabilities/template.yaml +0 -3
  90. package/dist/capabilities/type.d.ts +0 -3
  91. package/dist/capabilities/type.d.ts.map +0 -1
  92. package/dist/capabilities/type.js +0 -5
  93. package/dist/capabilities/type.js.map +0 -1
  94. package/dist/capabilities/type.yaml +0 -3
  95. package/dist/controllers/capability/capability-controller.d.ts +0 -32
  96. package/dist/controllers/capability/capability-controller.d.ts.map +0 -1
  97. package/dist/controllers/capability/capability-controller.js +0 -26
  98. package/dist/controllers/capability/capability-controller.js.map +0 -1
  99. package/dist/controllers/module/module.json +0 -48
  100. package/dist/loader.d.ts +0 -18
  101. package/dist/loader.d.ts.map +0 -1
  102. package/dist/loader.js +0 -127
  103. package/dist/loader.js.map +0 -1
  104. package/dist/manifest-adapters/http-adapter.d.ts +0 -8
  105. package/dist/manifest-adapters/http-adapter.d.ts.map +0 -1
  106. package/dist/manifest-adapters/http-adapter.js +0 -31
  107. package/dist/manifest-adapters/http-adapter.js.map +0 -1
  108. package/dist/manifest-adapters/registry-adapter.d.ts +0 -9
  109. package/dist/manifest-adapters/registry-adapter.d.ts.map +0 -1
  110. package/dist/manifest-adapters/registry-adapter.js +0 -48
  111. package/dist/manifest-adapters/registry-adapter.js.map +0 -1
  112. package/dist/module-context-registry.d.ts +0 -48
  113. package/dist/module-context-registry.d.ts.map +0 -1
  114. package/dist/module-context-registry.js +0 -91
  115. package/dist/module-context-registry.js.map +0 -1
  116. package/dist/schema-valiator.d.ts +0 -15
  117. package/dist/schema-valiator.d.ts.map +0 -1
  118. package/dist/schema-valiator.js +0 -127
  119. package/dist/schema-valiator.js.map +0 -1
  120. package/dist/snapshot-serializer.d.ts +0 -62
  121. package/dist/snapshot-serializer.d.ts.map +0 -1
  122. package/dist/snapshot-serializer.js +0 -164
  123. package/dist/snapshot-serializer.js.map +0 -1
  124. package/dist/types.d.ts +0 -65
  125. package/dist/types.d.ts.map +0 -1
  126. package/dist/types.js +0 -8
  127. package/dist/types.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"loader.js","sourceRoot":"","sources":["../src/loader.ts"],"names":[],"mappings":"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"}
@@ -1,8 +0,0 @@
1
- import type { ManifestAdapter, ManifestSourceData } from "./manifest-adapter.js";
2
- export declare class HttpAdapter implements ManifestAdapter {
3
- supports(pathOrUrl: string): boolean;
4
- read(url: string): Promise<ManifestSourceData>;
5
- readAll(url: string): Promise<ManifestSourceData[]>;
6
- resolveRelative(base: string, relative: string): string;
7
- }
8
- //# sourceMappingURL=http-adapter.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"http-adapter.d.ts","sourceRoot":"","sources":["../../src/manifest-adapters/http-adapter.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAEjF,qBAAa,WAAY,YAAW,eAAe;IACjD,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAI9B,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAI9C,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC;IAoBzD,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM;CAIxD"}
@@ -1,31 +0,0 @@
1
- import * as yaml from "js-yaml";
2
- export class HttpAdapter {
3
- supports(pathOrUrl) {
4
- return pathOrUrl.startsWith("http://") || pathOrUrl.startsWith("https://");
5
- }
6
- async read(url) {
7
- return (await this.readAll(url))[0];
8
- }
9
- async readAll(url) {
10
- const fetchUrl = url.includes(".yaml") ? url : url + "/module.yaml";
11
- const response = await fetch(fetchUrl);
12
- if (!response.ok) {
13
- throw new Error(`Failed to fetch manifest from ${fetchUrl}: ${response.status} ${response.statusText}`);
14
- }
15
- const text = await response.text();
16
- return [
17
- {
18
- text,
19
- documents: yaml.loadAll(text),
20
- source: fetchUrl,
21
- baseDir: process.cwd(),
22
- uriBase: url,
23
- },
24
- ];
25
- }
26
- resolveRelative(base, relative) {
27
- const baseWithSlash = base.endsWith("/") ? base : `${base}/`;
28
- return new URL(relative, baseWithSlash).href;
29
- }
30
- }
31
- //# sourceMappingURL=http-adapter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"http-adapter.js","sourceRoot":"","sources":["../../src/manifest-adapters/http-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,SAAS,CAAC;AAGhC,MAAM,OAAO,WAAW;IACtB,QAAQ,CAAC,SAAiB;QACxB,OAAO,SAAS,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;IAC7E,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,GAAW;QACpB,OAAO,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACtC,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,GAAW;QACvB,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,cAAc,CAAC;QACpE,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,QAAQ,CAAC,CAAC;QACvC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CACb,iCAAiC,QAAQ,KAAK,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,UAAU,EAAE,CACvF,CAAC;QACJ,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QACnC,OAAO;YACL;gBACE,IAAI;gBACJ,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;gBAC7B,MAAM,EAAE,QAAQ;gBAChB,OAAO,EAAE,OAAO,CAAC,GAAG,EAAE;gBACtB,OAAO,EAAE,GAAG;aACb;SACF,CAAC;IACJ,CAAC;IAED,eAAe,CAAC,IAAY,EAAE,QAAgB;QAC5C,MAAM,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC;QAC7D,OAAO,IAAI,GAAG,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC,IAAI,CAAC;IAC/C,CAAC;CACF"}
@@ -1,9 +0,0 @@
1
- import type { ManifestAdapter, ManifestSourceData } from "./manifest-adapter.js";
2
- export declare class RegistryAdapter implements ManifestAdapter {
3
- supports(pathOrUrl: string): boolean;
4
- read(moduleRef: string): Promise<ManifestSourceData>;
5
- readAll(moduleRef: string): Promise<ManifestSourceData[]>;
6
- resolveRelative(base: string, relative: string): string;
7
- private toRegistryUrl;
8
- }
9
- //# sourceMappingURL=registry-adapter.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"registry-adapter.d.ts","sourceRoot":"","sources":["../../src/manifest-adapters/registry-adapter.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAIjF,qBAAa,eAAgB,YAAW,eAAe;IACrD,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAY9B,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAIpD,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,EAAE,CAAC;IAoB/D,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM;IAQvD,OAAO,CAAC,aAAa;CAOtB"}
@@ -1,48 +0,0 @@
1
- import * as yaml from "js-yaml";
2
- const REGISTRY_BASE = "https://registry.telo.run";
3
- export class RegistryAdapter {
4
- supports(pathOrUrl) {
5
- // Matches "owner/module@version" — has @ and /, but not an http/https URL or local path
6
- return (!pathOrUrl.startsWith("http://") &&
7
- !pathOrUrl.startsWith("https://") &&
8
- !pathOrUrl.startsWith("/") &&
9
- !pathOrUrl.startsWith(".") &&
10
- pathOrUrl.includes("@") &&
11
- pathOrUrl.includes("/"));
12
- }
13
- async read(moduleRef) {
14
- return (await this.readAll(moduleRef))[0];
15
- }
16
- async readAll(moduleRef) {
17
- const url = this.toRegistryUrl(moduleRef);
18
- const response = await fetch(url);
19
- if (!response.ok) {
20
- throw new Error(`Failed to fetch manifest ${moduleRef}: ${response.status} ${response.statusText}`);
21
- }
22
- const text = await response.text();
23
- return [
24
- {
25
- text,
26
- documents: yaml.loadAll(text),
27
- source: url,
28
- baseDir: process.cwd(),
29
- uriBase: url.replace("/module.yaml", ""),
30
- },
31
- ];
32
- }
33
- resolveRelative(base, relative) {
34
- const baseUrl = this.supports(base)
35
- ? this.toRegistryUrl(base).replace("/module.yaml", "")
36
- : base;
37
- const baseWithSlash = baseUrl.endsWith("/") ? baseUrl : `${baseUrl}/`;
38
- return new URL(relative, baseWithSlash).href;
39
- }
40
- toRegistryUrl(moduleRef) {
41
- const atIdx = moduleRef.lastIndexOf("@");
42
- const path = moduleRef.slice(0, atIdx); // "example/module"
43
- const version = moduleRef.slice(atIdx + 1); // "1.2.3" or "v1.2.3"
44
- const versionSegment = version.startsWith("v") ? version.substring(1) : version;
45
- return `${REGISTRY_BASE}/${path}/${versionSegment}/module.yaml`;
46
- }
47
- }
48
- //# sourceMappingURL=registry-adapter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"registry-adapter.js","sourceRoot":"","sources":["../../src/manifest-adapters/registry-adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,SAAS,CAAC;AAGhC,MAAM,aAAa,GAAG,2BAA2B,CAAC;AAElD,MAAM,OAAO,eAAe;IAC1B,QAAQ,CAAC,SAAiB;QACxB,wFAAwF;QACxF,OAAO,CACL,CAAC,SAAS,CAAC,UAAU,CAAC,SAAS,CAAC;YAChC,CAAC,SAAS,CAAC,UAAU,CAAC,UAAU,CAAC;YACjC,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC;YAC1B,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC;YAC1B,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC;YACvB,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,CACxB,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,SAAiB;QAC1B,OAAO,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5C,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,SAAiB;QAC7B,MAAM,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;QAC1C,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;QAClC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CACb,4BAA4B,SAAS,KAAK,QAAQ,CAAC,MAAM,IAAI,QAAQ,CAAC,UAAU,EAAE,CACnF,CAAC;QACJ,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QACnC,OAAO;YACL;gBACE,IAAI;gBACJ,SAAS,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;gBAC7B,MAAM,EAAE,GAAG;gBACX,OAAO,EAAE,OAAO,CAAC,GAAG,EAAE;gBACtB,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC;aACzC;SACF,CAAC;IACJ,CAAC;IAED,eAAe,CAAC,IAAY,EAAE,QAAgB;QAC5C,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;YACjC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC;YACtD,CAAC,CAAC,IAAI,CAAC;QACT,MAAM,aAAa,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,GAAG,CAAC;QACtE,OAAO,IAAI,GAAG,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC,IAAI,CAAC;IAC/C,CAAC;IAEO,aAAa,CAAC,SAAiB;QACrC,MAAM,KAAK,GAAG,SAAS,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QACzC,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,mBAAmB;QAC3D,MAAM,OAAO,GAAG,SAAS,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,sBAAsB;QAClE,MAAM,cAAc,GAAG,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;QAChF,OAAO,GAAG,aAAa,IAAI,IAAI,IAAI,cAAc,cAAc,CAAC;IAClE,CAAC;CACF"}
@@ -1,48 +0,0 @@
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
@@ -1 +0,0 @@
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"}
@@ -1,91 +0,0 @@
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
@@ -1 +0,0 @@
1
- {"version":3,"file":"module-context-registry.js","sourceRoot":"","sources":["../src/module-context-registry.ts"],"names":[],"mappings":"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"}
@@ -1,15 +0,0 @@
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
@@ -1 +0,0 @@
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"}
@@ -1,127 +0,0 @@
1
- import { evaluate } from "@marcbachmann/cel-js";
2
- import { RuntimeError } from "@telorun/sdk";
3
- import AjvModule from "ajv";
4
- import addFormats from "ajv-formats";
5
- import { formatAjvErrors } from "./manifest-schemas.js";
6
- const Ajv = AjvModule.default ?? AjvModule;
7
- export class SchemaValidator {
8
- constructor() {
9
- this.typeRules = new Map();
10
- this.rawSchemas = new Map();
11
- this.compiledValidators = new WeakMap();
12
- this.ajv = new Ajv({
13
- strict: false,
14
- removeAdditional: false,
15
- useDefaults: true,
16
- });
17
- addFormats.default(this.ajv);
18
- for (const kw of [
19
- "x-telo-ref",
20
- "x-telo-eval",
21
- "x-telo-scope",
22
- "x-telo-context",
23
- "x-telo-context-from",
24
- "x-telo-context-ref-from",
25
- "x-telo-schema-from",
26
- "x-telo-topology-role",
27
- "x-telo-step-context",
28
- ]) {
29
- this.ajv.addKeyword(kw);
30
- }
31
- }
32
- addSchema(name, schema) {
33
- if (!this.ajv.getSchema(name)) {
34
- this.ajv.addSchema(schema, name);
35
- }
36
- this.rawSchemas.set(name, schema);
37
- }
38
- getSchema(name) {
39
- return this.rawSchemas.get(name);
40
- }
41
- addTypeRules(name, rules) {
42
- this.typeRules.set(name, rules);
43
- }
44
- getTypeRules(name) {
45
- return this.typeRules.get(name);
46
- }
47
- compile(schema) {
48
- if (schema && typeof schema === "object") {
49
- const cached = this.compiledValidators.get(schema);
50
- if (cached)
51
- return cached;
52
- }
53
- const isFullSchema = ("type" in schema && typeof schema.type === "string") ||
54
- "allOf" in schema ||
55
- "anyOf" in schema ||
56
- "oneOf" in schema ||
57
- "$ref" in schema;
58
- const normalized = isFullSchema
59
- ? schema
60
- : {
61
- type: "object",
62
- properties: schema,
63
- required: Object.keys(schema),
64
- additionalProperties: false,
65
- };
66
- const injected = normalized.additionalProperties === false
67
- ? {
68
- ...normalized,
69
- properties: {
70
- kind: { type: "string" },
71
- metadata: { type: "object" },
72
- ...normalized.properties,
73
- },
74
- }
75
- : normalized;
76
- const validate = this.ajv.compile(injected);
77
- const validator = {
78
- validate: (data) => {
79
- const isValid = validate(data);
80
- if (!isValid) {
81
- throw new RuntimeError("ERR_RESOURCE_SCHEMA_VALIDATION_FAILED", `Invalid value passed: ${JSON.stringify(data)}. Error: ${formatAjvErrors(validate.errors)}`);
82
- }
83
- },
84
- isValid: (data) => {
85
- return validate(data);
86
- },
87
- };
88
- if (schema && typeof schema === "object") {
89
- this.compiledValidators.set(schema, validator);
90
- }
91
- return validator;
92
- }
93
- composeWithRules(base, typeName, rules) {
94
- return {
95
- validate: (data) => {
96
- base.validate(data);
97
- for (const rule of rules) {
98
- let result;
99
- try {
100
- result = evaluate(rule.condition, { this: data });
101
- }
102
- catch (err) {
103
- throw new RuntimeError("ERR_TYPE_VALIDATION_FAILED", `Type "${typeName}" rule evaluation failed: ${err instanceof Error ? err.message : String(err)}`);
104
- }
105
- if (result !== true) {
106
- throw new RuntimeError(rule.code ?? "ERR_TYPE_VALIDATION_FAILED", rule.message ?? `Type "${typeName}" validation failed: rule "${rule.code}" not satisfied`);
107
- }
108
- }
109
- },
110
- isValid: (data) => {
111
- if (!base.isValid(data))
112
- return false;
113
- for (const rule of rules) {
114
- try {
115
- if (evaluate(rule.condition, { this: data }) !== true)
116
- return false;
117
- }
118
- catch {
119
- return false;
120
- }
121
- }
122
- return true;
123
- },
124
- };
125
- }
126
- }
127
- //# sourceMappingURL=schema-valiator.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"schema-valiator.js","sourceRoot":"","sources":["../src/schema-valiator.ts"],"names":[],"mappings":"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"}
@@ -1,62 +0,0 @@
1
- import { ResourceInstance, RuntimeResource } from "@telorun/sdk";
2
- export interface SnapshotData {
3
- timestamp: string;
4
- resources: Array<{
5
- kind: string;
6
- name: string;
7
- metadata: Record<string, any>;
8
- data: Record<string, any>;
9
- snapshot?: Record<string, any>;
10
- }>;
11
- }
12
- /**
13
- * Serializes runtime state into YAML snapshots
14
- * Captures resource definitions, instances, and custom state
15
- * Recursively includes nested resources based on generationDepth
16
- */
17
- export declare class SnapshotSerializer {
18
- /**
19
- * Take a snapshot of runtime state
20
- * @param resources Map of resources organized by kind
21
- * @param resourceInstances Map of resource instances to include custom snapshots
22
- * @param filePath Optional file path to write snapshot to
23
- * @returns Snapshot data object
24
- */
25
- takeSnapshot(resources: Map<string, Map<string, RuntimeResource>>, resourceInstances?: Map<string, {
26
- resource: RuntimeResource;
27
- instance: ResourceInstance;
28
- }>, filePath?: string): Promise<SnapshotData>;
29
- /**
30
- * Serialize a single resource
31
- */
32
- private serializeResource;
33
- /**
34
- * Get snapshot from resource instance if it implements snapshot() method
35
- */
36
- private getInstanceSnapshot;
37
- /**
38
- * Serialize metadata, filtering out circular references and functions
39
- */
40
- private serializeMetadata;
41
- /**
42
- * Serialize resource data, filtering out circular references and functions
43
- */
44
- private serializeData;
45
- /**
46
- * Group resources by generation depth for hierarchical ordering
47
- */
48
- private groupByGenerationDepth;
49
- /**
50
- * Write snapshot to YAML file
51
- */
52
- private writeSnapshotToFile;
53
- /**
54
- * Generate resource key for instance lookup
55
- */
56
- private getResourceKey;
57
- /**
58
- * Load snapshot from YAML file
59
- */
60
- loadSnapshotFromFile(filePath: string): Promise<SnapshotData>;
61
- }
62
- //# sourceMappingURL=snapshot-serializer.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"snapshot-serializer.d.ts","sourceRoot":"","sources":["../src/snapshot-serializer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAKjE,MAAM,WAAW,YAAY;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,KAAK,CAAC;QACf,IAAI,EAAE,MAAM,CAAC;QACb,IAAI,EAAE,MAAM,CAAC;QACb,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC9B,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;KAChC,CAAC,CAAC;CACJ;AAED;;;;GAIG;AACH,qBAAa,kBAAkB;IAC7B;;;;;;OAMG;IACG,YAAY,CAChB,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC,EACpD,iBAAiB,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE;QAAE,QAAQ,EAAE,eAAe,CAAC;QAAC,QAAQ,EAAE,gBAAgB,CAAA;KAAE,CAAC,EAC1F,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,YAAY,CAAC;IA4BxB;;OAEG;YACW,iBAAiB;IAoC/B;;OAEG;YACW,mBAAmB;IAmBjC;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAiBzB;;OAEG;IACH,OAAO,CAAC,aAAa;IAiBrB;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAoB9B;;OAEG;YACW,mBAAmB;IAgBjC;;OAEG;IACH,OAAO,CAAC,cAAc;IAItB;;OAEG;IACG,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;CAIpE"}