greprag 5.73.8 → 5.73.10
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/codex-fast-hook.js +0 -4
- package/dist/codex-fast-hook.js.map +1 -1
- package/dist/codex-pretooluse.js +0 -19
- package/dist/codex-pretooluse.js.map +1 -1
- package/dist/commands/codex-coordinate.d.ts +4 -2
- package/dist/commands/codex-coordinate.js +49 -10
- package/dist/commands/codex-coordinate.js.map +1 -1
- package/dist/commands/coordinate-gate.js +52 -2
- package/dist/commands/coordinate-gate.js.map +1 -1
- package/dist/commands/init.js +3 -3
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/procedure-reminder.js +1 -2
- package/dist/commands/procedure-reminder.js.map +1 -1
- package/dist/commands/procedure.js +0 -9
- package/dist/commands/procedure.js.map +1 -1
- package/dist/commands/status.d.ts +0 -1
- package/dist/commands/status.js +1 -4
- package/dist/commands/status.js.map +1 -1
- package/dist/hook.js +8 -80
- package/dist/hook.js.map +1 -1
- package/dist/index.js +0 -3
- package/dist/index.js.map +1 -1
- package/dist/opencode-plugin.bundle.js +51 -40
- package/dist/procedure.d.ts +3 -4
- package/dist/procedure.js +5 -41
- package/dist/procedure.js.map +1 -1
- package/package.json +1 -3
- package/dist/commands/ship-through-gate.d.ts +0 -16
- package/dist/commands/ship-through-gate.js +0 -43
- package/dist/commands/ship-through-gate.js.map +0 -1
package/dist/codex-fast-hook.js
CHANGED
|
@@ -101,10 +101,6 @@ async function main() {
|
|
|
101
101
|
const { runPipeWrap } = await Promise.resolve().then(() => __importStar(require('./commands/pipe-wrap')));
|
|
102
102
|
result = mergeOutputs(result, runPipeWrap(input));
|
|
103
103
|
}
|
|
104
|
-
if (!result?.hookSpecificOutput.permissionDecision && input.tool_name === 'Bash') {
|
|
105
|
-
const { evaluateCodexPreToolUseCoordination } = await Promise.resolve().then(() => __importStar(require('./codex-pretooluse')));
|
|
106
|
-
result = mergeOutputs(result, await evaluateCodexPreToolUseCoordination(input));
|
|
107
|
-
}
|
|
108
104
|
if (result)
|
|
109
105
|
process.stdout.write(JSON.stringify(result) + '\n');
|
|
110
106
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codex-fast-hook.js","sourceRoot":"","sources":["../src/codex-fast-hook.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"codex-fast-hook.js","sourceRoot":"","sources":["../src/codex-fast-hook.ts"],"names":[],"mappings":"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"}
|
package/dist/codex-pretooluse.js
CHANGED
|
@@ -40,7 +40,6 @@ const project_anchor_1 = require("./project-anchor");
|
|
|
40
40
|
const session_id_1 = require("./session-id");
|
|
41
41
|
const coordinate_gate_1 = require("./commands/coordinate-gate");
|
|
42
42
|
const codex_coordinate_1 = require("./commands/codex-coordinate");
|
|
43
|
-
const ship_through_gate_1 = require("./commands/ship-through-gate");
|
|
44
43
|
const API_URL_DEFAULT = 'https://api.greprag.com';
|
|
45
44
|
function loadEnvFile(filePath) {
|
|
46
45
|
try {
|
|
@@ -127,24 +126,6 @@ async function evaluateCodexPreToolUseCoordination(input) {
|
|
|
127
126
|
permissionDecisionReason: local.reason,
|
|
128
127
|
});
|
|
129
128
|
}
|
|
130
|
-
try {
|
|
131
|
-
const ship = (0, ship_through_gate_1.evaluateShipThroughGate)({
|
|
132
|
-
projectId: anchor.projectId,
|
|
133
|
-
cwd,
|
|
134
|
-
actionKind: trigger.kind,
|
|
135
|
-
actionLabel: trigger.label,
|
|
136
|
-
peerShorts: [],
|
|
137
|
-
});
|
|
138
|
-
if (ship.denyReason) {
|
|
139
|
-
return output(input, {
|
|
140
|
-
permissionDecision: 'deny',
|
|
141
|
-
permissionDecisionReason: ship.denyReason,
|
|
142
|
-
});
|
|
143
|
-
}
|
|
144
|
-
if (ship.reviewed)
|
|
145
|
-
return null;
|
|
146
|
-
}
|
|
147
|
-
catch { /* inactive/corrupt local state -> ordinary coordination path */ }
|
|
148
129
|
return null;
|
|
149
130
|
}
|
|
150
131
|
//# sourceMappingURL=codex-pretooluse.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codex-pretooluse.js","sourceRoot":"","sources":["../src/codex-pretooluse.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"codex-pretooluse.js","sourceRoot":"","sources":["../src/codex-pretooluse.ts"],"names":[],"mappings":"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"}
|
|
@@ -24,6 +24,8 @@ export interface CodexCoordinationState {
|
|
|
24
24
|
version: number;
|
|
25
25
|
projectId: string;
|
|
26
26
|
sessionId: string;
|
|
27
|
+
cwd?: string;
|
|
28
|
+
cwdKey?: string;
|
|
27
29
|
pending?: CodexCoordinationRequest;
|
|
28
30
|
attestation?: CodexCoordinationAttestation;
|
|
29
31
|
}
|
|
@@ -31,8 +33,8 @@ export interface CodexCoordinationGateResult {
|
|
|
31
33
|
ready: boolean;
|
|
32
34
|
reason?: string;
|
|
33
35
|
}
|
|
34
|
-
export declare function codexCoordinationPath(projectId: string, sessionId: string): string;
|
|
35
|
-
export declare function readCodexCoordinationState(projectId: string, sessionId: string): CodexCoordinationState | null;
|
|
36
|
+
export declare function codexCoordinationPath(projectId: string, sessionId: string, cwd?: string): string;
|
|
37
|
+
export declare function readCodexCoordinationState(projectId: string, sessionId: string, cwd?: string): CodexCoordinationState | null;
|
|
36
38
|
/** Open/refresh the request and enforce evidence for this exact artifact/action. */
|
|
37
39
|
export declare function evaluateCodexCoordinationGate(params: {
|
|
38
40
|
projectId: string;
|
|
@@ -52,7 +52,7 @@ const crypto = __importStar(require("crypto"));
|
|
|
52
52
|
const project_anchor_1 = require("../project-anchor");
|
|
53
53
|
const procedure_run_1 = require("../procedure-run");
|
|
54
54
|
const session_id_1 = require("../session-id");
|
|
55
|
-
const EVIDENCE_VERSION =
|
|
55
|
+
const EVIDENCE_VERSION = 4;
|
|
56
56
|
const MAX_EVIDENCE_AGE_MS = 10 * 60_000;
|
|
57
57
|
function stateDir() {
|
|
58
58
|
const home = process.env.HOME || process.env.USERPROFILE || '';
|
|
@@ -61,16 +61,46 @@ function stateDir() {
|
|
|
61
61
|
function safeId(value) {
|
|
62
62
|
return value.replace(/[^a-zA-Z0-9._-]+/g, '-');
|
|
63
63
|
}
|
|
64
|
-
function
|
|
65
|
-
|
|
64
|
+
function normalizeCwd(cwd) {
|
|
65
|
+
const resolved = (() => {
|
|
66
|
+
try {
|
|
67
|
+
return fs.realpathSync(cwd);
|
|
68
|
+
}
|
|
69
|
+
catch {
|
|
70
|
+
return path.resolve(cwd);
|
|
71
|
+
}
|
|
72
|
+
})();
|
|
73
|
+
return process.platform === 'win32' ? resolved.toLowerCase() : resolved;
|
|
66
74
|
}
|
|
67
|
-
function
|
|
75
|
+
function coordinationCwdScope(cwd) {
|
|
76
|
+
const normalized = normalizeCwd(cwd);
|
|
77
|
+
return {
|
|
78
|
+
cwd: normalized,
|
|
79
|
+
key: crypto.createHash('sha256').update(normalized).digest('hex').slice(0, 16),
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
function statePath(projectId, suffix) {
|
|
83
|
+
return path.join(stateDir(), `codex-coordinate-${safeId(projectId)}-${suffix}.json`);
|
|
84
|
+
}
|
|
85
|
+
function codexCoordinationPath(projectId, sessionId, cwd) {
|
|
86
|
+
const suffix = cwd
|
|
87
|
+
? `cwd-${coordinationCwdScope(cwd).key}`
|
|
88
|
+
: safeId((0, session_id_1.truncateSessionId)(sessionId) || sessionId);
|
|
89
|
+
return statePath(projectId, suffix);
|
|
90
|
+
}
|
|
91
|
+
function readCodexCoordinationState(projectId, sessionId, cwd) {
|
|
92
|
+
const scope = cwd ? coordinationCwdScope(cwd) : null;
|
|
68
93
|
try {
|
|
69
|
-
const parsed = JSON.parse(fs.readFileSync(codexCoordinationPath(projectId, sessionId), 'utf8'));
|
|
94
|
+
const parsed = JSON.parse(fs.readFileSync(codexCoordinationPath(projectId, sessionId, cwd), 'utf8'));
|
|
70
95
|
if (parsed?.version !== EVIDENCE_VERSION || parsed.projectId !== projectId)
|
|
71
96
|
return null;
|
|
72
|
-
if (
|
|
97
|
+
if (scope) {
|
|
98
|
+
if (parsed.cwdKey !== scope.key)
|
|
99
|
+
return null;
|
|
100
|
+
}
|
|
101
|
+
else if (parsed.sessionId !== ((0, session_id_1.truncateSessionId)(sessionId) || sessionId)) {
|
|
73
102
|
return null;
|
|
103
|
+
}
|
|
74
104
|
return parsed;
|
|
75
105
|
}
|
|
76
106
|
catch {
|
|
@@ -78,7 +108,9 @@ function readCodexCoordinationState(projectId, sessionId) {
|
|
|
78
108
|
}
|
|
79
109
|
}
|
|
80
110
|
function writeCodexCoordinationState(state) {
|
|
81
|
-
const file =
|
|
111
|
+
const file = state.cwdKey
|
|
112
|
+
? statePath(state.projectId, `cwd-${state.cwdKey}`)
|
|
113
|
+
: codexCoordinationPath(state.projectId, state.sessionId);
|
|
82
114
|
fs.mkdirSync(path.dirname(file), { recursive: true });
|
|
83
115
|
const tmp = `${file}.${process.pid}.tmp`;
|
|
84
116
|
fs.writeFileSync(tmp, JSON.stringify(state, null, 2) + '\n');
|
|
@@ -110,7 +142,8 @@ function evaluateCodexCoordinationGate(params) {
|
|
|
110
142
|
return { ready: false, reason: `Cannot fingerprint the current worktree content before ${params.trigger.label}.` };
|
|
111
143
|
}
|
|
112
144
|
const actionFingerprint = commandFingerprint(params.command);
|
|
113
|
-
const
|
|
145
|
+
const scope = coordinationCwdScope(params.cwd);
|
|
146
|
+
const state = readCodexCoordinationState(params.projectId, params.sessionId, params.cwd);
|
|
114
147
|
const attestation = state?.attestation;
|
|
115
148
|
const nowMs = params.nowMs ?? Date.now();
|
|
116
149
|
const ageMs = attestation ? nowMs - Date.parse(attestation.attestedAt) : Number.POSITIVE_INFINITY;
|
|
@@ -135,6 +168,8 @@ function evaluateCodexCoordinationGate(params) {
|
|
|
135
168
|
version: EVIDENCE_VERSION,
|
|
136
169
|
projectId: params.projectId,
|
|
137
170
|
sessionId: (0, session_id_1.truncateSessionId)(params.sessionId) || params.sessionId,
|
|
171
|
+
cwd: scope.cwd,
|
|
172
|
+
cwdKey: scope.key,
|
|
138
173
|
pending,
|
|
139
174
|
...(attestation ? { attestation } : {}),
|
|
140
175
|
});
|
|
@@ -182,12 +217,16 @@ function runCoordinate(args) {
|
|
|
182
217
|
const anchor = (0, project_anchor_1.readAnchor)(process.cwd());
|
|
183
218
|
if (!anchor.projectId)
|
|
184
219
|
throw new Error('No GrepRAG project anchor for this repository.');
|
|
185
|
-
const
|
|
220
|
+
const cwd = process.cwd();
|
|
221
|
+
const scope = coordinationCwdScope(cwd);
|
|
222
|
+
const state = readCodexCoordinationState(anchor.projectId, sessionId, cwd);
|
|
186
223
|
if (command === 'status') {
|
|
187
224
|
console.log(JSON.stringify(state || {
|
|
188
225
|
version: EVIDENCE_VERSION,
|
|
189
226
|
projectId: anchor.projectId,
|
|
190
227
|
sessionId: (0, session_id_1.truncateSessionId)(sessionId) || sessionId,
|
|
228
|
+
cwd: scope.cwd,
|
|
229
|
+
cwdKey: scope.key,
|
|
191
230
|
pending: null,
|
|
192
231
|
attestation: null,
|
|
193
232
|
}, null, 2));
|
|
@@ -197,7 +236,7 @@ function runCoordinate(args) {
|
|
|
197
236
|
throw new Error(`Unknown coordinate command: ${command}`);
|
|
198
237
|
if (!state?.pending)
|
|
199
238
|
throw new Error('No pending Codex coordination gate. Retry the merge/deploy command first.');
|
|
200
|
-
const fingerprint = (0, procedure_run_1.currentArtifactFingerprint)(
|
|
239
|
+
const fingerprint = (0, procedure_run_1.currentArtifactFingerprint)(cwd);
|
|
201
240
|
if (!fingerprint || fingerprint !== state.pending.artifactFingerprint) {
|
|
202
241
|
throw new Error('The worktree content changed after the gate opened. Retry the merge/deploy command, then coordinate against the current content.');
|
|
203
242
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codex-coordinate.js","sourceRoot":"","sources":["../../src/commands/codex-coordinate.ts"],"names":[],"mappings":";AAAA;;;;;;;;uCAQuC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"codex-coordinate.js","sourceRoot":"","sources":["../../src/commands/codex-coordinate.ts"],"names":[],"mappings":"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"}
|
|
@@ -53,9 +53,59 @@ const RISKY_PATTERNS = [
|
|
|
53
53
|
{ kind: 'deploy', label: 'npm publish', re: /^npm\s+publish\b/ },
|
|
54
54
|
{ kind: 'deploy', label: 'gh release create', re: /^gh\s+release\s+create\b/ },
|
|
55
55
|
];
|
|
56
|
-
/** Split a shell command on separators so `cd x && git push` is
|
|
56
|
+
/** Split a shell command on executable separators so `cd x && git push` is
|
|
57
|
+
* caught, while regex/search patterns like `"before; git push; after"` stay a
|
|
58
|
+
* single argument. */
|
|
57
59
|
function commandSegments(command) {
|
|
58
|
-
|
|
60
|
+
const segments = [];
|
|
61
|
+
let current = '';
|
|
62
|
+
let quote = null;
|
|
63
|
+
let escaped = false;
|
|
64
|
+
const flush = () => {
|
|
65
|
+
const trimmed = current.trim();
|
|
66
|
+
if (trimmed)
|
|
67
|
+
segments.push(trimmed);
|
|
68
|
+
current = '';
|
|
69
|
+
};
|
|
70
|
+
for (let i = 0; i < command.length; i++) {
|
|
71
|
+
const ch = command[i];
|
|
72
|
+
const next = command[i + 1];
|
|
73
|
+
if (escaped) {
|
|
74
|
+
current += ch;
|
|
75
|
+
escaped = false;
|
|
76
|
+
continue;
|
|
77
|
+
}
|
|
78
|
+
if (ch === '\\' && quote !== "'") {
|
|
79
|
+
current += ch;
|
|
80
|
+
escaped = true;
|
|
81
|
+
continue;
|
|
82
|
+
}
|
|
83
|
+
if (quote) {
|
|
84
|
+
current += ch;
|
|
85
|
+
if (ch === quote)
|
|
86
|
+
quote = null;
|
|
87
|
+
continue;
|
|
88
|
+
}
|
|
89
|
+
if (ch === '"' || ch === "'") {
|
|
90
|
+
quote = ch;
|
|
91
|
+
current += ch;
|
|
92
|
+
continue;
|
|
93
|
+
}
|
|
94
|
+
if (ch === '\n' || ch === ';' || ch === '|') {
|
|
95
|
+
flush();
|
|
96
|
+
if ((ch === '|' && next === '|'))
|
|
97
|
+
i++;
|
|
98
|
+
continue;
|
|
99
|
+
}
|
|
100
|
+
if (ch === '&' && next === '&') {
|
|
101
|
+
flush();
|
|
102
|
+
i++;
|
|
103
|
+
continue;
|
|
104
|
+
}
|
|
105
|
+
current += ch;
|
|
106
|
+
}
|
|
107
|
+
flush();
|
|
108
|
+
return segments;
|
|
59
109
|
}
|
|
60
110
|
/** Parse enough shell words to locate a git subcommand after global options.
|
|
61
111
|
* Codex worktrees routinely use `git -C <main> merge ...`; matching only
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"coordinate-gate.js","sourceRoot":"","sources":["../../src/commands/coordinate-gate.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iFAqCiF;;
|
|
1
|
+
{"version":3,"file":"coordinate-gate.js","sourceRoot":"","sources":["../../src/commands/coordinate-gate.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/init.js
CHANGED
|
@@ -1186,8 +1186,8 @@ function applyCodexHooks(config) {
|
|
|
1186
1186
|
];
|
|
1187
1187
|
// adr: adr/codex-hook-latency.md
|
|
1188
1188
|
// Collapse the hot PreToolUse safety pair into one fast command process. It
|
|
1189
|
-
// runs the chip/apply_patch guard
|
|
1190
|
-
//
|
|
1189
|
+
// runs the chip/apply_patch guard plus local Bash safety checks. The retired
|
|
1190
|
+
// coordination gate is removed when found so old configs stop blocking.
|
|
1191
1191
|
const removedPreToolChip = removeGrepragHook(config.hooks, 'PreToolUse', 'codex-chip-hook');
|
|
1192
1192
|
const removedPreToolCoord = removeGrepragHook(config.hooks, 'PreToolUse', 'codex-coordinate-gate');
|
|
1193
1193
|
if (removedPreToolChip || removedPreToolCoord) {
|
|
@@ -1201,7 +1201,7 @@ function applyCodexHooks(config) {
|
|
|
1201
1201
|
if (!config.hooks.PreToolUse)
|
|
1202
1202
|
config.hooks.PreToolUse = [];
|
|
1203
1203
|
config.hooks.PreToolUse.push(preToolUseHook);
|
|
1204
|
-
changes.push('Added Codex PreToolUse hook (multiplexed
|
|
1204
|
+
changes.push('Added Codex PreToolUse hook (multiplexed local safety)');
|
|
1205
1205
|
}
|
|
1206
1206
|
else {
|
|
1207
1207
|
changes.push('Codex PreToolUse multiplexed safety hook already configured (skipped)');
|