@flumecode/runner 0.6.0 → 0.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/cli.js
CHANGED
|
@@ -225,10 +225,16 @@ var SERVER_NAME2 = "flume_plan";
|
|
|
225
225
|
var SUBMIT_PLAN = "submit_plan";
|
|
226
226
|
var PLAN_TOOL_NAME = `mcp__${SERVER_NAME2}__${SUBMIT_PLAN}`;
|
|
227
227
|
var PLAN_MARKER = "<!-- flumecode:end-of-plan -->";
|
|
228
|
+
var pseudoCodeEntrySchema = z2.object({
|
|
229
|
+
file: z2.string().min(1),
|
|
230
|
+
pseudoCode: z2.string().min(1)
|
|
231
|
+
});
|
|
228
232
|
var stepSchema = z2.object({
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
233
|
+
title: z2.string().min(1).describe("A concise imperative title for this step."),
|
|
234
|
+
description: z2.string().min(1).describe("What changes and why \u2014 the rationale for this step."),
|
|
235
|
+
pseudoCode: z2.array(pseudoCodeEntrySchema).optional().describe(
|
|
236
|
+
"Per-file pseudo code. Provide an entry for every non-documentation file this step touches. Each entry contains the file path and pseudo code describing the changes to that file."
|
|
237
|
+
)
|
|
232
238
|
});
|
|
233
239
|
var planInputSchema = {
|
|
234
240
|
title: z2.string().min(1).max(120).describe(
|
|
@@ -260,12 +266,20 @@ function renderPlan(plan) {
|
|
|
260
266
|
}
|
|
261
267
|
}
|
|
262
268
|
lines.push("");
|
|
263
|
-
lines.push("
|
|
269
|
+
lines.push("## Steps");
|
|
264
270
|
for (const [i, step] of plan.steps.entries()) {
|
|
265
|
-
lines.push(
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
271
|
+
lines.push("");
|
|
272
|
+
lines.push(`### ${i + 1}. ${step.title}`);
|
|
273
|
+
lines.push("");
|
|
274
|
+
lines.push(step.description);
|
|
275
|
+
if (step.pseudoCode && step.pseudoCode.length > 0) {
|
|
276
|
+
for (const entry of step.pseudoCode) {
|
|
277
|
+
lines.push("");
|
|
278
|
+
lines.push(`\`${entry.file}\``);
|
|
279
|
+
lines.push("");
|
|
280
|
+
lines.push("```");
|
|
281
|
+
lines.push(entry.pseudoCode);
|
|
282
|
+
lines.push("```");
|
|
269
283
|
}
|
|
270
284
|
}
|
|
271
285
|
}
|
package/package.json
CHANGED
|
@@ -66,9 +66,10 @@ Field-by-field guidance:
|
|
|
66
66
|
and nothing more.
|
|
67
67
|
- **`assumptions`** — anything you decided during investigation (including
|
|
68
68
|
unanswered defaults from Phase 1).
|
|
69
|
-
- **`steps`** — an ordered list. For each step:
|
|
70
|
-
|
|
71
|
-
references (`path/to/file.ts`) and name the functions/symbols involved.
|
|
69
|
+
- **`steps`** — an ordered list. For each step provide:
|
|
70
|
+
- **`title`** — a concise imperative phrase naming the step (e.g. "Add submit_plan schema to plan.ts").
|
|
71
|
+
- **`description`** — what changes and why: the concrete change being made and the rationale for it. Use concrete file references (`path/to/file.ts`) and name the functions/symbols involved.
|
|
72
|
+
- **`pseudoCode`** — an array of `{ file, pseudoCode }` entries. Provide an entry for every file the step touches **except** documentation files (SKILL.md, README.md, wiki pages, etc.). `pseudoCode` is optional in the schema but expected for all non-documentation files. Each entry names the file path and contains pseudo code that precisely describes the changes to make in that file.
|
|
72
73
|
- **`acceptanceCriteria`** — **required; at least 2 items.** Each criterion must
|
|
73
74
|
be an observable condition you could check after the work is done: a behavior,
|
|
74
75
|
a test result, or a verifiable state. Together they must fully define "done" —
|