@telorun/kernel 0.2.6 → 0.2.8

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 (57) hide show
  1. package/README.md +100 -0
  2. package/dist/controller-registry.js +2 -2
  3. package/dist/controller-registry.js.map +1 -1
  4. package/dist/controllers/module/import-controller.d.ts.map +1 -1
  5. package/dist/controllers/module/import-controller.js +18 -9
  6. package/dist/controllers/module/import-controller.js.map +1 -1
  7. package/dist/evaluation-context.d.ts +76 -38
  8. package/dist/evaluation-context.d.ts.map +1 -1
  9. package/dist/evaluation-context.js +254 -89
  10. package/dist/evaluation-context.js.map +1 -1
  11. package/dist/execution-context.d.ts +1 -1
  12. package/dist/execution-context.d.ts.map +1 -1
  13. package/dist/execution-context.js +1 -1
  14. package/dist/execution-context.js.map +1 -1
  15. package/dist/index.d.ts +4 -1
  16. package/dist/index.d.ts.map +1 -1
  17. package/dist/index.js +3 -0
  18. package/dist/index.js.map +1 -1
  19. package/dist/kernel.d.ts +25 -2
  20. package/dist/kernel.d.ts.map +1 -1
  21. package/dist/kernel.js +100 -27
  22. package/dist/kernel.js.map +1 -1
  23. package/dist/manifest-adapters/local-file-adapter.d.ts +1 -1
  24. package/dist/manifest-adapters/local-file-adapter.d.ts.map +1 -1
  25. package/dist/manifest-adapters/local-file-adapter.js +2 -1
  26. package/dist/manifest-adapters/local-file-adapter.js.map +1 -1
  27. package/dist/manifest-adapters/manifest-adapter.d.ts +1 -1
  28. package/dist/module-context.d.ts +28 -5
  29. package/dist/module-context.d.ts.map +1 -1
  30. package/dist/module-context.js +107 -4
  31. package/dist/module-context.js.map +1 -1
  32. package/dist/resource-context.d.ts +14 -10
  33. package/dist/resource-context.d.ts.map +1 -1
  34. package/dist/resource-context.js +44 -8
  35. package/dist/resource-context.js.map +1 -1
  36. package/dist/schema-valiator.d.ts +7 -1
  37. package/dist/schema-valiator.d.ts.map +1 -1
  38. package/dist/schema-valiator.js +75 -4
  39. package/dist/schema-valiator.js.map +1 -1
  40. package/dist/schema-validator.d.ts +15 -0
  41. package/dist/schema-validator.d.ts.map +1 -0
  42. package/dist/schema-validator.js +127 -0
  43. package/dist/schema-validator.js.map +1 -0
  44. package/package.json +21 -10
  45. package/src/controller-registry.ts +2 -2
  46. package/src/controllers/module/import-controller.ts +27 -11
  47. package/src/evaluation-context.ts +490 -0
  48. package/src/execution-context.ts +21 -0
  49. package/src/index.ts +4 -1
  50. package/src/kernel.ts +144 -38
  51. package/src/manifest-adapters/local-file-adapter.ts +2 -2
  52. package/src/manifest-adapters/manifest-adapter.ts +1 -1
  53. package/src/module-context.ts +211 -0
  54. package/src/resource-context.ts +67 -12
  55. package/src/schema-validator.ts +146 -0
  56. package/src/loader.ts +0 -134
  57. package/src/schema-valiator.ts +0 -68
@@ -1,23 +1,8 @@
1
- import { evaluate } from "cel-js";
2
- import { RuntimeError } from "./types.js";
3
- const TEMPLATE_REGEX = /\$\{\{\s*([^}]+?)\s*\}\}/g;
4
- const EXACT_TEMPLATE_REGEX = /^\s*\$\{\{\s*([^}]+?)\s*\}\}\s*$/;
5
- /** Canonical key for a resource instance: "<module>.<kind>.<name>" */
6
- export function resourceKey(r) {
7
- return `${r.metadata.module ?? "default"}.${r.kind}.${r.metadata.name}`;
8
- }
9
- function redactSecrets(message, secretValues) {
10
- if (secretValues.size === 0)
11
- return message;
12
- const sorted = Array.from(secretValues).sort((a, b) => b.length - a.length);
13
- let result = message;
14
- for (const secret of sorted) {
15
- result = result.split(secret).join("[REDACTED]");
16
- }
17
- return result;
18
- }
1
+ import { isCompiledValue, resourceKey, } from "@telorun/sdk";
2
+ import { RuntimeError } from "@telorun/sdk";
3
+ export { resourceKey };
19
4
  /**
20
- * Base class for all evaluation contexts. Owns CEL evaluation, template
5
+ * Base class for all evaluation contexts. Owns template
21
6
  * expansion, secrets redaction, and the generic resource lifecycle tree.
22
7
  *
23
8
  * Every EvaluationContext node can:
@@ -28,7 +13,9 @@ function redactSecrets(message, secretValues) {
28
13
  * - Cascade teardown depth-first through the tree (teardownResources)
29
14
  */
