greprag 5.56.0 → 5.58.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.
Files changed (70) hide show
  1. package/dist/codex-chip-hooks.d.ts +20 -0
  2. package/dist/codex-chip-hooks.js +217 -0
  3. package/dist/codex-chip-hooks.js.map +1 -0
  4. package/dist/commands/codex-chip/command.d.ts +3 -0
  5. package/dist/commands/codex-chip/command.js +583 -0
  6. package/dist/commands/codex-chip/command.js.map +1 -0
  7. package/dist/commands/codex-chip/git.d.ts +30 -0
  8. package/dist/commands/codex-chip/git.js +223 -0
  9. package/dist/commands/codex-chip/git.js.map +1 -0
  10. package/dist/commands/codex-chip/inbox.d.ts +10 -0
  11. package/dist/commands/codex-chip/inbox.js +128 -0
  12. package/dist/commands/codex-chip/inbox.js.map +1 -0
  13. package/dist/commands/codex-chip/lifecycle.d.ts +5 -0
  14. package/dist/commands/codex-chip/lifecycle.js +94 -0
  15. package/dist/commands/codex-chip/lifecycle.js.map +1 -0
  16. package/dist/commands/codex-chip/model.d.ts +92 -0
  17. package/dist/commands/codex-chip/model.js +16 -0
  18. package/dist/commands/codex-chip/model.js.map +1 -0
  19. package/dist/commands/codex-chip/native.d.ts +62 -0
  20. package/dist/commands/codex-chip/native.js +283 -0
  21. package/dist/commands/codex-chip/native.js.map +1 -0
  22. package/dist/commands/codex-chip/prompt.d.ts +2 -0
  23. package/dist/commands/codex-chip/prompt.js +44 -0
  24. package/dist/commands/codex-chip/prompt.js.map +1 -0
  25. package/dist/commands/codex-chip/selection.d.ts +14 -0
  26. package/dist/commands/codex-chip/selection.js +109 -0
  27. package/dist/commands/codex-chip/selection.js.map +1 -0
  28. package/dist/commands/codex-chip/store.d.ts +15 -0
  29. package/dist/commands/codex-chip/store.js +197 -0
  30. package/dist/commands/codex-chip/store.js.map +1 -0
  31. package/dist/commands/codex-chip/worker.d.ts +4 -0
  32. package/dist/commands/codex-chip/worker.js +344 -0
  33. package/dist/commands/codex-chip/worker.js.map +1 -0
  34. package/dist/commands/codex-doctor.js +8 -1
  35. package/dist/commands/codex-doctor.js.map +1 -1
  36. package/dist/commands/codex-startup.d.ts +13 -0
  37. package/dist/commands/codex-startup.js +177 -0
  38. package/dist/commands/codex-startup.js.map +1 -0
  39. package/dist/commands/codex-supervisor.d.ts +5 -0
  40. package/dist/commands/codex-supervisor.js +59 -10
  41. package/dist/commands/codex-supervisor.js.map +1 -1
  42. package/dist/commands/codex-watch-health.d.ts +57 -0
  43. package/dist/commands/codex-watch-health.js +168 -0
  44. package/dist/commands/codex-watch-health.js.map +1 -0
  45. package/dist/commands/codex.d.ts +1 -11
  46. package/dist/commands/codex.js +104 -144
  47. package/dist/commands/codex.js.map +1 -1
  48. package/dist/commands/init.js +23 -0
  49. package/dist/commands/init.js.map +1 -1
  50. package/dist/commands/load-primer-reminder.d.ts +4 -0
  51. package/dist/commands/load-primer-reminder.js +15 -2
  52. package/dist/commands/load-primer-reminder.js.map +1 -1
  53. package/dist/commands/load.js +4 -0
  54. package/dist/commands/load.js.map +1 -1
  55. package/dist/commands/loadout.js +34 -2
  56. package/dist/commands/loadout.js.map +1 -1
  57. package/dist/commands/reminder-registry.js +1 -0
  58. package/dist/commands/reminder-registry.js.map +1 -1
  59. package/dist/commands/reminder-types.d.ts +12 -0
  60. package/dist/commands/version-reminder.d.ts +13 -1
  61. package/dist/commands/version-reminder.js +24 -1
  62. package/dist/commands/version-reminder.js.map +1 -1
  63. package/dist/hook.js +33 -5
  64. package/dist/hook.js.map +1 -1
  65. package/dist/opencode-plugin.bundle.js +23 -1
  66. package/package.json +1 -1
  67. package/skill/greprag/SKILL.md +8 -4
  68. package/skill/greprag/docs/codex-chip.md +38 -0
  69. package/skill/greprag/docs/setup.md +3 -2
  70. package/skill/templates/codex-chip-spawn.md +139 -0
