@telorun/sdk 0.2.8 → 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 +54 -0
- package/dist/compiled-value.d.ts +2 -0
- package/dist/compiled-value.d.ts.map +1 -1
- package/dist/evaluation-context.d.ts +5 -0
- package/dist/evaluation-context.d.ts.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/invoke-error.d.ts +14 -0
- package/dist/invoke-error.d.ts.map +1 -0
- package/dist/invoke-error.js +34 -0
- package/dist/ref.d.ts +1 -1
- package/dist/ref.d.ts.map +1 -1
- package/dist/ref.js +1 -1
- package/dist/resource-context.d.ts +17 -0
- package/dist/resource-context.d.ts.map +1 -1
- package/dist/runtime-error.d.ts +2 -0
- package/dist/runtime-error.d.ts.map +1 -1
- package/dist/types.d.ts +16 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/compiled-value.ts +2 -0
- package/src/evaluation-context.ts +11 -0
- package/src/index.ts +1 -0
- package/src/invoke-error.ts +39 -0
- package/src/ref.ts +1 -1
- package/src/resource-context.ts +23 -0
- package/src/runtime-error.ts +2 -0
- package/src/types.ts +18 -0
- package/dist/capability-definition.d.ts +0 -8
- package/dist/capability-definition.d.ts.map +0 -1
- package/dist/capability-definition.js +0 -21
- package/dist/cel-environment.d.ts +0 -3
- package/dist/cel-environment.d.ts.map +0 -1
- package/dist/cel-environment.js +0 -13
- package/dist/execution-context.d.ts +0 -13
- package/dist/execution-context.d.ts.map +0 -1
- package/dist/execution-context.js +0 -13
package/README.md
CHANGED
|
@@ -16,6 +16,60 @@ Early prototype. APIs and contracts are still evolving. The API surface - includ
|
|
|
16
16
|
|
|
17
17
|
Use the SDK when building or extending Telo modules. It is not the kernel itself; it is the contract layer that keeps module behavior consistent and predictable.
|
|
18
18
|
|
|
19
|
+
## Errors
|
|
20
|
+
|
|
21
|
+
Telo distinguishes two kinds of failure from an `Invocable` / `Runnable`:
|
|
22
|
+
|
|
23
|
+
- **Operational failures** — plain `Error` or `RuntimeError` throws. Propagate to the kernel's infrastructure layer (HTTP → Fastify 5xx, sequence → bubbles up). These represent bugs or environment failure.
|
|
24
|
+
- **Domain failures** — `InvokeError` throws. Part of the invocable's public contract. Route handlers match on `error.code` via `catches:` entries; sequences handle them in `try`/`catch`.
|
|
25
|
+
|
|
26
|
+
```ts
|
|
27
|
+
import { InvokeError, isInvokeError } from "@telorun/sdk";
|
|
28
|
+
|
|
29
|
+
// In a controller:
|
|
30
|
+
throw new InvokeError("UNAUTHORIZED", "Token missing or invalid", {
|
|
31
|
+
reason: "expired",
|
|
32
|
+
});
|
|
33
|
+
|
|
34
|
+
// Anywhere a thrown value crosses a boundary:
|
|
35
|
+
if (isInvokeError(err)) {
|
|
36
|
+
// err.code, err.message, err.data
|
|
37
|
+
}
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
Use `isInvokeError(err)` for recognition — it's dual-realm-safe (survives pnpm hoist splits, registry-loaded modules with their own SDK copy, and future sandbox isolation). `instanceof InvokeError` is not reliable across package boundaries.
|
|
41
|
+
|
|
42
|
+
Controllers that throw `InvokeError` **must** declare their codes in their `Telo.Definition`:
|
|
43
|
+
|
|
44
|
+
```yaml
|
|
45
|
+
kind: Telo.Definition
|
|
46
|
+
metadata: { name: VerifyToken }
|
|
47
|
+
capability: Telo.Invocable
|
|
48
|
+
throws:
|
|
49
|
+
codes:
|
|
50
|
+
UNAUTHORIZED: { description: Missing or invalid token. }
|
|
51
|
+
EXPIRED:
|
|
52
|
+
description: Token is past its expires_at.
|
|
53
|
+
data:
|
|
54
|
+
type: object
|
|
55
|
+
properties:
|
|
56
|
+
expiredAt: { type: string, format: date-time }
|
|
57
|
+
required: [expiredAt]
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
Undeclared codes emit an `${kind}.${name}.InvokeRejected.Undeclared` observability event — the analyzer catches these statically.
|
|
61
|
+
|
|
62
|
+
Composers that propagate rather than originate codes can declare:
|
|
63
|
+
|
|
64
|
+
```yaml
|
|
65
|
+
throws:
|
|
66
|
+
inherit: true # union of everything I call (requires x-telo-step-context)
|
|
67
|
+
# or
|
|
68
|
+
passthrough: true # union is whatever my inputs.code resolves to (Run.Throw-style)
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
`inherit` is driven by the analyzer's dataflow pass over `x-telo-step-context` arrays; future composers opt in by declaring both the annotation and `inherit: true`. See [modules/run/docs/structured-errors.md](../../modules/run/docs/structured-errors.md) for the end-to-end flow.
|
|
72
|
+
|
|
19
73
|
## Related Docs
|
|
20
74
|
|
|
21
75
|
- Kernel overview: [kernel/README.md](../../kernel/README.md)
|
package/dist/compiled-value.d.ts
CHANGED
|
@@ -3,6 +3,8 @@
|
|
|
3
3
|
* The SDK has no knowledge of CEL — it only calls .call(). */
|
|
4
4
|
export interface CompiledValue {
|
|
5
5
|
readonly __compiled: true;
|
|
6
|
+
/** Original expression source text (e.g. "env.PORT"), if available. */
|
|
7
|
+
readonly source?: string;
|
|
6
8
|
call(ctx: Record<string, unknown>): unknown;
|
|
7
9
|
}
|
|
8
10
|
export declare function isCompiledValue(v: unknown): v is CompiledValue;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compiled-value.d.ts","sourceRoot":"","sources":["../src/compiled-value.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAC/D,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAC;IAC1B,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC;CAC7C;AAED,wBAAgB,eAAe,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,aAAa,CAE9D"}
|
|
1
|
+
{"version":3,"file":"compiled-value.d.ts","sourceRoot":"","sources":["../src/compiled-value.ts"],"names":[],"mappings":"AAAA;;+DAE+D;AAC/D,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAC;IAC1B,uEAAuE;IACvE,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC;CAC7C;AAED,wBAAgB,eAAe,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,aAAa,CAE9D"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { ScopeHandle } from "./ref.js";
|
|
2
2
|
import type { ResourceInstance } from "./resource-instance.js";
|
|
3
3
|
import type { ResourceManifest } from "./resource-manifest.js";
|
|
4
|
+
import type { ResourceDefinition } from "./types.js";
|
|
4
5
|
export type EmitEvent = (event: string, payload?: any) => void | Promise<void>;
|
|
5
6
|
/** Four-stage resource lifecycle defined in resource-lifecycle.md */
|
|
6
7
|
export type LifecycleState = "Pending" | "Validated" | "Initialized" | "Draining" | "Teardown";
|
|
@@ -50,6 +51,9 @@ export interface EvaluationContext {
|
|
|
50
51
|
instance: ResourceInstance;
|
|
51
52
|
}>;
|
|
52
53
|
preInitHook?: PreInitHook;
|
|
54
|
+
/** Looks up a registered resource definition by fully-qualified kind.
|
|
55
|
+
* Set by the kernel; used for declared-throw-union checks. */
|
|
56
|
+
getDefinition?: (kind: string) => ResourceDefinition | undefined;
|
|
53
57
|
readonly createInstance: InstanceFactory;
|
|
54
58
|
readonly context: Record<string, unknown>;
|
|
55
59
|
readonly secretValues: Set<string>;
|
|
@@ -63,6 +67,7 @@ export interface EvaluationContext {
|
|
|
63
67
|
teardownResources(): Promise<void>;
|
|
64
68
|
transientChild(context: Record<string, any>): EvaluationContext;
|
|
65
69
|
invoke<TInputs>(kind: string, name: string, inputs: TInputs): Promise<any>;
|
|
70
|
+
invokeResolved<TInputs>(kind: string, name: string, instance: ResourceInstance, inputs: TInputs): Promise<any>;
|
|
66
71
|
run(name: string): Promise<void>;
|
|
67
72
|
expand(value: unknown): unknown;
|
|
68
73
|
expandWith(value: unknown, extraContext: Record<string, unknown>): unknown;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"evaluation-context.d.ts","sourceRoot":"","sources":["../src/evaluation-context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;
|
|
1
|
+
{"version":3,"file":"evaluation-context.d.ts","sourceRoot":"","sources":["../src/evaluation-context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC/D,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAErD,MAAM,MAAM,SAAS,GAAG,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAE/E,qEAAqE;AACrE,MAAM,MAAM,cAAc,GAAG,SAAS,GAAG,WAAW,GAAG,aAAa,GAAG,UAAU,GAAG,UAAU,CAAC;AAE/F;;;GAGG;AACH,MAAM,MAAM,eAAe,GAAG;IAAE,QAAQ,EAAE,gBAAgB,CAAC;IAAC,GAAG,EAAE,GAAG,CAAA;CAAE,CAAC;AAEvE;;;;;;GAMG;AACH,MAAM,MAAM,eAAe,GAAG,CAC5B,OAAO,EAAE,iBAAiB,EAC1B,QAAQ,EAAE,gBAAgB,KACvB,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,CAAC;AAErC;;;;;;;;GAQG;AACH,MAAM,MAAM,WAAW,GAAG,CACxB,QAAQ,EAAE,gBAAgB,EAC1B,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,gBAAgB,GAAG,SAAS,KACxD,IAAI,CAAC;AAEV,sEAAsE;AACtE,wBAAgB,WAAW,CAAC,CAAC,EAAE,gBAAgB,GAAG,MAAM,CAEvD;AAED;;;;;GAKG;AACH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IAEzB,MAAM,EAAE,iBAAiB,GAAG,SAAS,CAAC;IACtC,QAAQ,CAAC,QAAQ,EAAE,iBAAiB,EAAE,CAAC;IAEvC,KAAK,EAAE,cAAc,CAAC;IAEtB,QAAQ,CAAC,iBAAiB,EAAE,GAAG,CAC7B,MAAM,EACN;QAAE,QAAQ,EAAE,gBAAgB,CAAC;QAAC,QAAQ,EAAE,gBAAgB,CAAA;KAAE,CAC3D,CAAC;IAEF,WAAW,CAAC,EAAE,WAAW,CAAC;IAE1B;mEAC+D;IAC/D,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,kBAAkB,GAAG,SAAS,CAAC;IAEjE,QAAQ,CAAC,cAAc,EAAE,eAAe,CAAC;IACzC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC1C,QAAQ,CAAC,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAEnC,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IACpC,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IACnC,gBAAgB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACnD,UAAU,CAAC,CAAC,SAAS,iBAAiB,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,CAAC;IACrD,mBAAmB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACrC,aAAa,CAAC,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;IACnD,iBAAiB,CAAC,SAAS,EAAE,gBAAgB,EAAE,GAAG,WAAW,CAAC;IAC9D,iBAAiB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACnC,cAAc,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,iBAAiB,CAAC;IAChE,MAAM,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IAC3E,cAAc,CAAC,OAAO,EACpB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,gBAAgB,EAC1B,MAAM,EAAE,OAAO,GACd,OAAO,CAAC,GAAG,CAAC,CAAC;IAChB,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACjC,MAAM,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAC;IAChC,UAAU,CAAC,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAAC;IAC3E,WAAW,CACT,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,KAAK,EAAE,MAAM,EAAE,EACf,YAAY,CAAC,EAAE,MAAM,EAAE,GACtB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAC5B"}
|
package/dist/index.d.ts
CHANGED
|
@@ -10,6 +10,7 @@ export * from "./module-context.js";
|
|
|
10
10
|
export * from "./resource-context.js";
|
|
11
11
|
export * from "./resource-instance.js";
|
|
12
12
|
export * from "./resource-manifest.js";
|
|
13
|
+
export * from "./invoke-error.js";
|
|
13
14
|
export * from "./runtime-error.js";
|
|
14
15
|
export * from "./runtime-event.js";
|
|
15
16
|
export * from "./runtime-resource.js";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,UAAU,CAAC;AACzB,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,UAAU,CAAC;AACzB,cAAc,4BAA4B,CAAC;AAC3C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,yBAAyB,CAAC;AACxC,cAAc,qBAAqB,CAAC;AACpC,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC;AACnC,cAAc,uBAAuB,CAAC;AACtC,cAAc,YAAY,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -10,6 +10,7 @@ export * from "./module-context.js";
|
|
|
10
10
|
export * from "./resource-context.js";
|
|
11
11
|
export * from "./resource-instance.js";
|
|
12
12
|
export * from "./resource-manifest.js";
|
|
13
|
+
export * from "./invoke-error.js";
|
|
13
14
|
export * from "./runtime-error.js";
|
|
14
15
|
export * from "./runtime-event.js";
|
|
15
16
|
export * from "./runtime-resource.js";
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Structured, catchable error for invocables and runnables. Route handlers and
|
|
3
|
+
* Run.Sequence try/catch match on `code`; downstream renderers consume `data`.
|
|
4
|
+
*
|
|
5
|
+
* Use `isInvokeError` for recognition, not `instanceof` — dual-realm safe
|
|
6
|
+
* across pnpm hoist splits, registry modules, and future sandbox isolation.
|
|
7
|
+
*/
|
|
8
|
+
export declare class InvokeError extends Error {
|
|
9
|
+
readonly code: string;
|
|
10
|
+
readonly data?: unknown;
|
|
11
|
+
constructor(code: string, message: string, data?: unknown);
|
|
12
|
+
}
|
|
13
|
+
export declare function isInvokeError(err: unknown): err is InvokeError;
|
|
14
|
+
//# sourceMappingURL=invoke-error.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"invoke-error.d.ts","sourceRoot":"","sources":["../src/invoke-error.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AACH,qBAAa,WAAY,SAAQ,KAAK;IACpC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC;gBAEZ,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO;CAiB1D;AAED,wBAAgB,aAAa,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,WAAW,CAM9D"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
const INVOKE_ERROR = Symbol.for("telo.InvokeError");
|
|
2
|
+
/**
|
|
3
|
+
* Structured, catchable error for invocables and runnables. Route handlers and
|
|
4
|
+
* Run.Sequence try/catch match on `code`; downstream renderers consume `data`.
|
|
5
|
+
*
|
|
6
|
+
* Use `isInvokeError` for recognition, not `instanceof` — dual-realm safe
|
|
7
|
+
* across pnpm hoist splits, registry modules, and future sandbox isolation.
|
|
8
|
+
*/
|
|
9
|
+
export class InvokeError extends Error {
|
|
10
|
+
code;
|
|
11
|
+
data;
|
|
12
|
+
constructor(code, message, data) {
|
|
13
|
+
super(message);
|
|
14
|
+
this.name = "InvokeError";
|
|
15
|
+
this.code = code;
|
|
16
|
+
this.data = data;
|
|
17
|
+
// Set via defineProperty (not a class field initializer) so the marker is
|
|
18
|
+
// always present regardless of TS/runtime class-field semantics
|
|
19
|
+
// (useDefineForClassFields, Error-subclass quirks, etc.) and stays
|
|
20
|
+
// non-enumerable so JSON serialisation / CEL property access don't trip
|
|
21
|
+
// over it.
|
|
22
|
+
Object.defineProperty(this, INVOKE_ERROR, {
|
|
23
|
+
value: true,
|
|
24
|
+
enumerable: false,
|
|
25
|
+
writable: false,
|
|
26
|
+
configurable: false,
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
export function isInvokeError(err) {
|
|
31
|
+
return (typeof err === "object" &&
|
|
32
|
+
err !== null &&
|
|
33
|
+
err[INVOKE_ERROR] === true);
|
|
34
|
+
}
|
package/dist/ref.d.ts
CHANGED
|
@@ -36,7 +36,7 @@ export type Injected<T> = {
|
|
|
36
36
|
/** Returns a schema node that emits `x-telo-ref` for buildReferenceFieldMap and carries
|
|
37
37
|
* KindRef<T> as its TypeScript type. For TypeBox schemas use Type.Unsafe<KindRef<T>>(Ref(...)).
|
|
38
38
|
*
|
|
39
|
-
* @param ref Canonical ref string: "namespace/module-name#TypeName" or "
|
|
39
|
+
* @param ref Canonical ref string: "namespace/module-name#TypeName" or "telo#TypeName" */
|
|
40
40
|
export declare const Ref: <T = ResourceInstance>(ref: string) => KindRef<T>;
|
|
41
41
|
/** Returns a schema node that emits `x-telo-scope` for buildReferenceFieldMap and carries
|
|
42
42
|
* ScopeRef as its TypeScript type. For TypeBox schemas use Type.Unsafe<ScopeRef>(Scope(...)).
|
package/dist/ref.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ref.d.ts","sourceRoot":"","sources":["../src/ref.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE/D;;mGAEmG;AACnG,MAAM,WAAW,OAAO,CAAC,CAAC,GAAG,gBAAgB;IAC3C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;CACrB;AAED;6DAC6D;AAC7D,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC;CACxB;AAED,6EAA6E;AAC7E,MAAM,WAAW,YAAY;IAC3B;;;uEAGmE;IACnE,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,gBAAgB,CAAC;CAC7C;AAED;oFACoF;AACpF,MAAM,WAAW,WAAW;IAC1B,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;CAC7D;AAED;;;;qCAIqC;AACrC,MAAM,MAAM,QAAQ,CAAC,CAAC,IAAI;KACvB,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,OAAO,CAAC,MAAM,CAAC,CAAC,GACzC,CAAC,GACD,CAAC,CAAC,CAAC,CAAC,SAAS,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,GAC7B,CAAC,EAAE,GACH,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,QAAQ,GAChC,WAAW,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,GACrC,CAAC,CAAC,CAAC,CAAC;CACb,CAAC;AAEF;;;
|
|
1
|
+
{"version":3,"file":"ref.d.ts","sourceRoot":"","sources":["../src/ref.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE/D;;mGAEmG;AACnG,MAAM,WAAW,OAAO,CAAC,CAAC,GAAG,gBAAgB;IAC3C,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;CACrB;AAED;6DAC6D;AAC7D,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC;CACxB;AAED,6EAA6E;AAC7E,MAAM,WAAW,YAAY;IAC3B;;;uEAGmE;IACnE,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,gBAAgB,CAAC;CAC7C;AAED;oFACoF;AACpF,MAAM,WAAW,WAAW;IAC1B,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;CAC7D;AAED;;;;qCAIqC;AACrC,MAAM,MAAM,QAAQ,CAAC,CAAC,IAAI;KACvB,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,OAAO,CAAC,MAAM,CAAC,CAAC,GACzC,CAAC,GACD,CAAC,CAAC,CAAC,CAAC,SAAS,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,GAC7B,CAAC,EAAE,GACH,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,QAAQ,GAChC,WAAW,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,GACrC,CAAC,CAAC,CAAC,CAAC;CACb,CAAC;AAEF;;;2FAG2F;AAC3F,eAAO,MAAM,GAAG,GAAI,CAAC,GAAG,gBAAgB,EAAE,KAAK,MAAM,KAAG,OAAO,CAAC,CAAC,CACf,CAAC;AAEnD;;;;wEAIwE;AACxE,eAAO,MAAM,KAAK,GAAI,gBAAgB,MAAM,GAAG,MAAM,EAAE,KAAG,QACG,CAAC"}
|
package/dist/ref.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/** Returns a schema node that emits `x-telo-ref` for buildReferenceFieldMap and carries
|
|
2
2
|
* KindRef<T> as its TypeScript type. For TypeBox schemas use Type.Unsafe<KindRef<T>>(Ref(...)).
|
|
3
3
|
*
|
|
4
|
-
* @param ref Canonical ref string: "namespace/module-name#TypeName" or "
|
|
4
|
+
* @param ref Canonical ref string: "namespace/module-name#TypeName" or "telo#TypeName" */
|
|
5
5
|
export const Ref = (ref) => ({ "x-telo-ref": ref });
|
|
6
6
|
/** Returns a schema node that emits `x-telo-scope` for buildReferenceFieldMap and carries
|
|
7
7
|
* ScopeRef as its TypeScript type. For TypeBox schemas use Type.Unsafe<ScopeRef>(Scope(...)).
|
|
@@ -1,7 +1,14 @@
|
|
|
1
1
|
import { ControllerContext } from "./controller-context.js";
|
|
2
2
|
import { EvaluationContext } from "./evaluation-context.js";
|
|
3
3
|
import { ModuleContext } from "./module-context.js";
|
|
4
|
+
import { ResourceInstance } from "./resource-instance.js";
|
|
5
|
+
import { ResourceManifest } from "./resource-manifest.js";
|
|
4
6
|
import { RuntimeResource } from "./runtime-resource.js";
|
|
7
|
+
export interface LoadOptions {
|
|
8
|
+
/** When true, `${{ }}` templates are replaced with CompiledValue wrappers
|
|
9
|
+
* so they can be evaluated at runtime. Leave unset for static analysis. */
|
|
10
|
+
compile?: boolean;
|
|
11
|
+
}
|
|
5
12
|
export interface DataValidator {
|
|
6
13
|
validate(data: any): void;
|
|
7
14
|
isValid(data: any): boolean;
|
|
@@ -23,6 +30,7 @@ export interface ResourceContext extends ControllerContext {
|
|
|
23
30
|
acquireHold(reason?: string): () => void;
|
|
24
31
|
emitEvent(event: string, payload?: any): Promise<void>;
|
|
25
32
|
invoke<TInputs>(kind: string, name: string, inputs: TInputs, options?: any): Promise<any>;
|
|
33
|
+
invokeResolved<TInputs>(kind: string, name: string, instance: ResourceInstance, inputs: TInputs): Promise<any>;
|
|
26
34
|
run(kind: string, name: string): Promise<void>;
|
|
27
35
|
getResources(kind: string): RuntimeResource[];
|
|
28
36
|
getResourcesByName(kind: string, name: string): RuntimeResource | null;
|
|
@@ -46,7 +54,16 @@ export interface ResourceContext extends ControllerContext {
|
|
|
46
54
|
registerDefinition(definition: any): void;
|
|
47
55
|
registerModuleImport(alias: string, targetModule: string, kinds: string[]): void;
|
|
48
56
|
teardownResource(kind: string, name: string): Promise<void>;
|
|
57
|
+
/** Load a single module (its own file + `include`d partials). Use this when
|
|
58
|
+
* you need just the declaring file's manifests. */
|
|
59
|
+
loadModule(url: string, options?: LoadOptions): Promise<ResourceManifest[]>;
|
|
60
|
+
/** Load a module and follow its Telo.Import chain, returning the union of
|
|
61
|
+
* the module's manifests plus all transitively-imported Telo.Definition
|
|
62
|
+
* manifests. Use this when you need the full kind surface area visible from
|
|
63
|
+
* the module. */
|
|
64
|
+
loadManifests(url: string): Promise<ResourceManifest[]>;
|
|
49
65
|
readonly moduleContext: ModuleContext;
|
|
66
|
+
readonly env: Record<string, string | undefined>;
|
|
50
67
|
readonly stdin: NodeJS.ReadableStream;
|
|
51
68
|
readonly stdout: NodeJS.WritableStream;
|
|
52
69
|
readonly stderr: NodeJS.WritableStream;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resource-context.d.ts","sourceRoot":"","sources":["../src/resource-context.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExD,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,IAAI,EAAE,GAAG,GAAG,IAAI,CAAC;IAC1B,OAAO,CAAC,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC;CAC7B;AAED,MAAM,WAAW,QAAQ;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,qBAAa,aAAc,YAAW,aAAa;IACjD,OAAO;IAIP,QAAQ;CAGT;AAED,MAAM,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,EAAE,CAAC,CAAC,GAAG;IAAE,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC;AAEhG,MAAM,WAAW,eAAgB,SAAQ,iBAAiB;IACxD,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,WAAW,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,IAAI,CAAC;IACzC,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACvD,MAAM,CAAC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IAC1F,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/C,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,EAAE,CAAC;IAC9C,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,eAAe,GAAG,IAAI,CAAC;IACvE,gBAAgB,CAAC,QAAQ,EAAE,GAAG,GAAG,IAAI,CAAC;IACtC,iBAAiB,IAAI,iBAAiB,CAAC;IACvC,cAAc,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,iBAAiB,CAAC;IAChE,aAAa,CAAC,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,GAAG,CAAC,CAAC;IACnD,eAAe,CAAC,QAAQ,EAAE,GAAG,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IACtF,cAAc,CAAC,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,GAAG,IAAI,CAAC;IAC9C,qBAAqB,CAAC,MAAM,EAAE,GAAG,GAAG,aAAa,CAAC;IAClD,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACnD,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC;IAC/C,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;IACzD,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,EAAE,GAAG,SAAS,CAAC;IACtD,kFAAkF;IAClF,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,SAAS,GAAG,aAAa,CAAC;IACtF,kBAAkB,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,kBAAkB,EAAE,GAAG,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACjG,kBAAkB,CAAC,UAAU,EAAE,GAAG,GAAG,IAAI,CAAC;IAC1C,oBAAoB,CAAC,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IACjF,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5D,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAC;IACtC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,cAAc,CAAC;IACtC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,cAAc,CAAC;IACvC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC,cAAc,CAAC;CACxC"}
|
|
1
|
+
{"version":3,"file":"resource-context.d.ts","sourceRoot":"","sources":["../src/resource-context.ts"],"names":[],"mappings":"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"}
|
package/dist/runtime-error.d.ts
CHANGED
|
@@ -2,6 +2,8 @@ export interface RuntimeDiagnostic {
|
|
|
2
2
|
severity?: "error" | "warning";
|
|
3
3
|
message: string;
|
|
4
4
|
resource?: string;
|
|
5
|
+
kind?: string;
|
|
6
|
+
details?: string;
|
|
5
7
|
code?: string;
|
|
6
8
|
}
|
|
7
9
|
/** Well-known kernel error codes. User-defined codes (e.g. from Type.JsonSchema rules) are also valid. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime-error.d.ts","sourceRoot":"","sources":["../src/runtime-error.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,0GAA0G;AAC1G,MAAM,MAAM,gBAAgB,GACxB,wBAAwB,GACxB,2BAA2B,GAC3B,0BAA0B,GAC1B,wBAAwB,GACxB,oCAAoC,GACpC,4BAA4B,GAC5B,uCAAuC,GACvC,wBAAwB,GACxB,sBAAsB,GACtB,mBAAmB,GACnB,uBAAuB,GACvB,gCAAgC,GAChC,yBAAyB,GACzB,8BAA8B,GAC9B,oBAAoB,GACpB,4BAA4B,GAC5B,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC"}
|
|
1
|
+
{"version":3,"file":"runtime-error.d.ts","sourceRoot":"","sources":["../src/runtime-error.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,0GAA0G;AAC1G,MAAM,MAAM,gBAAgB,GACxB,wBAAwB,GACxB,2BAA2B,GAC3B,0BAA0B,GAC1B,wBAAwB,GACxB,oCAAoC,GACpC,4BAA4B,GAC5B,uCAAuC,GACvC,wBAAwB,GACxB,sBAAsB,GACtB,mBAAmB,GACnB,uBAAuB,GACvB,gCAAgC,GAChC,yBAAyB,GACzB,8BAA8B,GAC9B,oBAAoB,GACpB,4BAA4B,GAC5B,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC"}
|
package/dist/types.d.ts
CHANGED
|
@@ -11,6 +11,20 @@ export interface ExecContext {
|
|
|
11
11
|
execute(urn: string, input: any): Promise<any>;
|
|
12
12
|
[key: string]: any;
|
|
13
13
|
}
|
|
14
|
+
export interface ThrowCodeSpec {
|
|
15
|
+
description: string;
|
|
16
|
+
data?: Record<string, any>;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Declared throw contract for a Telo.Invocable or Telo.Runnable definition.
|
|
20
|
+
* Codes-only (explicit contract) in Phase 1; `inherit` and `passthrough` land
|
|
21
|
+
* in Phase 2 together with the analyzer dataflow pass.
|
|
22
|
+
*/
|
|
23
|
+
export interface ThrowsSpec {
|
|
24
|
+
codes?: Record<string, ThrowCodeSpec>;
|
|
25
|
+
inherit?: boolean;
|
|
26
|
+
passthrough?: boolean;
|
|
27
|
+
}
|
|
14
28
|
export interface ResourceDefinition {
|
|
15
29
|
kind: string;
|
|
16
30
|
metadata: {
|
|
@@ -24,6 +38,8 @@ export interface ResourceDefinition {
|
|
|
24
38
|
runtime: string;
|
|
25
39
|
entry: string;
|
|
26
40
|
}>;
|
|
41
|
+
/** Declared throw contract — only valid on Telo.Invocable / Telo.Runnable. */
|
|
42
|
+
throws?: ThrowsSpec;
|
|
27
43
|
}
|
|
28
44
|
/**
|
|
29
45
|
* Controller definition for a resource kind.
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACzE,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExD,MAAM,WAAW,aAAa;IAC5B,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IAC/C,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAC;CACpB;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE;QACR,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,wEAAwE;IACxE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC7B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,KAAK,CAAC;QAClB,OAAO,EAAE,MAAM,CAAC;QAChB,KAAK,EAAE,MAAM,CAAC;KACf,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/compiled-value.ts
CHANGED
|
@@ -3,6 +3,8 @@
|
|
|
3
3
|
* The SDK has no knowledge of CEL — it only calls .call(). */
|
|
4
4
|
export interface CompiledValue {
|
|
5
5
|
readonly __compiled: true;
|
|
6
|
+
/** Original expression source text (e.g. "env.PORT"), if available. */
|
|
7
|
+
readonly source?: string;
|
|
6
8
|
call(ctx: Record<string, unknown>): unknown;
|
|
7
9
|
}
|
|
8
10
|
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import type { ScopeHandle } from "./ref.js";
|
|
2
2
|
import type { ResourceInstance } from "./resource-instance.js";
|
|
3
3
|
import type { ResourceManifest } from "./resource-manifest.js";
|
|
4
|
+
import type { ResourceDefinition } from "./types.js";
|
|
4
5
|
|
|
5
6
|
export type EmitEvent = (event: string, payload?: any) => void | Promise<void>;
|
|
6
7
|
|
|
@@ -67,6 +68,10 @@ export interface EvaluationContext {
|
|
|
67
68
|
|
|
68
69
|
preInitHook?: PreInitHook;
|
|
69
70
|
|
|
71
|
+
/** Looks up a registered resource definition by fully-qualified kind.
|
|
72
|
+
* Set by the kernel; used for declared-throw-union checks. */
|
|
73
|
+
getDefinition?: (kind: string) => ResourceDefinition | undefined;
|
|
74
|
+
|
|
70
75
|
readonly createInstance: InstanceFactory;
|
|
71
76
|
readonly context: Record<string, unknown>;
|
|
72
77
|
readonly secretValues: Set<string>;
|
|
@@ -81,6 +86,12 @@ export interface EvaluationContext {
|
|
|
81
86
|
teardownResources(): Promise<void>;
|
|
82
87
|
transientChild(context: Record<string, any>): EvaluationContext;
|
|
83
88
|
invoke<TInputs>(kind: string, name: string, inputs: TInputs): Promise<any>;
|
|
89
|
+
invokeResolved<TInputs>(
|
|
90
|
+
kind: string,
|
|
91
|
+
name: string,
|
|
92
|
+
instance: ResourceInstance,
|
|
93
|
+
inputs: TInputs,
|
|
94
|
+
): Promise<any>;
|
|
84
95
|
run(name: string): Promise<void>;
|
|
85
96
|
expand(value: unknown): unknown;
|
|
86
97
|
expandWith(value: unknown, extraContext: Record<string, unknown>): unknown;
|
package/src/index.ts
CHANGED
|
@@ -10,6 +10,7 @@ export * from "./module-context.js";
|
|
|
10
10
|
export * from "./resource-context.js";
|
|
11
11
|
export * from "./resource-instance.js";
|
|
12
12
|
export * from "./resource-manifest.js";
|
|
13
|
+
export * from "./invoke-error.js";
|
|
13
14
|
export * from "./runtime-error.js";
|
|
14
15
|
export * from "./runtime-event.js";
|
|
15
16
|
export * from "./runtime-resource.js";
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
const INVOKE_ERROR = Symbol.for("telo.InvokeError");
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Structured, catchable error for invocables and runnables. Route handlers and
|
|
5
|
+
* Run.Sequence try/catch match on `code`; downstream renderers consume `data`.
|
|
6
|
+
*
|
|
7
|
+
* Use `isInvokeError` for recognition, not `instanceof` — dual-realm safe
|
|
8
|
+
* across pnpm hoist splits, registry modules, and future sandbox isolation.
|
|
9
|
+
*/
|
|
10
|
+
export class InvokeError extends Error {
|
|
11
|
+
readonly code: string;
|
|
12
|
+
readonly data?: unknown;
|
|
13
|
+
|
|
14
|
+
constructor(code: string, message: string, data?: unknown) {
|
|
15
|
+
super(message);
|
|
16
|
+
this.name = "InvokeError";
|
|
17
|
+
this.code = code;
|
|
18
|
+
this.data = data;
|
|
19
|
+
// Set via defineProperty (not a class field initializer) so the marker is
|
|
20
|
+
// always present regardless of TS/runtime class-field semantics
|
|
21
|
+
// (useDefineForClassFields, Error-subclass quirks, etc.) and stays
|
|
22
|
+
// non-enumerable so JSON serialisation / CEL property access don't trip
|
|
23
|
+
// over it.
|
|
24
|
+
Object.defineProperty(this, INVOKE_ERROR, {
|
|
25
|
+
value: true,
|
|
26
|
+
enumerable: false,
|
|
27
|
+
writable: false,
|
|
28
|
+
configurable: false,
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
export function isInvokeError(err: unknown): err is InvokeError {
|
|
34
|
+
return (
|
|
35
|
+
typeof err === "object" &&
|
|
36
|
+
err !== null &&
|
|
37
|
+
(err as Record<PropertyKey, unknown>)[INVOKE_ERROR] === true
|
|
38
|
+
);
|
|
39
|
+
}
|
package/src/ref.ts
CHANGED
|
@@ -48,7 +48,7 @@ export type Injected<T> = {
|
|
|
48
48
|
/** Returns a schema node that emits `x-telo-ref` for buildReferenceFieldMap and carries
|
|
49
49
|
* KindRef<T> as its TypeScript type. For TypeBox schemas use Type.Unsafe<KindRef<T>>(Ref(...)).
|
|
50
50
|
*
|
|
51
|
-
* @param ref Canonical ref string: "namespace/module-name#TypeName" or "
|
|
51
|
+
* @param ref Canonical ref string: "namespace/module-name#TypeName" or "telo#TypeName" */
|
|
52
52
|
export const Ref = <T = ResourceInstance>(ref: string): KindRef<T> =>
|
|
53
53
|
({ "x-telo-ref": ref } as unknown as KindRef<T>);
|
|
54
54
|
|
package/src/resource-context.ts
CHANGED
|
@@ -1,8 +1,16 @@
|
|
|
1
1
|
import { ControllerContext } from "./controller-context.js";
|
|
2
2
|
import { EvaluationContext } from "./evaluation-context.js";
|
|
3
3
|
import { ModuleContext } from "./module-context.js";
|
|
4
|
+
import { ResourceInstance } from "./resource-instance.js";
|
|
5
|
+
import { ResourceManifest } from "./resource-manifest.js";
|
|
4
6
|
import { RuntimeResource } from "./runtime-resource.js";
|
|
5
7
|
|
|
8
|
+
export interface LoadOptions {
|
|
9
|
+
/** When true, `${{ }}` templates are replaced with CompiledValue wrappers
|
|
10
|
+
* so they can be evaluated at runtime. Leave unset for static analysis. */
|
|
11
|
+
compile?: boolean;
|
|
12
|
+
}
|
|
13
|
+
|
|
6
14
|
export interface DataValidator {
|
|
7
15
|
validate(data: any): void;
|
|
8
16
|
isValid(data: any): boolean;
|
|
@@ -31,6 +39,12 @@ export interface ResourceContext extends ControllerContext {
|
|
|
31
39
|
acquireHold(reason?: string): () => void;
|
|
32
40
|
emitEvent(event: string, payload?: any): Promise<void>;
|
|
33
41
|
invoke<TInputs>(kind: string, name: string, inputs: TInputs, options?: any): Promise<any>;
|
|
42
|
+
invokeResolved<TInputs>(
|
|
43
|
+
kind: string,
|
|
44
|
+
name: string,
|
|
45
|
+
instance: ResourceInstance,
|
|
46
|
+
inputs: TInputs,
|
|
47
|
+
): Promise<any>;
|
|
34
48
|
run(kind: string, name: string): Promise<void>;
|
|
35
49
|
getResources(kind: string): RuntimeResource[];
|
|
36
50
|
getResourcesByName(kind: string, name: string): RuntimeResource | null;
|
|
@@ -51,7 +65,16 @@ export interface ResourceContext extends ControllerContext {
|
|
|
51
65
|
registerDefinition(definition: any): void;
|
|
52
66
|
registerModuleImport(alias: string, targetModule: string, kinds: string[]): void;
|
|
53
67
|
teardownResource(kind: string, name: string): Promise<void>;
|
|
68
|
+
/** Load a single module (its own file + `include`d partials). Use this when
|
|
69
|
+
* you need just the declaring file's manifests. */
|
|
70
|
+
loadModule(url: string, options?: LoadOptions): Promise<ResourceManifest[]>;
|
|
71
|
+
/** Load a module and follow its Telo.Import chain, returning the union of
|
|
72
|
+
* the module's manifests plus all transitively-imported Telo.Definition
|
|
73
|
+
* manifests. Use this when you need the full kind surface area visible from
|
|
74
|
+
* the module. */
|
|
75
|
+
loadManifests(url: string): Promise<ResourceManifest[]>;
|
|
54
76
|
readonly moduleContext: ModuleContext;
|
|
77
|
+
readonly env: Record<string, string | undefined>;
|
|
55
78
|
readonly stdin: NodeJS.ReadableStream;
|
|
56
79
|
readonly stdout: NodeJS.WritableStream;
|
|
57
80
|
readonly stderr: NodeJS.WritableStream;
|
package/src/runtime-error.ts
CHANGED
package/src/types.ts
CHANGED
|
@@ -14,6 +14,22 @@ export interface ExecContext {
|
|
|
14
14
|
[key: string]: any;
|
|
15
15
|
}
|
|
16
16
|
|
|
17
|
+
export interface ThrowCodeSpec {
|
|
18
|
+
description: string;
|
|
19
|
+
data?: Record<string, any>;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* Declared throw contract for a Telo.Invocable or Telo.Runnable definition.
|
|
24
|
+
* Codes-only (explicit contract) in Phase 1; `inherit` and `passthrough` land
|
|
25
|
+
* in Phase 2 together with the analyzer dataflow pass.
|
|
26
|
+
*/
|
|
27
|
+
export interface ThrowsSpec {
|
|
28
|
+
codes?: Record<string, ThrowCodeSpec>;
|
|
29
|
+
inherit?: boolean;
|
|
30
|
+
passthrough?: boolean;
|
|
31
|
+
}
|
|
32
|
+
|
|
17
33
|
export interface ResourceDefinition {
|
|
18
34
|
kind: string;
|
|
19
35
|
metadata: {
|
|
@@ -27,6 +43,8 @@ export interface ResourceDefinition {
|
|
|
27
43
|
runtime: string;
|
|
28
44
|
entry: string;
|
|
29
45
|
}>;
|
|
46
|
+
/** Declared throw contract — only valid on Telo.Invocable / Telo.Runnable. */
|
|
47
|
+
throws?: ThrowsSpec;
|
|
30
48
|
}
|
|
31
49
|
|
|
32
50
|
/**
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import type { CapabilityDefinition } from "./types.js";
|
|
2
|
-
/**
|
|
3
|
-
* Factory that wires the declarative `expand` config on a CapabilityDefinition
|
|
4
|
-
* into the `onManifest` and `onInvoke` lifecycle hooks. The kernel only ever
|
|
5
|
-
* calls these hooks — it has no knowledge of the `expand` config.
|
|
6
|
-
*/
|
|
7
|
-
export declare function createCapability(def: CapabilityDefinition): CapabilityDefinition;
|
|
8
|
-
//# sourceMappingURL=capability-definition.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"capability-definition.d.ts","sourceRoot":"","sources":["../src/capability-definition.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAGvD;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,oBAAoB,GAAG,oBAAoB,CAwBhF"}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Factory that wires the declarative `expand` config on a CapabilityDefinition
|
|
3
|
-
* into the `onManifest` and `onInvoke` lifecycle hooks. The kernel only ever
|
|
4
|
-
* calls these hooks — it has no knowledge of the `expand` config.
|
|
5
|
-
*/
|
|
6
|
-
export function createCapability(def) {
|
|
7
|
-
const compile = def.expand?.compile ?? [];
|
|
8
|
-
const runtime = def.expand?.runtime ?? [];
|
|
9
|
-
return {
|
|
10
|
-
...def,
|
|
11
|
-
onManifest: compile.length
|
|
12
|
-
? (manifest, ctx) => ctx.expandPaths(manifest, compile, runtime)
|
|
13
|
-
: def.onManifest,
|
|
14
|
-
onInvoke: runtime.length
|
|
15
|
-
? async (instance, inputs, ctx) => {
|
|
16
|
-
const expanded = ctx.moduleContext.expandPaths(inputs, runtime);
|
|
17
|
-
return instance.invoke(expanded);
|
|
18
|
-
}
|
|
19
|
-
: def.onInvoke,
|
|
20
|
-
};
|
|
21
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cel-environment.d.ts","sourceRoot":"","sources":["../src/cel-environment.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAEnD,eAAO,MAAM,cAAc,aAWvB,CAAC"}
|
package/dist/cel-environment.js
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { Environment } from "@marcbachmann/cel-js";
|
|
2
|
-
export const celEnvironment = new Environment({ unlistedVariablesAreDyn: true })
|
|
3
|
-
.registerFunction("join(list, string): string", (list, sep) => list.map(String).join(sep))
|
|
4
|
-
.registerFunction("keys(map): list", (map) => {
|
|
5
|
-
if (map instanceof Map)
|
|
6
|
-
return [...map.keys()];
|
|
7
|
-
return Object.keys(map);
|
|
8
|
-
})
|
|
9
|
-
.registerFunction("values(map): list", (map) => {
|
|
10
|
-
if (map instanceof Map)
|
|
11
|
-
return [...map.values()];
|
|
12
|
-
return Object.values(map);
|
|
13
|
-
});
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { EvaluationContext } from "./evaluation-context.js";
|
|
2
|
-
import { ModuleContext } from "./module-context.js";
|
|
3
|
-
/**
|
|
4
|
-
* The ephemeral, per-trigger context layer. Merges a ModuleContext with
|
|
5
|
-
* arbitrary execution-time properties (e.g. { request, inputs } for HTTP;
|
|
6
|
-
* any shape is valid — determined by the trigger type).
|
|
7
|
-
*
|
|
8
|
-
* Execution props overlay the module namespaces on key conflict.
|
|
9
|
-
*/
|
|
10
|
-
export declare class ExecutionContext extends EvaluationContext {
|
|
11
|
-
constructor(moduleCtx: ModuleContext, execProps: Record<string, unknown>);
|
|
12
|
-
}
|
|
13
|
-
//# sourceMappingURL=execution-context.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
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;CASzE"}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { EvaluationContext } from "./evaluation-context.js";
|
|
2
|
-
/**
|
|
3
|
-
* The ephemeral, per-trigger context layer. Merges a ModuleContext with
|
|
4
|
-
* arbitrary execution-time properties (e.g. { request, inputs } for HTTP;
|
|
5
|
-
* any shape is valid — determined by the trigger type).
|
|
6
|
-
*
|
|
7
|
-
* Execution props overlay the module namespaces on key conflict.
|
|
8
|
-
*/
|
|
9
|
-
export class ExecutionContext extends EvaluationContext {
|
|
10
|
-
constructor(moduleCtx, execProps) {
|
|
11
|
-
super(moduleCtx.source, Object.assign(Object.create(null), moduleCtx.context, execProps), moduleCtx.createInstance, moduleCtx.secretValues, moduleCtx.emit);
|
|
12
|
-
}
|
|
13
|
-
}
|