@slowcook-ai/cli 0.13.0-alpha.3 → 0.14.0-alpha.2

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.
Files changed (83) hide show
  1. package/dist/cli.js +25 -0
  2. package/dist/cli.js.map +1 -1
  3. package/dist/commands/brew/prompts.d.ts +3 -290
  4. package/dist/commands/brew/prompts.d.ts.map +1 -1
  5. package/dist/commands/brew/prompts.js +3 -462
  6. package/dist/commands/brew/prompts.js.map +1 -1
  7. package/dist/commands/chef/classify.d.ts +65 -0
  8. package/dist/commands/chef/classify.d.ts.map +1 -0
  9. package/dist/commands/chef/classify.js +102 -0
  10. package/dist/commands/chef/classify.js.map +1 -0
  11. package/dist/commands/chef/index.d.ts +22 -0
  12. package/dist/commands/chef/index.d.ts.map +1 -0
  13. package/dist/commands/chef/index.js +287 -0
  14. package/dist/commands/chef/index.js.map +1 -0
  15. package/dist/commands/extract/index.d.ts +2 -0
  16. package/dist/commands/extract/index.d.ts.map +1 -0
  17. package/dist/commands/extract/index.js +90 -0
  18. package/dist/commands/extract/index.js.map +1 -0
  19. package/dist/commands/init/templates.d.ts.map +1 -1
  20. package/dist/commands/init/templates.js +4 -0
  21. package/dist/commands/init/templates.js.map +1 -1
  22. package/dist/commands/investigate/agent.d.ts.map +1 -1
  23. package/dist/commands/investigate/agent.js +39 -1
  24. package/dist/commands/investigate/agent.js.map +1 -1
  25. package/dist/commands/investigate/index.d.ts.map +1 -1
  26. package/dist/commands/investigate/index.js +126 -9
  27. package/dist/commands/investigate/index.js.map +1 -1
  28. package/dist/commands/investigate/prompts.d.ts +7 -87
  29. package/dist/commands/investigate/prompts.d.ts.map +1 -1
  30. package/dist/commands/investigate/prompts.js +7 -187
  31. package/dist/commands/investigate/prompts.js.map +1 -1
  32. package/dist/commands/map/emit-tokens.d.ts +53 -0
  33. package/dist/commands/map/emit-tokens.d.ts.map +1 -0
  34. package/dist/commands/map/emit-tokens.js +316 -0
  35. package/dist/commands/map/emit-tokens.js.map +1 -0
  36. package/dist/commands/map/index.d.ts +17 -0
  37. package/dist/commands/map/index.d.ts.map +1 -1
  38. package/dist/commands/map/index.js +72 -5
  39. package/dist/commands/map/index.js.map +1 -1
  40. package/dist/commands/recipe-regression/agent.d.ts +94 -0
  41. package/dist/commands/recipe-regression/agent.d.ts.map +1 -0
  42. package/dist/commands/recipe-regression/agent.js +442 -0
  43. package/dist/commands/recipe-regression/agent.js.map +1 -0
  44. package/dist/commands/recipe-regression/index.d.ts +12 -1
  45. package/dist/commands/recipe-regression/index.d.ts.map +1 -1
  46. package/dist/commands/recipe-regression/index.js +45 -8
  47. package/dist/commands/recipe-regression/index.js.map +1 -1
  48. package/dist/commands/refine/agent.d.ts.map +1 -1
  49. package/dist/commands/refine/agent.js +21 -0
  50. package/dist/commands/refine/agent.js.map +1 -1
  51. package/dist/commands/refine/context.d.ts +11 -0
  52. package/dist/commands/refine/context.d.ts.map +1 -1
  53. package/dist/commands/refine/context.js +45 -0
  54. package/dist/commands/refine/context.js.map +1 -1
  55. package/dist/commands/refine/mock-fixtures.d.ts +39 -0
  56. package/dist/commands/refine/mock-fixtures.d.ts.map +1 -0
  57. package/dist/commands/refine/mock-fixtures.js +86 -0
  58. package/dist/commands/refine/mock-fixtures.js.map +1 -0
  59. package/dist/commands/refine/prompts.d.ts +10 -21
  60. package/dist/commands/refine/prompts.d.ts.map +1 -1
  61. package/dist/commands/refine/prompts.js +10 -376
  62. package/dist/commands/refine/prompts.js.map +1 -1
  63. package/dist/commands/refine/spec-yaml.d.ts +306 -128
  64. package/dist/commands/refine/spec-yaml.d.ts.map +1 -1
  65. package/dist/commands/refine/spec-yaml.js +33 -0
  66. package/dist/commands/refine/spec-yaml.js.map +1 -1
  67. package/dist/commands/sift/agent.d.ts +52 -0
  68. package/dist/commands/sift/agent.d.ts.map +1 -0
  69. package/dist/commands/sift/agent.js +392 -0
  70. package/dist/commands/sift/agent.js.map +1 -0
  71. package/dist/commands/sift/index.d.ts +23 -0
  72. package/dist/commands/sift/index.d.ts.map +1 -0
  73. package/dist/commands/sift/index.js +314 -0
  74. package/dist/commands/sift/index.js.map +1 -0
  75. package/dist/commands/sift/prompts.d.ts +6 -0
  76. package/dist/commands/sift/prompts.d.ts.map +1 -0
  77. package/dist/commands/sift/prompts.js +6 -0
  78. package/dist/commands/sift/prompts.js.map +1 -0
  79. package/dist/commands/testgen/prompts.d.ts +3 -13
  80. package/dist/commands/testgen/prompts.d.ts.map +1 -1
  81. package/dist/commands/testgen/prompts.js +3 -384
  82. package/dist/commands/testgen/prompts.js.map +1 -1
  83. package/package.json +5 -5
