@cybedefend/vibedefend 1.7.0 → 1.8.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 (38) hide show
  1. package/README.md +19 -12
  2. package/dist/clients/antigravity.js +327 -0
  3. package/dist/clients/antigravity.js.map +1 -0
  4. package/dist/clients/registry.js +2 -0
  5. package/dist/clients/registry.js.map +1 -1
  6. package/dist/hook-runner.js +902 -227
  7. package/dist/hooks/install.js +1 -1
  8. package/dist/hooks/install.js.map +1 -1
  9. package/dist/hooks/runtime/antigravity-session.js +400 -0
  10. package/dist/hooks/runtime/antigravity-session.js.map +1 -0
  11. package/dist/hooks/runtime/emit.js +206 -0
  12. package/dist/hooks/runtime/emit.js.map +1 -1
  13. package/dist/hooks/runtime/exit-deadlock-guard.js +46 -0
  14. package/dist/hooks/runtime/exit-deadlock-guard.js.map +1 -0
  15. package/dist/hooks/runtime/fetch-rules.js +39 -3
  16. package/dist/hooks/runtime/fetch-rules.js.map +1 -1
  17. package/dist/hooks/runtime/pre-invocation.js +45 -0
  18. package/dist/hooks/runtime/pre-invocation.js.map +1 -0
  19. package/dist/hooks/runtime/runner-args.js +12 -0
  20. package/dist/hooks/runtime/runner-args.js.map +1 -0
  21. package/dist/hooks/runtime/session-activation.js +10 -4
  22. package/dist/hooks/runtime/session-activation.js.map +1 -1
  23. package/dist/hooks/runtime/session-review.js +42 -0
  24. package/dist/hooks/runtime/session-review.js.map +1 -1
  25. package/dist/hooks/runtime/session-start.js +21 -1
  26. package/dist/hooks/runtime/session-start.js.map +1 -1
  27. package/dist/hooks/runtime/sniff.js +325 -70
  28. package/dist/hooks/runtime/sniff.js.map +1 -1
  29. package/dist/hooks/runtime/work-dir.js +3 -0
  30. package/dist/hooks/runtime/work-dir.js.map +1 -1
  31. package/dist/hooks/shim.js +102 -5
  32. package/dist/hooks/shim.js.map +1 -1
  33. package/dist/json-file.js +6 -3
  34. package/dist/json-file.js.map +1 -1
  35. package/dist/shim.js +53 -3
  36. package/dist/utils.js +9 -0
  37. package/dist/utils.js.map +1 -1
  38. 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
