@cybedefend/vibedefend 1.7.0 → 1.8.1
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/README.md +22 -13
- package/dist/clients/antigravity.js +342 -0
- package/dist/clients/antigravity.js.map +1 -0
- package/dist/clients/registry.js +2 -0
- package/dist/clients/registry.js.map +1 -1
- package/dist/clients/windsurf.js +20 -8
- package/dist/clients/windsurf.js.map +1 -1
- package/dist/hook-runner.js +930 -227
- package/dist/hooks/install.js +1 -1
- package/dist/hooks/install.js.map +1 -1
- package/dist/hooks/runtime/antigravity-session.js +400 -0
- package/dist/hooks/runtime/antigravity-session.js.map +1 -0
- package/dist/hooks/runtime/emit.js +206 -0
- package/dist/hooks/runtime/emit.js.map +1 -1
- package/dist/hooks/runtime/exit-deadlock-guard.js +46 -0
- package/dist/hooks/runtime/exit-deadlock-guard.js.map +1 -0
- package/dist/hooks/runtime/fetch-rules.js +39 -3
- package/dist/hooks/runtime/fetch-rules.js.map +1 -1
- package/dist/hooks/runtime/pre-invocation.js +45 -0
- package/dist/hooks/runtime/pre-invocation.js.map +1 -0
- package/dist/hooks/runtime/runner-args.js +12 -0
- package/dist/hooks/runtime/runner-args.js.map +1 -0
- package/dist/hooks/runtime/session-activation.js +10 -4
- package/dist/hooks/runtime/session-activation.js.map +1 -1
- package/dist/hooks/runtime/session-review.js +42 -0
- package/dist/hooks/runtime/session-review.js.map +1 -1
- package/dist/hooks/runtime/session-start.js +21 -1
- package/dist/hooks/runtime/session-start.js.map +1 -1
- package/dist/hooks/runtime/sniff.js +345 -71
- package/dist/hooks/runtime/sniff.js.map +1 -1
- package/dist/hooks/runtime/work-dir.js +3 -0
- package/dist/hooks/runtime/work-dir.js.map +1 -1
- package/dist/hooks/shim.js +102 -5
- package/dist/hooks/shim.js.map +1 -1
- package/dist/install.js +17 -3
- package/dist/install.js.map +1 -1
- package/dist/json-file.js +6 -3
- package/dist/json-file.js.map +1 -1
- package/dist/shim.js +53 -3
- package/dist/utils.js +9 -0
- package/dist/utils.js.map +1 -1
- package/package.json +3 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-review.js","sourceRoot":"","sources":["../../../src/hooks/runtime/session-review.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"session-review.js","sourceRoot":"","sources":["../../../src/hooks/runtime/session-review.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,6 +18,7 @@ import { isNonBlockingMode, NON_BLOCKING_INBOX_DIRECTIVE, } from './proposal-mod
|
|
|
18
18
|
import { selfUpdateCheck } from './self-update-check.js';
|
|
19
19
|
import { maybeRefreshStaleWiring } from './hook-refresh-trigger.js';
|
|
20
20
|
import { pkg } from '../../version.js';
|
|
21
|
+
import { pruneStale } from './antigravity-session.js';
|
|
21
22
|
/** Production emitter — the envelope's `hookEventName` must name THIS hook. */
|
|
22
23
|
function emitSessionStartContext(body, client) {
|
|
23
24
|
emitContext(body, client, 'SessionStart');
|
|
@@ -79,6 +80,15 @@ export async function sessionStartHook(deps = {}) {
|
|
|
79
80
|
if (sessionId)
|
|
80
81
|
sessionStore.clear(sessionId);
|
|
81
82
|
const apiBase = process.env.CYBEDEFEND_API_BASE ?? configApiBase ?? config.region.apiBase;
|
|
83
|
+
// Antigravity-only, best-effort (Task 10's `pruneStale` swallows every fs
|
|
84
|
+
// error): a SessionStart fires once per conversation, a good-enough
|
|
85
|
+
// cadence to sweep `~/.cybedefend/antigravity/<key>/` directories nobody
|
|
86
|
+
// touched in 7 days. Placed BEFORE the dry-run early return below so it
|
|
87
|
+
// still runs on that path too — not only on the path that reaches the
|
|
88
|
+
// Action Guards block further down.
|
|
89
|
+
if (event.client === 'antigravity') {
|
|
90
|
+
pruneStale(deps.antigravityStateDir);
|
|
91
|
+
}
|
|
82
92
|
// Dry-run for hook-debug — emit a sentinel without hitting the API.
|
|
83
93
|
if (process.env.CYBEDEFEND_DRY_RUN === '1') {
|
|
84
94
|
emitFn(`## CybeDefend session bootstrap (dry-run, client=${event.client})\n- project: ${projectId}\n`, event.client);
|
|
@@ -139,7 +149,17 @@ export async function sessionStartHook(deps = {}) {
|
|
|
139
149
|
// Windsurf's pre_write_code hook only covers file writes. Read, Bash,
|
|
140
150
|
// WebFetch, and network actions are NOT intercepted at the hook level, so
|
|
141
151
|
// the LLM must still pre-check those itself via cybe_guards_check.
|
|
142
|
-
|
|
152
|
+
//
|
|
153
|
+
// Antigravity (BACK-241): its PreToolUse hook hard-blocks every tool call
|
|
154
|
+
// (deny / force_ask, Task 12) the same way claude-code/codex/cursor's do,
|
|
155
|
+
// so it joins this set too — no rules-file snippet needed, the LLM should
|
|
156
|
+
// just make the call and let the hook intercept it.
|
|
157
|
+
const HARD_ENFORCEMENT_CLIENTS = new Set([
|
|
158
|
+
'claude-code',
|
|
159
|
+
'codex',
|
|
160
|
+
'cursor',
|
|
161
|
+
'antigravity',
|
|
162
|
+
]);
|
|
143
163
|
lines.push('');
|
|
144
164
|
if (HARD_ENFORCEMENT_CLIENTS.has(event.client)) {
|
|
145
165
|
lines.push('- **Action Guards** are enforced silently by a PreToolUse hook on this', ' client. The hook intercepts your tool calls before they execute and', ' blocks any that match a deny rule. You do NOT need to call any guard', ' tool preemptively — just make your tool call. If the hook blocks it,', ' you will see a stderr message; do not retry the same action.');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"session-start.js","sourceRoot":"","sources":["../../../src/hooks/runtime/session-start.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EACL,uBAAuB,EACvB,YAAY,GAEb,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,MAAM,WAAW,CAAC;AAC3D,OAAO,EACL,qBAAqB,EACrB,2BAA2B,EAC3B,eAAe,EACf,WAAW,GAGZ,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC/D,OAAO,EACL,iBAAiB,EACjB,4BAA4B,GAC7B,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"session-start.js","sourceRoot":"","sources":["../../../src/hooks/runtime/session-start.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,16 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Universal stdin schema sniffer.
|
|
3
3
|
*
|
|
4
|
-
* Each of the
|
|
4
|
+
* Each of the 6 supported agents sends a different JSON shape on stdin
|
|
5
5
|
* when they invoke a hook. This module detects the calling agent and
|
|
6
6
|
* normalises the fields we care about into a single `NormalizedEvent`.
|
|
7
7
|
*
|
|
8
8
|
* Schema cheat sheet:
|
|
9
|
-
* -
|
|
9
|
+
* - Antigravity: `.conversationId` + `.workspacePaths` at every event;
|
|
10
|
+
* `.toolCall.{name, args}` on PreToolUse only, in either
|
|
11
|
+
* of its two tool vocabularies (see below)
|
|
12
|
+
* - Windsurf: `.agent_action_name` + `.tool_info.{file_path, edits}`,
|
|
13
|
+
* or `.tool_info.{command_line, cwd}` for a shell command
|
|
10
14
|
* - VS Code: `.hook_event_name` with PascalCase value + an ISO-8601
|
|
11
15
|
* `.timestamp` (both its harnesses); older builds sent a
|
|
12
16
|
* camelCase `.hookEventName` field
|
|
@@ -44,98 +48,368 @@ export function filePathFromPatch(patch) {
|
|
|
44
48
|
}
|
|
45
49
|
return '';
|
|
46
50
|
}
|
|
47
|
-
/**
|
|
48
|
-
|
|
49
|
-
|
|
51
|
+
/**
|
|
52
|
+
* Concatenate the string `field` of each entry of an edit array: `new_string`
|
|
53
|
+
* of a MultiEdit's (and Windsurf's) `edits`, `ReplacementContent` of
|
|
54
|
+
* Antigravity's `multi_replace_file_content` chunks. The array is the
|
|
55
|
+
* agent's data: anything that is not an array gives `''`, and an entry that
|
|
56
|
+
* is not an object, or whose field is not a non-empty string, is skipped.
|
|
57
|
+
* Never throws — guard-check sniffs before it evaluates, and a `null` entry
|
|
58
|
+
* read here once let a denied write through (BACK-241).
|
|
59
|
+
*/
|
|
60
|
+
export function joinStringField(entries, field) {
|
|
61
|
+
if (!Array.isArray(entries))
|
|
50
62
|
return '';
|
|
51
|
-
return
|
|
52
|
-
.map((e) =>
|
|
63
|
+
return entries
|
|
64
|
+
.map((e) => {
|
|
65
|
+
if (typeof e !== 'object' || e === null)
|
|
66
|
+
return '';
|
|
67
|
+
const value = e[field];
|
|
68
|
+
return typeof value === 'string' ? value : '';
|
|
69
|
+
})
|
|
53
70
|
.filter((s) => s.length > 0)
|
|
54
71
|
.join('\n---\n');
|
|
55
72
|
}
|
|
56
|
-
/**
|
|
57
|
-
|
|
58
|
-
|
|
73
|
+
/**
|
|
74
|
+
* True for a Google Antigravity hook envelope. Every event (SessionStart,
|
|
75
|
+
* PreToolUse, PreInvocation, Stop, …) carries `conversationId` and
|
|
76
|
+
* `workspacePaths`; no other supported agent uses either field name.
|
|
77
|
+
*/
|
|
78
|
+
export function isAntigravityEnvelope(input) {
|
|
79
|
+
return (typeof input.conversationId === 'string' &&
|
|
80
|
+
Array.isArray(input.workspacePaths));
|
|
59
81
|
}
|
|
60
82
|
/**
|
|
61
|
-
*
|
|
62
|
-
*
|
|
63
|
-
*
|
|
64
|
-
*
|
|
83
|
+
* The arguments an Antigravity tool may name its file in, in the order they
|
|
84
|
+
* are read. Antigravity has two tool vocabularies and the model picks one
|
|
85
|
+
* (BACK-241: run 1 and run 2 of the live check, same app 2.24.0):
|
|
86
|
+
* - A: `write_to_file` {TargetFile, CodeContent}, `replace_file_content`
|
|
87
|
+
* {TargetFile, ReplacementContent}, `multi_replace_file_content`
|
|
88
|
+
* {TargetFile, ReplacementChunks}, `view_file` {AbsolutePath};
|
|
89
|
+
* - B: `write_file` {Path, Content}, `edit_file` {Path, Target,
|
|
90
|
+
* Replacement}, `read_file` {Path}.
|
|
91
|
+
* Both share `run_command` {CommandLine, Cwd?}. `FilePath`, `file_path` and
|
|
92
|
+
* `path` cover a tool of neither, so a name we do not know yet is still
|
|
93
|
+
* read as a file rather than as nothing.
|
|
65
94
|
*/
|
|
66
|
-
export
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
95
|
+
export const ANTIGRAVITY_PATH_ARGS = [
|
|
96
|
+
'TargetFile',
|
|
97
|
+
'AbsolutePath',
|
|
98
|
+
'Path',
|
|
99
|
+
'FilePath',
|
|
100
|
+
'file_path',
|
|
101
|
+
'path',
|
|
102
|
+
];
|
|
103
|
+
/** The argument each known Antigravity file tool names its file in. */
|
|
104
|
+
const ANTIGRAVITY_OWN_PATH_ARG = new Map([
|
|
105
|
+
['write_to_file', 'TargetFile'],
|
|
106
|
+
['replace_file_content', 'TargetFile'],
|
|
107
|
+
['multi_replace_file_content', 'TargetFile'],
|
|
108
|
+
['view_file', 'AbsolutePath'],
|
|
109
|
+
['write_file', 'Path'],
|
|
110
|
+
['edit_file', 'Path'],
|
|
111
|
+
['read_file', 'Path'],
|
|
112
|
+
]);
|
|
113
|
+
/**
|
|
114
|
+
* The file an Antigravity tool call names, as the agent wrote it (never
|
|
115
|
+
* resolved): the tool's own path argument first, then the first of
|
|
116
|
+
* {@link ANTIGRAVITY_PATH_ARGS} that is a non-empty string; `''` when there
|
|
117
|
+
* is none. A tool acts on its own argument, so a call that carries another
|
|
118
|
+
* path argument too is read on the file it writes, and guard-check
|
|
119
|
+
* (readAntigravityCall) and fetch-rules read the same one. Never throws.
|
|
120
|
+
*/
|
|
121
|
+
export function antigravityFilePathArg(toolName, args) {
|
|
122
|
+
const own = ANTIGRAVITY_OWN_PATH_ARG.get(toolName);
|
|
123
|
+
for (const key of own === undefined ? ANTIGRAVITY_PATH_ARGS : [own, ...ANTIGRAVITY_PATH_ARGS]) {
|
|
124
|
+
const value = args[key];
|
|
125
|
+
if (typeof value === 'string' && value.length > 0)
|
|
126
|
+
return value;
|
|
127
|
+
}
|
|
128
|
+
return '';
|
|
129
|
+
}
|
|
130
|
+
/**
|
|
131
|
+
* Every Antigravity tool name whose shape is fully known: vocabulary A/B's
|
|
132
|
+
* own-argument tools ({@link ANTIGRAVITY_OWN_PATH_ARG}) plus the three with
|
|
133
|
+
* no path argument of their own. A name outside this set is classified
|
|
134
|
+
* (R15, BACK-241) instead of read as a bare file target under its raw name
|
|
135
|
+
* — the built-in Write/Edit/MultiEdit and Read/Glob/Grep rules never match
|
|
136
|
+
* a raw tool name, which is how `multi_edit_file` and `delete_file` on
|
|
137
|
+
* `.env` both reached neither (both ALLOWED).
|
|
138
|
+
*/
|
|
139
|
+
export const ANTIGRAVITY_KNOWN_TOOLS = new Set([
|
|
140
|
+
...ANTIGRAVITY_OWN_PATH_ARG.keys(),
|
|
141
|
+
'run_command',
|
|
142
|
+
'read_url_content',
|
|
143
|
+
'call_mcp_tool',
|
|
144
|
+
]);
|
|
145
|
+
/** An argument key signalling the call carries new file content (R15). */
|
|
146
|
+
const ANTIGRAVITY_CONTENT_KEY_RE = /content|replacement|chunk|edit|patch|diff/i;
|
|
147
|
+
/**
|
|
148
|
+
* Write when a call to a tool outside {@link ANTIGRAVITY_KNOWN_TOOLS}
|
|
149
|
+
* carries, in any argument OTHER than the six path fields
|
|
150
|
+
* ({@link ANTIGRAVITY_PATH_ARGS}), a key matching
|
|
151
|
+
* `/content|replacement|chunk|edit|patch|diff/i`; Read otherwise (R15,
|
|
152
|
+
* BACK-241: `multi_edit_file {Path, Edits}` is a Write, `delete_file
|
|
153
|
+
* {Path}` is a Read — neither is a vocabulary A/B tool, and both must
|
|
154
|
+
* still reach the built-in `.env` rules, which are scoped to canonical
|
|
155
|
+
* tool names, never a raw one). Shared by sniff and guard-check's
|
|
156
|
+
* readAntigravityCall so a name neither reads is gated the same way both
|
|
157
|
+
* read it. Never throws.
|
|
158
|
+
*/
|
|
159
|
+
export function classifyUnknownAntigravityTool(args) {
|
|
160
|
+
const pathKeys = new Set(ANTIGRAVITY_PATH_ARGS);
|
|
161
|
+
for (const key of Object.keys(args)) {
|
|
162
|
+
if (pathKeys.has(key))
|
|
163
|
+
continue;
|
|
164
|
+
if (ANTIGRAVITY_CONTENT_KEY_RE.test(key))
|
|
165
|
+
return 'Write';
|
|
166
|
+
}
|
|
167
|
+
return 'Read';
|
|
168
|
+
}
|
|
169
|
+
/**
|
|
170
|
+
* The first string value of a content-like argument
|
|
171
|
+
* {@link classifyUnknownAntigravityTool} classified Write for — the
|
|
172
|
+
* `newContent` of an unknown tool's write. `''` when the call carries none
|
|
173
|
+
* (an `Edits` array, say): the call is still a write, with no single
|
|
174
|
+
* string to show.
|
|
175
|
+
*/
|
|
176
|
+
export function unknownAntigravityContent(args) {
|
|
177
|
+
const pathKeys = new Set(ANTIGRAVITY_PATH_ARGS);
|
|
178
|
+
for (const key of Object.keys(args)) {
|
|
179
|
+
if (pathKeys.has(key))
|
|
180
|
+
continue;
|
|
181
|
+
if (!ANTIGRAVITY_CONTENT_KEY_RE.test(key))
|
|
182
|
+
continue;
|
|
183
|
+
const value = args[key];
|
|
184
|
+
if (typeof value === 'string' && value.length > 0)
|
|
185
|
+
return value;
|
|
186
|
+
}
|
|
187
|
+
return '';
|
|
188
|
+
}
|
|
189
|
+
/**
|
|
190
|
+
* Every distinct, non-empty string value among {@link ANTIGRAVITY_PATH_ARGS},
|
|
191
|
+
* in that field order. A known tool names its file in exactly one of them;
|
|
192
|
+
* an unknown one (R15, BACK-241) may fill more than one — `save_file
|
|
193
|
+
* {TargetFile: 'ok.txt', Path: '.env'}` names two files, and guard-check
|
|
194
|
+
* gates every one of them.
|
|
195
|
+
*/
|
|
196
|
+
export function antigravityAllPathArgs(args) {
|
|
197
|
+
const seen = new Set();
|
|
198
|
+
const out = [];
|
|
199
|
+
for (const key of ANTIGRAVITY_PATH_ARGS) {
|
|
200
|
+
const value = args[key];
|
|
201
|
+
if (typeof value === 'string' && value.length > 0 && !seen.has(value)) {
|
|
202
|
+
seen.add(value);
|
|
203
|
+
out.push(value);
|
|
79
204
|
}
|
|
205
|
+
}
|
|
206
|
+
return out;
|
|
207
|
+
}
|
|
208
|
+
/** A path arg, resolved against `w` when relative. `''` stays `''`. */
|
|
209
|
+
function resolveAntigravityTargetFile(value, w) {
|
|
210
|
+
return value.length > 0 ? resolveWriteTarget(w, value) : '';
|
|
211
|
+
}
|
|
212
|
+
/** `value` when it is a string, else `''`. */
|
|
213
|
+
function stringArg(value) {
|
|
214
|
+
return typeof value === 'string' ? value : '';
|
|
215
|
+
}
|
|
216
|
+
/**
|
|
217
|
+
* Maps an Antigravity envelope to a NormalizedEvent. Every event shares the
|
|
218
|
+
* same top-level shape (`conversationId`, `workspacePaths`, …); only
|
|
219
|
+
* PreToolUse carries a `toolCall`, so SessionStart / PreInvocation / Stop
|
|
220
|
+
* normalise to an empty tool with no file.
|
|
221
|
+
*/
|
|
222
|
+
function extractAntigravityShape(input) {
|
|
223
|
+
const workspacePaths = Array.isArray(input.workspacePaths)
|
|
224
|
+
? input.workspacePaths
|
|
225
|
+
: [];
|
|
226
|
+
const w = workspacePaths.find((p) => typeof p === 'string' && p.length > 0) ?? process.cwd();
|
|
227
|
+
const toolCall = typeof input.toolCall === 'object' && input.toolCall !== null
|
|
228
|
+
? input.toolCall
|
|
229
|
+
: undefined;
|
|
230
|
+
if (toolCall === undefined) {
|
|
80
231
|
return {
|
|
81
|
-
client: '
|
|
82
|
-
toolName,
|
|
83
|
-
filePath,
|
|
84
|
-
filePaths:
|
|
85
|
-
newContent,
|
|
232
|
+
client: 'antigravity',
|
|
233
|
+
toolName: '',
|
|
234
|
+
filePath: '',
|
|
235
|
+
filePaths: [],
|
|
236
|
+
newContent: '',
|
|
86
237
|
raw: input,
|
|
87
238
|
};
|
|
88
239
|
}
|
|
240
|
+
const name = typeof toolCall.name === 'string' ? toolCall.name : '';
|
|
241
|
+
const args = toolCall.args ?? {};
|
|
242
|
+
let toolName = name;
|
|
243
|
+
let filePath = resolveAntigravityTargetFile(antigravityFilePathArg(name, args), w);
|
|
244
|
+
let filePaths = [];
|
|
245
|
+
let newContent = '';
|
|
246
|
+
// Both vocabularies (ANTIGRAVITY_PATH_ARGS), each on its own content field.
|
|
247
|
+
switch (name) {
|
|
248
|
+
case 'write_to_file':
|
|
249
|
+
toolName = 'Write';
|
|
250
|
+
newContent = stringArg(args.CodeContent);
|
|
251
|
+
break;
|
|
252
|
+
case 'write_file':
|
|
253
|
+
toolName = 'Write';
|
|
254
|
+
newContent = stringArg(args.Content);
|
|
255
|
+
break;
|
|
256
|
+
case 'replace_file_content':
|
|
257
|
+
toolName = 'Edit';
|
|
258
|
+
newContent = stringArg(args.ReplacementContent);
|
|
259
|
+
break;
|
|
260
|
+
case 'edit_file':
|
|
261
|
+
toolName = 'Edit';
|
|
262
|
+
newContent = stringArg(args.Replacement);
|
|
263
|
+
break;
|
|
264
|
+
case 'multi_replace_file_content':
|
|
265
|
+
toolName = 'MultiEdit';
|
|
266
|
+
newContent = joinStringField(args.ReplacementChunks, 'ReplacementContent');
|
|
267
|
+
break;
|
|
268
|
+
case 'run_command': {
|
|
269
|
+
toolName = 'Bash';
|
|
270
|
+
const command = typeof args.CommandLine === 'string' ? args.CommandLine : '';
|
|
271
|
+
newContent = command;
|
|
272
|
+
const cwd = typeof args.Cwd === 'string' && args.Cwd.length > 0 ? args.Cwd : w;
|
|
273
|
+
filePaths = extractShellWriteTargets(command).map((t) => resolveWriteTarget(cwd, t));
|
|
274
|
+
filePath = filePaths[0] ?? '';
|
|
275
|
+
break;
|
|
276
|
+
}
|
|
277
|
+
default:
|
|
278
|
+
// view_file / read_file / read_url_content / call_mcp_tool keep their
|
|
279
|
+
// raw name, with the file read above: none is a write tool, so
|
|
280
|
+
// fetch-rules stays silent on them. A name outside every known tool
|
|
281
|
+
// (R15, BACK-241) that still names a file is classified instead of
|
|
282
|
+
// left under its raw name: Write gets the canonical name, so
|
|
283
|
+
// fetch-rules and the end-of-session review treat it like one; Read
|
|
284
|
+
// keeps its raw name, same as the tools above.
|
|
285
|
+
if (name && filePath && !ANTIGRAVITY_KNOWN_TOOLS.has(name)) {
|
|
286
|
+
if (classifyUnknownAntigravityTool(args) === 'Write') {
|
|
287
|
+
toolName = 'Write';
|
|
288
|
+
newContent = unknownAntigravityContent(args);
|
|
289
|
+
}
|
|
290
|
+
}
|
|
291
|
+
break;
|
|
292
|
+
}
|
|
293
|
+
if (filePaths.length === 0 && filePath)
|
|
294
|
+
filePaths = [filePath];
|
|
295
|
+
return { client: 'antigravity', toolName, filePath, filePaths, newContent, raw: input };
|
|
296
|
+
}
|
|
297
|
+
/**
|
|
298
|
+
* Which agent sent this envelope, from the fields that name it only (never
|
|
299
|
+
* the tool's arguments), in the order of the schema cheat sheet above.
|
|
300
|
+
* Never throws on a JSON object. `sniff` branches on it; guard-check also
|
|
301
|
+
* calls it on its own when `sniff` fails, so a crash while reading a tool's
|
|
302
|
+
* arguments still leaves it knowing who to answer, and how (BACK-241).
|
|
303
|
+
*/
|
|
304
|
+
export function detectClient(input) {
|
|
305
|
+
// ── Antigravity ──────────────────────────────────────────────────────
|
|
306
|
+
// Checked first: its envelope carries no `hook_event_name` /
|
|
307
|
+
// `hookEventName` / `agent_action_name`, but putting it ahead of those
|
|
308
|
+
// keeps the schema cheat sheet above in the same order as the branches.
|
|
309
|
+
if (isAntigravityEnvelope(input))
|
|
310
|
+
return 'antigravity';
|
|
311
|
+
// ── Windsurf ─────────────────────────────────────────────────────────
|
|
312
|
+
if (typeof input.agent_action_name === 'string')
|
|
313
|
+
return 'windsurf';
|
|
89
314
|
// ── VS Code Copilot ──────────────────────────────────────────────────
|
|
90
315
|
// VS Code uses camelCase field name `hookEventName` (distinct from
|
|
91
316
|
// Claude Code/Cursor/Codex's snake_case `hook_event_name`).
|
|
92
|
-
if ('hookEventName' in input)
|
|
93
|
-
return
|
|
94
|
-
}
|
|
317
|
+
if ('hookEventName' in input)
|
|
318
|
+
return 'vscode';
|
|
95
319
|
// ── Cursor / Codex / Claude Code (shared shape) ──────────────────────
|
|
96
320
|
if ('hook_event_name' in input) {
|
|
97
321
|
const evt = typeof input.hook_event_name === 'string' ? input.hook_event_name : '';
|
|
98
|
-
|
|
99
|
-
if (/^[a-z]/.test(evt))
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
}
|
|
120
|
-
else if (hasIsoTimestamp(input)) {
|
|
121
|
-
client = 'vscode';
|
|
122
|
-
}
|
|
123
|
-
else {
|
|
124
|
-
client = 'claude-code';
|
|
125
|
-
}
|
|
126
|
-
}
|
|
127
|
-
return extractToolInputShape(input, client);
|
|
322
|
+
// Cursor uses camelCase event values (`preToolUse`).
|
|
323
|
+
if (/^[a-z]/.test(evt))
|
|
324
|
+
return 'cursor';
|
|
325
|
+
// Codex emits `apply_patch` as a tool name (with patch payload);
|
|
326
|
+
// Claude Code uses Edit/Write/MultiEdit. Both send `Bash` for shell
|
|
327
|
+
// commands, so tool_name alone cannot tell them apart there — Codex's
|
|
328
|
+
// envelope carries a `turn_id` (its documented extension), Claude
|
|
329
|
+
// Code's does not (observed on Codex 0.142 / Claude Code 2.1.267).
|
|
330
|
+
//
|
|
331
|
+
// VS Code Copilot, configured with PascalCase events (our
|
|
332
|
+
// `~/.copilot/hooks/cybedefend.json`), sends this same snake_case shape
|
|
333
|
+
// and even Claude tool names — but always with an ISO-8601
|
|
334
|
+
// `timestamp`, a field neither Claude Code nor Codex sends. Its
|
|
335
|
+
// output contract differs (see emit.ts), so it must not pass as
|
|
336
|
+
// Claude Code.
|
|
337
|
+
const toolName = typeof input.tool_name === 'string' ? input.tool_name : '';
|
|
338
|
+
if (toolName === 'apply_patch' || 'turn_id' in input)
|
|
339
|
+
return 'codex';
|
|
340
|
+
if (hasIsoTimestamp(input))
|
|
341
|
+
return 'vscode';
|
|
342
|
+
return 'claude-code';
|
|
128
343
|
}
|
|
129
344
|
// ── Nothing matched ──────────────────────────────────────────────────
|
|
345
|
+
return 'unknown';
|
|
346
|
+
}
|
|
347
|
+
/** Maps a Windsurf envelope (`agent_action_name` + `tool_info`) to a NormalizedEvent. */
|
|
348
|
+
function extractWindsurfShape(input) {
|
|
349
|
+
const action = input.agent_action_name;
|
|
350
|
+
const toolInfo = input.tool_info ?? {};
|
|
351
|
+
if (action === 'pre_run_command' || action === 'post_run_command') {
|
|
352
|
+
// Cascade's shell tool, read as the Bash branch of the other agents
|
|
353
|
+
// reads theirs: the command is the intent, its write targets are the
|
|
354
|
+
// files it touches, resolved where the command runs.
|
|
355
|
+
const command = typeof toolInfo.command_line === 'string' ? toolInfo.command_line : '';
|
|
356
|
+
const cwd = typeof toolInfo.cwd === 'string' && toolInfo.cwd.length > 0
|
|
357
|
+
? toolInfo.cwd
|
|
358
|
+
: process.cwd();
|
|
359
|
+
const filePaths = extractShellWriteTargets(command).map((t) => resolveWriteTarget(cwd, t));
|
|
360
|
+
return {
|
|
361
|
+
client: 'windsurf',
|
|
362
|
+
toolName: 'Bash',
|
|
363
|
+
filePath: filePaths[0] ?? '',
|
|
364
|
+
filePaths,
|
|
365
|
+
newContent: command,
|
|
366
|
+
raw: input,
|
|
367
|
+
};
|
|
368
|
+
}
|
|
369
|
+
const filePath = typeof toolInfo.file_path === 'string' ? toolInfo.file_path : '';
|
|
370
|
+
const newContent = joinStringField(toolInfo.edits, 'new_string');
|
|
371
|
+
let toolName = action;
|
|
372
|
+
if (action === 'pre_write_code' || action === 'post_write_code') {
|
|
373
|
+
toolName = 'Write';
|
|
374
|
+
}
|
|
375
|
+
else if (action === 'pre_read_code' || action === 'post_read_code') {
|
|
376
|
+
toolName = 'Read';
|
|
377
|
+
}
|
|
130
378
|
return {
|
|
131
|
-
client: '
|
|
132
|
-
toolName
|
|
133
|
-
filePath
|
|
134
|
-
filePaths: [],
|
|
135
|
-
newContent
|
|
379
|
+
client: 'windsurf',
|
|
380
|
+
toolName,
|
|
381
|
+
filePath,
|
|
382
|
+
filePaths: filePath ? [filePath] : [],
|
|
383
|
+
newContent,
|
|
136
384
|
raw: input,
|
|
137
385
|
};
|
|
138
386
|
}
|
|
387
|
+
/**
|
|
388
|
+
* Pure function: maps an unparsed stdin object to a NormalizedEvent.
|
|
389
|
+
*
|
|
390
|
+
* Returns a NormalizedEvent with `client: 'unknown'` if no schema matches,
|
|
391
|
+
* so the caller can early-exit without crashing.
|
|
392
|
+
*/
|
|
393
|
+
export function sniff(input) {
|
|
394
|
+
const client = detectClient(input);
|
|
395
|
+
switch (client) {
|
|
396
|
+
case 'antigravity':
|
|
397
|
+
return extractAntigravityShape(input);
|
|
398
|
+
case 'windsurf':
|
|
399
|
+
return extractWindsurfShape(input);
|
|
400
|
+
case 'unknown':
|
|
401
|
+
return {
|
|
402
|
+
client: 'unknown',
|
|
403
|
+
toolName: '',
|
|
404
|
+
filePath: '',
|
|
405
|
+
filePaths: [],
|
|
406
|
+
newContent: '',
|
|
407
|
+
raw: input,
|
|
408
|
+
};
|
|
409
|
+
default:
|
|
410
|
+
return extractToolInputShape(input, client);
|
|
411
|
+
}
|
|
412
|
+
}
|
|
139
413
|
/** VS Code's snake_case payloads carry `timestamp` as an ISO-8601 string. */
|
|
140
414
|
function hasIsoTimestamp(input) {
|
|
141
415
|
return (typeof input.timestamp === 'string' &&
|
|
@@ -176,7 +450,7 @@ function extractToolInputShape(input, client) {
|
|
|
176
450
|
typeof toolInput.new_string === 'string' ? toolInput.new_string : '';
|
|
177
451
|
break;
|
|
178
452
|
case 'MultiEdit':
|
|
179
|
-
newContent =
|
|
453
|
+
newContent = joinStringField(toolInput.edits, 'new_string');
|
|
180
454
|
break;
|
|
181
455
|
case 'apply_patch': {
|
|
182
456
|
// Codex hands the patch text in `tool_input.command` (its docs: "for
|