@synergenius/flow-weaver-pack-weaver 0.9.130 → 0.9.131

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.
@@ -0,0 +1,34 @@
1
+ /**
2
+ * Single source of truth for plan step operation names.
3
+ *
4
+ * ALL operation names use underscore convention (e.g. write_file, not write-file).
5
+ * The step executor normalizes hyphens to underscores for backward compatibility.
6
+ *
7
+ * Import from here instead of hardcoding strings.
8
+ */
9
+ export declare const OP_WRITE_FILE = "write_file";
10
+ export declare const OP_READ_FILE = "read_file";
11
+ export declare const OP_PATCH_FILE = "patch_file";
12
+ export declare const OP_LIST_FILES = "list_files";
13
+ export declare const OP_CREATE_WORKFLOW = "create_workflow";
14
+ export declare const OP_MODIFY_SOURCE = "modify_source";
15
+ export declare const OP_IMPLEMENT_NODE = "implement_node";
16
+ export declare const OP_RUN_SHELL = "run_shell";
17
+ export declare const OP_VALIDATE = "validate";
18
+ export declare const OP_TSC_CHECK = "tsc_check";
19
+ export declare const OP_RUN_TESTS = "run_tests";
20
+ export declare const OP_TASK_CREATE = "task_create";
21
+ export declare const OP_RESPOND = "respond";
22
+ export declare const OP_NO_OP = "no_op";
23
+ export declare const OP_NOOP = "noop";
24
+ export declare const OP_DONE = "done";
25
+ export declare const OP_COMPLETE = "complete";
26
+ /** Operations that the create_plan tool can use. Listed in tool descriptions. */
27
+ export declare const PLAN_OPERATIONS: readonly ["write_file", "read_file", "patch_file", "list_files", "run_shell", "validate", "task_create", "respond"];
28
+ /** Operations that skip execution (text-only responses). */
29
+ export declare const PASSTHROUGH_OPERATIONS: Set<string>;
30
+ /** All file operation names for the system prompt. */
31
+ export declare const FILE_OPERATIONS: readonly ["read_file", "write_file", "patch_file", "list_files", "run_shell", "validate", "tsc_check", "run_tests"];
32
+ /** Normalize operation name: convert hyphens to underscores for backward compat. */
33
+ export declare function normalizeOperation(op: string): string;
34
+ //# sourceMappingURL=operations.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"operations.d.ts","sourceRoot":"","sources":["../../src/bot/operations.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAMH,eAAO,MAAM,aAAa,eAAe,CAAC;AAC1C,eAAO,MAAM,YAAY,cAAc,CAAC;AACxC,eAAO,MAAM,aAAa,eAAe,CAAC;AAC1C,eAAO,MAAM,aAAa,eAAe,CAAC;AAC1C,eAAO,MAAM,kBAAkB,oBAAoB,CAAC;AACpD,eAAO,MAAM,gBAAgB,kBAAkB,CAAC;AAChD,eAAO,MAAM,iBAAiB,mBAAmB,CAAC;AAMlD,eAAO,MAAM,YAAY,cAAc,CAAC;AACxC,eAAO,MAAM,WAAW,aAAa,CAAC;AACtC,eAAO,MAAM,YAAY,cAAc,CAAC;AACxC,eAAO,MAAM,YAAY,cAAc,CAAC;AAMxC,eAAO,MAAM,cAAc,gBAAgB,CAAC;AAM5C,eAAO,MAAM,UAAU,YAAY,CAAC;AACpC,eAAO,MAAM,QAAQ,UAAU,CAAC;AAChC,eAAO,MAAM,OAAO,SAAS,CAAC;AAC9B,eAAO,MAAM,OAAO,SAAS,CAAC;AAC9B,eAAO,MAAM,WAAW,aAAa,CAAC;AAMtC,iFAAiF;AACjF,eAAO,MAAM,eAAe,qHASlB,CAAC;AAEX,4DAA4D;AAC5D,eAAO,MAAM,sBAAsB,aAMjC,CAAC;AAEH,sDAAsD;AACtD,eAAO,MAAM,eAAe,qHASlB,CAAC;AAEX,oFAAoF;AACpF,wBAAgB,kBAAkB,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,CAErD"}
@@ -0,0 +1,75 @@
1
+ /**
2
+ * Single source of truth for plan step operation names.
3
+ *
4
+ * ALL operation names use underscore convention (e.g. write_file, not write-file).
5
+ * The step executor normalizes hyphens to underscores for backward compatibility.
6
+ *
7
+ * Import from here instead of hardcoding strings.
8
+ */
9
+ // ---------------------------------------------------------------------------
10
+ // File operations
11
+ // ---------------------------------------------------------------------------
12
+ export const OP_WRITE_FILE = 'write_file';
13
+ export const OP_READ_FILE = 'read_file';
14
+ export const OP_PATCH_FILE = 'patch_file';
15
+ export const OP_LIST_FILES = 'list_files';
16
+ export const OP_CREATE_WORKFLOW = 'create_workflow';
17
+ export const OP_MODIFY_SOURCE = 'modify_source';
18
+ export const OP_IMPLEMENT_NODE = 'implement_node';
19
+ // ---------------------------------------------------------------------------
20
+ // Shell & validation
21
+ // ---------------------------------------------------------------------------
22
+ export const OP_RUN_SHELL = 'run_shell';
23
+ export const OP_VALIDATE = 'validate';
24
+ export const OP_TSC_CHECK = 'tsc_check';
25
+ export const OP_RUN_TESTS = 'run_tests';
26
+ // ---------------------------------------------------------------------------
27
+ // Task management
28
+ // ---------------------------------------------------------------------------
29
+ export const OP_TASK_CREATE = 'task_create';
30
+ // ---------------------------------------------------------------------------
31
+ // Passthrough (no execution needed)
32
+ // ---------------------------------------------------------------------------
33
+ export const OP_RESPOND = 'respond';
34
+ export const OP_NO_OP = 'no_op';
35
+ export const OP_NOOP = 'noop';
36
+ export const OP_DONE = 'done';
37
+ export const OP_COMPLETE = 'complete';
38
+ // ---------------------------------------------------------------------------
39
+ // Grouped exports for consumers
40
+ // ---------------------------------------------------------------------------
41
+ /** Operations that the create_plan tool can use. Listed in tool descriptions. */
42
+ export const PLAN_OPERATIONS = [
43
+ OP_WRITE_FILE,
44
+ OP_READ_FILE,
45
+ OP_PATCH_FILE,
46
+ OP_LIST_FILES,
47
+ OP_RUN_SHELL,
48
+ OP_VALIDATE,
49
+ OP_TASK_CREATE,
50
+ OP_RESPOND,
51
+ ];
52
+ /** Operations that skip execution (text-only responses). */
53
+ export const PASSTHROUGH_OPERATIONS = new Set([
54
+ OP_RESPOND,
55
+ OP_NO_OP,
56
+ OP_NOOP,
57
+ OP_DONE,
58
+ OP_COMPLETE,
59
+ ]);
60
+ /** All file operation names for the system prompt. */
61
+ export const FILE_OPERATIONS = [
62
+ OP_READ_FILE,
63
+ OP_WRITE_FILE,
64
+ OP_PATCH_FILE,
65
+ OP_LIST_FILES,
66
+ OP_RUN_SHELL,
67
+ OP_VALIDATE,
68
+ OP_TSC_CHECK,
69
+ OP_RUN_TESTS,
70
+ ];
71
+ /** Normalize operation name: convert hyphens to underscores for backward compat. */
72
+ export function normalizeOperation(op) {
73
+ return op.replace(/-/g, '_');
74
+ }
75
+ //# sourceMappingURL=operations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"operations.js","sourceRoot":"","sources":["../../src/bot/operations.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,8EAA8E;AAC9E,kBAAkB;AAClB,8EAA8E;AAE9E,MAAM,CAAC,MAAM,aAAa,GAAG,YAAY,CAAC;AAC1C,MAAM,CAAC,MAAM,YAAY,GAAG,WAAW,CAAC;AACxC,MAAM,CAAC,MAAM,aAAa,GAAG,YAAY,CAAC;AAC1C,MAAM,CAAC,MAAM,aAAa,GAAG,YAAY,CAAC;AAC1C,MAAM,CAAC,MAAM,kBAAkB,GAAG,iBAAiB,CAAC;AACpD,MAAM,CAAC,MAAM,gBAAgB,GAAG,eAAe,CAAC;AAChD,MAAM,CAAC,MAAM,iBAAiB,GAAG,gBAAgB,CAAC;AAElD,8EAA8E;AAC9E,qBAAqB;AACrB,8EAA8E;AAE9E,MAAM,CAAC,MAAM,YAAY,GAAG,WAAW,CAAC;AACxC,MAAM,CAAC,MAAM,WAAW,GAAG,UAAU,CAAC;AACtC,MAAM,CAAC,MAAM,YAAY,GAAG,WAAW,CAAC;AACxC,MAAM,CAAC,MAAM,YAAY,GAAG,WAAW,CAAC;AAExC,8EAA8E;AAC9E,kBAAkB;AAClB,8EAA8E;AAE9E,MAAM,CAAC,MAAM,cAAc,GAAG,aAAa,CAAC;AAE5C,8EAA8E;AAC9E,oCAAoC;AACpC,8EAA8E;AAE9E,MAAM,CAAC,MAAM,UAAU,GAAG,SAAS,CAAC;AACpC,MAAM,CAAC,MAAM,QAAQ,GAAG,OAAO,CAAC;AAChC,MAAM,CAAC,MAAM,OAAO,GAAG,MAAM,CAAC;AAC9B,MAAM,CAAC,MAAM,OAAO,GAAG,MAAM,CAAC;AAC9B,MAAM,CAAC,MAAM,WAAW,GAAG,UAAU,CAAC;AAEtC,8EAA8E;AAC9E,gCAAgC;AAChC,8EAA8E;AAE9E,iFAAiF;AACjF,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,aAAa;IACb,YAAY;IACZ,aAAa;IACb,aAAa;IACb,YAAY;IACZ,WAAW;IACX,cAAc;IACd,UAAU;CACF,CAAC;AAEX,4DAA4D;AAC5D,MAAM,CAAC,MAAM,sBAAsB,GAAG,IAAI,GAAG,CAAC;IAC5C,UAAU;IACV,QAAQ;IACR,OAAO;IACP,OAAO;IACP,WAAW;CACZ,CAAC,CAAC;AAEH,sDAAsD;AACtD,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,YAAY;IACZ,aAAa;IACb,aAAa;IACb,aAAa;IACb,YAAY;IACZ,WAAW;IACX,YAAY;IACZ,YAAY;CACJ,CAAC;AAEX,oFAAoF;AACpF,MAAM,UAAU,kBAAkB,CAAC,EAAU;IAC3C,OAAO,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC;AAC/B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"step-executor.d.ts","sourceRoot":"","sources":["../../src/bot/step-executor.ts"],"names":[],"mappings":"AA2CA,gDAAgD;AAChD,wBAAgB,oBAAoB,IAAI,IAAI,CAE3C;AA4GD,MAAM,WAAW,UAAU;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,wBAAsB,WAAW,CAC/B,IAAI,EAAE;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,EAC1D,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,UAAU,CAAC,CAkRrB"}
1
+ {"version":3,"file":"step-executor.d.ts","sourceRoot":"","sources":["../../src/bot/step-executor.ts"],"names":[],"mappings":"AA4CA,gDAAgD;AAChD,wBAAgB,oBAAoB,IAAI,IAAI,CAE3C;AA4GD,MAAM,WAAW,UAAU;IACzB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,wBAAsB,WAAW,CAC/B,IAAI,EAAE;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,EAC1D,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,UAAU,CAAC,CAqRrB"}
@@ -4,6 +4,7 @@ import * as os from 'node:os';
4
4
  import { execSync } from 'node:child_process';
