@agent-beam/beam 0.2.38 → 0.2.39

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 (109) hide show
  1. package/README.md +7 -13
  2. package/dist/access-risk.d.ts +10 -0
  3. package/dist/access-risk.js +43 -0
  4. package/dist/access-risk.js.map +1 -0
  5. package/dist/action-context.d.ts +30 -0
  6. package/dist/action-context.js +203 -0
  7. package/dist/action-context.js.map +1 -0
  8. package/dist/activity.d.ts +22 -0
  9. package/dist/activity.js +132 -0
  10. package/dist/activity.js.map +1 -0
  11. package/dist/agent-hook-install.d.ts +8 -0
  12. package/dist/agent-hook-install.js +278 -0
  13. package/dist/agent-hook-install.js.map +1 -0
  14. package/dist/agent-installers.js +16 -3
  15. package/dist/agent-installers.js.map +1 -1
  16. package/dist/agent-plugins.d.ts +3 -0
  17. package/dist/agent-plugins.js +66 -0
  18. package/dist/agent-plugins.js.map +1 -0
  19. package/dist/agents.d.ts +1 -0
  20. package/dist/agents.js +30 -184
  21. package/dist/agents.js.map +1 -1
  22. package/dist/behavioral-anomaly.d.ts +16 -0
  23. package/dist/behavioral-anomaly.js +66 -0
  24. package/dist/behavioral-anomaly.js.map +1 -0
  25. package/dist/cli.js +13 -8
  26. package/dist/cli.js.map +1 -1
  27. package/dist/client.d.ts +1 -1
  28. package/dist/client.js +177 -78
  29. package/dist/client.js.map +1 -1
  30. package/dist/core.d.ts +50 -2
  31. package/dist/core.js +73 -24
  32. package/dist/core.js.map +1 -1
  33. package/dist/credential-egress.d.ts +17 -0
  34. package/dist/credential-egress.js +325 -0
  35. package/dist/credential-egress.js.map +1 -0
  36. package/dist/custom-rules.js +2 -1
  37. package/dist/custom-rules.js.map +1 -1
  38. package/dist/data-detectors.js +60 -4
  39. package/dist/data-detectors.js.map +1 -1
  40. package/dist/destructive-risk.d.ts +1 -0
  41. package/dist/destructive-risk.js +70 -0
  42. package/dist/destructive-risk.js.map +1 -0
  43. package/dist/edit-stats.js +5 -5
  44. package/dist/edit-stats.js.map +1 -1
  45. package/dist/entity-redaction.d.ts +11 -0
  46. package/dist/entity-redaction.js +88 -0
  47. package/dist/entity-redaction.js.map +1 -0
  48. package/dist/file-lock.d.ts +1 -0
  49. package/dist/file-lock.js +54 -0
  50. package/dist/file-lock.js.map +1 -0
  51. package/dist/forward.d.ts +13 -6
  52. package/dist/forward.js +120 -42
  53. package/dist/forward.js.map +1 -1
  54. package/dist/hook-adapters.d.ts +2 -2
  55. package/dist/hook-adapters.js +59 -60
  56. package/dist/hook-adapters.js.map +1 -1
  57. package/dist/hook-catalog.d.ts +12 -0
  58. package/dist/hook-catalog.js +469 -0
  59. package/dist/hook-catalog.js.map +1 -0
  60. package/dist/hook-config.d.ts +8 -0
  61. package/dist/hook-config.js +80 -0
  62. package/dist/hook-config.js.map +1 -0
  63. package/dist/hook-spool.d.ts +3 -0
  64. package/dist/hook-spool.js +56 -0
  65. package/dist/hook-spool.js.map +1 -0
  66. package/dist/install.d.ts +5 -5
  67. package/dist/install.js +48 -199
  68. package/dist/install.js.map +1 -1
  69. package/dist/inventory.js +1 -1
  70. package/dist/inventory.js.map +1 -1
  71. package/dist/jev.js +2 -1
  72. package/dist/jev.js.map +1 -1
  73. package/dist/judge.js +2 -1
  74. package/dist/judge.js.map +1 -1
  75. package/dist/mitigation-pattern.d.ts +1 -0
  76. package/dist/mitigation-pattern.js +140 -0
  77. package/dist/mitigation-pattern.js.map +1 -0
  78. package/dist/package-risk-rules.js +2 -2
  79. package/dist/package-risk-rules.js.map +1 -1
  80. package/dist/policy-paths.d.ts +20 -0
  81. package/dist/policy-paths.js +145 -0
  82. package/dist/policy-paths.js.map +1 -0
  83. package/dist/policy.d.ts +5 -0
  84. package/dist/policy.js +78 -10
  85. package/dist/policy.js.map +1 -1
  86. package/dist/rule-catalog.d.ts +3 -1
  87. package/dist/rule-catalog.js +124 -24
  88. package/dist/rule-catalog.js.map +1 -1
  89. package/dist/rule-matches.d.ts +13 -0
  90. package/dist/rule-matches.js +42 -0
  91. package/dist/rule-matches.js.map +1 -0
  92. package/dist/serve.js +55 -5
  93. package/dist/serve.js.map +1 -1
  94. package/dist/server.js +7 -6
  95. package/dist/server.js.map +1 -1
  96. package/dist/setup.js +5 -3
  97. package/dist/setup.js.map +1 -1
  98. package/dist/skill-risk-rules.js +2 -2
  99. package/dist/skill-risk-rules.js.map +1 -1
  100. package/dist/skill-setup.js +4 -5
  101. package/dist/skill-setup.js.map +1 -1
  102. package/dist/skill-sync.d.ts +5 -1
  103. package/dist/skill-sync.js +115 -14
  104. package/dist/skill-sync.js.map +1 -1
  105. package/dist/store.js +6 -9
  106. package/dist/store.js.map +1 -1
  107. package/dist/studio.js +2 -2
  108. package/package.json +5 -2
  109. package/stress-report.json +46 -46
