@telorun/kernel 0.2.4 → 0.2.5

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 (135) hide show
  1. package/dist/boot-context-registry.d.ts.map +1 -1
  2. package/dist/boot-context-registry.js +6 -6
  3. package/dist/boot-context-registry.js.map +1 -1
  4. package/dist/capabilities/capabilities/component.yaml +2 -1
  5. package/dist/capabilities/capabilities/executable.yaml +2 -1
  6. package/dist/capabilities/capabilities/handler.yaml +2 -1
  7. package/dist/capabilities/capabilities/listener.yaml +2 -1
  8. package/dist/capabilities/capabilities/provider.yaml +2 -1
  9. package/dist/capabilities/capabilities/template.yaml +2 -1
  10. package/dist/capabilities/capabilities/type.yaml +2 -1
  11. package/dist/capabilities/component.yaml +1 -1
  12. package/dist/capabilities/executable.yaml +1 -1
  13. package/dist/capabilities/handler.yaml +1 -1
  14. package/dist/capabilities/listener.yaml +1 -1
  15. package/dist/capabilities/provider.yaml +1 -1
  16. package/dist/capabilities/template.yaml +1 -1
  17. package/dist/capabilities/type.yaml +1 -1
  18. package/dist/controller-loader.d.ts +1 -1
  19. package/dist/controller-loader.d.ts.map +1 -1
  20. package/dist/controller-loader.js +4 -2
  21. package/dist/controller-loader.js.map +1 -1
  22. package/dist/controller-registry.d.ts +1 -2
  23. package/dist/controller-registry.d.ts.map +1 -1
  24. package/dist/controller-registry.js.map +1 -1
  25. package/dist/controllers/module/import-controller.d.ts +38 -0
  26. package/dist/controllers/module/import-controller.d.ts.map +1 -0
  27. package/dist/controllers/module/import-controller.js +119 -0
  28. package/dist/controllers/module/import-controller.js.map +1 -0
  29. package/dist/controllers/module/module-controller.d.ts +57 -11
  30. package/dist/controllers/module/module-controller.d.ts.map +1 -1
  31. package/dist/controllers/module/module-controller.js +46 -82
  32. package/dist/controllers/module/module-controller.js.map +1 -1
  33. package/dist/controllers/resource-definition/resource-definition-controller.d.ts.map +1 -1
  34. package/dist/controllers/resource-definition/resource-definition-controller.js +12 -4
  35. package/dist/controllers/resource-definition/resource-definition-controller.js.map +1 -1
  36. package/dist/evaluation-context.d.ts +91 -0
  37. package/dist/evaluation-context.d.ts.map +1 -0
  38. package/dist/evaluation-context.js +220 -0
  39. package/dist/evaluation-context.js.map +1 -0
  40. package/dist/execution-context.d.ts +13 -0
  41. package/dist/execution-context.d.ts.map +1 -0
  42. package/dist/execution-context.js +14 -0
  43. package/dist/execution-context.js.map +1 -0
  44. package/dist/index.d.ts +0 -3
  45. package/dist/index.d.ts.map +1 -1
  46. package/dist/index.js +0 -2
  47. package/dist/index.js.map +1 -1
  48. package/dist/kernel.d.ts +23 -31
  49. package/dist/kernel.d.ts.map +1 -1
  50. package/dist/kernel.js +212 -333
  51. package/dist/kernel.js.map +1 -1
  52. package/dist/loader.d.ts +2 -2
  53. package/dist/loader.d.ts.map +1 -1
  54. package/dist/loader.js +29 -9
  55. package/dist/loader.js.map +1 -1
  56. package/dist/manifest-adapters/local-file-adapter.d.ts.map +1 -1
  57. package/dist/manifest-adapters/local-file-adapter.js +21 -12
  58. package/dist/manifest-adapters/local-file-adapter.js.map +1 -1
  59. package/dist/manifest-schemas.d.ts +1 -25
  60. package/dist/manifest-schemas.d.ts.map +1 -1
  61. package/dist/manifest-schemas.js +3 -22
  62. package/dist/manifest-schemas.js.map +1 -1
  63. package/dist/module-context-registry.d.ts +48 -0
  64. package/dist/module-context-registry.d.ts.map +1 -0
  65. package/dist/module-context-registry.js +91 -0
  66. package/dist/module-context-registry.js.map +1 -0
  67. package/dist/module-context.d.ts +31 -0
  68. package/dist/module-context.d.ts.map +1 -0
  69. package/dist/module-context.js +67 -0
  70. package/dist/module-context.js.map +1 -0
  71. package/dist/registry.d.ts +1 -2
  72. package/dist/registry.d.ts.map +1 -1
  73. package/dist/registry.js +3 -3
  74. package/dist/registry.js.map +1 -1
  75. package/dist/resource-context.d.ts +25 -5
  76. package/dist/resource-context.d.ts.map +1 -1
  77. package/dist/resource-context.js +74 -28
  78. package/dist/resource-context.js.map +1 -1
  79. package/dist/schema-valiator.d.ts.map +1 -1
  80. package/dist/schema-valiator.js +3 -1
  81. package/dist/schema-valiator.js.map +1 -1
  82. package/dist/snapshot-serializer.d.ts +1 -2
  83. package/dist/snapshot-serializer.d.ts.map +1 -1
  84. package/dist/snapshot-serializer.js.map +1 -1
  85. package/dist/types.d.ts +3 -0
  86. package/dist/types.d.ts.map +1 -1
  87. package/dist/types.js.map +1 -1
  88. package/package.json +9 -6
  89. package/src/boot-context-registry.ts +169 -0
  90. package/src/capabilities/component.yaml +4 -0
  91. package/src/capabilities/executable.yaml +8 -0
  92. package/src/capabilities/handler.yaml +4 -0
  93. package/src/capabilities/listener.yaml +4 -0
  94. package/src/capabilities/provider.yaml +4 -0
  95. package/src/capabilities/template.yaml +4 -0
  96. package/src/capabilities/type.yaml +4 -0
  97. package/src/controller-loader.ts +298 -0
  98. package/src/controller-registry.ts +206 -0
  99. package/src/controllers/capability/capability-controller.ts +41 -0
  100. package/src/controllers/module/import-controller.ts +143 -0
  101. package/src/controllers/module/module-controller.ts +67 -0
  102. package/src/controllers/module/module.json +48 -0
  103. package/src/controllers/resource-definition/resource-definition-controller.ts +87 -0
  104. package/src/controllers/resource-definition/resource-definition.json +18 -0
  105. package/src/event-stream.ts +121 -0
  106. package/src/events.ts +99 -0
  107. package/src/index.ts +7 -0
  108. package/src/kernel.ts +558 -0
  109. package/src/loader.ts +245 -0
  110. package/src/manifest-adapters/http-adapter.ts +35 -0
  111. package/src/manifest-adapters/local-file-adapter.ts +69 -0
  112. package/src/manifest-adapters/manifest-adapter.ts +33 -0
  113. package/src/manifest-adapters/registry-adapter.ts +56 -0
  114. package/src/manifest-schemas.ts +49 -0
  115. package/src/registry.ts +137 -0
  116. package/src/resource-context.ts +266 -0
  117. package/src/resource-uri.ts +200 -0
  118. package/src/schema-valiator.ts +57 -0
  119. package/dist/cli.d.ts +0 -3
  120. package/dist/cli.d.ts.map +0 -1
  121. package/dist/cli.js +0 -109
  122. package/dist/cli.js.map +0 -1
  123. package/dist/expressions.d.ts +0 -20
  124. package/dist/expressions.d.ts.map +0 -1
  125. package/dist/expressions.js +0 -253
  126. package/dist/expressions.js.map +0 -1
  127. package/dist/template-definition.d.ts +0 -38
  128. package/dist/template-definition.d.ts.map +0 -1
  129. package/dist/template-definition.js +0 -26
  130. package/dist/template-definition.js.map +0 -1
  131. package/dist/template-expander.d.ts +0 -19
  132. package/dist/template-expander.d.ts.map +0 -1
  133. package/dist/template-expander.js +0 -425
  134. package/dist/template-expander.js.map +0 -1
  135. /package/{dist/src → src}/controllers/module/module.yaml +0 -0