@@ -1 +1 @@
1
- {"version":3,"file":"spec-yaml.d.ts","sourceRoot":"","sources":["../../../src/commands/refine/spec-yaml.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAEL,KAAK,IAAI,EACT,KAAK,SAAS,EACd,KAAK,cAAc,EACnB,KAAK,YAAY,EAClB,MAAM,mBAAmB,CAAC;AAE3B,+CAA+C;AAC/C,eAAO,MAAM,SAAS,UAAU,CAAC;AACjC,eAAO,MAAM,UAAU,QAAiC,CAAC;AAoCzD,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAwC9B,CAAC;AAiCH,wBAAgB,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,CAWrD;AAED,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,GAAG,IAAI,CAQnE;AAED,wBAAgB,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI,CAUhE;AAED,wBAAgB,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,GAAG,MAAM,CAK9D;AAED,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,EAAE,CAiBxD;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,WAAW,CAC/B,QAAQ,EAAE,MAAM,EAChB,KAAK,CAAC,EAAE,YAAY,GACnB,OAAO,CAAC,MAAM,CAAC,CAsBjB;AAED,kCAAkC;AAClC,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAInB,CAAC;AAEF,0EAA0E;AAC1E,wBAAgB,aAAa,CAAC,IAAI,EAAE,IAAI,GAAG,cAAc,CASxD"}
1
+ {"version":3,"file":"spec-yaml.d.ts","sourceRoot":"","sources":["../../../src/commands/refine/spec-yaml.ts"],"names":[],"mappings":"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"}
@@ -73,6 +73,39 @@ export const SpecProposalsSchema = z.object({
73
73
  }))
74
74
  .optional(),
75
75
  }).optional(),
76
+ /**
77
+ * 0.14.0-α.1 (mockup-first refinement, data-layer seam) — fixtures
78
+ * the agent has hand-authored to make a mockup behaviorally complete.
79
+ * Keyed by domain (a single-word slug derived from the story's primary
80
+ * resource: `notifications`, `bookmarks`, `feed`). Each domain's
81
+ * `seed` is an arbitrary record of named arrays/values that the
82
+ * generated `<domain>.mock.ts` will export verbatim.
83
+ *
84
+ * Example:
85
+ * fixtures:
86
+ * status: pending
87
+ * proposed_by: refine-agent
88
+ * by_domain:
89
+ * notifications:
90
+ * seed:
91
+ * list:
92
+ * - { id: "n-1", actor_handle: "@alice", read_at: null }
93
+ * - { id: "n-2", actor_handle: "@bob", read_at: "2026-04-25T12:00:00Z" }
94
+ * unread_count: 1
95
+ *
96
+ * Refine writes `src/lib/data/notifications.mock.ts` exporting
97
+ * `seed.list` and `seed.unread_count` as JSON-equivalent constants.
98
+ * The page/component imports from `@/lib/data/notifications`; an
99
+ * env flag `MOCK_STORY_N=1` routes the import to the mock module.
100
+ * Brew (later) writes the real `notifications.ts` and removes the flag.
101
+ */
102
+ fixtures: ProposalBaseSchema.extend({
103
+ by_domain: z
104
+ .record(z.string(), z.object({
105
+ seed: z.record(z.string(), z.unknown()),
106
+ }))
107
+ .optional(),
108
+ }).optional(),
76
109
  });
