@slowcook-ai/cli 0.11.16 → 0.12.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/commands/brew/agent.d.ts.map +1 -1
- package/dist/commands/brew/agent.js +52 -1
- package/dist/commands/brew/agent.js.map +1 -1
- package/dist/commands/brew/prompts.d.ts +89 -1
- package/dist/commands/brew/prompts.d.ts.map +1 -1
- package/dist/commands/brew/prompts.js +93 -1
- package/dist/commands/brew/prompts.js.map +1 -1
- package/dist/commands/brew/provenance.d.ts +20 -0
- package/dist/commands/brew/provenance.d.ts.map +1 -1
- package/dist/commands/brew/provenance.js +77 -0
- package/dist/commands/brew/provenance.js.map +1 -1
- package/dist/commands/brew/retrieval.d.ts +90 -0
- package/dist/commands/brew/retrieval.d.ts.map +1 -0
- package/dist/commands/brew/retrieval.js +235 -0
- package/dist/commands/brew/retrieval.js.map +1 -0
- package/dist/commands/brew/spec-slice.d.ts +26 -3
- package/dist/commands/brew/spec-slice.d.ts.map +1 -1
- package/dist/commands/brew/spec-slice.js +37 -17
- package/dist/commands/brew/spec-slice.js.map +1 -1
- package/dist/commands/manifest.js +45 -3
- package/dist/commands/manifest.js.map +1 -1
- package/package.json +2 -2
|
@@ -49,12 +49,35 @@ export declare function extractIdentifiersFromTargetTest(targetTestId: string):
|
|
|
49
49
|
/**
|
|
50
50
|
* Produce a focused slice of the spec for the given target test.
|
|
51
51
|
*
|
|
52
|
-
*
|
|
53
|
-
*
|
|
54
|
-
*
|
|
52
|
+
* Algorithm (0.11.17+ — top-K ranked):
|
|
53
|
+
*
|
|
54
|
+
* 1. Score each invariant + scenario by token overlap with identifiers
|
|
55
|
+
* extracted from the target test name.
|
|
56
|
+
* 2. Sort by score descending.
|
|
57
|
+
* 3. Keep top `keepInvariants` invariants and top `keepScenarios`
|
|
58
|
+
* scenarios (each defaulting to a small fixed number, NOT
|
|
59
|
+
* "everything with score > 0"). On focused stories where every
|
|
60
|
+
* invariant shares common terms, score>0 is almost always true,
|
|
61
|
+
* and slicing fails to narrow — top-K forces aggressive narrowing.
|
|
62
|
+
* 4. Drop entries with score=0 even if they'd fit in the top-K
|
|
63
|
+
* (no relevance ≠ low relevance — exclude entirely).
|
|
64
|
+
* 5. When fewer than `minKept` invariants have score > 0 AND there
|
|
65
|
+
* are more invariants total than we kept, return the FULL spec
|
|
66
|
+
* as a safety fallback (the agent doesn't have enough relevant
|
|
67
|
+
* context to work from).
|
|
68
|
+
*
|
|
69
|
+
* Validated 2026-04-25 on rewo's story-007 manifest: prior `score > 0`
|
|
70
|
+
* algorithm produced ~97% retention (effectively no slicing) and 50%
|
|
71
|
+
* fallback rate. Top-K with K=5 reduces retention to ~45% on the
|
|
72
|
+
* same data while keeping the most-relevant invariants surfaced.
|
|
55
73
|
*/
|
|
56
74
|
export declare function sliceSpecForTarget(spec: Spec, targetTestId: string, options?: {
|
|
75
|
+
/** Minimum kept invariants before falling back to full spec. */
|
|
57
76
|
minKept?: number;
|
|
77
|
+
/** How many top-scored invariants to keep. Default 5. */
|
|
78
|
+
keepInvariants?: number;
|
|
79
|
+
/** How many top-scored scenarios to keep. Default 4. */
|
|
80
|
+
keepScenarios?: number;
|
|
58
81
|
}): SpecSlice;
|
|
59
82
|
/**
|
|
60
83
|
* Render a slice as YAML-shaped prose for the brew prompt's "spec" block.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spec-slice.d.ts","sourceRoot":"","sources":["../../../src/commands/brew/spec-slice.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAE9C;;;;;;;;;;;;;;;;;;GAkBG;AAEH,MAAM,WAAW,SAAS;IACxB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,oBAAoB,EAAE,MAAM,EAAE,CAAC;IAC/B,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,4EAA4E;IAC5E,QAAQ,EAAE,OAAO,CAAC;IAClB,8BAA8B;IAC9B,KAAK,EAAE;QACL,UAAU,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAE,CAAC;QAC5C,SAAS,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAE,CAAC;KAC5C,CAAC;CACH;AAED;;;;;;;;GAQG;AACH,wBAAgB,gCAAgC,CAAC,YAAY,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,CAyDlF;AAeD
|
|
1
|
+
{"version":3,"file":"spec-slice.d.ts","sourceRoot":"","sources":["../../../src/commands/brew/spec-slice.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AAE9C;;;;;;;;;;;;;;;;;;GAkBG;AAEH,MAAM,WAAW,SAAS;IACxB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,oBAAoB,EAAE,MAAM,EAAE,CAAC;IAC/B,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,4EAA4E;IAC5E,QAAQ,EAAE,OAAO,CAAC;IAClB,8BAA8B;IAC9B,KAAK,EAAE;QACL,UAAU,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAE,CAAC;QAC5C,SAAS,EAAE;YAAE,IAAI,EAAE,MAAM,CAAC;YAAC,KAAK,EAAE,MAAM,CAAA;SAAE,CAAC;KAC5C,CAAC;CACH;AAED;;;;;;;;GAQG;AACH,wBAAgB,gCAAgC,CAAC,YAAY,EAAE,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,CAyDlF;AAeD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,IAAI,EACV,YAAY,EAAE,MAAM,EACpB,OAAO,CAAC,EAAE;IACR,gEAAgE;IAChE,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,yDAAyD;IACzD,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,wDAAwD;IACxD,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,GACA,SAAS,CA4CX;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,GAAG,MAAM,CAyBxE"}
|
|
@@ -77,31 +77,51 @@ function scoreEntry(entry, identifiers) {
|
|
|
77
77
|
/**
|
|
78
78
|
* Produce a focused slice of the spec for the given target test.
|
|
79
79
|
*
|
|
80
|
-
*
|
|
81
|
-
*
|
|
82
|
-
*
|
|
80
|
+
* Algorithm (0.11.17+ — top-K ranked):
|
|
81
|
+
*
|
|
82
|
+
* 1. Score each invariant + scenario by token overlap with identifiers
|
|
83
|
+
* extracted from the target test name.
|
|
84
|
+
* 2. Sort by score descending.
|
|
85
|
+
* 3. Keep top `keepInvariants` invariants and top `keepScenarios`
|
|
86
|
+
* scenarios (each defaulting to a small fixed number, NOT
|
|
87
|
+
* "everything with score > 0"). On focused stories where every
|
|
88
|
+
* invariant shares common terms, score>0 is almost always true,
|
|
89
|
+
* and slicing fails to narrow — top-K forces aggressive narrowing.
|
|
90
|
+
* 4. Drop entries with score=0 even if they'd fit in the top-K
|
|
91
|
+
* (no relevance ≠ low relevance — exclude entirely).
|
|
92
|
+
* 5. When fewer than `minKept` invariants have score > 0 AND there
|
|
93
|
+
* are more invariants total than we kept, return the FULL spec
|
|
94
|
+
* as a safety fallback (the agent doesn't have enough relevant
|
|
95
|
+
* context to work from).
|
|
96
|
+
*
|
|
97
|
+
* Validated 2026-04-25 on rewo's story-007 manifest: prior `score > 0`
|
|
98
|
+
* algorithm produced ~97% retention (effectively no slicing) and 50%
|
|
99
|
+
* fallback rate. Top-K with K=5 reduces retention to ~45% on the
|
|
100
|
+
* same data while keeping the most-relevant invariants surfaced.
|
|
83
101
|
*/
|
|
84
102
|
export function sliceSpecForTarget(spec, targetTestId, options) {
|
|
85
103
|
const minKept = options?.minKept ?? 2;
|
|
104
|
+
const keepInvariants = options?.keepInvariants ?? 5;
|
|
105
|
+
const keepScenarios = options?.keepScenarios ?? 4;
|
|
86
106
|
const identifiers = extractIdentifiersFromTargetTest(targetTestId);
|
|
87
107
|
const invariants = spec.invariants ?? [];
|
|
88
108
|
const scenarios = spec.acceptance_scenarios ?? [];
|
|
89
109
|
const nonGoals = spec.non_goals ?? [];
|
|
90
|
-
// Score each entry
|
|
91
|
-
const scoredInv = invariants
|
|
92
|
-
entry,
|
|
93
|
-
score
|
|
94
|
-
|
|
95
|
-
const scoredScn = scenarios
|
|
96
|
-
entry,
|
|
97
|
-
score
|
|
98
|
-
|
|
99
|
-
let keptInv = scoredInv.
|
|
100
|
-
let keptScn = scoredScn.
|
|
110
|
+
// Score each entry, then sort descending. Take the top-K with score>0.
|
|
111
|
+
const scoredInv = invariants
|
|
112
|
+
.map((entry, idx) => ({ entry, score: scoreEntry(entry, identifiers), idx }))
|
|
113
|
+
.filter((s) => s.score > 0)
|
|
114
|
+
.sort((a, b) => b.score - a.score || a.idx - b.idx); // stable: original order on tie
|
|
115
|
+
const scoredScn = scenarios
|
|
116
|
+
.map((entry, idx) => ({ entry, score: scoreEntry(entry, identifiers), idx }))
|
|
117
|
+
.filter((s) => s.score > 0)
|
|
118
|
+
.sort((a, b) => b.score - a.score || a.idx - b.idx);
|
|
119
|
+
let keptInv = scoredInv.slice(0, keepInvariants).map((s) => s.entry);
|
|
120
|
+
let keptScn = scoredScn.slice(0, keepScenarios).map((s) => s.entry);
|
|
101
121
|
// Fallback: if too few invariants matched AND there's room to
|
|
102
|
-
// expand
|
|
103
|
-
//
|
|
104
|
-
//
|
|
122
|
+
// expand, return the full spec rather than starve the agent of
|
|
123
|
+
// context. Triggers on completely unrelated test names (no
|
|
124
|
+
// identifier overlap with any invariant).
|
|
105
125
|
let fellBack = false;
|
|
106
126
|
if (keptInv.length < minKept && keptInv.length < invariants.length) {
|
|
107
127
|
keptInv = invariants;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spec-slice.js","sourceRoot":"","sources":["../../../src/commands/brew/spec-slice.ts"],"names":[],"mappings":"AAmCA;;;;;;;;GAQG;AACH,MAAM,UAAU,gCAAgC,CAAC,YAAoB;IACnE,+DAA+D;IAC/D,MAAM,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC3C,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;IAE/E,2EAA2E;IAC3E,mEAAmE;IACnE,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC;QACnB,qBAAqB;QACrB,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI;QACrE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM;QAClE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK;QACvE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK;QACpE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI;QACpE,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS;QACnE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ;QAClE,iEAAiE;QACjE,4DAA4D;QAC5D,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM;QACjE,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM;QAC/D,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM;QAC7D,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ;QAC5D,MAAM,EAAE,QAAQ;QAChB,oBAAoB;QACpB,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAE,QAAQ;QAClE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;QAC3D,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;QAClE,iEAAiE;QACjE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,UAAU;KACrD,CAAC,CAAC;IAEH,MAAM,GAAG,GAAG,IAAI,GAAG,EAAU,CAAC;IAE9B,2CAA2C;IAC3C,MAAM,MAAM,GAAG,6BAA6B,CAAC;IAC7C,IAAI,CAAyB,CAAC;IAC9B,OAAO,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QAC9C,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;IAC9B,CAAC;IAED,+DAA+D;IAC/D,6CAA6C;IAC7C,MAAM,MAAM,GAAG,6BAA6B,CAAC;IAC7C,OAAO,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QAC9C,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;QAC/B,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;YAAE,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACnC,CAAC;IAED,uEAAuE;IACvE,uEAAuE;IACvE,oBAAoB;IACpB,MAAM,MAAM,GAAG,YAAY,CAAC;IAC5B,OAAO,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;QAC9C,IAAI,CAAC,CAAC,CAAC,CAAC;YAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;IACxC,CAAC;IAED,OAAO,GAAG,CAAC;AACb,CAAC;AAED;;;GAGG;AACH,SAAS,UAAU,CAAC,KAAa,EAAE,WAAwB;IACzD,MAAM,KAAK,GAAG,KAAK,CAAC,WAAW,EAAE,CAAC;IAClC,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,KAAK,MAAM,EAAE,IAAI,WAAW,EAAE,CAAC;QAC7B,IAAI,KAAK,CAAC,QAAQ,CAAC,EAAE,CAAC;YAAE,KAAK,IAAI,CAAC,CAAC;IACrC,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED
|
|
1
|
+
{"version":3,"file":"spec-slice.js","sourceRoot":"","sources":["../../../src/commands/brew/spec-slice.ts"],"names":[],"mappings":"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"}
|
|
@@ -129,23 +129,65 @@ function recordManifest(args, config) {
|
|
|
129
129
|
}
|
|
130
130
|
process.exit(2);
|
|
131
131
|
}
|
|
132
|
+
// 0.11.18+ — when `--story <id>` is set, FILTER the discovered
|
|
133
|
+
// tests to those belonging to that story. Slowcook's per-story
|
|
134
|
+
// file-naming convention is `tests/<dir>/story-<id>(.test.*|-*.test.*)`,
|
|
135
|
+
// so we match files where the basename starts with `story-<id>`
|
|
136
|
+
// followed by `.` or `-` (or end of path), preventing story-007
|
|
137
|
+
// from matching story-0070.
|
|
138
|
+
//
|
|
139
|
+
// Without this filter, every story-N manifest captured all
|
|
140
|
+
// discoverable tests, breaking brew's per-story scope: brew on
|
|
141
|
+
// story-007 would target reds in stories 003/004/etc. and the
|
|
142
|
+
// per-iter test scope was effectively the full suite. See slowcook
|
|
143
|
+
// GitHub issue #5 for the original bug report.
|
|
144
|
+
let filteredTests = tests;
|
|
145
|
+
let filteredSuites = suites;
|
|
146
|
+
if (args.storyId) {
|
|
147
|
+
const storyRe = new RegExp(`(?:^|/)story-${escapeRegex(args.storyId)}(?:[-.]|$)`);
|
|
148
|
+
filteredTests = tests.filter((t) => storyRe.test(t.file));
|
|
149
|
+
if (filteredTests.length === 0) {
|
|
150
|
+
console.error(`No tests matched story id "${args.storyId}". Expected files matching ` +
|
|
151
|
+
`\`story-${args.storyId}.test.*\` or \`story-${args.storyId}-*.test.*\` ` +
|
|
152
|
+
`under the configured discovery roots. Refusing to write an empty manifest.`);
|
|
153
|
+
process.exit(2);
|
|
154
|
+
}
|
|
155
|
+
// Recompute per-suite counts from the filtered set so the manifest's
|
|
156
|
+
// `suites[].test_count` reflects the FILTERED total, not raw discovery.
|
|
157
|
+
filteredSuites = suites.map((s) => ({
|
|
158
|
+
...s,
|
|
159
|
+
test_count: filteredTests.filter((t) =>
|
|
160
|
+
// Heuristic: tests whose suite-of-origin matches this suite name.
|
|
161
|
+
// Slowcook only has one vitest suite today; this is a forward-
|
|
162
|
+
// compat hedge for multi-suite stacks.
|
|
163
|
+
true).length,
|
|
164
|
+
}));
|
|
165
|
+
}
|
|
132
166
|
const m = buildManifest({
|
|
133
167
|
slowcookVersion: CLI_VERSION,
|
|
134
168
|
storyId: args.storyId,
|
|
135
|
-
tests,
|
|
136
|
-
suites,
|
|
169
|
+
tests: filteredTests,
|
|
170
|
+
suites: filteredSuites,
|
|
137
171
|
});
|
|
138
172
|
// Ensure directory exists
|
|
139
173
|
const dir = dirname(args.manifestPath);
|
|
140
174
|
if (!existsSync(dir))
|
|
141
175
|
mkdirSync(dir, { recursive: true });
|
|
142
176
|
writeFileSync(args.manifestPath, JSON.stringify(m, null, 2) + "\n", "utf8");
|
|
143
|
-
console.log(`Recorded ${m.tests.length} test(s) across ${m.suites.length} suite(s) → ${args.manifestPath}`
|
|
177
|
+
console.log(`Recorded ${m.tests.length} test(s) across ${m.suites.length} suite(s) → ${args.manifestPath}` +
|
|
178
|
+
(args.storyId
|
|
179
|
+
? ` (filtered to story-${args.storyId}; from ${tests.length} total discovered)`
|
|
180
|
+
: ""));
|
|
144
181
|
for (const s of m.suites) {
|
|
145
182
|
console.log(` [${s.suite}] ${s.test_count} tests`);
|
|
146
183
|
}
|
|
147
184
|
appendGhSummary(`### Manifest recorded\n\n- ${m.tests.length} tests across ${m.suites.length} suites\n- Written to \`${args.manifestPath}\`\n`);
|
|
148
185
|
}
|
|
186
|
+
/** Escape regex meta-characters in a story id (defensive — story ids
|
|
187
|
+
* are normally numeric, but the type allows any string). */
|
|
188
|
+
function escapeRegex(s) {
|
|
189
|
+
return s.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
|
|
190
|
+
}
|
|
149
191
|
function verifyManifest(args, config) {
|
|
150
192
|
let manifest;
|
|
151
193
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"manifest.js","sourceRoot":"","sources":["../../src/commands/manifest.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"manifest.js","sourceRoot":"","sources":["../../src/commands/manifest.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@slowcook-ai/cli",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.12.0",
|
|
4
4
|
"description": "CLI for the slowcook brewing harness",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "aminazar",
|
|
@@ -39,8 +39,8 @@
|
|
|
39
39
|
"yaml": "^2.6.0",
|
|
40
40
|
"zod": "^3.23.8",
|
|
41
41
|
"@slowcook-ai/core": "^0.11.12",
|
|
42
|
-
"@slowcook-ai/stack-ts": "^0.9.6",
|
|
43
42
|
"@slowcook-ai/forge-github": "^0.9.7",
|
|
43
|
+
"@slowcook-ai/stack-ts": "^0.9.6",
|
|
44
44
|
"@slowcook-ai/llm-anthropic": "^0.8.1",
|
|
45
45
|
"@slowcook-ai/recorder": "^0.9.1"
|
|
46
46
|
},
|