- const HARD_ENFORCEMENT_CLIENTS = new Set(['claude-code', 'codex', 'cursor']);
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;AA0BvC,+EAA+E;AAC/E,SAAS,uBAAuB,CAAC,IAAY,EAAE,MAAgB;IAC7D,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,cAAc,CAAC,CAAC;AAC5C,CAAC;AAED;;;;;GAKG;AACH,SAAS,gBAAgB,CACvB,UAA6B,EAC7B,SAAwB,EACxB,GAAW,EACX,KAA2B,EAC3B,MAAgB,EAChB,YAAgE;IAEhE,MAAM,MAAM,GAAG,UAAU,CAAC,cAAc,IAAI,mBAAmB,CAAC;IAChE,IAAI,SAAS,EAAE,CAAC;QACd,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACnC,IAAI,KAAK,IAAI,KAAK,CAAC,GAAG,KAAK,GAAG,IAAI,KAAK,CAAC,MAAM,KAAK,MAAM;YAAE,OAAO;QAClE,KAAK,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,CAAC,CAAC;IACzC,CAAC;IACD,YAAY,CAAC,qBAAqB,CAAC,MAAM,EAAE,UAAU,CAAC,UAAU,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC;AACrF,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,OAAyB,EAAE;IAE3B,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,IAAI,aAAa,CAAC;IAClD,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,IAAI,iBAAiB,CAAC;IACxD,MAAM,cAAc,GAAG,IAAI,CAAC,cAAc,IAAI,uBAAuB,CAAC;IACtE,MAAM,UAAU,GAAG,IAAI,CAAC,cAAc,IAAI,YAAY,CAAC;IACvD,MAAM,cAAc,GAAG,IAAI,CAAC,gBAAgB,IAAI,mBAAmB,CAAC;IACpE,MAAM,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,IAAI,eAAe,CAAC;IACpE,sEAAsE;IACtE,sEAAsE;IACtE,oEAAoE;IACpE,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,uBAAuB,CAAC;IACtD,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,IAAI,iBAAiB,CAAC;IAE5D,MAAM,KAAK,GAAG,MAAM,SAAS,EAAE,CAAC;IAChC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;IAE3B,MAAM,MAAM,GAAG,UAAU,EAAE,CAAC;IAC5B,IAAI,CAAC,MAAM;QAAE,OAAO;IAEpB,wEAAwE;IACxE,CAAC,IAAI,CAAC,oBAAoB,IAAI,uBAAuB,CAAC,CAAC;QACrD,MAAM;QACN,aAAa,EAAE,GAAG,CAAC,OAAO;KAC3B,CAAC,CAAC;IAEH,qEAAqE;IACrE,yEAAyE;IACzE,uEAAuE;IACvE,MAAM,MAAM,GAAG,eAAe,CAAC,KAAK,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;IACpD,MAAM,UAAU,GAAG,MAAM,cAAc,CAAC,MAAM,CAAC,CAAC;IAChD,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,aAAa,EAAE,GAAG,UAAU,CAAC;IACzD,MAAM,YAAY,GAAG,IAAI,CAAC,YAAY,IAAI,2BAA2B,EAAE,CAAC;IACxE,MAAM,SAAS,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC;IACrC,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,sEAAsE;QACtE,oEAAoE;QACpE,gDAAgD;QAChD,gBAAgB,CAAC,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,KAAK,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;QAC1F,OAAO;IACT,CAAC;IACD,4EAA4E;IAC5E,IAAI,SAAS;QAAE,YAAY,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;IAE7C,MAAM,OAAO,GACX,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,aAAa,IAAI,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC;IAE5E,oEAAoE;IACpE,IAAI,OAAO,CAAC,GAAG,CAAC,kBAAkB,KAAK,GAAG,EAAE,CAAC;QAC3C,MAAM,CACJ,oDAAoD,KAAK,CAAC,MAAM,iBAAiB,SAAS,IAAI,EAC9F,KAAK,CAAC,MAAM,CACb,CAAC;QACF,OAAO;IACT,CAAC;IAED,2EAA2E;IAC3E,uEAAuE;IACvE,sEAAsE;IACtE,yEAAyE;IACzE,wEAAwE;IACxE,MAAM,KAAK,GAAG,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,OAAO,EAAE;QAC9C,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM;KAC7B,CAAC,CAAC;IACH,IAAI,KAAK,GAAkB,IAAI,CAAC;IAChC,IAAI,KAAK,EAAE,CAAC;QACV,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC;QACnE,IAAI,MAAM;YAAE,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;IACnC,CAAC;IAED,MAAM,KAAK,GAAa;QACtB,iCAAiC;QACjC,gBAAgB,SAAS,eAAe,KAAK,CAAC,MAAM,GAAG;KACxD,CAAC;IACF,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QACnB,KAAK,CAAC,IAAI,CAAC,0BAA0B,KAAK,IAAI,CAAC,CAAC;IAClD,CAAC;IACD,KAAK,CAAC,IAAI,CACR,gFAAgF,EAChF,mFAAmF,CACpF,CAAC;IAEF,iEAAiE;IACjE,oEAAoE;IACpE,qEAAqE;IACrE,kEAAkE;IAClE,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,IAAI,iBAAiB,CAAC,MAAM,CAAC,EAAE,CAAC;QAC9B,sEAAsE;QACtE,sDAAsD;QACtD,KAAK,CAAC,IAAI,CACR,mCACE,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,GAAG,KAAK,UAC3C,wBAAwB,EACxB,KAAK,4BAA4B,EAAE,CACpC,CAAC;IACJ,CAAC;SAAM,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QAC1B,oEAAoE;QACpE,oEAAoE;QACpE,iEAAiE;QACjE,KAAK,CAAC,IAAI,CACR,8EAA8E,EAC9E,gFAAgF,EAChF,mEAAmE,CACpE,CAAC;IACJ,CAAC;SAAM,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;QACvB,KAAK,CAAC,IAAI,CACR,sFAAsF,CACvF,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,KAAK,CAAC,IAAI,CACR,mCAAmC,KAAK,+BAA+B,EACvE,2EAA2E,EAC3E,gFAAgF,EAChF,8CAA8C,CAC/C,CAAC;IACJ,CAAC;IAED,6DAA6D;IAC7D,0EAA0E;IAC1E,uEAAuE;IACvE,wEAAwE;IACxE,sEAAsE;IACtE,0EAA0E;IAC1E,6EAA6E;IAC7E,EAAE;IACF,sEAAsE;IACtE,0EAA0E;IAC1E,mEAAmE;IACnE,MAAM,wBAAwB,GAAG,IAAI,GAAG,CAAC,CAAC,aAAa,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;IAE7E,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACf,IAAI,wBAAwB,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;QAC/C,KAAK,CAAC,IAAI,CACR,wEAAwE,EACxE,uEAAuE,EACvE,wEAAwE,EACxE,wEAAwE,EACxE,gEAAgE,CACjE,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,8CAA8C;QAC9C,KAAK,CAAC,IAAI,CACR,sEAAsE,EACtE,2DAA2D,EAC3D,yEAAyE,EACzE,+BAA+B,CAChC,CAAC;IACJ,CAAC;IAED,0EAA0E;IAC1E,sEAAsE;IACtE,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,iBAAiB,CAAC;YACrC,uEAAuE;YACvE,oEAAoE;YACpE,sEAAsE;YACtE,sEAAsE;YACtE,gBAAgB,EAAE,GAAG,CAAC,OAAO;YAC7B,UAAU,EAAE,MAAM,CAAC,KAAK,CAAC,UAAU;YACnC,wEAAwE;YACxE,kEAAkE;YAClE,wDAAwD;YACxD,YAAY,EAAE,MAAM,CAAC,YAAY;SAClC,CAAC,CAAC;QACH,IAAI,MAAM;YAAE,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;IACrC,CAAC;IAAC,MAAM,CAAC;QACP,0DAA0D;IAC5D,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC;AAChD,CAAC"}
1
+ {"version":3,"file":"session-start.js","sourceRoot":"","sources":["../../../src/hooks/runtime/session-start.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,14 @@
1
1
  /**
2
2
  * Universal stdin schema sniffer.
3
3
  *
4
- * Each of the 5 supported agents sends a different JSON shape on stdin
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
+ * - Antigravity: `.conversationId` + `.workspacePaths` at every event;
10
+ * `.toolCall.{name, args}` on PreToolUse only, in either
11
+ * of its two tool vocabularies (see below)
9
12
  * - Windsurf: `.agent_action_name` + `.tool_info.{file_path, edits}`
10
13
  * - VS Code: `.hook_event_name` with PascalCase value + an ISO-8601
11
14
  * `.timestamp` (both its harnesses); older builds sent a
@@ -44,98 +47,350 @@ export function filePathFromPatch(patch) {
44
47
  }
45
48
  return '';
46
49
  }
47
- /** Concatenate `new_string` from a MultiEdit `edits` array. */
48
- function joinMultiEditNewStrings(edits) {
49
- if (!Array.isArray(edits))
50
+ /**
51
+ * Concatenate the string `field` of each entry of an edit array: `new_string`
52
+ * of a MultiEdit's (and Windsurf's) `edits`, `ReplacementContent` of
53
+ * Antigravity's `multi_replace_file_content` chunks. The array is the
54
+ * agent's data: anything that is not an array gives `''`, and an entry that
55
+ * is not an object, or whose field is not a non-empty string, is skipped.
56
+ * Never throws — guard-check sniffs before it evaluates, and a `null` entry
57
+ * read here once let a denied write through (BACK-241).
58
+ */
59
+ export function joinStringField(entries, field) {
60
+ if (!Array.isArray(entries))
50
61
  return '';
51
- return edits
52
- .map((e) => (typeof e.new_string === 'string' ? e.new_string : ''))
62
+ return entries
63
+ .map((e) => {
64
+ if (typeof e !== 'object' || e === null)
65
+ return '';
66
+ const value = e[field];
67
+ return typeof value === 'string' ? value : '';
68
+ })
53
69
  .filter((s) => s.length > 0)
54
70
  .join('\n---\n');
55
71
  }
56
- /** Concatenate Windsurf-shaped edits. */
57
- function joinWindsurfEdits(edits) {
58
- return joinMultiEditNewStrings(edits);
72
+ /**
73
+ * True for a Google Antigravity hook envelope. Every event (SessionStart,
74
+ * PreToolUse, PreInvocation, Stop, …) carries `conversationId` and
75
+ * `workspacePaths`; no other supported agent uses either field name.
76
+ */
77
+ export function isAntigravityEnvelope(input) {
78
+ return (typeof input.conversationId === 'string' &&
79
+ Array.isArray(input.workspacePaths));
59
80
  }
60
81
  /**
61
- * Pure function: maps an unparsed stdin object to a NormalizedEvent.
62
- *
63
- * Returns a NormalizedEvent with `client: 'unknown'` if no schema matches,
64
- * so the caller can early-exit without crashing.
82
+ * The arguments an Antigravity tool may name its file in, in the order they
83
+ * are read. Antigravity has two tool vocabularies and the model picks one
84
+ * (BACK-241: run 1 and run 2 of the live check, same app 2.24.0):
85
+ * - A: `write_to_file` {TargetFile, CodeContent}, `replace_file_content`
86
+ * {TargetFile, ReplacementContent}, `multi_replace_file_content`
87
+ * {TargetFile, ReplacementChunks}, `view_file` {AbsolutePath};
88
+ * - B: `write_file` {Path, Content}, `edit_file` {Path, Target,
89
+ * Replacement}, `read_file` {Path}.
90
+ * Both share `run_command` {CommandLine, Cwd?}. `FilePath`, `file_path` and
91
+ * `path` cover a tool of neither, so a name we do not know yet is still
92
+ * read as a file rather than as nothing.
65
93
  */
66
- export function sniff(input) {
67
- // ── Windsurf ─────────────────────────────────────────────────────────
68
- if (typeof input.agent_action_name === 'string') {
69
- const action = input.agent_action_name;
70
- const toolInfo = input.tool_info ?? {};
71
- const filePath = typeof toolInfo.file_path === 'string' ? toolInfo.file_path : '';
72
- const newContent = joinWindsurfEdits(toolInfo.edits);
73
- let toolName = action;
74
- if (action === 'pre_write_code' || action === 'post_write_code') {
75
- toolName = 'Write';
76
- }
77
- else if (action === 'pre_read_code' || action === 'post_read_code') {
78
- toolName = 'Read';
94
+ export const ANTIGRAVITY_PATH_ARGS = [
95
+ 'TargetFile',
96
+ 'AbsolutePath',
97
+ 'Path',
98
+ 'FilePath',
99
+ 'file_path',
100
+ 'path',
101
+ ];
102
+ /** The argument each known Antigravity file tool names its file in. */
103
+ const ANTIGRAVITY_OWN_PATH_ARG = new Map([
104
+ ['write_to_file', 'TargetFile'],
105
+ ['replace_file_content', 'TargetFile'],
106
+ ['multi_replace_file_content', 'TargetFile'],
107
+ ['view_file', 'AbsolutePath'],
108
+ ['write_file', 'Path'],
109
+ ['edit_file', 'Path'],
110
+ ['read_file', 'Path'],
111
+ ]);
112
+ /**
113
+ * The file an Antigravity tool call names, as the agent wrote it (never
114
+ * resolved): the tool's own path argument first, then the first of
115
+ * {@link ANTIGRAVITY_PATH_ARGS} that is a non-empty string; `''` when there
116
+ * is none. A tool acts on its own argument, so a call that carries another
117
+ * path argument too is read on the file it writes, and guard-check
118
+ * (readAntigravityCall) and fetch-rules read the same one. Never throws.
119
+ */
120
+ export function antigravityFilePathArg(toolName, args) {
121
+ const own = ANTIGRAVITY_OWN_PATH_ARG.get(toolName);
122
+ for (const key of own === undefined ? ANTIGRAVITY_PATH_ARGS : [own, ...ANTIGRAVITY_PATH_ARGS]) {
123
+ const value = args[key];
124
+ if (typeof value === 'string' && value.length > 0)
125
+ return value;
126
+ }
127
+ return '';
128
+ }
129
+ /**
130
+ * Every Antigravity tool name whose shape is fully known: vocabulary A/B's
131
+ * own-argument tools ({@link ANTIGRAVITY_OWN_PATH_ARG}) plus the three with
132
+ * no path argument of their own. A name outside this set is classified
133
+ * (R15, BACK-241) instead of read as a bare file target under its raw name
134
+ * — the built-in Write/Edit/MultiEdit and Read/Glob/Grep rules never match
135
+ * a raw tool name, which is how `multi_edit_file` and `delete_file` on
136
+ * `.env` both reached neither (both ALLOWED).
137
+ */
138
+ export const ANTIGRAVITY_KNOWN_TOOLS = new Set([
139
+ ...ANTIGRAVITY_OWN_PATH_ARG.keys(),
140
+ 'run_command',
141
+ 'read_url_content',
142
+ 'call_mcp_tool',
143
+ ]);
144
+ /** An argument key signalling the call carries new file content (R15). */
145
+ const ANTIGRAVITY_CONTENT_KEY_RE = /content|replacement|chunk|edit|patch|diff/i;
146
+ /**
147
+ * Write when a call to a tool outside {@link ANTIGRAVITY_KNOWN_TOOLS}
148
+ * carries, in any argument OTHER than the six path fields
149
+ * ({@link ANTIGRAVITY_PATH_ARGS}), a key matching
150
+ * `/content|replacement|chunk|edit|patch|diff/i`; Read otherwise (R15,
151
+ * BACK-241: `multi_edit_file {Path, Edits}` is a Write, `delete_file
152
+ * {Path}` is a Read — neither is a vocabulary A/B tool, and both must
153
+ * still reach the built-in `.env` rules, which are scoped to canonical
154
+ * tool names, never a raw one). Shared by sniff and guard-check's
155
+ * readAntigravityCall so a name neither reads is gated the same way both
156
+ * read it. Never throws.
157
+ */
158
+ export function classifyUnknownAntigravityTool(args) {
159
+ const pathKeys = new Set(ANTIGRAVITY_PATH_ARGS);
160
+ for (const key of Object.keys(args)) {
161
+ if (pathKeys.has(key))
162
+ continue;
163
+ if (ANTIGRAVITY_CONTENT_KEY_RE.test(key))
164
+ return 'Write';
165
+ }
166
+ return 'Read';
167
+ }
168
+ /**
169
+ * The first string value of a content-like argument
170
+ * {@link classifyUnknownAntigravityTool} classified Write for — the
171
+ * `newContent` of an unknown tool's write. `''` when the call carries none
172
+ * (an `Edits` array, say): the call is still a write, with no single
173
+ * string to show.
174
+ */
175
+ export function unknownAntigravityContent(args) {
176
+ const pathKeys = new Set(ANTIGRAVITY_PATH_ARGS);
177
+ for (const key of Object.keys(args)) {
178
+ if (pathKeys.has(key))
179
+ continue;
180
+ if (!ANTIGRAVITY_CONTENT_KEY_RE.test(key))
181
+ continue;
182
+ const value = args[key];
183
+ if (typeof value === 'string' && value.length > 0)
184
+ return value;
185
+ }
186
+ return '';
187
+ }
188
+ /**
189
+ * Every distinct, non-empty string value among {@link ANTIGRAVITY_PATH_ARGS},
190
+ * in that field order. A known tool names its file in exactly one of them;
191
+ * an unknown one (R15, BACK-241) may fill more than one — `save_file
192
+ * {TargetFile: 'ok.txt', Path: '.env'}` names two files, and guard-check
193
+ * gates every one of them.
194
+ */
195
+ export function antigravityAllPathArgs(args) {
196
+ const seen = new Set();
197
+ const out = [];
198
+ for (const key of ANTIGRAVITY_PATH_ARGS) {
199
+ const value = args[key];
200
+ if (typeof value === 'string' && value.length > 0 && !seen.has(value)) {
201
+ seen.add(value);
202
+ out.push(value);
79
203
  }
204
+ }
205
+ return out;
206
+ }
207
+ /** A path arg, resolved against `w` when relative. `''` stays `''`. */
208
+ function resolveAntigravityTargetFile(value, w) {
209
+ return value.length > 0 ? resolveWriteTarget(w, value) : '';
210
+ }
211
+ /** `value` when it is a string, else `''`. */
212
+ function stringArg(value) {
213
+ return typeof value === 'string' ? value : '';
214
+ }
215
+ /**
216
+ * Maps an Antigravity envelope to a NormalizedEvent. Every event shares the
217
+ * same top-level shape (`conversationId`, `workspacePaths`, …); only
218
+ * PreToolUse carries a `toolCall`, so SessionStart / PreInvocation / Stop
219
+ * normalise to an empty tool with no file.
220
+ */
221
+ function extractAntigravityShape(input) {
222
+ const workspacePaths = Array.isArray(input.workspacePaths)
223
+ ? input.workspacePaths
224
+ : [];
225
+ const w = workspacePaths.find((p) => typeof p === 'string' && p.length > 0) ?? process.cwd();
226
+ const toolCall = typeof input.toolCall === 'object' && input.toolCall !== null
227
+ ? input.toolCall
228
+ : undefined;
229
+ if (toolCall === undefined) {
80
230
  return {
81
- client: 'windsurf',
82
- toolName,
83
- filePath,
84
- filePaths: filePath ? [filePath] : [],
85
- newContent,
231
+ client: 'antigravity',
232
+ toolName: '',
233
+ filePath: '',
234
+ filePaths: [],
235
+ newContent: '',
86
236
  raw: input,
87
237
  };
88
238
  }
239
+ const name = typeof toolCall.name === 'string' ? toolCall.name : '';
240
+ const args = toolCall.args ?? {};
241
+ let toolName = name;
242
+ let filePath = resolveAntigravityTargetFile(antigravityFilePathArg(name, args), w);
243
+ let filePaths = [];
244
+ let newContent = '';
245
+ // Both vocabularies (ANTIGRAVITY_PATH_ARGS), each on its own content field.
246
+ switch (name) {
247
+ case 'write_to_file':
248
+ toolName = 'Write';
249
+ newContent = stringArg(args.CodeContent);
250
+ break;
251
+ case 'write_file':
252
+ toolName = 'Write';
253
+ newContent = stringArg(args.Content);
254
+ break;
255
+ case 'replace_file_content':
256
+ toolName = 'Edit';
257
+ newContent = stringArg(args.ReplacementContent);
258
+ break;
259
+ case 'edit_file':
260
+ toolName = 'Edit';
261
+ newContent = stringArg(args.Replacement);
262
+ break;
263
+ case 'multi_replace_file_content':
264
+ toolName = 'MultiEdit';
265
+ newContent = joinStringField(args.ReplacementChunks, 'ReplacementContent');
266
+ break;
267
+ case 'run_command': {
268
+ toolName = 'Bash';
269
+ const command = typeof args.CommandLine === 'string' ? args.CommandLine : '';
270
+ newContent = command;
271
+ const cwd = typeof args.Cwd === 'string' && args.Cwd.length > 0 ? args.Cwd : w;
272
+ filePaths = extractShellWriteTargets(command).map((t) => resolveWriteTarget(cwd, t));
273
+ filePath = filePaths[0] ?? '';
274
+ break;
275
+ }
276
+ default:
277
+ // view_file / read_file / read_url_content / call_mcp_tool keep their
278
+ // raw name, with the file read above: none is a write tool, so
279
+ // fetch-rules stays silent on them. A name outside every known tool
280
+ // (R15, BACK-241) that still names a file is classified instead of
281
+ // left under its raw name: Write gets the canonical name, so
282
+ // fetch-rules and the end-of-session review treat it like one; Read
283
+ // keeps its raw name, same as the tools above.
284
+ if (name && filePath && !ANTIGRAVITY_KNOWN_TOOLS.has(name)) {
285
+ if (classifyUnknownAntigravityTool(args) === 'Write') {
286
+ toolName = 'Write';
287
+ newContent = unknownAntigravityContent(args);
288
+ }
289
+ }
290
+ break;
291
+ }
292
+ if (filePaths.length === 0 && filePath)
293
+ filePaths = [filePath];
294
+ return { client: 'antigravity', toolName, filePath, filePaths, newContent, raw: input };
295
+ }
296
+ /**
297
+ * Which agent sent this envelope, from the fields that name it only (never
298
+ * the tool's arguments), in the order of the schema cheat sheet above.
299
+ * Never throws on a JSON object. `sniff` branches on it; guard-check also
300
+ * calls it on its own when `sniff` fails, so a crash while reading a tool's
301
+ * arguments still leaves it knowing who to answer, and how (BACK-241).
302
+ */
303
+ export function detectClient(input) {
304
+ // ── Antigravity ──────────────────────────────────────────────────────
305
+ // Checked first: its envelope carries no `hook_event_name` /
306
+ // `hookEventName` / `agent_action_name`, but putting it ahead of those
307
+ // keeps the schema cheat sheet above in the same order as the branches.
308
+ if (isAntigravityEnvelope(input))
309
+ return 'antigravity';
310
+ // ── Windsurf ─────────────────────────────────────────────────────────
311
+ if (typeof input.agent_action_name === 'string')
312
+ return 'windsurf';
89
313
  // ── VS Code Copilot ──────────────────────────────────────────────────
90
314
  // VS Code uses camelCase field name `hookEventName` (distinct from
91
315
  // Claude Code/Cursor/Codex's snake_case `hook_event_name`).
92
- if ('hookEventName' in input) {
93
- return extractToolInputShape(input, 'vscode');
94
- }
316
+ if ('hookEventName' in input)
317
+ return 'vscode';
95
318
  // ── Cursor / Codex / Claude Code (shared shape) ──────────────────────
96
319
  if ('hook_event_name' in input) {
97
320
  const evt = typeof input.hook_event_name === 'string' ? input.hook_event_name : '';
98
- let client;
99
- if (/^[a-z]/.test(evt)) {
100
- // Cursor uses camelCase event values (`preToolUse`).
101
- client = 'cursor';
102
- }
103
- else {
104
- // Codex emits `apply_patch` as a tool name (with patch payload);
105
- // Claude Code uses Edit/Write/MultiEdit. Both send `Bash` for shell
106
- // commands, so tool_name alone cannot tell them apart there — Codex's
107
- // envelope carries a `turn_id` (its documented extension), Claude
108
- // Code's does not (observed on Codex 0.142 / Claude Code 2.1.267).
109
- //
110
- // VS Code Copilot, configured with PascalCase events (our
111
- // `~/.copilot/hooks/cybedefend.json`), sends this same snake_case shape
112
- // and even Claude tool names — but always with an ISO-8601
113
- // `timestamp`, a field neither Claude Code nor Codex sends. Its
114
- // output contract differs (see emit.ts), so it must not pass as
115
- // Claude Code.
116
- const toolName = typeof input.tool_name === 'string' ? input.tool_name : '';
117
- if (toolName === 'apply_patch' || 'turn_id' in input) {
118
- client = 'codex';
119
- }
120
- else if (hasIsoTimestamp(input)) {
121
- client = 'vscode';
122
- }
123
- else {
124
- client = 'claude-code';
125
- }
126
- }
127
- return extractToolInputShape(input, client);
321
+ // Cursor uses camelCase event values (`preToolUse`).
322
+ if (/^[a-z]/.test(evt))
323
+ return 'cursor';
324
+ // Codex emits `apply_patch` as a tool name (with patch payload);
325
+ // Claude Code uses Edit/Write/MultiEdit. Both send `Bash` for shell
326
+ // commands, so tool_name alone cannot tell them apart there — Codex's
327
+ // envelope carries a `turn_id` (its documented extension), Claude
328
+ // Code's does not (observed on Codex 0.142 / Claude Code 2.1.267).
329
+ //
330
+ // VS Code Copilot, configured with PascalCase events (our
331
+ // `~/.copilot/hooks/cybedefend.json`), sends this same snake_case shape
332
+ // and even Claude tool names — but always with an ISO-8601
333
+ // `timestamp`, a field neither Claude Code nor Codex sends. Its
334
+ // output contract differs (see emit.ts), so it must not pass as
335
+ // Claude Code.
336
+ const toolName = typeof input.tool_name === 'string' ? input.tool_name : '';
337
+ if (toolName === 'apply_patch' || 'turn_id' in input)
338
+ return 'codex';
339
+ if (hasIsoTimestamp(input))
340
+ return 'vscode';
341
+ return 'claude-code';
128
342
  }
129
343
  // ── Nothing matched ──────────────────────────────────────────────────
344
+ return 'unknown';
345
+ }
346
+ /** Maps a Windsurf envelope (`agent_action_name` + `tool_info`) to a NormalizedEvent. */
347
+ function extractWindsurfShape(input) {
348
+ const action = input.agent_action_name;
349
+ const toolInfo = input.tool_info ?? {};
350
+ const filePath = typeof toolInfo.file_path === 'string' ? toolInfo.file_path : '';
351
+ const newContent = joinStringField(toolInfo.edits, 'new_string');
352
+ let toolName = action;
353
+ if (action === 'pre_write_code' || action === 'post_write_code') {
354
+ toolName = 'Write';
355
+ }
356
+ else if (action === 'pre_read_code' || action === 'post_read_code') {
357
+ toolName = 'Read';
358
+ }
130
359
  return {
131
- client: 'unknown',
132
- toolName: '',
133
- filePath: '',
134
- filePaths: [],
135
- newContent: '',
360
+ client: 'windsurf',
361
+ toolName,
362
+ filePath,
363
+ filePaths: filePath ? [filePath] : [],
364
+ newContent,
136
365
  raw: input,
137
366
  };
138
367
  }
368
+ /**
369
+ * Pure function: maps an unparsed stdin object to a NormalizedEvent.
370
+ *
371
+ * Returns a NormalizedEvent with `client: 'unknown'` if no schema matches,
372
+ * so the caller can early-exit without crashing.
373
+ */
374
+ export function sniff(input) {
375
+ const client = detectClient(input);
376
+ switch (client) {
377
+ case 'antigravity':
378
+ return extractAntigravityShape(input);
379
+ case 'windsurf':
380
+ return extractWindsurfShape(input);
381
+ case 'unknown':
382
+ return {
383
+ client: 'unknown',
384
+ toolName: '',
385
+ filePath: '',
386
+ filePaths: [],
387
+ newContent: '',
388
+ raw: input,
389
+ };
390
+ default:
391
+ return extractToolInputShape(input, client);
392
+ }
393
+ }
139
394
  /** VS Code's snake_case payloads carry `timestamp` as an ISO-8601 string. */
140
395
  function hasIsoTimestamp(input) {
141
396
  return (typeof input.timestamp === 'string' &&
@@ -176,7 +431,7 @@ function extractToolInputShape(input, client) {
176
431
  typeof toolInput.new_string === 'string' ? toolInput.new_string : '';
177
432
  break;
178
433
  case 'MultiEdit':
179
- newContent = joinMultiEditNewStrings(toolInput.edits);
434
+ newContent = joinStringField(toolInput.edits, 'new_string');
180
435
  break;
181
436
  case 'apply_patch': {
182
437
  // Codex hands the patch text in `tool_input.command` (its docs: "for
@@ -1 +1 @@
1
- {"version":3,"file":"sniff.js","sourceRoot":"","sources":["../../../src/hooks/runtime/sniff.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sniff.js","sourceRoot":"","sources":["../../../src/hooks/runtime/sniff.ts"],"names":[],"mappings":"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"}