77
110
  const SpecSchema = z.object({
78
111
  $schema: z.string().optional(),
@@ -1 +1 @@
1
- {"version":3,"file":"spec-yaml.js","sourceRoot":"","sources":["../../../src/commands/refine/spec-yaml.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"spec-yaml.js","sourceRoot":"","sources":["../../../src/commands/refine/spec-yaml.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,52 @@
1
+ /**
2
+ * Sift agent loop. Narrow red→green ratchet for bug fixes.
3
+ *
4
+ * Mirrors brew's iter loop in shape but smaller in every dimension:
5
+ * - max 3 iterations (vs brew's 10)
6
+ * - $0.50 budget cap (vs brew's $10)
7
+ * - allowed_paths restricted to bug-profile.fix_scope
8
+ * - test-runner is scoped to the regression test only
9
+ * - no story manifest; the contract is just the regression test
10
+ *
11
+ * **Status: alpha.4a**. Single-iteration loop with no ratchet/revert.
12
+ * Iteration loop + multi-turn ratchet ships in alpha.4b alongside
13
+ * a brew/sift shared-engine refactor.
14
+ */
15
+ import { type StackConfig, type RunResult } from "@slowcook-ai/stack-ts";
16
+ import { type BugProfile } from "../investigate/schema.js";
17
+ export interface SiftContext {
18
+ repoRoot: string;
19
+ anthropicApiKey: string;
20
+ model: string;
21
+ bugProfile: BugProfile;
22
+ /** Repo-relative path to the regression test file. */
23
+ regressionTestPath: string;
24
+ /** Read once at construction; passed through prompts. */
25
+ regressionTestSrc: string;
26
+ stackConfig: StackConfig;
27
+ /** Hard cap (seconds spend); default 3. */
28
+ maxIterations: number;
29
+ /** USD spend cap; default 0.5. */
30
+ budgetUsd: number;
31
+ now?: () => Date;
32
+ }
33
+ export interface SiftResult {
34
+ /** True when the regression test ended green. */
35
+ green: boolean;
36
+ /** Total iterations the agent took. */
37
+ iterations: number;
38
+ /** Total spend in USD. */
39
+ spendUsd: number;
40
+ /** Files written across the run. */
41
+ filesTouched: string[];
42
+ /** When green=false, why the run ended (`budget`, `iters`, `halt:<reason>`, etc.). */
43
+ haltReason?: string;
44
+ /** Last test result for diagnostics. */
45
+ lastTestResult: RunResult | null;
46
+ }
47
+ export declare function runSift(ctx: SiftContext): Promise<SiftResult>;
48
+ export declare function isInFixScope(path: string, fixScope: ReadonlyArray<string>): boolean;
49
+ export declare function regressionStatus(result: RunResult, regressionPath: string): "red" | "green";
50
+ export declare function regressionFailureMessage(result: RunResult, regressionPath: string): string | undefined;
51
+ export declare function parseHalt(text: string): string | null;
52
+ //# sourceMappingURL=agent.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../../../src/commands/sift/agent.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAaH,OAAO,EAEL,KAAK,WAAW,EAEhB,KAAK,SAAS,EACf,MAAM,uBAAuB,CAAC;AAQ/B,OAAO,EAAE,KAAK,UAAU,EAAE,MAAM,0BAA0B,CAAC;AAK3D,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,EAAE,MAAM,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,UAAU,CAAC;IACvB,sDAAsD;IACtD,kBAAkB,EAAE,MAAM,CAAC;IAC3B,yDAAyD;IACzD,iBAAiB,EAAE,MAAM,CAAC;IAC1B,WAAW,EAAE,WAAW,CAAC;IACzB,2CAA2C;IAC3C,aAAa,EAAE,MAAM,CAAC;IACtB,kCAAkC;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,IAAI,CAAC;CAClB;AAED,MAAM,WAAW,UAAU;IACzB,iDAAiD;IACjD,KAAK,EAAE,OAAO,CAAC;IACf,uCAAuC;IACvC,UAAU,EAAE,MAAM,CAAC;IACnB,0BAA0B;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,oCAAoC;IACpC,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,sFAAsF;IACtF,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,wCAAwC;IACxC,cAAc,EAAE,SAAS,GAAG,IAAI,CAAC;CAClC;AAED,wBAAsB,OAAO,CAAC,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,CAqInE;AAwJD,wBAAgB,YAAY,CAC1B,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,aAAa,CAAC,MAAM,CAAC,GAC9B,OAAO,CAWT;AAMD,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,SAAS,EACjB,cAAc,EAAE,MAAM,GACrB,KAAK,GAAG,OAAO,CAWjB;AAED,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,SAAS,EACjB,cAAc,EAAE,MAAM,GACrB,MAAM,GAAG,SAAS,CAKpB;AAMD,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAMrD"}
@@ -0,0 +1,392 @@
1
+ /**
2
+ * Sift agent loop. Narrow red→green ratchet for bug fixes.
3
+ *
4
+ * Mirrors brew's iter loop in shape but smaller in every dimension:
5
+ * - max 3 iterations (vs brew's 10)
6
+ * - $0.50 budget cap (vs brew's $10)
7
+ * - allowed_paths restricted to bug-profile.fix_scope
8
+ * - test-runner is scoped to the regression test only
9
+ * - no story manifest; the contract is just the regression test
10
+ *
11
+ * **Status: alpha.4a**. Single-iteration loop with no ratchet/revert.
12
+ * Iteration loop + multi-turn ratchet ships in alpha.4b alongside
13
+ * a brew/sift shared-engine refactor.
14
+ */
15
+ import { existsSync, readFileSync, readdirSync, statSync, writeFileSync, mkdirSync, } from "node:fs";
16
+ import { dirname, resolve, isAbsolute } from "node:path";
17
+ import { execSync } from "node:child_process";
18
+ import Anthropic from "@anthropic-ai/sdk";
19
+ import { validateStackConfig, runTests, } from "@slowcook-ai/stack-ts";
20
+ import { outlineFile } from "../brew/agent.js";
21
+ import { findReferences, findDefinition, renderReferences, } from "../brew/retrieval.js";
22
+ import { SIFT_SYSTEM, SIFT_TOOLS, buildSiftTurnPrompt } from "./prompts.js";
23
+ const MAX_ROUNDS_PER_ITER = 8;
24
+ const MAX_FILE_READ_BYTES = 20000;
25
+ export async function runSift(ctx) {
26
+ const anthropic = new Anthropic({ apiKey: ctx.anthropicApiKey });
27
+ const filesTouched = new Set();
28
+ let spendUsd = 0;
29
+ let lastTestResult = null;
30
+ const priorEdits = [];
31
+ for (let iter = 1; iter <= ctx.maxIterations; iter++) {
32
+ if (spendUsd >= ctx.budgetUsd) {
33
+ return {
34
+ green: false,
35
+ iterations: iter - 1,
36
+ spendUsd,
37
+ filesTouched: [...filesTouched],
38
+ haltReason: `budget (spent $${spendUsd.toFixed(4)} of $${ctx.budgetUsd})`,
39
+ lastTestResult,
40
+ };
41
+ }
42
+ const turnPrompt = buildSiftTurnPrompt({
43
+ iteration: iter,
44
+ maxIterations: ctx.maxIterations,
45
+ bugProfileYaml: bugProfileToYamlSummary(ctx.bugProfile),
46
+ regressionTestPath: ctx.regressionTestPath,
47
+ regressionTestSrc: ctx.regressionTestSrc,
48
+ testResult: lastTestResult
49
+ ? {
50
+ status: regressionStatus(lastTestResult, ctx.regressionTestPath),
51
+ failureMessage: regressionFailureMessage(lastTestResult, ctx.regressionTestPath),
52
+ }
53
+ : undefined,
54
+ priorEdits,
55
+ });
56
+ const messages = [
57
+ { role: "user", content: turnPrompt },
58
+ ];
59
+ let haltReason = null;
60
+ let editsThisTurn = 0;
61
+ for (let round = 0; round < MAX_ROUNDS_PER_ITER; round++) {
62
+ const response = await anthropic.messages.create({
63
+ model: ctx.model,
64
+ max_tokens: 4096,
65
+ system: SIFT_SYSTEM,
66
+ tools: SIFT_TOOLS,
67
+ messages,
68
+ });
69
+ spendUsd += costUsd(response, ctx.model);
70
+ // Look for <halt> in any text block.
71
+ for (const block of response.content) {
72
+ if (block.type === "text") {
73
+ const halt = parseHalt(block.text);
74
+ if (halt !== null)
75
+ haltReason = halt;
76
+ }
77
+ }
78
+ if (haltReason !== null)
79
+ break;
80
+ const toolUses = response.content.filter((b) => b.type === "tool_use");
81
+ if (response.stop_reason !== "tool_use" || toolUses.length === 0)
82
+ break;
83
+ const toolResults = toolUses.map((t) => {
84
+ const result = executeTool(ctx, t);
85
+ if (result.touched) {
86
+ filesTouched.add(result.touched);
87
+ editsThisTurn += 1;
88
+ }
89
+ return {
90
+ type: "tool_result",
91
+ tool_use_id: t.id,
92
+ content: result.content,
93
+ is_error: result.is_error,
94
+ };
95
+ });
96
+ messages.push({ role: "assistant", content: response.content });
97
+ messages.push({ role: "user", content: toolResults });
98
+ }
99
+ if (haltReason !== null) {
100
+ return {
101
+ green: haltReason.toLowerCase().includes("regression green"),
102
+ iterations: iter,
103
+ spendUsd,
104
+ filesTouched: [...filesTouched],
105
+ haltReason: `halt:${haltReason}`,
106
+ lastTestResult,
107
+ };
108
+ }
109
+ if (editsThisTurn === 0) {
110
+ return {
111
+ green: false,
112
+ iterations: iter,
113
+ spendUsd,
114
+ filesTouched: [...filesTouched],
115
+ haltReason: "agent made no edits this iteration",
116
+ lastTestResult,
117
+ };
118
+ }
119
+ priorEdits.push(...[...filesTouched].slice(priorEdits.length));
120
+ // Run the regression test scoped to the bug's test file.
121
+ lastTestResult = runTests(ctx.stackConfig, {
122
+ cwd: ctx.repoRoot,
123
+ scopeFiles: [ctx.regressionTestPath],
124
+ });
125
+ const status = regressionStatus(lastTestResult, ctx.regressionTestPath);
126
+ if (status === "green") {
127
+ return {
128
+ green: true,
129
+ iterations: iter,
130
+ spendUsd,
131
+ filesTouched: [...filesTouched],
132
+ lastTestResult,
133
+ };
134
+ }
135
+ }
136
+ return {
137
+ green: false,
138
+ iterations: ctx.maxIterations,
139
+ spendUsd,
140
+ filesTouched: [...filesTouched],
141
+ haltReason: `iters (${ctx.maxIterations} reached without green)`,
142
+ lastTestResult,
143
+ };
144
+ }
145
+ function executeTool(ctx, tool) {
146
+ const input = tool.input;
147
+ try {
148
+ switch (tool.name) {
149
+ case "read_file":
150
+ return readFile(ctx.repoRoot, String(input["path"] ?? ""));
151
+ case "outline_file":
152
+ return outlineCmd(ctx.repoRoot, String(input["path"] ?? ""));
153
+ case "list_directory":
154
+ return listDir(ctx.repoRoot, String(input["path"] ?? ""));
155
+ case "find_references": {
156
+ const symbol = String(input["symbol"] ?? "").trim();
157
+ if (!symbol)
158
+ return { content: "symbol is required", is_error: true };
159
+ const refs = findReferences(ctx.repoRoot, symbol, { excludeDefinitions: false });
160
+ return { content: renderReferences(refs), is_error: false };
161
+ }
162
+ case "find_definition": {
163
+ const symbol = String(input["symbol"] ?? "").trim();
164
+ if (!symbol)
165
+ return { content: "symbol is required", is_error: true };
166
+ const def = findDefinition(ctx.repoRoot, symbol);
167
+ if (!def)
168
+ return { content: `(no declaration found for ${symbol})`, is_error: false };
169
+ return {
170
+ content: `${def.kind} | ${def.file}:${def.line}:${def.column} | ${def.context}`,
171
+ is_error: false,
172
+ };
173
+ }
174
+ case "grep":
175
+ return runGrep(ctx.repoRoot, String(input["pattern"] ?? ""), input["glob"] ? String(input["glob"]) : undefined);
176
+ case "write_file":
177
+ return writeFile(ctx, String(input["path"] ?? ""), String(input["contents"] ?? ""));
178
+ default:
179
+ return { content: `Unknown tool: ${tool.name}`, is_error: true };
180
+ }
181
+ }
182
+ catch (e) {
183
+ return { content: `Tool error: ${e.message}`, is_error: true };
184
+ }
185
+ }
186
+ function readFile(repoRoot, p) {
187
+ if (!isPathSafe(repoRoot, p))
188
+ return { content: `Path escape forbidden: ${p}`, is_error: true };
189
+ const full = resolve(repoRoot, p);
190
+ if (!existsSync(full))
191
+ return { content: `File not found: ${p}`, is_error: true };
192
+ if (!statSync(full).isFile())
193
+ return { content: `Not a file: ${p}`, is_error: true };
194
+ const txt = readFileSync(full, "utf8");
195
+ return {
196
+ content: txt.length > MAX_FILE_READ_BYTES
197
+ ? txt.slice(0, MAX_FILE_READ_BYTES) + "\n…(truncated)"
198
+ : txt,
199
+ is_error: false,
200
+ };
201
+ }
202
+ function outlineCmd(repoRoot, p) {
203
+ if (!isPathSafe(repoRoot, p))
204
+ return { content: `Path escape forbidden: ${p}`, is_error: true };
205
+ const full = resolve(repoRoot, p);
206
+ if (!existsSync(full))
207
+ return { content: `File not found: ${p}`, is_error: true };
208
+ if (!statSync(full).isFile())
209
+ return { content: `Not a file: ${p}`, is_error: true };
210
+ const txt = readFileSync(full, "utf8");
211
+ return { content: outlineFile(p, txt), is_error: false };
212
+ }
213
+ function listDir(repoRoot, p) {
214
+ if (!isPathSafe(repoRoot, p))
215
+ return { content: `Path escape forbidden: ${p}`, is_error: true };
216
+ const full = resolve(repoRoot, p);
217
+ if (!existsSync(full))
218
+ return { content: `Not found: ${p}`, is_error: true };
219
+ if (!statSync(full).isDirectory())
220
+ return { content: `Not a directory: ${p}`, is_error: true };
221
+ const entries = readdirSync(full, { withFileTypes: true })
222
+ .map((e) => `${e.name}${e.isDirectory() ? "/" : ""}`)
223
+ .sort()
224
+ .join("\n");
225
+ return { content: entries, is_error: false };
226
+ }
227
+ function writeFile(ctx, p, contents) {
228
+ if (!isPathSafe(ctx.repoRoot, p)) {
229
+ return { content: `Path escape forbidden: ${p}`, is_error: true };
230
+ }
231
+ if (!isInFixScope(p, ctx.bugProfile.fix_scope)) {
232
+ return {
233
+ content: `${p} is outside the bug profile's fix_scope (${ctx.bugProfile.fix_scope.join(", ")}). Halt voluntarily and ask the operator to widen scope.`,
234
+ is_error: true,
235
+ };
236
+ }
237
+ const full = resolve(ctx.repoRoot, p);
238
+ mkdirSync(dirname(full), { recursive: true });
239
+ writeFileSync(full, contents, "utf8");
240
+ return {
241
+ content: `Wrote ${contents.split("\n").length} lines to ${p}`,
242
+ is_error: false,
243
+ touched: p,
244
+ };
245
+ }
246
+ function runGrep(repoRoot, pattern, glob) {
247
+ if (!pattern)
248
+ return { content: "pattern is required", is_error: true };
249
+ const safePattern = pattern.replace(/'/g, "'\\''");
250
+ const cmd = glob
251
+ ? `rg --line-number --max-count=50 -e '${safePattern}' --glob '${glob.replace(/'/g, "'\\''")}'`
252
+ : `rg --line-number --max-count=50 -e '${safePattern}'`;
253
+ try {
254
+ const out = execSync(cmd, {
255
+ cwd: repoRoot,
256
+ stdio: ["ignore", "pipe", "pipe"],
257
+ maxBuffer: 1024 * 256,
258
+ encoding: "utf8",
259
+ });
260
+ if (!out.trim())
261
+ return { content: "(no matches)", is_error: false };
262
+ return {
263
+ content: out.length > MAX_FILE_READ_BYTES
264
+ ? out.slice(0, MAX_FILE_READ_BYTES) + "\n…(truncated)"
265
+ : out,
266
+ is_error: false,
267
+ };
268
+ }
269
+ catch (e) {
270
+ const exit = e.status;
271
+ if (exit === 1)
272
+ return { content: "(no matches)", is_error: false };
273
+ return { content: `grep error: ${e.message}`, is_error: true };
274
+ }
275
+ }
276
+ function isPathSafe(repoRoot, relPath) {
277
+ if (isAbsolute(relPath))
278
+ return false;
279
+ const resolved = resolve(repoRoot, relPath);
280
+ return resolved.startsWith(resolve(repoRoot));
281
+ }
282
+ export function isInFixScope(path, fixScope) {
283
+ if (fixScope.length === 0)
284
+ return false;
285
+ const norm = path.replace(/^\.\/+/, "");
286
+ for (const scope of fixScope) {
287
+ const s = scope.replace(/^\.\/+/, "");
288
+ if (norm === s)
289
+ return true;
290
+ // Directory prefix match (with or without trailing slash).
291
+ const sDir = s.endsWith("/") ? s : `${s}/`;
292
+ if (norm.startsWith(sDir))
293
+ return true;
294
+ }
295
+ return false;
296
+ }
297
+ // -------------------------------------------------------------------------
298
+ // Test-result helpers
299
+ // -------------------------------------------------------------------------
300
+ export function regressionStatus(result, regressionPath) {
301
+ // Sift owns the regression test file; consider its tests only. If
302
+ // any are red OR errored, status is red.
303
+ const ours = result.tests.filter((t) => t.file.endsWith(regressionPath));
304
+ if (ours.length === 0) {
305
+ // Vitest may have crashed before reporting; treat as red.
306
+ return "red";
307
+ }
308
+ return ours.every((t) => t.status === "passed" || t.status === "skipped")
309
+ ? "green"
310
+ : "red";
311
+ }
312
+ export function regressionFailureMessage(result, regressionPath) {
313
+ const ours = result.tests.filter((t) => t.file.endsWith(regressionPath) && t.status !== "passed");
314
+ return ours[0]?.failure_message;
315
+ }
316
+ // -------------------------------------------------------------------------
317
+ // Halt block parsing
318
+ // -------------------------------------------------------------------------
319
+ export function parseHalt(text) {
320
+ const m = text.match(/<halt>[\s\S]*?<reason>([\s\S]*?)<\/reason>[\s\S]*?<\/halt>/);
321
+ if (m && m[1])
322
+ return m[1].trim();
323
+ // Fallback: simple <halt>reason</halt>.
324
+ const fallback = text.match(/<halt>([\s\S]*?)<\/halt>/);
325
+ return fallback ? (fallback[1] ?? "").trim() : null;
326
+ }
327
+ // -------------------------------------------------------------------------
328
+ // Cost accounting (mirrors investigate's; same pricing table)
329
+ // -------------------------------------------------------------------------
330
+ const PRICING_PER_M_TOKENS = {
331
+ "claude-opus-4-7": { input: 15, output: 75 },
332
+ "claude-sonnet-4-6": { input: 3, output: 15 },
333
+ "claude-sonnet-4-5": { input: 3, output: 15 },
334
+ "claude-haiku-4-5": { input: 1, output: 5 },
335
+ };
336
+ function costUsd(response, model) {
337
+ const pricing = PRICING_PER_M_TOKENS[model] ??
338
+ Object.entries(PRICING_PER_M_TOKENS).find(([k]) => model.startsWith(k))?.[1];
339
+ if (!pricing)
340
+ return 0;
341
+ const usage = response.usage;
342
+ const input = usage?.input_tokens ?? 0;
343
+ const output = usage?.output_tokens ?? 0;
344
+ const cacheRead = usage?.cache_read_input_tokens ?? 0;
345
+ const cacheCreate = usage?.cache_creation_input_tokens ?? 0;
346
+ const effectiveInput = input + cacheRead * 0.1 + cacheCreate * 1.25;
347
+ return (effectiveInput / 1_000_000) * pricing.input + (output / 1_000_000) * pricing.output;
348
+ }
349
+ // -------------------------------------------------------------------------
350
+ // Bug profile rendering (compact YAML for prompt — full schema in
351
+ // .brewing/bug-profiles/B-N.yaml; we only need the fields sift cares
352
+ // about, kept compact to save tokens).
353
+ // -------------------------------------------------------------------------
354
+ function bugProfileToYamlSummary(p) {
355
+ const lines = [];
356
+ lines.push(`bug_id: ${p.bug_id}`);
357
+ lines.push(`title: ${JSON.stringify(p.title)}`);
358
+ lines.push(`source_issue: "${p.source_issue}"`);
359
+ if (p.symptom.length > 0) {
360
+ lines.push(`symptom:`);
361
+ for (const s of p.symptom)
362
+ lines.push(` - ${JSON.stringify(s)}`);
363
+ }
364
+ if (p.expected.length > 0) {
365
+ lines.push(`expected:`);
366
+ for (const s of p.expected)
367
+ lines.push(` - ${JSON.stringify(s)}`);
368
+ }
369
+ lines.push(`failure_locus:`);
370
+ lines.push(` file: ${JSON.stringify(p.failure_locus.file)}`);
371
+ if (p.failure_locus.line !== undefined)
372
+ lines.push(` line: ${p.failure_locus.line}`);
373
+ if (p.failure_locus.function !== undefined) {
374
+ lines.push(` function: ${JSON.stringify(p.failure_locus.function)}`);
375
+ }
376
+ lines.push(` diagnosis: |`);
377
+ for (const l of p.failure_locus.diagnosis.split("\n"))
378
+ lines.push(` ${l}`);
379
+ if (p.regression_assertion.length > 0) {
380
+ lines.push(`regression_assertion:`);
381
+ for (const s of p.regression_assertion)
382
+ lines.push(` - ${JSON.stringify(s)}`);
383
+ }
384
+ if (p.fix_scope.length > 0) {
385
+ lines.push(`fix_scope:`);
386
+ for (const s of p.fix_scope)
387
+ lines.push(` - ${JSON.stringify(s)}`);
388
+ }
389
+ return lines.join("\n");
390
+ }
391
+ void validateStackConfig;
392
+ //# sourceMappingURL=agent.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent.js","sourceRoot":"","sources":["../../../src/commands/sift/agent.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ /**
2
+ * `slowcook sift --bug B-N` — bug-flow brew analogue.
3
+ *
4
+ * Reads a bug-profile + the regression test, runs an LLM ratchet to
5
+ * make the regression go green, halts when:
6
+ * - regression test passes (green = success)
7
+ * - budget cap hit
8
+ * - max iterations hit
9
+ * - agent halts voluntarily
10
+ *
11
+ * Usage:
12
+ * slowcook sift --bug B-1 [--cwd <path>] [--model <id>]
13
+ * [--max-iterations <n>] [--budget-usd <n>]
14
+ * [--dry-run]
15
+ */
16
+ export declare function sift(argv: string[], cliVersion: string): Promise<void>;
17
+ /**
18
+ * Find the regression test file for a bug. Looks for
19
+ * `tests/regression/B-N-<slug>.test.ts` (matching what
20
+ * recipe --regression emits).
21
+ */
22
+ export declare function findRegressionTestForBug(repoRoot: string, bugId: string): string | null;
23
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/sift/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AA2GH,wBAAsB,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA6H5E;AAgHD;;;;GAIG;AACH,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,GACZ,MAAM,GAAG,IAAI,CAUf"}