5
5
  import { runCommand } from '@synergenius/flow-weaver';
6
6
  import { BLOCKED_SHELL_PATTERNS } from './safety.js';
7
+ import { OP_WRITE_FILE, OP_READ_FILE, OP_PATCH_FILE, OP_LIST_FILES, OP_RUN_SHELL, OP_TASK_CREATE, OP_RESPOND, OP_NO_OP, OP_NOOP, OP_DONE, OP_COMPLETE, OP_CREATE_WORKFLOW, OP_MODIFY_SOURCE, OP_IMPLEMENT_NODE, normalizeOperation } from './operations.js';
7
8
  import { TaskStore } from './task-store.js';
8
9
  // Use the user's login shell (same as terminal panel) so profile-managed
9
10
  // tools like nvm/npm, pyenv, rbenv etc. are available.
@@ -23,7 +24,7 @@ const MAX_FILES_PER_PLAN = 50;
23
24
  const SHELL_TIMEOUT = 60_000;
24
25
  /** Maximum file size for read/patch operations (1MB). */
25
26
  const MAX_READ_SIZE = 1_048_576;
26
- /** Maximum files returned by list-files. */
27
+ /** Maximum files returned by list_files. */
27
28
  const MAX_LIST_FILES = 1000;
28
29
  // Shell blocklist imported from safety.ts — single source of truth.
29
30
  // Do NOT add patterns here; add them in safety.ts instead.
@@ -71,7 +72,7 @@ function checkWriteSafety(filePath, content) {
71
72
  return {
72
73
  allowed: false,
73
74
  reason: `Refusing to write empty content to ${path.basename(filePath)}. ` +
74
- `Use read-file first, then write the complete modified file back.`,
75
+ `Use read_file first, then write the complete modified file back.`,
75
76
  };
76
77
  }
77
78
  // Guard 2: Per-plan file cap
@@ -91,7 +92,7 @@ function checkWriteSafety(filePath, content) {
91
92
  allowed: false,
92
93
  reason: `Refusing to write ${path.basename(filePath)}: new content (${newSize}B) ` +
93
94
  `is ${shrinkPct}% smaller than existing (${existingSize}B). ` +
94
- `Use read-file first, make targeted changes, write complete file back.`,
95
+ `Use read_file first, make targeted changes, write complete file back.`,
95
96
  };
96
97
  }
97
98
  }
