greprag 5.60.5 → 5.60.7

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 (43) hide show
  1. package/dist/codex-chip-hooks.js +8 -4
  2. package/dist/codex-chip-hooks.js.map +1 -1
  3. package/dist/commands/codex-chip/bootstrap.d.ts +4 -0
  4. package/dist/commands/codex-chip/bootstrap.js +11 -0
  5. package/dist/commands/codex-chip/bootstrap.js.map +1 -1
  6. package/dist/commands/codex-chip/cleanup-command.js +21 -3
  7. package/dist/commands/codex-chip/cleanup-command.js.map +1 -1
  8. package/dist/commands/codex-chip/command.js +25 -3
  9. package/dist/commands/codex-chip/command.js.map +1 -1
  10. package/dist/commands/codex-chip/git.d.ts +19 -4
  11. package/dist/commands/codex-chip/git.js +82 -14
  12. package/dist/commands/codex-chip/git.js.map +1 -1
  13. package/dist/commands/codex-chip/help.d.ts +1 -1
  14. package/dist/commands/codex-chip/help.js +10 -9
  15. package/dist/commands/codex-chip/help.js.map +1 -1
  16. package/dist/commands/codex-chip/lifecycle.d.ts +4 -1
  17. package/dist/commands/codex-chip/lifecycle.js +14 -3
  18. package/dist/commands/codex-chip/lifecycle.js.map +1 -1
  19. package/dist/commands/codex-chip/model.d.ts +5 -1
  20. package/dist/commands/codex-chip/model.js.map +1 -1
  21. package/dist/commands/codex-chip/native.js +8 -8
  22. package/dist/commands/codex-chip/native.js.map +1 -1
  23. package/dist/commands/codex-chip/prompt.js +7 -2
  24. package/dist/commands/codex-chip/prompt.js.map +1 -1
  25. package/dist/commands/codex-chip/resume-command.js +1 -1
  26. package/dist/commands/codex-chip/resume-command.js.map +1 -1
  27. package/dist/commands/codex-chip/selection.d.ts +3 -7
  28. package/dist/commands/codex-chip/selection.js +11 -22
  29. package/dist/commands/codex-chip/selection.js.map +1 -1
  30. package/dist/commands/codex-chip/worker.js +81 -21
  31. package/dist/commands/codex-chip/worker.js.map +1 -1
  32. package/dist/commands/codex-model-policy.d.ts +19 -0
  33. package/dist/commands/codex-model-policy.js +155 -0
  34. package/dist/commands/codex-model-policy.js.map +1 -0
  35. package/dist/commands/codex-watch-health.d.ts +11 -0
  36. package/dist/commands/codex-watch-health.js +54 -0
  37. package/dist/commands/codex-watch-health.js.map +1 -1
  38. package/dist/commands/codex.js +17 -1
  39. package/dist/commands/codex.js.map +1 -1
  40. package/package.json +1 -1
  41. package/skill/mechanic/SKILL.md +21 -0
  42. package/skill/templates/codex-chip-spawn.md +27 -2
  43. package/skill/templates/codex-subagent-spawn.md +2 -0
@@ -44,6 +44,7 @@ const store_1 = require("./store");
44
44
  const inbox_1 = require("./inbox");
45
45
  const git_1 = require("./git");
46
46
  const model_1 = require("./model");
47
+ const lifecycle_1 = require("./lifecycle");
47
48
  function terminal(status) {
48
49
  return Boolean(status && !['inProgress', 'in_progress', 'running'].includes(status));
49
50
  }
