@xyne/workflow-sdk 3.2.10 → 3.2.11
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.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"approval-context.d.ts","sourceRoot":"","sources":["../../src/router/approval-context.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAgB,KAAK,UAAU,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"approval-context.d.ts","sourceRoot":"","sources":["../../src/router/approval-context.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAgB,KAAK,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAExE,gEAAgE;AAChE,eAAO,MAAM,mBAAmB,8BAA8B,CAAC;AAC/D,+DAA+D;AAC/D,eAAO,MAAM,eAAe,2BAA2B,CAAC;AAkDxD;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,eAAe,GAAG,MAAM,CAoBrE;AAID,MAAM,WAAW,mBAAmB;IAClC,qEAAqE;IACrE,WAAW,EAAE,MAAM,CAAC;IACpB,qEAAqE;IACrE,UAAU,EAAE,UAAU,CAAC;IACvB,wEAAwE;IACxE,MAAM,EAAE,MAAM,CAAC;CAChB;AAcD;;;;GAIG;AACH,wBAAgB,2BAA2B,CAAC,OAAO,EAAE,eAAe,GAAG,mBAAmB,EAAE,CAe3F;AAeD;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,eAAe,EACxB,OAAO,GAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAa,GACvC,MAAM,CAwBR"}
|
|
@@ -15,7 +15,6 @@
|
|
|
15
15
|
// real bytes (parse the xlsx, read the PDF, inspect the HTML). No run data ever
|
|
16
16
|
// enters the prompt; everything is fetched lazily, at any execution size.
|
|
17
17
|
import { isAttachment } from '../common/attachment.js';
|
|
18
|
-
import { leafStepId } from '../engine/node-path.js';
|
|
19
18
|
/** Path the execution JSON is mounted at inside the sandbox. */
|
|
20
19
|
export const EXECUTION_DATA_PATH = '/mnt/files/execution.json';
|
|
21
20
|
/** Directory under which execution attachments are mounted. */
|
|
@@ -30,30 +29,9 @@ function safeParse(raw) {
|
|
|
30
29
|
return raw;
|
|
31
30
|
}
|
|
32
31
|
}
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
const map = new Map();
|
|
37
|
-
const walk = (steps) => {
|
|
38
|
-
for (const s of steps) {
|
|
39
|
-
if (s.id)
|
|
40
|
-
map.set(s.id, s);
|
|
41
|
-
const branches = s.config?.branches;
|
|
42
|
-
if (branches)
|
|
43
|
-
for (const b of Object.values(branches))
|
|
44
|
-
walk(b);
|
|
45
|
-
if (s.config?.body)
|
|
46
|
-
walk(s.config.body);
|
|
47
|
-
}
|
|
48
|
-
};
|
|
49
|
-
walk(cfgSteps);
|
|
50
|
-
return map;
|
|
51
|
-
}
|
|
52
|
-
// Resolve the config step for a step record. Records are keyed by node-path
|
|
53
|
-
// (`ctrl:branch#0/leaf`) or a bare config id; `leafStepId` normalizes both to
|
|
54
|
-
// the leaf config id, which the id-index resolves.
|
|
55
|
-
function cfgStepFor(stepName, idMap) {
|
|
56
|
-
return idMap.get(leafStepId(stepName));
|
|
32
|
+
function cfgStepFor(stepName, cfgSteps) {
|
|
33
|
+
const m = /^step_(\d+)$/.exec(stepName);
|
|
34
|
+
return m ? cfgSteps[Number(m[1])] : undefined;
|
|
57
35
|
}
|
|
58
36
|
function configSteps(execCtx) {
|
|
59
37
|
return execCtx.config?.steps ?? [];
|
|
@@ -124,7 +102,7 @@ function walkAttachments(value, visit) {
|
|
|
124
102
|
* sandbox path: /mnt/files/attachments/<step>/<name>. Deduped by storage ref.
|
|
125
103
|
*/
|
|
126
104
|
export function collectExecutionAttachments(execCtx) {
|
|
127
|
-
const
|
|
105
|
+
const cfgSteps = configSteps(execCtx);
|
|
128
106
|
const out = [];
|
|
129
107
|
const seen = new Set();
|
|
130
108
|
const add = (source, a) => {
|
|
@@ -135,7 +113,7 @@ export function collectExecutionAttachments(execCtx) {
|
|
|
135
113
|
};
|
|
136
114
|
walkAttachments(execCtx.triggerData, (a) => { add('trigger', a); });
|
|
137
115
|
for (const s of execCtx.steps) {
|
|
138
|
-
const source = cfgStepFor(s.stepName,
|
|
116
|
+
const source = cfgStepFor(s.stepName, cfgSteps)?.id ?? s.stepName;
|
|
139
117
|
walkAttachments(safeParse(s.data), (a) => { add(source, a); });
|
|
140
118
|
}
|
|
141
119
|
return out;
|
|
@@ -165,9 +143,9 @@ function annotateAttachments(value, mounted) {
|
|
|
165
143
|
* bytes (per `mounted`), or null when it wasn't mounted (too large / unavailable).
|
|
166
144
|
*/
|
|
167
145
|
export function buildExecutionDataFile(execCtx, mounted = new Map()) {
|
|
168
|
-
const
|
|
146
|
+
const cfgSteps = configSteps(execCtx);
|
|
169
147
|
const steps = execCtx.steps.map((s) => {
|
|
170
|
-
const cfg = cfgStepFor(s.stepName,
|
|
148
|
+
const cfg = cfgStepFor(s.stepName, cfgSteps);
|
|
171
149
|
const data = safeParse(s.data);
|
|
172
150
|
annotateAttachments(data, mounted);
|
|
173
151
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"approval-context.js","sourceRoot":"","sources":["../../src/router/approval-context.ts"],"names":[],"mappings":"AAAA,oCAAoC;AACpC,EAAE;AACF,gFAAgF;AAChF,gFAAgF;AAChF,6EAA6E;AAC7E,gFAAgF;AAChF,yEAAyE;AACzE,EAAE;AACF,iFAAiF;AACjF,kFAAkF;AAClF,yEAAyE;AACzE,6EAA6E;AAC7E,iFAAiF;AACjF,kFAAkF;AAClF,gFAAgF;AAChF,0EAA0E;AAG1E,OAAO,EAAE,YAAY,EAAmB,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"approval-context.js","sourceRoot":"","sources":["../../src/router/approval-context.ts"],"names":[],"mappings":"AAAA,oCAAoC;AACpC,EAAE;AACF,gFAAgF;AAChF,gFAAgF;AAChF,6EAA6E;AAC7E,gFAAgF;AAChF,yEAAyE;AACzE,EAAE;AACF,iFAAiF;AACjF,kFAAkF;AAClF,yEAAyE;AACzE,6EAA6E;AAC7E,iFAAiF;AACjF,kFAAkF;AAClF,gFAAgF;AAChF,0EAA0E;AAG1E,OAAO,EAAE,YAAY,EAAmB,MAAM,yBAAyB,CAAC;AAExE,gEAAgE;AAChE,MAAM,CAAC,MAAM,mBAAmB,GAAG,2BAA2B,CAAC;AAC/D,+DAA+D;AAC/D,MAAM,CAAC,MAAM,eAAe,GAAG,wBAAwB,CAAC;AAkBxD,SAAS,SAAS,CAAC,GAA8B;IAC/C,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAC;IACtB,IAAI,CAAC;QAAC,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAAC,CAAC;IAAC,MAAM,CAAC;QAAC,OAAO,GAAG,CAAC;IAAC,CAAC;AACvD,CAAC;AAED,SAAS,UAAU,CAAC,QAAgB,EAAE,QAAmB;IACvD,MAAM,CAAC,GAAG,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACxC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;AAChD,CAAC;AAED,SAAS,WAAW,CAAC,OAAwB;IAC3C,OAAQ,OAAO,CAAC,MAA+B,EAAE,KAAK,IAAI,EAAE,CAAC;AAC/D,CAAC;AAED,iFAAiF;AAEjF,SAAS,WAAW,CAAC,KAAgB,EAAE,MAAc;IACnD,MAAM,GAAG,GAAa,EAAE,CAAC;IACzB,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;QACrB,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,EAAE,IAAI,QAAQ,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC;QACzD,GAAG,CAAC,IAAI,CAAC,GAAG,MAAM,KAAK,KAAK,SAAS,CAAC,CAAC,EAAE,IAAI,GAAG,WAAW,CAAC,CAAC,IAAI,IAAI,GAAG,IAAI,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAC1H,MAAM,QAAQ,GAAG,CAAC,CAAC,MAAM,EAAE,QAAQ,CAAC;QACpC,IAAI,QAAQ,EAAE,CAAC;YACb,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACtD,GAAG,CAAC,IAAI,CAAC,GAAG,MAAM,wBAAwB,IAAI,IAAI,CAAC,CAAC;gBACpD,GAAG,CAAC,IAAI,CAAC,GAAG,WAAW,CAAC,MAAM,EAAE,GAAG,MAAM,MAAM,CAAC,CAAC,CAAC;YACpD,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAC;IACH,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,oBAAoB,CAAC,OAAwB;IAC3D,MAAM,GAAG,GAAG,OAAO,CAAC,MAA8B,CAAC;IACnD,MAAM,KAAK,GAAa,EAAE,CAAC;IAE3B,KAAK,CAAC,IAAI,CAAC,aAAa,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;IAC9D,KAAK,CAAC,IAAI,CAAC,eAAe,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAC5C,IAAI,OAAO,CAAC,OAAO;QAAE,KAAK,CAAC,IAAI,CAAC,UAAU,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;IAE7D,MAAM,KAAK,GAAG,GAAG,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,CAAC;IAC5D,IAAI,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC3C,MAAM,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1F,KAAK,CAAC,IAAI,CAAC,mBAAmB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACrD,CAAC;IAED,IAAI,GAAG,EAAE,KAAK,IAAI,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvC,KAAK,CAAC,IAAI,CAAC,sBAAsB,WAAW,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC5E,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,IAAI,CAAC,WAAW,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,QAAQ,KAAK,CAAC,CAAC,YAAY,MAAM,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACpH,CAAC;IACD,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC5B,CAAC;AAaD,SAAS,QAAQ,CAAC,CAAS;IACzB,OAAO,CAAC,CAAC,OAAO,CAAC,kBAAkB,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC;AAC3E,CAAC;AAED,+FAA+F;AAC/F,SAAS,eAAe,CAAC,KAAc,EAAE,KAA8B;IACrE,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO;IAChD,IAAI,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;QAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QAAC,OAAO;IAAC,CAAC;IAClD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAAC,KAAK,MAAM,CAAC,IAAI,KAAK;YAAE,eAAe,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;QAAC,OAAO;IAAC,CAAC;IACvF,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,KAAgC,CAAC;QAAE,eAAe,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AAC7F,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,2BAA2B,CAAC,OAAwB;IAClE,MAAM,QAAQ,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;IACtC,MAAM,GAAG,GAA0B,EAAE,CAAC;IACtC,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,MAAM,GAAG,GAAG,CAAC,MAAc,EAAE,CAAa,EAAQ,EAAE;QAClD,IAAI,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;YAAE,OAAO;QAC7B,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACjB,GAAG,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,GAAG,eAAe,IAAI,QAAQ,CAAC,MAAM,CAAC,IAAI,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;IACjH,CAAC,CAAC;IACF,eAAe,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE,EAAE,GAAG,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACpE,KAAK,MAAM,CAAC,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QAC9B,MAAM,MAAM,GAAG,UAAU,CAAC,CAAC,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC;QAClE,eAAe,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACjE,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,iFAAiF;AAEjF,wFAAwF;AACxF,SAAS,mBAAmB,CAAC,KAAc,EAAE,OAA4B;IACvE,IAAI,CAAC,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO;IAChD,IAAI,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;QACvB,KAAiC,CAAC,aAAa,CAAC,GAAG,OAAO,CAAC,GAAG,CAAE,KAAoB,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC;QACpG,OAAO;IACT,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAAC,KAAK,MAAM,CAAC,IAAI,KAAK;YAAE,mBAAmB,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;QAAC,OAAO;IAAC,CAAC;IAC7F,KAAK,MAAM,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,KAAgC,CAAC;QAAE,mBAAmB,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;AACnG,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,sBAAsB,CACpC,OAAwB,EACxB,UAA+B,IAAI,GAAG,EAAE;IAExC,MAAM,QAAQ,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;IACtC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;QACpC,MAAM,GAAG,GAAG,UAAU,CAAC,CAAC,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QAC7C,MAAM,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QAC/B,mBAAmB,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACnC,OAAO;YACL,QAAQ,EAAE,CAAC,CAAC,QAAQ;YACpB,QAAQ,EAAE,GAAG,EAAE,EAAE;YACjB,KAAK,EAAE,GAAG,EAAE,KAAK;YACjB,MAAM,EAAE,CAAC,CAAC,MAAM;YAChB,YAAY,EAAE,CAAC,CAAC,YAAY;YAC5B,IAAI;SACL,CAAC;IACJ,CAAC,CAAC,CAAC;IACH,MAAM,WAAW,GAAG,OAAO,CAAC,WAAW;QACrC,CAAC,CAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,WAAW,CAAC,CAA6B;QAC9E,CAAC,CAAC,OAAO,CAAC,WAAW,CAAC;IACxB,mBAAmB,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;IAC1C,OAAO,IAAI,CAAC,SAAS,CACnB,EAAE,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,EAClH,IAAI,EACJ,CAAC,CACF,CAAC;AACJ,CAAC"}
|
|
@@ -1106,7 +1106,7 @@ MANUAL, WEBHOOK, CRON, EVENT
|
|
|
1106
1106
|
Added one HTTP_REQUEST step that fetches from the example API.`;
|
|
1107
1107
|
const APPROVAL_AI_SYSTEM_PROMPT = `You are an assistant helping a human review a paused workflow execution.
|
|
1108
1108
|
Below you are given the workflow's STRUCTURE (its steps and what it does), its trigger inputs, and the current pause state (form fields + current values).
|
|
1109
|
-
The FULL run data — every step's actual input and output — is NOT in this prompt. It is written to a file at /mnt/files/execution.json. To answer any question about real values or outputs (e.g. "where did this number come from", "what did a step produce", "what did the research find"), use the run_code tool to read that file with Python and print what you need. In that file each step
|
|
1109
|
+
The FULL run data — every step's actual input and output — is NOT in this prompt. It is written to a file at /mnt/files/execution.json. To answer any question about real values or outputs (e.g. "where did this number come from", "what did a step produce", "what did the research find"), use the run_code tool to read that file with Python and print what you need. In that file each step has a stepName, status, executorType, and data: { type, input, output }. A step's stepName is its config id — for a step running inside a loop or branch it is a path like parent:branch#iteration/leaf_id. Match that id (the last path segment) to the same id in the Workflow structure below to see what the step does and its title.
|
|
1110
1110
|
Files the workflow used or produced (uploaded documents, generated reports/PDFs/spreadsheets/HTML) are mounted in the sandbox. Every attachment object in execution.json has a "sandboxPath" field with its location (under /mnt/files/attachments/<step>/<name>) — open that path with run_code to inspect the real bytes (e.g. parse the xlsx with openpyxl, read the PDF, view the HTML). A null sandboxPath means the file was not mounted (too large or unavailable); fall back to the related text outputs in that case.
|
|
1111
1111
|
|
|
1112
1112
|
## What you can do
|
package/package.json
CHANGED