@telorun/kernel 0.2.9 → 0.3.2

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 +216 -26
  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 +227 -32
  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 +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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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@telorun/kernel",
3
- "version": "0.2.9",
3
+ "version": "0.3.2",
4
4
  "description": "Telo Runtime - A lightweight, polyglot execution host.",
5
5
  "keywords": [
6
6
  "digly",
@@ -41,8 +41,8 @@
41
41
  "ajv-formats": "^3.0.1",
42
42
  "minimatch": "^10.2.5",
43
43
  "packageurl-js": "^2.0.1",
44
- "@telorun/analyzer": "0.1.4",
45
- "@telorun/sdk": "0.2.8",
44
+ "@telorun/analyzer": "0.2.1",
45
+ "@telorun/sdk": "0.3.2",
46
46
  "@telorun/yaml-cel-templating": "1.0.4"
47
47
  },
48
48
  "devDependencies": {
@@ -1,25 +1,34 @@
1
- import { DiagnosticSeverity, Loader, StaticAnalyzer } from "@telorun/analyzer";
1
+ import { DiagnosticSeverity, StaticAnalyzer } from "@telorun/analyzer";
2
2
  import type { ResourceContext, ResourceInstance } from "@telorun/sdk";
3
3
  import { RuntimeError } from "@telorun/sdk";
4
4
  import { ModuleContext } from "../../module-context.js";
5
- import { LocalFileAdapter } from "../../manifest-adapters/local-file-adapter.js";
6
5
 
7
6
  const importAnalysisCache = new Map<
8
7
  string,
9
8
  { signature: string; errors: string[] }
10
9
  >();
11
10
 
11
+ // Only resolve relative/absolute-path sources against the importer's URL. Registry refs
12
+ // (std/foo@1.2.3) and absolute URLs (https://, file://) must pass through unchanged so the
13
+ // loader's adapter chain can dispatch them — otherwise `new URL("std/foo@1", "file:///srv/telo.yaml")`
14
+ // turns a registry ref into a bogus file path and LocalFileAdapter ENOENTs on it.
15
+ function resolveImportSource(source: string, baseSource: string): string {
16
+ if (source.startsWith(".") || source.startsWith("/")) {
17
+ return new URL(source, baseSource).toString();
18
+ }
19
+ return source;
20
+ }
21
+
12
22
  export async function create(resource: any, ctx: ResourceContext): Promise<ResourceInstance> {
13
23
  const alias = resource.metadata.name as string;
14
- const loader = new Loader([new LocalFileAdapter()]);
15
24
 
16
25
  const moduleSource: string = resource.module ?? resource.source;
17
26
 
18
27
  // Validate the imported module and all its transitive imports before loading for runtime.
19
- // loadManifests() follows Kernel.Import chains so definitions from sub-imports are present,
28
+ // loadManifests() follows Telo.Import chains so definitions from sub-imports are present,
20
29
  // preventing false UNDEFINED_KIND errors for kinds that come from the module's own imports.
21
- const resolvedUrl = new URL(moduleSource, ctx.moduleContext.source).toString();
22
- const analysisManifests = await loader.loadManifests(resolvedUrl);
30
+ const resolvedUrl = resolveImportSource(moduleSource, ctx.moduleContext.source);
31
+ const analysisManifests = await ctx.loadManifests(resolvedUrl);
23
32
  const signature = JSON.stringify(analysisManifests);
24
33
  const cached = importAnalysisCache.get(resolvedUrl);
25
34
  let errors: string[];
@@ -44,16 +53,20 @@ export async function create(resource: any, ctx: ResourceContext): Promise<Resou
44
53
  // Load target module manifests for runtime. Inject variables/secrets as compile context so
45
54
  // that ${{ variables.x }} / ${{ secrets.y }} templates in the child module resolve correctly.
46
55
  // No env — child modules are isolated from host environment.
47
- const manifests = await loader.loadModule(
48
- new URL(moduleSource, ctx.moduleContext.source).toString(),
49
- {
50
- compile: true,
51
- },
52
- );
53
- // Find the kind: Module manifest to learn the target module name and contract.
54
- const moduleManifest = manifests.find((m: any) => m.kind === "Kernel.Module");
56
+ const manifests = await ctx.loadModule(resolvedUrl, {
57
+ compile: true,
58
+ });
59
+ // Import targets must be Telo.Library — Applications are run directly, not imported.
60
+ const moduleManifest = manifests.find((m: any) => m.kind === "Telo.Library");
55
61
  if (!moduleManifest) {
56
- throw new Error(`No kind: Module manifest found in source "${resource.source as string}"`);
62
+ const applicationManifest = manifests.find((m: any) => m.kind === "Telo.Application");
63
+ if (applicationManifest) {
64
+ throw new RuntimeError(
65
+ "ERR_MANIFEST_VALIDATION_FAILED",
66
+ `Telo.Import target '${resource.source as string}' is a Telo.Application. Only Telo.Library modules may be imported. Applications are run directly, not imported.`,
67
+ );
68
+ }
69
+ throw new Error(`No Telo.Library manifest found in source "${resource.source as string}"`);
57
70
  }
58
71
  const targetModule: string = moduleManifest.metadata.name;
59
72
 
@@ -102,19 +115,6 @@ export async function create(resource: any, ctx: ResourceContext): Promise<Resou
102
115
  variables: ctx.expandValue(resource.variables, {}) ?? {},
103
116
  secrets: ctx.expandValue(resource.secrets, {}) ?? {},
104
117
  }),