@@ -1 +1 @@
1
- {"version":3,"file":"hook-adapters.js","sourceRoot":"","sources":["../src/hook-adapters.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hook-adapters.js","sourceRoot":"","sources":["../src/hook-adapters.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ export type HookFormat = "claude" | "cursor" | "copilot" | "vscode" | "windsurf" | "toml" | "scripts" | "auggie" | "kiro" | "goose" | "project" | "flat" | "antigravity" | "top" | "yaml" | "plugin";
2
+ export interface HookSpec {
3
+ id: string;
4
+ name: string;
5
+ path: string;
6
+ format: HookFormat;
7
+ detect: string;
8
+ events: string[];
9
+ }
10
+ export declare const HOOK_CATALOG: HookSpec[];
11
+ export declare function hookSpec(id: string): HookSpec | undefined;
12
+ export declare function hookKind(event: string): "pre" | "post" | "failure" | "prompt" | "permission" | "session" | "assistant" | "other";
@@ -0,0 +1,469 @@
1
+ export const HOOK_CATALOG = [
2
+ {
3
+ "id": "claude-code",
4
+ "name": "Claude Code",
5
+ "path": ".claude/settings.json",
6
+ "format": "claude",
7
+ "detect": ".claude",
8
+ "events": [
9
+ "SessionStart",
10
+ "UserPromptSubmit",
11
+ "PreToolUse",
12
+ "PostToolUse",
13
+ "PostToolUseFailure",
14
+ "PermissionRequest",
15
+ "PermissionDenied",
16
+ "Stop",
17
+ "SessionEnd",
18
+ "SubagentStart",
19
+ "SubagentStop"
20
+ ]
21
+ },
22
+ {
23
+ "id": "codex",
24
+ "name": "Codex",
25
+ "path": ".codex/hooks.json",
26
+ "format": "claude",
27
+ "detect": ".codex",
28
+ "events": [
29
+ "SessionStart",
30
+ "UserPromptSubmit",
31
+ "PreToolUse",
32
+ "PostToolUse",
33
+ "PermissionRequest",
34
+ "SubagentStart",
35
+ "SubagentStop",
36
+ "Stop"
37
+ ]
38
+ },
39
+ {
40
+ "id": "cursor",
41
+ "name": "Cursor",
42
+ "path": ".cursor/hooks.json",
43
+ "format": "cursor",
44
+ "detect": ".cursor",
45
+ "events": [
46
+ "beforeSubmitPrompt",
47
+ "preToolUse",
48
+ "beforeReadFile",
49
+ "postToolUse",
50
+ "postToolUseFailure",
51
+ "stop",
52
+ "sessionStart",
53
+ "sessionEnd",
54
+ "subagentStart",
55
+ "subagentStop"
56
+ ]
57
+ },
58
+ {
59
+ "id": "copilot-cli",
60
+ "name": "GitHub Copilot CLI",
61
+ "path": ".copilot/hooks/beam.json",
62
+ "format": "copilot",
63
+ "detect": ".copilot",
64
+ "events": [
65
+ "sessionStart",
66
+ "userPromptSubmitted",
67
+ "preToolUse",
68
+ "postToolUse",
69
+ "postToolUseFailure",
70
+ "permissionRequest",
71
+ "agentStop",
72
+ "subagentStart",
73
+ "subagentStop",
74
+ "sessionEnd"
75
+ ]
76
+ },
77
+ {
78
+ "id": "gemini",
79
+ "name": "Gemini CLI",
80
+ "path": ".gemini/settings.json",
81
+ "format": "claude",
82
+ "detect": ".gemini",
83
+ "events": [
84
+ "SessionStart",
85
+ "BeforeAgent",
86
+ "BeforeTool",
87
+ "AfterTool",
88
+ "AfterAgent",
89
+ "SessionEnd"
90
+ ]
91
+ },
92
+ {
93
+ "id": "windsurf",
94
+ "name": "Windsurf / Devin Desktop",
95
+ "path": ".codeium/windsurf/hooks.json",
96
+ "format": "windsurf",
97
+ "detect": ".windsurf",
98
+ "events": [
99
+ "pre_user_prompt",
100
+ "pre_read_code",
101
+ "post_read_code",
102
+ "pre_write_code",
103
+ "post_write_code",
104
+ "pre_run_command",
105
+ "post_run_command",
106
+ "pre_mcp_tool_use",
107
+ "post_mcp_tool_use",
108
+ "post_cascade_response"
109
+ ]
110
+ },
111
+ {
112
+ "id": "vscode",
113
+ "name": "VS Code Copilot Chat",
114
+ "path": ".copilot/hooks/beam.json",
115
+ "format": "vscode",
116
+ "detect": ".vscode",
117
+ "events": [
118
+ "sessionStart",
119
+ "userPromptSubmitted",
120
+ "preToolUse",
121
+ "postToolUse",
122
+ "postToolUseFailure",
123
+ "permissionRequest",
124
+ "agentStop",
125
+ "subagentStart",
126
+ "subagentStop",
127
+ "sessionEnd"
128
+ ]
129
+ },
130
+ {
131
+ "id": "kimi",
132
+ "name": "Kimi Code",
133
+ "path": ".kimi-code/config.toml",
134
+ "format": "toml",
135
+ "detect": ".kimi-code",
136
+ "events": [
137
+ "SessionStart",
138
+ "UserPromptSubmit",
139
+ "PreToolUse",
140
+ "PostToolUse",
141
+ "PostToolUseFailure",
142
+ "PermissionRequest",
143
+ "PermissionResult",
144
+ "Stop",
145
+ "SessionEnd",
146
+ "SubagentStart",
147
+ "SubagentStop"
148
+ ]
149
+ },
150
+ {
151
+ "id": "qwen",
152
+ "name": "Qwen Code",
153
+ "path": ".qwen/settings.json",
154
+ "format": "claude",
155
+ "detect": ".qwen",
156
+ "events": [
157
+ "SessionStart",
158
+ "UserPromptSubmit",
159
+ "PreToolUse",
160
+ "PostToolUse",
161
+ "PostToolUseFailure",
162
+ "PermissionRequest",
163
+ "PermissionDenied",
164
+ "Stop",
165
+ "SessionEnd",
166
+ "SubagentStart",
167
+ "SubagentStop"
168
+ ]
169
+ },
170
+ {
171
+ "id": "cline",
172
+ "name": "Cline CLI",
173
+ "path": ".cline/hooks",
174
+ "format": "scripts",
175
+ "detect": ".cline",
176
+ "events": [
177
+ "TaskStart",
178
+ "TaskResume",
179
+ "UserPromptSubmit",
180
+ "PreToolUse",
181
+ "PostToolUse",
182
+ "TaskComplete",
183
+ "TaskCancel",
184
+ "TaskError",
185
+ "SessionShutdown"
186
+ ]
187
+ },
188
+ {
189
+ "id": "auggie",
190
+ "name": "Auggie",
191
+ "path": ".augment/settings.json",
192
+ "format": "auggie",
193
+ "detect": ".augment",
194
+ "events": [
195
+ "SessionStart",
196
+ "PreToolUse",
197
+ "PostToolUse",
198
+ "Stop",
199
+ "SessionEnd"
200
+ ]
201
+ },
202
+ {
203
+ "id": "kiro",
204
+ "name": "Kiro",
205
+ "path": ".kiro/hooks/beam.json",
206
+ "format": "kiro",
207
+ "detect": ".kiro",
208
+ "events": [
209
+ "SessionStart",
210
+ "UserPromptSubmit",
211
+ "PreToolUse",
212
+ "PostToolUse",
213
+ "Stop",
214
+ "SessionEnd"
215
+ ]
216
+ },
217
+ {
218
+ "id": "goose",
219
+ "name": "Goose",
220
+ "path": ".agents/plugins/beam/hooks/hooks.json",
221
+ "format": "goose",
222
+ "detect": ".config/goose",
223
+ "events": [
224
+ "SessionStart",
225
+ "UserPromptSubmit",
226
+ "PreToolUse",
227
+ "PostToolUse",
228
+ "PostToolUseFailure",
229
+ "Stop",
230
+ "SessionEnd"
231
+ ]
232
+ },
233
+ {
234
+ "id": "openhands",
235
+ "name": "OpenHands",
236
+ "path": ".openhands/hooks.json",
237
+ "format": "project",
238
+ "detect": ".openhands",
239
+ "events": [
240
+ "SessionStart",
241
+ "UserPromptSubmit",
242
+ "PreToolUse",
243
+ "PostToolUse",
244
+ "Stop",
245
+ "SessionEnd"
246
+ ]
247
+ },
248
+ {
249
+ "id": "crush",
250
+ "name": "Crush",
251
+ "path": ".config/crush/crush.json",
252
+ "format": "flat",
253
+ "detect": ".config/crush",
254
+ "events": [
255
+ "PreToolUse"
256
+ ]
257
+ },
258
+ {
259
+ "id": "junie",
260
+ "name": "Junie CLI",
261
+ "path": ".junie/config.json",
262
+ "format": "claude",
263
+ "detect": ".junie",
264
+ "events": [
265
+ "SessionStart",
266
+ "UserPromptSubmit",
267
+ "PreToolUse",
268
+ "Stop",
269
+ "SessionEnd"
270
+ ]
271
+ },
272
+ {
273
+ "id": "antigravity",
274
+ "name": "Antigravity",
275
+ "path": ".gemini/config/hooks.json",
276
+ "format": "antigravity",
277
+ "detect": ".gemini/antigravity",
278
+ "events": [
279
+ "PreToolUse",
280
+ "PostToolUse",
281
+ "Stop"
282
+ ]
283
+ },
284
+ {
285
+ "id": "factory",
286
+ "name": "Factory Droid",
287
+ "path": ".factory/hooks.json",
288
+ "format": "top",
289
+ "detect": ".factory",
290
+ "events": [
291
+ "SessionStart",
292
+ "UserPromptSubmit",
293
+ "PreToolUse",
294
+ "PostToolUse",
295
+ "Stop",
296
+ "SubagentStop",
297
+ "SessionEnd"
298
+ ]
299
+ },
300
+ {
301
+ "id": "grok",
302
+ "name": "Grok Build",
303
+ "path": ".grok/hooks/beam.json",
304
+ "format": "top",
305
+ "detect": ".grok",
306
+ "events": [
307
+ "SessionStart",
308
+ "UserPromptSubmit",
309
+ "PreToolUse",
310
+ "PostToolUse",
311
+ "PostToolUseFailure",
312
+ "PermissionDenied",
313
+ "SubagentStart",
314
+ "SubagentStop",
315
+ "Stop",
316
+ "SessionEnd"
317
+ ]
318
+ },
319
+ {
320
+ "id": "devin",
321
+ "name": "Devin CLI",
322
+ "path": ".config/devin/config.json",
323
+ "format": "claude",
324
+ "detect": ".config/devin",
325
+ "events": [
326
+ "SessionStart",
327
+ "UserPromptSubmit",
328
+ "PreToolUse",
329
+ "PermissionRequest",
330
+ "PostToolUse",
331
+ "Stop",
332
+ "SessionEnd"
333
+ ]
334
+ },
335
+ {
336
+ "id": "hermes",
337
+ "name": "Hermes Agent",
338
+ "path": ".hermes/config.yaml",
339
+ "format": "yaml",
340
+ "detect": ".hermes",
341
+ "events": [
342
+ "on_session_start",
343
+ "pre_llm_call",
344
+ "post_llm_call",
345
+ "pre_tool_call",
346
+ "post_tool_call",
347
+ "pre_approval_request",
348
+ "post_approval_response",
349
+ "subagent_start",
350
+ "subagent_stop",
351
+ "on_session_finalize"
352
+ ]
353
+ },
354
+ {
355
+ "id": "muse",
356
+ "name": "Muse Code",
357
+ "path": ".config/muse/settings.json",
358
+ "format": "claude",
359
+ "detect": ".config/muse",
360
+ "events": [
361
+ "SessionStart",
362
+ "UserPromptSubmit",
363
+ "PreToolUse",
364
+ "PostToolUse",
365
+ "PostToolUseFailure",
366
+ "SubagentStart",
367
+ "SubagentStop",
368
+ "Stop",
369
+ "SessionEnd"
370
+ ]
371
+ },
372
+ {
373
+ "id": "opencode",
374
+ "name": "OpenCode",
375
+ "path": ".config/opencode/plugins/beam.ts",
376
+ "format": "plugin",
377
+ "detect": ".config/opencode",
378
+ "events": [
379
+ "chat.message",
380
+ "tool.execute.before",
381
+ "tool.execute.after",
382
+ "session.created",
383
+ "session.deleted",
384
+ "message.updated"
385
+ ]
386
+ },
387
+ {
388
+ "id": "kilo",
389
+ "name": "Kilo Code",
390
+ "path": ".config/kilo/plugin/beam.ts",
391
+ "format": "plugin",
392
+ "detect": ".config/kilo",
393
+ "events": [
394
+ "chat.message",
395
+ "tool.execute.before",
396
+ "tool.execute.after",
397
+ "session.created",
398
+ "session.deleted",
399
+ "message.updated"
400
+ ]
401
+ },
402
+ {
403
+ "id": "pi",
404
+ "name": "Pi",
405
+ "path": ".pi/agent/extensions/beam.ts",
406
+ "format": "plugin",
407
+ "detect": ".pi/agent",
408
+ "events": [
409
+ "session_start",
410
+ "before_agent_start",
411
+ "tool_call",
412
+ "tool_result",
413
+ "message_end",
414
+ "session_shutdown"
415
+ ]
416
+ },
417
+ {
418
+ "id": "amp",
419
+ "name": "Amp",
420
+ "path": ".config/amp/plugins/beam.ts",
421
+ "format": "plugin",
422
+ "detect": ".config/amp",
423
+ "events": [
424
+ "session.start",
425
+ "agent.start",
426
+ "tool.call",
427
+ "tool.result",
428
+ "agent.end"
429
+ ]
430
+ },
431
+ {
432
+ "id": "openclaw",
433
+ "name": "OpenClaw",
434
+ "path": "",
435
+ "format": "plugin",
436
+ "detect": ".openclaw",
437
+ "events": [
438
+ "before_tool_call",
439
+ "after_tool_call",
440
+ "session_start",
441
+ "session_end",
442
+ "message_received",
443
+ "message_sent",
444
+ "subagent_spawned",
445
+ "subagent_ended"
446
+ ]
447
+ }
448
+ ];
449
+ export function hookSpec(id) { return HOOK_CATALOG.find(s => s.id === id); }
450
+ const key = (event) => event.toLowerCase().replace(/[._-]/g, "");
451
+ export function hookKind(event) {
452
+ const name = key(event);
453
+ if (["pretooluse", "beforetool", "pretoolcall", "beforetoolcall", "toolcall", "toolexecutebefore", "prereadcode", "prewritecode", "preruncommand", "premcptooluse", "beforereadfile"].includes(name))
454
+ return "pre";
455
+ if (name.includes("failure") || name === "toolerror")
456
+ return "failure";
457
+ if (["posttooluse", "aftertool", "posttoolcall", "aftertoolcall", "toolresult", "toolexecuteafter", "postreadcode", "postwritecode", "postruncommand", "postmcptooluse"].includes(name))
458
+ return "post";
459
+ if (["userpromptsubmit", "userpromptsubmitted", "beforesubmitprompt", "beforeagent", "beforeagentstart", "preuserprompt", "chatmessage", "agentstart", "prellmcall", "messagereceived"].includes(name))
460
+ return "prompt";
461
+ if (/permission|approval/.test(name))
462
+ return "permission";
463
+ if (/session|subagent|task/.test(name))
464
+ return "session";
465
+ if (["stop", "agentstop", "agentend", "afteragent", "postllmcall", "postcascaderesponse", "messageend", "messageupdated", "messagesent"].includes(name))
466
+ return "assistant";
467
+ return "other";
468
+ }
469
+ //# sourceMappingURL=hook-catalog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hook-catalog.js","sourceRoot":"","sources":["../src/hook-catalog.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import { type HookSpec } from './hook-catalog.js';
2
+ import type { Obj } from './agents.js';
3
+ export declare function object(value: unknown): Obj;
4
+ export declare function eventCommand(command: string, event: string): string;
5
+ export declare function ownsHook(command: string, agent: string): boolean;
6
+ export declare function mergeHookSpec(spec: HookSpec, existing: Obj, command: string): Obj;
7
+ export declare function unmergeHookSpec(spec: HookSpec, existing: Obj, own: (command: string) => boolean): Obj;
8
+ export declare function hookCommands(spec: HookSpec, existing: Obj): string[];
@@ -0,0 +1,80 @@
1
+ export function object(value) {
2
+ if (value === undefined)
3
+ return {};
4
+ if (!value || typeof value !== 'object' || Array.isArray(value))
5
+ throw new Error('Expected a configuration object.');
6
+ return value;
7
+ }
8
+ function list(value) {
9
+ if (value === undefined)
10
+ return [];
11
+ if (!Array.isArray(value))
12
+ throw new Error('Expected a hook array; existing configuration was not changed.');
13
+ return value.map(object);
14
+ }
15
+ export function eventCommand(command, event) { return `${command} --event ${JSON.stringify(event)}`; }
16
+ export function ownsHook(command, agent) {
17
+ const ids = agent === 'vscode' || agent === 'copilot-cli' ? '(?:vscode|copilot-cli)' : agent;
18
+ return (command.startsWith('beam ') || command.includes('cli.js')) && new RegExp(` hook ${ids}(?: --event ["']?[\\w.:-]+["']?)?$`).test(command);
19
+ }
20
+ export function mergeHookSpec(spec, existing, command) {
21
+ const base = unmergeHookSpec(spec, existing, c => ownsHook(c, spec.id));
22
+ if (spec.format === 'kiro') {
23
+ return { ...base, version: base.version ?? 'v1', hooks: [...list(base.hooks), ...spec.events.map(event => ({ name: `beam-${event}`, description: 'Beam activity capture', trigger: event, ...(event.includes('Tool') ? { matcher: '.*' } : {}), action: { type: 'command', command: eventCommand(command, event) }, timeout: 30, enabled: true }))] };
24
+ }
25
+ const top = spec.format === 'top';
26
+ const anti = spec.format === 'antigravity';
27
+ const hooks = top ? { ...base } : { ...object(anti ? base.beam : base.hooks) };
28
+ // VS Code and Copilot share a native lower-camel file; one registration handles both hosts.
29
+ const events = spec.events;
30
+ for (const event of events) {
31
+ const cmd = eventCommand(command, event);
32
+ const ref = { type: 'command', command: cmd, timeout: 30 };
33
+ if (spec.format === 'copilot' || spec.format === 'vscode')
34
+ hooks[event] = [...list(hooks[event]), { type: 'command', bash: cmd, powershell: `& ${cmd}`, timeoutSec: 30 }];
35
+ else if (spec.format === 'cursor')
36
+ hooks[event] = [...list(hooks[event]), { command: cmd, ...(event === 'preToolUse' || event.startsWith('postTool') ? { matcher: '^(?!(?:Read|ReadFile)$).*' } : {}) }];
37
+ else if (spec.format === 'windsurf')
38
+ hooks[event] = [...list(hooks[event]), { command: cmd, show_output: false, working_directory: '.' }];
39
+ else if (spec.format === 'flat')
40
+ hooks[event] = [...list(hooks[event]), { name: 'Beam', command: cmd, timeout: 30 }];
41
+ else if (anti && event === 'Stop')
42
+ hooks[event] = [...list(hooks[event]), ref];
43
+ else {
44
+ const matcher = spec.id === 'muse' || spec.id === 'openhands' || anti ? '*' : ['codex', 'qwen', 'goose', 'auggie'].includes(spec.id) ? '.*' : '';
45
+ const useMatcher = /Tool|Permission/.test(event) || spec.id === 'muse';
46
+ hooks[event] = [...list(hooks[event]), { ...(useMatcher ? { matcher } : {}), hooks: [['qwen', 'gemini'].includes(spec.id) ? { type: 'command', command: cmd, timeout: 30000 } : ref] }];
47
+ }
48
+ }
49
+ if (top)
50
+ return hooks;
51
+ return { ...(spec.format === 'copilot' || spec.format === 'vscode' || spec.format === 'cursor' ? { version: 1 } : {}), ...base, ...(spec.id === 'muse' ? { schema_version: base.schema_version ?? 1 } : {}), [anti ? 'beam' : 'hooks']: hooks };
52
+ }
53
+ export function unmergeHookSpec(spec, existing, own) {
54
+ if (spec.format === 'kiro')
55
+ return { ...existing, hooks: list(existing.hooks).filter(h => !own(String(object(h.action).command ?? ''))) };
56
+ const top = spec.format === 'top';
57
+ const anti = spec.format === 'antigravity';
58
+ if (!top && existing[anti ? 'beam' : 'hooks'] === undefined)
59
+ return existing;
60
+ const hooks = top ? { ...existing } : { ...object(existing[anti ? 'beam' : 'hooks']) };
61
+ for (const [event, value] of Object.entries(hooks)) {
62
+ if (!Array.isArray(value))
63
+ continue; // reserved metadata such as Muse hooks.state
64
+ hooks[event] = list(value).flatMap(entry => {
65
+ if (Array.isArray(entry.hooks)) {
66
+ const kept = list(entry.hooks).filter(h => !own(String(h.command ?? '')));
67
+ return kept.length ? [{ ...entry, hooks: kept }] : [];
68
+ }
69
+ return own(String(entry.command ?? entry.bash ?? '')) ? [] : [entry];
70
+ });
71
+ }
72
+ return top ? hooks : { ...existing, [anti ? 'beam' : 'hooks']: hooks };
73
+ }
74
+ export function hookCommands(spec, existing) {
75
+ if (spec.format === 'kiro')
76
+ return list(existing.hooks).map(h => String(object(h.action).command ?? ''));
77
+ const hooks = spec.format === 'top' ? existing : object(existing[spec.format === 'antigravity' ? 'beam' : 'hooks']);
78
+ return Object.values(hooks).flatMap(v => Array.isArray(v) ? list(v).flatMap(h => Array.isArray(h.hooks) ? list(h.hooks).map(r => String(r.command ?? '')) : [String(h.command ?? h.bash ?? '')]) : []);
79
+ }
80
+ //# sourceMappingURL=hook-config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hook-config.js","sourceRoot":"","sources":["../src/hook-config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { Obj } from './agents.js';
2
+ export declare function spoolHookEvent(event: Obj, directory?: string): Promise<void>;
3
+ export declare function drainHookSpool(directory: string, ingest: (events: Obj[]) => Promise<void>): Promise<number>;