@@ -114,14 +115,16 @@ function checkShellSafety(command) {
114
115
  export async function executeStep(step, projectDir) {
115
116
  const args = step.args;
116
117
  const file = args.file;
117
- switch (step.operation) {
118
+ // Normalize operation names: accept both hyphens and underscores
119
+ const operation = normalizeOperation(step.operation);
120
+ switch (operation) {
118
121
  // -----------------------------------------------------------------
119
122
  // File write operations (with safety guards)
120
123
  // -----------------------------------------------------------------
121
- case 'write-file':
122
- case 'create-workflow':
123
- case 'modify-source':
124
- case 'implement-node': {
124
+ case OP_WRITE_FILE:
125
+ case OP_CREATE_WORKFLOW:
126
+ case OP_MODIFY_SOURCE:
127
+ case OP_IMPLEMENT_NODE: {
125
128
  if (!file) {
126
129
  return { blocked: true, blockReason: `${step.operation} requires a "file" argument.` };
127
130
  }
@@ -141,9 +144,9 @@ export async function executeStep(step, projectDir) {
141
144
  // -----------------------------------------------------------------
142
145
  // Patch file: surgical find-and-replace (no full rewrite needed)
143
146
  // -----------------------------------------------------------------
144
- case 'patch-file': {
147
+ case OP_PATCH_FILE: {
145
148
  if (!file) {
146
- return { blocked: true, blockReason: 'patch-file requires a "file" argument.' };
149
+ return { blocked: true, blockReason: 'patch_file requires a "file" argument.' };
147
150
  }
148
151
  assertSafePath(file, projectDir);
149
152
  const filePath = path.resolve(projectDir, file);
@@ -153,7 +156,7 @@ export async function executeStep(step, projectDir) {
153
156
  // File size guard
154
157
  const fileSize = fs.statSync(filePath).size;
155
158
  if (fileSize > MAX_READ_SIZE) {
156
- return { blocked: true, blockReason: `File too large for patch-file (${fileSize} bytes, max ${MAX_READ_SIZE}).` };
159
+ return { blocked: true, blockReason: `File too large for patch_file (${fileSize} bytes, max ${MAX_READ_SIZE}).` };
157
160
  }
158
161
  let content = fs.readFileSync(filePath, 'utf-8');
159
162
  const patches = args.patches ?? [];
@@ -161,7 +164,7 @@ export async function executeStep(step, projectDir) {
161
164
  patches.push({ find: args.find, replace: args.replace });
162
165
  }
163
166
  if (!patches.length) {
164
- return { blocked: true, blockReason: 'patch-file requires "patches" array or "find"+"replace" args.' };
167
+ return { blocked: true, blockReason: 'patch_file requires "patches" array or "find"+"replace" args.' };
165
168
  }
166
169
  let applied = 0;
167
170
  const notFound = [];
@@ -202,7 +205,7 @@ export async function executeStep(step, projectDir) {
202
205
  // -----------------------------------------------------------------
203
206
  // Read file: return content for AI context
204
207
  // -----------------------------------------------------------------
205
- case 'read-file': {
208
+ case OP_READ_FILE: {
206
209
  if (!file) {
207
210
  return { output: '' };
208
211
  }
@@ -218,7 +221,7 @@ export async function executeStep(step, projectDir) {
218
221
  return { output: `"${file}" is a directory. Contents:\n${entries.join('\n')}` };
219
222
  }
220
223
  if (stat.size > MAX_READ_SIZE) {
221
- return { output: `File too large to read (${stat.size} bytes, max ${MAX_READ_SIZE}). Use run-shell with head/tail instead.` };
224
+ return { output: `File too large to read (${stat.size} bytes, max ${MAX_READ_SIZE}). Use run_shell with head/tail instead.` };
222
225
  }
223
226
  const content = fs.readFileSync(filePath, 'utf-8');
224
227
  return { file: filePath, output: content };
@@ -231,10 +234,10 @@ export async function executeStep(step, projectDir) {
231
234
  // -----------------------------------------------------------------
232
235
  // Shell command: run arbitrary command with safety guards
233
236
  // -----------------------------------------------------------------
234
- case 'run-shell': {
237
+ case OP_RUN_SHELL: {
235
238
  const command = args.command ?? '';
236
239
  if (!command.trim()) {
237
- return { blocked: true, blockReason: 'run-shell requires a "command" argument.' };
240
+ return { blocked: true, blockReason: 'run_shell requires a "command" argument.' };
238
241
  }
239
242
  const shellGuard = checkShellSafety(command);
240
243
  if (!shellGuard.allowed) {
@@ -269,7 +272,7 @@ export async function executeStep(step, projectDir) {
269
272
  // -----------------------------------------------------------------
270
273
  // List files: glob-like directory listing
271
274
  // -----------------------------------------------------------------
272
- case 'list-files': {
275
+ case OP_LIST_FILES: {
273
276
  const dir = args.directory ?? args.dir ?? '.';
274
277
  const pattern = args.pattern ?? '';
275
278
  assertSafePath(dir, projectDir);
@@ -315,10 +318,10 @@ export async function executeStep(step, projectDir) {
315
318
  // -----------------------------------------------------------------
316
319
  // Task management — create subtasks for recursive swarm execution
317
320
  // -----------------------------------------------------------------
318
- case 'task-create': {
321
+ case OP_TASK_CREATE: {
319
322
  const title = args.title ?? '';
320
323
  if (!title)
321
- return { blocked: true, blockReason: 'task-create requires a "title" argument.' };
324
+ return { blocked: true, blockReason: 'task_create requires a "title" argument.' };
322
325
  const store = new TaskStore(projectDir);
323
326
  const input = {
324
327
  title,
@@ -346,18 +349,18 @@ export async function executeStep(step, projectDir) {
346
349
  // -----------------------------------------------------------------
347
350
  // Passthrough operations
348
351
  // -----------------------------------------------------------------
349
- case 'respond':
350
- case 'no-op':
351
- case 'noop':
352
- case 'done':
353
- case 'complete': {
352
+ case OP_RESPOND:
353
+ case OP_NO_OP:
354
+ case OP_NOOP:
355
+ case OP_DONE:
356
+ case OP_COMPLETE: {
354
357
  // Passthrough operations — the plan already contains the answer or
355
358
  // there's nothing to execute. Return the response text as output.
356
359
  const response = args.response ?? args.text ?? args.description ?? '';
357
360
  return { output: response || undefined };
358
361
  }
359
362
  default: {
360
- const result = await runCommand(step.operation, { ...args, cwd: projectDir });
363
+ const result = await runCommand(operation, { ...args, cwd: projectDir });
361
364
  return {
362
365
  file: result.files?.[0],
363
366
  files: result.files,
@@ -1 +1 @@
1
- {"version":3,"file":"step-executor.js","sourceRoot":"","sources":["../../src/bot/step-executor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"step-executor.js","sourceRoot":"","sources":["../../src/bot/step-executor.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"system-prompt.d.ts","sourceRoot":"","sources":["../../src/bot/system-prompt.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAuBH,UAAU,aAAa;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,OAAO,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CAClE;AAsDD,qFAAqF;AACrF,eAAO,MAAM,eAAe,2EAA4E,CAAC;AACzG,MAAM,MAAM,aAAa,GAAG,OAAO,eAAe,CAAC,MAAM,CAAC,CAAC;AAE3D,qDAAqD;AACrD,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;CACvC;AAoID,wBAAsB,iBAAiB,CAAC,QAAQ,CAAC,EAAE,GAAG,CAAC,aAAa,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAyBtF;AA0CD,wBAAgB,oBAAoB,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,aAAa,EAAE,EAAE,UAAU,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,GAAG,CAAC,aAAa,CAAC,GAAG,MAAM,CA8BvJ"}
1
+ {"version":3,"file":"system-prompt.d.ts","sourceRoot":"","sources":["../../src/bot/system-prompt.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAyBH,UAAU,aAAa;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,OAAO,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CAClE;AAsDD,qFAAqF;AACrF,eAAO,MAAM,eAAe,2EAA4E,CAAC;AACzG,MAAM,MAAM,aAAa,GAAG,OAAO,eAAe,CAAC,MAAM,CAAC,CAAC;AAE3D,qDAAqD;AACrD,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;CACvC;AAoID,wBAAsB,iBAAiB,CAAC,QAAQ,CAAC,EAAE,GAAG,CAAC,aAAa,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAyBtF;AA0CD,wBAAgB,oBAAoB,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,aAAa,EAAE,EAAE,UAAU,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,GAAG,CAAC,aAAa,CAAC,GAAG,MAAM,CA8BvJ"}
@@ -2,6 +2,7 @@
2
2
  * Builds the Weaver expert system prompt from flow-weaver's doc-metadata.
3
3
  * This ensures Weaver's knowledge stays in sync with the installed flow-weaver version.
4
4
  */
5
+ import { FILE_OPERATIONS, OP_TASK_CREATE, OP_PATCH_FILE, OP_WRITE_FILE } from './operations.js';
5
6
  let cachedPrompt = null;
6
7
  function formatAnnotations(annotations) {
7
8
  // Group by category, show syntax + description
@@ -139,10 +140,10 @@ When stabilize mode is active, only fix-up operations are allowed.`);
139
140
  USE TOOLS to complete tasks. Do NOT describe what you would do — actually do it by calling tools.
140
141
 
141
142
  ### File tools
142
- - read-file, write-file, patch-file, list-files, run-shell, validate, tsc-check, run-tests
143
+ - ${FILE_OPERATIONS.join(', ')}
143
144
 
144
145
  ### Task management tools
145
- - task-create (args: title, description, complexity, subtasks[]) — create swarm subtasks for parallel execution
146
+ - ${OP_TASK_CREATE} (args: title, description, complexity, subtasks[]) — create swarm subtasks for parallel execution
146
147
  - task_list, task_get, task_update — query and update existing tasks
147
148
 
148
149
  ### Knowledge tools
@@ -154,7 +155,7 @@ USE TOOLS to complete tasks. Do NOT describe what you would do — actually do i
154
155
  ### Rules
155
156
  - Always validate BEFORE and AFTER patching
156
157
  - Always read a file before patching it
157
- - Use patch-file for modifications, write-file only for new files
158
+ - Use ${OP_PATCH_FILE} for modifications, ${OP_WRITE_FILE} only for new files
158
159
  - Be concise — let tool results speak`);
159
160
  }
160
161
  parts.push(`## Teaching
@@ -186,23 +187,23 @@ export async function buildSystemPrompt(sections) {
186
187
  function formatBotOperations(cliCommands) {
187
188
  const packOps = [
188
189
  '## File Operations',
189
- '- create-workflow: Create a new workflow file. args: { file, content }',
190
- '- implement-node: Write a node type implementation. args: { file, content }',
191
- '- write-file: Write a file. args: { file, content }. Content must be the COMPLETE file.',
192
- '- read-file: Read a file and return its content. args: { file }',
193
- '- patch-file: Surgical find-and-replace edits. args: { file, patches: [{ find: "old text", replace: "new text" }] }. PREFERRED for modifying existing files — no need to rewrite the entire file.',
194
- '- list-files: List files in a directory. args: { directory, pattern? } (pattern is regex)',
190
+ '- create_workflow: Create a new workflow file. args: { file, content }',
191
+ '- implement_node: Write a node type implementation. args: { file, content }',
192
+ '- write_file: Write a file. args: { file, content }. Content must be the COMPLETE file.',
193
+ '- read_file: Read a file and return its content. args: { file }',
194
+ '- patch_file: Surgical find-and-replace edits. args: { file, patches: [{ find: "old text", replace: "new text" }] }. PREFERRED for modifying existing files — no need to rewrite the entire file.',
195
+ '- list_files: List files in a directory. args: { directory, pattern? } (pattern is regex)',
195
196
  '',
196
197
  '## Shell Commands',
197
- '- run-shell: Execute a shell command and return output. args: { command }. Use for: npx vitest, git status, grep, find, etc.',
198
+ '- run_shell: Execute a shell command and return output. args: { command }. Use for: npx vitest, git status, grep, find, etc.',
198
199
  ' Examples: { "command": "npx vitest run --reporter verbose" }, { "command": "npx flow-weaver validate src/workflow.ts --json" }',
199
200
  ' Blocked: rm -rf, git push, npm publish, sudo, curl|sh (safety policy).',
200
201
  '',
201
202
  '## Best Practices',
202
- 'PREFER patch-file over write-file for modifying existing files (surgical edits, no truncation risk).',
203
- 'Use run-shell for running tests (npx vitest), validation (flow-weaver validate), and inspecting output.',
204
- 'Use read-file to understand a file before modifying it.',
205
- 'Use list-files to discover project structure.',
203
+ 'PREFER patch_file over write_file for modifying existing files (surgical edits, no truncation risk).',
204
+ 'Use run_shell for running tests (npx vitest), validation (flow-weaver validate), and inspecting output.',
205
+ 'Use read_file to understand a file before modifying it.',
206
+ 'Use list_files to discover project structure.',
206
207
  'Writes that shrink a file by >50% or write empty content are automatically BLOCKED.',
207
208
  ];
208
209
  const fwOps = cliCommands
@@ -1 +1 @@
1
- {"version":3,"file":"system-prompt.js","sourceRoot":"","sources":["../../src/bot/system-prompt.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"system-prompt.js","sourceRoot":"","sources":["../../src/bot/system-prompt.ts"],"names":[],"mappings":"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"}
@@ -12,12 +12,12 @@ import { isBlockedUrl } from './safety.js';
12
12
  export { WEAVER_TOOLS };
13
13
  /** Map tool names to step-executor operations. */
14
14
  const OPERATION_MAP = {
15
- validate: 'run-shell',
16
- read_file: 'read-file',
17
- patch_file: 'patch-file',
18
- run_shell: 'run-shell',
19
- list_files: 'list-files',
20
- write_file: 'write-file',
15
+ validate: 'run_shell',
16
+ read_file: 'read_file',
17
+ patch_file: 'patch_file',
18
+ run_shell: 'run_shell',
19
+ list_files: 'list_files',
20
+ write_file: 'write_file',
21
21
  };
22
22
  /**
23
23
  * Execute a weaver tool call. Delegates to step-executor with safety guards.
@@ -174,7 +174,7 @@ export function createWeaverExecutor(projectDir) {
174
174
  if (!operation) {
175
175
  return { result: `Unknown tool: ${name}`, isError: true };
176
176
  }
177
- // Transform validate tool to run-shell with flow-weaver validate command
177
+ // Transform validate tool to run_shell with flow-weaver validate command
178
178
  let stepArgs = { ...args };
179
179
  if (name === 'validate') {
180
180
  stepArgs = { command: `npx flow-weaver validate ${args.file} --json` };
@@ -20,7 +20,7 @@ declare class CliSessionProvider implements AgentProvider {
20
20
  export { CliSessionProvider };
21
21
  /**
22
22
  * Tool-use agent execution. Claude drives the entire task via tool calls
23
- * (validate, read-file, patch-file, run-shell, etc.) in a single continuous
23
+ * (validate, read_file, patch_file, run_shell, etc.) in a single continuous
24
24
  * conversation. No separate plan or retry loop needed.
25
25
  *
26
26
  * @flowWeaver nodeType
@@ -64,7 +64,7 @@ class CliSessionProvider {
64
64
  export { CliSessionProvider };
65
65
  /**
66
66
  * Tool-use agent execution. Claude drives the entire task via tool calls
67
- * (validate, read-file, patch-file, run-shell, etc.) in a single continuous
67
+ * (validate, read_file, patch_file, run_shell, etc.) in a single continuous
68
68
  * conversation. No separate plan or retry loop needed.
69
69
  *
70
70
  * @flowWeaver nodeType
@@ -1 +1 @@
1
- {"version":3,"file":"exec-validate-retry.d.ts","sourceRoot":"","sources":["../../src/node-types/exec-validate-retry.ts"],"names":[],"mappings":"AASA;;;;;;;;;;;;;GAaG;AACH,wBAAsB,uBAAuB,CAC3C,OAAO,EAAE,OAAO,EAChB,GAAG,EAAE,MAAM,EACX,aAAa,CAAC,EAAE,MAAM,GACrB,OAAO,CAAC;IACT,SAAS,EAAE,OAAO,CAAC;IAAC,SAAS,EAAE,OAAO,CAAC;IACvC,GAAG,EAAE,MAAM,CAAC;CACb,CAAC,CA2ID"}
1
+ {"version":3,"file":"exec-validate-retry.d.ts","sourceRoot":"","sources":["../../src/node-types/exec-validate-retry.ts"],"names":[],"mappings":"AAUA;;;;;;;;;;;;;GAaG;AACH,wBAAsB,uBAAuB,CAC3C,OAAO,EAAE,OAAO,EAChB,GAAG,EAAE,MAAM,EACX,aAAa,CAAC,EAAE,MAAM,GACrB,OAAO,CAAC;IACT,SAAS,EAAE,OAAO,CAAC;IAAC,SAAS,EAAE,OAAO,CAAC;IACvC,GAAG,EAAE,MAAM,CAAC;CACb,CAAC,CA2ID"}
@@ -5,6 +5,7 @@ import { callAI, parseJsonResponse, normalizePlan } from '../bot/ai-client.js';
5
5
  import { executeStep } from '../bot/step-executor.js';
6
6
  import { validateFiles } from '../bot/file-validator.js';
7
7
  import { auditEmit } from '../bot/audit-logger.js';
8
+ import { PASSTHROUGH_OPERATIONS } from '../bot/operations.js';
8
9
  /**
9
10
  * Execute-validate-fix retry loop. Runs the plan, validates results,
10
11
  * and if validation fails, asks the AI for fixes. Up to 3 attempts.
@@ -36,7 +37,7 @@ export async function weaverExecValidateRetry(execute, ctx, modelOverride) {
36
37
  let currentPlan = JSON.parse(context.planJson);
37
38
  // Short-circuit: if ALL steps are passthrough operations (respond, no-op, etc.),
38
39
  // skip the execute→validate→fix loop entirely. The plan already has the answer.
39
- const PASSTHROUGH_OPS = new Set(['respond', 'no-op', 'noop', 'done', 'complete']);
40
+ const PASSTHROUGH_OPS = PASSTHROUGH_OPERATIONS;
40
41
  const steps = currentPlan.steps ?? [];
41
42
  if (steps.length > 0 && steps.every((s) => PASSTHROUGH_OPS.has(s.operation))) {
42
43
  console.log(`\x1b[36m→ Text-only plan (${steps.length} passthrough steps), skipping execution loop\x1b[0m`);
@@ -121,7 +122,7 @@ export async function weaverExecValidateRetry(execute, ctx, modelOverride) {
121
122
  const outputContext = Object.entries(execResult.stepOutputs)
122
123
  .map(([id, out]) => `--- Output of ${id} ---\n${out}`)
123
124
  .join('\n\n');
124
- const fixPrompt = `The following validation errors occurred:\n${errors}\n\n${outputContext ? `Discovery step outputs:\n${outputContext}\n\n` : ''}Provide a CONCRETE fix plan. Every patch-file step MUST include "file" (absolute path from the outputs above) and "patches" array with exact "find"/"replace" strings. Do NOT use placeholders.`;
125
+ const fixPrompt = `The following validation errors occurred:\n${errors}\n\n${outputContext ? `Discovery step outputs:\n${outputContext}\n\n` : ''}Provide a CONCRETE fix plan. Every patch_file step MUST include "file" (absolute path from the outputs above) and "patches" array with exact "find"/"replace" strings. Do NOT use placeholders.`;
125
126
  const text = await callAI(pInfo, systemPrompt, fixPrompt, 8192);
126
127
  const parsed = parseJsonResponse(text);
127
128
  currentPlan = normalizePlan(parsed);
@@ -1 +1 @@
1
- {"version":3,"file":"exec-validate-retry.js","sourceRoot":"","sources":["../../src/node-types/exec-validate-retry.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"exec-validate-retry.js","sourceRoot":"","sources":["../../src/node-types/exec-validate-retry.ts"],"names":[],"mappings":"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"}
@@ -45,10 +45,10 @@ Provide a fix plan as JSON: {"steps": [...], "summary": "..."}
45
45
  Each step MUST have: "id" (string), "operation" (string), "description" (string), "args" (object).
46
46
 
47
47
  Available operations for fixes:
48
- - patch-file: Surgical find-and-replace. args: { "file": "path", "patches": [{ "find": "old text", "replace": "new text" }] }
48
+ - patch_file: Surgical find-and-replace. args: { "file": "path", "patches": [{ "find": "old text", "replace": "new text" }] }
49
49
  PREFERRED for fixing @input annotations. Example: { "find": "@input portName", "replace": "@input [portName]" }
50
- - run-shell: Execute a command. args: { "command": "..." }
51
- - read-file: Read file content. args: { "file": "path" }
50
+ - run_shell: Execute a command. args: { "command": "..." }
51
+ - read_file: Read file content. args: { "file": "path" }
52
52
 
53
53
  Return ONLY valid JSON. No explanation outside the JSON.`;
54
54
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"plan-task.d.ts","sourceRoot":"","sources":["../../src/node-types/plan-task.ts"],"names":[],"mappings":"AA0CA;;;;;;;;;;;;;GAaG;AACH,wBAAsB,cAAc,CAClC,OAAO,EAAE,OAAO,EAChB,GAAG,EAAE,MAAM,EACX,aAAa,CAAC,EAAE,MAAM,GACrB,OAAO,CAAC;IACT,SAAS,EAAE,OAAO,CAAC;IAAC,SAAS,EAAE,OAAO,CAAC;IACvC,GAAG,EAAE,MAAM,CAAC;CACb,CAAC,CA8FD"}
1
+ {"version":3,"file":"plan-task.d.ts","sourceRoot":"","sources":["../../src/node-types/plan-task.ts"],"names":[],"mappings":"AA2CA;;;;;;;;;;;;;GAaG;AACH,wBAAsB,cAAc,CAClC,OAAO,EAAE,OAAO,EAChB,GAAG,EAAE,MAAM,EACX,aAAa,CAAC,EAAE,MAAM,GACrB,OAAO,CAAC;IACT,SAAS,EAAE,OAAO,CAAC;IAAC,SAAS,EAAE,OAAO,CAAC;IACvC,GAAG,EAAE,MAAM,CAAC;CACb,CAAC,CA8FD"}
@@ -1,5 +1,6 @@
1
1
  import { callAIWithTools, callTriage, parseJsonResponse, normalizePlan } from '../bot/ai-client.js';
2
2
  import { auditEmit } from '../bot/audit-logger.js';
3
+ import { PLAN_OPERATIONS } from '../bot/operations.js';
3
4
  // ---------------------------------------------------------------------------
4
5
  // Plan tool definition — passed via native tool_use so the AI returns
5
6
  // structured JSON arguments instead of prose. Works across Anthropic and OpenAI.
@@ -19,7 +20,7 @@ const PLAN_TOOL = {
19
20
  properties: {
20
21
  operation: {
21
22
  type: 'string',
22
- description: 'Tool to invoke: write-file, read-file, patch-file, list-files, run-shell, validate, task-create, respond',
23
+ description: `Tool to invoke: ${PLAN_OPERATIONS.join(', ')}`,
23
24
  },
24
25
  description: { type: 'string', description: 'What this step does' },
25
26
  args: {
@@ -98,9 +99,9 @@ export async function weaverPlanTask(execute, ctx, modelOverride) {
98
99
  Plan this task by calling the create_plan tool with concrete steps.
99
100
  Rules:
100
101
  1. Every step MUST have complete, concrete args — no empty patches, no placeholders.
101
- 2. For file creation tasks, use write-file with full file content in args.
102
- 3. If you need to discover file contents first, plan ONLY discovery steps (read-file, list-files).
103
- 4. Do NOT plan patch-file unless you know the exact find/replace strings.`;
102
+ 2. For file creation tasks, use write_file with full file content in args.
103
+ 3. If you need to discover file contents first, plan ONLY discovery steps (read_file, list_files).
104
+ 4. Do NOT plan patch_file unless you know the exact find/replace strings.`;
104
105
  try {
105
106
  // Use native tool_use when available (Anthropic, OpenAI).
106
107
  // The AI calls create_plan with structured args instead of returning prose.
@@ -1 +1 @@
1
- {"version":3,"file":"plan-task.js","sourceRoot":"","sources":["../../src/node-types/plan-task.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plan-task.js","sourceRoot":"","sources":["../../src/node-types/plan-task.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "manifestVersion": 2,
3
3
  "name": "@synergenius/flow-weaver-pack-weaver",
4
- "version": "0.9.130",
4
+ "version": "0.9.131",
5
5
  "description": "AI bot for Flow Weaver. Execute tasks, run workflows, evolve autonomously.",
6
6
  "engineVersion": ">=0.22.10",
7
7
  "categories": [
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@synergenius/flow-weaver-pack-weaver",
3
- "version": "0.9.130",
3
+ "version": "0.9.131",
4
4
  "description": "AI bot for Flow Weaver. Execute tasks, run workflows, evolve autonomously.",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -0,0 +1,87 @@
1
+ /**
2
+ * Single source of truth for plan step operation names.
3
+ *
4
+ * ALL operation names use underscore convention (e.g. write_file, not write-file).
5
+ * The step executor normalizes hyphens to underscores for backward compatibility.
6
+ *
7
+ * Import from here instead of hardcoding strings.
8
+ */
9
+
10
+ // ---------------------------------------------------------------------------
11
+ // File operations
12
+ // ---------------------------------------------------------------------------
13
+
14
+ export const OP_WRITE_FILE = 'write_file';
15
+ export const OP_READ_FILE = 'read_file';
16
+ export const OP_PATCH_FILE = 'patch_file';
17
+ export const OP_LIST_FILES = 'list_files';
18
+ export const OP_CREATE_WORKFLOW = 'create_workflow';
19
+ export const OP_MODIFY_SOURCE = 'modify_source';
20
+ export const OP_IMPLEMENT_NODE = 'implement_node';
21
+
22
+ // ---------------------------------------------------------------------------
23
+ // Shell & validation
24
+ // ---------------------------------------------------------------------------
25
+
26
+ export const OP_RUN_SHELL = 'run_shell';
27
+ export const OP_VALIDATE = 'validate';
28
+ export const OP_TSC_CHECK = 'tsc_check';
29
+ export const OP_RUN_TESTS = 'run_tests';
30
+
31
+ // ---------------------------------------------------------------------------
32
+ // Task management
33
+ // ---------------------------------------------------------------------------
34
+
35
+ export const OP_TASK_CREATE = 'task_create';
36
+
37
+ // ---------------------------------------------------------------------------
38
+ // Passthrough (no execution needed)
39
+ // ---------------------------------------------------------------------------
40
+
41
+ export const OP_RESPOND = 'respond';
42
+ export const OP_NO_OP = 'no_op';
43
+ export const OP_NOOP = 'noop';
44
+ export const OP_DONE = 'done';
45
+ export const OP_COMPLETE = 'complete';
46
+
47
+ // ---------------------------------------------------------------------------
48
+ // Grouped exports for consumers
49
+ // ---------------------------------------------------------------------------
50
+
51
+ /** Operations that the create_plan tool can use. Listed in tool descriptions. */
52
+ export const PLAN_OPERATIONS = [
53
+ OP_WRITE_FILE,
54
+ OP_READ_FILE,
55
+ OP_PATCH_FILE,
56
+ OP_LIST_FILES,
57
+ OP_RUN_SHELL,
58
+ OP_VALIDATE,
59
+ OP_TASK_CREATE,
60
+ OP_RESPOND,
61
+ ] as const;
62
+
63
+ /** Operations that skip execution (text-only responses). */
64
+ export const PASSTHROUGH_OPERATIONS = new Set([
65
+ OP_RESPOND,
66
+ OP_NO_OP,
67
+ OP_NOOP,
68
+ OP_DONE,
69
+ OP_COMPLETE,
70
+ ]);
71
+
72
+ /** All file operation names for the system prompt. */
73
+ export const FILE_OPERATIONS = [
74
+ OP_READ_FILE,
75
+ OP_WRITE_FILE,
76
+ OP_PATCH_FILE,
77
+ OP_LIST_FILES,
78
+ OP_RUN_SHELL,
79
+ OP_VALIDATE,
80
+ OP_TSC_CHECK,
81
+ OP_RUN_TESTS,
82
+ ] as const;
83
+
84
+ /** Normalize operation name: convert hyphens to underscores for backward compat. */
85
+ export function normalizeOperation(op: string): string {
86
+ return op.replace(/-/g, '_');
87
+ }
@@ -4,6 +4,7 @@ import * as os from 'node:os';
4
4
  import { execSync } from 'node:child_process';
5
5
  import { runCommand } from '@synergenius/flow-weaver';
6
6
  import { BLOCKED_SHELL_PATTERNS } from './safety.js';
7
+ import { OP_WRITE_FILE, OP_READ_FILE, OP_PATCH_FILE, OP_LIST_FILES, OP_RUN_SHELL, OP_TASK_CREATE, OP_RESPOND, OP_NO_OP, OP_NOOP, OP_DONE, OP_COMPLETE, OP_CREATE_WORKFLOW, OP_MODIFY_SOURCE, OP_IMPLEMENT_NODE, normalizeOperation } from './operations.js';
7
8
  import { TaskStore } from './task-store.js';
8
9
  import type { CreateTaskInput } from './task-types.js';
9
10
 
@@ -32,7 +33,7 @@ const SHELL_TIMEOUT = 60_000;
32
33
  /** Maximum file size for read/patch operations (1MB). */
33
34
  const MAX_READ_SIZE = 1_048_576;
34
35
 
35
- /** Maximum files returned by list-files. */
36
+ /** Maximum files returned by list_files. */
36
37
  const MAX_LIST_FILES = 1000;
37
38
 
38
39
  // Shell blocklist imported from safety.ts — single source of truth.
@@ -101,7 +102,7 @@ function checkWriteSafety(filePath: string, content: string): WriteGuardResult {
101
102
  allowed: false,
102
103
  reason:
103
104
  `Refusing to write empty content to ${path.basename(filePath)}. ` +
104
- `Use read-file first, then write the complete modified file back.`,
105
+ `Use read_file first, then write the complete modified file back.`,
105
106
  };
106
107
  }
107
108
 
@@ -124,7 +125,7 @@ function checkWriteSafety(filePath: string, content: string): WriteGuardResult {
124
125
  reason:
125
126
  `Refusing to write ${path.basename(filePath)}: new content (${newSize}B) ` +
126
127
  `is ${shrinkPct}% smaller than existing (${existingSize}B). ` +
127
- `Use read-file first, make targeted changes, write complete file back.`,
128
+ `Use read_file first, make targeted changes, write complete file back.`,
128
129
  };
129
130
  }
130
131
  }
@@ -168,14 +169,17 @@ export async function executeStep(
168
169
  const args = step.args;
169
170
  const file = args.file as string | undefined;
170
171
 
171
- switch (step.operation) {
172
+ // Normalize operation names: accept both hyphens and underscores
173
+ const operation = normalizeOperation(step.operation);
174
+
175
+ switch (operation) {
172
176
  // -----------------------------------------------------------------
173
177
  // File write operations (with safety guards)
174
178
  // -----------------------------------------------------------------
175
- case 'write-file':
176
- case 'create-workflow':
177
- case 'modify-source':
178
- case 'implement-node': {
179
+ case OP_WRITE_FILE:
180
+ case OP_CREATE_WORKFLOW:
181
+ case OP_MODIFY_SOURCE:
182
+ case OP_IMPLEMENT_NODE: {
179
183
  if (!file) {
180
184
  return { blocked: true, blockReason: `${step.operation} requires a "file" argument.` };
181
185
  }
@@ -198,9 +202,9 @@ export async function executeStep(
198
202
  // -----------------------------------------------------------------
199
203
  // Patch file: surgical find-and-replace (no full rewrite needed)
200
204
  // -----------------------------------------------------------------
201
- case 'patch-file': {
205
+ case OP_PATCH_FILE: {
202
206
  if (!file) {
203
- return { blocked: true, blockReason: 'patch-file requires a "file" argument.' };
207
+ return { blocked: true, blockReason: 'patch_file requires a "file" argument.' };
204
208
  }
205
209
  assertSafePath(file, projectDir);
206
210
  const filePath = path.resolve(projectDir, file);
@@ -212,7 +216,7 @@ export async function executeStep(
212
216
  // File size guard
213
217
  const fileSize = fs.statSync(filePath).size;
214
218
  if (fileSize > MAX_READ_SIZE) {
215
- return { blocked: true, blockReason: `File too large for patch-file (${fileSize} bytes, max ${MAX_READ_SIZE}).` };
219
+ return { blocked: true, blockReason: `File too large for patch_file (${fileSize} bytes, max ${MAX_READ_SIZE}).` };
216
220
  }
217
221
 
218
222
  let content = fs.readFileSync(filePath, 'utf-8');
@@ -223,7 +227,7 @@ export async function executeStep(
223
227
  }
224
228
 
225
229
  if (!patches.length) {
226
- return { blocked: true, blockReason: 'patch-file requires "patches" array or "find"+"replace" args.' };
230
+ return { blocked: true, blockReason: 'patch_file requires "patches" array or "find"+"replace" args.' };
227
231
  }
228
232
 
229
233
  let applied = 0;
@@ -271,7 +275,7 @@ export async function executeStep(
271
275
  // -----------------------------------------------------------------
272
276
  // Read file: return content for AI context
273
277
  // -----------------------------------------------------------------
274
- case 'read-file': {
278
+ case OP_READ_FILE: {
275
279
  if (!file) {
276
280
  return { output: '' };
277
281
  }
@@ -287,7 +291,7 @@ export async function executeStep(
287
291
  return { output: `"${file}" is a directory. Contents:\n${entries.join('\n')}` };
288
292
  }
289
293
  if (stat.size > MAX_READ_SIZE) {
290
- return { output: `File too large to read (${stat.size} bytes, max ${MAX_READ_SIZE}). Use run-shell with head/tail instead.` };
294
+ return { output: `File too large to read (${stat.size} bytes, max ${MAX_READ_SIZE}). Use run_shell with head/tail instead.` };
291
295
  }
292
296
  const content = fs.readFileSync(filePath, 'utf-8');
293
297
  return { file: filePath, output: content };
@@ -300,10 +304,10 @@ export async function executeStep(
300
304
  // -----------------------------------------------------------------
301
305
  // Shell command: run arbitrary command with safety guards
302
306
  // -----------------------------------------------------------------
303
- case 'run-shell': {
307
+ case OP_RUN_SHELL: {
304
308
  const command = (args.command as string) ?? '';
305
309
  if (!command.trim()) {
306
- return { blocked: true, blockReason: 'run-shell requires a "command" argument.' };
310
+ return { blocked: true, blockReason: 'run_shell requires a "command" argument.' };
307
311
  }
308
312
 
309
313
  const shellGuard = checkShellSafety(command);
@@ -340,7 +344,7 @@ export async function executeStep(
340
344
  // -----------------------------------------------------------------
341
345
  // List files: glob-like directory listing
342
346
  // -----------------------------------------------------------------
343
- case 'list-files': {
347
+ case OP_LIST_FILES: {
344
348
  const dir = (args.directory as string) ?? (args.dir as string) ?? '.';
345
349
  const pattern = (args.pattern as string) ?? '';
346
350
  assertSafePath(dir, projectDir);
@@ -384,9 +388,9 @@ export async function executeStep(
384
388
  // -----------------------------------------------------------------
385
389
  // Task management — create subtasks for recursive swarm execution
386
390
  // -----------------------------------------------------------------
387
- case 'task-create': {
391
+ case OP_TASK_CREATE: {
388
392
  const title = (args.title as string) ?? '';
389
- if (!title) return { blocked: true, blockReason: 'task-create requires a "title" argument.' };
393
+ if (!title) return { blocked: true, blockReason: 'task_create requires a "title" argument.' };
390
394
 
391
395
  const store = new TaskStore(projectDir);
392
396
  const input: CreateTaskInput = {
@@ -418,11 +422,11 @@ export async function executeStep(
418
422
  // -----------------------------------------------------------------
419
423
  // Passthrough operations
420
424
  // -----------------------------------------------------------------
421
- case 'respond':
422
- case 'no-op':
423
- case 'noop':
424
- case 'done':
425
- case 'complete': {
425
+ case OP_RESPOND:
426
+ case OP_NO_OP:
427
+ case OP_NOOP:
428
+ case OP_DONE:
429
+ case OP_COMPLETE: {
426
430
  // Passthrough operations — the plan already contains the answer or
427
431
  // there's nothing to execute. Return the response text as output.
428
432
  const response = (args.response as string) ?? (args.text as string) ?? (args.description as string) ?? '';
@@ -430,7 +434,7 @@ export async function executeStep(
430
434
  }
431
435
 
432
436
  default: {
433
- const result = await runCommand(step.operation, { ...args, cwd: projectDir });
437
+ const result = await runCommand(operation, { ...args, cwd: projectDir });
434
438
  return {
435
439
  file: result.files?.[0],
436
440
  files: result.files,
@@ -3,6 +3,8 @@
3
3
  * This ensures Weaver's knowledge stays in sync with the installed flow-weaver version.
4
4
  */
5
5
 
6
+ import { FILE_OPERATIONS, OP_TASK_CREATE, OP_PATCH_FILE, OP_WRITE_FILE } from './operations.js';
7
+
6
8
  interface AnnotationDoc {
7
9
  name: string;
8
10
  syntax: string;
@@ -197,10 +199,10 @@ When stabilize mode is active, only fix-up operations are allowed.`);
197
199
  USE TOOLS to complete tasks. Do NOT describe what you would do — actually do it by calling tools.
198
200
 
199
201
  ### File tools
200
- - read-file, write-file, patch-file, list-files, run-shell, validate, tsc-check, run-tests
202
+ - ${FILE_OPERATIONS.join(', ')}
201
203
 
202
204
  ### Task management tools
203
- - task-create (args: title, description, complexity, subtasks[]) — create swarm subtasks for parallel execution
205
+ - ${OP_TASK_CREATE} (args: title, description, complexity, subtasks[]) — create swarm subtasks for parallel execution
204
206
  - task_list, task_get, task_update — query and update existing tasks
205
207
 
206
208
  ### Knowledge tools
@@ -212,7 +214,7 @@ USE TOOLS to complete tasks. Do NOT describe what you would do — actually do i
212
214
  ### Rules
213
215
  - Always validate BEFORE and AFTER patching
214
216
  - Always read a file before patching it
215
- - Use patch-file for modifications, write-file only for new files
217
+ - Use ${OP_PATCH_FILE} for modifications, ${OP_WRITE_FILE} only for new files
216
218
  - Be concise — let tool results speak`);
217
219
  }
218
220
 
@@ -253,23 +255,23 @@ export async function buildSystemPrompt(sections?: Set<PromptSection>): Promise<
253
255
  function formatBotOperations(cliCommands: CliCommandDoc[]): string {
254
256
  const packOps = [
255
257
  '## File Operations',
256
- '- create-workflow: Create a new workflow file. args: { file, content }',
257
- '- implement-node: Write a node type implementation. args: { file, content }',
258
- '- write-file: Write a file. args: { file, content }. Content must be the COMPLETE file.',
259
- '- read-file: Read a file and return its content. args: { file }',
260
- '- patch-file: Surgical find-and-replace edits. args: { file, patches: [{ find: "old text", replace: "new text" }] }. PREFERRED for modifying existing files — no need to rewrite the entire file.',
261
- '- list-files: List files in a directory. args: { directory, pattern? } (pattern is regex)',
258
+ '- create_workflow: Create a new workflow file. args: { file, content }',
259
+ '- implement_node: Write a node type implementation. args: { file, content }',
260
+ '- write_file: Write a file. args: { file, content }. Content must be the COMPLETE file.',
261
+ '- read_file: Read a file and return its content. args: { file }',
262
+ '- patch_file: Surgical find-and-replace edits. args: { file, patches: [{ find: "old text", replace: "new text" }] }. PREFERRED for modifying existing files — no need to rewrite the entire file.',
263
+ '- list_files: List files in a directory. args: { directory, pattern? } (pattern is regex)',
262
264
  '',
263
265
  '## Shell Commands',
264
- '- run-shell: Execute a shell command and return output. args: { command }. Use for: npx vitest, git status, grep, find, etc.',
266
+ '- run_shell: Execute a shell command and return output. args: { command }. Use for: npx vitest, git status, grep, find, etc.',
265
267
  ' Examples: { "command": "npx vitest run --reporter verbose" }, { "command": "npx flow-weaver validate src/workflow.ts --json" }',
266
268
  ' Blocked: rm -rf, git push, npm publish, sudo, curl|sh (safety policy).',
267
269
  '',
268
270
  '## Best Practices',
269
- 'PREFER patch-file over write-file for modifying existing files (surgical edits, no truncation risk).',
270
- 'Use run-shell for running tests (npx vitest), validation (flow-weaver validate), and inspecting output.',
271
- 'Use read-file to understand a file before modifying it.',
272
- 'Use list-files to discover project structure.',
271
+ 'PREFER patch_file over write_file for modifying existing files (surgical edits, no truncation risk).',
272
+ 'Use run_shell for running tests (npx vitest), validation (flow-weaver validate), and inspecting output.',
273
+ 'Use read_file to understand a file before modifying it.',
274
+ 'Use list_files to discover project structure.',
273
275
  'Writes that shrink a file by >50% or write empty content are automatically BLOCKED.',
274
276
  ];
275
277
 
@@ -16,12 +16,12 @@ export { WEAVER_TOOLS };
16
16
 
17
17
  /** Map tool names to step-executor operations. */
18
18
  const OPERATION_MAP: Record<string, string> = {
19
- validate: 'run-shell',
20
- read_file: 'read-file',
21
- patch_file: 'patch-file',
22
- run_shell: 'run-shell',
23
- list_files: 'list-files',
24
- write_file: 'write-file',
19
+ validate: 'run_shell',
20
+ read_file: 'read_file',
21
+ patch_file: 'patch_file',
22
+ run_shell: 'run_shell',
23
+ list_files: 'list_files',
24
+ write_file: 'write_file',
25
25
  };
26
26
 
27
27
  /**
@@ -185,7 +185,7 @@ export function createWeaverExecutor(projectDir: string) {
185
185
  return { result: `Unknown tool: ${name}`, isError: true };
186
186
  }
187
187
 
188
- // Transform validate tool to run-shell with flow-weaver validate command
188
+ // Transform validate tool to run_shell with flow-weaver validate command
189
189
  let stepArgs = { ...args };
190
190
  if (name === 'validate') {
191
191
  stepArgs = { command: `npx flow-weaver validate ${args.file} --json` };
@@ -82,7 +82,7 @@ type LocalStepLogEntry = { step: string; status: string; detail: string };
82
82
 
83
83
  /**
84
84
  * Tool-use agent execution. Claude drives the entire task via tool calls
85
- * (validate, read-file, patch-file, run-shell, etc.) in a single continuous
85
+ * (validate, read_file, patch_file, run_shell, etc.) in a single continuous
86
86
  * conversation. No separate plan or retry loop needed.
87
87
  *
88
88
  * @flowWeaver nodeType
@@ -6,6 +6,7 @@ import { callAI, parseJsonResponse, normalizePlan } from '../bot/ai-client.js';
6
6
  import { executeStep } from '../bot/step-executor.js';
7
7
  import { validateFiles } from '../bot/file-validator.js';
8
8
  import { auditEmit } from '../bot/audit-logger.js';
9
+ import { PASSTHROUGH_OPERATIONS } from '../bot/operations.js';
9
10
 
10
11
  /**
11
12
  * Execute-validate-fix retry loop. Runs the plan, validates results,
@@ -48,7 +49,7 @@ export async function weaverExecValidateRetry(
48
49
 
49
50
  // Short-circuit: if ALL steps are passthrough operations (respond, no-op, etc.),
50
51
  // skip the execute→validate→fix loop entirely. The plan already has the answer.
51
- const PASSTHROUGH_OPS = new Set(['respond', 'no-op', 'noop', 'done', 'complete']);
52
+ const PASSTHROUGH_OPS = PASSTHROUGH_OPERATIONS;
52
53
  const steps = currentPlan.steps ?? [];
53
54
  if (steps.length > 0 && steps.every((s: { operation: string }) => PASSTHROUGH_OPS.has(s.operation))) {
54
55
  console.log(`\x1b[36m→ Text-only plan (${steps.length} passthrough steps), skipping execution loop\x1b[0m`);
@@ -145,7 +146,7 @@ export async function weaverExecValidateRetry(
145
146
  .map(([id, out]) => `--- Output of ${id} ---\n${out}`)
146
147
  .join('\n\n');
147
148
 
148
- const fixPrompt = `The following validation errors occurred:\n${errors}\n\n${outputContext ? `Discovery step outputs:\n${outputContext}\n\n` : ''}Provide a CONCRETE fix plan. Every patch-file step MUST include "file" (absolute path from the outputs above) and "patches" array with exact "find"/"replace" strings. Do NOT use placeholders.`;
149
+ const fixPrompt = `The following validation errors occurred:\n${errors}\n\n${outputContext ? `Discovery step outputs:\n${outputContext}\n\n` : ''}Provide a CONCRETE fix plan. Every patch_file step MUST include "file" (absolute path from the outputs above) and "patches" array with exact "find"/"replace" strings. Do NOT use placeholders.`;
149
150
 
150
151
  const text = await callAI(pInfo, systemPrompt, fixPrompt, 8192);
151
152
 
@@ -58,10 +58,10 @@ Provide a fix plan as JSON: {"steps": [...], "summary": "..."}
58
58
  Each step MUST have: "id" (string), "operation" (string), "description" (string), "args" (object).
59
59
 
60
60
  Available operations for fixes:
61
- - patch-file: Surgical find-and-replace. args: { "file": "path", "patches": [{ "find": "old text", "replace": "new text" }] }
61
+ - patch_file: Surgical find-and-replace. args: { "file": "path", "patches": [{ "find": "old text", "replace": "new text" }] }
62
62
  PREFERRED for fixing @input annotations. Example: { "find": "@input portName", "replace": "@input [portName]" }
63
- - run-shell: Execute a command. args: { "command": "..." }
64
- - read-file: Read file content. args: { "file": "path" }
63
+ - run_shell: Execute a command. args: { "command": "..." }
64
+ - read_file: Read file content. args: { "file": "path" }
65
65
 
66
66
  Return ONLY valid JSON. No explanation outside the JSON.`;
67
67
 
@@ -3,6 +3,7 @@ import { callAI, callAIWithTools, callTriage, parseJsonResponse, normalizePlan }
3
3
  import type { AiTool } from '../bot/ai-client.js';
4
4
  import { auditEmit } from '../bot/audit-logger.js';
5
5
  import type { PromptSection } from '../bot/system-prompt.js';
6
+ import { PLAN_OPERATIONS } from '../bot/operations.js';
6
7
 
7
8
  // ---------------------------------------------------------------------------
8
9
  // Plan tool definition — passed via native tool_use so the AI returns
@@ -24,7 +25,7 @@ const PLAN_TOOL: AiTool = {
24
25
  properties: {
25
26
  operation: {
26
27
  type: 'string',
27
- description: 'Tool to invoke: write-file, read-file, patch-file, list-files, run-shell, validate, task-create, respond',
28
+ description: `Tool to invoke: ${PLAN_OPERATIONS.join(', ')}`,
28
29
  },
29
30
  description: { type: 'string', description: 'What this step does' },
30
31
  args: {
@@ -113,9 +114,9 @@ export async function weaverPlanTask(
113
114
  Plan this task by calling the create_plan tool with concrete steps.
114
115
  Rules:
115
116
  1. Every step MUST have complete, concrete args — no empty patches, no placeholders.
116
- 2. For file creation tasks, use write-file with full file content in args.
117
- 3. If you need to discover file contents first, plan ONLY discovery steps (read-file, list-files).
118
- 4. Do NOT plan patch-file unless you know the exact find/replace strings.`;
117
+ 2. For file creation tasks, use write_file with full file content in args.
118
+ 3. If you need to discover file contents first, plan ONLY discovery steps (read_file, list_files).
119
+ 4. Do NOT plan patch_file unless you know the exact find/replace strings.`;
119
120
 
120
121
  try {
121
122
  // Use native tool_use when available (Anthropic, OpenAI).