105
- run: async () => {
106
- // Proxy run to target module
107
- for (const target of (moduleManifest.targets as string[]) ?? []) {
108
- await child.run(target);
109
- }
110
- },
111
- invoke: async () => {
112
- // Proxy run to target module
113
- // for (const target of (moduleManifest.targets as string[]) ?? []) {
114
- // child.invoke(target);
115
- // }
116
- console.log("invoking");
117
- },
118
118
  init: async () => {
119
119
  await child.initializeResources();
120
120
  },
@@ -9,7 +9,7 @@ import { formatAjvErrors, validateResourceDefinition } from "../../manifest-sche
9
9
  import { createTemplateController } from "./resource-template-controller.js";
10
10
 
11
11
  type ResourceDefinitionResource = RuntimeResource & {
12
- kind: "Kernel.Definition";
12
+ kind: "Telo.Definition";
13
13
  metadata: {
14
14
  [key: string]: any;
15
15
  name: string;
@@ -1,11 +1,13 @@
1
1
  import {
2
2
  isCompiledValue,
3
+ isInvokeError,
3
4
  resourceKey,
4
5
  type EvaluationContext as IEvaluationContext,
5
6
  type EmitEvent,
6
7
  type InstanceFactory,
7
8
  type LifecycleState,
8
9
  type PreInitHook,
10
+ type ResourceDefinition,
9
11
  type ResourceInstance,
10
12
  type ResourceManifest,
11
13
  type RuntimeDiagnostic,
@@ -62,6 +64,13 @@ export class EvaluationContext implements IEvaluationContext {
62
64
  */
63
65
  preInitHook?: PreInitHook;
64
66
 
67
+ /**
68
+ * Optional definition lookup used by invoke()/invokeResolved() to check
69
+ * thrown InvokeError.code against the declared throw union (rule 9).
70
+ * Set by the kernel; propagates through spawnChild() like preInitHook.
71
+ */
72
+ getDefinition?: (kind: string) => ResourceDefinition | undefined;
73
+
65
74
  constructor(
66
75
  readonly source: string,
67
76
  context: Record<string, unknown>,
@@ -139,6 +148,9 @@ export class EvaluationContext implements IEvaluationContext {
139
148
  if (this.preInitHook && !child.preInitHook) {
140
149
  child.preInitHook = this.preInitHook;
141
150
  }
151
+ if (this.getDefinition && !child.getDefinition) {
152
+ child.getDefinition = this.getDefinition;
153
+ }
142
154
  return child;
143
155
  }
144
156
 
@@ -152,18 +164,18 @@ export class EvaluationContext implements IEvaluationContext {
152
164
  * resource. Successful results go into resourceInstances.
153
165
  *
154
166
  * Interleaving is necessary because some resources' create() depends on effects
155
- * produced by other resources' init() (e.g. Kernel.Import.init() runs
167
+ * produced by other resources' init() (e.g. Telo.Import.init() runs
156
168
  * child.initializeResources() which registers controllers needed by sibling
157
169
  * resources' create()). Running both sub-phases each pass lets those effects
158
170
  * propagate before the next create attempt.
159
171
  *
160
172
  * Each resource is created at most once and inited at most once.
161
- * ERR_VISIBILITY_DENIED is fatal and re-thrown immediately.
173
+ * ERR_VISIBILITY_DENIED and ERR_FATAL are re-thrown immediately.
162
174
  * All other errors are tracked and retried until no progress is made.
163
175
  */
164
176
  async initializeResources(): Promise<void> {
165
177
  const MAX_PASSES = 10;
166
- const errors = new Map<string, string>();
178
+ const errors = new Map<string, { message: string; code?: string; details?: string }>();
167
179
 
168
180
  let pass = 1;
169
181
  do {
@@ -189,8 +201,8 @@ export class EvaluationContext implements IEvaluationContext {
189
201
  progress = true;
190
202
  }
191
203
  } catch (error) {
192
- if (error instanceof RuntimeError && error.code === "ERR_VISIBILITY_DENIED") throw error;
193
- errors.set(name, error instanceof Error ? error.message : String(error));
204
+ if (error instanceof RuntimeError && (error.code === "ERR_VISIBILITY_DENIED" || error.code === "ERR_FATAL")) throw error;
205
+ errors.set(name, formatErrorForDiagnostic(error));
194
206
  }
195
207
  }
196
208
 
@@ -211,8 +223,8 @@ export class EvaluationContext implements IEvaluationContext {
211
223
  errors.delete(name);
212
224
  progress = true;
213
225
  } catch (error) {
214
- if (error instanceof RuntimeError && error.code === "ERR_VISIBILITY_DENIED") throw error;
215
- errors.set(name, error instanceof Error ? error.message : String(error));
226
+ if (error instanceof RuntimeError && (error.code === "ERR_VISIBILITY_DENIED" || error.code === "ERR_FATAL")) throw error;
227
+ errors.set(name, formatErrorForDiagnostic(error));
216
228
  }
217
229
  }
218
230
 
@@ -222,21 +234,37 @@ export class EvaluationContext implements IEvaluationContext {
222
234
 
223
235
  if (this.pendingResources.length > 0 || this.createdInstances.size > 0) {
224
236
  const diagnostics: RuntimeDiagnostic[] = [
225
- ...this.pendingResources.map((r) => ({
226
- resource: r.metadata.name,
227
- message: errors.get(r.metadata.name) ?? "Unknown error",
228
- })),
229
- ...[...this.createdInstances.keys()].map((name) => ({
230
- resource: name,
231
- message: errors.get(name) ?? "Unknown error",
232
- })),
237
+ ...this.pendingResources.map((r) => {
238
+ const info = errors.get(r.metadata.name) ?? { message: "Unknown error" };
239
+ return {
240
+ resource: r.metadata.name,
241
+ kind: r.kind,
242
+ message: info.message,
243
+ details: info.details,
244
+ code: info.code,
245
+ };
246
+ }),
247
+ ...[...this.createdInstances].map(([name, { resource }]) => {
248
+ const info = errors.get(name) ?? { message: "Unknown error" };
249
+ return {
250
+ resource: name,
251
+ kind: resource.kind,
252
+ message: info.message,
253
+ details: info.details,
254
+ code: info.code,
255
+ };
256
+ }),
233
257
  ];
234
- const details = diagnostics
235
- .map((d) => ` ${d.resource}: ${d.message}`)
258
+ const textDetails = diagnostics
259
+ .map((d) => {
260
+ const head = ` ${d.kind ? `${d.kind} ` : ""}${d.resource}: ${d.message}${d.code ? ` [${d.code}]` : ""}`;
261
+ const extra = d.details ? "\n" + d.details.split("\n").map((l) => ` ${l}`).join("\n") : "";
262
+ return head + extra;
263
+ })
236
264
  .join("\n");
237
265
  throw new RuntimeError(
238
266
  "ERR_RESOURCE_INITIALIZATION_FAILED",
239
- `Unable to process resources:\n${details}`,
267
+ `Unable to process resources:\n${textDetails}`,
240
268
  diagnostics,
241
269
  );
242
270
  }
@@ -362,27 +390,98 @@ export class EvaluationContext implements IEvaluationContext {
362
390
 
363
391
  /**
364
392
  * Invoke a resource by kind and name within this context's resourceInstances.
365
- * Emits a scoped Invoked event via the injected emit callback after invocation.
393
+ * Emits a scoped Invoked/InvokeRejected/InvokeFailed event via the injected
394
+ * emit callback. The single emission point for invoke-level events — callers
395
+ * holding an already-resolved instance should use invokeResolved() instead.
366
396
  */
367
397
  async invoke<TInputs>(kind: string, name: string, inputs: TInputs): Promise<any> {
368
398
  const entry = this.resourceInstances.get(name);
369
399
 
370
- if (entry) {
371
- if (typeof entry.instance.invoke !== "function") {
372
- throw new RuntimeError(
373
- "ERR_RESOURCE_NOT_INVOKABLE",
374
- `Resource ${kind}.${name} does not have an invoke method`,
375
- );
376
- }
377
- const outputs = await entry.instance.invoke(inputs as any);
400
+ if (!entry) {
401
+ throw new RuntimeError(
402
+ "ERR_RESOURCE_NOT_FOUND",
403
+ `Resource not found for invocation: ${kind}.${name}. Available resources: ${[...this.resourceInstances.keys()].join(", ")}`,
404
+ );
405
+ }
406
+
407
+ if (typeof entry.instance.invoke !== "function") {
408
+ throw new RuntimeError(
409
+ "ERR_RESOURCE_NOT_INVOKABLE",
410
+ `Resource ${kind}.${name} does not have an invoke method`,
411
+ );
412
+ }
413
+
414
+ return this.runInvoke(kind, name, entry.instance, inputs);
415
+ }
416
+
417
+ /**
418
+ * Like invoke(), but the caller has already resolved the instance (e.g. the
419
+ * scope path in Run.Sequence, or the live-injected Http.Api route handler).
420
+ * Shares the single emission point so events fire exactly once per call
421
+ * regardless of which path reached the instance.
422
+ */
423
+ async invokeResolved<TInputs>(
424
+ kind: string,
425
+ name: string,
426
+ instance: ResourceInstance,
427
+ inputs: TInputs,
428
+ ): Promise<any> {
429
+ if (typeof instance.invoke !== "function") {
430
+ throw new RuntimeError(
431
+ "ERR_RESOURCE_NOT_INVOKABLE",
432
+ `Resource ${kind}.${name} does not have an invoke method`,
433
+ );
434
+ }
435
+ return this.runInvoke(kind, name, instance, inputs);
436
+ }
437
+
438
+ private async runInvoke<TInputs>(
439
+ kind: string,
440
+ name: string,
441
+ instance: ResourceInstance,
442
+ inputs: TInputs,
443
+ ): Promise<any> {
444
+ try {
445
+ const outputs = await (instance.invoke as (i: any) => any)(inputs as any);
378
446
  await this.emit(`${kind}.${name}.Invoked`, { outputs });
379
447
  return outputs;
448
+ } catch (err) {
449
+ if (isInvokeError(err)) {
450
+ const payload = { code: err.code, message: err.message, data: err.data };
451
+ await this.emit(`${kind}.${name}.InvokeRejected`, payload);
452
+ const declaredCodes = this.getDeclaredThrowCodes(kind);
453
+ if (declaredCodes && !declaredCodes.has(err.code)) {
454
+ await this.emit(`${kind}.${name}.InvokeRejected.Undeclared`, payload);
455
+ }
456
+ } else if (err instanceof Error) {
457
+ await this.emit(`${kind}.${name}.InvokeFailed`, {
458
+ name: err.name,
459
+ message: err.message,
460
+ });
461
+ } else {
462
+ await this.emit(`${kind}.${name}.InvokeFailed`, {
463
+ name: "UnknownError",
464
+ message: String(err),
465
+ });
466
+ }
467
+ throw err;
380
468
  }
469
+ }
381
470
 
382
- throw new RuntimeError(
383
- "ERR_RESOURCE_NOT_FOUND",
384
- `Resource not found for invocation: ${kind}.${name}. Available resources: ${[...this.resourceInstances.keys()].join(", ")}`,
385
- );
471
+ private getDeclaredThrowCodes(kind: string): Set<string> | null {
472
+ if (!this.getDefinition) return null;
473
+ const def = this.getDefinition(kind);
474
+ if (!def) return null;
475
+ const throws = def.throws;
476
+ if (!throws) return new Set();
477
+ // inherit / passthrough unions are dynamic — resolved statically by the
478
+ // analyzer, not re-derivable here without a manifest-wide traversal. Skip
479
+ // the rule 9 check rather than mis-report every propagated code as
480
+ // undeclared at runtime.
481
+ if (throws.inherit || throws.passthrough) return null;
482
+ const codes = throws.codes;
483
+ if (!codes) return new Set();
484
+ return new Set(Object.keys(codes));
386
485
  }
387
486
 
388
487
  async run(name: string): Promise<void> {
@@ -402,7 +501,13 @@ export class EvaluationContext implements IEvaluationContext {
402
501
  */
403
502
  expand(value: unknown): unknown {
404
503
  if (isCompiledValue(value)) {
405
- return value.call(this._context);
504
+ try {
505
+ return value.call(this._context);
506
+ } catch (error) {
507
+ const expr = value.source ? `\${{ ${value.source} }}` : "unknown expression";
508
+ const msg = error instanceof Error ? error.message : String(error);
509
+ throw new Error(`Expression ${expr} failed: ${msg}`);
510
+ }
406
511
  }
407
512
  if (Array.isArray(value)) {
408
513
  return value.map((entry) => this.expand(entry));
@@ -488,3 +593,93 @@ function setNestedValue(obj: Record<string, unknown>, parts: string[], value: un
488
593
  }
489
594
  current[parts[parts.length - 1]] = value;
490
595
  }
596
+
597
+ /**
598
+ * Build a detailed diagnostic from an arbitrary error. Walks the `cause` chain
599
+ * and surfaces structured fields from well-known error shapes (AWS SDK
600
+ * ServiceException, pg DatabaseError, Node system errors) so the user sees the
601
+ * actual failure instead of just an opaque summary string.
602
+ */
603
+ function formatErrorForDiagnostic(err: unknown): {
604
+ message: string;
605
+ code?: string;
606
+ details?: string;
607
+ } {
608
+ if (!(err instanceof Error)) {
609
+ return { message: String(err) };
610
+ }
611
+
612
+ const detailLines: string[] = [];
613
+ const seen = new Set<unknown>();
614
+ let current: unknown = err;
615
+ let depth = 0;
616
+ let topCode: string | undefined;
617
+ let topMessage = "";
618
+
619
+ while (current instanceof Error && !seen.has(current)) {
620
+ seen.add(current);
621
+ const info = extractErrorInfo(current);
622
+ if (depth === 0) {
623
+ topMessage = info.summary;
624
+ topCode = info.code;
625
+ } else {
626
+ detailLines.push(`Caused by: ${info.summary}`);
627
+ }
628
+ for (const field of info.fields) {
629
+ detailLines.push(field);
630
+ }
631
+ current = (current as { cause?: unknown }).cause;
632
+ depth++;
633
+ }
634
+
635
+ return {
636
+ message: topMessage || err.message || err.name || String(err),
637
+ code: topCode,
638
+ details: detailLines.length ? detailLines.join("\n") : undefined,
639
+ };
640
+ }
641
+
642
+ function extractErrorInfo(e: Error): { summary: string; code?: string; fields: string[] } {
643
+ const fields: string[] = [];
644
+ const anyE = e as unknown as Record<string, unknown>;
645
+
646
+ const name = e.name && e.name.toLowerCase() !== "error" ? e.name : undefined;
647
+ const code = anyE.code !== undefined && anyE.code !== null ? String(anyE.code) : undefined;
648
+ const message = e.message && e.message.trim() ? e.message : "(no message)";
649
+
650
+ const summary = name ? `${name}: ${message}` : message;
651
+
652
+ const metadata = anyE.$metadata as Record<string, unknown> | undefined;
653
+ if (metadata && typeof metadata === "object") {
654
+ if (metadata.httpStatusCode != null) fields.push(`HTTP status: ${metadata.httpStatusCode}`);
655
+ if (metadata.requestId) fields.push(`Request ID: ${metadata.requestId}`);
656
+ if (metadata.extendedRequestId) fields.push(`Extended request ID: ${metadata.extendedRequestId}`);
657
+ if (metadata.cfId) fields.push(`CF ID: ${metadata.cfId}`);
658
+ if (metadata.attempts != null) fields.push(`Attempts: ${metadata.attempts}`);
659
+ if (metadata.totalRetryDelay != null) fields.push(`Total retry delay: ${metadata.totalRetryDelay}ms`);
660
+ }
661
+ if (anyE.$fault) fields.push(`Fault: ${String(anyE.$fault)}`);
662
+
663
+ if (anyE.severity) fields.push(`Severity: ${String(anyE.severity)}`);
664
+ if (anyE.detail) fields.push(`Detail: ${String(anyE.detail)}`);
665
+ if (anyE.hint) fields.push(`Hint: ${String(anyE.hint)}`);
666
+ if (anyE.schema) fields.push(`Schema: ${String(anyE.schema)}`);
667
+ if (anyE.table) fields.push(`Table: ${String(anyE.table)}`);
668
+ if (anyE.column) fields.push(`Column: ${String(anyE.column)}`);
669
+ if (anyE.dataType) fields.push(`Data type: ${String(anyE.dataType)}`);
670
+ if (anyE.constraint) fields.push(`Constraint: ${String(anyE.constraint)}`);
671
+ if (anyE.routine) fields.push(`Routine: ${String(anyE.routine)}`);
672
+ if (anyE.where) fields.push(`Where: ${String(anyE.where)}`);
673
+ if (anyE.position) fields.push(`Position: ${String(anyE.position)}`);
674
+ if (anyE.internalPosition) fields.push(`Internal position: ${String(anyE.internalPosition)}`);
675
+ if (anyE.internalQuery) fields.push(`Internal query: ${String(anyE.internalQuery)}`);
676
+
677
+ if (anyE.syscall) fields.push(`Syscall: ${String(anyE.syscall)}`);
678
+ if (anyE.errno != null) fields.push(`Errno: ${String(anyE.errno)}`);
679
+ if (anyE.address) fields.push(`Address: ${String(anyE.address)}`);
680
+ if (anyE.port != null) fields.push(`Port: ${String(anyE.port)}`);
681
+ if (anyE.hostname) fields.push(`Hostname: ${String(anyE.hostname)}`);
682
+ if (anyE.path && !anyE.routine) fields.push(`Path: ${String(anyE.path)}`);
683
+
684
+ return { summary, code, fields };
685
+ }