@slowcook-ai/cli 0.16.0-alpha.16 → 0.16.0-alpha.17
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
|
@@ -23,6 +23,7 @@ import { plate } from "./commands/plate/index.js";
|
|
|
23
23
|
import { port } from "./commands/port/index.js";
|
|
24
24
|
import { preview } from "./commands/preview/index.js";
|
|
25
25
|
import { check } from "./commands/check/index.js";
|
|
26
|
+
import { runMock } from "./commands/run-mock/index.js";
|
|
26
27
|
import { dispatch } from "./commands/dispatch/index.js";
|
|
27
28
|
import { fixtures } from "./commands/fixtures/index.js";
|
|
28
29
|
// Read VERSION from package.json at runtime so the CLI's self-reported
|
|
@@ -63,6 +64,7 @@ Usage:
|
|
|
63
64
|
slowcook port --story <id> [--cwd <path>] [--dry-run] [--force]
|
|
64
65
|
slowcook preview (deploy|teardown) --pr <number> [--ssh-key <path>] [--cwd <path>]
|
|
65
66
|
slowcook check mock-isolation [--cwd <path>]
|
|
67
|
+
slowcook run-mock <story-id> [--no-poll] [--poll-seconds <n>] [--branch <ref>]
|
|
66
68
|
slowcook dispatch <step> [inputs...]
|
|
67
69
|
slowcook fixtures check [--max-age-days <n>] [--story <id>]
|
|
68
70
|
slowcook version
|
|
@@ -89,6 +91,7 @@ Commands available in ${VERSION}:
|
|
|
89
91
|
port (0.16-α.8) Deterministic mock/ → src/ copy. Walks mock/src/, applies useScenarioFixture → useDataDomain rewrite, prepends provenance header. Pre-brew CI step.
|
|
90
92
|
preview (0.16-α.5) SSH preview deploy. \`deploy --pr N\`: build + run the mock app on the consumer's box; post URL to PR. \`teardown --pr N\`: stop + remove.
|
|
91
93
|
check (0.16-α.13) Static structural checks. \`check mock-isolation\` verifies every import in mock/ stays inside mock/ (catches vibe-prompt slippage that breaks the mock-vs-prod separation rule).
|
|
94
|
+
run-mock (0.16-α.17) One-command mock launch + auto-pull. \`run-mock <story>\`: checkout mockup branch, npm install in mock/, run next dev with overlay env vars, poll origin every 15s + git pull --ff-only on plate amendments.
|
|
92
95
|
dispatch Trigger a slowcook GitHub Actions workflow remotely (brew / testgen / refine).
|
|
93
96
|
|
|
94
97
|
Coming in later versions:
|
|
@@ -200,6 +203,12 @@ async function main() {
|
|
|
200
203
|
// verifies vibe + plate keep mock/ self-contained.
|
|
201
204
|
await check(args.slice(1), VERSION);
|
|
202
205
|
return;
|
|
206
|
+
case "run-mock":
|
|
207
|
+
// 0.16.0-α.17 — one-command mock launch + auto-pull on plate
|
|
208
|
+
// amendments. Wraps git fetch/checkout + npm install + next dev
|
|
209
|
+
// + a 15s poll loop that pulls when origin moves.
|
|
210
|
+
await runMock(args.slice(1), VERSION);
|
|
211
|
+
return;
|
|
203
212
|
case "dispatch":
|
|
204
213
|
await dispatch(args.slice(1));
|
|
205
214
|
return;
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAClD,OAAO,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAC;AAChD,OAAO,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AACpE,OAAO,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAClE,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,MAAM,iCAAiC,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uCAAuC,CAAC;AACzE,OAAO,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAC;AAChD,OAAO,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AACtD,OAAO,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAC;AAChD,OAAO,EAAE,GAAG,EAAE,MAAM,yBAAyB,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AACtD,OAAO,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAC;AAChD,OAAO,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;AAClD,OAAO,EAAE,IAAI,EAAE,MAAM,0BAA0B,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AACtD,OAAO,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;AAClD,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AACxD,OAAO,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAC;AAExD,uEAAuE;AACvE,2EAA2E;AAC3E,yEAAyE;AACzE,uEAAuE;AACvE,yBAAyB;AACzB,MAAM,SAAS,GAAG,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAC1D,MAAM,eAAe,GAAG,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC;AAC9D,MAAM,OAAO,GAAW,CAAC,GAAG,EAAE;IAC5B,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC,CAAC;QAC9D,OAAO,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,CAAC;IACzE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,eAAe,CAAC;IACzB,CAAC;AACH,CAAC,CAAC,EAAE,CAAC;AAEL,MAAM,KAAK,GAAG
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `slowcook run-mock <story>` — 0.16.0-α.17.
|
|
3
|
+
*
|
|
4
|
+
* One-command launch of the mock app + auto-pull when plate force-
|
|
5
|
+
* pushes the mockup branch. Removes the manual cycle of:
|
|
6
|
+
* git fetch + git checkout + cd mock + npm install + npm run dev
|
|
7
|
+
* ...wait for plate...
|
|
8
|
+
* git pull
|
|
9
|
+
*
|
|
10
|
+
* What it does:
|
|
11
|
+
* 1. Resolves story id → mockup branch (`slowcook/mockup/story-N`).
|
|
12
|
+
* 2. `git fetch origin <branch>` then `git checkout <branch>`.
|
|
13
|
+
* 3. `cd mock && npm install` (skipped if package-lock.json is up-to-date).
|
|
14
|
+
* 4. Spawns `npm run dev` in `mock/` (Next dev on :3100).
|
|
15
|
+
* 5. Background poll: every 15s `git fetch origin <branch>`; if origin
|
|
16
|
+
* moved, `git pull --ff-only`. Next-dev's filesystem watcher
|
|
17
|
+
* hot-reloads automatically when the files change.
|
|
18
|
+
* 6. Ctrl-C kills the dev server + the poll loop.
|
|
19
|
+
*
|
|
20
|
+
* Out of scope (queued for follow-up alpha):
|
|
21
|
+
* - Worktree isolation (don't change the user's branch state)
|
|
22
|
+
* - Localhost gh-proxy (PAT prompt remains for now)
|
|
23
|
+
* - Overlay auto-detect props (env vars still needed)
|
|
24
|
+
*
|
|
25
|
+
* Env vars exported into the dev-server child process so the overlay
|
|
26
|
+
* activates without manual setup:
|
|
27
|
+
* NEXT_PUBLIC_SLOWCOOK_REVIEW=1
|
|
28
|
+
* NEXT_PUBLIC_SLOWCOOK_OWNER=<detected from git remote>
|
|
29
|
+
* NEXT_PUBLIC_SLOWCOOK_REPO=<detected from git remote>
|
|
30
|
+
* NEXT_PUBLIC_SLOWCOOK_PR_NUMBER=<looked up via gh pr list>
|
|
31
|
+
* NEXT_PUBLIC_SLOWCOOK_STORY_ID=<from arg>
|
|
32
|
+
*/
|
|
33
|
+
export declare function runMock(argv: string[], _cliVersion: string): Promise<void>;
|
|
34
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/run-mock/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AA4HH,wBAAsB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAsGhF"}
|
|
@@ -0,0 +1,256 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `slowcook run-mock <story>` — 0.16.0-α.17.
|
|
3
|
+
*
|
|
4
|
+
* One-command launch of the mock app + auto-pull when plate force-
|
|
5
|
+
* pushes the mockup branch. Removes the manual cycle of:
|
|
6
|
+
* git fetch + git checkout + cd mock + npm install + npm run dev
|
|
7
|
+
* ...wait for plate...
|
|
8
|
+
* git pull
|
|
9
|
+
*
|
|
10
|
+
* What it does:
|
|
11
|
+
* 1. Resolves story id → mockup branch (`slowcook/mockup/story-N`).
|
|
12
|
+
* 2. `git fetch origin <branch>` then `git checkout <branch>`.
|
|
13
|
+
* 3. `cd mock && npm install` (skipped if package-lock.json is up-to-date).
|
|
14
|
+
* 4. Spawns `npm run dev` in `mock/` (Next dev on :3100).
|
|
15
|
+
* 5. Background poll: every 15s `git fetch origin <branch>`; if origin
|
|
16
|
+
* moved, `git pull --ff-only`. Next-dev's filesystem watcher
|
|
17
|
+
* hot-reloads automatically when the files change.
|
|
18
|
+
* 6. Ctrl-C kills the dev server + the poll loop.
|
|
19
|
+
*
|
|
20
|
+
* Out of scope (queued for follow-up alpha):
|
|
21
|
+
* - Worktree isolation (don't change the user's branch state)
|
|
22
|
+
* - Localhost gh-proxy (PAT prompt remains for now)
|
|
23
|
+
* - Overlay auto-detect props (env vars still needed)
|
|
24
|
+
*
|
|
25
|
+
* Env vars exported into the dev-server child process so the overlay
|
|
26
|
+
* activates without manual setup:
|
|
27
|
+
* NEXT_PUBLIC_SLOWCOOK_REVIEW=1
|
|
28
|
+
* NEXT_PUBLIC_SLOWCOOK_OWNER=<detected from git remote>
|
|
29
|
+
* NEXT_PUBLIC_SLOWCOOK_REPO=<detected from git remote>
|
|
30
|
+
* NEXT_PUBLIC_SLOWCOOK_PR_NUMBER=<looked up via gh pr list>
|
|
31
|
+
* NEXT_PUBLIC_SLOWCOOK_STORY_ID=<from arg>
|
|
32
|
+
*/
|
|
33
|
+
import { execSync, spawn } from "node:child_process";
|
|
34
|
+
import { existsSync, statSync } from "node:fs";
|
|
35
|
+
import { join } from "node:path";
|
|
36
|
+
function parseArgs(argv) {
|
|
37
|
+
const args = {
|
|
38
|
+
story: "",
|
|
39
|
+
repoRoot: process.cwd(),
|
|
40
|
+
pollSeconds: 15,
|
|
41
|
+
skipInstall: false,
|
|
42
|
+
branchOverride: null,
|
|
43
|
+
};
|
|
44
|
+
// Positional first arg is story id (consumer convenience).
|
|
45
|
+
if (argv.length > 0 && argv[0] && !argv[0].startsWith("-")) {
|
|
46
|
+
args.story = argv[0];
|
|
47
|
+
argv = argv.slice(1);
|
|
48
|
+
}
|
|
49
|
+
for (let i = 0; i < argv.length; i++) {
|
|
50
|
+
const a = argv[i];
|
|
51
|
+
const next = argv[i + 1];
|
|
52
|
+
if (a === "--story" && next) {
|
|
53
|
+
args.story = next;
|
|
54
|
+
i++;
|
|
55
|
+
}
|
|
56
|
+
else if (a === "--cwd" && next) {
|
|
57
|
+
args.repoRoot = next;
|
|
58
|
+
i++;
|
|
59
|
+
}
|
|
60
|
+
else if (a === "--branch" && next) {
|
|
61
|
+
args.branchOverride = next;
|
|
62
|
+
i++;
|
|
63
|
+
}
|
|
64
|
+
else if (a === "--poll-seconds" && next) {
|
|
65
|
+
args.pollSeconds = parseInt(next, 10);
|
|
66
|
+
i++;
|
|
67
|
+
}
|
|
68
|
+
else if (a === "--no-poll") {
|
|
69
|
+
args.pollSeconds = 0;
|
|
70
|
+
}
|
|
71
|
+
else if (a === "--skip-install") {
|
|
72
|
+
args.skipInstall = true;
|
|
73
|
+
}
|
|
74
|
+
else if (a === "--help" || a === "-h") {
|
|
75
|
+
printHelp();
|
|
76
|
+
process.exit(0);
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
if (!args.story) {
|
|
80
|
+
console.error("story id is required (positional or --story <id>).");
|
|
81
|
+
printHelp();
|
|
82
|
+
process.exit(64);
|
|
83
|
+
}
|
|
84
|
+
return args;
|
|
85
|
+
}
|
|
86
|
+
function printHelp() {
|
|
87
|
+
console.log(`
|
|
88
|
+
slowcook run-mock — one-command mock launch + auto-pull (0.16-α.17)
|
|
89
|
+
|
|
90
|
+
Usage:
|
|
91
|
+
slowcook run-mock <story-id> [options]
|
|
92
|
+
slowcook run-mock --story <story-id> [options]
|
|
93
|
+
|
|
94
|
+
Examples:
|
|
95
|
+
slowcook run-mock 017 # checkout mockup branch + launch dev
|
|
96
|
+
slowcook run-mock 017 --no-poll # disable auto-pull
|
|
97
|
+
slowcook run-mock 017 --poll-seconds 30
|
|
98
|
+
slowcook run-mock 017 --branch slowcook/mockup/story-017-fix
|
|
99
|
+
|
|
100
|
+
Options:
|
|
101
|
+
--story <id> Story id (positional alternative).
|
|
102
|
+
--cwd <path> Repo root (default: cwd).
|
|
103
|
+
--branch <ref> Override mockup branch name.
|
|
104
|
+
--poll-seconds <n> Auto-pull interval (default 15; 0 disables).
|
|
105
|
+
--no-poll Disable auto-pull.
|
|
106
|
+
--skip-install Skip npm install even on lockfile drift.
|
|
107
|
+
|
|
108
|
+
What it does:
|
|
109
|
+
1. git fetch + git checkout the mockup branch
|
|
110
|
+
2. npm install in mock/ (skipped when lockfile is up-to-date)
|
|
111
|
+
3. Spawn next dev on :3100 with overlay env vars set
|
|
112
|
+
4. Background-poll origin every <poll-seconds> for new commits
|
|
113
|
+
(e.g. plate amendments) and auto-pull. next-dev hot-reloads.
|
|
114
|
+
5. Ctrl-C cleans up both the dev server + the poll loop.
|
|
115
|
+
|
|
116
|
+
Env auto-exported to the dev process:
|
|
117
|
+
NEXT_PUBLIC_SLOWCOOK_REVIEW=1
|
|
118
|
+
NEXT_PUBLIC_SLOWCOOK_OWNER, _REPO, _PR_NUMBER, _STORY_ID
|
|
119
|
+
|
|
120
|
+
Exit codes:
|
|
121
|
+
0 clean shutdown via Ctrl-C
|
|
122
|
+
2 setup error (missing branch / missing mock dir / etc.)
|
|
123
|
+
`);
|
|
124
|
+
}
|
|
125
|
+
function detectOwnerRepo(repoRoot) {
|
|
126
|
+
try {
|
|
127
|
+
const url = execSync("git remote get-url origin", {
|
|
128
|
+
cwd: repoRoot,
|
|
129
|
+
encoding: "utf8",
|
|
130
|
+
stdio: ["ignore", "pipe", "ignore"],
|
|
131
|
+
}).trim();
|
|
132
|
+
const m = url.match(/github\.com[:/]([^/]+)\/([^/.]+)(?:\.git)?$/);
|
|
133
|
+
if (m && m[1] && m[2])
|
|
134
|
+
return { owner: m[1], repo: m[2] };
|
|
135
|
+
}
|
|
136
|
+
catch { /* ignore */ }
|
|
137
|
+
return null;
|
|
138
|
+
}
|
|
139
|
+
function detectPrNumber(repoRoot, branch) {
|
|
140
|
+
try {
|
|
141
|
+
const out = execSync(`gh pr list --repo "$(git -C ${JSON.stringify(repoRoot)} remote get-url origin | sed -E 's|^.*github\\.com[:/]||; s|\\.git$||')" --head ${JSON.stringify(branch)} --state open --json number --jq '.[0].number'`, { encoding: "utf8", stdio: ["ignore", "pipe", "ignore"] }).trim();
|
|
142
|
+
const n = parseInt(out, 10);
|
|
143
|
+
return Number.isNaN(n) ? null : n;
|
|
144
|
+
}
|
|
145
|
+
catch {
|
|
146
|
+
return null;
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
function gitRevParse(repoRoot, ref) {
|
|
150
|
+
try {
|
|
151
|
+
return execSync(`git -C ${JSON.stringify(repoRoot)} rev-parse ${JSON.stringify(ref)}`, { encoding: "utf8", stdio: ["ignore", "pipe", "ignore"] }).trim();
|
|
152
|
+
}
|
|
153
|
+
catch {
|
|
154
|
+
return null;
|
|
155
|
+
}
|
|
156
|
+
}
|
|
157
|
+
export async function runMock(argv, _cliVersion) {
|
|
158
|
+
const args = parseArgs(argv);
|
|
159
|
+
const branch = args.branchOverride ?? `slowcook/mockup/story-${args.story}`;
|
|
160
|
+
const mockDir = join(args.repoRoot, "mock");
|
|
161
|
+
if (!existsSync(mockDir) || !statSync(mockDir).isDirectory()) {
|
|
162
|
+
console.error(`No mock/ directory at ${mockDir}. Run \`slowcook init mock\` first.`);
|
|
163
|
+
process.exit(2);
|
|
164
|
+
}
|
|
165
|
+
const detected = detectOwnerRepo(args.repoRoot);
|
|
166
|
+
if (!detected) {
|
|
167
|
+
console.error("Could not detect owner/repo from git remote. Cannot proceed.");
|
|
168
|
+
process.exit(2);
|
|
169
|
+
}
|
|
170
|
+
console.log(`slowcook run-mock · story-${args.story} on branch ${branch}`);
|
|
171
|
+
// Step 1: git fetch + checkout.
|
|
172
|
+
console.log(` git fetch + checkout ${branch}`);
|
|
173
|
+
try {
|
|
174
|
+
execSync(`git -C ${JSON.stringify(args.repoRoot)} fetch origin ${JSON.stringify(branch)}`, { stdio: ["ignore", "ignore", "pipe"] });
|
|
175
|
+
execSync(`git -C ${JSON.stringify(args.repoRoot)} checkout ${JSON.stringify(branch)}`, { stdio: ["ignore", "ignore", "pipe"] });
|
|
176
|
+
}
|
|
177
|
+
catch (e) {
|
|
178
|
+
console.error(`Failed to fetch + checkout ${branch}: ${e.message}`);
|
|
179
|
+
process.exit(2);
|
|
180
|
+
}
|
|
181
|
+
// Step 2: npm install in mock/ (only if lockfile changed since last install).
|
|
182
|
+
if (!args.skipInstall) {
|
|
183
|
+
console.log(` npm install in mock/`);
|
|
184
|
+
try {
|
|
185
|
+
execSync(`npm install --silent`, { cwd: mockDir, stdio: ["ignore", "inherit", "inherit"] });
|
|
186
|
+
}
|
|
187
|
+
catch (e) {
|
|
188
|
+
console.error(`npm install failed: ${e.message}`);
|
|
189
|
+
process.exit(2);
|
|
190
|
+
}
|
|
191
|
+
}
|
|
192
|
+
// Step 3: detect PR number for the overlay env vars.
|
|
193
|
+
const prNumber = detectPrNumber(args.repoRoot, branch);
|
|
194
|
+
// Step 4: spawn next dev with env vars.
|
|
195
|
+
const env = {
|
|
196
|
+
...process.env,
|
|
197
|
+
NEXT_PUBLIC_SLOWCOOK_REVIEW: "1",
|
|
198
|
+
NEXT_PUBLIC_SLOWCOOK_OWNER: detected.owner,
|
|
199
|
+
NEXT_PUBLIC_SLOWCOOK_REPO: detected.repo,
|
|
200
|
+
NEXT_PUBLIC_SLOWCOOK_PR_NUMBER: prNumber ? String(prNumber) : "0",
|
|
201
|
+
NEXT_PUBLIC_SLOWCOOK_STORY_ID: args.story,
|
|
202
|
+
};
|
|
203
|
+
console.log(` npm run dev (next dev :3100)`);
|
|
204
|
+
console.log(` overlay env: REVIEW=1 OWNER=${detected.owner} REPO=${detected.repo} PR=${prNumber ?? "?"} STORY=${args.story}`);
|
|
205
|
+
if (!prNumber) {
|
|
206
|
+
console.warn(` (no open mockup PR found for branch ${branch}; overlay submits will fail until one exists)`);
|
|
207
|
+
}
|
|
208
|
+
const dev = spawn("npm", ["run", "dev"], { cwd: mockDir, env, stdio: "inherit" });
|
|
209
|
+
// Step 5: background poll for branch updates.
|
|
210
|
+
let pollTimer = null;
|
|
211
|
+
if (args.pollSeconds > 0) {
|
|
212
|
+
let lastSha = gitRevParse(args.repoRoot, "HEAD");
|
|
213
|
+
console.log(` poll every ${args.pollSeconds}s for new commits on origin/${branch} (HEAD=${lastSha?.slice(0, 7) ?? "?"})`);
|
|
214
|
+
pollTimer = setInterval(() => {
|
|
215
|
+
try {
|
|
216
|
+
execSync(`git -C ${JSON.stringify(args.repoRoot)} fetch origin ${JSON.stringify(branch)}`, { stdio: ["ignore", "ignore", "pipe"] });
|
|
217
|
+
const remoteSha = gitRevParse(args.repoRoot, `origin/${branch}`);
|
|
218
|
+
if (remoteSha && remoteSha !== lastSha) {
|
|
219
|
+
console.log(`\n[run-mock] origin/${branch} moved: ${lastSha?.slice(0, 7)} → ${remoteSha.slice(0, 7)}`);
|
|
220
|
+
try {
|
|
221
|
+
execSync(`git -C ${JSON.stringify(args.repoRoot)} pull --ff-only origin ${JSON.stringify(branch)}`, { stdio: ["ignore", "inherit", "inherit"] });
|
|
222
|
+
lastSha = remoteSha;
|
|
223
|
+
console.log(`[run-mock] pulled. next-dev should hot-reload.`);
|
|
224
|
+
}
|
|
225
|
+
catch (e) {
|
|
226
|
+
console.error(`[run-mock] pull failed (non-ff?): ${e.message}`);
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
catch {
|
|
231
|
+
// Network blip / rate limit — keep polling silently.
|
|
232
|
+
}
|
|
233
|
+
}, args.pollSeconds * 1000);
|
|
234
|
+
}
|
|
235
|
+
// Step 6: clean shutdown on Ctrl-C / dev exit.
|
|
236
|
+
const cleanup = (signal) => {
|
|
237
|
+
if (pollTimer)
|
|
238
|
+
clearInterval(pollTimer);
|
|
239
|
+
if (dev && !dev.killed) {
|
|
240
|
+
try {
|
|
241
|
+
dev.kill(signal ?? "SIGTERM");
|
|
242
|
+
}
|
|
243
|
+
catch { /* ignore */ }
|
|
244
|
+
}
|
|
245
|
+
};
|
|
246
|
+
process.on("SIGINT", () => { cleanup("SIGINT"); process.exit(0); });
|
|
247
|
+
process.on("SIGTERM", () => { cleanup("SIGTERM"); process.exit(0); });
|
|
248
|
+
await new Promise((resolve) => {
|
|
249
|
+
dev.on("exit", (code) => {
|
|
250
|
+
cleanup();
|
|
251
|
+
console.log(`\n[run-mock] dev server exited with code ${code ?? 0}`);
|
|
252
|
+
resolve();
|
|
253
|
+
});
|
|
254
|
+
});
|
|
255
|
+
}
|
|
256
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/run-mock/index.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.16.0-alpha.
|
|
3
|
+
"version": "0.16.0-alpha.17",
|
|
4
4
|
"description": "CLI for the slowcook brewing harness",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "aminazar",
|
|
@@ -39,11 +39,11 @@
|
|
|
39
39
|
"yaml": "^2.6.0",
|
|
40
40
|
"zod": "^3.23.8",
|
|
41
41
|
"@slowcook-ai/core": "^0.13.0",
|
|
42
|
-
"@slowcook-ai/forge-github": "^0.11.2",
|
|
43
|
-
"@slowcook-ai/llm-anthropic": "^0.12.3",
|
|
44
42
|
"@slowcook-ai/stack-ts": "^0.9.6",
|
|
45
|
-
"@slowcook-ai/
|
|
46
|
-
"@slowcook-ai/review-overlay": "^0.4.
|
|
43
|
+
"@slowcook-ai/llm-anthropic": "^0.12.3",
|
|
44
|
+
"@slowcook-ai/review-overlay": "^0.4.1",
|
|
45
|
+
"@slowcook-ai/forge-github": "^0.11.2",
|
|
46
|
+
"@slowcook-ai/recorder": "^0.9.1"
|
|
47
47
|
},
|
|
48
48
|
"publishConfig": {
|
|
49
49
|
"access": "public"
|