@@ -0,0 +1,20 @@
1
+ import { CodexHookEventInput } from './codex-hook-events';
2
+ export interface ChipHookInput extends CodexHookEventInput {
3
+ hook_event_name?: string;
4
+ stop_hook_active?: boolean;
5
+ }
6
+ interface ChipContextHookOutput {
7
+ hookSpecificOutput: {
8
+ hookEventName: string;
9
+ additionalContext?: string;
10
+ permissionDecision?: 'deny';
11
+ permissionDecisionReason?: string;
12
+ };
13
+ }
14
+ interface ChipStopHookOutput {
15
+ decision: 'block';
16
+ reason: string;
17
+ }
18
+ export type ChipHookOutput = ChipContextHookOutput | ChipStopHookOutput;
19
+ export declare function evaluateCodexChipHook(input: ChipHookInput): ChipHookOutput | null;
20
+ export {};
@@ -0,0 +1,217 @@
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.evaluateCodexChipHook = evaluateCodexChipHook;
37
+ const fs = __importStar(require("fs"));
38
+ const path = __importStar(require("path"));
39
+ const store_1 = require("./commands/codex-chip/store");
40
+ const git_1 = require("./commands/codex-chip/git");
41
+ const model_1 = require("./commands/codex-chip/model");
42
+ function manifestFor(input) {
43
+ return (0, store_1.findManifestByContext)(input.cwd || process.cwd(), input.session_id);
44
+ }
45
+ function output(event, fields) {
46
+ return { hookSpecificOutput: { hookEventName: event, ...fields } };
47
+ }
48
+ function context(input) {
49
+ const chip = manifestFor(input);
50
+ if (!chip)
51
+ return null;
52
+ const ownership = chip.mode === 'read' ? 'read-only' : chip.owns.join(', ');
53
+ const cli = chip.codex.cliCommand || 'greprag';
54
+ return output(input.hook_event_name || 'SessionStart', {
55
+ additionalContext: [
56
+ `[GrepRAG Codex chip ${chip.id.slice(0, 8)}]`,
57
+ `Assignment: ${chip.task}`,
58
+ `Worktree: ${(0, model_1.chipExecutionPath)(chip)}`,
59
+ `Branch: ${chip.worktree.branch}`,
60
+ `Ownership: ${ownership}`,
61
+ `Parent session: ${chip.parent.sessionId || 'not recorded'}`,
62
+ `Finish with: ${cli} codex chip report ${chip.id} --summary "<result>" --check "<verification>"`,
63
+ 'Do not merge, push, clean up, or edit the parent checkout.',
64
+ ].join('\n'),
65
+ });
66
+ }
67
+ function toolPaths(input) {
68
+ const paths = [];
69
+ for (const key of ['file_path', 'path', 'file', 'source', 'destination', 'old_path', 'new_path']) {
70
+ const raw = input.tool_input?.[key];
71
+ if (typeof raw === 'string')
72
+ paths.push(raw);
73
+ }
74
+ const many = input.tool_input?.paths;
75
+ if (Array.isArray(many))
76
+ paths.push(...many.filter((item) => typeof item === 'string'));
77
+ const patch = input.tool_input?.patch || input.tool_input?.input;
78
+ if (typeof patch === 'string') {
79
+ for (const match of patch.matchAll(/^\*\*\* (?:Add|Update|Delete) File: (.+)$/gm))
80
+ paths.push(match[1].trim());
81
+ }
82
+ return paths;
83
+ }
84
+ function physicalPath(target) {
85
+ let existing = path.resolve(target);
86
+ const suffix = [];
87
+ while (true) {
88
+ try {
89
+ fs.lstatSync(existing);
90
+ break;
91
+ }
92
+ catch {
93
+ // Missing lexical components are appended after resolving the nearest
94
+ // existing ancestor. lstat sees dangling links that existsSync hides.
95
+ }
96
+ const parent = path.dirname(existing);
97
+ if (parent === existing)
98
+ return null;
99
+ suffix.unshift(path.basename(existing));
100
+ existing = parent;
101
+ }
102
+ try {
103
+ return path.join(fs.realpathSync(existing), ...suffix);
104
+ }
105
+ catch {
106
+ return null; // dangling or otherwise unresolvable link: fail closed
107
+ }
108
+ }
109
+ function isInside(root, target) {
110
+ const physicalRoot = physicalPath(root);
111
+ const physicalTarget = physicalPath(target);
112
+ if (!physicalRoot || !physicalTarget)
113
+ return false;
114
+ const relative = path.relative(physicalRoot, physicalTarget);
115
+ return Boolean(relative) && !relative.startsWith('..') && !path.isAbsolute(relative);
116
+ }
117
+ function guard(input) {
118
+ const chip = manifestFor(input);
119
+ if (!chip)
120
+ return null;
121
+ const event = input.hook_event_name || 'PreToolUse';
122
+ if (chip.codex.runtime === 'native') {
123
+ const actualCwd = path.resolve(input.cwd || process.cwd()).toLowerCase();
124
+ const expectedCwd = path.resolve((0, model_1.chipExecutionPath)(chip)).toLowerCase();
125
+ if (actualCwd !== expectedCwd || input.session_id !== chip.codex.threadId || chip.codex.sandbox !== 'workspace-write') {
126
+ return output(event, {
127
+ permissionDecision: 'deny',
128
+ permissionDecisionReason: 'Native chip tool use requires the exact bound thread, execution cwd, and attested workspace-write sandbox.',
129
+ });
130
+ }
131
+ }
132
+ for (const key of ['cwd', 'workdir', 'working_directory']) {
133
+ const requested = input.tool_input?.[key];
134
+ const requestedPath = typeof requested === 'string'
135
+ ? physicalPath(path.resolve(input.cwd || process.cwd(), requested)) : null;
136
+ const expectedPath = physicalPath((0, model_1.chipExecutionPath)(chip));
137
+ if (typeof requested === 'string' && (!requestedPath || !expectedPath ||
138
+ requestedPath.toLowerCase() !== expectedPath.toLowerCase())) {
139
+ return output(event, {
140
+ permissionDecision: 'deny',
141
+ permissionDecisionReason: 'Chip tools may not change their execution directory outside the bound checkout.',
142
+ });
143
+ }
144
+ }
145
+ for (const file of toolPaths(input)) {
146
+ const absolute = path.resolve(input.cwd || process.cwd(), file);
147
+ const executionPath = (0, model_1.chipExecutionPath)(chip);
148
+ if (!isInside(executionPath, absolute)) {
149
+ return output(event, {
150
+ permissionDecision: 'deny',
151
+ permissionDecisionReason: `Chip ${chip.id.slice(0, 8)} may not write through a link outside ${executionPath}.`,
152
+ });
153
+ }
154
+ const relative = path.relative(executionPath, absolute).replace(/\\/g, '/');
155
+ if (!relative || relative.startsWith('..') || path.isAbsolute(relative)) {
156
+ return output(event, {
157
+ permissionDecision: 'deny',
158
+ permissionDecisionReason: `Chip ${chip.id.slice(0, 8)} may only write inside ${executionPath}.`,
159
+ });
160
+ }
161
+ if (chip.mode === 'read' || (0, git_1.outsideLease)([relative], chip.owns).length > 0) {
162
+ return output(event, {
163
+ permissionDecision: 'deny',
164
+ permissionDecisionReason: chip.mode === 'read'
165
+ ? `Chip ${chip.id.slice(0, 8)} is read-only.`
166
+ : `Path ${relative} is outside this chip's write lease: ${chip.owns.join(', ')}.`,
167
+ });
168
+ }
169
+ }
170
+ const command = typeof input.tool_input?.command === 'string' ? input.tool_input.command : '';
171
+ if (command) {
172
+ const linkEscape = /\b(?:mklink|junction(?:\.exe)?|ln)\b|New-Item[^\n]*(?:Junction|SymbolicLink|HardLink)|(?:fs\.)?(?:symlink|link)Sync?\s*\(/i;
173
+ if (linkEscape.test(command)) {
174
+ return output(event, {
175
+ permissionDecision: 'deny',
176
+ permissionDecisionReason: 'Chip shell commands may not create symlinks or junctions; link escapes bypass the native worktree boundary.',
177
+ });
178
+ }
179
+ const forbidden = /\bgit\s+(?:merge|push|worktree|switch|checkout|clean|reset\s+--hard)\b|\brm\s+-rf\b|\bRemove-Item\b[^\n]*-Recurse/i;
180
+ if (forbidden.test(command)) {
181
+ return output(event, {
182
+ permissionDecision: 'deny',
183
+ permissionDecisionReason: 'Chip lifecycle forbids merge/push/worktree switching and destructive recursive cleanup. Return the committed branch to the parent.',
184
+ });
185
+ }
186
+ }
187
+ return null;
188
+ }
189
+ function stop(input) {
190
+ const chip = manifestFor(input);
191
+ if (!chip || input.stop_hook_active)
192
+ return null;
193
+ if (chip.mode === 'read' && chip.codex.runtime !== 'native')
194
+ return null; // CLI worker auto-reports read analysis
195
+ if (chip.state === 'ready' || chip.state === 'blocked' || chip.state === 'cancelled' || chip.state === 'failed')
196
+ return null;
197
+ const cli = chip.codex.cliCommand || 'greprag';
198
+ const action = chip.mode === 'read'
199
+ ? `Keep the checkout unchanged and run ${cli} codex chip report ${chip.id} --summary "<result>" --check "read-only repository state verified"`
200
+ : `Commit and run ${cli} codex chip report ${chip.id} --summary "<result>" --check "<verification>"`;
201
+ const reason = `Chip ${chip.id.slice(0, 8)} has not reported. ${action}, or record a real blocker with ${cli} codex chip block.`;
202
+ return {
203
+ decision: 'block',
204
+ reason,
205
+ };
206
+ }
207
+ function evaluateCodexChipHook(input) {
208
+ const event = input.hook_event_name || '';
209
+ if (event === 'PreToolUse')
210
+ return guard(input);
211
+ if (event === 'Stop')
212
+ return stop(input);
213
+ if (event === 'SessionStart' || event === 'SubagentStart' || event === 'SubagentStop')
214
+ return context(input);
215
+ return null;
216
+ }
217
+ //# sourceMappingURL=codex-chip-hooks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codex-chip-hooks.js","sourceRoot":"","sources":["../src/codex-chip-hooks.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export { resolveChipModel } from './selection';
2
+ export declare function reconcile(): Promise<void>;
3
+ export declare function runCodexChip(args: string[]): Promise<void>;