@crewx/workflow 0.3.22-rc.9 → 0.3.22

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/SKILL.md CHANGED
@@ -38,6 +38,11 @@ crewx workflow validate
38
38
  # Start a workflow execution and auto-run until completion/pause
39
39
  crewx workflow run start standard-dev-core --set goal="implement feature X" --auto
40
40
 
41
+ # In the CrewX web chat, start a workflow as a signed ChatCard.
42
+ # Text after the workflow id becomes state.input.
43
+ /wf rc-publish prepare the next RC
44
+ /wf rc-publish --manual dry run only
45
+
41
46
  # Move to a node
42
47
  crewx workflow run node <exec-id> research
43
48
 
@@ -216,6 +221,42 @@ analyze:
216
221
  next: calculate
217
222
  ```
218
223
 
224
+ #### agent_task — execution context & failure signaling
225
+
226
+ Every `agent_task` prompt is automatically prefixed with a `<crewx.workflow>` preamble
227
+ telling the agent it runs headless inside a workflow node (workflow ID, node ID, run ID),
228
+ that clarifying questions are impossible, and how to signal failure. Disable with
229
+ `CREWX_WORKFLOW_PREAMBLE=off`.
230
+
231
+ Two semantic-failure channels stop the run at the node (in addition to non-zero exit codes):
232
+
233
+ 1. **`workflow_signal` (agent-initiated)** — the agent outputs exactly one JSON object:
234
+
235
+ ```json
236
+ {"workflow_signal": "fail", "reason": "build is red — tsc reports 14 errors"}
237
+ ```
238
+
239
+ The engine detects it (pure JSON or embedded in prose), marks the node failed, and
240
+ records the reason in `run.error`. This is the agent's `exit 1`.
241
+
242
+ 2. **`fail_when` (node-declared)** — a safe expression evaluated against state *after*
243
+ the node's output is stored. Truthy → node fails, run halts. The judged output is
244
+ still preserved in state for inspection. No separate `check_*` branch node needed.
245
+
246
+ ```yaml
247
+ verify:
248
+ type: agent_task
249
+ agent: core_dev
250
+ output: verify_result
251
+ output_format: json
252
+ fail_when: 'state.verify_result.status !== "pass"'
253
+ next: smoke_test
254
+ ```
255
+
256
+ `fail_when` works on `agent_task`, `skill_task`, and `shell_task`. It uses the same
257
+ safe expression subset as `branch` conditions (`includes()`, `===`, `&&`, `Number()`...).
258
+ Use `branch` when failure should route somewhere; use `fail_when` when failure should stop the run.
259
+
219
260
  #### agent_task — JSON output mode
220
261
 
221
262
  When `output_format: json`, the engine requires the agent to return a single JSON object.
@@ -539,6 +580,68 @@ interface RunExecution {
539
580
  }
540
581
  ```
541
582
 
583
+ ## Web UI `/wf` ChatCard Integration
584
+
585
+ The CrewX web chat treats workflow runs as **conversation content**, not as a side panel. When a user sends a `/wf` command, the server creates a workflow run, stores the original user message in the thread transcript, and stores an assistant message containing a signed workflow ChatCard.
586
+
587
+ ### Syntax
588
+
589
+ ```text
590
+ /wf <workflow-id> [input...]
591
+ /wf <workflow-id> --manual [input...]
592
+ /wf <workflow-id> --auto [input...]
593
+ ```
594
+
595
+ Examples:
596
+
597
+ | Input | Run behavior |
598
+ |-------|--------------|
599
+ | `/wf rc-publish` | Starts `rc-publish` in auto mode |
600
+ | `/wf rc-publish 미리승인한다` | Starts `rc-publish` with `state.input = "미리승인한다"` |
601
+ | `/wf rc-publish --manual dry run` | Creates the run in manual mode with `state.input = "dry run"` |
602
+ | `/wf rc-publish --auto prepare RC notes` | Explicit auto mode; same as default |
603
+
604
+ `--manual` and `--auto` are parsed as options and are **not** included in `state.input`. All remaining text after the workflow id is copied to `state.input`.
605
+
606
+ ### `state.input`
607
+
608
+ `state.input` is the standard entry point for user instructions passed into a workflow run.
609
+
610
+ ```yaml
611
+ nodes:
612
+ - id: plan
613
+ type: agent_task
614
+ agent: "@core_dev"
615
+ prompt: |
616
+ User instruction:
617
+ {{input}}
618
+
619
+ Plan and execute the workflow step accordingly.
620
+ ```
621
+
622
+ Branches and templates may also read `state.input`:
623
+
624
+ ```yaml
625
+ condition: state.input.includes("dry run")
626
+ ```
627
+
628
+ Important security rule: `state.input` is **not authority**. It may influence prompts, branches, and templates, but it must never bypass an `approval` node. For example, `/wf rc-publish 미리승인한다` stores the text in `state.input`; it does not approve publishing. Approval still requires the signed ChatCard action button.
629
+
630
+ ### Stored ChatCard
631
+
632
+ The assistant message stores only a signed reference to the workflow run:
633
+
634
+ ```xml
635
+ <crewx_card type="workflow" version="1" run_id="wfr_xxx" workflow_id="rc-publish" mode="auto" proof="jwt..." />
636
+ ```
637
+
638
+ Rules:
639
+
640
+ - The `proof` is server-issued and expires after 7 days.
641
+ - Raw `<crewx_card>` text from users is rendered as plain text.
642
+ - Workflow actions such as resolve, auto resume, approve, reject, and cancel require a valid proof bound to the current workspace/thread/task.
643
+ - The mutable run state remains in `.crewx/workflow-runs/`; the ChatCard stores only a reference.
644
+
542
645
  ## Architecture
543
646
 
544
647
  ```
@@ -568,7 +671,7 @@ interface RunExecution {
568
671
  WorkflowService --> fs (YAML read) + WorkflowEngine + RunManager
569
672
  |
570
673
  +---> Thread transcript card:
571
- <crewx_card type="workflow" run_id="..." workflow_id="..." mode="auto" />
674
+ <crewx_card type="workflow" run_id="..." workflow_id="..." mode="auto" proof="jwt..." />
572
675
  ```
