@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.
- package/README.md +7 -7
- package/dist/controllers/module/import-controller.d.ts.map +1 -1
- package/dist/controllers/module/import-controller.js +22 -23
- package/dist/controllers/module/import-controller.js.map +1 -1
- package/dist/controllers/resource-definition/resource-definition-controller.d.ts +1 -1
- package/dist/controllers/resource-definition/resource-definition-controller.d.ts.map +1 -1
- package/dist/evaluation-context.d.ts +21 -4
- package/dist/evaluation-context.d.ts.map +1 -1
- package/dist/evaluation-context.js +216 -26
- package/dist/evaluation-context.js.map +1 -1
- package/dist/kernel.d.ts +11 -8
- package/dist/kernel.d.ts.map +1 -1
- package/dist/kernel.js +38 -16
- package/dist/kernel.js.map +1 -1
- package/dist/manifest-schemas.d.ts +44 -1
- package/dist/manifest-schemas.d.ts.map +1 -1
- package/dist/manifest-schemas.js +59 -15
- package/dist/manifest-schemas.js.map +1 -1
- package/dist/module-context.d.ts +1 -1
- package/dist/module-context.js +1 -1
- package/dist/resource-context.d.ts +6 -2
- package/dist/resource-context.d.ts.map +1 -1
- package/dist/resource-context.js +24 -4
- package/dist/resource-context.js.map +1 -1
- package/package.json +3 -3
- package/src/controllers/module/import-controller.ts +28 -28
- package/src/controllers/resource-definition/resource-definition-controller.ts +1 -1
- package/src/evaluation-context.ts +227 -32
- package/src/kernel.ts +52 -18
- package/src/manifest-schemas.ts +61 -15
- package/src/module-context.ts +1 -1
- package/src/resource-context.ts +38 -3
- package/dist/base-definition.d.ts +0 -14
- package/dist/base-definition.d.ts.map +0 -1
- package/dist/base-definition.js +0 -17
- package/dist/base-definition.js.map +0 -1
- package/dist/capabilities/capabilities/component.yaml +0 -4
- package/dist/capabilities/capabilities/executable.yaml +0 -8
- package/dist/capabilities/capabilities/handler.yaml +0 -4
- package/dist/capabilities/capabilities/listener.yaml +0 -4
- package/dist/capabilities/capabilities/provider.yaml +0 -4
- package/dist/capabilities/capabilities/template.yaml +0 -4
- package/dist/capabilities/capabilities/type.yaml +0 -4
- package/dist/capabilities/component.d.ts +0 -3
- package/dist/capabilities/component.d.ts.map +0 -1
- package/dist/capabilities/component.js +0 -4
- package/dist/capabilities/component.js.map +0 -1
- package/dist/capabilities/component.yaml +0 -3
- package/dist/capabilities/executable.d.ts +0 -3
- package/dist/capabilities/executable.d.ts.map +0 -1
- package/dist/capabilities/executable.js +0 -5
- package/dist/capabilities/executable.js.map +0 -1
- package/dist/capabilities/executable.yaml +0 -7
- package/dist/capabilities/handler.d.ts +0 -3
- package/dist/capabilities/handler.d.ts.map +0 -1
- package/dist/capabilities/handler.js +0 -4
- package/dist/capabilities/handler.js.map +0 -1
- package/dist/capabilities/handler.yaml +0 -3
- package/dist/capabilities/invokable.d.ts +0 -3
- package/dist/capabilities/invokable.d.ts.map +0 -1
- package/dist/capabilities/invokable.js +0 -5
- package/dist/capabilities/invokable.js.map +0 -1
- package/dist/capabilities/listener.d.ts +0 -3
- package/dist/capabilities/listener.d.ts.map +0 -1
- package/dist/capabilities/listener.js +0 -5
- package/dist/capabilities/listener.js.map +0 -1
- package/dist/capabilities/listener.yaml +0 -3
- package/dist/capabilities/mount.d.ts +0 -3
- package/dist/capabilities/mount.d.ts.map +0 -1
- package/dist/capabilities/mount.js +0 -5
- package/dist/capabilities/mount.js.map +0 -1
- package/dist/capabilities/provider.d.ts +0 -3
- package/dist/capabilities/provider.d.ts.map +0 -1
- package/dist/capabilities/provider.js +0 -8
- package/dist/capabilities/provider.js.map +0 -1
- package/dist/capabilities/provider.yaml +0 -3
- package/dist/capabilities/runnable.d.ts +0 -3
- package/dist/capabilities/runnable.d.ts.map +0 -1
- package/dist/capabilities/runnable.js +0 -5
- package/dist/capabilities/runnable.js.map +0 -1
- package/dist/capabilities/service.d.ts +0 -3
- package/dist/capabilities/service.d.ts.map +0 -1
- package/dist/capabilities/service.js +0 -5
- package/dist/capabilities/service.js.map +0 -1
- package/dist/capabilities/template.d.ts +0 -3
- package/dist/capabilities/template.d.ts.map +0 -1
- package/dist/capabilities/template.js +0 -5
- package/dist/capabilities/template.js.map +0 -1
- package/dist/capabilities/template.yaml +0 -3
- package/dist/capabilities/type.d.ts +0 -3
- package/dist/capabilities/type.d.ts.map +0 -1
- package/dist/capabilities/type.js +0 -5
- package/dist/capabilities/type.js.map +0 -1
- package/dist/capabilities/type.yaml +0 -3
- package/dist/controllers/capability/capability-controller.d.ts +0 -32
- package/dist/controllers/capability/capability-controller.d.ts.map +0 -1
- package/dist/controllers/capability/capability-controller.js +0 -26
- package/dist/controllers/capability/capability-controller.js.map +0 -1
- package/dist/controllers/module/module.json +0 -48
- package/dist/loader.d.ts +0 -18
- package/dist/loader.d.ts.map +0 -1
- package/dist/loader.js +0 -127
- package/dist/loader.js.map +0 -1
- package/dist/manifest-adapters/http-adapter.d.ts +0 -8
- package/dist/manifest-adapters/http-adapter.d.ts.map +0 -1
- package/dist/manifest-adapters/http-adapter.js +0 -31
- package/dist/manifest-adapters/http-adapter.js.map +0 -1
- package/dist/manifest-adapters/registry-adapter.d.ts +0 -9
- package/dist/manifest-adapters/registry-adapter.d.ts.map +0 -1
- package/dist/manifest-adapters/registry-adapter.js +0 -48
- package/dist/manifest-adapters/registry-adapter.js.map +0 -1
- package/dist/module-context-registry.d.ts +0 -48
- package/dist/module-context-registry.d.ts.map +0 -1
- package/dist/module-context-registry.js +0 -91
- package/dist/module-context-registry.js.map +0 -1
- package/dist/schema-valiator.d.ts +0 -15
- package/dist/schema-valiator.d.ts.map +0 -1
- package/dist/schema-valiator.js +0 -127
- package/dist/schema-valiator.js.map +0 -1
- package/dist/snapshot-serializer.d.ts +0 -62
- package/dist/snapshot-serializer.d.ts.map +0 -1
- package/dist/snapshot-serializer.js +0 -164
- package/dist/snapshot-serializer.js.map +0 -1
- package/dist/types.d.ts +0 -65
- package/dist/types.d.ts.map +0 -1
- package/dist/types.js +0 -8
- package/dist/types.js.map +0 -1
package/README.md
CHANGED
|
@@ -20,7 +20,7 @@ The kernel performs three functions:
|
|
|
20
20
|
|
|
21
21
|
## 2. Resource Definitions
|
|
22
22
|
|
|
23
|
-
Every resource in a manifest is an instance of a `
|
|
23
|
+
Every resource in a manifest is an instance of a `Telo.Definition`. A definition declares several orthogonal facets:
|
|
24
24
|
|
|
25
25
|
| Facet | Field | Purpose |
|
|
26
26
|
| ------------- | -------------- | ----------------------------------------------------------------------------------- |
|
|
@@ -43,11 +43,11 @@ Every resource in a manifest is an instance of a `Kernel.Definition`. A definiti
|
|
|
43
43
|
|
|
44
44
|
### Inheritance
|
|
45
45
|
|
|
46
|
-
`extends` declares that a definition fulfills an abstract interface (`
|
|
46
|
+
`extends` declares that a definition fulfills an abstract interface (`Telo.Abstract`) declared by another module. This is the plugin pattern for subsystems like workflow backends.
|
|
47
47
|
|
|
48
48
|
→ [docs/inheritance.md](docs/inheritance.md)
|
|
49
49
|
|
|
50
|
-
For the complete `
|
|
50
|
+
For the complete `Telo.Definition` field reference, see [docs/resource-definition.md](docs/resource-definition.md).
|
|
51
51
|
|
|
52
52
|
---
|
|
53
53
|
|
|
@@ -72,12 +72,12 @@ When the entire string is a single interpolation, the result preserves the CEL t
|
|
|
72
72
|
|
|
73
73
|
---
|
|
74
74
|
|
|
75
|
-
## 4.
|
|
75
|
+
## 4. Telo.Definition
|
|
76
76
|
|
|
77
|
-
Modules declare the resource kinds they handle using `
|
|
77
|
+
Modules declare the resource kinds they handle using `Telo.Definition`:
|
|
78
78
|
|
|
79
79
|
```yaml
|
|
80
|
-
kind:
|
|
80
|
+
kind: Telo.Definition
|
|
81
81
|
metadata:
|
|
82
82
|
name: Server # fully-qualified kind: Http.Server
|
|
83
83
|
module: Http
|
|
@@ -95,6 +95,6 @@ controllers:
|
|
|
95
95
|
- pkg:golang/github.com/telorun/run@>=1.0.0?local_path=./go#sequence
|
|
96
96
|
```
|
|
97
97
|
|
|
98
|
-
When a `
|
|
98
|
+
When a `Telo.Definition` instance initializes, it resolves and loads the controller module
|
|
99
99
|
and registers it with the kernel. For the full resolution algorithm (local path, host
|
|
100
100
|
node_modules, registry cache) and PURL format, see [controllers.md](docs/controllers.md).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"import-controller.d.ts","sourceRoot":"","sources":["../../../src/controllers/module/import-controller.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"import-controller.d.ts","sourceRoot":"","sources":["../../../src/controllers/module/import-controller.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AAoBtE,wBAAsB,MAAM,CAAC,QAAQ,EAAE,GAAG,EAAE,GAAG,EAAE,eAAe,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAuG3F;AAeD,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmBlB,CAAC"}
|
|
@@ -1,17 +1,25 @@
|
|
|
1
|
-
import { DiagnosticSeverity,
|
|
1
|
+
import { DiagnosticSeverity, StaticAnalyzer } from "@telorun/analyzer";
|
|
2
2
|
import { RuntimeError } from "@telorun/sdk";
|
|
3
3
|
import { ModuleContext } from "../../module-context.js";
|
|
4
|
-
import { LocalFileAdapter } from "../../manifest-adapters/local-file-adapter.js";
|
|
5
4
|
const importAnalysisCache = new Map();
|
|
5
|
+
// Only resolve relative/absolute-path sources against the importer's URL. Registry refs
|
|
6
|
+
// (std/foo@1.2.3) and absolute URLs (https://, file://) must pass through unchanged so the
|
|
7
|
+
// loader's adapter chain can dispatch them — otherwise `new URL("std/foo@1", "file:///srv/telo.yaml")`
|
|
8
|
+
// turns a registry ref into a bogus file path and LocalFileAdapter ENOENTs on it.
|
|
9
|
+
function resolveImportSource(source, baseSource) {
|
|
10
|
+
if (source.startsWith(".") || source.startsWith("/")) {
|
|
11
|
+
return new URL(source, baseSource).toString();
|
|
12
|
+
}
|
|
13
|
+
return source;
|
|
14
|
+
}
|
|
6
15
|
export async function create(resource, ctx) {
|
|
7
16
|
const alias = resource.metadata.name;
|
|
8
|
-
const loader = new Loader([new LocalFileAdapter()]);
|
|
9
17
|
const moduleSource = resource.module ?? resource.source;
|
|
10
18
|
// Validate the imported module and all its transitive imports before loading for runtime.
|
|
11
|
-
// loadManifests() follows
|
|
19
|
+
// loadManifests() follows Telo.Import chains so definitions from sub-imports are present,
|
|
12
20
|
// preventing false UNDEFINED_KIND errors for kinds that come from the module's own imports.
|
|
13
|
-
const resolvedUrl =
|
|
14
|
-
const analysisManifests = await
|
|
21
|
+
const resolvedUrl = resolveImportSource(moduleSource, ctx.moduleContext.source);
|
|
22
|
+
const analysisManifests = await ctx.loadManifests(resolvedUrl);
|
|
15
23
|
const signature = JSON.stringify(analysisManifests);
|
|
16
24
|
const cached = importAnalysisCache.get(resolvedUrl);
|
|
17
25
|
let errors;
|
|
@@ -31,13 +39,17 @@ export async function create(resource, ctx) {
|
|
|
31
39
|
// Load target module manifests for runtime. Inject variables/secrets as compile context so
|
|
32
40
|
// that ${{ variables.x }} / ${{ secrets.y }} templates in the child module resolve correctly.
|
|
33
41
|
// No env — child modules are isolated from host environment.
|
|
34
|
-
const manifests = await
|
|
42
|
+
const manifests = await ctx.loadModule(resolvedUrl, {
|
|
35
43
|
compile: true,
|
|
36
44
|
});
|
|
37
|
-
//
|
|
38
|
-
const moduleManifest = manifests.find((m) => m.kind === "
|
|
45
|
+
// Import targets must be Telo.Library — Applications are run directly, not imported.
|
|
46
|
+
const moduleManifest = manifests.find((m) => m.kind === "Telo.Library");
|
|
39
47
|
if (!moduleManifest) {
|
|
40
|
-
|
|
48
|
+
const applicationManifest = manifests.find((m) => m.kind === "Telo.Application");
|
|
49
|
+
if (applicationManifest) {
|
|
50
|
+
throw new RuntimeError("ERR_MANIFEST_VALIDATION_FAILED", `Telo.Import target '${resource.source}' is a Telo.Application. Only Telo.Library modules may be imported. Applications are run directly, not imported.`);
|
|
51
|
+
}
|
|
52
|
+
throw new Error(`No Telo.Library manifest found in source "${resource.source}"`);
|
|
41
53
|
}
|
|
42
54
|
const targetModule = moduleManifest.metadata.name;
|
|
43
55
|
// Validate required inputs before injecting.
|
|
@@ -70,19 +82,6 @@ export async function create(resource, ctx) {
|
|
|
70
82
|
variables: ctx.expandValue(resource.variables, {}) ?? {},
|
|
71
83
|
secrets: ctx.expandValue(resource.secrets, {}) ?? {},
|
|
72
84
|
}),
|
|
73
|
-
run: async () => {
|
|
74
|
-
// Proxy run to target module
|
|
75
|
-
for (const target of moduleManifest.targets ?? []) {
|
|
76
|
-
await child.run(target);
|
|
77
|
-
}
|
|
78
|
-
},
|
|
79
|
-
invoke: async () => {
|
|
80
|
-
// Proxy run to target module
|
|
81
|
-
// for (const target of (moduleManifest.targets as string[]) ?? []) {
|
|
82
|
-
// child.invoke(target);
|
|
83
|
-
// }
|
|
84
|
-
console.log("invoking");
|
|
85
|
-
},
|
|
86
85
|
init: async () => {
|
|
87
86
|
await child.initializeResources();
|
|
88
87
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"import-controller.js","sourceRoot":"","sources":["../../../src/controllers/module/import-controller.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,
|
|
1
|
+
{"version":3,"file":"import-controller.js","sourceRoot":"","sources":["../../../src/controllers/module/import-controller.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type { ControllerContext, ResourceContext, ResourceInstance, RuntimeResource } from "@telorun/sdk";
|
|
2
2
|
import { ControllerLoader } from "../../controller-loader.js";
|
|
3
3
|
type ResourceDefinitionResource = RuntimeResource & {
|
|
4
|
-
kind: "
|
|
4
|
+
kind: "Telo.Definition";
|
|
5
5
|
metadata: {
|
|
6
6
|
[key: string]: any;
|
|
7
7
|
name: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resource-definition-controller.d.ts","sourceRoot":"","sources":["../../../src/controllers/resource-definition/resource-definition-controller.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,iBAAiB,EACjB,eAAe,EACf,gBAAgB,EAChB,eAAe,EAChB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAI9D,KAAK,0BAA0B,GAAG,eAAe,GAAG;IAClD,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"resource-definition-controller.d.ts","sourceRoot":"","sources":["../../../src/controllers/resource-definition/resource-definition-controller.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,iBAAiB,EACjB,eAAe,EACf,gBAAgB,EAChB,eAAe,EAChB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAI9D,KAAK,0BAA0B,GAAG,eAAe,GAAG;IAClD,IAAI,EAAE,iBAAiB,CAAC;IACxB,QAAQ,EAAE;QACR,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;QACnB,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;IACF,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;CAC7B,CAAC;AAEF;;;GAGG;AACH,cAAM,kBAAmB,YAAW,gBAAgB;IAIhD,QAAQ,CAAC,QAAQ,EAAE,0BAA0B;IAC7C,OAAO,CAAC,gBAAgB;IAJ1B,QAAQ,CAAC,IAAI,EAAE,oBAAoB,CAAwB;gBAGhD,QAAQ,EAAE,0BAA0B,EACrC,gBAAgB,EAAE,gBAAgB;IAGtC,IAAI,CAAC,GAAG,EAAE,eAAe;CA6BhC;AAED,wBAAgB,QAAQ,CAAC,GAAG,EAAE,iBAAiB,GAAG,IAAI,CAErD;AAED,wBAAsB,MAAM,CAAC,QAAQ,EAAE,GAAG,EAAE,GAAG,EAAE,eAAe,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAW7F;AAED,eAAO,MAAM,MAAM;;;CAGlB,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { resourceKey, type EvaluationContext as IEvaluationContext, type EmitEvent, type InstanceFactory, type LifecycleState, type PreInitHook, type ResourceInstance, type ResourceManifest, type ScopeHandle } from "@telorun/sdk";
|
|
1
|
+
import { resourceKey, type EvaluationContext as IEvaluationContext, type EmitEvent, type InstanceFactory, type LifecycleState, type PreInitHook, type ResourceDefinition, type ResourceInstance, type ResourceManifest, type ScopeHandle } from "@telorun/sdk";
|
|
2
2
|
export { resourceKey };
|
|
3
3
|
/**
|
|
4
4
|
* Base class for all evaluation contexts. Owns template
|
|
@@ -41,6 +41,12 @@ export declare class EvaluationContext implements IEvaluationContext {
|
|
|
41
41
|
* Set by the kernel to inject live instances into reference fields.
|
|
42
42
|
*/
|
|
43
43
|
preInitHook?: PreInitHook;
|
|
44
|
+
/**
|
|
45
|
+
* Optional definition lookup used by invoke()/invokeResolved() to check
|
|
46
|
+
* thrown InvokeError.code against the declared throw union (rule 9).
|
|
47
|
+
* Set by the kernel; propagates through spawnChild() like preInitHook.
|
|
48
|
+
*/
|
|
49
|
+
getDefinition?: (kind: string) => ResourceDefinition | undefined;
|
|
44
50
|
constructor(source: string, context: Record<string, unknown>, createInstance: InstanceFactory | undefined, secretValues: Set<string>, emit: EmitEvent);
|
|
45
51
|
get createInstance(): InstanceFactory;
|
|
46
52
|
/** Called after init() when a resource snapshot is available. Overridden by ModuleContext. */
|
|
@@ -74,13 +80,13 @@ export declare class EvaluationContext implements IEvaluationContext {
|
|
|
74
80
|
* resource. Successful results go into resourceInstances.
|
|
75
81
|
*
|
|
76
82
|
* Interleaving is necessary because some resources' create() depends on effects
|
|
77
|
-
* produced by other resources' init() (e.g.
|
|
83
|
+
* produced by other resources' init() (e.g. Telo.Import.init() runs
|
|
78
84
|
* child.initializeResources() which registers controllers needed by sibling
|
|
79
85
|
* resources' create()). Running both sub-phases each pass lets those effects
|
|
80
86
|
* propagate before the next create attempt.
|
|
81
87
|
*
|
|
82
88
|
* Each resource is created at most once and inited at most once.
|
|
83
|
-
* ERR_VISIBILITY_DENIED
|
|
89
|
+
* ERR_VISIBILITY_DENIED and ERR_FATAL are re-thrown immediately.
|
|
84
90
|
* All other errors are tracked and retried until no progress is made.
|
|
85
91
|
*/
|
|
86
92
|
initializeResources(): Promise<void>;
|
|
@@ -105,9 +111,20 @@ export declare class EvaluationContext implements IEvaluationContext {
|
|
|
105
111
|
transientChild(context: Record<string, any>): EvaluationContext;
|
|
106
112
|
/**
|
|
107
113
|
* Invoke a resource by kind and name within this context's resourceInstances.
|
|
108
|
-
* Emits a scoped Invoked event via the injected
|
|
114
|
+
* Emits a scoped Invoked/InvokeRejected/InvokeFailed event via the injected
|
|
115
|
+
* emit callback. The single emission point for invoke-level events — callers
|
|
116
|
+
* holding an already-resolved instance should use invokeResolved() instead.
|
|
109
117
|
*/
|
|
110
118
|
invoke<TInputs>(kind: string, name: string, inputs: TInputs): Promise<any>;
|
|
119
|
+
/**
|
|
120
|
+
* Like invoke(), but the caller has already resolved the instance (e.g. the
|
|
121
|
+
* scope path in Run.Sequence, or the live-injected Http.Api route handler).
|
|
122
|
+
* Shares the single emission point so events fire exactly once per call
|
|
123
|
+
* regardless of which path reached the instance.
|
|
124
|
+
*/
|
|
125
|
+
invokeResolved<TInputs>(kind: string, name: string, instance: ResourceInstance, inputs: TInputs): Promise<any>;
|
|
126
|
+
private runInvoke;
|
|
127
|
+
private getDeclaredThrowCodes;
|
|
111
128
|
run(name: string): Promise<void>;
|
|
112
129
|
/**
|
|
113
130
|
* Expand a value that may contain precompiled ${{ }} templates.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"evaluation-context.d.ts","sourceRoot":"","sources":["../src/evaluation-context.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"evaluation-context.d.ts","sourceRoot":"","sources":["../src/evaluation-context.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { isCompiledValue, resourceKey, } from "@telorun/sdk";
|
|
1
|
+
import { isCompiledValue, isInvokeError, resourceKey, } from "@telorun/sdk";
|
|
2
2
|
import { RuntimeError } from "@telorun/sdk";
|
|
3
3
|
export { resourceKey };
|
|
4
4
|
/**
|
|
@@ -87,6 +87,9 @@ export class EvaluationContext {
|
|
|
87
87
|
if (this.preInitHook && !child.preInitHook) {
|
|
88
88
|
child.preInitHook = this.preInitHook;
|
|
89
89
|
}
|
|
90
|
+
if (this.getDefinition && !child.getDefinition) {
|
|
91
|
+
child.getDefinition = this.getDefinition;
|
|
92
|
+
}
|
|
90
93
|
return child;
|
|
91
94
|
}
|
|
92
95
|
/**
|
|
@@ -99,13 +102,13 @@ export class EvaluationContext {
|
|
|
99
102
|
* resource. Successful results go into resourceInstances.
|
|
100
103
|
*
|
|
101
104
|
* Interleaving is necessary because some resources' create() depends on effects
|
|
102
|
-
* produced by other resources' init() (e.g.
|
|
105
|
+
* produced by other resources' init() (e.g. Telo.Import.init() runs
|
|
103
106
|
* child.initializeResources() which registers controllers needed by sibling
|
|
104
107
|
* resources' create()). Running both sub-phases each pass lets those effects
|
|
105
108
|
* propagate before the next create attempt.
|
|
106
109
|
*
|
|
107
110
|
* Each resource is created at most once and inited at most once.
|
|
108
|
-
* ERR_VISIBILITY_DENIED
|
|
111
|
+
* ERR_VISIBILITY_DENIED and ERR_FATAL are re-thrown immediately.
|
|
109
112
|
* All other errors are tracked and retried until no progress is made.
|
|
110
113
|
*/
|
|
111
114
|
async initializeResources() {
|
|
@@ -137,9 +140,9 @@ export class EvaluationContext {
|
|
|
137
140
|
}
|
|
138
141
|
}
|
|
139
142
|
catch (error) {
|
|
140
|
-
if (error instanceof RuntimeError && error.code === "ERR_VISIBILITY_DENIED")
|
|
143
|
+
if (error instanceof RuntimeError && (error.code === "ERR_VISIBILITY_DENIED" || error.code === "ERR_FATAL"))
|
|
141
144
|
throw error;
|
|
142
|
-
errors.set(name,
|
|
145
|
+
errors.set(name, formatErrorForDiagnostic(error));
|
|
143
146
|
}
|
|
144
147
|
}
|
|
145
148
|
// Init sub-phase
|
|
@@ -162,9 +165,9 @@ export class EvaluationContext {
|
|
|
162
165
|
progress = true;
|
|
163
166
|
}
|
|
164
167
|
catch (error) {
|
|
165
|
-
if (error instanceof RuntimeError && error.code === "ERR_VISIBILITY_DENIED")
|
|
168
|
+
if (error instanceof RuntimeError && (error.code === "ERR_VISIBILITY_DENIED" || error.code === "ERR_FATAL"))
|
|
166
169
|
throw error;
|
|
167
|
-
errors.set(name,
|
|
170
|
+
errors.set(name, formatErrorForDiagnostic(error));
|
|
168
171
|
}
|
|
169
172
|
}
|
|
170
173
|
pass++;
|
|
@@ -173,19 +176,35 @@ export class EvaluationContext {
|
|
|
173
176
|
} while (pass <= MAX_PASSES);
|
|
174
177
|
if (this.pendingResources.length > 0 || this.createdInstances.size > 0) {
|
|
175
178
|
const diagnostics = [
|
|
176
|
-
...this.pendingResources.map((r) =>
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
179
|
+
...this.pendingResources.map((r) => {
|
|
180
|
+
const info = errors.get(r.metadata.name) ?? { message: "Unknown error" };
|
|
181
|
+
return {
|
|
182
|
+
resource: r.metadata.name,
|
|
183
|
+
kind: r.kind,
|
|
184
|
+
message: info.message,
|
|
185
|
+
details: info.details,
|
|
186
|
+
code: info.code,
|
|
187
|
+
};
|
|
188
|
+
}),
|
|
189
|
+
...[...this.createdInstances].map(([name, { resource }]) => {
|
|
190
|
+
const info = errors.get(name) ?? { message: "Unknown error" };
|
|
191
|
+
return {
|
|
192
|
+
resource: name,
|
|
193
|
+
kind: resource.kind,
|
|
194
|
+
message: info.message,
|
|
195
|
+
details: info.details,
|
|
196
|
+
code: info.code,
|
|
197
|
+
};
|
|
198
|
+
}),
|
|
184
199
|
];
|
|
185
|
-
const
|
|
186
|
-
.map((d) =>
|
|
200
|
+
const textDetails = diagnostics
|
|
201
|
+
.map((d) => {
|
|
202
|
+
const head = ` ${d.kind ? `${d.kind} ` : ""}${d.resource}: ${d.message}${d.code ? ` [${d.code}]` : ""}`;
|
|
203
|
+
const extra = d.details ? "\n" + d.details.split("\n").map((l) => ` ${l}`).join("\n") : "";
|
|
204
|
+
return head + extra;
|
|
205
|
+
})
|
|
187
206
|
.join("\n");
|
|
188
|
-
throw new RuntimeError("ERR_RESOURCE_INITIALIZATION_FAILED", `Unable to process resources:\n${
|
|
207
|
+
throw new RuntimeError("ERR_RESOURCE_INITIALIZATION_FAILED", `Unable to process resources:\n${textDetails}`, diagnostics);
|
|
189
208
|
}
|
|
190
209
|
this.state = "Initialized";
|
|
191
210
|
}
|
|
@@ -279,19 +298,81 @@ export class EvaluationContext {
|
|
|
279
298
|
}
|
|
280
299
|
/**
|
|
281
300
|
* Invoke a resource by kind and name within this context's resourceInstances.
|
|
282
|
-
* Emits a scoped Invoked event via the injected
|
|
301
|
+
* Emits a scoped Invoked/InvokeRejected/InvokeFailed event via the injected
|
|
302
|
+
* emit callback. The single emission point for invoke-level events — callers
|
|
303
|
+
* holding an already-resolved instance should use invokeResolved() instead.
|
|
283
304
|
*/
|
|
284
305
|
async invoke(kind, name, inputs) {
|
|
285
306
|
const entry = this.resourceInstances.get(name);
|
|
286
|
-
if (entry) {
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
307
|
+
if (!entry) {
|
|
308
|
+
throw new RuntimeError("ERR_RESOURCE_NOT_FOUND", `Resource not found for invocation: ${kind}.${name}. Available resources: ${[...this.resourceInstances.keys()].join(", ")}`);
|
|
309
|
+
}
|
|
310
|
+
if (typeof entry.instance.invoke !== "function") {
|
|
311
|
+
throw new RuntimeError("ERR_RESOURCE_NOT_INVOKABLE", `Resource ${kind}.${name} does not have an invoke method`);
|
|
312
|
+
}
|
|
313
|
+
return this.runInvoke(kind, name, entry.instance, inputs);
|
|
314
|
+
}
|
|
315
|
+
/**
|
|
316
|
+
* Like invoke(), but the caller has already resolved the instance (e.g. the
|
|
317
|
+
* scope path in Run.Sequence, or the live-injected Http.Api route handler).
|
|
318
|
+
* Shares the single emission point so events fire exactly once per call
|
|
319
|
+
* regardless of which path reached the instance.
|
|
320
|
+
*/
|
|
321
|
+
async invokeResolved(kind, name, instance, inputs) {
|
|
322
|
+
if (typeof instance.invoke !== "function") {
|
|
323
|
+
throw new RuntimeError("ERR_RESOURCE_NOT_INVOKABLE", `Resource ${kind}.${name} does not have an invoke method`);
|
|
324
|
+
}
|
|
325
|
+
return this.runInvoke(kind, name, instance, inputs);
|
|
326
|
+
}
|
|
327
|
+
async runInvoke(kind, name, instance, inputs) {
|
|
328
|
+
try {
|
|
329
|
+
const outputs = await instance.invoke(inputs);
|
|
291
330
|
await this.emit(`${kind}.${name}.Invoked`, { outputs });
|
|
292
331
|
return outputs;
|
|
293
332
|
}
|
|
294
|
-
|
|
333
|
+
catch (err) {
|
|
334
|
+
if (isInvokeError(err)) {
|
|
335
|
+
const payload = { code: err.code, message: err.message, data: err.data };
|
|
336
|
+
await this.emit(`${kind}.${name}.InvokeRejected`, payload);
|
|
337
|
+
const declaredCodes = this.getDeclaredThrowCodes(kind);
|
|
338
|
+
if (declaredCodes && !declaredCodes.has(err.code)) {
|
|
339
|
+
await this.emit(`${kind}.${name}.InvokeRejected.Undeclared`, payload);
|
|
340
|
+
}
|
|
341
|
+
}
|
|
342
|
+
else if (err instanceof Error) {
|
|
343
|
+
await this.emit(`${kind}.${name}.InvokeFailed`, {
|
|
344
|
+
name: err.name,
|
|
345
|
+
message: err.message,
|
|
346
|
+
});
|
|
347
|
+
}
|
|
348
|
+
else {
|
|
349
|
+
await this.emit(`${kind}.${name}.InvokeFailed`, {
|
|
350
|
+
name: "UnknownError",
|
|
351
|
+
message: String(err),
|
|
352
|
+
});
|
|
353
|
+
}
|
|
354
|
+
throw err;
|
|
355
|
+
}
|
|
356
|
+
}
|
|
357
|
+
getDeclaredThrowCodes(kind) {
|
|
358
|
+
if (!this.getDefinition)
|
|
359
|
+
return null;
|
|
360
|
+
const def = this.getDefinition(kind);
|
|
361
|
+
if (!def)
|
|
362
|
+
return null;
|
|
363
|
+
const throws = def.throws;
|
|
364
|
+
if (!throws)
|
|
365
|
+
return new Set();
|
|
366
|
+
// inherit / passthrough unions are dynamic — resolved statically by the
|
|
367
|
+
// analyzer, not re-derivable here without a manifest-wide traversal. Skip
|
|
368
|
+
// the rule 9 check rather than mis-report every propagated code as
|
|
369
|
+
// undeclared at runtime.
|
|
370
|
+
if (throws.inherit || throws.passthrough)
|
|
371
|
+
return null;
|
|
372
|
+
const codes = throws.codes;
|
|
373
|
+
if (!codes)
|
|
374
|
+
return new Set();
|
|
375
|
+
return new Set(Object.keys(codes));
|
|
295
376
|
}
|
|
296
377
|
async run(name) {
|
|
297
378
|
const entry = this.resourceInstances.get(name);
|
|
@@ -306,7 +387,14 @@ export class EvaluationContext {
|
|
|
306
387
|
*/
|
|
307
388
|
expand(value) {
|
|
308
389
|
if (isCompiledValue(value)) {
|
|
309
|
-
|
|
390
|
+
try {
|
|
391
|
+
return value.call(this._context);
|
|
392
|
+
}
|
|
393
|
+
catch (error) {
|
|
394
|
+
const expr = value.source ? `\${{ ${value.source} }}` : "unknown expression";
|
|
395
|
+
const msg = error instanceof Error ? error.message : String(error);
|
|
396
|
+
throw new Error(`Expression ${expr} failed: ${msg}`);
|
|
397
|
+
}
|
|
310
398
|
}
|
|
311
399
|
if (Array.isArray(value)) {
|
|
312
400
|
return value.map((entry) => this.expand(entry));
|
|
@@ -382,4 +470,106 @@ function setNestedValue(obj, parts, value) {
|
|
|
382
470
|
}
|
|
383
471
|
current[parts[parts.length - 1]] = value;
|
|
384
472
|
}
|
|
473
|
+
/**
|
|
474
|
+
* Build a detailed diagnostic from an arbitrary error. Walks the `cause` chain
|
|
475
|
+
* and surfaces structured fields from well-known error shapes (AWS SDK
|
|
476
|
+
* ServiceException, pg DatabaseError, Node system errors) so the user sees the
|
|
477
|
+
* actual failure instead of just an opaque summary string.
|
|
478
|
+
*/
|
|
479
|
+
function formatErrorForDiagnostic(err) {
|
|
480
|
+
if (!(err instanceof Error)) {
|
|
481
|
+
return { message: String(err) };
|
|
482
|
+
}
|
|
483
|
+
const detailLines = [];
|
|
484
|
+
const seen = new Set();
|
|
485
|
+
let current = err;
|
|
486
|
+
let depth = 0;
|
|
487
|
+
let topCode;
|
|
488
|
+
let topMessage = "";
|
|
489
|
+
while (current instanceof Error && !seen.has(current)) {
|
|
490
|
+
seen.add(current);
|
|
491
|
+
const info = extractErrorInfo(current);
|
|
492
|
+
if (depth === 0) {
|
|
493
|
+
topMessage = info.summary;
|
|
494
|
+
topCode = info.code;
|
|
495
|
+
}
|
|
496
|
+
else {
|
|
497
|
+
detailLines.push(`Caused by: ${info.summary}`);
|
|
498
|
+
}
|
|
499
|
+
for (const field of info.fields) {
|
|
500
|
+
detailLines.push(field);
|
|
501
|
+
}
|
|
502
|
+
current = current.cause;
|
|
503
|
+
depth++;
|
|
504
|
+
}
|
|
505
|
+
return {
|
|
506
|
+
message: topMessage || err.message || err.name || String(err),
|
|
507
|
+
code: topCode,
|
|
508
|
+
details: detailLines.length ? detailLines.join("\n") : undefined,
|
|
509
|
+
};
|
|
510
|
+
}
|
|
511
|
+
function extractErrorInfo(e) {
|
|
512
|
+
const fields = [];
|
|
513
|
+
const anyE = e;
|
|
514
|
+
const name = e.name && e.name.toLowerCase() !== "error" ? e.name : undefined;
|
|
515
|
+
const code = anyE.code !== undefined && anyE.code !== null ? String(anyE.code) : undefined;
|
|
516
|
+
const message = e.message && e.message.trim() ? e.message : "(no message)";
|
|
517
|
+
const summary = name ? `${name}: ${message}` : message;
|
|
518
|
+
const metadata = anyE.$metadata;
|
|
519
|
+
if (metadata && typeof metadata === "object") {
|
|
520
|
+
if (metadata.httpStatusCode != null)
|
|
521
|
+
fields.push(`HTTP status: ${metadata.httpStatusCode}`);
|
|
522
|
+
if (metadata.requestId)
|
|
523
|
+
fields.push(`Request ID: ${metadata.requestId}`);
|
|
524
|
+
if (metadata.extendedRequestId)
|
|
525
|
+
fields.push(`Extended request ID: ${metadata.extendedRequestId}`);
|
|
526
|
+
if (metadata.cfId)
|
|
527
|
+
fields.push(`CF ID: ${metadata.cfId}`);
|
|
528
|
+
if (metadata.attempts != null)
|
|
529
|
+
fields.push(`Attempts: ${metadata.attempts}`);
|
|
530
|
+
if (metadata.totalRetryDelay != null)
|
|
531
|
+
fields.push(`Total retry delay: ${metadata.totalRetryDelay}ms`);
|
|
532
|
+
}
|
|
533
|
+
if (anyE.$fault)
|
|
534
|
+
fields.push(`Fault: ${String(anyE.$fault)}`);
|
|
535
|
+
if (anyE.severity)
|
|
536
|
+
fields.push(`Severity: ${String(anyE.severity)}`);
|
|
537
|
+
if (anyE.detail)
|
|
538
|
+
fields.push(`Detail: ${String(anyE.detail)}`);
|
|
539
|
+
if (anyE.hint)
|
|
540
|
+
fields.push(`Hint: ${String(anyE.hint)}`);
|
|
541
|
+
if (anyE.schema)
|
|
542
|
+
fields.push(`Schema: ${String(anyE.schema)}`);
|
|
543
|
+
if (anyE.table)
|
|
544
|
+
fields.push(`Table: ${String(anyE.table)}`);
|
|
545
|
+
if (anyE.column)
|
|
546
|
+
fields.push(`Column: ${String(anyE.column)}`);
|
|
547
|
+
if (anyE.dataType)
|
|
548
|
+
fields.push(`Data type: ${String(anyE.dataType)}`);
|
|
549
|
+
if (anyE.constraint)
|
|
550
|
+
fields.push(`Constraint: ${String(anyE.constraint)}`);
|
|
551
|
+
if (anyE.routine)
|
|
552
|
+
fields.push(`Routine: ${String(anyE.routine)}`);
|
|
553
|
+
if (anyE.where)
|
|
554
|
+
fields.push(`Where: ${String(anyE.where)}`);
|
|
555
|
+
if (anyE.position)
|
|
556
|
+
fields.push(`Position: ${String(anyE.position)}`);
|
|
557
|
+
if (anyE.internalPosition)
|
|
558
|
+
fields.push(`Internal position: ${String(anyE.internalPosition)}`);
|
|
559
|
+
if (anyE.internalQuery)
|
|
560
|
+
fields.push(`Internal query: ${String(anyE.internalQuery)}`);
|
|
561
|
+
if (anyE.syscall)
|
|
562
|
+
fields.push(`Syscall: ${String(anyE.syscall)}`);
|
|
563
|
+
if (anyE.errno != null)
|
|
564
|
+
fields.push(`Errno: ${String(anyE.errno)}`);
|
|
565
|
+
if (anyE.address)
|
|
566
|
+
fields.push(`Address: ${String(anyE.address)}`);
|
|
567
|
+
if (anyE.port != null)
|
|
568
|
+
fields.push(`Port: ${String(anyE.port)}`);
|
|
569
|
+
if (anyE.hostname)
|
|
570
|
+
fields.push(`Hostname: ${String(anyE.hostname)}`);
|
|
571
|
+
if (anyE.path && !anyE.routine)
|
|
572
|
+
fields.push(`Path: ${String(anyE.path)}`);
|
|
573
|
+
return { summary, code, fields };
|
|
574
|
+
}
|
|
385
575
|
//# 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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"}
|