@@ -179,11 +180,13 @@ async function runChipWorker(id, client, pollMs = 2_000, initialPrompt) {
179
180
  * without the legacy report receipt. The child response remains authoritative
180
181
  * for the human-facing DONE/BLOCKED details. */
181
182
  function completeSettledTurn(manifest) {
183
+ if (manifest.codex.runtime === 'native')
184
+ return null;
182
185
  const executionPath = (0, model_1.chipExecutionPath)(manifest);
183
186
  if (!fs.existsSync(executionPath) || (0, git_1.isDirty)(executionPath))
184
187
  return null;
185
188
  const reportedBranch = (0, git_1.branchName)(executionPath);
186
- if (manifest.codex.runtime !== 'native' && reportedBranch !== manifest.worktree.branch)
189
+ if (reportedBranch !== manifest.worktree.branch)
187
190
  return null;
188
191
  const commit = (0, git_1.headCommit)(executionPath);
189
192
  if (!(0, git_1.isCommitAncestor)(executionPath, manifest.parent.baseSha, commit))
@@ -217,7 +220,8 @@ async function processChipReceipt(id) {
217
220
  if (!manifest)
218
221
  throw new Error(`Unknown chip: ${id}`);
219
222
  const executionPath = (0, model_1.chipExecutionPath)(manifest);
220
- const file = (0, git_1.chipReceiptPath)(executionPath);
223
+ const native = manifest.codex.runtime === 'native';
224
+ const file = (0, git_1.chipReceiptPath)(executionPath, native ? 'workspace' : 'git');
221
225
  let receipt;
222
226
  try {
223
227
  receipt = JSON.parse(fs.readFileSync(file, 'utf-8'));
@@ -242,12 +246,66 @@ async function processChipReceipt(id) {
242
246
  }
243
247
  if (receipt.type === 'block') {
244
248
  manifest = (0, store_1.updateManifest)(id, { state: 'blocked', error: receipt.reason });
245
- await (0, inbox_1.sendChipEvent)(manifest, manifest.parent.sessionId, {
246
- kind: 'blocked', summary: receipt.reason,
247
- }, manifest.codex.threadId);
249
+ if (!(0, lifecycle_1.nativeTaskOwnsTerminalResult)(manifest)) {
250
+ await (0, inbox_1.sendChipEvent)(manifest, manifest.parent.sessionId, {
251
+ kind: 'blocked', summary: receipt.reason,
252
+ }, manifest.codex.threadId);
253
+ }
254
+ fs.rmSync(file, { force: true });
255
+ return manifest;
256
+ }
257
+ if (native) {
258
+ if (receipt.commit) {
259
+ manifest = (0, store_1.updateManifest)(id, {
260
+ state: 'blocked', error: 'Native child supplied a commit; native commits are host-owned. Leave the request receipt for retry.',
261
+ });
262
+ return manifest;
263
+ }
264
+ if (receipt.evidence?.workspace_write_probe !== 'passed' || !receipt.workspaceWriteProbeAt) {
265
+ manifest = (0, store_1.updateManifest)(id, {
266
+ state: 'blocked', error: 'Native report is missing the workspace-write acceptance probe; no host commit was created.',
267
+ });
268
+ return manifest;
269
+ }
270
+ let commit = manifest.report?.commit;
271
+ try {
272
+ if (!commit || (0, git_1.headCommit)(executionPath) !== commit) {
273
+ const committed = (0, git_1.commitNativeCheckout)(executionPath, manifest.worktree.branch, manifest.parent.baseSha, `${manifest.name}: ${receipt.summary}`, { name: (0, git_1.gitConfig)(manifest.parent.root, 'user.name'), email: (0, git_1.gitConfig)(manifest.parent.root, 'user.email') });
274
+ commit = committed.commit;
275
+ }
276
+ }
277
+ catch (err) {
278
+ manifest = (0, store_1.updateManifest)(id, {
279
+ state: 'blocked',
280
+ error: `Native host commit is blocked: ${err.message}`,
281
+ });
282
+ return manifest;
283
+ }
284
+ const files = (0, git_1.changedFiles)(executionPath, manifest.parent.baseSha);
285
+ manifest = (0, store_1.updateManifest)(id, {
286
+ error: undefined,
287
+ codex: { ...manifest.codex, workspaceWriteProbeAt: receipt.workspaceWriteProbeAt },
288
+ report: {
289
+ summary: receipt.summary, commit, changedFiles: files, checks: receipt.checks,
290
+ reportedAt: new Date().toISOString(), evidence: receipt.evidence,
291
+ },
292
+ });
293
+ try {
294
+ (0, git_1.importBranch)(manifest.parent.root, executionPath, manifest.worktree.branch, commit);
295
+ }
296
+ catch (err) {
297
+ manifest = (0, store_1.updateManifest)(id, {
298
+ state: 'blocked', error: `Host commit ${commit.slice(0, 8)} was created but parent import is blocked: ${err.message}`,
299
+ });
300
+ return manifest;
301
+ }
302
+ manifest = (0, store_1.updateManifest)(id, { state: 'reported', error: undefined });
303
+ manifest = (0, store_1.updateManifest)(id, { state: 'ready', error: undefined });
248
304
  fs.rmSync(file, { force: true });
249
305
  return manifest;
250
306
  }
307
+ if (!receipt.commit)
308
+ throw new Error('CLI chip report must include the child commit.');
251
309
  const reportedBranch = (0, git_1.branchName)(executionPath);
252
310
  if (manifest.codex.runtime !== 'native' && reportedBranch !== manifest.worktree.branch) {
253
311
  throw new Error('Reported checkout branch does not match the authoritative manifest.');
@@ -272,22 +330,24 @@ async function processChipReceipt(id) {
272
330
  reportedAt: new Date().toISOString(), evidence: receipt.evidence,
273
331
  },
274
332
  });
275
- try {
276
- await (0, inbox_1.sendChipEvent)(manifest, manifest.parent.sessionId, {
277
- kind: 'reported',
278
- summary: `${receipt.summary} Commit ${commit.slice(0, 8)}; checks: ${receipt.checks.join(', ') || 'none declared'}.`,
279
- }, manifest.codex.threadId);
280
- }
281
- catch (err) {
282
- // Prefer durable report acceptance over inbox delivery; optional path already
283
- // swallows, but never leave a validated report stuck short of ready.
284
- if (!optionalInboxEnv()) {
285
- manifest = (0, store_1.updateManifest)(id, {
286
- state: 'ready',
287
- error: `Report accepted; inbox delivery pending: ${err.message}`,
288
- });
289
- fs.rmSync(file, { force: true });
290
- return manifest;
333
+ if (!(0, lifecycle_1.nativeTaskOwnsTerminalResult)(manifest)) {
334
+ try {
335
+ await (0, inbox_1.sendChipEvent)(manifest, manifest.parent.sessionId, {
336
+ kind: 'reported',
337
+ summary: `${receipt.summary} Commit ${commit.slice(0, 8)}; checks: ${receipt.checks.join(', ') || 'none declared'}.`,
338
+ }, manifest.codex.threadId);
339
+ }
340
+ catch (err) {
341
+ // Prefer durable report acceptance over inbox delivery; optional path already
342
+ // swallows, but never leave a validated report stuck short of ready.
343
+ if (!optionalInboxEnv()) {
344
+ manifest = (0, store_1.updateManifest)(id, {
345
+ state: 'ready',
346
+ error: `Report accepted; inbox delivery pending: ${err.message}`,
347
+ });
348
+ fs.rmSync(file, { force: true });
349
+ return manifest;
350
+ }
291
351
  }
292
352
  }
293
353
  manifest = (0, store_1.updateManifest)(id, { state: 'ready', error: undefined });
@@ -1 +1 @@
1
- {"version":3,"file":"worker.js","sourceRoot":"","sources":["../../../src/commands/codex-chip/worker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"worker.js","sourceRoot":"","sources":["../../../src/commands/codex-chip/worker.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ export declare const CODEX_MODEL_EFFORTS: readonly ["none", "minimal", "low", "medium", "high", "xhigh", "max", "ultra"];
2
+ export type CodexModelEffort = typeof CODEX_MODEL_EFFORTS[number];
3
+ export type CodexModelSlot = {
4
+ model: string;
5
+ effort: CodexModelEffort;
6
+ };
7
+ export type ChipModelRole = 'worker' | 'leader' | 'planner' | 'advisor' | 'mechanic';
8
+ export type SubagentModelRole = 'fast_scan' | 'routine_worker' | 'deep_worker';
9
+ export interface CodexModelPolicy {
10
+ version: 1;
11
+ chip: Record<ChipModelRole, CodexModelSlot>;
12
+ subagent: Record<SubagentModelRole, CodexModelSlot>;
13
+ }
14
+ export declare const DEFAULT_CODEX_MODEL_POLICY: CodexModelPolicy;
15
+ export declare const KNOWN_CODEX_MODEL_EFFORTS: Record<string, readonly string[]>;
16
+ export declare function loadCodexModelPolicy(cwd?: string, homeDir?: string): CodexModelPolicy;
17
+ export declare function resolveChipModelSlot(role: ChipModelRole, policy?: CodexModelPolicy): CodexModelSlot;
18
+ export declare function resolveSubagentModelSlot(role: SubagentModelRole, policy?: CodexModelPolicy): CodexModelSlot;
19
+ export declare function printCodexModelPolicy(args?: string[]): void;
@@ -0,0 +1,155 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.KNOWN_CODEX_MODEL_EFFORTS = exports.DEFAULT_CODEX_MODEL_POLICY = exports.CODEX_MODEL_EFFORTS = void 0;
37
+ exports.loadCodexModelPolicy = loadCodexModelPolicy;
38
+ exports.resolveChipModelSlot = resolveChipModelSlot;
39
+ exports.resolveSubagentModelSlot = resolveSubagentModelSlot;
40
+ exports.printCodexModelPolicy = printCodexModelPolicy;
41
+ const fs = __importStar(require("fs"));
42
+ const os = __importStar(require("os"));
43
+ const path = __importStar(require("path"));
44
+ exports.CODEX_MODEL_EFFORTS = ['none', 'minimal', 'low', 'medium', 'high', 'xhigh', 'max', 'ultra'];
45
+ exports.DEFAULT_CODEX_MODEL_POLICY = {
46
+ version: 1,
47
+ chip: {
48
+ worker: { model: 'gpt-5.5', effort: 'medium' },
49
+ leader: { model: 'gpt-5.5', effort: 'high' },
50
+ planner: { model: 'gpt-5.5', effort: 'high' },
51
+ advisor: { model: 'gpt-5.6-sol', effort: 'high' },
52
+ mechanic: { model: 'gpt-5.5', effort: 'high' },
53
+ },
54
+ subagent: {
55
+ fast_scan: { model: 'gpt-5.5', effort: 'medium' },
56
+ routine_worker: { model: 'gpt-5.5', effort: 'high' },
57
+ deep_worker: { model: 'gpt-5.6-luna', effort: 'xhigh' },
58
+ },
59
+ };
60
+ exports.KNOWN_CODEX_MODEL_EFFORTS = {
61
+ 'gpt-5.6-sol': ['low', 'medium', 'high', 'xhigh', 'max', 'ultra'],
62
+ 'gpt-5.6-terra': ['low', 'medium', 'high', 'xhigh', 'max', 'ultra'],
63
+ 'gpt-5.6-luna': ['low', 'medium', 'high', 'xhigh', 'max'],
64
+ 'gpt-5.5': ['low', 'medium', 'high', 'xhigh'],
65
+ 'gpt-5.4': ['low', 'medium', 'high', 'xhigh'],
66
+ 'gpt-5.4-mini': ['low', 'medium', 'high', 'xhigh'],
67
+ 'gpt-5.3-codex-spark': ['low', 'medium', 'high', 'xhigh'],
68
+ };
69
+ function cloneDefault() {
70
+ return JSON.parse(JSON.stringify(exports.DEFAULT_CODEX_MODEL_POLICY));
71
+ }
72
+ function isEffort(value) {
73
+ return exports.CODEX_MODEL_EFFORTS.includes(value);
74
+ }
75
+ function applySlot(target, patch, source) {
76
+ const model = typeof patch.model === 'string' && patch.model.trim() ? patch.model.trim() : target.model;
77
+ const rawEffort = typeof patch.effort === 'string' ? patch.effort : patch.thinking;
78
+ const effort = rawEffort === undefined ? target.effort : rawEffort.trim();
79
+ if (!isEffort(effort)) {
80
+ throw new Error(`${source} uses invalid Codex thinking ${JSON.stringify(effort)}. Use: ${exports.CODEX_MODEL_EFFORTS.join(', ')}.`);
81
+ }
82
+ return { model, effort };
83
+ }
84
+ function applyPolicy(base, patch, source) {
85
+ if (patch.version !== undefined && patch.version !== 1)
86
+ throw new Error(`${source} uses unsupported codex model policy version ${patch.version}.`);
87
+ for (const key of Object.keys(patch.chip || {})) {
88
+ if (!(key in base.chip))
89
+ throw new Error(`${source} has unknown chip model slot ${key}.`);
90
+ base.chip[key] = applySlot(base.chip[key], patch.chip[key] || {}, `${source} chip.${key}`);
91
+ }
92
+ for (const key of Object.keys(patch.subagent || {})) {
93
+ if (!(key in base.subagent))
94
+ throw new Error(`${source} has unknown subagent model slot ${key}.`);
95
+ base.subagent[key] = applySlot(base.subagent[key], patch.subagent[key] || {}, `${source} subagent.${key}`);
96
+ }
97
+ return base;
98
+ }
99
+ function readPolicyFile(filePath) {
100
+ if (!fs.existsSync(filePath))
101
+ return null;
102
+ try {
103
+ return JSON.parse(fs.readFileSync(filePath, 'utf-8'));
104
+ }
105
+ catch (err) {
106
+ throw new Error(`Cannot read Codex model policy ${filePath}: ${err.message}`);
107
+ }
108
+ }
109
+ function userPolicyPath(homeDir) {
110
+ return path.join(homeDir, '.greprag', 'codex-models.json');
111
+ }
112
+ function findProjectPolicyPath(cwd) {
113
+ let current = path.resolve(cwd);
114
+ while (true) {
115
+ const candidate = path.join(current, '.greprag', 'codex-models.json');
116
+ if (fs.existsSync(candidate))
117
+ return candidate;
118
+ const parent = path.dirname(current);
119
+ if (parent === current)
120
+ return null;
121
+ current = parent;
122
+ }
123
+ }
124
+ function loadCodexModelPolicy(cwd = process.cwd(), homeDir = process.env.HOME || process.env.USERPROFILE || os.homedir()) {
125
+ let policy = cloneDefault();
126
+ const user = readPolicyFile(userPolicyPath(homeDir));
127
+ if (user)
128
+ policy = applyPolicy(policy, user, userPolicyPath(homeDir));
129
+ const projectPath = findProjectPolicyPath(cwd);
130
+ if (projectPath) {
131
+ const project = readPolicyFile(projectPath);
132
+ if (project)
133
+ policy = applyPolicy(policy, project, projectPath);
134
+ }
135
+ return policy;
136
+ }
137
+ function resolveChipModelSlot(role, policy = loadCodexModelPolicy()) {
138
+ return policy.chip[role];
139
+ }
140
+ function resolveSubagentModelSlot(role, policy = loadCodexModelPolicy()) {
141
+ return policy.subagent[role];
142
+ }
143
+ function printCodexModelPolicy(args = []) {
144
+ const json = args.includes('--json');
145
+ const policy = loadCodexModelPolicy();
146
+ if (json)
147
+ return void console.log(JSON.stringify(policy, null, 2));
148
+ console.log('Codex model policy');
149
+ console.log('Config files: ~/.greprag/codex-models.json, then .greprag/codex-models.json');
150
+ for (const [role, slot] of Object.entries(policy.chip))
151
+ console.log(` chip.${role}: ${slot.model} / ${slot.effort}`);
152
+ for (const [role, slot] of Object.entries(policy.subagent))
153
+ console.log(` subagent.${role}: ${slot.model} / ${slot.effort}`);
154
+ }
155
+ //# sourceMappingURL=codex-model-policy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codex-model-policy.js","sourceRoot":"","sources":["../../src/commands/codex-model-policy.ts"],"names":[],"mappings":"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"}
@@ -16,6 +16,10 @@ export interface CodexExactWatchHealth {
16
16
  heartbeatAt: string;
17
17
  consecutiveFailures: number;
18
18
  generation: number;
19
+ /** The checkout path delivered to Codex. Native chip cleanup matches this
20
+ * before stopping a watcher, so an unrelated watcher for the same session
21
+ * can never be reaped. */
22
+ cwd?: string;
19
23
  lastDelivery?: CodexDeliveryHealth;
20
24
  }
21
25
  export interface CodexSupervisorHealth {
@@ -32,6 +36,13 @@ export declare function supervisorHealthPath(): string;
32
36
  export declare function writeExactHealth(health: CodexExactWatchHealth): void;
33
37
  export declare function readExactHealth(session: string): CodexExactWatchHealth | null;
34
38
  export declare function removeExactHealth(session: string, pid: number): void;
39
+ /** Stop exactly the watcher attached to a native chip's session and checkout.
40
+ * A missing/dead watcher is already clean. A live watcher without the new cwd
41
+ * attestation is refused rather than guessing which process owns the path. */
42
+ export declare function stopExactWatcher(session: string, cwd: string): {
43
+ pid?: number;
44
+ stopped: boolean;
45
+ };
35
46
  export declare function writeSupervisorHealth(health: CodexSupervisorHealth): void;
36
47
  export declare function readSupervisorHealth(): CodexSupervisorHealth | null;
37
48
  export declare function removeSupervisorHealth(pid: number): void;
@@ -39,6 +39,7 @@ exports.supervisorHealthPath = supervisorHealthPath;
39
39
  exports.writeExactHealth = writeExactHealth;
40
40
  exports.readExactHealth = readExactHealth;
41
41
  exports.removeExactHealth = removeExactHealth;
42
+ exports.stopExactWatcher = stopExactWatcher;
42
43
  exports.writeSupervisorHealth = writeSupervisorHealth;
43
44
  exports.readSupervisorHealth = readSupervisorHealth;
44
45
  exports.removeSupervisorHealth = removeSupervisorHealth;
@@ -52,6 +53,8 @@ exports.rememberConfirmed = rememberConfirmed;
52
53
  const fs = __importStar(require("fs"));
53
54
  const os = __importStar(require("os"));
54
55
  const path = __importStar(require("path"));
56
+ const proc_1 = require("../proc");
57
+ const session_id_1 = require("../session-id");
55
58
  exports.CODEX_HEALTH_STALE_MS = 45_000;
56
59
  function home() {
57
60
  return process.env.HOME || process.env.USERPROFILE || os.homedir();
@@ -98,6 +101,57 @@ function removeExactHealth(session, pid) {
98
101
  }
99
102
  catch { /* best effort */ }
100
103
  }
104
+ function waitForExit(pid, timeoutMs = 5_000) {
105
+ const deadline = Date.now() + timeoutMs;
106
+ while (Date.now() < deadline) {
107
+ if (!processAlive(pid))
108
+ return true;
109
+ Atomics.wait(new Int32Array(new SharedArrayBuffer(4)), 0, 0, 50);
110
+ }
111
+ return !processAlive(pid);
112
+ }
113
+ /** Stop exactly the watcher attached to a native chip's session and checkout.
114
+ * A missing/dead watcher is already clean. A live watcher without the new cwd
115
+ * attestation is refused rather than guessing which process owns the path. */
116
+ function stopExactWatcher(session, cwd) {
117
+ const short = (0, session_id_1.truncateSessionId)(session);
118
+ if (!short)
119
+ return { stopped: true };
120
+ const health = readExactHealth(short);
121
+ if (!health)
122
+ return { stopped: true };
123
+ const expected = path.resolve(cwd);
124
+ if (!health.cwd || path.resolve(health.cwd).toLowerCase() !== expected.toLowerCase()) {
125
+ if (!processAlive(health.pid)) {
126
+ removeExactHealth(short, health.pid);
127
+ return { pid: health.pid, stopped: true };
128
+ }
129
+ throw new Error(`Exact watcher ${health.pid} for ${short} is not attested to checkout ${expected}.`);
130
+ }
131
+ if (!processAlive(health.pid)) {
132
+ removeExactHealth(short, health.pid);
133
+ return { pid: health.pid, stopped: true };
134
+ }
135
+ try {
136
+ process.kill(health.pid, 'SIGTERM');
137
+ }
138
+ catch { /* it exited between the liveness check and signal */ }
139
+ if (!waitForExit(health.pid)) {
140
+ try {
141
+ if (process.platform === 'win32') {
142
+ (0, proc_1.safeExecFileSync)('taskkill.exe', ['/PID', String(health.pid), '/T', '/F'], { stdio: 'ignore', timeout: 5_000 });
143
+ }
144
+ else {
145
+ process.kill(health.pid, 'SIGKILL');
146
+ }
147
+ }
148
+ catch { /* final verification below reports a precise blocker */ }
149
+ }
150
+ if (processAlive(health.pid))
151
+ throw new Error(`Exact watcher ${health.pid} did not stop; checkout handles remain live.`);
152
+ removeExactHealth(short, health.pid);
153
+ return { pid: health.pid, stopped: true };
154
+ }
101
155
  function writeSupervisorHealth(health) {
102
156
  atomicWrite(supervisorHealthPath(), health);
103
157
  }
@@ -1 +1 @@
1
- {"version":3,"file":"codex-watch-health.js","sourceRoot":"","sources":["../../src/commands/codex-watch-health.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"codex-watch-health.js","sourceRoot":"","sources":["../../src/commands/codex-watch-health.ts"],"names":[],"mappings":"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"}
@@ -51,6 +51,7 @@ const codex_doctor_1 = require("./codex-doctor");
51
51
  const codex_app_server_1 = require("./codex-app-server");
52
52
  const codex_delivery_1 = require("./codex-delivery");
53
53
  const codex_wake_test_1 = require("./codex-wake-test");
54
+ const codex_model_policy_1 = require("./codex-model-policy");
54
55
  const codex_startup_1 = require("./codex-startup");
55
56
  const codex_watch_health_1 = require("./codex-watch-health");
56
57
  var codex_startup_2 = require("./codex-startup");
@@ -270,6 +271,7 @@ async function watch(opts) {
270
271
  let failures = 0;
271
272
  const health = {
272
273
  version: 1, kind: 'exact', session: session8, pid: process.pid,
274
+ cwd: path.resolve(opts.cwd || process.cwd()),
273
275
  supervisorPid: Number.parseInt(process.env.GREPRAG_CODEX_SUPERVISOR_PID || '', 10) || undefined,
274
276
  state: 'reconnecting', heartbeatAt: new Date().toISOString(), consecutiveFailures: 0, generation,
275
277
  };
@@ -435,13 +437,17 @@ const HELP = `greprag codex — Codex-specific helpers.
435
437
  greprag codex arm [--session <8hex|full-id>] [--cd <dir>]
436
438
  greprag codex app-server probe [--thread <id>] [--limit <n>] [--transport stdio|proxy] [--json]
437
439
  greprag codex wake-test [--session <id>] [--transport proxy|stdio] [--delivery auto|app-server|app-server-resume|exec] [--send] [--json]
438
- greprag codex chip spawn "<task>" --name <name> [--role worker|leader|advisor|mechanic]
440
+ greprag codex models show [--json]
441
+ greprag codex chip spawn "<task>" --name <name> [--role worker|leader|advisor|mechanic] [--runtime cli]
439
442
  greprag codex chip list|status|steer|stop|report|block|cleanup|reconcile
440
443
  greprag codex doctor [--wake-test]
441
444
  greprag codex startup install
442
445
  greprag codex startup status
443
446
  greprag codex startup remove
444
447
 
448
+ Chip spawn defaults to native Codex Desktop; omit --runtime. Use --runtime cli
449
+ only for the explicit headless fallback.
450
+
445
451
  Live-push drains unread recipient rows at startup, then subscribes to the inbox
446
452
  SSE and injects messages through the target machine's local Codex app-server.
447
453
  Active turns use turn/steer; idle threads use turn/start. --delivery exec is
@@ -485,6 +491,16 @@ async function runCodex(args) {
485
491
  await (0, codex_wake_test_1.runCodexWakeTest)(args.slice(1), { resolveSession: resolveCodexSessionId });
486
492
  return;
487
493
  }
494
+ if (sub === 'models') {
495
+ const action = args[1] || 'show';
496
+ if (action !== 'show') {
497
+ console.error(`Unknown codex models action: ${action}\n`);
498
+ console.log(HELP);
499
+ process.exit(1);
500
+ }
501
+ (0, codex_model_policy_1.printCodexModelPolicy)(args.slice(2));
502
+ return;
503
+ }
488
504
  if (sub === 'chip') {
489
505
  await (0, command_1.runCodexChip)(args.slice(1));
490
506
  return;