package/dist/kernel.d.ts CHANGED
@@ -1,47 +1,37 @@
1
- import { RuntimeEvent, RuntimeResource } from "@telorun/sdk";
1
+ import { EvaluationContext, Kernel as IKernel, ModuleContext, ResourceDefinition, RuntimeEvent } from "@telorun/sdk";
2
2
  import { EventStream } from "./event-stream.js";
3
- import { Kernel as IKernel, ResourceDefinition, ResourceManifest } from "./types.js";
4
3
  /**
5
4
  * Kernel: Central orchestrator managing lifecycle and message bus
6
5
  * Handles resource loading, initialization, and execution through controllers
7
6
  */
8
7
  export declare class Kernel implements IKernel {
9
8
  private loader;
10
- private initializationQueue;
11
9
  private controllers;
12
10
  private eventBus;
13
11
  private eventStream;
14
- private resourceInstances;
15
12
  private resourceEventBuses;
16
- private resourceChildren;
17
13
  private holdCount;
18
14
  private idleResolvers;
19
15
  private _exitCode;
20
- private bootContextRegistry;
21
16
  private readonly sharedSchemaValidator;
17
+ private rootContext;
22
18
  constructor();
23
- /**
24
- * Register a resource dynamically during initialization
25
- */
26
- registerManifest(resource: ResourceManifest): void;
27
- /**
28
- * Register a child resource and track the parent-child relationship for cascade teardown
29
- */
30
- registerChildManifest(parentKey: string, resource: ResourceManifest): void;
31
- /**
32
- * Tear down a single resource and cascade to its children first
33
- */
34
- teardownResource(module: string, kind: string, name: string): Promise<void>;
35
19
  registerController(moduleName: string, kindName: string, controllerInstance: any): Promise<void>;
36
20
  /**
37
21
  * Register a resource definition with the controller registry
38
22
  */
39
23
  registerResourceDefinition(definition: ResourceDefinition): void;
40
24
  registerCapability(name: string, schema?: Record<string, any>): void;
25
+ getModuleContext(_moduleName: string): ModuleContext;
26
+ resolveModuleAlias(_declaringModule: string, alias: string): string | undefined;
27
+ registerModuleImport(_declaringModule: string, alias: string, targetModule: string, kinds: string[]): void;
41
28
  isCapabilityRegistered(name: string): boolean;
42
29
  getCapabilitySchema(name: string): Record<string, any> | null | undefined;
43
30
  /**
44
- * Load built-in Runtime definitions (e.g., Runtime.Module)
31
+ * Load built-in Runtime definitions (e.g., Kernel.Module)
32
+ * Also declares all known module namespaces upfront so that resources can be
33
+ * registered to them. User-defined modules are declared explicitly by Kernel.Module
34
+ * resources during the initialization phase.
45
35
  */
46
36
  private loadBuiltinDefinitions;
47
37
  /**
@@ -57,7 +47,6 @@ export declare class Kernel implements IKernel {
57
47
  * Phase 2: Start - Initialize resources
58
48
  */
59
49
  start(): Promise<void>;
60
- runInstances(): Promise<void>;
61
50
  emitRuntimeEvent(event: string, payload?: any): Promise<void>;
62
51
  get exitCode(): number;
63
52
  requestExit(code: number): void;
@@ -70,25 +59,31 @@ export declare class Kernel implements IKernel {
70
59
  */
71
60
  shutdown(): void;
72
61
  hasEventHandlers(event: string): boolean;
73
- hasResourceInstances(): boolean;
74
- teardownResources(): Promise<void>;
75
62
  on(event: string, handler: (event: RuntimeEvent) => void | Promise<void>): void;
76
63
  private createControllerContext;
77
64
  private createResourceContext;
78
- getResourcesByKind(kind: string): RuntimeResource[];
79
- getResourceByName(module: string, kind: string, name: string): RuntimeResource | null;
65
+ /**
66
+ * Create a resource instance: resolves the controller, validates the schema,
67
+ * calls create/init, registers context providers, stores the snapshot, and
68
+ * mirrors the instance into the Kernel-level and module-level registries.
69
+ * Returns null when the controller is not yet registered (retry signal).
70
+ */
71
+ private _createInstance;
72
+ /**
73
+ * Tear down all resource instances owned by a dynamically-spawned context,
74
+ * cascading depth-first through its children. Removes entries from both
75
+ * ctx.resourceInstances and the Kernel-level resourceInstances map, and
76
+ * emits Teardown events (matching the behaviour of teardownResource()).
77
+ */
78
+ teardownContext(ctx: EvaluationContext): Promise<void>;
80
79
  /**
81
80
  * Returns the unique set of local file paths from which resources were loaded.
82
81
  * HTTP/HTTPS sources are excluded — they cannot be watched on disk.
83
82
  */
84
- getSourceFiles(): string[];
85
83
  /**
86
84
  * Reload all resources that were loaded from the given source file.
87
85
  * Safe order: parse first → if parse succeeds, tear down old → init new → run new only.
88
86
  */
89
- reloadSource(sourcePath: string): Promise<void>;
90
- private initializeResources;
91
- invoke(module: string, kind: string, name: string, ...args: any[]): Promise<any>;
92
87
  private getResourceKey;
93
88
  /**
94
89
  * Enable event streaming to a file (JSONL format)
@@ -102,9 +97,6 @@ export declare class Kernel implements IKernel {
102
97
  * Get the event stream for testing and inspection
103
98
  */
104
99
  getEventStream(): EventStream;
105
- /**
106
- * Take a snapshot of current runtime state
107
- */
108
100
  /**
109
101
  * Setup event streaming hook to capture all events
110
102
  */
@@ -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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"}