@darkhorseprojects/circuitry 0.4.4 → 0.4.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -1
- package/SPEC.md +3 -5
- package/dist/graph.d.ts +4 -4
- package/dist/graph.js +0 -11
- package/dist/graph.js.map +1 -1
- package/dist/resolve.js +39 -19
- package/dist/resolve.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -186,7 +186,9 @@ A runtime must not expose undeclared tools to that resource. Circuitry only decl
|
|
|
186
186
|
|
|
187
187
|
## Extensions
|
|
188
188
|
|
|
189
|
-
|
|
189
|
+
Unknown fields are preserved. Circuitry tooling validates and interprets core fields only. Runtimes may interpret additional fields they understand. Portable meaning is guaranteed only for fields defined by the Circuitry spec.
|
|
190
|
+
|
|
191
|
+
Unknown resource types are allowed so runtimes can extend behavior. Circuitry stays small by defining stable graph primitives instead of encoding every workflow feature.
|
|
190
192
|
|
|
191
193
|
## Run resources
|
|
192
194
|
|
package/SPEC.md
CHANGED
|
@@ -55,13 +55,11 @@ resources:
|
|
|
55
55
|
entry: string
|
|
56
56
|
|
|
57
57
|
output: {}
|
|
58
|
-
|
|
59
|
-
x-runtime-name: any
|
|
60
58
|
```
|
|
61
59
|
|
|
62
60
|
Unknown resource `type` values are allowed so runtimes can extend behavior.
|
|
63
61
|
|
|
64
|
-
Unknown fields are preserved.
|
|
62
|
+
Unknown fields are preserved. Circuitry tooling validates and interprets core fields only. Runtimes may interpret additional fields they understand. Portable meaning is guaranteed only for fields defined by the Circuitry spec.
|
|
65
63
|
|
|
66
64
|
Circuitry stays small by defining stable graph primitives instead of encoding every workflow feature a runtime might provide.
|
|
67
65
|
|
|
@@ -198,7 +196,7 @@ system = imported.base_system
|
|
|
198
196
|
|
|
199
197
|
This imports `base_system` from the imported graph and binds it locally as `system`. The current graph should reference `system`.
|
|
200
198
|
|
|
201
|
-
Imports do not merge top-level inputs, entries, outputs, or
|
|
199
|
+
Imports do not merge top-level inputs, entries, outputs, or unknown fields.
|
|
202
200
|
|
|
203
201
|
## Resolution
|
|
204
202
|
|
|
@@ -245,4 +243,4 @@ A valid 0.4 graph:
|
|
|
245
243
|
- has `type: input` resources with valid `from`
|
|
246
244
|
- has `type: run` resources with `graph`
|
|
247
245
|
- has outputs with valid `from` roots
|
|
248
|
-
-
|
|
246
|
+
- uses valid shapes for all specified Circuitry core fields
|
package/dist/graph.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export declare const CIRCUITRY_SPEC_VERSION: "0.4";
|
|
2
|
-
export type
|
|
2
|
+
export type CircuitryGraphCore = {
|
|
3
3
|
circuitry: "0.4";
|
|
4
4
|
title?: string;
|
|
5
5
|
description?: string;
|
|
@@ -9,8 +9,8 @@ export type CircuitryGraph = {
|
|
|
9
9
|
entries?: Record<string, string>;
|
|
10
10
|
resources: Record<string, CircuitryResource>;
|
|
11
11
|
outputs?: Record<string, CircuitryOutput>;
|
|
12
|
-
[key: `x-${string}`]: unknown;
|
|
13
12
|
};
|
|
13
|
+
export type CircuitryGraph = CircuitryGraphCore & Record<string, unknown>;
|
|
14
14
|
export type CircuitryImport = {
|
|
15
15
|
path: string;
|
|
16
16
|
resources?: "*" | string[] | Record<string, string>;
|
|
@@ -24,7 +24,7 @@ export type CircuitryInputSpec = {
|
|
|
24
24
|
description?: string;
|
|
25
25
|
mime?: string;
|
|
26
26
|
};
|
|
27
|
-
export type
|
|
27
|
+
export type CircuitryResourceCore = {
|
|
28
28
|
type: string;
|
|
29
29
|
label?: string;
|
|
30
30
|
description?: string;
|
|
@@ -40,8 +40,8 @@ export type CircuitryResource = {
|
|
|
40
40
|
graph?: string;
|
|
41
41
|
entry?: string;
|
|
42
42
|
output?: CircuitrySchema;
|
|
43
|
-
[key: `x-${string}`]: unknown;
|
|
44
43
|
};
|
|
44
|
+
export type CircuitryResource = CircuitryResourceCore & Record<string, unknown>;
|
|
45
45
|
export type CircuitryOutput = {
|
|
46
46
|
from: string;
|
|
47
47
|
schema?: CircuitrySchema;
|
package/dist/graph.js
CHANGED
|
@@ -91,14 +91,6 @@ export function validateCircuitrySource(value) {
|
|
|
91
91
|
if (graph.circuitry !== CIRCUITRY_SPEC_VERSION) {
|
|
92
92
|
issue("invalid_version", `circuitry must be ${CIRCUITRY_SPEC_VERSION}`, ["circuitry"]);
|
|
93
93
|
}
|
|
94
|
-
if ("nodes" in graph)
|
|
95
|
-
issue("forbidden_nodes", "nodes are not part of Circuitry 0.4", ["nodes"]);
|
|
96
|
-
if ("edges" in graph)
|
|
97
|
-
issue("forbidden_edges", "edges are not part of Circuitry 0.4", ["edges"]);
|
|
98
|
-
if ("args" in graph)
|
|
99
|
-
issue("forbidden_args", "args are not part of Circuitry 0.4; use inputs", ["args"]);
|
|
100
|
-
if ("runtime" in graph)
|
|
101
|
-
issue("forbidden_runtime", "runtime is not a core Circuitry field; use runtime config or x-*", ["runtime"]);
|
|
102
94
|
if (!graph.resources || typeof graph.resources !== "object" || Array.isArray(graph.resources)) {
|
|
103
95
|
issue("missing_resources", "resources must be an object", ["resources"]);
|
|
104
96
|
return { ok: false, issues };
|
|
@@ -122,9 +114,6 @@ export function validateCircuitrySource(value) {
|
|
|
122
114
|
if (!resource.type || typeof resource.type !== "string") {
|
|
123
115
|
issue("missing_resource_type", `resource ${id} missing type`, ["resources", id, "type"]);
|
|
124
116
|
}
|
|
125
|
-
if ("expect" in resource) {
|
|
126
|
-
issue("unsupported_resource_field", "resource field is not supported", ["resources", id, "expect"]);
|
|
127
|
-
}
|
|
128
117
|
if (resource.inputs !== undefined && !Array.isArray(resource.inputs) && (typeof resource.inputs !== "object" || resource.inputs === null)) {
|
|
129
118
|
issue("invalid_resource_inputs", `resource ${id} inputs must be an array or object`, ["resources", id, "inputs"]);
|
|
130
119
|
}
|
package/dist/graph.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graph.js","sourceRoot":"","sources":["../src/graph.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,sBAAsB,GAAG,KAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"graph.js","sourceRoot":"","sources":["../src/graph.ts"],"names":[],"mappings":"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"}
|
package/dist/resolve.js
CHANGED
|
@@ -36,6 +36,7 @@ export async function resolveCircuitrySource(source, options = {}) {
|
|
|
36
36
|
mergeImport(resources, origins, resolved.graph.resources, resolved.origins, spec, importedPath);
|
|
37
37
|
}
|
|
38
38
|
for (const [id, resource] of Object.entries(source.resources ?? {})) {
|
|
39
|
+
assertAvailable(resources, id);
|
|
39
40
|
resources[id] = resource;
|
|
40
41
|
origins[id] = options.filename ?? "<memory>";
|
|
41
42
|
}
|
|
@@ -59,35 +60,54 @@ export async function resolveCircuitrySource(source, options = {}) {
|
|
|
59
60
|
return { graph, origins };
|
|
60
61
|
}
|
|
61
62
|
function mergeImport(target, origins, imported, importedOrigins, spec, importedPath) {
|
|
63
|
+
const selected = getImportSelection(imported, spec);
|
|
64
|
+
const renames = new Map(selected.map(({ remote, local }) => [remote, local]));
|
|
65
|
+
for (const { remote, local } of selected) {
|
|
66
|
+
assertAvailable(target, local);
|
|
67
|
+
target[local] = rewriteImportedResource(imported[remote], renames);
|
|
68
|
+
origins[local] = importedOrigins[remote] ?? importedPath;
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
function getImportSelection(imported, spec) {
|
|
62
72
|
const resources = spec.resources ?? "*";
|
|
63
73
|
if (resources === "*") {
|
|
64
|
-
|
|
65
|
-
const name = spec.prefix ? `${spec.prefix}${id}` : id;
|
|
66
|
-
assertAvailable(target, name);
|
|
67
|
-
target[name] = resource;
|
|
68
|
-
origins[name] = importedOrigins[id] ?? importedPath;
|
|
69
|
-
}
|
|
70
|
-
return;
|
|
74
|
+
return Object.keys(imported).map((id) => ({ remote: id, local: applyPrefix(id, spec.prefix) }));
|
|
71
75
|
}
|
|
72
76
|
if (Array.isArray(resources)) {
|
|
73
|
-
|
|
77
|
+
return resources.map((id) => {
|
|
74
78
|
if (!imported[id])
|
|
75
79
|
throw new Error(`imported resource not found: ${id}`);
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
target[name] = imported[id];
|
|
79
|
-
origins[name] = importedOrigins[id] ?? importedPath;
|
|
80
|
-
}
|
|
81
|
-
return;
|
|
80
|
+
return { remote: id, local: applyPrefix(id, spec.prefix) };
|
|
81
|
+
});
|
|
82
82
|
}
|
|
83
|
-
|
|
83
|
+
return Object.entries(resources).map(([local, remote]) => {
|
|
84
84
|
if (!imported[remote])
|
|
85
85
|
throw new Error(`imported resource not found: ${remote}`);
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
86
|
+
return { remote, local: applyPrefix(local, spec.prefix) };
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
function rewriteImportedResource(resource, renames) {
|
|
90
|
+
const rewritten = { ...resource };
|
|
91
|
+
if (Array.isArray(resource.inputs)) {
|
|
92
|
+
rewritten.inputs = resource.inputs.map((id) => rewriteReference(id, renames));
|
|
93
|
+
}
|
|
94
|
+
else if (resource.inputs && typeof resource.inputs === "object") {
|
|
95
|
+
rewritten.inputs = Object.fromEntries(Object.entries(resource.inputs).map(([name, id]) => [name, rewriteReference(id, renames)]));
|
|
96
|
+
}
|
|
97
|
+
if (resource.type === "run" && typeof resource.graph === "string") {
|
|
98
|
+
rewritten.graph = rewriteReference(resource.graph, renames);
|
|
90
99
|
}
|
|
100
|
+
return rewritten;
|
|
101
|
+
}
|
|
102
|
+
function rewriteReference(reference, renames) {
|
|
103
|
+
const [root, ...rest] = reference.split(".");
|
|
104
|
+
const renamed = renames.get(root);
|
|
105
|
+
if (!renamed)
|
|
106
|
+
return reference;
|
|
107
|
+
return rest.length ? `${renamed}.${rest.join(".")}` : renamed;
|
|
108
|
+
}
|
|
109
|
+
function applyPrefix(id, prefix = "") {
|
|
110
|
+
return `${prefix}${id}`;
|
|
91
111
|
}
|
|
92
112
|
function assertAvailable(resources, id) {
|
|
93
113
|
if (resources[id])
|
package/dist/resolve.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolve.js","sourceRoot":"","sources":["../src/resolve.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"resolve.js","sourceRoot":"","sources":["../src/resolve.ts"],"names":[],"mappings":"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"}
|