@x12i/graphenix-plan-compiler 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 +192 -0
- package/dist/compile/build-deferred-gates.d.ts +8 -0
- package/dist/compile/build-deferred-gates.d.ts.map +1 -0
- package/dist/compile/build-deferred-gates.js +95 -0
- package/dist/compile/build-deferred-gates.js.map +1 -0
- package/dist/compile/build-finalizer-plans.d.ts +7 -0
- package/dist/compile/build-finalizer-plans.d.ts.map +1 -0
- package/dist/compile/build-finalizer-plans.js +54 -0
- package/dist/compile/build-finalizer-plans.js.map +1 -0
- package/dist/compile/build-node-execution-units-v2.d.ts +6 -0
- package/dist/compile/build-node-execution-units-v2.d.ts.map +1 -0
- package/dist/compile/build-node-execution-units-v2.js +172 -0
- package/dist/compile/build-node-execution-units-v2.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 +112 -0
- package/dist/compile/build-node-execution-units.js.map +1 -0
- package/dist/compile/build-node-invoke-contract.d.ts +5 -0
- package/dist/compile/build-node-invoke-contract.d.ts.map +1 -0
- package/dist/compile/build-node-invoke-contract.js +123 -0
- package/dist/compile/build-node-invoke-contract.js.map +1 -0
- package/dist/compile/build-plan-topology.d.ts +8 -0
- package/dist/compile/build-plan-topology.d.ts.map +1 -0
- package/dist/compile/build-plan-topology.js +84 -0
- package/dist/compile/build-plan-topology.js.map +1 -0
- package/dist/compile/compile-executable-plan-v2.d.ts +5 -0
- package/dist/compile/compile-executable-plan-v2.d.ts.map +1 -0
- package/dist/compile/compile-executable-plan-v2.js +251 -0
- package/dist/compile/compile-executable-plan-v2.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 +139 -0
- package/dist/compile/compile-executable-plan.js.map +1 -0
- package/dist/compile/phase-utility-strategy.d.ts +6 -0
- package/dist/compile/phase-utility-strategy.d.ts.map +1 -0
- package/dist/compile/phase-utility-strategy.js +22 -0
- package/dist/compile/phase-utility-strategy.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 +38 -0
- package/dist/explain/explain-node-inheritance.js.map +1 -0
- package/dist/index.d.ts +15 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +15 -0
- package/dist/index.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 +23 -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 +24 -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 +60 -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 +33 -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 +62 -0
- package/dist/resolution/resolve-node-model-slot.js.map +1 -0
- package/package.json +58 -0
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
import { readPhaseUtilityStrategyKey, shouldExpandPhaseUtilityStrategy } from "./phase-utility-strategy.js";
|
|
2
|
+
function buildUnitId(nodeId, suffix) {
|
|
3
|
+
return `unit:${nodeId}:${suffix}`;
|
|
4
|
+
}
|
|
5
|
+
function slotSourceToUnitSource(source) {
|
|
6
|
+
return source;
|
|
7
|
+
}
|
|
8
|
+
function plannedModelFromSlot(slotPlan) {
|
|
9
|
+
return {
|
|
10
|
+
modelSelection: slotPlan.selection,
|
|
11
|
+
modelSource: slotSourceToUnitSource(slotPlan.source),
|
|
12
|
+
inherited: slotPlan.inherited
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
function plannedModelFromAction(action, slotPlan) {
|
|
16
|
+
if (action.modelSelection) {
|
|
17
|
+
return {
|
|
18
|
+
modelSelection: action.modelSelection,
|
|
19
|
+
modelSource: "actionOverride",
|
|
20
|
+
inherited: false
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
return plannedModelFromSlot(slotPlan);
|
|
24
|
+
}
|
|
25
|
+
function buildActionUnit(nodeId, action, unitKind, order, modelSlot, slotPlan) {
|
|
26
|
+
const model = plannedModelFromAction(action, slotPlan);
|
|
27
|
+
return {
|
|
28
|
+
unitId: buildUnitId(nodeId, action.id),
|
|
29
|
+
nodeId,
|
|
30
|
+
unitKind,
|
|
31
|
+
order,
|
|
32
|
+
actionKey: action.actionKey,
|
|
33
|
+
modelSlot,
|
|
34
|
+
modelSelection: model.modelSelection,
|
|
35
|
+
modelSource: model.modelSource,
|
|
36
|
+
inherited: model.inherited,
|
|
37
|
+
config: action.config ? structuredClone(action.config) : undefined,
|
|
38
|
+
inputsConfig: action.inputsConfig
|
|
39
|
+
? structuredClone(action.inputsConfig)
|
|
40
|
+
: undefined,
|
|
41
|
+
outputMapping: action.outputMapping
|
|
42
|
+
? structuredClone(action.outputMapping)
|
|
43
|
+
: undefined
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
export function buildNodeExecutionUnits(nodeId, params, modelSlots) {
|
|
47
|
+
const taskConfiguration = params.taskConfiguration;
|
|
48
|
+
const preActions = taskConfiguration?.preActions ?? [];
|
|
49
|
+
const postActions = taskConfiguration?.postActions ?? [];
|
|
50
|
+
const aiTaskStrategies = taskConfiguration?.aiTaskStrategies;
|
|
51
|
+
const units = [];
|
|
52
|
+
let order = 0;
|
|
53
|
+
if (shouldExpandPhaseUtilityStrategy(preActions)) {
|
|
54
|
+
const preStrategyKey = readPhaseUtilityStrategyKey(aiTaskStrategies, "pre");
|
|
55
|
+
if (preStrategyKey) {
|
|
56
|
+
const preModel = plannedModelFromSlot(modelSlots.preActionModel);
|
|
57
|
+
units.push({
|
|
58
|
+
unitId: buildUnitId(nodeId, "pre:0"),
|
|
59
|
+
nodeId,
|
|
60
|
+
unitKind: "preAction",
|
|
61
|
+
order,
|
|
62
|
+
actionKey: preStrategyKey,
|
|
63
|
+
modelSlot: "preActionModel",
|
|
64
|
+
modelSelection: preModel.modelSelection,
|
|
65
|
+
modelSource: preModel.modelSource,
|
|
66
|
+
inherited: preModel.inherited
|
|
67
|
+
});
|
|
68
|
+
order += 1;
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
for (const action of preActions) {
|
|
72
|
+
units.push(buildActionUnit(nodeId, action, "preAction", order, "preActionModel", modelSlots.preActionModel));
|
|
73
|
+
order += 1;
|
|
74
|
+
}
|
|
75
|
+
const skillModel = plannedModelFromSlot(modelSlots.skillModel);
|
|
76
|
+
units.push({
|
|
77
|
+
unitId: buildUnitId(nodeId, "skill"),
|
|
78
|
+
nodeId,
|
|
79
|
+
unitKind: "skill",
|
|
80
|
+
order,
|
|
81
|
+
skillKey: params.skillKey,
|
|
82
|
+
modelSlot: "skillModel",
|
|
83
|
+
modelSelection: skillModel.modelSelection,
|
|
84
|
+
modelSource: skillModel.modelSource,
|
|
85
|
+
inherited: skillModel.inherited
|
|
86
|
+
});
|
|
87
|
+
order += 1;
|
|
88
|
+
if (shouldExpandPhaseUtilityStrategy(postActions)) {
|
|
89
|
+
const postStrategyKey = readPhaseUtilityStrategyKey(aiTaskStrategies, "post");
|
|
90
|
+
if (postStrategyKey) {
|
|
91
|
+
const postModel = plannedModelFromSlot(modelSlots.postActionModel);
|
|
92
|
+
units.push({
|
|
93
|
+
unitId: buildUnitId(nodeId, "post:0"),
|
|
94
|
+
nodeId,
|
|
95
|
+
unitKind: "postAction",
|
|
96
|
+
order,
|
|
97
|
+
actionKey: postStrategyKey,
|
|
98
|
+
modelSlot: "postActionModel",
|
|
99
|
+
modelSelection: postModel.modelSelection,
|
|
100
|
+
modelSource: postModel.modelSource,
|
|
101
|
+
inherited: postModel.inherited
|
|
102
|
+
});
|
|
103
|
+
order += 1;
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
for (const action of postActions) {
|
|
107
|
+
units.push(buildActionUnit(nodeId, action, "postAction", order, "postActionModel", modelSlots.postActionModel));
|
|
108
|
+
order += 1;
|
|
109
|
+
}
|
|
110
|
+
return units;
|
|
111
|
+
}
|
|
112
|
+
//# 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 { ExecutableTaskNodeParameters, NormalizedExecutableGraphDocument } from "@x12i/graphenix-executable-contracts";
|
|
2
|
+
import type { NodeInvokeContract } from "@x12i/graphenix-executable-contracts";
|
|
3
|
+
export declare function buildNodeInvokeContract(graph: NormalizedExecutableGraphDocument, nodeId: string, params: ExecutableTaskNodeParameters): NodeInvokeContract;
|
|
4
|
+
export declare const TASK_NODE_FIELDS_COVERED: readonly ["taskVariable", "inputs", "inputsConfig", "smartInput", "executionMapping", "jobContextMapping", "executionStrategies", "aiTaskStrategies", "aiTaskProfile", "inputSynthesis", "webScoping", "narrix", "narrixInput", "narrixMode", "llmCall", "conditions", "taskKnowledge", "taskPagentiKnowledge", "outputValidation", "scope", "memory", "localConfig", "modelConfig"];
|
|
5
|
+
//# sourceMappingURL=build-node-invoke-contract.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"build-node-invoke-contract.d.ts","sourceRoot":"","sources":["../../src/compile/build-node-invoke-contract.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,4BAA4B,EAC5B,iCAAiC,EAClC,MAAM,sCAAsC,CAAC;AAC9C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAW/E,wBAAgB,uBAAuB,CACrC,KAAK,EAAE,iCAAiC,EACxC,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,4BAA4B,GACnC,kBAAkB,CAoHpB;AAED,eAAO,MAAM,wBAAwB,sXAwB3B,CAAC"}
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
import { isRecord } from "@x12i/graphenix-executable-contracts";
|
|
2
|
+
import { getNodeSourcePath } from "./build-plan-topology.js";
|
|
3
|
+
function readParamField(params, key) {
|
|
4
|
+
return params[key];
|
|
5
|
+
}
|
|
6
|
+
export function buildNodeInvokeContract(graph, nodeId, params) {
|
|
7
|
+
const tc = params.taskConfiguration ?? {};
|
|
8
|
+
const contract = {};
|
|
9
|
+
if (params.taskVariable !== undefined) {
|
|
10
|
+
contract.taskVariable = structuredClone(params.taskVariable);
|
|
11
|
+
}
|
|
12
|
+
if (params.inputsConfig !== undefined) {
|
|
13
|
+
contract.inputsConfig = structuredClone(params.inputsConfig);
|
|
14
|
+
}
|
|
15
|
+
const inputs = readParamField(params, "inputs");
|
|
16
|
+
if (inputs !== undefined && isRecord(inputs)) {
|
|
17
|
+
contract.inputBindings = structuredClone(inputs);
|
|
18
|
+
}
|
|
19
|
+
const smartInput = readParamField(params, "smartInput");
|
|
20
|
+
if (smartInput !== undefined && isRecord(smartInput)) {
|
|
21
|
+
contract.smartInput = structuredClone(smartInput);
|
|
22
|
+
}
|
|
23
|
+
if (params.executionMapping !== undefined) {
|
|
24
|
+
contract.executionMapping = structuredClone(params.executionMapping);
|
|
25
|
+
}
|
|
26
|
+
const jobContextMapping = readParamField(params, "jobContextMapping");
|
|
27
|
+
if (jobContextMapping !== undefined && isRecord(jobContextMapping)) {
|
|
28
|
+
contract.jobContextMapping = structuredClone(jobContextMapping);
|
|
29
|
+
}
|
|
30
|
+
const scope = readParamField(params, "scope");
|
|
31
|
+
if (scope !== undefined && isRecord(scope)) {
|
|
32
|
+
contract.scope = structuredClone(scope);
|
|
33
|
+
}
|
|
34
|
+
const memory = readParamField(params, "memory");
|
|
35
|
+
if (memory !== undefined && isRecord(memory)) {
|
|
36
|
+
contract.memory = structuredClone(memory);
|
|
37
|
+
}
|
|
38
|
+
const knowledgeRefs = {};
|
|
39
|
+
const taskKnowledge = readParamField(params, "taskKnowledge");
|
|
40
|
+
if (Array.isArray(taskKnowledge)) {
|
|
41
|
+
knowledgeRefs.taskKnowledge = structuredClone(taskKnowledge);
|
|
42
|
+
}
|
|
43
|
+
const taskPagentiKnowledge = readParamField(params, "taskPagentiKnowledge");
|
|
44
|
+
if (Array.isArray(taskPagentiKnowledge)) {
|
|
45
|
+
knowledgeRefs.taskPagentiKnowledge = structuredClone(taskPagentiKnowledge);
|
|
46
|
+
}
|
|
47
|
+
if (Object.keys(knowledgeRefs).length > 0) {
|
|
48
|
+
contract.knowledgeRefs = knowledgeRefs;
|
|
49
|
+
}
|
|
50
|
+
const pipeline = {};
|
|
51
|
+
if (tc.executionStrategies !== undefined) {
|
|
52
|
+
pipeline.executionStrategies = structuredClone(tc.executionStrategies);
|
|
53
|
+
}
|
|
54
|
+
if (tc.aiTaskStrategies !== undefined && tc.aiTaskStrategies !== null) {
|
|
55
|
+
pipeline.aiTaskStrategies = structuredClone(tc.aiTaskStrategies);
|
|
56
|
+
}
|
|
57
|
+
if (tc.aiTaskProfile !== undefined) {
|
|
58
|
+
pipeline.aiTaskProfile = structuredClone(tc.aiTaskProfile);
|
|
59
|
+
}
|
|
60
|
+
if (tc.narrix !== undefined) {
|
|
61
|
+
pipeline.narrix = structuredClone(tc.narrix);
|
|
62
|
+
}
|
|
63
|
+
if (tc.narrixInput !== undefined) {
|
|
64
|
+
pipeline.narrixInput = structuredClone(tc.narrixInput);
|
|
65
|
+
}
|
|
66
|
+
if (tc.narrixMode !== undefined) {
|
|
67
|
+
pipeline.narrixMode = String(tc.narrixMode);
|
|
68
|
+
}
|
|
69
|
+
if (tc.llmCall !== undefined) {
|
|
70
|
+
pipeline.llmCall = structuredClone(tc.llmCall);
|
|
71
|
+
}
|
|
72
|
+
if (Object.keys(pipeline).length > 0) {
|
|
73
|
+
contract.pipeline = pipeline;
|
|
74
|
+
}
|
|
75
|
+
const validation = {};
|
|
76
|
+
const outputValidation = readParamField(params, "outputValidation");
|
|
77
|
+
if (outputValidation !== undefined && isRecord(outputValidation)) {
|
|
78
|
+
validation.outputValidation = structuredClone(outputValidation);
|
|
79
|
+
}
|
|
80
|
+
if (tc.aiTasksOutputValidation !== undefined) {
|
|
81
|
+
validation.aiTasksOutputValidation = structuredClone(tc.aiTasksOutputValidation);
|
|
82
|
+
}
|
|
83
|
+
if (Object.keys(validation).length > 0) {
|
|
84
|
+
contract.validation = validation;
|
|
85
|
+
}
|
|
86
|
+
if (isRecord(tc.localConfig)) {
|
|
87
|
+
contract.localConfig = structuredClone(tc.localConfig);
|
|
88
|
+
}
|
|
89
|
+
else {
|
|
90
|
+
const localConfig = readParamField(params, "localConfig");
|
|
91
|
+
if (isRecord(localConfig)) {
|
|
92
|
+
contract.localConfig = structuredClone(localConfig);
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
void getNodeSourcePath(graph, nodeId);
|
|
96
|
+
return contract;
|
|
97
|
+
}
|
|
98
|
+
export const TASK_NODE_FIELDS_COVERED = [
|
|
99
|
+
"taskVariable",
|
|
100
|
+
"inputs",
|
|
101
|
+
"inputsConfig",
|
|
102
|
+
"smartInput",
|
|
103
|
+
"executionMapping",
|
|
104
|
+
"jobContextMapping",
|
|
105
|
+
"executionStrategies",
|
|
106
|
+
"aiTaskStrategies",
|
|
107
|
+
"aiTaskProfile",
|
|
108
|
+
"inputSynthesis",
|
|
109
|
+
"webScoping",
|
|
110
|
+
"narrix",
|
|
111
|
+
"narrixInput",
|
|
112
|
+
"narrixMode",
|
|
113
|
+
"llmCall",
|
|
114
|
+
"conditions",
|
|
115
|
+
"taskKnowledge",
|
|
116
|
+
"taskPagentiKnowledge",
|
|
117
|
+
"outputValidation",
|
|
118
|
+
"scope",
|
|
119
|
+
"memory",
|
|
120
|
+
"localConfig",
|
|
121
|
+
"modelConfig"
|
|
122
|
+
];
|
|
123
|
+
//# sourceMappingURL=build-node-invoke-contract.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"build-node-invoke-contract.js","sourceRoot":"","sources":["../../src/compile/build-node-invoke-contract.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { NormalizedExecutableGraphDocument } from "@x12i/graphenix-executable-contracts";
|
|
2
|
+
import type { PlanTopology } from "@x12i/graphenix-executable-contracts";
|
|
3
|
+
export declare function buildPlanTopology(graph: NormalizedExecutableGraphDocument, deferredEdgeGateIds: Record<string, string>): PlanTopology;
|
|
4
|
+
export declare function isLocalTaskNode(nodeId: string, graph: NormalizedExecutableGraphDocument): boolean;
|
|
5
|
+
export declare function getNodeSourcePath(graph: NormalizedExecutableGraphDocument, nodeId: string): string;
|
|
6
|
+
export declare function getEdgeSourcePath(graph: NormalizedExecutableGraphDocument, edgeId: string): string;
|
|
7
|
+
export declare function getFinalizerType(graph: NormalizedExecutableGraphDocument, nodeId: string): string;
|
|
8
|
+
//# sourceMappingURL=build-plan-topology.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"build-plan-topology.d.ts","sourceRoot":"","sources":["../../src/compile/build-plan-topology.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iCAAiC,EAAE,MAAM,sCAAsC,CAAC;AAC9F,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAC;AAwCzE,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,iCAAiC,EACxC,mBAAmB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC1C,YAAY,CA0Cd;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,iCAAiC,GAAG,OAAO,CAMjG;AAED,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,iCAAiC,EACxC,MAAM,EAAE,MAAM,GACb,MAAM,CAGR;AAED,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,iCAAiC,EACxC,MAAM,EAAE,MAAM,GACb,MAAM,CAGR;AAED,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,iCAAiC,EACxC,MAAM,EAAE,MAAM,GACb,MAAM,CAIR"}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import { getFinalizerNodeConfig, getTaskNodeConfig, isExecutableFinalizerNode, isExecutableTaskNode, isRecord } from "@x12i/graphenix-executable-contracts";
|
|
2
|
+
function inferExecutionClass(nodeType, params) {
|
|
3
|
+
if (nodeType === "finalizer")
|
|
4
|
+
return "finalizer";
|
|
5
|
+
const taskConfiguration = params?.taskConfiguration;
|
|
6
|
+
const tc = isRecord(taskConfiguration) ? taskConfiguration : undefined;
|
|
7
|
+
const taskKind = params?.taskKind ?? tc?.taskKind;
|
|
8
|
+
if (taskKind === "local" || params?.localSkill)
|
|
9
|
+
return "localTask";
|
|
10
|
+
return "aiTask";
|
|
11
|
+
}
|
|
12
|
+
function computeRootNodeIds(graph) {
|
|
13
|
+
const nodesWithIncoming = new Set(graph.graph.edges.map((e) => e.to.nodeId));
|
|
14
|
+
return graph.graph.nodes
|
|
15
|
+
.filter((n) => !nodesWithIncoming.has(n.id))
|
|
16
|
+
.map((n) => n.id);
|
|
17
|
+
}
|
|
18
|
+
function computeEntryNodeIds(graph) {
|
|
19
|
+
const graphInputTargets = new Set((graph.graph.inputs ?? []).map((input) => input.target?.nodeId).filter(Boolean));
|
|
20
|
+
if (graphInputTargets.size > 0) {
|
|
21
|
+
return [...graphInputTargets];
|
|
22
|
+
}
|
|
23
|
+
return computeRootNodeIds(graph);
|
|
24
|
+
}
|
|
25
|
+
export function buildPlanTopology(graph, deferredEdgeGateIds) {
|
|
26
|
+
const nodes = graph.graph.nodes.map((node, index) => {
|
|
27
|
+
const params = node.parameters;
|
|
28
|
+
const nodeType = isExecutableFinalizerNode(node)
|
|
29
|
+
? "finalizer"
|
|
30
|
+
: isExecutableTaskNode(node)
|
|
31
|
+
? "task"
|
|
32
|
+
: "special";
|
|
33
|
+
return {
|
|
34
|
+
nodeId: node.id,
|
|
35
|
+
kind: node.kind,
|
|
36
|
+
nodeType,
|
|
37
|
+
executionClass: inferExecutionClass(nodeType, params)
|
|
38
|
+
};
|
|
39
|
+
});
|
|
40
|
+
const edges = graph.graph.edges.map((edge) => {
|
|
41
|
+
const gateId = deferredEdgeGateIds[edge.id];
|
|
42
|
+
return {
|
|
43
|
+
edgeId: edge.id,
|
|
44
|
+
from: { nodeId: edge.from.nodeId, portId: edge.from.portId },
|
|
45
|
+
to: { nodeId: edge.to.nodeId, portId: edge.to.portId },
|
|
46
|
+
hasDeferredGate: gateId !== undefined,
|
|
47
|
+
deferredGateId: gateId
|
|
48
|
+
};
|
|
49
|
+
});
|
|
50
|
+
return {
|
|
51
|
+
nodes,
|
|
52
|
+
edges,
|
|
53
|
+
entryNodeIds: computeEntryNodeIds(graph),
|
|
54
|
+
rootNodeIds: computeRootNodeIds(graph),
|
|
55
|
+
finalizerNodeIds: graph.graph.nodes
|
|
56
|
+
.filter(isExecutableFinalizerNode)
|
|
57
|
+
.map((n) => n.id),
|
|
58
|
+
outputNodeIds: (graph.graph.outputs ?? []).map((output) => output.source?.nodeId).filter(Boolean),
|
|
59
|
+
graphInputIds: (graph.graph.inputs ?? []).map((input) => input.id),
|
|
60
|
+
graphOutputIds: (graph.graph.outputs ?? []).map((output) => output.id)
|
|
61
|
+
};
|
|
62
|
+
}
|
|
63
|
+
export function isLocalTaskNode(nodeId, graph) {
|
|
64
|
+
const node = graph.graph.nodes.find((n) => n.id === nodeId);
|
|
65
|
+
if (!node || !isExecutableTaskNode(node))
|
|
66
|
+
return false;
|
|
67
|
+
const params = getTaskNodeConfig(node);
|
|
68
|
+
const tc = params?.taskConfiguration;
|
|
69
|
+
return tc?.taskKind === "local" || tc?.taskTypeId === "local";
|
|
70
|
+
}
|
|
71
|
+
export function getNodeSourcePath(graph, nodeId) {
|
|
72
|
+
const index = graph.graph.nodes.findIndex((n) => n.id === nodeId);
|
|
73
|
+
return index >= 0 ? `/graph/nodes/${index}` : `/graph/nodes/${nodeId}`;
|
|
74
|
+
}
|
|
75
|
+
export function getEdgeSourcePath(graph, edgeId) {
|
|
76
|
+
const index = graph.graph.edges.findIndex((e) => e.id === edgeId);
|
|
77
|
+
return index >= 0 ? `/graph/edges/${index}` : `/graph/edges/${edgeId}`;
|
|
78
|
+
}
|
|
79
|
+
export function getFinalizerType(graph, nodeId) {
|
|
80
|
+
const node = graph.graph.nodes.find((n) => n.id === nodeId);
|
|
81
|
+
const config = node ? getFinalizerNodeConfig(node) : undefined;
|
|
82
|
+
return config?.finalizerType ?? "unknown";
|
|
83
|
+
}
|
|
84
|
+
//# sourceMappingURL=build-plan-topology.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"build-plan-topology.js","sourceRoot":"","sources":["../../src/compile/build-plan-topology.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { AuthoringGraphDocument } from "@x12i/graphenix-executable-contracts";
|
|
2
|
+
import type { CompileExecutablePlanV2Options, ExecutableGraphPlanV2 } from "@x12i/graphenix-executable-contracts";
|
|
3
|
+
import type { GraphRuntimeObject } from "@x12i/graphenix-executable-contracts";
|
|
4
|
+
export declare function compileExecutablePlanV2(doc: AuthoringGraphDocument, runtime: GraphRuntimeObject, options?: CompileExecutablePlanV2Options): ExecutableGraphPlanV2;
|
|
5
|
+
//# sourceMappingURL=compile-executable-plan-v2.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compile-executable-plan-v2.d.ts","sourceRoot":"","sources":["../../src/compile/compile-executable-plan-v2.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,sCAAsC,CAAC;AACnF,OAAO,KAAK,EACV,8BAA8B,EAC9B,qBAAqB,EAItB,MAAM,sCAAsC,CAAC;AAC9C,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAgJ/E,wBAAgB,uBAAuB,CACrC,GAAG,EAAE,sBAAsB,EAC3B,OAAO,EAAE,kBAAkB,EAC3B,OAAO,GAAE,8BAAmC,GAC3C,qBAAqB,CAkLvB"}
|
|
@@ -0,0 +1,251 @@
|
|
|
1
|
+
import { validateAuthoringExecutableGraph } from "@x12i/graphenix-authoring-format";
|
|
2
|
+
import { assertNormalizedExecutableGraph } from "@x12i/graphenix-authoring-format";
|
|
3
|
+
import { normalizeExecutableGraph, stripDesignOnlyFieldsFromGraph } from "@x12i/graphenix-authoring-format";
|
|
4
|
+
import { buildDeterministicCaseContext } from "../resolution/build-deterministic-case-context.js";
|
|
5
|
+
import { resolveGraphModelConfig } from "../resolution/resolve-graph-model-config.js";
|
|
6
|
+
import { resolveNodeAiPlan } from "../resolution/resolve-node-ai-plan.js";
|
|
7
|
+
import { getExecutableProfile, getTaskNodeConfig, isExecutableTaskNode } from "@x12i/graphenix-executable-contracts";
|
|
8
|
+
import { defaultHashFunction } from "@x12i/graphenix-executable-contracts";
|
|
9
|
+
import { EXECUTABLE_PLAN_FORMAT_V2 } from "@x12i/graphenix-executable-contracts";
|
|
10
|
+
import { buildDeferredGates, hasDeferredGates } from "./build-deferred-gates.js";
|
|
11
|
+
import { buildFinalizerPlans } from "./build-finalizer-plans.js";
|
|
12
|
+
import { buildNodeExecutionUnitsV2 } from "./build-node-execution-units-v2.js";
|
|
13
|
+
import { buildNodeInvokeContract, TASK_NODE_FIELDS_COVERED } from "./build-node-invoke-contract.js";
|
|
14
|
+
import { buildPlanTopology, getNodeSourcePath, isLocalTaskNode } from "./build-plan-topology.js";
|
|
15
|
+
const AI_MODEL_SLOTS = [
|
|
16
|
+
"preActionModel",
|
|
17
|
+
"skillModel",
|
|
18
|
+
"postActionModel"
|
|
19
|
+
];
|
|
20
|
+
function buildPlanId(graphId, jobId) {
|
|
21
|
+
const graphSlug = graphId.replace(/^graph:/, "");
|
|
22
|
+
return `plan:${graphSlug}:${jobId}`;
|
|
23
|
+
}
|
|
24
|
+
function toSelectedCaseV2(caseId, matchedConditions, sourcePath, defaulted) {
|
|
25
|
+
return {
|
|
26
|
+
caseId,
|
|
27
|
+
matched: true,
|
|
28
|
+
defaulted,
|
|
29
|
+
reason: matchedConditions.length === 0
|
|
30
|
+
? "default case"
|
|
31
|
+
: matchedConditions.join("; "),
|
|
32
|
+
matchedConditions: matchedConditions.map((description) => ({ description })),
|
|
33
|
+
sourcePath
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
function toResolvedModelSlots(aiPlan) {
|
|
37
|
+
const modelSlots = {};
|
|
38
|
+
for (const slot of AI_MODEL_SLOTS) {
|
|
39
|
+
const resolved = aiPlan.slots[slot];
|
|
40
|
+
modelSlots[slot] = {
|
|
41
|
+
selection: resolved.selected,
|
|
42
|
+
source: resolved.source,
|
|
43
|
+
inherited: resolved.inherited,
|
|
44
|
+
graphCaseId: aiPlan.graphCaseId,
|
|
45
|
+
nodeCaseId: aiPlan.nodeCaseId
|
|
46
|
+
};
|
|
47
|
+
}
|
|
48
|
+
return modelSlots;
|
|
49
|
+
}
|
|
50
|
+
function inferExecutionClass(graph, nodeId) {
|
|
51
|
+
return isLocalTaskNode(nodeId, graph) ? "localTask" : "aiTask";
|
|
52
|
+
}
|
|
53
|
+
function buildNodePlanV2(graph, nodeId, context) {
|
|
54
|
+
const node = graph.graph.nodes.find((n) => n.id === nodeId);
|
|
55
|
+
if (!node || !isExecutableTaskNode(node)) {
|
|
56
|
+
throw new Error(`Node ${nodeId} is not an executable task node.`);
|
|
57
|
+
}
|
|
58
|
+
const params = getTaskNodeConfig(node);
|
|
59
|
+
if (!params) {
|
|
60
|
+
throw new Error(`Node ${nodeId} is missing task parameters.`);
|
|
61
|
+
}
|
|
62
|
+
const executionClass = inferExecutionClass(graph, nodeId);
|
|
63
|
+
const sourcePath = getNodeSourcePath(graph, nodeId);
|
|
64
|
+
const aiPlan = executionClass === "aiTask"
|
|
65
|
+
? resolveNodeAiPlan(graph, nodeId, context)
|
|
66
|
+
: undefined;
|
|
67
|
+
const modelSlots = executionClass === "aiTask" && aiPlan
|
|
68
|
+
? toResolvedModelSlots(aiPlan)
|
|
69
|
+
: null;
|
|
70
|
+
const invokeContract = buildNodeInvokeContract(graph, nodeId, params);
|
|
71
|
+
const nodeGateId = `gate:node:${nodeId}`;
|
|
72
|
+
const paramsRecord = node.parameters;
|
|
73
|
+
const deferredGateIds = paramsRecord?.conditions !== undefined ? [nodeGateId] : undefined;
|
|
74
|
+
return {
|
|
75
|
+
nodeId,
|
|
76
|
+
nodeType: "task",
|
|
77
|
+
executionClass,
|
|
78
|
+
skillKey: params.skillKey,
|
|
79
|
+
selectedCases: aiPlan
|
|
80
|
+
? {
|
|
81
|
+
graphModelCaseId: aiPlan.graphCaseId,
|
|
82
|
+
nodeModelCaseId: aiPlan.nodeCaseId
|
|
83
|
+
}
|
|
84
|
+
: undefined,
|
|
85
|
+
modelSlots,
|
|
86
|
+
invokeContract,
|
|
87
|
+
executionUnits: buildNodeExecutionUnitsV2(graph, nodeId, params, modelSlots, executionClass),
|
|
88
|
+
deferredGateIds,
|
|
89
|
+
outputMapping: params.executionMapping
|
|
90
|
+
? structuredClone(params.executionMapping)
|
|
91
|
+
: undefined,
|
|
92
|
+
sourcePath
|
|
93
|
+
};
|
|
94
|
+
}
|
|
95
|
+
export function compileExecutablePlanV2(doc, runtime, options = {}) {
|
|
96
|
+
const validation = validateAuthoringExecutableGraph(doc);
|
|
97
|
+
if (!validation.valid) {
|
|
98
|
+
const summary = validation.errors
|
|
99
|
+
.map((error) => `${error.path}: ${error.message}`)
|
|
100
|
+
.join("; ");
|
|
101
|
+
throw new Error(`Invalid authoring graph: ${summary}`);
|
|
102
|
+
}
|
|
103
|
+
const hash = options.hash ?? defaultHashFunction;
|
|
104
|
+
const now = options.now ?? (() => new Date());
|
|
105
|
+
const normalized = stripDesignOnlyFieldsFromGraph(normalizeExecutableGraph(doc));
|
|
106
|
+
assertNormalizedExecutableGraph(normalized);
|
|
107
|
+
const context = buildDeterministicCaseContext(normalized, runtime);
|
|
108
|
+
const graphHash = hash(doc);
|
|
109
|
+
const normalizedGraphHash = hash(normalized);
|
|
110
|
+
const contextHash = hash(context);
|
|
111
|
+
const inputHash = runtime.input !== undefined ? hash(runtime.input) : undefined;
|
|
112
|
+
const variablesHash = runtime.variables !== undefined ? hash(runtime.variables) : undefined;
|
|
113
|
+
const jobHash = runtime.job !== undefined ? hash(runtime.job) : undefined;
|
|
114
|
+
const profileRegistry = options.profileRegistry ?? {
|
|
115
|
+
version: "3.0.0",
|
|
116
|
+
registryHash: "sha256:profiles-default"
|
|
117
|
+
};
|
|
118
|
+
const registryHash = profileRegistry.registryHash ?? `sha256:registry-${profileRegistry.version}`;
|
|
119
|
+
const { gates: deferredGates, edgeGateIds } = buildDeferredGates(normalized);
|
|
120
|
+
const topology = buildPlanTopology(normalized, edgeGateIds);
|
|
121
|
+
const graphResolution = resolveGraphModelConfig(normalized, context);
|
|
122
|
+
const graphCaseSelection = toSelectedCaseV2(graphResolution.caseId, graphResolution.selection.matchedConditions, "/graph/metadata/extensions/graphenix.executable~1v1/modelConfig", graphResolution.selection.matchedConditions.length === 0);
|
|
123
|
+
const taskNodes = normalized.graph.nodes.filter(isExecutableTaskNode);
|
|
124
|
+
const nodePlans = {};
|
|
125
|
+
const nodeModelCases = {};
|
|
126
|
+
for (const node of taskNodes) {
|
|
127
|
+
if (inferExecutionClass(normalized, node.id) === "aiTask") {
|
|
128
|
+
const aiPlan = resolveNodeAiPlan(normalized, node.id, context);
|
|
129
|
+
nodeModelCases[node.id] = aiPlan.nodeCaseId
|
|
130
|
+
? toSelectedCaseV2(aiPlan.nodeCaseId, aiPlan.caseSelection.node?.matchedConditions ?? [], `${getNodeSourcePath(normalized, node.id)}/parameters/taskConfiguration/modelConfig`, false)
|
|
131
|
+
: null;
|
|
132
|
+
}
|
|
133
|
+
else {
|
|
134
|
+
nodeModelCases[node.id] = null;
|
|
135
|
+
}
|
|
136
|
+
nodePlans[node.id] = buildNodePlanV2(normalized, node.id, context);
|
|
137
|
+
}
|
|
138
|
+
const finalizerPlans = buildFinalizerPlans(normalized);
|
|
139
|
+
const metadata = doc.graph.metadata;
|
|
140
|
+
const profile = getExecutableProfile(normalized);
|
|
141
|
+
const fallbackPolicy = profile?.modelConfig.fallbackPolicy ?? {
|
|
142
|
+
enabled: false,
|
|
143
|
+
allowedTriggers: []
|
|
144
|
+
};
|
|
145
|
+
const plan = {
|
|
146
|
+
format: EXECUTABLE_PLAN_FORMAT_V2,
|
|
147
|
+
planId: buildPlanId(doc.id, runtime.jobId),
|
|
148
|
+
createdAt: now().toISOString(),
|
|
149
|
+
source: {
|
|
150
|
+
graphId: doc.id,
|
|
151
|
+
graphRevision: doc.revision,
|
|
152
|
+
graphHash,
|
|
153
|
+
formatVersion: doc.formatVersion
|
|
154
|
+
},
|
|
155
|
+
runtimeBinding: {
|
|
156
|
+
jobId: runtime.jobId,
|
|
157
|
+
mode: runtime.mode,
|
|
158
|
+
environment: options.environment,
|
|
159
|
+
inputHash,
|
|
160
|
+
contextHash,
|
|
161
|
+
variablesHash,
|
|
162
|
+
jobHash,
|
|
163
|
+
sourceGraphHash: graphHash,
|
|
164
|
+
profileRegistryHash: registryHash
|
|
165
|
+
},
|
|
166
|
+
runtimeExpectations: {
|
|
167
|
+
requiredFields: ["jobId", "job"],
|
|
168
|
+
hashIncludes: inputHash ? ["input", "context"] : ["context"],
|
|
169
|
+
requiresAgentId: false,
|
|
170
|
+
requiresJobTypeId: false
|
|
171
|
+
},
|
|
172
|
+
profileRegistry: {
|
|
173
|
+
package: "@x12i/ai-profiles",
|
|
174
|
+
version: profileRegistry.version,
|
|
175
|
+
registryHash
|
|
176
|
+
},
|
|
177
|
+
normalizedGraph: {
|
|
178
|
+
mode: "embedded",
|
|
179
|
+
graph: normalized,
|
|
180
|
+
graphHash: normalizedGraphHash
|
|
181
|
+
},
|
|
182
|
+
topology,
|
|
183
|
+
schedulingPolicy: {
|
|
184
|
+
mode: "forward",
|
|
185
|
+
wavePlanning: hasDeferredGates(deferredGates)
|
|
186
|
+
? "executorEvaluatesDeferredGates"
|
|
187
|
+
: "staticSchedule",
|
|
188
|
+
failFast: false
|
|
189
|
+
},
|
|
190
|
+
caseSelection: {
|
|
191
|
+
graphModelCase: graphCaseSelection,
|
|
192
|
+
nodeModelCases
|
|
193
|
+
},
|
|
194
|
+
deferredGates,
|
|
195
|
+
nodePlans,
|
|
196
|
+
finalizerPlans,
|
|
197
|
+
contracts: {
|
|
198
|
+
entry: metadata?.graphEntry
|
|
199
|
+
? {
|
|
200
|
+
graphEntryRef: "/graph/metadata/graphEntry",
|
|
201
|
+
executionSchema: metadata.graphEntry.executionSchema,
|
|
202
|
+
entryGateIds: deferredGates.entryGates?.map((g) => g.gateId)
|
|
203
|
+
}
|
|
204
|
+
: undefined,
|
|
205
|
+
response: {
|
|
206
|
+
graphResponseRef: "/graph/metadata/graphResponse",
|
|
207
|
+
graphOutputIds: (normalized.graph.outputs ?? []).map((o) => o.id),
|
|
208
|
+
responseShapePath: "/graph/metadata/graphResponse",
|
|
209
|
+
finalOutputSchema: metadata?.graphResponse?.finalOutputSchema
|
|
210
|
+
}
|
|
211
|
+
},
|
|
212
|
+
policies: {
|
|
213
|
+
directModelPolicy: options.directModelPolicy ?? "forbidden",
|
|
214
|
+
fallbackPolicy: {
|
|
215
|
+
enabled: fallbackPolicy.enabled,
|
|
216
|
+
owner: options.fallbackOwner ?? "executor",
|
|
217
|
+
slots: fallbackPolicy.slots ?? [
|
|
218
|
+
"preActionModel",
|
|
219
|
+
"skillModel",
|
|
220
|
+
"postActionModel"
|
|
221
|
+
],
|
|
222
|
+
allowedTriggers: fallbackPolicy.allowedTriggers,
|
|
223
|
+
maxAttemptsPerSlot: fallbackPolicy.maxAttemptsPerSlot
|
|
224
|
+
},
|
|
225
|
+
tracePolicy: {},
|
|
226
|
+
dataPolicy: {
|
|
227
|
+
storeFullRuntimeInputInPlan: false,
|
|
228
|
+
allowInputPreview: false,
|
|
229
|
+
useDataRefsForLargeValues: true
|
|
230
|
+
}
|
|
231
|
+
},
|
|
232
|
+
compatibility: {
|
|
233
|
+
authoringFormatVersion: doc.formatVersion,
|
|
234
|
+
planFormatVersion: EXECUTABLE_PLAN_FORMAT_V2,
|
|
235
|
+
requiredExecutorCapabilities: [
|
|
236
|
+
"executable-plan-v2",
|
|
237
|
+
"deferred-gates",
|
|
238
|
+
"invoke-contract"
|
|
239
|
+
],
|
|
240
|
+
taskNodeFieldsCovered: [...TASK_NODE_FIELDS_COVERED]
|
|
241
|
+
},
|
|
242
|
+
validation: {
|
|
243
|
+
valid: true,
|
|
244
|
+
validatedAt: now().toISOString(),
|
|
245
|
+
errorCount: 0,
|
|
246
|
+
warningCount: 0
|
|
247
|
+
}
|
|
248
|
+
};
|
|
249
|
+
return plan;
|
|
250
|
+
}
|
|
251
|
+
//# sourceMappingURL=compile-executable-plan-v2.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compile-executable-plan-v2.js","sourceRoot":"","sources":["../../src/compile/compile-executable-plan-v2.ts"],"names":[],"mappings":"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"}
|