573
676
 
574
677
  > **Note:** The server uses `RunManager` for workflow runs and stores workflow UI references as ChatCard tags in thread messages. The mutable run status/state remains in `.crewx/workflow-runs/` and is fetched by `run_id`.
@@ -1 +1 @@
1
- {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../src/engine.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAEV,YAAY,EACZ,cAAc,EAEd,gBAAgB,EAEjB,MAAM,SAAS,CAAC;AA+QjB,qBAAa,cAAc;IACzB,OAAO,CAAC,MAAM,CAAS;;IAevB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,EAAE,GAAG,IAAI;IA8BnD,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,gBAAgB,EAAE,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE;IAyDjG,SAAS,CAAC,IAAI,EAAE,YAAY,GAAG,MAAM;CAGtC;AAED,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC"}
1
+ {"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../../src/engine.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAEV,YAAY,EACZ,cAAc,EAEd,gBAAgB,EAEjB,MAAM,SAAS,CAAC;AAwSjB,qBAAa,cAAc;IACzB,OAAO,CAAC,MAAM,CAAS;;IAevB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,cAAc,EAAE,GAAG,IAAI;IA8BnD,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,gBAAgB,EAAE,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE;IAyDjG,SAAS,CAAC,IAAI,EAAE,YAAY,GAAG,MAAM;CAGtC;AAED,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC3C,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC"}
@@ -39,6 +39,7 @@ const path = __importStar(require("path"));
39
39
  const yaml = __importStar(require("js-yaml"));
40
40
  const mermaid_1 = require("./mermaid");
41
41
  const shell_security_1 = require("./utils/shell-security");
42
+ const run_manager_1 = require("./run-manager");
42
43
  const NODE_REQUIRED_FIELDS = {
43
44
  agent_task: ['agent'],
44
45
  skill_task: ['skill'],
@@ -49,6 +50,7 @@ const NODE_REQUIRED_FIELDS = {
49
50
  approval: ['description', 'on_approve', 'on_reject'],
50
51
  expression: ['set', 'next'],
51
52
  end: [],
53
+ error: [],
52
54
  };
53
55
  function resolveRef(ref, root, depth) {
54
56
  if (depth > 10)
@@ -143,6 +145,31 @@ function validateNodeTypeRequirements(nodeId, node, jsonPath, errors) {
143
145
  if (node.type === 'branch' && node.branches && Array.isArray(node.branches)) {
144
146
  errors.push({ path: `${jsonPath}.branches`, message: '"branch" node branches must be a Record (object), not an array' });
145
147
  }
148
+ if (node.type === 'branch' && typeof node.condition === 'string') {
149
+ try {
150
+ (0, run_manager_1.validateSafeBranchCondition)(node.condition);
151
+ }
152
+ catch (error) {
153
+ errors.push({ path: `${jsonPath}.condition`, message: `unsafe branch condition: ${error.message}` });
154
+ }
155
+ }
156
+ if (typeof node.fail_when === 'string') {
157
+ const taskTypes = ['agent_task', 'skill_task', 'shell_task'];
158
+ if (!taskTypes.includes(node.type)) {
159
+ errors.push({
160
+ path: `${jsonPath}.fail_when`,
161
+ message: `"fail_when" is only supported on task nodes (${taskTypes.join(', ')}), not "${node.type}"`,
162
+ });
163
+ }
164
+ else {
165
+ try {
166
+ (0, run_manager_1.validateSafeBranchCondition)(node.fail_when);
167
+ }
168
+ catch (error) {
169
+ errors.push({ path: `${jsonPath}.fail_when`, message: `unsafe fail_when condition: ${error.message}` });
170
+ }
171
+ }
172
+ }
146
173
  if (node.type === 'skill_task' && node.skill !== undefined && !shell_security_1.SKILL_NAME_RE.test(node.skill)) {
147
174
  errors.push({
148
175
  path: `${jsonPath}.skill`,
@@ -316,6 +343,6 @@ class WorkflowEngine {
316
343
  }
317
344
  }
318
345
  exports.WorkflowEngine = WorkflowEngine;
319
- var run_manager_1 = require("./run-manager");
320
- Object.defineProperty(exports, "RunManager", { enumerable: true, get: function () { return run_manager_1.RunManager; } });
346
+ var run_manager_2 = require("./run-manager");
347
+ Object.defineProperty(exports, "RunManager", { enumerable: true, get: function () { return run_manager_2.RunManager; } });
321
348
  //# sourceMappingURL=engine.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"engine.js","sourceRoot":"","sources":["../../src/engine.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"engine.js","sourceRoot":"","sources":["../../src/engine.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"mermaid.d.ts","sourceRoot":"","sources":["../../src/mermaid.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,YAAY,EAA0B,MAAM,SAAS,CAAC;AAQpE,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAEjD;AAMD,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CASpD;AAkFD,wBAAgB,SAAS,CAAC,IAAI,EAAE,YAAY,GAAG,MAAM,CA0EpD"}
1
+ {"version":3,"file":"mermaid.d.ts","sourceRoot":"","sources":["../../src/mermaid.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,YAAY,EAA0B,MAAM,SAAS,CAAC;AAQpE,wBAAgB,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAEjD;AAMD,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CASpD;AAoFD,wBAAgB,SAAS,CAAC,IAAI,EAAE,YAAY,GAAG,MAAM,CA0EpD"}
@@ -22,6 +22,8 @@ function escapeMermaidLabel(s) {
22
22
  function buildLabel(nodeId, node) {
23
23
  if (node.type === 'end')
24
24
  return 'END';
25
+ if (node.type === 'error')
26
+ return 'ERROR';
25
27
  let subtitle = '';
26
28
  if (node.agent) {
27
29
  subtitle = `@${escapeMermaidLabel(node.agent)}`;
@@ -44,7 +46,7 @@ function buildLabel(nodeId, node) {
44
46
  }
45
47
  function wrapShape(nodeId, label, type) {
46
48
  const safe = safeNodeId(nodeId);
47
- if (type === 'end') {
49
+ if (type === 'end' || type === 'error') {
48
50
  return `${safe}(("${label}"))`;
49
51
  }
50
52
  const q = `"\`${label}\`"`;
@@ -68,6 +70,7 @@ function wrapShape(nodeId, label, type) {
68
70
  const NODE_STYLES = {
69
71
  approval: 'fill:#e0f2fe,stroke:#93c5fd,color:#1e3a5f',
70
72
  expression: 'fill:#fef3c7,stroke:#f59e0b,color:#78350f',
73
+ error: 'fill:#fee2e2,stroke:#f87171,color:#7f1d1d',
71
74
  };
72
75
  function toMermaid(spec) {
73
76
  const lines = ['flowchart TD'];
@@ -1 +1 @@
1
- {"version":3,"file":"mermaid.js","sourceRoot":"","sources":["../../src/mermaid.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mermaid.js","sourceRoot":"","sources":["../../src/mermaid.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,8 @@ export declare function parseSetArgs(args: string[]): Record<string, unknown>;
4
4
  export declare function readStdin(): Promise<string>;
5
5
  export declare function interpolateTemplate(template: string, state: Record<string, unknown>): string;
6
6
  export declare function safeEvaluate(expr: string, state: Record<string, unknown>): unknown;
7
+ export declare function safeEvaluateBranchCondition(expr: string, state: Record<string, unknown>): unknown;
8
+ export declare function validateSafeBranchCondition(expr: string): void;
7
9
  export declare class RunManager {
8
10
  private runsDir;
9
11
  private readonly resolvedDir;
@@ -1 +1 @@
1
- {"version":3,"file":"run-manager.d.ts","sourceRoot":"","sources":["../../src/run-manager.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,YAAY,EAA0C,aAAa,EAAY,MAAM,SAAS,CAAC;AAY7G,eAAO,MAAM,0BAA0B,SAAU,CAAC;AAqJlD,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CA0BpE;AAKD,wBAAsB,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC,CAMjD;AAKD,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAW5F;AA+QD,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAIlF;AAMD,qBAAa,UAAU;IAIT,OAAO,CAAC,OAAO;IAH3B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IACrC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;gBAEjB,OAAO,GAAE,MAA+B,EAAE,WAAW,CAAC,EAAE,MAAM;IAQlF,aAAa,IAAI,IAAI;IAMrB,OAAO,CAAC,cAAc;IAMtB,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI;IAa5C,OAAO,CAAC,GAAG,EAAE,YAAY,GAAG,IAAI;IAWhC,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,GAAG,EAAE,YAAY,KAAK,IAAI,GAAG,YAAY;IAqB1E,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,GAAG,EAAE,YAAY,KAAK,IAAI,GAAG,OAAO,CAAC,YAAY,CAAC;IAiBpG,OAAO,CAAC,gBAAgB;IAQxB,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,YAAY;IAgD/F,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAQjD,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAMhE,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,YAAY;IAShD,WAAW,CACf,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,IAAI,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,OAAO,CAAC;QAAC,OAAO,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAA;KAAE,GACvD,OAAO,CAAC,YAAY,CAAC;IA0flB,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IA+FrD,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,SAAsB,GAAG,YAAY;IAyBrE,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY;IAQnC,QAAQ,CAAC,IAAI,CAAC,EAAE;QAAE,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,YAAY,EAAE;CAsBzD"}
1
+ {"version":3,"file":"run-manager.d.ts","sourceRoot":"","sources":["../../src/run-manager.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,YAAY,EAA0C,aAAa,EAAY,MAAM,SAAS,CAAC;AAkB7G,eAAO,MAAM,0BAA0B,SAAU,CAAC;AAqJlD,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CA0BpE;AAKD,wBAAsB,SAAS,IAAI,OAAO,CAAC,MAAM,CAAC,CAMjD;AAKD,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAW5F;AAkRD,wBAAgB,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAIlF;AAwED,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,OAAO,CAGjG;AAED,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAE9D;AAMD,qBAAa,UAAU;IAIT,OAAO,CAAC,OAAO;IAH3B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IACrC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;gBAEjB,OAAO,GAAE,MAA+B,EAAE,WAAW,CAAC,EAAE,MAAM;IAQlF,aAAa,IAAI,IAAI;IAMrB,OAAO,CAAC,cAAc;IAMtB,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI;IAa5C,OAAO,CAAC,GAAG,EAAE,YAAY,GAAG,IAAI;IAWhC,YAAY,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,GAAG,EAAE,YAAY,KAAK,IAAI,GAAG,YAAY;IAqB1E,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,GAAG,EAAE,YAAY,KAAK,IAAI,GAAG,OAAO,CAAC,YAAY,CAAC;IAiBpG,OAAO,CAAC,gBAAgB;IAQxB,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,YAAY;IAgD/F,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IAQjD,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAMhE,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,YAAY;IAShD,WAAW,CACf,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,IAAI,CAAC,EAAE;QAAE,MAAM,CAAC,EAAE,OAAO,CAAC;QAAC,OAAO,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAA;KAAE,GACvD,OAAO,CAAC,YAAY,CAAC;IAojBlB,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IA+FrD,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,SAAsB,GAAG,YAAY;IAyBrE,KAAK,CAAC,MAAM,EAAE,MAAM,GAAG,YAAY;IAQnC,QAAQ,CAAC,IAAI,CAAC,EAAE;QAAE,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,YAAY,EAAE;CAsBzD"}
@@ -38,6 +38,8 @@ exports.parseSetArgs = parseSetArgs;
38
38
  exports.readStdin = readStdin;
39
39
  exports.interpolateTemplate = interpolateTemplate;
40
40
  exports.safeEvaluate = safeEvaluate;
41
+ exports.safeEvaluateBranchCondition = safeEvaluateBranchCondition;
42
+ exports.validateSafeBranchCondition = validateSafeBranchCondition;
41
43
  const fs = __importStar(require("fs"));
42
44
  const path = __importStar(require("path"));
43
45
  const yaml = __importStar(require("js-yaml"));
@@ -48,9 +50,9 @@ const output_format_1 = require("./utils/output-format");
48
50
  const shell_security_1 = require("./utils/shell-security");
49
51
  exports.SKILL_TASK_DEFAULT_TIMEOUT = 600000;
50
52
  const KNOWN_AUTO_NODE_TYPES = new Set([
51
- 'agent_task', 'skill_task', 'shell_task', 'branch', 'expression', 'join', 'end',
53
+ 'agent_task', 'skill_task', 'shell_task', 'branch', 'expression', 'join', 'end', 'error',
52
54
  ]);
53
- const SELF_ADVANCING_NODE_TYPES = new Set(['branch', 'expression', 'end']);
55
+ const SELF_ADVANCING_NODE_TYPES = new Set(['branch', 'expression', 'end', 'error']);
54
56
  function killProcessGroup(child) {
55
57
  try {
56
58
  if (process.platform === 'win32') {
@@ -210,6 +212,7 @@ const FORBIDDEN_IDENTS = new Set([
210
212
  'require', 'import', 'process', 'global', 'globalThis',
211
213
  'Function', 'eval', '__proto__', 'constructor', 'prototype',
212
214
  ]);
215
+ const FORBIDDEN_STATE_PATH_SEGMENTS = new Set(['__proto__', 'constructor', 'prototype']);
213
216
  function tokenize(expr) {
214
217
  const tokens = [];
215
218
  let i = 0;
@@ -443,6 +446,8 @@ class ExprParser {
443
446
  const val = this.state[key];
444
447
  if (val === undefined || val === null)
445
448
  return 0;
449
+ if (typeof val === 'boolean' || typeof val === 'number')
450
+ return val;
446
451
  const strVal = String(val);
447
452
  if (strVal === '')
448
453
  return '';
@@ -465,6 +470,57 @@ function safeEvaluate(expr, state) {
465
470
  const parser = new ExprParser(tokens, state);
466
471
  return parser.parse();
467
472
  }
473
+ function getStatePathValue(state, pathExpr) {
474
+ const parts = pathExpr.split('.');
475
+ let value = state;
476
+ for (const part of parts) {
477
+ if (FORBIDDEN_STATE_PATH_SEGMENTS.has(part)) {
478
+ throw new Error(`Forbidden state path segment in expression: "${part}"`);
479
+ }
480
+ if (!part || value === null || value === undefined || typeof value !== 'object') {
481
+ return undefined;
482
+ }
483
+ value = value[part];
484
+ }
485
+ return value;
486
+ }
487
+ function unescapeQuotedLiteral(value) {
488
+ return value
489
+ .replace(/\\'/g, "'")
490
+ .replace(/\\"/g, '"')
491
+ .replace(/\\\\/g, '\\');
492
+ }
493
+ function normalizeBranchCondition(expr, state) {
494
+ const scope = {};
495
+ let counter = 0;
496
+ const bind = (value) => {
497
+ const key = `__state_${counter++}`;
498
+ scope[key] = value;
499
+ return key;
500
+ };
501
+ let normalized = expr
502
+ .replace(/!==/g, '!=')
503
+ .replace(/===/g, '==');
504
+ const replaceIncludes = (pattern) => {
505
+ normalized = normalized.replace(pattern, (_match, statePath, literal) => {
506
+ const value = getStatePathValue(state, statePath);
507
+ return bind(String(value ?? '').includes(unescapeQuotedLiteral(literal)));
508
+ });
509
+ };
510
+ replaceIncludes(/\bstate\.([A-Za-z_]\w*(?:\.[A-Za-z_]\w*)*)\.includes\(\s*'((?:\\.|[^'\\])*)'\s*\)/g);
511
+ replaceIncludes(/\bstate\.([A-Za-z_]\w*(?:\.[A-Za-z_]\w*)*)\.includes\(\s*"((?:\\.|[^"\\])*)"\s*\)/g);
512
+ normalized = normalized.replace(/\bstate\.([A-Za-z_]\w*(?:\.[A-Za-z_]\w*)*)/g, (_match, statePath) => bind(getStatePathValue(state, statePath)));
513
+ normalized = normalized.replace(/\bNumber\(\s*([A-Za-z_]\w*)\s*\)/g, '$1');
514
+ normalized = normalized.replace(/\bparseInt\(\s*([A-Za-z_]\w*(?:\s*\|\|\s*(?:'[^']*'|"[^"]*"))?)\s*\)/g, '($1)');
515
+ return { expr: normalized, scope };
516
+ }
517
+ function safeEvaluateBranchCondition(expr, state) {
518
+ const normalized = normalizeBranchCondition(expr, state);
519
+ return safeEvaluate(normalized.expr, { ...state, ...normalized.scope });
520
+ }
521
+ function validateSafeBranchCondition(expr) {
522
+ safeEvaluateBranchCondition(expr, {});
523
+ }
468
524
  class RunManager {
469
525
  constructor(runsDir = '.crewx/workflow-runs', projectRoot) {
470
526
  this.runsDir = runsDir;
@@ -628,6 +684,7 @@ class RunManager {
628
684
  const nodesToComplete = [];
629
685
  let currentNode = nodeId;
630
686
  let status;
687
+ let failureMessage;
631
688
  let nodeTaskId;
632
689
  const trigger = opts?.trigger ?? 'manual';
633
690
  const startedAt = new Date();
@@ -658,9 +715,16 @@ class RunManager {
658
715
  const input = nodeSpec.input
659
716
  ? interpolateTemplate(nodeSpec.input, { ...snapshot.state, state: snapshot.state })
660
717
  : '';
718
+ const preamble = process.env.CREWX_WORKFLOW_PREAMBLE === 'off'
719
+ ? ''
720
+ : (0, output_format_1.buildWorkflowPreamble)({
721
+ workflowId: snapshot.workflow_id,
722
+ nodeId,
723
+ execId: snapshot.id,
724
+ });
661
725
  const finalInput = nodeSpec.output_format === 'json'
662
- ? input + (0, output_format_1.buildJsonOutputSuffix)(nodeSpec.output_schema, nodeSpec.output_strict)
663
- : input;
726
+ ? preamble + input + (0, output_format_1.buildJsonOutputSuffix)(nodeSpec.output_schema, nodeSpec.output_strict)
727
+ : preamble + input;
664
728
  const mode = nodeSpec.mode === 'query' ? 'q' : 'x';
665
729
  const prompt = `@${nodeSpec.agent} ${finalInput}`;
666
730
  if (opts?.dryRun) {
@@ -719,6 +783,10 @@ class RunManager {
719
783
  throw new Error(`Agent execution failed (exit ${result.status}): ${stderr}`);
720
784
  }
721
785
  const output = result.stdout.trim();
786
+ const signal = (0, output_format_1.detectWorkflowSignal)(output);
787
+ if (signal) {
788
+ throw new Error(`Node "${nodeId}" agent signaled failure: ${signal.reason ?? '(no reason given)'}`);
789
+ }
722
790
  if (nodeSpec.output) {
723
791
  if (nodeSpec.output_format === 'json') {
724
792
  const retryMax = nodeSpec.output_retry ?? 1;
@@ -761,6 +829,10 @@ class RunManager {
761
829
  throw new Error(`Agent retry failed (exit ${retryResult.status}): ${retryResult.stderr.trim()}`);
762
830
  }
763
831
  attemptOutput = retryResult.stdout.trim();
832
+ const retrySignal = (0, output_format_1.detectWorkflowSignal)(attemptOutput);
833
+ if (retrySignal) {
834
+ throw new Error(`Node "${nodeId}" agent signaled failure: ${retrySignal.reason ?? '(no reason given)'}`);
835
+ }
764
836
  }
765
837
  try {
766
838
  parsed = JSON.parse((0, output_format_1.extractJson)(attemptOutput));
@@ -902,8 +974,7 @@ class RunManager {
902
974
  if (!nodeSpec.condition) {
903
975
  throw new Error(`Branch node "${nodeId}" has no condition`);
904
976
  }
905
- const evalFn = new Function('state', `return (${nodeSpec.condition});`);
906
- const condResult = String(evalFn(snapshot.state));
977
+ const condResult = String(safeEvaluateBranchCondition(String(nodeSpec.condition), snapshot.state));
907
978
  const branches = nodeSpec.branches;
908
979
  const targetNode = branches?.[condResult] ?? nodeSpec.default;
909
980
  if (!targetNode) {
@@ -931,6 +1002,15 @@ class RunManager {
931
1002
  console.log(`End "${nodeId}": workflow execution completed`);
932
1003
  break;
933
1004
  }
1005
+ case 'error': {
1006
+ status = 'failed';
1007
+ const ctx = { ...snapshot.state, state: snapshot.state };
1008
+ failureMessage = nodeSpec.message
1009
+ ? interpolateTemplate(nodeSpec.message, ctx)
1010
+ : `Workflow failed at error node "${nodeId}"`;
1011
+ console.log(`Error "${nodeId}": workflow execution failed — ${failureMessage}`);
1012
+ break;
1013
+ }
934
1014
  case 'expression': {
935
1015
  if (!nodeSpec.set || typeof nodeSpec.set !== 'object') {
936
1016
  throw new Error(`Expression node "${nodeId}" requires "set" field`);
@@ -954,6 +1034,14 @@ class RunManager {
954
1034
  default:
955
1035
  console.log(`Unknown node type "${nodeSpec.type}" for node "${nodeId}"`);
956
1036
  }
1037
+ if (nodeSpec.fail_when &&
1038
+ !opts?.dryRun &&
1039
+ (nodeSpec.type === 'agent_task' || nodeSpec.type === 'skill_task' || nodeSpec.type === 'shell_task')) {
1040
+ const judged = safeEvaluateBranchCondition(String(nodeSpec.fail_when), { ...snapshot.state, ...stateUpdates });
1041
+ if (judged === true || judged === 'true') {
1042
+ throw new Error(`Node "${nodeId}" judged failed by fail_when: ${nodeSpec.fail_when}`);
1043
+ }
1044
+ }
957
1045
  }
958
1046
  catch (e) {
959
1047
  const errMessage = e.message;
@@ -965,6 +1053,7 @@ class RunManager {
965
1053
  await this.atomicUpdateAsync(execId, (run) => {
966
1054
  if (run.status === 'cancelled')
967
1055
  return;
1056
+ Object.assign(run.state, stateUpdates);
968
1057
  run.current_node = nodeId;
969
1058
  run.status = 'failed';
970
1059
  run.error = errMessage;
@@ -989,6 +1078,8 @@ class RunManager {
989
1078
  run.current_node = currentNode;
990
1079
  if (status)
991
1080
  run.status = status;
1081
+ if (failureMessage)
1082
+ run.error = failureMessage;
992
1083
  if (nodeTaskId) {
993
1084
  run.tasks = run.tasks ?? {};
994
1085
  run.tasks[nodeId] = nodeTaskId;
@@ -1 +1 @@
1
- {"version":3,"file":"run-manager.js","sourceRoot":"","sources":["../../src/run-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"run-manager.js","sourceRoot":"","sources":["../../src/run-manager.ts"],"names":[],"mappings":"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"}
@@ -14,7 +14,7 @@ export interface OnError {
14
14
  handler?: string;
15
15
  fallback_node?: string;
16
16
  }
17
- export type NodeType = 'agent_task' | 'skill_task' | 'shell_task' | 'parallel' | 'join' | 'branch' | 'approval' | 'expression' | 'end';
17
+ export type NodeType = 'agent_task' | 'skill_task' | 'shell_task' | 'parallel' | 'join' | 'branch' | 'approval' | 'expression' | 'end' | 'error';
18
18
  export type JsonSchema = Record<string, unknown>;
19
19
  export interface WorkflowNode {
20
20
  type: NodeType;
@@ -31,6 +31,7 @@ export interface WorkflowNode {
31
31
  output_schema?: JsonSchema;
32
32
  output_retry?: number;
33
33
  output_strict?: boolean;
34
+ fail_when?: string;
34
35
  next?: string;
35
36
  hooks?: string[];
36
37
  retry?: RetryConfig;
@@ -48,6 +49,7 @@ export interface WorkflowNode {
48
49
  on_reject?: string;
49
50
  on_error?: OnError;
50
51
  set?: Record<string, string>;
52
+ message?: string;
51
53
  }
52
54
  export interface WorkflowSpec {
53
55
  metadata?: WorkflowMeta;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,16 @@
1
1
  import type { JsonSchema } from '../types';
2
+ export interface WorkflowPreambleContext {
3
+ workflowId: string;
4
+ nodeId: string;
5
+ execId: string;
6
+ }
7
+ export declare const WORKFLOW_SIGNAL_KEY = "workflow_signal";
8
+ export interface WorkflowSignal {
9
+ signal: 'fail';
10
+ reason?: string;
11
+ }
12
+ export declare function buildWorkflowPreamble(ctx: WorkflowPreambleContext): string;
13
+ export declare function detectWorkflowSignal(output: string): WorkflowSignal | null;
2
14
  export declare function buildJsonOutputSuffix(schema?: JsonSchema, strict?: boolean): string;
3
15
  export declare function extractJson(text: string): string;
4
16
  export declare function validateJsonSchema(value: unknown, schema: JsonSchema): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"output-format.d.ts","sourceRoot":"","sources":["../../../src/utils/output-format.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAE3C,wBAAgB,qBAAqB,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,MAAM,UAAQ,GAAG,MAAM,CAcjF;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAehD;AAMD,wBAAsB,kBAAkB,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAe1F;AAYD,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,UAAU,GAAG,UAAU,CAEnE"}
1
+ {"version":3,"file":"output-format.d.ts","sourceRoot":"","sources":["../../../src/utils/output-format.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAG3C,MAAM,WAAW,uBAAuB;IACtC,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB;AAGD,eAAO,MAAM,mBAAmB,oBAAoB,CAAC;AAGrD,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAQD,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,uBAAuB,GAAG,MAAM,CAgB1E;AAOD,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI,CA6B1E;AAED,wBAAgB,qBAAqB,CAAC,MAAM,CAAC,EAAE,UAAU,EAAE,MAAM,UAAQ,GAAG,MAAM,CAcjF;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAehD;AAMD,wBAAsB,kBAAkB,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAe1F;AAYD,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,UAAU,GAAG,UAAU,CAEnE"}
@@ -33,11 +33,60 @@ var __importStar = (this && this.__importStar) || (function () {
33
33
  };
34
34
  })();
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.WORKFLOW_SIGNAL_KEY = void 0;
37
+ exports.buildWorkflowPreamble = buildWorkflowPreamble;
38
+ exports.detectWorkflowSignal = detectWorkflowSignal;
36
39
  exports.buildJsonOutputSuffix = buildJsonOutputSuffix;
37
40
  exports.extractJson = extractJson;
38
41
  exports.validateJsonSchema = validateJsonSchema;
39
42
  exports.toOpenAIStrictSchema = toOpenAIStrictSchema;
40
43
  const node_crypto_1 = require("node:crypto");
44
+ exports.WORKFLOW_SIGNAL_KEY = 'workflow_signal';
45
+ function buildWorkflowPreamble(ctx) {
46
+ return `<crewx.workflow>
47
+ ## Execution Context
48
+ You are running headless as node "${ctx.nodeId}" of workflow "${ctx.workflowId}" (run ${ctx.execId}).
49
+ - No human is watching this session. NEVER ask clarifying questions or wait for
50
+ confirmation — state your assumptions and proceed, or report failure.
51
+ - Your output is consumed verbatim by downstream nodes. Output the result only;
52
+ skip greetings, progress notes, and meta commentary.
53
+ - If the task cannot be completed (broken precondition, missing data, failed
54
+ verification), do NOT pretend success or return a partial answer as if it
55
+ succeeded. Instead output exactly one JSON object and nothing else:
56
+ {"${exports.WORKFLOW_SIGNAL_KEY}": "fail", "reason": "<one-line cause>"}
57
+ The engine will halt the workflow at this node and record the reason.
58
+ </crewx.workflow>
59
+
60
+ `;
61
+ }
62
+ function detectWorkflowSignal(output) {
63
+ if (!output.includes(`"${exports.WORKFLOW_SIGNAL_KEY}"`))
64
+ return null;
65
+ const toSignal = (parsed) => {
66
+ if (typeof parsed === 'object' && parsed !== null && !Array.isArray(parsed) &&
67
+ parsed[exports.WORKFLOW_SIGNAL_KEY] === 'fail') {
68
+ const reason = parsed['reason'];
69
+ return { signal: 'fail', ...(typeof reason === 'string' && reason ? { reason } : {}) };
70
+ }
71
+ return null;
72
+ };
73
+ try {
74
+ const signal = toSignal(JSON.parse(extractJson(output)));
75
+ if (signal)
76
+ return signal;
77
+ }
78
+ catch { }
79
+ const inline = output.match(new RegExp(`\\{[^{}]*"${exports.WORKFLOW_SIGNAL_KEY}"\\s*:\\s*"fail"[^{}]*\\}`));
80
+ if (inline) {
81
+ try {
82
+ return toSignal(JSON.parse(inline[0]));
83
+ }
84
+ catch {
85
+ return { signal: 'fail' };
86
+ }
87
+ }
88
+ return null;
89
+ }
41
90
  function buildJsonOutputSuffix(schema, strict = false) {
42
91
  const finalSchema = strict && schema ? toOpenAIStrictSchema(schema) : schema;
43
92
  const schemaStr = finalSchema ? `JSON Schema:\n${JSON.stringify(finalSchema, null, 2)}\n` : '';
@@ -1 +1 @@
1
- {"version":3,"file":"output-format.js","sourceRoot":"","sources":["../../../src/utils/output-format.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA,sDAcC;AAED,kCAeC;AAMD,gDAeC;AAYD,oDAEC;AAtED,6CAAyC;AAIzC,SAAgB,qBAAqB,CAAC,MAAmB,EAAE,MAAM,GAAG,KAAK;IACvE,MAAM,WAAW,GAAG,MAAM,IAAI,MAAM,CAAC,CAAC,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;IAC7E,MAAM,SAAS,GAAG,WAAW,CAAC,CAAC,CAAC,iBAAiB,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;IAC/F,OAAO;;;;;;;;;EASP,SAAS;kBACO,CAAC;AACnB,CAAC;AAED,SAAgB,WAAW,CAAC,IAAY;IACtC,IAAI,OAAO,GAAG,IAAI,CAAC,IAAI,EAAE,CAAC;IAE1B,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,8CAA8C,CAAC,CAAC;IACjF,IAAI,UAAU,IAAI,UAAU,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC;QAC9C,OAAO,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IACjC,CAAC;IAED,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;IAC9C,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;IAE9C,IAAI,QAAQ,IAAI,QAAQ,EAAE,CAAC;QACzB,OAAO,QAAQ,CAAC,KAAM,GAAG,QAAQ,CAAC,KAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IACvE,CAAC;IACD,OAAO,QAAQ,EAAE,CAAC,CAAC,CAAC,IAAI,QAAQ,EAAE,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC;AACnD,CAAC;AAMM,KAAK,UAAU,kBAAkB,CAAC,KAAc,EAAE,MAAkB;IACzE,MAAM,EAAE,cAAc,EAAE,QAAQ,EAAE,GAAG,wDAAa,sCAAsC,GAAC,CAAC;IAC1F,MAAM,GAAG,GAAG,oBAAoB,IAAA,wBAAU,GAAE,EAAE,CAAC;IAC/C,cAAc,CACZ,EAAE,OAAO,EAAE,8CAA8C,EAAE,GAAG,MAAM,EAA6B,EACjG,GAAG,CACJ,CAAC;IAEF,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,GAAG,EAAE,KAAY,CAAC,CAAC;IACjD,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QAClB,MAAM,MAAM,GAAG,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC;aACjC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC;aAC9B,IAAI,CAAC,IAAI,CAAC,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,6BAA6B,MAAM,IAAI,eAAe,EAAE,CAAC,CAAC;IAC5E,CAAC;AACH,CAAC;AAYD,SAAgB,oBAAoB,CAAC,MAAkB;IACrD,OAAO,eAAe,CAAC,MAAM,CAAC,CAAC;AACjC,CAAC;AAED,MAAM,2BAA2B,GAAG,IAAI,GAAG,CAAC;IAC1C,SAAS,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,WAAW;IACxD,SAAS,EAAE,SAAS,EAAE,KAAK;CAC5B,CAAC,CAAC;AAEH,SAAS,eAAe,CAAC,MAAkB;IACzC,MAAM,MAAM,GAAe,EAAE,CAAC;IAE9B,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QAClD,IAAI,2BAA2B,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,SAAS;QAEnD,IAAI,GAAG,KAAK,YAAY,IAAI,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YAC5C,MAAM,WAAW,GAA+B,EAAE,CAAC;YACnD,KAAK,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBACvD,WAAW,CAAC,OAAO,CAAC,GAAG,eAAe,CAAC,OAAqB,CAAC,CAAC;YAChE,CAAC;YACD,MAAM,CAAC,YAAY,CAAC,GAAG,WAAW,CAAC;YAEnC,MAAM,CAAC,UAAU,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YAC9C,MAAM,CAAC,sBAAsB,CAAC,GAAG,KAAK,CAAC;QACzC,CAAC;aAAM,IAAI,GAAG,KAAK,OAAO,IAAI,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YAC9C,MAAM,CAAC,OAAO,CAAC,GAAG,eAAe,CAAC,KAAmB,CAAC,CAAC;QACzD,CAAC;aAAM,IAAI,GAAG,KAAK,UAAU,EAAE,CAAC;YAE9B,IAAI,CAAC,CAAC,YAAY,IAAI,MAAM,CAAC,EAAE,CAAC;gBAC9B,MAAM,CAAC,UAAU,CAAC,GAAG,KAAK,CAAC;YAC7B,CAAC;QACH,CAAC;aAAM,IAAI,GAAG,KAAK,sBAAsB,EAAE,CAAC;YAE1C,MAAM,CAAC,sBAAsB,CAAC,GAAG,KAAK,CAAC;QACzC,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QACtB,CAAC;IACH,CAAC;IAGD,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,QAAQ,IAAI,CAAC,CAAC,sBAAsB,IAAI,MAAM,CAAC,EAAE,CAAC;QACvE,MAAM,CAAC,sBAAsB,CAAC,GAAG,KAAK,CAAC;IACzC,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,QAAQ,CAAC,GAAY;IAC5B,OAAO,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;AACxE,CAAC"}
1
+ {"version":3,"file":"output-format.js","sourceRoot":"","sources":["../../../src/utils/output-format.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"shell-security.d.ts","sourceRoot":"","sources":["../../../src/utils/shell-security.ts"],"names":[],"mappings":"AAWA,eAAO,MAAM,aAAa,QAAyB,CAAC;AAGpD,eAAO,MAAM,cAAc,aAGzB,CAAC;AAGH,eAAO,MAAM,wBAAwB,aAEnC,CAAC;AAMH,eAAO,MAAM,kBAAkB,aAI7B,CAAC;AAOH,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,OAAO,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAOD,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,YAAY,CA+BnE;AAGD,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,GAAG,YAAY,CAQrF;AAED,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,OAAO,CAAC;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAMD,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,EAAE,WAAW,EAAE,MAAM,GAAG,QAAQ,CAUnF;AAOD,wBAAgB,aAAa,CAC3B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,EAC3C,SAAS,GAAE,MAAM,CAAC,UAAwB,GACzC,MAAM,CAAC,UAAU,CAenB"}
1
+ {"version":3,"file":"shell-security.d.ts","sourceRoot":"","sources":["../../../src/utils/shell-security.ts"],"names":[],"mappings":"AAYA,eAAO,MAAM,aAAa,QAAyB,CAAC;AAGpD,eAAO,MAAM,cAAc,aAGzB,CAAC;AAGH,eAAO,MAAM,wBAAwB,aAEnC,CAAC;AAMH,eAAO,MAAM,kBAAkB,aAI7B,CAAC;AAOH,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,OAAO,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAOD,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,GAAG,YAAY,CA+BnE;AAGD,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,GAAG,YAAY,CAQrF;AAED,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,OAAO,CAAC;IACZ,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAMD,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,EAAE,WAAW,EAAE,MAAM,GAAG,QAAQ,CAqBnF;AAOD,wBAAgB,aAAa,CAC3B,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,SAAS,EAC3C,SAAS,GAAE,MAAM,CAAC,UAAwB,GACzC,MAAM,CAAC,UAAU,CAenB"}
@@ -39,6 +39,7 @@ exports.validateEnvKeys = validateEnvKeys;
39
39
  exports.normalizeCwd = normalizeCwd;
40
40
  exports.buildShellEnv = buildShellEnv;
41
41
  const path = __importStar(require("path"));
42
+ const fs = __importStar(require("fs"));
42
43
  exports.SKILL_NAME_RE = /^[a-z0-9][a-z0-9-]*$/;
43
44
  exports.SHELL_DENYLIST = new Set([
44
45
  'bash', 'sh', 'zsh', 'dash', 'fish',
@@ -95,11 +96,24 @@ function validateEnvKeys(env) {
95
96
  return { ok: true };
96
97
  }
97
98
  function normalizeCwd(cwd, projectRoot) {
98
- const root = path.resolve(projectRoot);
99
+ let root;
100
+ try {
101
+ root = fs.realpathSync(projectRoot);
102
+ }
103
+ catch (error) {
104
+ return { ok: false, error: `project root "${projectRoot}" is not accessible: ${error.message}` };
105
+ }
99
106
  if (cwd === undefined || cwd === '') {
100
107
  return { ok: true, resolved: root };
101
108
  }
102
- const resolved = path.resolve(root, cwd);
109
+ const candidate = path.resolve(root, cwd);
110
+ let resolved;
111
+ try {
112
+ resolved = fs.realpathSync(candidate);
113
+ }
114
+ catch (error) {
115
+ return { ok: false, error: `cwd "${cwd}" is not accessible: ${error.message}` };
116
+ }
103
117
  if (resolved !== root && !resolved.startsWith(root + path.sep)) {
104
118
  return { ok: false, error: `cwd "${cwd}" resolves outside the project root` };
105
119
  }
@@ -1 +1 @@
1
- {"version":3,"file":"shell-security.js","sourceRoot":"","sources":["../../../src/utils/shell-security.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"shell-security.js","sourceRoot":"","sources":["../../../src/utils/shell-security.ts"],"names":[],"mappings":"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"}
@@ -56,7 +56,7 @@
56
56
  "properties": {
57
57
  "type": {
58
58
  "type": "string",
59
- "enum": ["agent_task", "skill_task", "shell_task", "parallel", "join", "branch", "approval", "expression", "end"]
59
+ "enum": ["agent_task", "skill_task", "shell_task", "parallel", "join", "branch", "approval", "expression", "end", "error"]
60
60
  },
61
61
  "agent": {
62
62
  "type": "string"
@@ -109,6 +109,10 @@
109
109
  "retry": {
110
110
  "$ref": "#/definitions/RetryConfig"
111
111
  },
112
+ "fail_when": {
113
+ "type": "string",
114
+ "description": "Task nodes: semantic failure judgment. Safe expression evaluated against state after the node's output is stored (e.g. 'state.verify_result.status !== \"pass\"'). Truthy → node fails and the run halts."
115
+ },
112
116
  "condition": {
113
117
  "type": "string"
114
118
  },
@@ -158,6 +162,10 @@
158
162
  "comment": {
159
163
  "type": "string"
160
164
  },
165
+ "message": {
166
+ "type": "string",
167
+ "description": "error: failure message recorded in run.error. Supports {{template}} interpolation."
168
+ },
161
169
  "on_approve": {
162
170
  "type": "string"
163
171
  },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@crewx/workflow",
3
- "version": "0.3.22-rc.9",
3
+ "version": "0.3.22",
4
4
  "description": "Workflow engine for CrewX - list, show, validate workflows with Mermaid visualization",
5
5
  "type": "commonjs",
6
6
  "main": "dist/src/engine.js",
@@ -49,8 +49,8 @@
49
49
  "@hyperjump/json-schema": "^1.9.4",
50
50
  "js-yaml": "^4.1.0",
51
51
  "@crewx/knowledge-core": "0.1.17",
52
- "@crewx/sdk": "0.8.8-rc.29",
53
- "@crewx/shared": "0.0.5"
52
+ "@crewx/shared": "0.0.5",
53
+ "@crewx/sdk": "0.8.8"
54
54
  },
55
55
  "devDependencies": {
56
56
  "@types/js-yaml": "^4.0.9",
@@ -56,7 +56,7 @@
56
56
  "properties": {
57
57
  "type": {
58
58
  "type": "string",
59
- "enum": ["agent_task", "skill_task", "shell_task", "parallel", "join", "branch", "approval", "expression", "end"]
59
+ "enum": ["agent_task", "skill_task", "shell_task", "parallel", "join", "branch", "approval", "expression", "end", "error"]
60
60
  },
61
61
  "agent": {
62
62
  "type": "string"
@@ -109,6 +109,10 @@
109
109
  "retry": {
110
110
  "$ref": "#/definitions/RetryConfig"
111
111
  },
112
+ "fail_when": {
113
+ "type": "string",
114
+ "description": "Task nodes: semantic failure judgment. Safe expression evaluated against state after the node's output is stored (e.g. 'state.verify_result.status !== \"pass\"'). Truthy → node fails and the run halts."
115
+ },
112
116
  "condition": {
113
117
  "type": "string"
114
118
  },
@@ -158,6 +162,10 @@
158
162
  "comment": {
159
163
  "type": "string"
160
164
  },
165
+ "message": {
166
+ "type": "string",
167
+ "description": "error: failure message recorded in run.error. Supports {{template}} interpolation."
168
+ },
161
169
  "on_approve": {
162
170
  "type": "string"
163
171
  },