@x12i/graphenix-executable-format 1.0.0
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 +341 -0
- package/dist/adapter/build-graph-execution-request-from-studio-execute.d.ts +6 -0
- package/dist/adapter/build-graph-execution-request-from-studio-execute.d.ts.map +1 -0
- package/dist/adapter/build-graph-execution-request-from-studio-execute.js +41 -0
- package/dist/adapter/build-graph-execution-request-from-studio-execute.js.map +1 -0
- package/dist/api.d.ts +36 -0
- package/dist/api.d.ts.map +1 -0
- package/dist/api.js +99 -0
- package/dist/api.js.map +1 -0
- package/dist/case-condition/allowed-paths.d.ts +4 -0
- package/dist/case-condition/allowed-paths.d.ts.map +1 -0
- package/dist/case-condition/allowed-paths.js +74 -0
- package/dist/case-condition/allowed-paths.js.map +1 -0
- package/dist/case-condition/evaluate-case-condition.d.ts +4 -0
- package/dist/case-condition/evaluate-case-condition.d.ts.map +1 -0
- package/dist/case-condition/evaluate-case-condition.js +106 -0
- package/dist/case-condition/evaluate-case-condition.js.map +1 -0
- package/dist/case-condition/select-graph-model-case.d.ts +6 -0
- package/dist/case-condition/select-graph-model-case.d.ts.map +1 -0
- package/dist/case-condition/select-graph-model-case.js +40 -0
- package/dist/case-condition/select-graph-model-case.js.map +1 -0
- package/dist/case-condition/select-node-model-case.d.ts +4 -0
- package/dist/case-condition/select-node-model-case.d.ts.map +1 -0
- package/dist/case-condition/select-node-model-case.js +34 -0
- package/dist/case-condition/select-node-model-case.js.map +1 -0
- package/dist/case-condition/validate-case-condition.d.ts +5 -0
- package/dist/case-condition/validate-case-condition.d.ts.map +1 -0
- package/dist/case-condition/validate-case-condition.js +118 -0
- package/dist/case-condition/validate-case-condition.js.map +1 -0
- package/dist/compile/build-node-execution-units.d.ts +6 -0
- package/dist/compile/build-node-execution-units.d.ts.map +1 -0
- package/dist/compile/build-node-execution-units.js +77 -0
- package/dist/compile/build-node-execution-units.js.map +1 -0
- package/dist/compile/compile-executable-plan.d.ts +5 -0
- package/dist/compile/compile-executable-plan.d.ts.map +1 -0
- package/dist/compile/compile-executable-plan.js +142 -0
- package/dist/compile/compile-executable-plan.js.map +1 -0
- package/dist/constants.d.ts +12 -0
- package/dist/constants.d.ts.map +1 -0
- package/dist/constants.js +19 -0
- package/dist/constants.js.map +1 -0
- package/dist/explain/explain-executable-graph-error.d.ts +4 -0
- package/dist/explain/explain-executable-graph-error.d.ts.map +1 -0
- package/dist/explain/explain-executable-graph-error.js +14 -0
- package/dist/explain/explain-executable-graph-error.js.map +1 -0
- package/dist/explain/explain-node-inheritance.d.ts +3 -0
- package/dist/explain/explain-node-inheritance.d.ts.map +1 -0
- package/dist/explain/explain-node-inheritance.js +41 -0
- package/dist/explain/explain-node-inheritance.js.map +1 -0
- package/dist/fixtures/minimal-executable-graph.d.ts +4 -0
- package/dist/fixtures/minimal-executable-graph.d.ts.map +1 -0
- package/dist/fixtures/minimal-executable-graph.js +170 -0
- package/dist/fixtures/minimal-executable-graph.js.map +1 -0
- package/dist/helpers/add-finalizer-node.d.ts +5 -0
- package/dist/helpers/add-finalizer-node.d.ts.map +1 -0
- package/dist/helpers/add-finalizer-node.js +13 -0
- package/dist/helpers/add-finalizer-node.js.map +1 -0
- package/dist/helpers/add-task-node.d.ts +5 -0
- package/dist/helpers/add-task-node.d.ts.map +1 -0
- package/dist/helpers/add-task-node.js +13 -0
- package/dist/helpers/add-task-node.js.map +1 -0
- package/dist/helpers/connect-task-to-task.d.ts +10 -0
- package/dist/helpers/connect-task-to-task.d.ts.map +1 -0
- package/dist/helpers/connect-task-to-task.js +23 -0
- package/dist/helpers/connect-task-to-task.js.map +1 -0
- package/dist/helpers/set-graph-model-config.d.ts +5 -0
- package/dist/helpers/set-graph-model-config.d.ts.map +1 -0
- package/dist/helpers/set-graph-model-config.js +30 -0
- package/dist/helpers/set-graph-model-config.js.map +1 -0
- package/dist/helpers/set-node-model-config.d.ts +5 -0
- package/dist/helpers/set-node-model-config.d.ts.map +1 -0
- package/dist/helpers/set-node-model-config.js +25 -0
- package/dist/helpers/set-node-model-config.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +18 -0
- package/dist/index.js.map +1 -0
- package/dist/internal/hash.d.ts +4 -0
- package/dist/internal/hash.d.ts.map +1 -0
- package/dist/internal/hash.js +26 -0
- package/dist/internal/hash.js.map +1 -0
- package/dist/internal/utils.d.ts +16 -0
- package/dist/internal/utils.d.ts.map +1 -0
- package/dist/internal/utils.js +80 -0
- package/dist/internal/utils.js.map +1 -0
- package/dist/migration/migrate-legacy-graph-model-object.d.ts +4 -0
- package/dist/migration/migrate-legacy-graph-model-object.d.ts.map +1 -0
- package/dist/migration/migrate-legacy-graph-model-object.js +217 -0
- package/dist/migration/migrate-legacy-graph-model-object.js.map +1 -0
- package/dist/normalize/normalize-executable-graph.d.ts +3 -0
- package/dist/normalize/normalize-executable-graph.d.ts.map +1 -0
- package/dist/normalize/normalize-executable-graph.js +34 -0
- package/dist/normalize/normalize-executable-graph.js.map +1 -0
- package/dist/normalize/normalize-model-config.d.ts +4 -0
- package/dist/normalize/normalize-model-config.d.ts.map +1 -0
- package/dist/normalize/normalize-model-config.js +64 -0
- package/dist/normalize/normalize-model-config.js.map +1 -0
- package/dist/profile-choice/known-profile-choices.d.ts +10 -0
- package/dist/profile-choice/known-profile-choices.d.ts.map +1 -0
- package/dist/profile-choice/known-profile-choices.js +19 -0
- package/dist/profile-choice/known-profile-choices.js.map +1 -0
- package/dist/profile-choice/validate-profile-choice.d.ts +8 -0
- package/dist/profile-choice/validate-profile-choice.d.ts.map +1 -0
- package/dist/profile-choice/validate-profile-choice.js +55 -0
- package/dist/profile-choice/validate-profile-choice.js.map +1 -0
- package/dist/resolution/build-deterministic-case-context.d.ts +9 -0
- package/dist/resolution/build-deterministic-case-context.d.ts.map +1 -0
- package/dist/resolution/build-deterministic-case-context.js +26 -0
- package/dist/resolution/build-deterministic-case-context.js.map +1 -0
- package/dist/resolution/resolve-graph-model-config.d.ts +12 -0
- package/dist/resolution/resolve-graph-model-config.d.ts.map +1 -0
- package/dist/resolution/resolve-graph-model-config.js +28 -0
- package/dist/resolution/resolve-graph-model-config.js.map +1 -0
- package/dist/resolution/resolve-node-ai-plan.d.ts +7 -0
- package/dist/resolution/resolve-node-ai-plan.d.ts.map +1 -0
- package/dist/resolution/resolve-node-ai-plan.js +64 -0
- package/dist/resolution/resolve-node-ai-plan.js.map +1 -0
- package/dist/resolution/resolve-node-model-config.d.ts +15 -0
- package/dist/resolution/resolve-node-model-config.d.ts.map +1 -0
- package/dist/resolution/resolve-node-model-config.js +37 -0
- package/dist/resolution/resolve-node-model-config.js.map +1 -0
- package/dist/resolution/resolve-node-model-slot.d.ts +7 -0
- package/dist/resolution/resolve-node-model-slot.d.ts.map +1 -0
- package/dist/resolution/resolve-node-model-slot.js +65 -0
- package/dist/resolution/resolve-node-model-slot.js.map +1 -0
- package/dist/test/executable-format.test.d.ts +2 -0
- package/dist/test/executable-format.test.d.ts.map +1 -0
- package/dist/test/executable-format.test.js +844 -0
- package/dist/test/executable-format.test.js.map +1 -0
- package/dist/trace/append-execution-event.d.ts +5 -0
- package/dist/trace/append-execution-event.d.ts.map +1 -0
- package/dist/trace/append-execution-event.js +9 -0
- package/dist/trace/append-execution-event.js.map +1 -0
- package/dist/trace/create-execution-trace.d.ts +5 -0
- package/dist/trace/create-execution-trace.d.ts.map +1 -0
- package/dist/trace/create-execution-trace.js +56 -0
- package/dist/trace/create-execution-trace.js.map +1 -0
- package/dist/types/case-condition.d.ts +50 -0
- package/dist/types/case-condition.d.ts.map +1 -0
- package/dist/types/case-condition.js +3 -0
- package/dist/types/case-condition.js.map +1 -0
- package/dist/types/errors.d.ts +16 -0
- package/dist/types/errors.d.ts.map +1 -0
- package/dist/types/errors.js +3 -0
- package/dist/types/errors.js.map +1 -0
- package/dist/types/executable-graph.d.ts +19 -0
- package/dist/types/executable-graph.d.ts.map +1 -0
- package/dist/types/executable-graph.js +3 -0
- package/dist/types/executable-graph.js.map +1 -0
- package/dist/types/executable-nodes.d.ts +54 -0
- package/dist/types/executable-nodes.d.ts.map +1 -0
- package/dist/types/executable-nodes.js +3 -0
- package/dist/types/executable-nodes.js.map +1 -0
- package/dist/types/executable-plan.d.ts +78 -0
- package/dist/types/executable-plan.d.ts.map +1 -0
- package/dist/types/executable-plan.js +5 -0
- package/dist/types/executable-plan.js.map +1 -0
- package/dist/types/executable-profile.d.ts +18 -0
- package/dist/types/executable-profile.d.ts.map +1 -0
- package/dist/types/executable-profile.js +3 -0
- package/dist/types/executable-profile.js.map +1 -0
- package/dist/types/execution-trace.d.ts +278 -0
- package/dist/types/execution-trace.d.ts.map +1 -0
- package/dist/types/execution-trace.js +5 -0
- package/dist/types/execution-trace.js.map +1 -0
- package/dist/types/execution-unit.d.ts +19 -0
- package/dist/types/execution-unit.d.ts.map +1 -0
- package/dist/types/execution-unit.js +3 -0
- package/dist/types/execution-unit.js.map +1 -0
- package/dist/types/index.d.ts +16 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +8 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/legacy.d.ts +21 -0
- package/dist/types/legacy.d.ts.map +1 -0
- package/dist/types/legacy.js +3 -0
- package/dist/types/legacy.js.map +1 -0
- package/dist/types/model-config.d.ts +80 -0
- package/dist/types/model-config.d.ts.map +1 -0
- package/dist/types/model-config.js +3 -0
- package/dist/types/model-config.js.map +1 -0
- package/dist/types/resolution.d.ts +55 -0
- package/dist/types/resolution.d.ts.map +1 -0
- package/dist/types/resolution.js +3 -0
- package/dist/types/resolution.js.map +1 -0
- package/dist/types/runtime.d.ts +19 -0
- package/dist/types/runtime.d.ts.map +1 -0
- package/dist/types/runtime.js +3 -0
- package/dist/types/runtime.js.map +1 -0
- package/dist/types/studio-execute.d.ts +25 -0
- package/dist/types/studio-execute.d.ts.map +1 -0
- package/dist/types/studio-execute.js +3 -0
- package/dist/types/studio-execute.js.map +1 -0
- package/dist/validators/assert-executable-graph.d.ts +3 -0
- package/dist/validators/assert-executable-graph.d.ts.map +1 -0
- package/dist/validators/assert-executable-graph.js +14 -0
- package/dist/validators/assert-executable-graph.js.map +1 -0
- package/dist/validators/assert-normalized-executable-graph.d.ts +3 -0
- package/dist/validators/assert-normalized-executable-graph.d.ts.map +1 -0
- package/dist/validators/assert-normalized-executable-graph.js +14 -0
- package/dist/validators/assert-normalized-executable-graph.js.map +1 -0
- package/dist/validators/validate-authoring-executable-graph.d.ts +3 -0
- package/dist/validators/validate-authoring-executable-graph.d.ts.map +1 -0
- package/dist/validators/validate-authoring-executable-graph.js +134 -0
- package/dist/validators/validate-authoring-executable-graph.js.map +1 -0
- package/dist/validators/validate-authoring-graph.d.ts +2 -0
- package/dist/validators/validate-authoring-graph.d.ts.map +1 -0
- package/dist/validators/validate-authoring-graph.js +6 -0
- package/dist/validators/validate-authoring-graph.js.map +1 -0
- package/dist/validators/validate-executable-graph.d.ts +4 -0
- package/dist/validators/validate-executable-graph.d.ts.map +1 -0
- package/dist/validators/validate-executable-graph.js +9 -0
- package/dist/validators/validate-executable-graph.js.map +1 -0
- package/dist/validators/validate-executable-plan.d.ts +3 -0
- package/dist/validators/validate-executable-plan.d.ts.map +1 -0
- package/dist/validators/validate-executable-plan.js +211 -0
- package/dist/validators/validate-executable-plan.js.map +1 -0
- package/dist/validators/validate-execution-trace.d.ts +4 -0
- package/dist/validators/validate-execution-trace.d.ts.map +1 -0
- package/dist/validators/validate-execution-trace.js +158 -0
- package/dist/validators/validate-execution-trace.js.map +1 -0
- package/dist/validators/validate-finalizer-node.d.ts +4 -0
- package/dist/validators/validate-finalizer-node.d.ts.map +1 -0
- package/dist/validators/validate-finalizer-node.js +36 -0
- package/dist/validators/validate-finalizer-node.js.map +1 -0
- package/dist/validators/validate-model-config.d.ts +7 -0
- package/dist/validators/validate-model-config.d.ts.map +1 -0
- package/dist/validators/validate-model-config.js +197 -0
- package/dist/validators/validate-model-config.js.map +1 -0
- package/dist/validators/validate-normalized-executable-graph.d.ts +3 -0
- package/dist/validators/validate-normalized-executable-graph.d.ts.map +1 -0
- package/dist/validators/validate-normalized-executable-graph.js +26 -0
- package/dist/validators/validate-normalized-executable-graph.js.map +1 -0
- package/dist/validators/validate-runtime-object.d.ts +10 -0
- package/dist/validators/validate-runtime-object.d.ts.map +1 -0
- package/dist/validators/validate-runtime-object.js +63 -0
- package/dist/validators/validate-runtime-object.js.map +1 -0
- package/dist/validators/validate-studio-execute-request.d.ts +5 -0
- package/dist/validators/validate-studio-execute-request.d.ts.map +1 -0
- package/dist/validators/validate-studio-execute-request.js +37 -0
- package/dist/validators/validate-studio-execute-request.js.map +1 -0
- package/dist/validators/validate-task-actions.d.ts +4 -0
- package/dist/validators/validate-task-actions.d.ts.map +1 -0
- package/dist/validators/validate-task-actions.js +93 -0
- package/dist/validators/validate-task-actions.js.map +1 -0
- package/dist/validators/validate-task-node.d.ts +6 -0
- package/dist/validators/validate-task-node.d.ts.map +1 -0
- package/dist/validators/validate-task-node.js +43 -0
- package/dist/validators/validate-task-node.js.map +1 -0
- package/docs/IMPLEMENTATION-REPORT.md +200 -0
- package/package.json +56 -0
- package/schema/graphenix-executable-format-1.0.0.schema.json +40 -0
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.evaluateCaseCondition = evaluateCaseCondition;
|
|
4
|
+
exports.explainMatchedCondition = explainMatchedCondition;
|
|
5
|
+
const utils_js_1 = require("../internal/utils.js");
|
|
6
|
+
function evaluateCaseCondition(condition, context) {
|
|
7
|
+
if ((0, utils_js_1.isRecord)(condition) && "all" in condition && Array.isArray(condition.all)) {
|
|
8
|
+
return condition.all.every((child) => evaluateCaseCondition(child, context));
|
|
9
|
+
}
|
|
10
|
+
if ((0, utils_js_1.isRecord)(condition) && "any" in condition && Array.isArray(condition.any)) {
|
|
11
|
+
return condition.any.some((child) => evaluateCaseCondition(child, context));
|
|
12
|
+
}
|
|
13
|
+
if ((0, utils_js_1.isRecord)(condition) && "not" in condition) {
|
|
14
|
+
return !evaluateCaseCondition(condition.not, context);
|
|
15
|
+
}
|
|
16
|
+
if ((0, utils_js_1.isRecord)(condition) && "path" in condition) {
|
|
17
|
+
return evaluatePredicate(condition, context);
|
|
18
|
+
}
|
|
19
|
+
return false;
|
|
20
|
+
}
|
|
21
|
+
function evaluatePredicate(condition, context) {
|
|
22
|
+
const actual = resolvePath(condition.path, context);
|
|
23
|
+
switch (condition.op) {
|
|
24
|
+
case "exists":
|
|
25
|
+
return actual !== undefined;
|
|
26
|
+
case "notExists":
|
|
27
|
+
return actual === undefined;
|
|
28
|
+
case "eq":
|
|
29
|
+
return actual === condition.value;
|
|
30
|
+
case "neq":
|
|
31
|
+
return actual !== condition.value;
|
|
32
|
+
case "in":
|
|
33
|
+
return (Array.isArray(condition.value) &&
|
|
34
|
+
condition.value.some((item) => item === actual));
|
|
35
|
+
case "notIn":
|
|
36
|
+
return (Array.isArray(condition.value) &&
|
|
37
|
+
!condition.value.some((item) => item === actual));
|
|
38
|
+
case "gt":
|
|
39
|
+
return compareNumbers(actual, condition.value, (a, b) => a > b);
|
|
40
|
+
case "gte":
|
|
41
|
+
return compareNumbers(actual, condition.value, (a, b) => a >= b);
|
|
42
|
+
case "lt":
|
|
43
|
+
return compareNumbers(actual, condition.value, (a, b) => a < b);
|
|
44
|
+
case "lte":
|
|
45
|
+
return compareNumbers(actual, condition.value, (a, b) => a <= b);
|
|
46
|
+
case "matches":
|
|
47
|
+
return (typeof actual === "string" &&
|
|
48
|
+
typeof condition.value === "string" &&
|
|
49
|
+
new RegExp(condition.value).test(actual));
|
|
50
|
+
default:
|
|
51
|
+
return false;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
function compareNumbers(actual, expected, compare) {
|
|
55
|
+
if (typeof actual !== "number" || typeof expected !== "number") {
|
|
56
|
+
return false;
|
|
57
|
+
}
|
|
58
|
+
return compare(actual, expected);
|
|
59
|
+
}
|
|
60
|
+
function resolvePath(path, context) {
|
|
61
|
+
const segments = path.split(".");
|
|
62
|
+
let current = { runtime: context.runtime, graph: context.graph };
|
|
63
|
+
for (const segment of segments) {
|
|
64
|
+
if (!(0, utils_js_1.isRecord)(current) || !(segment in current)) {
|
|
65
|
+
return undefined;
|
|
66
|
+
}
|
|
67
|
+
current = current[segment];
|
|
68
|
+
}
|
|
69
|
+
return current;
|
|
70
|
+
}
|
|
71
|
+
function explainMatchedCondition(condition, context) {
|
|
72
|
+
if ((0, utils_js_1.isRecord)(condition) && "all" in condition && Array.isArray(condition.all)) {
|
|
73
|
+
return condition.all.flatMap((child) => explainMatchedCondition(child, context));
|
|
74
|
+
}
|
|
75
|
+
if ((0, utils_js_1.isRecord)(condition) && "any" in condition && Array.isArray(condition.any)) {
|
|
76
|
+
for (const child of condition.any) {
|
|
77
|
+
if (evaluateCaseCondition(child, context)) {
|
|
78
|
+
return explainMatchedCondition(child, context);
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
return [];
|
|
82
|
+
}
|
|
83
|
+
if ((0, utils_js_1.isRecord)(condition) && "not" in condition) {
|
|
84
|
+
if (!evaluateCaseCondition(condition.not, context)) {
|
|
85
|
+
return [`not (${explainMatchedCondition(condition.not, context).join(", ")})`];
|
|
86
|
+
}
|
|
87
|
+
return [];
|
|
88
|
+
}
|
|
89
|
+
if ((0, utils_js_1.isRecord)(condition) && "path" in condition) {
|
|
90
|
+
const predicate = condition;
|
|
91
|
+
if (evaluatePredicate(predicate, context)) {
|
|
92
|
+
if (predicate.op === "exists" || predicate.op === "notExists") {
|
|
93
|
+
return [`${predicate.path} ${predicate.op}`];
|
|
94
|
+
}
|
|
95
|
+
return [`${predicate.path} ${predicate.op} ${formatValue(predicate.value)}`];
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
return [];
|
|
99
|
+
}
|
|
100
|
+
function formatValue(value) {
|
|
101
|
+
if (typeof value === "string") {
|
|
102
|
+
return value;
|
|
103
|
+
}
|
|
104
|
+
return JSON.stringify(value);
|
|
105
|
+
}
|
|
106
|
+
//# sourceMappingURL=evaluate-case-condition.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"evaluate-case-condition.js","sourceRoot":"","sources":["../../src/case-condition/evaluate-case-condition.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { DeterministicCaseContext, SelectedGraphModelCase } from "../types/case-condition.js";
|
|
2
|
+
import type { GraphModelConfigCase, NormalizedGraphModelConfig } from "../types/model-config.js";
|
|
3
|
+
export declare function selectGraphModelCase(modelConfig: NormalizedGraphModelConfig, context: DeterministicCaseContext): SelectedGraphModelCase;
|
|
4
|
+
export declare function findDefaultCase(cases: GraphModelConfigCase[]): GraphModelConfigCase | undefined;
|
|
5
|
+
export declare function countDefaultCases(cases: GraphModelConfigCase[]): number;
|
|
6
|
+
//# sourceMappingURL=select-graph-model-case.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"select-graph-model-case.d.ts","sourceRoot":"","sources":["../../src/case-condition/select-graph-model-case.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,wBAAwB,EACxB,sBAAsB,EACvB,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EACV,oBAAoB,EACpB,0BAA0B,EAC3B,MAAM,0BAA0B,CAAC;AAMlC,wBAAgB,oBAAoB,CAClC,WAAW,EAAE,0BAA0B,EACvC,OAAO,EAAE,wBAAwB,GAChC,sBAAsB,CAwBxB;AAED,wBAAgB,eAAe,CAC7B,KAAK,EAAE,oBAAoB,EAAE,GAC5B,oBAAoB,GAAG,SAAS,CAQlC;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,oBAAoB,EAAE,GAAG,MAAM,CAIvE"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.selectGraphModelCase = selectGraphModelCase;
|
|
4
|
+
exports.findDefaultCase = findDefaultCase;
|
|
5
|
+
exports.countDefaultCases = countDefaultCases;
|
|
6
|
+
const evaluate_case_condition_js_1 = require("./evaluate-case-condition.js");
|
|
7
|
+
function selectGraphModelCase(modelConfig, context) {
|
|
8
|
+
const defaultCase = findDefaultCase(modelConfig.cases);
|
|
9
|
+
if (!defaultCase) {
|
|
10
|
+
throw new Error("Graph modelConfig has no default case.");
|
|
11
|
+
}
|
|
12
|
+
for (const graphCase of modelConfig.cases) {
|
|
13
|
+
if (graphCase.id === "default" || graphCase.when === undefined) {
|
|
14
|
+
continue;
|
|
15
|
+
}
|
|
16
|
+
if ((0, evaluate_case_condition_js_1.evaluateCaseCondition)(graphCase.when, context)) {
|
|
17
|
+
return {
|
|
18
|
+
caseId: graphCase.id,
|
|
19
|
+
triplet: graphCase.modelConfig,
|
|
20
|
+
matchedConditions: (0, evaluate_case_condition_js_1.explainMatchedCondition)(graphCase.when, context)
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
return {
|
|
25
|
+
caseId: defaultCase.id,
|
|
26
|
+
triplet: defaultCase.modelConfig,
|
|
27
|
+
matchedConditions: []
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
function findDefaultCase(cases) {
|
|
31
|
+
const defaults = cases.filter((graphCase) => graphCase.id === "default" || graphCase.when === undefined);
|
|
32
|
+
if (defaults.length === 0) {
|
|
33
|
+
return undefined;
|
|
34
|
+
}
|
|
35
|
+
return defaults.find((graphCase) => graphCase.id === "default") ?? defaults[0];
|
|
36
|
+
}
|
|
37
|
+
function countDefaultCases(cases) {
|
|
38
|
+
return cases.filter((graphCase) => graphCase.id === "default" || graphCase.when === undefined).length;
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=select-graph-model-case.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"select-graph-model-case.js","sourceRoot":"","sources":["../../src/case-condition/select-graph-model-case.ts"],"names":[],"mappings":";;AAaA,oDA2BC;AAED,0CAUC;AAED,8CAIC;AAlDD,6EAGsC;AAEtC,SAAgB,oBAAoB,CAClC,WAAuC,EACvC,OAAiC;IAEjC,MAAM,WAAW,GAAG,eAAe,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IACvD,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;IAC5D,CAAC;IAED,KAAK,MAAM,SAAS,IAAI,WAAW,CAAC,KAAK,EAAE,CAAC;QAC1C,IAAI,SAAS,CAAC,EAAE,KAAK,SAAS,IAAI,SAAS,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC/D,SAAS;QACX,CAAC;QACD,IAAI,IAAA,kDAAqB,EAAC,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC;YACnD,OAAO;gBACL,MAAM,EAAE,SAAS,CAAC,EAAE;gBACpB,OAAO,EAAE,SAAS,CAAC,WAAW;gBAC9B,iBAAiB,EAAE,IAAA,oDAAuB,EAAC,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC;aACpE,CAAC;QACJ,CAAC;IACH,CAAC;IAED,OAAO;QACL,MAAM,EAAE,WAAW,CAAC,EAAE;QACtB,OAAO,EAAE,WAAW,CAAC,WAAW;QAChC,iBAAiB,EAAE,EAAE;KACtB,CAAC;AACJ,CAAC;AAED,SAAgB,eAAe,CAC7B,KAA6B;IAE7B,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAC3B,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,KAAK,SAAS,IAAI,SAAS,CAAC,IAAI,KAAK,SAAS,CAC1E,CAAC;IACF,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1B,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,KAAK,SAAS,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,CAAC;AACjF,CAAC;AAED,SAAgB,iBAAiB,CAAC,KAA6B;IAC7D,OAAO,KAAK,CAAC,MAAM,CACjB,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,EAAE,KAAK,SAAS,IAAI,SAAS,CAAC,IAAI,KAAK,SAAS,CAC1E,CAAC,MAAM,CAAC;AACX,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { DeterministicCaseContext, SelectedNodeModelCase } from "../types/case-condition.js";
|
|
2
|
+
import type { NodeModelConfig } from "../types/model-config.js";
|
|
3
|
+
export declare function selectNodeModelCase(modelConfig: NodeModelConfig | undefined, context: DeterministicCaseContext): SelectedNodeModelCase | undefined;
|
|
4
|
+
//# sourceMappingURL=select-node-model-case.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"select-node-model-case.d.ts","sourceRoot":"","sources":["../../src/case-condition/select-node-model-case.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,wBAAwB,EACxB,qBAAqB,EACtB,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EACV,eAAe,EAEhB,MAAM,0BAA0B,CAAC;AAMlC,wBAAgB,mBAAmB,CACjC,WAAW,EAAE,eAAe,GAAG,SAAS,EACxC,OAAO,EAAE,wBAAwB,GAChC,qBAAqB,GAAG,SAAS,CA4BnC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.selectNodeModelCase = selectNodeModelCase;
|
|
4
|
+
const evaluate_case_condition_js_1 = require("./evaluate-case-condition.js");
|
|
5
|
+
function selectNodeModelCase(modelConfig, context) {
|
|
6
|
+
if (!modelConfig?.cases || modelConfig.cases.length === 0) {
|
|
7
|
+
return undefined;
|
|
8
|
+
}
|
|
9
|
+
for (const nodeCase of modelConfig.cases) {
|
|
10
|
+
if (nodeCase.id === "default" || nodeCase.when === undefined) {
|
|
11
|
+
continue;
|
|
12
|
+
}
|
|
13
|
+
if ((0, evaluate_case_condition_js_1.evaluateCaseCondition)(nodeCase.when, context)) {
|
|
14
|
+
return {
|
|
15
|
+
caseId: nodeCase.id,
|
|
16
|
+
partial: nodeCase.modelConfig,
|
|
17
|
+
matchedConditions: (0, evaluate_case_condition_js_1.explainMatchedCondition)(nodeCase.when, context)
|
|
18
|
+
};
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
const defaultCase = findNodeDefaultCase(modelConfig.cases);
|
|
22
|
+
if (defaultCase) {
|
|
23
|
+
return {
|
|
24
|
+
caseId: defaultCase.id,
|
|
25
|
+
partial: defaultCase.modelConfig,
|
|
26
|
+
matchedConditions: []
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
return undefined;
|
|
30
|
+
}
|
|
31
|
+
function findNodeDefaultCase(cases) {
|
|
32
|
+
return cases.find((nodeCase) => nodeCase.id === "default" || nodeCase.when === undefined);
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=select-node-model-case.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"select-node-model-case.js","sourceRoot":"","sources":["../../src/case-condition/select-node-model-case.ts"],"names":[],"mappings":";;AAaA,kDA+BC;AApCD,6EAGsC;AAEtC,SAAgB,mBAAmB,CACjC,WAAwC,EACxC,OAAiC;IAEjC,IAAI,CAAC,WAAW,EAAE,KAAK,IAAI,WAAW,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC1D,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,KAAK,MAAM,QAAQ,IAAI,WAAW,CAAC,KAAK,EAAE,CAAC;QACzC,IAAI,QAAQ,CAAC,EAAE,KAAK,SAAS,IAAI,QAAQ,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC7D,SAAS;QACX,CAAC;QACD,IAAI,IAAA,kDAAqB,EAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC;YAClD,OAAO;gBACL,MAAM,EAAE,QAAQ,CAAC,EAAE;gBACnB,OAAO,EAAE,QAAQ,CAAC,WAAW;gBAC7B,iBAAiB,EAAE,IAAA,oDAAuB,EAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;aACnE,CAAC;QACJ,CAAC;IACH,CAAC;IAED,MAAM,WAAW,GAAG,mBAAmB,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IAC3D,IAAI,WAAW,EAAE,CAAC;QAChB,OAAO;YACL,MAAM,EAAE,WAAW,CAAC,EAAE;YACtB,OAAO,EAAE,WAAW,CAAC,WAAW;YAChC,iBAAiB,EAAE,EAAE;SACtB,CAAC;IACJ,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,mBAAmB,CAC1B,KAA4B;IAE5B,OAAO,KAAK,CAAC,IAAI,CACf,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,EAAE,KAAK,SAAS,IAAI,QAAQ,CAAC,IAAI,KAAK,SAAS,CACvE,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { CaseCondition, CaseConditionValidationOptions } from "../types/case-condition.js";
|
|
2
|
+
import type { ExecutableGraphValidationError } from "../types/errors.js";
|
|
3
|
+
export declare function validateCaseCondition(condition: unknown, options?: CaseConditionValidationOptions): ExecutableGraphValidationError[];
|
|
4
|
+
export declare function isCaseCondition(value: unknown): value is CaseCondition;
|
|
5
|
+
//# sourceMappingURL=validate-case-condition.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validate-case-condition.d.ts","sourceRoot":"","sources":["../../src/case-condition/validate-case-condition.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,8BAA8B,EAE/B,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,oBAAoB,CAAC;AA2BzE,wBAAgB,qBAAqB,CACnC,SAAS,EAAE,OAAO,EAClB,OAAO,GAAE,8BAAmC,GAC3C,8BAA8B,EAAE,CAGlC;AAyMD,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,aAAa,CAEtE"}
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.validateCaseCondition = validateCaseCondition;
|
|
4
|
+
exports.isCaseCondition = isCaseCondition;
|
|
5
|
+
const utils_js_1 = require("../internal/utils.js");
|
|
6
|
+
const allowed_paths_js_1 = require("./allowed-paths.js");
|
|
7
|
+
const ALLOWED_OPERATORS = new Set([
|
|
8
|
+
"eq",
|
|
9
|
+
"neq",
|
|
10
|
+
"in",
|
|
11
|
+
"notIn",
|
|
12
|
+
"exists",
|
|
13
|
+
"notExists",
|
|
14
|
+
"gt",
|
|
15
|
+
"gte",
|
|
16
|
+
"lt",
|
|
17
|
+
"lte",
|
|
18
|
+
"matches"
|
|
19
|
+
]);
|
|
20
|
+
const VALUELESS_OPERATORS = new Set([
|
|
21
|
+
"exists",
|
|
22
|
+
"notExists"
|
|
23
|
+
]);
|
|
24
|
+
function validateCaseCondition(condition, options = {}) {
|
|
25
|
+
const pathPrefix = options.pathPrefix ?? "/when";
|
|
26
|
+
return validateCaseConditionInternal(condition, pathPrefix);
|
|
27
|
+
}
|
|
28
|
+
function validateCaseConditionInternal(condition, path) {
|
|
29
|
+
const errors = [];
|
|
30
|
+
if (!(0, utils_js_1.isRecord)(condition)) {
|
|
31
|
+
errors.push((0, utils_js_1.execError)("CASE_CONDITION_INVALID", "Case condition must be an object.", path));
|
|
32
|
+
return errors;
|
|
33
|
+
}
|
|
34
|
+
for (const key of Object.keys(condition)) {
|
|
35
|
+
if ((0, allowed_paths_js_1.isForbiddenCaseSelectorKey)(key)) {
|
|
36
|
+
errors.push((0, utils_js_1.execError)("CASE_CONDITION_FORBIDDEN_AI_SELECTOR", "Model configuration cases must be selected using deterministic context only. AI-based case selectors are not allowed.", `${path}/${key}`));
|
|
37
|
+
return errors;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
if ("all" in condition) {
|
|
41
|
+
if (!Array.isArray(condition.all)) {
|
|
42
|
+
errors.push((0, utils_js_1.execError)("CASE_CONDITION_INVALID", "Case all condition must be an array.", `${path}/all`));
|
|
43
|
+
return errors;
|
|
44
|
+
}
|
|
45
|
+
for (const [index, child] of condition.all.entries()) {
|
|
46
|
+
errors.push(...validateCaseConditionInternal(child, `${path}/all/${index}`));
|
|
47
|
+
}
|
|
48
|
+
return errors;
|
|
49
|
+
}
|
|
50
|
+
if ("any" in condition) {
|
|
51
|
+
if (!Array.isArray(condition.any)) {
|
|
52
|
+
errors.push((0, utils_js_1.execError)("CASE_CONDITION_INVALID", "Case any condition must be an array.", `${path}/any`));
|
|
53
|
+
return errors;
|
|
54
|
+
}
|
|
55
|
+
for (const [index, child] of condition.any.entries()) {
|
|
56
|
+
errors.push(...validateCaseConditionInternal(child, `${path}/any/${index}`));
|
|
57
|
+
}
|
|
58
|
+
return errors;
|
|
59
|
+
}
|
|
60
|
+
if ("not" in condition) {
|
|
61
|
+
errors.push(...validateCaseConditionInternal(condition.not, `${path}/not`));
|
|
62
|
+
return errors;
|
|
63
|
+
}
|
|
64
|
+
if ("path" in condition) {
|
|
65
|
+
return validatePredicateCondition(condition, path);
|
|
66
|
+
}
|
|
67
|
+
errors.push((0, utils_js_1.execError)("CASE_CONDITION_INVALID", "Case condition must use all, any, not, or a path predicate.", path));
|
|
68
|
+
return errors;
|
|
69
|
+
}
|
|
70
|
+
function validatePredicateCondition(condition, path) {
|
|
71
|
+
const errors = [];
|
|
72
|
+
if (typeof condition.path !== "string" || condition.path.length === 0) {
|
|
73
|
+
errors.push((0, utils_js_1.execError)("CASE_CONDITION_INVALID", "Predicate condition path must be a non-empty string.", `${path}/path`));
|
|
74
|
+
return errors;
|
|
75
|
+
}
|
|
76
|
+
if ((0, allowed_paths_js_1.isForbiddenCasePath)(condition.path)) {
|
|
77
|
+
errors.push((0, utils_js_1.execError)("CASE_CONDITION_FORBIDDEN_PATH", `Case condition path "${condition.path}" is not allowed. Model case selectors may only read deterministic runtime/graph context.`, `${path}/path`));
|
|
78
|
+
return errors;
|
|
79
|
+
}
|
|
80
|
+
if (!(0, allowed_paths_js_1.isAllowedCasePath)(condition.path)) {
|
|
81
|
+
errors.push((0, utils_js_1.execError)("CASE_CONDITION_FORBIDDEN_PATH", `Case condition path "${condition.path}" is not in the allowed deterministic path set.`, `${path}/path`));
|
|
82
|
+
}
|
|
83
|
+
if (typeof condition.op !== "string" || !ALLOWED_OPERATORS.has(condition.op)) {
|
|
84
|
+
errors.push((0, utils_js_1.execError)("CASE_CONDITION_FORBIDDEN_OPERATOR", `Case condition operator "${String(condition.op)}" is not allowed.`, `${path}/op`));
|
|
85
|
+
return errors;
|
|
86
|
+
}
|
|
87
|
+
const op = condition.op;
|
|
88
|
+
if (VALUELESS_OPERATORS.has(op)) {
|
|
89
|
+
if ("value" in condition) {
|
|
90
|
+
errors.push((0, utils_js_1.execError)("CASE_CONDITION_VALUE_TYPE_INVALID", `Operator ${op} must not include value.`, `${path}/value`));
|
|
91
|
+
}
|
|
92
|
+
return errors;
|
|
93
|
+
}
|
|
94
|
+
if (!("value" in condition)) {
|
|
95
|
+
errors.push((0, utils_js_1.execError)("CASE_CONDITION_REQUIRES_VALUE", `Operator ${op} requires value.`, `${path}/value`));
|
|
96
|
+
return errors;
|
|
97
|
+
}
|
|
98
|
+
if (!isValidPredicateValue(condition.value, op)) {
|
|
99
|
+
errors.push((0, utils_js_1.execError)("CASE_CONDITION_VALUE_TYPE_INVALID", `Operator ${op} has an invalid value type.`, `${path}/value`));
|
|
100
|
+
}
|
|
101
|
+
return errors;
|
|
102
|
+
}
|
|
103
|
+
function isValidPredicateValue(value, op) {
|
|
104
|
+
if (op === "in" || op === "notIn") {
|
|
105
|
+
return (Array.isArray(value) &&
|
|
106
|
+
value.every((item) => typeof item === "string" ||
|
|
107
|
+
typeof item === "number" ||
|
|
108
|
+
typeof item === "boolean"));
|
|
109
|
+
}
|
|
110
|
+
return (typeof value === "string" ||
|
|
111
|
+
typeof value === "number" ||
|
|
112
|
+
typeof value === "boolean" ||
|
|
113
|
+
value === null);
|
|
114
|
+
}
|
|
115
|
+
function isCaseCondition(value) {
|
|
116
|
+
return validateCaseCondition(value).length === 0;
|
|
117
|
+
}
|
|
118
|
+
//# sourceMappingURL=validate-case-condition.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validate-case-condition.js","sourceRoot":"","sources":["../../src/case-condition/validate-case-condition.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { ExecutableTaskNodeParameters } from "../types/executable-nodes.js";
|
|
2
|
+
import type { ExecutionUnitPlan } from "../types/execution-unit.js";
|
|
3
|
+
import type { AiModelSlot } from "../types/model-config.js";
|
|
4
|
+
import type { ResolvedModelSlotPlan } from "../types/executable-plan.js";
|
|
5
|
+
export declare function buildNodeExecutionUnits(nodeId: string, params: ExecutableTaskNodeParameters, modelSlots: Record<AiModelSlot, ResolvedModelSlotPlan>): ExecutionUnitPlan[];
|
|
6
|
+
//# sourceMappingURL=build-node-execution-units.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"build-node-execution-units.d.ts","sourceRoot":"","sources":["../../src/compile/build-node-execution-units.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,4BAA4B,EAC7B,MAAM,8BAA8B,CAAC;AACtC,OAAO,KAAK,EACV,iBAAiB,EAElB,MAAM,4BAA4B,CAAC;AACpC,OAAO,KAAK,EACV,WAAW,EAEZ,MAAM,0BAA0B,CAAC;AAClC,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AA2EzE,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,4BAA4B,EACpC,UAAU,EAAE,MAAM,CAAC,WAAW,EAAE,qBAAqB,CAAC,GACrD,iBAAiB,EAAE,CAkDrB"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.buildNodeExecutionUnits = buildNodeExecutionUnits;
|
|
4
|
+
function buildUnitId(nodeId, suffix) {
|
|
5
|
+
return `unit:${nodeId}:${suffix}`;
|
|
6
|
+
}
|
|
7
|
+
function slotSourceToUnitSource(source) {
|
|
8
|
+
return source;
|
|
9
|
+
}
|
|
10
|
+
function plannedModelFromSlot(slotPlan) {
|
|
11
|
+
return {
|
|
12
|
+
modelSelection: slotPlan.selection,
|
|
13
|
+
modelSource: slotSourceToUnitSource(slotPlan.source),
|
|
14
|
+
inherited: slotPlan.inherited
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
function plannedModelFromAction(action, slotPlan) {
|
|
18
|
+
if (action.modelSelection) {
|
|
19
|
+
return {
|
|
20
|
+
modelSelection: action.modelSelection,
|
|
21
|
+
modelSource: "actionOverride",
|
|
22
|
+
inherited: false
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
return plannedModelFromSlot(slotPlan);
|
|
26
|
+
}
|
|
27
|
+
function buildActionUnit(nodeId, action, unitKind, order, modelSlot, slotPlan) {
|
|
28
|
+
const model = plannedModelFromAction(action, slotPlan);
|
|
29
|
+
return {
|
|
30
|
+
unitId: buildUnitId(nodeId, action.id),
|
|
31
|
+
nodeId,
|
|
32
|
+
unitKind,
|
|
33
|
+
order,
|
|
34
|
+
actionKey: action.actionKey,
|
|
35
|
+
modelSlot,
|
|
36
|
+
modelSelection: model.modelSelection,
|
|
37
|
+
modelSource: model.modelSource,
|
|
38
|
+
inherited: model.inherited,
|
|
39
|
+
config: action.config ? structuredClone(action.config) : undefined,
|
|
40
|
+
inputsConfig: action.inputsConfig
|
|
41
|
+
? structuredClone(action.inputsConfig)
|
|
42
|
+
: undefined,
|
|
43
|
+
outputMapping: action.outputMapping
|
|
44
|
+
? structuredClone(action.outputMapping)
|
|
45
|
+
: undefined
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
function buildNodeExecutionUnits(nodeId, params, modelSlots) {
|
|
49
|
+
const taskConfiguration = params.taskConfiguration;
|
|
50
|
+
const preActions = taskConfiguration?.preActions ?? [];
|
|
51
|
+
const postActions = taskConfiguration?.postActions ?? [];
|
|
52
|
+
const units = [];
|
|
53
|
+
let order = 0;
|
|
54
|
+
for (const action of preActions) {
|
|
55
|
+
units.push(buildActionUnit(nodeId, action, "preAction", order, "preActionModel", modelSlots.preActionModel));
|
|
56
|
+
order += 1;
|
|
57
|
+
}
|
|
58
|
+
const skillModel = plannedModelFromSlot(modelSlots.skillModel);
|
|
59
|
+
units.push({
|
|
60
|
+
unitId: buildUnitId(nodeId, "skill"),
|
|
61
|
+
nodeId,
|
|
62
|
+
unitKind: "skill",
|
|
63
|
+
order,
|
|
64
|
+
skillKey: params.skillKey,
|
|
65
|
+
modelSlot: "skillModel",
|
|
66
|
+
modelSelection: skillModel.modelSelection,
|
|
67
|
+
modelSource: skillModel.modelSource,
|
|
68
|
+
inherited: skillModel.inherited
|
|
69
|
+
});
|
|
70
|
+
order += 1;
|
|
71
|
+
for (const action of postActions) {
|
|
72
|
+
units.push(buildActionUnit(nodeId, action, "postAction", order, "postActionModel", modelSlots.postActionModel));
|
|
73
|
+
order += 1;
|
|
74
|
+
}
|
|
75
|
+
return units;
|
|
76
|
+
}
|
|
77
|
+
//# sourceMappingURL=build-node-execution-units.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"build-node-execution-units.js","sourceRoot":"","sources":["../../src/compile/build-node-execution-units.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { AuthoringGraphDocument } from "../types/executable-graph.js";
|
|
2
|
+
import type { CompileExecutablePlanOptions, ExecutableGraphPlan } from "../types/executable-plan.js";
|
|
3
|
+
import type { GraphRuntimeObject } from "../types/runtime.js";
|
|
4
|
+
export declare function compileExecutablePlan(doc: AuthoringGraphDocument, runtime: GraphRuntimeObject, options?: CompileExecutablePlanOptions): ExecutableGraphPlan;
|
|
5
|
+
//# sourceMappingURL=compile-executable-plan.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compile-executable-plan.d.ts","sourceRoot":"","sources":["../../src/compile/compile-executable-plan.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AAC3E,OAAO,KAAK,EACV,4BAA4B,EAC5B,mBAAmB,EAIpB,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AA+F9D,wBAAgB,qBAAqB,CACnC,GAAG,EAAE,sBAAsB,EAC3B,OAAO,EAAE,kBAAkB,EAC3B,OAAO,GAAE,4BAAiC,GACzC,mBAAmB,CAgFrB"}
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.compileExecutablePlan = compileExecutablePlan;
|
|
4
|
+
const validate_authoring_executable_graph_js_1 = require("../validators/validate-authoring-executable-graph.js");
|
|
5
|
+
const assert_normalized_executable_graph_js_1 = require("../validators/assert-normalized-executable-graph.js");
|
|
6
|
+
const normalize_executable_graph_js_1 = require("../normalize/normalize-executable-graph.js");
|
|
7
|
+
const build_deterministic_case_context_js_1 = require("../resolution/build-deterministic-case-context.js");
|
|
8
|
+
const resolve_graph_model_config_js_1 = require("../resolution/resolve-graph-model-config.js");
|
|
9
|
+
const resolve_node_ai_plan_js_1 = require("../resolution/resolve-node-ai-plan.js");
|
|
10
|
+
const build_node_execution_units_js_1 = require("./build-node-execution-units.js");
|
|
11
|
+
const utils_js_1 = require("../internal/utils.js");
|
|
12
|
+
const hash_js_1 = require("../internal/hash.js");
|
|
13
|
+
const executable_plan_js_1 = require("../types/executable-plan.js");
|
|
14
|
+
const AI_MODEL_SLOTS = [
|
|
15
|
+
"preActionModel",
|
|
16
|
+
"skillModel",
|
|
17
|
+
"postActionModel"
|
|
18
|
+
];
|
|
19
|
+
function buildPlanId(graphId, jobId) {
|
|
20
|
+
const graphSlug = graphId.replace(/^graph:/, "");
|
|
21
|
+
return `plan:${graphSlug}:${jobId}`;
|
|
22
|
+
}
|
|
23
|
+
function toSelectedCase(caseId, matchedConditions) {
|
|
24
|
+
if (matchedConditions.length === 0) {
|
|
25
|
+
return {
|
|
26
|
+
caseId,
|
|
27
|
+
matched: true,
|
|
28
|
+
reason: "default case"
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
return {
|
|
32
|
+
caseId,
|
|
33
|
+
matched: true,
|
|
34
|
+
reason: matchedConditions.join("; ")
|
|
35
|
+
};
|
|
36
|
+
}
|
|
37
|
+
function toResolvedNodePlan(doc, nodeId, context) {
|
|
38
|
+
const node = doc.graph.nodes.find((n) => n.id === nodeId);
|
|
39
|
+
if (!node || !(0, utils_js_1.isExecutableTaskNode)(node)) {
|
|
40
|
+
throw new Error(`Node ${nodeId} is not an executable task node.`);
|
|
41
|
+
}
|
|
42
|
+
const params = (0, utils_js_1.getTaskNodeConfig)(node);
|
|
43
|
+
if (!params) {
|
|
44
|
+
throw new Error(`Node ${nodeId} is missing task parameters.`);
|
|
45
|
+
}
|
|
46
|
+
const aiPlan = (0, resolve_node_ai_plan_js_1.resolveNodeAiPlan)(doc, nodeId, context);
|
|
47
|
+
const profile = (0, utils_js_1.getExecutableProfile)(doc);
|
|
48
|
+
const fallbackPolicy = profile?.modelConfig.fallbackPolicy ?? {
|
|
49
|
+
enabled: false,
|
|
50
|
+
allowedTriggers: []
|
|
51
|
+
};
|
|
52
|
+
const modelSlots = {};
|
|
53
|
+
for (const slot of AI_MODEL_SLOTS) {
|
|
54
|
+
const resolved = aiPlan.slots[slot];
|
|
55
|
+
modelSlots[slot] = {
|
|
56
|
+
selection: resolved.selected,
|
|
57
|
+
source: resolved.source,
|
|
58
|
+
inherited: resolved.inherited,
|
|
59
|
+
graphCaseId: aiPlan.graphCaseId,
|
|
60
|
+
nodeCaseId: aiPlan.nodeCaseId
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
return {
|
|
64
|
+
nodeId,
|
|
65
|
+
nodeType: "task",
|
|
66
|
+
skillKey: params.skillKey,
|
|
67
|
+
selectedCases: {
|
|
68
|
+
graphCaseId: aiPlan.graphCaseId,
|
|
69
|
+
nodeCaseId: aiPlan.nodeCaseId
|
|
70
|
+
},
|
|
71
|
+
modelSlots,
|
|
72
|
+
executionUnits: (0, build_node_execution_units_js_1.buildNodeExecutionUnits)(nodeId, params, modelSlots),
|
|
73
|
+
fallbackPolicy
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
function compileExecutablePlan(doc, runtime, options = {}) {
|
|
77
|
+
const validation = (0, validate_authoring_executable_graph_js_1.validateAuthoringExecutableGraph)(doc);
|
|
78
|
+
if (!validation.valid) {
|
|
79
|
+
const summary = validation.errors
|
|
80
|
+
.map((error) => `${error.path}: ${error.message}`)
|
|
81
|
+
.join("; ");
|
|
82
|
+
throw new Error(`Invalid authoring graph: ${summary}`);
|
|
83
|
+
}
|
|
84
|
+
const hash = options.hash ?? hash_js_1.defaultHashFunction;
|
|
85
|
+
const now = options.now ?? (() => new Date());
|
|
86
|
+
const normalized = (0, normalize_executable_graph_js_1.normalizeExecutableGraph)(doc);
|
|
87
|
+
(0, assert_normalized_executable_graph_js_1.assertNormalizedExecutableGraph)(normalized);
|
|
88
|
+
const context = (0, build_deterministic_case_context_js_1.buildDeterministicCaseContext)(normalized, runtime);
|
|
89
|
+
const graphHash = hash(doc);
|
|
90
|
+
const contextHash = hash(context);
|
|
91
|
+
const inputHash = runtime.input !== undefined ? hash(runtime.input) : undefined;
|
|
92
|
+
const profileRegistry = options.profileRegistry ?? {
|
|
93
|
+
version: "3.0.0"
|
|
94
|
+
};
|
|
95
|
+
const taskNodes = normalized.graph.nodes.filter(utils_js_1.isExecutableTaskNode);
|
|
96
|
+
const nodePlans = {};
|
|
97
|
+
const nodeCaseSelection = {};
|
|
98
|
+
const graphResolution = (0, resolve_graph_model_config_js_1.resolveGraphModelConfig)(normalized, context);
|
|
99
|
+
const graphCaseSelection = toSelectedCase(graphResolution.caseId, graphResolution.selection.matchedConditions);
|
|
100
|
+
for (const node of taskNodes) {
|
|
101
|
+
const aiPlan = (0, resolve_node_ai_plan_js_1.resolveNodeAiPlan)(normalized, node.id, context);
|
|
102
|
+
nodeCaseSelection[node.id] = aiPlan.nodeCaseId
|
|
103
|
+
? toSelectedCase(aiPlan.nodeCaseId, aiPlan.caseSelection.node?.matchedConditions ?? [])
|
|
104
|
+
: null;
|
|
105
|
+
nodePlans[node.id] = toResolvedNodePlan(normalized, node.id, context);
|
|
106
|
+
}
|
|
107
|
+
const metadata = doc.graph.metadata;
|
|
108
|
+
return {
|
|
109
|
+
format: executable_plan_js_1.EXECUTABLE_PLAN_FORMAT,
|
|
110
|
+
planId: buildPlanId(doc.id, runtime.jobId),
|
|
111
|
+
createdAt: now().toISOString(),
|
|
112
|
+
source: {
|
|
113
|
+
graphId: doc.id,
|
|
114
|
+
graphRevision: doc.revision,
|
|
115
|
+
graphHash,
|
|
116
|
+
formatVersion: doc.formatVersion
|
|
117
|
+
},
|
|
118
|
+
profileRegistry: {
|
|
119
|
+
package: "@x12i/ai-profiles",
|
|
120
|
+
version: profileRegistry.version,
|
|
121
|
+
registryHash: profileRegistry.registryHash
|
|
122
|
+
},
|
|
123
|
+
runtimeBinding: {
|
|
124
|
+
jobId: runtime.jobId,
|
|
125
|
+
mode: runtime.mode,
|
|
126
|
+
environment: options.environment,
|
|
127
|
+
inputHash,
|
|
128
|
+
contextHash
|
|
129
|
+
},
|
|
130
|
+
graph: normalized,
|
|
131
|
+
caseSelection: {
|
|
132
|
+
graph: graphCaseSelection,
|
|
133
|
+
nodes: nodeCaseSelection
|
|
134
|
+
},
|
|
135
|
+
nodePlans,
|
|
136
|
+
contracts: {
|
|
137
|
+
entry: metadata?.graphEntry,
|
|
138
|
+
response: metadata?.graphResponse
|
|
139
|
+
}
|
|
140
|
+
};
|
|
141
|
+
}
|
|
142
|
+
//# sourceMappingURL=compile-executable-plan.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compile-executable-plan.js","sourceRoot":"","sources":["../../src/compile/compile-executable-plan.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export declare const EXECUTABLE_PROFILE_NAMESPACE: "x12i.executable/v1";
|
|
2
|
+
export declare const EXECUTABLE_PROFILE_VERSION: "x12i.executable/v1";
|
|
3
|
+
export declare const EXECUTABLE_NODE_PROFILE: "x12i.executable/v1";
|
|
4
|
+
export declare const TASK_NODE_KIND: "x12i:task";
|
|
5
|
+
export declare const FINALIZER_NODE_KIND: "x12i:finalizer";
|
|
6
|
+
export declare const GRAPH_MODEL_CONFIG_VERSION: "graph-model-config/v1";
|
|
7
|
+
export declare const NODE_MODEL_CONFIG_VERSION: "node-model-config/v1";
|
|
8
|
+
export declare const EXECUTABLE_PROFILE_PATH: string;
|
|
9
|
+
export declare const AI_MODEL_SLOTS: readonly ["preActionModel", "skillModel", "postActionModel"];
|
|
10
|
+
export declare const DEFAULT_OUTPUT_PORT_ID = "out:result";
|
|
11
|
+
export declare const DEFAULT_INPUT_PORT_ID = "in:input";
|
|
12
|
+
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../src/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,4BAA4B,EAAG,oBAA6B,CAAC;AAE1E,eAAO,MAAM,0BAA0B,EAAG,oBAA6B,CAAC;AAExE,eAAO,MAAM,uBAAuB,EAAG,oBAA6B,CAAC;AAErE,eAAO,MAAM,cAAc,EAAG,WAAoB,CAAC;AAEnD,eAAO,MAAM,mBAAmB,EAAG,gBAAyB,CAAC;AAE7D,eAAO,MAAM,0BAA0B,EAAG,uBAAgC,CAAC;AAE3E,eAAO,MAAM,yBAAyB,EAAG,sBAA+B,CAAC;AAEzE,eAAO,MAAM,uBAAuB,QAC6C,CAAC;AAElF,eAAO,MAAM,cAAc,8DAIjB,CAAC;AAEX,eAAO,MAAM,sBAAsB,eAAe,CAAC;AAEnD,eAAO,MAAM,qBAAqB,aAAa,CAAC"}
|