30
15
  export class EvaluationContext {
31
- constructor(context, createInstance = async () => null, secretValues) {
16
+ constructor(source, context, createInstance = async () => null, secretValues, emit) {
17
+ this.source = source;
18
+ this.id = Math.random().toString(16).slice(2, 8);
32
19
  /** Position in the lifecycle tree. */
33
20
  this.parent = undefined;
34
21
  this.children = [];
@@ -36,25 +23,56 @@ export class EvaluationContext {
36
23
  this.state = "Pending";
37
24
  /** Resource instances owned by this context node, keyed by resourceKey(). */
38
25
  this.resourceInstances = new Map();
26
+ /** Resources that have been created but not yet initialized (between phases). */
27
+ this.createdInstances = new Map();
39
28
  /** Resources queued for initialization on this context node. */
40
29
  this.pendingResources = [];
41
30
  this._context = context;
42
31
  this._createInstance = createInstance;
43
32
  this._secretValues = secretValues ?? new Set();
33
+ this.emit = emit;
44
34
  }
45
35
  get createInstance() {
46
36
  return this._createInstance;
47
37
  }
38
+ /** Called after init() when a resource snapshot is available. Overridden by ModuleContext. */
39
+ onResourceSnapshotted(_name, _snap) { }
48
40
  get context() {
49
41
  return this._context;
50
42
  }
51
43
  get secretValues() {
52
44
  return this._secretValues;
53
45
  }
46
+ /**
47
+ * Reorder pending resources to match the given name sequence (topo order from Phase 4).
48
+ * Resources not present in `names` are left at the end in their original order.
49
+ * Call before initializeResources() so the create/init sub-phases run in dependency order,
50
+ * guaranteeing that Phase 5 injection always finds initialized dependencies.
51
+ */
52
+ setInitOrder(names) {
53
+ const rank = new Map(names.map((n, i) => [n, i]));
54
+ this.pendingResources.sort((a, b) => {
55
+ const ra = rank.get(a.metadata.name) ?? Infinity;
56
+ const rb = rank.get(b.metadata.name) ?? Infinity;
57
+ return ra - rb;
58
+ });
59
+ }
54
60
  /**
55
61
  * Queue a resource manifest for initialization on this context.
56
62
  */
63
+ hasManifest(name) {
64
+ return (this.resourceInstances.has(name) ||
65
+ this.createdInstances.has(name) ||
66
+ this.pendingResources.some((r) => r.metadata.name === name));
67
+ }
57
68
  registerManifest(resource) {
69
+ if (!resource.metadata) {
70
+ resource.metadata = { name: `__unnamed_${Math.random().toString(16).slice(2, 8)}` };
71
+ }
72
+ const name = resource.metadata.name;
73
+ if (this.hasManifest(name)) {
74
+ throw new RuntimeError("ERR_DUPLICATE_RESOURCE", `Resource '${name}' is already registered`);
75
+ }
58
76
  this.pendingResources.push(resource);
59
77
  }
60
78
  /**
@@ -64,60 +82,115 @@ export class EvaluationContext {
64
82
  spawnChild(child) {
65
83
  child.parent = this;
66
84
  this.children.push(child);
85
+ // Propagate injection hook so all child contexts (module imports, scopes) participate
86
+ // in Phase 5 injection. createScopeHandle overrides this with an extended version.
87
+ if (this.preInitHook && !child.preInitHook) {
88
+ child.preInitHook = this.preInitHook;
89
+ }
67
90
  return child;
68
91
  }
69
92
  /**
70
- * Multi-pass initialization loop. Processes pendingResources by calling the
71
- * supplied instantiator for each resource, retrying failures across up to 10
72
- * passes (handles dependency ordering without explicit topological sort).
93
+ * Interleaved create/init loop.
73
94
  *
74
- * ERR_VISIBILITY_DENIED errors are fatal and re-thrown immediately.
95
+ * Each pass has two sub-phases run back-to-back:
96
+ * 1. Create sub-phase: call controller.create() for each pending resource that
97
+ * hasn't been created yet. Successful results go into createdInstances.
98
+ * 2. Init sub-phase: call instance.init(ctx) for each created-but-not-inited
99
+ * resource. Successful results go into resourceInstances.
100
+ *
101
+ * Interleaving is necessary because some resources' create() depends on effects
102
+ * produced by other resources' init() (e.g. Kernel.Import.init() runs
103
+ * child.initializeResources() which registers controllers needed by sibling
104
+ * resources' create()). Running both sub-phases each pass lets those effects
105
+ * propagate before the next create attempt.
106
+ *
107
+ * Each resource is created at most once and inited at most once.
108
+ * ERR_VISIBILITY_DENIED is fatal and re-thrown immediately.
75
109
  * All other errors are tracked and retried until no progress is made.
76
110
  */
77
111
  async initializeResources() {
78
112
  const MAX_PASSES = 10;
79
- let pass = 1;
80
113
  const errors = new Map();
114
+ let pass = 1;
81
115
  do {
82
- const handled = [];
116
+ let progress = false;
117
+ // Create sub-phase
83
118
  for (const resource of [...this.pendingResources]) {
84
- const key = resourceKey(resource);
85
- if (this.resourceInstances.has(key))
119
+ const name = resource.metadata.name;
120
+ if (this.createdInstances.has(name))
86
121
  continue;
87
122
  try {
88
- const instance = await this._createInstance(resource);
89
- if (instance) {
90
- this.resourceInstances.set(key, { resource, instance });
91
- handled.push(resource);
92
- errors.delete(key);
123
+ // const expanded = this.expand(resource) as ResourceManifest;
124
+ // FIXME: Cannot expand it for all resources, needs to be selective
125
+ const created = await this._createInstance(this, resource);
126
+ if (created) {
127
+ this.createdInstances.set(name, {
128
+ resource,
129
+ instance: created.instance,
130
+ ctx: created.ctx,
131
+ });
132
+ const idx = this.pendingResources.findIndex((m) => m.metadata.name === name);
133
+ if (idx >= 0)
134
+ this.pendingResources.splice(idx, 1);
135
+ errors.delete(name);
136
+ progress = true;
93
137
  }
94
138
  }
95
139
  catch (error) {
96
140
  if (error instanceof RuntimeError && error.code === "ERR_VISIBILITY_DENIED")
97
141
  throw error;
98
- errors.set(key, error instanceof Error ? (error.stack ?? error.message) : String(error));
142
+ errors.set(name, error instanceof Error ? error.message : String(error));
99
143
  }
100
144
  }
101
- for (const r of handled) {
102
- const idx = this.pendingResources.indexOf(r);
103
- if (idx >= 0)
104
- this.pendingResources.splice(idx, 1);
145
+ // Init sub-phase
146
+ for (const [name, { resource, instance, ctx }] of [...this.createdInstances]) {
147
+ if (this.resourceInstances.has(name))
148
+ continue;
149
+ try {
150
+ if (this.preInitHook) {
151
+ this.preInitHook(resource, (n) => this.resourceInstances.get(n)?.instance);
152
+ }
153
+ if (instance.init)
154
+ await instance.init(ctx);
155
+ if (instance.snapshot) {
156
+ const snap = await Promise.resolve(instance.snapshot()).catch(() => ({}));
157
+ this.onResourceSnapshotted(name, snap ?? {});
158
+ }
159
+ this.resourceInstances.set(name, { resource, instance });
160
+ this.createdInstances.delete(name);
161
+ errors.delete(name);
162
+ progress = true;
163
+ }
164
+ catch (error) {
165
+ if (error instanceof RuntimeError && error.code === "ERR_VISIBILITY_DENIED")
166
+ throw error;
167
+ errors.set(name, error instanceof Error ? error.message : String(error));
168
+ }
105
169
  }
106
170
  pass++;
107
- if (handled.length === 0)
171
+ if (!progress)
108
172
  break;
109
173
  } while (pass <= MAX_PASSES);
110
- if (this.pendingResources.length > 0) {
111
- const unhandledList = this.pendingResources
112
- .reverse()
113
- .map((r) => `- ${r.kind}:${r.metadata.name}: ${errors.get(resourceKey(r)) ?? "Unknown error"}`)
174
+ if (this.pendingResources.length > 0 || this.createdInstances.size > 0) {
175
+ const diagnostics = [
176
+ ...this.pendingResources.map((r) => ({
177
+ resource: r.metadata.name,
178
+ message: errors.get(r.metadata.name) ?? "Unknown error",
179
+ })),
180
+ ...[...this.createdInstances.keys()].map((name) => ({
181
+ resource: name,
182
+ message: errors.get(name) ?? "Unknown error",
183
+ })),
184
+ ];
185
+ const details = diagnostics
186
+ .map((d) => ` ${d.resource}: ${d.message}`)
114
187
  .join("\n");
115
- throw new RuntimeError("ERR_RESOURCE_INITIALIZATION_FAILED", `Unable to process resources:\n\n${unhandledList}`);
188
+ throw new RuntimeError("ERR_RESOURCE_INITIALIZATION_FAILED", `Unable to process resources:\n${details}`, diagnostics);
116
189
  }
117
190
  this.state = "Initialized";
118
191
  }
119
192
  withManifests(manifests, fn) {
120
- const child = this.spawnChild(new EvaluationContext(this._context, this._createInstance, this._secretValues));
193
+ const child = this.spawnChild(new EvaluationContext(this.source, this._context, this._createInstance, this._secretValues, this.emit));
121
194
  try {
122
195
  for (const manifest of manifests) {
123
196
  child.registerManifest(manifest);
@@ -131,13 +204,59 @@ export class EvaluationContext {
131
204
  child.teardownResources();
132
205
  }
133
206
  }
207
+ /**
208
+ * Returns a ScopeHandle that initializes `manifests` in a fresh child context each time
209
+ * `run()` is called, executes the callback with a ScopeContext, and tears down when done.
210
+ *
211
+ * The child inherits the parent's preInitHook (if any), extended so that `getInstance`
212
+ * also checks the parent's already-initialized singleton instances. This lets scoped
213
+ * resources hold x-telo-ref slots pointing to outer resources — those deps are already
214
+ * live when the scope opens.
215
+ */
216
+ createScopeHandle(manifests) {
217
+ const parent = this;
218
+ return {
219
+ async run(fn) {
220
+ const child = parent.spawnChild(new EvaluationContext(parent.source, parent._context, parent._createInstance, parent._secretValues, parent.emit));
221
+ // Propagate injection hook: extend getInstance to also resolve parent singleton instances.
222
+ if (parent.preInitHook) {
223
+ const parentHook = parent.preInitHook;
224
+ child.preInitHook = (resource, childGetInstance) => {
225
+ parentHook(resource, (name) => childGetInstance(name) ?? parent.resourceInstances.get(name)?.instance);
226
+ };
227
+ }
228
+ try {
229
+ for (const manifest of manifests) {
230
+ child.registerManifest(manifest);
231
+ }
232
+ await child.initializeResources();
233
+ const scope = {
234
+ getInstance(name) {
235
+ const childEntry = child.resourceInstances.get(name);
236
+ if (childEntry)
237
+ return childEntry.instance;
238
+ const parentEntry = parent.resourceInstances.get(name);
239
+ if (parentEntry)
240
+ return parentEntry.instance;
241
+ throw new RuntimeError("ERR_SCOPE_RESOURCE_NOT_FOUND", `Resource '${name}' not found in scope or outer context. Available scoped: ${[...child.resourceInstances.keys()].join(", ")}`);
242
+ },
243
+ };
244
+ return await fn(scope);
245
+ }
246
+ finally {
247
+ await child.teardownResources();
248
+ const idx = parent.children.indexOf(child);
249
+ if (idx >= 0)
250
+ parent.children.splice(idx, 1);
251
+ }
252
+ },
253
+ };
254
+ }
134
255
  /**
135
256
  * Cascade teardown depth-first through the tree:
136
257
  * 1. Tear down child contexts in reverse registration order.
137
- * 2. Tear down own resource instances in reverse registration order.
138
- *
139
- * Note: Kernel-level events (e.g. Teardown events) are NOT emitted here —
140
- * they remain the Kernel's responsibility.
258
+ * 2. Tear down own resource instances in reverse registration order,
259
+ * emitting a Teardown event for each via the injected emit callback.
141
260
  */
142
261
  async teardownResources() {
143
262
  this.state = "Draining";
@@ -145,37 +264,49 @@ export class EvaluationContext {
145
264
  await child.teardownResources();
146
265
  }
147
266
  const entries = [...this.resourceInstances.entries()].reverse();
148
- for (const [key, { instance }] of entries) {
267
+ for (const [key, { resource, instance }] of entries) {
149
268
  if (instance.teardown)
150
269
  await instance.teardown();
270
+ await this.emit(`${resource.kind}.${resource.metadata.name}.Teardown`, {
271
+ resource: { kind: resource.kind, name: resource.metadata.name },
272
+ });
151
273
  this.resourceInstances.delete(key);
152
274
  }
153
275
  this.state = "Teardown";
154
276
  }
277
+ transientChild(context) {
278
+ return new EvaluationContext(this.source, { ...this.context, ...context }, this._createInstance, this._secretValues, this.emit);
279
+ }
155
280
  /**
156
- * Evaluate a single CEL expression string against the context.
157
- * Secret values are redacted from any thrown error message.
281
+ * Invoke a resource by kind and name within this context's resourceInstances.
282
+ * Emits a scoped Invoked event via the injected emit callback after invocation.
158
283
  */
159
- evaluate(expression) {
160
- try {
161
- return evaluate(expression, this._context);
284
+ async invoke(kind, name, inputs) {
285
+ const entry = this.resourceInstances.get(name);
286
+ if (entry) {
287
+ if (typeof entry.instance.invoke !== "function") {
288
+ throw new RuntimeError("ERR_RESOURCE_NOT_INVOKABLE", `Resource ${kind}.${name} does not have an invoke method`);
289
+ }
290
+ const outputs = await entry.instance.invoke(inputs);
291
+ await this.emit(`${kind}.${name}.Invoked`, { outputs });
292
+ return outputs;
162
293
  }
163
- catch (error) {
164
- const raw = error instanceof Error ? error.message : String(error);
165
- const safe = redactSecrets(raw, this._secretValues);
166
- throw new Error(`CEL evaluation failed: "${expression}": ${safe}`);
294
+ throw new RuntimeError("ERR_RESOURCE_NOT_FOUND", `Resource not found for invocation: ${kind}.${name}. Available resources: ${[...this.resourceInstances.keys()].join(", ")}`);
295
+ }
296
+ async run(name) {
297
+ const entry = this.resourceInstances.get(name);
298
+ if (entry && typeof entry.instance.run === "function") {
299
+ return entry.instance.run();
167
300
  }
301
+ throw new RuntimeError("ERR_RESOURCE_NOT_RUNNABLE", `Resource ${name} is not runnable or not found. Available resources: ${[...this.resourceInstances.keys()].join(", ")}`);
168
302
  }
169
303
  /**
170
- * Expand a value that may contain ${{ }} templates.
171
- * Works recursively over strings, arrays, and objects.
172
- * Templates whose identifiers are not present in the context are left
173
- * unchanged (deferred) — they will be resolved at execution time when a
174
- * richer ExecutionContext is available. All other CEL errors are propagated.
304
+ * Expand a value that may contain precompiled ${{ }} templates.
305
+ * Works recursively over CompiledValues, arrays, and objects.
175
306
  */
176
307
  expand(value) {
177
- if (typeof value === "string") {
178
- return this.expandString(value);
308
+ if (isCompiledValue(value)) {
309
+ return value.call(this._context);
179
310
  }
180
311
  if (Array.isArray(value)) {
181
312
  return value.map((entry) => this.expand(entry));
@@ -190,31 +321,65 @@ export class EvaluationContext {
190
321
  return value;
191
322
  }
192
323
  /**
193
- * Merge another context on top of this one.
194
- * Returns a new base EvaluationContext 'other' wins on key conflict.
324
+ * Expand a value using this context merged with additional properties.
325
+ * Equivalent to merge(extraContext).expand(value) without allocating a context object.
195
326
  */
196
- merge(other) {
197
- const otherCtx = other instanceof EvaluationContext ? other.context : other;
198
- const otherSecrets = other instanceof EvaluationContext ? other.secretValues : new Set();
199
- const merged = Object.assign(Object.create(null), this._context, otherCtx);
200
- const mergedSecrets = new Set([...this._secretValues, ...otherSecrets]);
201
- return new EvaluationContext(merged, this._createInstance, mergedSecrets);
202
- }
203
- expandString(value) {
204
- if (!value.includes("${{")) {
205
- return value;
206
- }
207
- const exact = value.match(EXACT_TEMPLATE_REGEX);
208
- if (exact) {
209
- return this.evaluate(exact[1]);
210
- }
211
- return value.replace(TEMPLATE_REGEX, (_match, expr) => {
212
- const resolved = this.evaluate(expr);
213
- if (resolved === null || resolved === undefined) {
214
- return "";
327
+ expandWith(value, extraContext) {
328
+ const saved = this._context;
329
+ this._context = Object.assign(Object.create(null), saved, extraContext);
330
+ try {
331
+ return this.expand(value);
332
+ }
333
+ finally {
334
+ this._context = saved;
335
+ }
336
+ }
337
+ /**
338
+ * Expand specific dot-paths within an object. '**' expands the entire object.
339
+ * Paths listed in excludePaths are left untouched (runtime takes precedence).
340
+ * Always throws if an expression cannot be resolved.
341
+ */
342
+ expandPaths(value, paths, excludePaths = []) {
343
+ if (paths.includes("**")) {
344
+ const result = {};
345
+ for (const [key, v] of Object.entries(value)) {
346
+ result[key] = isExcluded(key, excludePaths) ? v : this.expand(v);
215
347
  }
216
- return String(resolved);
217
- });
348
+ return result;
349
+ }
350
+ const result = { ...value };
351
+ for (const path of paths) {
352
+ if (isExcluded(path, excludePaths))
353
+ continue;
354
+ const parts = path.split(".");
355
+ const current = getNestedValue(result, parts);
356
+ if (current !== undefined) {
357
+ setNestedValue(result, parts, this.expand(current));
358
+ }
359
+ }
360
+ return result;
361
+ }
362
+ }
363
+ function isExcluded(path, excludePaths) {
364
+ return excludePaths.some((ep) => ep === path || ep === "**" || path.startsWith(ep + ".") || ep.startsWith(path + "."));
365
+ }
366
+ function getNestedValue(obj, parts) {
367
+ let current = obj;
368
+ for (const part of parts) {
369
+ if (current === null || typeof current !== "object")
370
+ return undefined;
371
+ current = current[part];
372
+ }
373
+ return current;
374
+ }
375
+ function setNestedValue(obj, parts, value) {
376
+ let current = obj;
377
+ for (let i = 0; i < parts.length - 1; i++) {
378
+ const next = current[parts[i]];
379
+ if (next === null || typeof next !== "object")
380
+ return;
381
+ current = next;
218
382
  }
383
+ current[parts[parts.length - 1]] = value;
219
384
  }
220
385
  //# sourceMappingURL=evaluation-context.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"evaluation-context.js","sourceRoot":"","sources":["../src/evaluation-context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"evaluation-context.js","sourceRoot":"","sources":["../src/evaluation-context.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { EvaluationContext } from "./evaluation-context.js";
2
- import { ModuleContext } from "./module-context.js";
2
+ import type { ModuleContext } from "./module-context.js";
3
3
  /**
4
4
  * The ephemeral, per-trigger context layer. Merges a ModuleContext with
5
5
  * arbitrary execution-time properties (e.g. { request, inputs } for HTTP;
@@ -1 +1 @@
1
- {"version":3,"file":"execution-context.d.ts","sourceRoot":"","sources":["../src/execution-context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD;;;;;;GAMG;AACH,qBAAa,gBAAiB,SAAQ,iBAAiB;gBACzC,SAAS,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAOzE"}
1
+ {"version":3,"file":"execution-context.d.ts","sourceRoot":"","sources":["../src/execution-context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEzD;;;;;;GAMG;AACH,qBAAa,gBAAiB,SAAQ,iBAAiB;gBACzC,SAAS,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CASzE"}
@@ -8,7 +8,7 @@ import { EvaluationContext } from "./evaluation-context.js";
8
8
  */
9
9
  export class ExecutionContext extends EvaluationContext {
10
10
  constructor(moduleCtx, execProps) {
11
- super(Object.assign(Object.create(null), moduleCtx.context, execProps), moduleCtx.createInstance, moduleCtx.secretValues);
11
+ super(moduleCtx.source, Object.assign(Object.create(null), moduleCtx.context, execProps), moduleCtx.createInstance, moduleCtx.secretValues, moduleCtx.emit);
12
12
  }
13
13
  }
14
14
  //# sourceMappingURL=execution-context.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"execution-context.js","sourceRoot":"","sources":["../src/execution-context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAG5D;;;;;;GAMG;AACH,MAAM,OAAO,gBAAiB,SAAQ,iBAAiB;IACrD,YAAY,SAAwB,EAAE,SAAkC;QACtE,KAAK,CACH,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,SAAS,CAAC,OAAO,EAAE,SAAS,CAA4B,EAC3F,SAAS,CAAC,cAAc,EACxB,SAAS,CAAC,YAAY,CACvB,CAAC;IACJ,CAAC;CACF"}
1
+ {"version":3,"file":"execution-context.js","sourceRoot":"","sources":["../src/execution-context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAG5D;;;;;;GAMG;AACH,MAAM,OAAO,gBAAiB,SAAQ,iBAAiB;IACrD,YAAY,SAAwB,EAAE,SAAkC;QACtE,KAAK,CACH,SAAS,CAAC,MAAM,EAChB,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,SAAS,CAAC,OAAO,EAAE,SAAS,CAA4B,EAC3F,SAAS,CAAC,cAAc,EACxB,SAAS,CAAC,YAAY,EACtB,SAAS,CAAC,IAAI,CACf,CAAC;IACJ,CAAC;CACF"}
package/dist/index.d.ts CHANGED
@@ -1,6 +1,9 @@
1
1
  export { ControllerRegistry } from "./controller-registry.js";
2
+ export { EvaluationContext } from "./evaluation-context.js";
2
3
  export { EventStream } from "./event-stream.js";
3
- export { Kernel } from "./kernel.js";
4
+ export { ExecutionContext } from "./execution-context.js";
5
+ export { Kernel, type KernelOptions } from "./kernel.js";
6
+ export { ModuleContext } from "./module-context.js";
4
7
  export { ManifestRegistry as Registry } from "./registry.js";
5
8
  export { ResourceURI } from "./resource-uri.js";
6
9
  export type { RuntimeDiagnostic } from "@telorun/sdk";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,gBAAgB,IAAI,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,YAAY,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,MAAM,EAAE,KAAK,aAAa,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,gBAAgB,IAAI,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,YAAY,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC"}
package/dist/index.js CHANGED
@@ -1,6 +1,9 @@
1
1
  export { ControllerRegistry } from "./controller-registry.js";
2
+ export { EvaluationContext } from "./evaluation-context.js";
2
3
  export { EventStream } from "./event-stream.js";
4
+ export { ExecutionContext } from "./execution-context.js";
3
5
  export { Kernel } from "./kernel.js";
6
+ export { ModuleContext } from "./module-context.js";
4
7
  export { ManifestRegistry as Registry } from "./registry.js";
5
8
  export { ResourceURI } from "./resource-uri.js";
6
9
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,gBAAgB,IAAI,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,MAAM,EAAsB,MAAM,aAAa,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,gBAAgB,IAAI,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC"}
package/dist/kernel.d.ts CHANGED
@@ -1,6 +1,14 @@
1
1
  import { AnalysisRegistry } from "@telorun/analyzer";
2
- import { Kernel as IKernel, ModuleContext, ResourceDefinition, RuntimeEvent } from "@telorun/sdk";
2
+ import { Kernel as IKernel, ResourceDefinition, RuntimeEvent } from "@telorun/sdk";
3
+ import { ModuleContext } from "./module-context.js";
3
4
  import { EventStream } from "./event-stream.js";
5
+ export interface KernelOptions {
6
+ stdin?: NodeJS.ReadableStream;
7
+ stdout?: NodeJS.WritableStream;
8
+ stderr?: NodeJS.WritableStream;
9
+ env?: Record<string, string | undefined>;
10
+ argv?: string[];
11
+ }
4
12
  /**
5
13
  * Kernel: Central orchestrator managing lifecycle and message bus
6
14
  * Handles resource loading, initialization, and execution through controllers
@@ -18,7 +26,12 @@ export declare class Kernel implements IKernel {
18
26
  private readonly sharedSchemaValidator;
19
27
  private rootContext;
20
28
  private staticManifests;
21
- constructor();
29
+ readonly stdin: NodeJS.ReadableStream;
30
+ readonly stdout: NodeJS.WritableStream;
31
+ readonly stderr: NodeJS.WritableStream;
32
+ readonly env: Record<string, string | undefined>;
33
+ readonly argv: string[];
34
+ constructor(options?: KernelOptions);
22
35
  registerController(moduleName: string, kindName: string, controllerInstance: any): Promise<void>;
23
36
  /**
24
37
  * Register a resource definition with the controller registry
@@ -65,7 +78,17 @@ export declare class Kernel implements IKernel {
65
78
  hasEventHandlers(event: string): boolean;
66
79
  on(event: string, handler: (event: RuntimeEvent) => void | Promise<void>): void;
67
80
  private createControllerContext;
81
+ /**
82
+ * Walk up the parent chain from a given evaluation context to find the nearest
83
+ * ModuleContext ancestor. Falls back to rootContext if none found.
84
+ */
85
+ private findModuleContext;
68
86
  private createResourceContext;
87
+ /**
88
+ * Parse kernel.argv using a controller's args spec (if present).
89
+ * If the controller exports no args spec, does a generic parse.
90
+ */
91
+ private parseArgsForController;
69
92
  /**
70
93
  * Create phase only: resolves the controller, validates the schema, and calls
71
94
  * controller.create(). Returns { instance, ctx } so initializeResources can
@@ -1 +1 @@
1
- {"version":3,"file":"kernel.d.ts","sourceRoot":"","sources":["../src/kernel.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAkB,MAAM,mBAAmB,CAAC;AACrE,OAAO,EAEH,MAAM,IAAI,OAAO,EACjB,aAAa,EAEb,kBAAkB,EAIlB,YAAY,EAEf,MAAM,cAAc,CAAC;AAGtB,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAMhD;;;GAGG;AACH,qBAAa,MAAO,YAAW,OAAO;IACpC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAgB;IACvC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAwB;IACjD,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA0B;IAEnD,OAAO,CAAC,WAAW,CAAgD;IACnE,OAAO,CAAC,QAAQ,CAA4B;IAC5C,OAAO,CAAC,WAAW,CAAkC;IAQrD,OAAO,CAAC,SAAS,CAAK;IACtB,OAAO,CAAC,aAAa,CAAyB;IAC9C,OAAO,CAAC,SAAS,CAAK;IAEtB,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAAyB;IAC/D,OAAO,CAAC,WAAW,CAAiB;IACpC,OAAO,CAAC,eAAe,CAA0B;;IAM3C,kBAAkB,CACtB,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,MAAM,EAChB,kBAAkB,EAAE,GAAG,GACtB,OAAO,CAAC,IAAI,CAAC;IAKhB;;OAEG;IACH,0BAA0B,CAAC,UAAU,EAAE,kBAAkB,GAAG,IAAI;IAKhE,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,aAAa;IAIpD,kBAAkB,CAAC,gBAAgB,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAI/E,oBAAoB,CAClB,gBAAgB,EAAE,MAAM,EACxB,KAAK,EAAE,MAAM,EACb,YAAY,EAAE,MAAM,EACpB,KAAK,EAAE,MAAM,EAAE,GACd,IAAI;IAKP;;oGAEgG;IAChG,mBAAmB,IAAI,gBAAgB;IAIvC;;;;;OAKG;YACW,sBAAsB;IAuBpC;;OAEG;IACG,cAAc,CAAC,eAAe,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA4E5D;;;OAGG;IACG,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAMnD;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAsDtB,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC;IAInE,IAAI,QAAQ,IAAI,MAAM,CAErB;IAED,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAI/B,WAAW,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,IAAI;IAyBxC,WAAW,IAAI,OAAO,CAAC,IAAI,CAAC;IAS5B;;;;OAIG;IACH,QAAQ,IAAI,IAAI;IAKhB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAIxC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI;IAI/E,OAAO,CAAC,uBAAuB;IAmB/B,OAAO,CAAC,qBAAqB;IAY7B;;;;;OAKG;YACW,eAAe;IAkF7B;;;;;;;OAOG;IACH,OAAO,CAAC,mBAAmB;IAkB3B;;OAEG;IACG,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIxD;;OAEG;IACH,kBAAkB,IAAI,IAAI;IAI1B;;OAEG;IACH,cAAc,IAAI,WAAW;IAI7B;;OAEG;IACH,OAAO,CAAC,mBAAmB;CAS5B"}
1
+ {"version":3,"file":"kernel.d.ts","sourceRoot":"","sources":["../src/kernel.ts"],"names":[],"mappings":"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"}