@pushary/agent-hooks 0.95.7 → 0.95.8

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 (49) hide show
  1. package/CHANGELOG.md +5 -0
  2. package/dist/bin/pushary-bell-hook.js +8 -8
  3. package/dist/bin/pushary-bell.js +1 -1
  4. package/dist/bin/pushary-claude.js +9 -9
  5. package/dist/bin/pushary-clean.js +56 -18
  6. package/dist/bin/pushary-codex-bridge.js +3 -3
  7. package/dist/bin/pushary-codex-hook.js +9 -9
  8. package/dist/bin/pushary-codex.js +3 -3
  9. package/dist/bin/pushary-daemon.js +12 -12
  10. package/dist/bin/pushary-disconnect.js +3 -3
  11. package/dist/bin/pushary-doctor.js +8 -8
  12. package/dist/bin/pushary-elicitation-hook.js +8 -8
  13. package/dist/bin/pushary-gemini-bridge.js +3 -3
  14. package/dist/bin/pushary-gemini-hook.js +9 -9
  15. package/dist/bin/pushary-hook.js +10 -10
  16. package/dist/bin/pushary-login.js +3 -3
  17. package/dist/bin/pushary-logout.js +1 -1
  18. package/dist/bin/pushary-notification-hook.js +9 -9
  19. package/dist/bin/pushary-opencode-hook.js +9 -9
  20. package/dist/bin/pushary-permission-denied-hook.js +10 -10
  21. package/dist/bin/pushary-permission-hook.js +10 -10
  22. package/dist/bin/pushary-post-hook.js +9 -9
  23. package/dist/bin/pushary-prompt-hook.js +9 -9
  24. package/dist/bin/pushary-session-end-hook.js +9 -9
  25. package/dist/bin/pushary-session-start-hook.js +12 -12
  26. package/dist/bin/pushary-setup.js +11 -11
  27. package/dist/bin/pushary-status.js +4 -4
  28. package/dist/bin/pushary-stop-hook.js +9 -9
  29. package/dist/bin/pushary-stopfailure-hook.js +9 -9
  30. package/dist/bin/pushary-transcript-register.js +7 -7
  31. package/dist/bin/pushary-upgrade.js +9 -9
  32. package/dist/{chunk-HAXZ6CBF.js → chunk-3YFJGKJQ.js} +3 -3
  33. package/dist/{chunk-USWT4PTR.js → chunk-4DUEIUUO.js} +1 -1
  34. package/dist/{chunk-VIUOGMT5.js → chunk-A22VQ5ZL.js} +2 -2
  35. package/dist/{chunk-CNUDZS4V.js → chunk-ATKGKAP6.js} +2 -2
  36. package/dist/{chunk-4OSQZ5TB.js → chunk-E47WV7BJ.js} +1 -1
  37. package/dist/{chunk-NKUE5SJB.js → chunk-F4TMY6XI.js} +1 -1
  38. package/dist/{chunk-XJQOVWBQ.js → chunk-HUGIKB5O.js} +1 -1
  39. package/dist/{chunk-VMZ4SWQD.js → chunk-I7LKI4WO.js} +2 -2
  40. package/dist/{chunk-BGX4QUQF.js → chunk-NOVA7KZ2.js} +2 -0
  41. package/dist/{chunk-GQRU4KJF.js → chunk-QD73WATQ.js} +2 -2
  42. package/dist/{chunk-7RNY3UHJ.js → chunk-QV266EGS.js} +1 -1
  43. package/dist/{chunk-WPS5IM7B.js → chunk-R3OZ5ISU.js} +1 -1
  44. package/dist/{chunk-6W2WGNO5.js → chunk-R6LBGKWQ.js} +5 -5
  45. package/dist/{chunk-WAUAYRUQ.js → chunk-RE25RJ5A.js} +2 -2
  46. package/dist/{chunk-IZVK6FKD.js → chunk-XEVOPOKT.js} +1 -1
  47. package/dist/{chunk-PQGLDN4V.js → chunk-Y6SCMXR6.js} +1 -1
  48. package/dist/src/index.js +4 -4
  49. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,10 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.95.8
4
+
5
+ - Stop `clean` leaving a key it installed in Claude Code, Codex and Gemini when the Mac app is installed. An entry is kept only when its key is the one the Mac app holds; when the app has never signed in, the key setup recorded is removed.
6
+ - Keep `~/.pushary/bridge-auth` when the Mac app is installed. `clean` used to delete the app's bridge key.
7
+
3
8
  ## 0.95.7
4
9
 
5
10
  - Let Gemini's own prompt decide in When I'm out when Pushary cannot create the approval question, instead of refusing the call. Every time still refuses, and says Pushary could not create a verifiable approval.
@@ -4,15 +4,15 @@ import {
4
4
  } from "../chunk-TY6IJY6I.js";
5
5
  import {
6
6
  readHookInput
7
- } from "../chunk-IZVK6FKD.js";
8
- import "../chunk-HAXZ6CBF.js";
7
+ } from "../chunk-XEVOPOKT.js";
8
+ import "../chunk-3YFJGKJQ.js";
9
9
  import "../chunk-EMGGUO2Q.js";
10
- import "../chunk-WPS5IM7B.js";
10
+ import "../chunk-R3OZ5ISU.js";
11
11
  import "../chunk-XZWUOCJZ.js";
12
12
  import "../chunk-QJPYJVL3.js";
13
- import "../chunk-GQRU4KJF.js";
14
- import "../chunk-VMZ4SWQD.js";
15
- import "../chunk-7RNY3UHJ.js";
13
+ import "../chunk-QD73WATQ.js";
14
+ import "../chunk-I7LKI4WO.js";
15
+ import "../chunk-QV266EGS.js";
16
16
  import "../chunk-GOPIMNVC.js";
17
17
  import "../chunk-3AJIK5AO.js";
18
18
  import "../chunk-SKPXQRKN.js";
@@ -21,8 +21,8 @@ import "../chunk-VERXHIQF.js";
21
21
  import "../chunk-XHKBHWLX.js";
22
22
  import "../chunk-L4ZCFMWW.js";
23
23
  import "../chunk-XUTSZYYJ.js";
24
- import "../chunk-4OSQZ5TB.js";
25
- import "../chunk-BGX4QUQF.js";
24
+ import "../chunk-E47WV7BJ.js";
25
+ import "../chunk-NOVA7KZ2.js";
26
26
  import "../chunk-GMXKITVA.js";
27
27
  import "../chunk-DINDL2CF.js";
28
28
  import "../chunk-VMQU7YEJ.js";
@@ -15,7 +15,7 @@ import "../chunk-3AJIK5AO.js";
15
15
  import "../chunk-L4ZCFMWW.js";
16
16
  import {
17
17
  claudeSettings
18
- } from "../chunk-BGX4QUQF.js";
18
+ } from "../chunk-NOVA7KZ2.js";
19
19
  import {
20
20
  createIo
21
21
  } from "../chunk-5RUIFDTP.js";
@@ -8,7 +8,7 @@ import {
8
8
  describeIdleWindow,
9
9
  startProcessOwnership,
10
10
  withSpawnProcessOwnership
11
- } from "../chunk-PQGLDN4V.js";
11
+ } from "../chunk-Y6SCMXR6.js";
12
12
  import {
13
13
  isDeferAnswer
14
14
  } from "../chunk-YHG74UFF.js";
@@ -17,16 +17,16 @@ import {
17
17
  loadSessionKey,
18
18
  registerTranscript,
19
19
  registeredTranscriptEnabled
20
- } from "../chunk-HAXZ6CBF.js";
20
+ } from "../chunk-3YFJGKJQ.js";
21
21
  import "../chunk-EMGGUO2Q.js";
22
- import "../chunk-WPS5IM7B.js";
22
+ import "../chunk-R3OZ5ISU.js";
23
23
  import "../chunk-XZWUOCJZ.js";
24
24
  import "../chunk-QJPYJVL3.js";
25
- import "../chunk-GQRU4KJF.js";
25
+ import "../chunk-QD73WATQ.js";
26
26
  import {
27
27
  ensureDaemonRunning
28
- } from "../chunk-VMZ4SWQD.js";
29
- import "../chunk-7RNY3UHJ.js";
28
+ } from "../chunk-I7LKI4WO.js";
29
+ import "../chunk-QV266EGS.js";
30
30
  import "../chunk-GOPIMNVC.js";
31
31
  import "../chunk-3AJIK5AO.js";
32
32
  import {
@@ -54,7 +54,7 @@ import {
54
54
  repoKeyFor,
55
55
  reportEvent,
56
56
  savePendingCommand
57
- } from "../chunk-XJQOVWBQ.js";
57
+ } from "../chunk-HUGIKB5O.js";
58
58
  import {
59
59
  UNNAMED_ACTION,
60
60
  deriveToolTarget,
@@ -74,8 +74,8 @@ import {
74
74
  } from "../chunk-XS33QBJA.js";
75
75
  import {
76
76
  getMachineId
77
- } from "../chunk-4OSQZ5TB.js";
78
- import "../chunk-BGX4QUQF.js";
77
+ } from "../chunk-E47WV7BJ.js";
78
+ import "../chunk-NOVA7KZ2.js";
79
79
  import "../chunk-GMXKITVA.js";
80
80
  import "../chunk-DINDL2CF.js";
81
81
  import "../chunk-VMQU7YEJ.js";
@@ -12,7 +12,7 @@ import {
12
12
  shortenHome,
13
13
  unregisterPluginLocation,
14
14
  vscodeSettingsTargets
15
- } from "../chunk-NKUE5SJB.js";
15
+ } from "../chunk-F4TMY6XI.js";
16
16
  import {
17
17
  OPENCODE_PLUGIN_SIBLING,
18
18
  OPENCODE_PLUGIN_SIBLING_CONTENTS,
@@ -28,24 +28,24 @@ import {
28
28
  removeClaudeMcpServers,
29
29
  removePusharySettings,
30
30
  restoreClaudeMcpServer
31
- } from "../chunk-CNUDZS4V.js";
31
+ } from "../chunk-ATKGKAP6.js";
32
32
  import {
33
33
  hookOwnerOf,
34
34
  isHookTakeoverReceipt,
35
35
  restoreHookTakeover,
36
36
  restoreMcpServer
37
- } from "../chunk-WPS5IM7B.js";
37
+ } from "../chunk-R3OZ5ISU.js";
38
38
  import "../chunk-XZWUOCJZ.js";
39
39
  import "../chunk-QJPYJVL3.js";
40
40
  import {
41
41
  pusharyHookExecutable
42
- } from "../chunk-GQRU4KJF.js";
42
+ } from "../chunk-QD73WATQ.js";
43
43
  import {
44
44
  disableDaemonService
45
- } from "../chunk-VMZ4SWQD.js";
45
+ } from "../chunk-I7LKI4WO.js";
46
46
  import {
47
47
  removeGeminiSettings
48
- } from "../chunk-7RNY3UHJ.js";
48
+ } from "../chunk-QV266EGS.js";
49
49
  import "../chunk-GOPIMNVC.js";
50
50
  import "../chunk-3AJIK5AO.js";
51
51
  import "../chunk-XHKBHWLX.js";
@@ -54,8 +54,9 @@ import {
54
54
  } from "../chunk-L4ZCFMWW.js";
55
55
  import "../chunk-Z4JVEL7R.js";
56
56
  import "../chunk-XUTSZYYJ.js";
57
- import "../chunk-4OSQZ5TB.js";
57
+ import "../chunk-E47WV7BJ.js";
58
58
  import {
59
+ bridgeAgentKey,
59
60
  claudeJson,
60
61
  claudeMcpReceipt,
61
62
  claudeSettings,
@@ -75,12 +76,13 @@ import {
75
76
  hookTakeoverReceipt,
76
77
  isProtectedByScope,
77
78
  pusharyDir,
79
+ readCodexMcpAuth,
78
80
  removeCodexHookTrust,
79
81
  removeCodexHooks,
80
82
  restoreCodexHookTrust,
81
83
  vscodePluginDir,
82
84
  vscodePluginMcp
83
- } from "../chunk-BGX4QUQF.js";
85
+ } from "../chunk-NOVA7KZ2.js";
84
86
  import {
85
87
  exitOnHelpFlag
86
88
  } from "../chunk-GOQHN2UH.js";
@@ -100,7 +102,8 @@ import "../chunk-L7NOG547.js";
100
102
  import "../chunk-2UMNXADU.js";
101
103
  import {
102
104
  CURSOR_GATE_EVENTS,
103
- HOOK_LOCATOR_BINARY
105
+ HOOK_LOCATOR_BINARY,
106
+ isValidApiKey
104
107
  } from "../chunk-MC5WUOJJ.js";
105
108
 
106
109
  // bin/pushary-clean.ts
@@ -121,10 +124,24 @@ var APP_OWNED_ENTRIES = [
121
124
  // Shared: AgentInstaller.vscodePlugin writes .pushary/plugins/vscode, and so
122
125
  // does the CLI. Not attributable, so it is kept whenever the app is installed
123
126
  // rather than removed and left registered against a path that is gone.
124
- "plugins"
127
+ "plugins",
128
+ "bridge-auth"
125
129
  ];
126
130
  var isAppOwned = (name) => APP_OWNED_ENTRIES.includes(name);
127
131
 
132
+ // src/shared-mcp-key.ts
133
+ var asRecord = (value) => value !== null && typeof value === "object" && !Array.isArray(value) ? value : void 0;
134
+ var pusharyKey = (value) => typeof value === "string" && isValidApiKey(value.trim()) ? value.trim() : null;
135
+ var bearerKey = (authorization) => typeof authorization === "string" && authorization.startsWith("Bearer ") ? pusharyKey(authorization.slice("Bearer ".length)) : null;
136
+ var mcpServerBearer = (mcpServers) => bearerKey(asRecord(asRecord(asRecord(mcpServers)?.pushary)?.headers)?.Authorization);
137
+ var appAgentKey = (bridgeAgentKey2) => pusharyKey(asRecord(bridgeAgentKey2)?.key);
138
+ var setupReceiptKey = (claudeMcpReceipt2) => bearerKey(asRecord(asRecord(asRecord(claudeMcpReceipt2)?.installedPushary)?.headers)?.Authorization);
139
+ var macAppKeepsMcpEntry = (entryKey, keys) => {
140
+ if (!entryKey) return true;
141
+ if (keys.appKey) return entryKey === keys.appKey;
142
+ return entryKey !== keys.setupKey;
143
+ };
144
+
128
145
  // bin/pushary-clean.ts
129
146
  exitOnHelpFlag("clean");
130
147
  var dim = (s) => `\x1B[2m${s}\x1B[0m`;
@@ -154,6 +171,10 @@ var removalScope = (keepMcpServer) => ({
154
171
  keepAppWiring: true,
155
172
  keepMcpServer
156
173
  });
174
+ var codexMcpKey = (config) => {
175
+ const auth = readCodexMcpAuth(config);
176
+ return auth?.method === "embedded" ? pusharyKey(auth.key) : null;
177
+ };
157
178
  var readJson = (path) => {
158
179
  try {
159
180
  return JSON.parse(readFileSync(path, "utf-8"));
@@ -355,7 +376,15 @@ var main = async () => {
355
376
  console.log(` ${dim("The Mac app is installed, so its wiring and the state it owns are left alone.")}`);
356
377
  console.log();
357
378
  }
379
+ const restoredByTakeover = new Set(
380
+ ["claude_code", "codex", "gemini_cli"].filter((agent) => existsSync(hookTakeoverReceipt(agent)))
381
+ );
358
382
  if (keepShared) restoreTakeoverReceipts();
383
+ const sharedMcpKeys = {
384
+ appKey: appAgentKey(readJson(bridgeAgentKey())),
385
+ setupKey: setupReceiptKey(readJson(CLAUDE_MCP_RECEIPT))
386
+ };
387
+ const macAppKeeps = (agent, entryKey) => keepShared && (restoredByTakeover.has(agent) || macAppKeepsMcpEntry(entryKey, sharedMcpKeys));
359
388
  if (keepCliRuntime) {
360
389
  console.log(` ${yellow(bold("Clean stopped before changing provider configuration."))}`);
361
390
  console.log(` ${dim("Fix the hooks file or receipt above, then re-run")} npx @pushary/agent-hooks@latest clean`);
@@ -370,22 +399,24 @@ var main = async () => {
370
399
  process.exit(EXIT.FAILED);
371
400
  }
372
401
  console.log(` ${check} Background service ${dim(did("uninstalled"))}`);
373
- cleanSettingsFile(CLAUDE_SETTINGS, "Claude Code settings", scope);
374
- cleanSettingsFile(CLAUDE_SETTINGS_LOCAL, "Claude Code settings.local", scope);
375
- const claudeJson2 = keepShared ? null : readJson(CLAUDE_JSON);
376
- if (keepShared) {
402
+ const claudeJson2 = readJson(CLAUDE_JSON);
403
+ const keepClaudeMcp = macAppKeeps("claude_code", mcpServerBearer(claudeJson2?.mcpServers));
404
+ const claudeHasPusharyEntry = () => Boolean(claudeJson2?.mcpServers?.pushary);
405
+ const claudeHadPusharyEntry = claudeHasPusharyEntry();
406
+ if (keepClaudeMcp) {
377
407
  console.log(` ${skip} Claude Code MCP servers ${dim("(kept: the Mac app uses it)")}`);
378
408
  } else if (claudeJson2) {
379
409
  const rawReceipt = readJson(CLAUDE_MCP_RECEIPT);
380
410
  const receipt = isClaudeMcpSnapshot(rawReceipt) ? rawReceipt : null;
381
411
  if (existsSync(CLAUDE_MCP_RECEIPT) && !receipt) {
382
- incompleteClean = true;
412
+ if (!keepShared) incompleteClean = true;
383
413
  console.log(` ${skip} Claude Code MCP servers ${dim("(setup receipt is unreadable; left unchanged)")}`);
384
414
  } else if (receipt && restoreClaudeMcpServer(claudeJson2, receipt) || !receipt && removeClaudeMcpServers(claudeJson2)) {
385
415
  writeJson(CLAUDE_JSON, claudeJson2);
386
416
  console.log(` ${check} Claude Code MCP servers ${dim(receipt ? "(previous entry restored)" : "(removed from ~/.claude.json)")}`);
417
+ if (keepShared && receipt) guardedRemove(CLAUDE_MCP_RECEIPT, { force: true });
387
418
  } else {
388
- if (receipt) incompleteClean = true;
419
+ if (receipt && !keepShared) incompleteClean = true;
389
420
  console.log(` ${skip} Claude Code MCP servers ${dim(receipt ? "(changed after setup; left unchanged)" : "(no pushary entries)")}`);
390
421
  }
391
422
  } else if (existsSync(CLAUDE_MCP_RECEIPT)) {
@@ -394,6 +425,9 @@ var main = async () => {
394
425
  } else {
395
426
  console.log(` ${skip} Claude Code MCP servers ${dim("(not found)")}`);
396
427
  }
428
+ const claudeScope = removalScope(keepShared && !(claudeHadPusharyEntry && !claudeHasPusharyEntry()));
429
+ cleanSettingsFile(CLAUDE_SETTINGS, "Claude Code settings", claudeScope);
430
+ cleanSettingsFile(CLAUDE_SETTINGS_LOCAL, "Claude Code settings.local", claudeScope);
397
431
  const cursorData = keepShared ? null : readJson(CURSOR_MCP);
398
432
  if (keepShared) {
399
433
  console.log(` ${skip} Cursor MCP config ${dim("(kept: the Mac app uses it)")}`);
@@ -469,7 +503,8 @@ var main = async () => {
469
503
  const trustRemoved = hookOwnerOf(codexHooksData) === "app" ? false : removeCodexHookTrust(parsed, codexHooksJson2, codexPositions);
470
504
  const hadPushary = config.includes("pushary");
471
505
  if (hadPushary || trustRemoved) {
472
- if (!keepShared) {
506
+ const macAppKeepsCodexMcp = macAppKeeps("codex", codexMcpKey(parsed));
507
+ if (!macAppKeepsCodexMcp) {
473
508
  const mcpServers = parsed.mcp_servers ?? {};
474
509
  delete mcpServers.pushary;
475
510
  if (Object.keys(mcpServers).length === 0) delete parsed.mcp_servers;
@@ -482,6 +517,9 @@ var main = async () => {
482
517
  guardedWrite(codexConfig, stringifyTOML(parsed));
483
518
  const what = trustRemoved ? "cleaned, hook trust removed" : "cleaned";
484
519
  console.log(` ${check} Codex config ${dim(did(what))}`);
520
+ if (macAppKeepsCodexMcp && parsed.mcp_servers?.pushary) {
521
+ console.log(` ${skip} Codex MCP server ${dim("(kept: the Mac app uses it)")}`);
522
+ }
485
523
  } else {
486
524
  console.log(` ${skip} Codex config ${dim("(no pushary entries)")}`);
487
525
  }
@@ -518,7 +556,7 @@ var main = async () => {
518
556
  const geminiSettingsPath = geminiSettings();
519
557
  const geminiSettings2 = readJson(geminiSettingsPath);
520
558
  if (geminiSettings2) {
521
- if (removeGeminiSettings(geminiSettings2, scope)) {
559
+ if (removeGeminiSettings(geminiSettings2, removalScope(macAppKeeps("gemini_cli", mcpServerBearer(geminiSettings2.mcpServers))))) {
522
560
  writeJson(geminiSettingsPath, geminiSettings2);
523
561
  console.log(` ${check} Gemini CLI settings ${dim(did("cleaned"))}`);
524
562
  } else {
@@ -13,7 +13,7 @@ import {
13
13
  idleDeadlinePassed,
14
14
  startProcessOwnership,
15
15
  withSpawnProcessOwnership
16
- } from "../chunk-PQGLDN4V.js";
16
+ } from "../chunk-Y6SCMXR6.js";
17
17
  import "../chunk-SKPXQRKN.js";
18
18
  import "../chunk-EQRS3SGM.js";
19
19
  import {
@@ -31,8 +31,8 @@ import {
31
31
  } from "../chunk-XS33QBJA.js";
32
32
  import {
33
33
  getMachineId
34
- } from "../chunk-4OSQZ5TB.js";
35
- import "../chunk-BGX4QUQF.js";
34
+ } from "../chunk-E47WV7BJ.js";
35
+ import "../chunk-NOVA7KZ2.js";
36
36
  import "../chunk-VMQU7YEJ.js";
37
37
  import {
38
38
  callMcpTool
@@ -8,19 +8,19 @@ import {
8
8
  } from "../chunk-5GKNAQTG.js";
9
9
  import {
10
10
  readHookInput
11
- } from "../chunk-IZVK6FKD.js";
11
+ } from "../chunk-XEVOPOKT.js";
12
12
  import {
13
13
  denyReasonFrom,
14
14
  isDeferAnswer
15
15
  } from "../chunk-YHG74UFF.js";
16
- import "../chunk-HAXZ6CBF.js";
16
+ import "../chunk-3YFJGKJQ.js";
17
17
  import "../chunk-EMGGUO2Q.js";
18
- import "../chunk-WPS5IM7B.js";
18
+ import "../chunk-R3OZ5ISU.js";
19
19
  import "../chunk-XZWUOCJZ.js";
20
20
  import "../chunk-QJPYJVL3.js";
21
- import "../chunk-GQRU4KJF.js";
22
- import "../chunk-VMZ4SWQD.js";
23
- import "../chunk-7RNY3UHJ.js";
21
+ import "../chunk-QD73WATQ.js";
22
+ import "../chunk-I7LKI4WO.js";
23
+ import "../chunk-QV266EGS.js";
24
24
  import "../chunk-GOPIMNVC.js";
25
25
  import "../chunk-3AJIK5AO.js";
26
26
  import "../chunk-SKPXQRKN.js";
@@ -52,7 +52,7 @@ import {
52
52
  toCodexWire,
53
53
  toPolicyLookup,
54
54
  toPolicyLookups
55
- } from "../chunk-XJQOVWBQ.js";
55
+ } from "../chunk-HUGIKB5O.js";
56
56
  import {
57
57
  UNNAMED_ACTION,
58
58
  deriveActionBody,
@@ -73,10 +73,10 @@ import {
73
73
  } from "../chunk-XS33QBJA.js";
74
74
  import {
75
75
  getMachineId
76
- } from "../chunk-4OSQZ5TB.js";
76
+ } from "../chunk-E47WV7BJ.js";
77
77
  import {
78
78
  canonicalJson
79
- } from "../chunk-BGX4QUQF.js";
79
+ } from "../chunk-NOVA7KZ2.js";
80
80
  import "../chunk-GMXKITVA.js";
81
81
  import "../chunk-DINDL2CF.js";
82
82
  import "../chunk-VMQU7YEJ.js";
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  reportEvent
4
- } from "../chunk-XJQOVWBQ.js";
4
+ } from "../chunk-HUGIKB5O.js";
5
5
  import "../chunk-Z4JVEL7R.js";
6
6
  import "../chunk-XUTSZYYJ.js";
7
7
  import {
@@ -11,8 +11,8 @@ import {
11
11
  } from "../chunk-XS33QBJA.js";
12
12
  import {
13
13
  getMachineId
14
- } from "../chunk-4OSQZ5TB.js";
15
- import "../chunk-BGX4QUQF.js";
14
+ } from "../chunk-E47WV7BJ.js";
15
+ import "../chunk-NOVA7KZ2.js";
16
16
  import "../chunk-EYRGBYZG.js";
17
17
  import "../chunk-SAF6HGAA.js";
18
18
  import "../chunk-7QLSKOSU.js";
@@ -1,13 +1,13 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  inspectConfiguredManagedProviders
4
- } from "../chunk-6W2WGNO5.js";
5
- import "../chunk-USWT4PTR.js";
4
+ } from "../chunk-R6LBGKWQ.js";
5
+ import "../chunk-4DUEIUUO.js";
6
6
  import {
7
7
  HEARTBEAT_INTERVAL_MS,
8
8
  sendHeartbeat
9
- } from "../chunk-WAUAYRUQ.js";
10
- import "../chunk-CNUDZS4V.js";
9
+ } from "../chunk-RE25RJ5A.js";
10
+ import "../chunk-ATKGKAP6.js";
11
11
  import {
12
12
  detectProviderLiveCapabilities,
13
13
  hasSpawnProvider,
@@ -20,15 +20,15 @@ import {
20
20
  listProcessProofs,
21
21
  ownsLiveProcess,
22
22
  silentSpawnedProofs
23
- } from "../chunk-PQGLDN4V.js";
23
+ } from "../chunk-Y6SCMXR6.js";
24
24
  import {
25
25
  startRegisteredTranscripts
26
- } from "../chunk-HAXZ6CBF.js";
26
+ } from "../chunk-3YFJGKJQ.js";
27
27
  import "../chunk-EMGGUO2Q.js";
28
- import "../chunk-WPS5IM7B.js";
28
+ import "../chunk-R3OZ5ISU.js";
29
29
  import "../chunk-XZWUOCJZ.js";
30
30
  import "../chunk-QJPYJVL3.js";
31
- import "../chunk-GQRU4KJF.js";
31
+ import "../chunk-QD73WATQ.js";
32
32
  import {
33
33
  DAEMON_LEASE_RENEW_INTERVAL_MS,
34
34
  acquireDaemonLease,
@@ -45,8 +45,8 @@ import {
45
45
  requestDaemonHandoff,
46
46
  stopDaemonRunning,
47
47
  writeDaemonNeedsLogin
48
- } from "../chunk-VMZ4SWQD.js";
49
- import "../chunk-7RNY3UHJ.js";
48
+ } from "../chunk-I7LKI4WO.js";
49
+ import "../chunk-QV266EGS.js";
50
50
  import "../chunk-GOPIMNVC.js";
51
51
  import "../chunk-3AJIK5AO.js";
52
52
  import "../chunk-SKPXQRKN.js";
@@ -61,8 +61,8 @@ import {
61
61
  import "../chunk-XUTSZYYJ.js";
62
62
  import {
63
63
  getMachineId
64
- } from "../chunk-4OSQZ5TB.js";
65
- import "../chunk-BGX4QUQF.js";
64
+ } from "../chunk-E47WV7BJ.js";
65
+ import "../chunk-NOVA7KZ2.js";
66
66
  import {
67
67
  writeHuman
68
68
  } from "../chunk-QCGNGEGE.js";
@@ -14,10 +14,10 @@ import {
14
14
  removeClaudeMcpServers,
15
15
  removePusharySettings,
16
16
  restoreClaudeMcpServer
17
- } from "../chunk-CNUDZS4V.js";
17
+ } from "../chunk-ATKGKAP6.js";
18
18
  import {
19
19
  removeGeminiSettings
20
- } from "../chunk-7RNY3UHJ.js";
20
+ } from "../chunk-QV266EGS.js";
21
21
  import "../chunk-3AJIK5AO.js";
22
22
  import "../chunk-L4ZCFMWW.js";
23
23
  import "../chunk-XUTSZYYJ.js";
@@ -34,7 +34,7 @@ import {
34
34
  geminiSettings,
35
35
  removeCodexHooks,
36
36
  removeCodexSettings
37
- } from "../chunk-BGX4QUQF.js";
37
+ } from "../chunk-NOVA7KZ2.js";
38
38
  import {
39
39
  exitOnHelpFlag
40
40
  } from "../chunk-GOQHN2UH.js";
@@ -9,7 +9,7 @@ import {
9
9
  import {
10
10
  readMachineReadiness,
11
11
  readManagedControlEvidence
12
- } from "../chunk-WAUAYRUQ.js";
12
+ } from "../chunk-RE25RJ5A.js";
13
13
  import {
14
14
  CURSOR_GATE_SCRIPT
15
15
  } from "../chunk-KBITFQST.js";
@@ -21,14 +21,14 @@ import {
21
21
  isDetected,
22
22
  isPluginRegistered,
23
23
  vscodeSettingsTargets
24
- } from "../chunk-NKUE5SJB.js";
24
+ } from "../chunk-F4TMY6XI.js";
25
25
  import {
26
26
  OPENCODE_PLUGIN_PLACEHOLDER,
27
27
  openCodePluginDir,
28
28
  openCodePluginFile,
29
29
  openCodeWired
30
30
  } from "../chunk-U5RIXR7I.js";
31
- import "../chunk-CNUDZS4V.js";
31
+ import "../chunk-ATKGKAP6.js";
32
32
  import {
33
33
  detectProviderLiveCapabilities,
34
34
  hasSpawnProvider,
@@ -57,7 +57,7 @@ import {
57
57
  geminiWired,
58
58
  holdsLong,
59
59
  pusharyHookExecutable
60
- } from "../chunk-GQRU4KJF.js";
60
+ } from "../chunk-QD73WATQ.js";
61
61
  import {
62
62
  daemonHasRemoteProof,
63
63
  daemonServiceManagerAvailable,
@@ -66,12 +66,12 @@ import {
66
66
  readDaemonNeedsLogin,
67
67
  readDaemonStatus,
68
68
  readInstalledDaemonService
69
- } from "../chunk-VMZ4SWQD.js";
69
+ } from "../chunk-I7LKI4WO.js";
70
70
  import {
71
71
  GEMINI_HOOK_BINARY,
72
72
  hasGeminiHooks,
73
73
  missingGeminiHookEvents
74
- } from "../chunk-7RNY3UHJ.js";
74
+ } from "../chunk-QV266EGS.js";
75
75
  import "../chunk-3AJIK5AO.js";
76
76
  import "../chunk-XHKBHWLX.js";
77
77
  import {
@@ -81,7 +81,7 @@ import "../chunk-Z4JVEL7R.js";
81
81
  import "../chunk-XUTSZYYJ.js";
82
82
  import {
83
83
  getMachineId
84
- } from "../chunk-4OSQZ5TB.js";
84
+ } from "../chunk-E47WV7BJ.js";
85
85
  import {
86
86
  CODEX_HOOK_EVENTS,
87
87
  claudeJson,
@@ -103,7 +103,7 @@ import {
103
103
  pusharyConfigFile,
104
104
  readCodexMcpAuth,
105
105
  vscodePluginDir
106
- } from "../chunk-BGX4QUQF.js";
106
+ } from "../chunk-NOVA7KZ2.js";
107
107
  import {
108
108
  describeReach,
109
109
  describeRoundTrip,
@@ -1,18 +1,18 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  readHookInput
4
- } from "../chunk-IZVK6FKD.js";
4
+ } from "../chunk-XEVOPOKT.js";
5
5
  import {
6
6
  isDeferAnswer
7
7
  } from "../chunk-YHG74UFF.js";
8
- import "../chunk-HAXZ6CBF.js";
8
+ import "../chunk-3YFJGKJQ.js";
9
9
  import "../chunk-EMGGUO2Q.js";
10
- import "../chunk-WPS5IM7B.js";
10
+ import "../chunk-R3OZ5ISU.js";
11
11
  import "../chunk-XZWUOCJZ.js";
12
12
  import "../chunk-QJPYJVL3.js";
13
- import "../chunk-GQRU4KJF.js";
14
- import "../chunk-VMZ4SWQD.js";
15
- import "../chunk-7RNY3UHJ.js";
13
+ import "../chunk-QD73WATQ.js";
14
+ import "../chunk-I7LKI4WO.js";
15
+ import "../chunk-QV266EGS.js";
16
16
  import "../chunk-GOPIMNVC.js";
17
17
  import "../chunk-3AJIK5AO.js";
18
18
  import "../chunk-SKPXQRKN.js";
@@ -28,8 +28,8 @@ import {
28
28
  } from "../chunk-XS33QBJA.js";
29
29
  import {
30
30
  getMachineId
31
- } from "../chunk-4OSQZ5TB.js";
32
- import "../chunk-BGX4QUQF.js";
31
+ } from "../chunk-E47WV7BJ.js";
32
+ import "../chunk-NOVA7KZ2.js";
33
33
  import "../chunk-GMXKITVA.js";
34
34
  import "../chunk-DINDL2CF.js";
35
35
  import "../chunk-VMQU7YEJ.js";
@@ -12,7 +12,7 @@ import {
12
12
  idleDeadlinePassed,
13
13
  startProcessOwnership,
14
14
  withSpawnProcessOwnership
15
- } from "../chunk-PQGLDN4V.js";
15
+ } from "../chunk-Y6SCMXR6.js";
16
16
  import "../chunk-SKPXQRKN.js";
17
17
  import "../chunk-EQRS3SGM.js";
18
18
  import {
@@ -26,8 +26,8 @@ import {
26
26
  } from "../chunk-L4ZCFMWW.js";
27
27
  import {
28
28
  getMachineId
29
- } from "../chunk-4OSQZ5TB.js";
30
- import "../chunk-BGX4QUQF.js";
29
+ } from "../chunk-E47WV7BJ.js";
30
+ import "../chunk-NOVA7KZ2.js";
31
31
  import "../chunk-VMQU7YEJ.js";
32
32
  import "../chunk-L7NOG547.js";
33
33
  import {
@@ -5,19 +5,19 @@ import {
5
5
  } from "../chunk-5GKNAQTG.js";
6
6
  import {
7
7
  readHookInput
8
- } from "../chunk-IZVK6FKD.js";
8
+ } from "../chunk-XEVOPOKT.js";
9
9
  import {
10
10
  denyReasonFrom,
11
11
  isDeferAnswer
12
12
  } from "../chunk-YHG74UFF.js";
13
- import "../chunk-HAXZ6CBF.js";
13
+ import "../chunk-3YFJGKJQ.js";
14
14
  import "../chunk-EMGGUO2Q.js";
15
- import "../chunk-WPS5IM7B.js";
15
+ import "../chunk-R3OZ5ISU.js";
16
16
  import "../chunk-XZWUOCJZ.js";
17
17
  import "../chunk-QJPYJVL3.js";
18
- import "../chunk-GQRU4KJF.js";
19
- import "../chunk-VMZ4SWQD.js";
20
- import "../chunk-7RNY3UHJ.js";
18
+ import "../chunk-QD73WATQ.js";
19
+ import "../chunk-I7LKI4WO.js";
20
+ import "../chunk-QV266EGS.js";
21
21
  import "../chunk-GOPIMNVC.js";
22
22
  import "../chunk-3AJIK5AO.js";
23
23
  import "../chunk-SKPXQRKN.js";
@@ -38,7 +38,7 @@ import {
38
38
  readLastUserPrompt,
39
39
  repoKeyFor,
40
40
  reportEvent
41
- } from "../chunk-XJQOVWBQ.js";
41
+ } from "../chunk-HUGIKB5O.js";
42
42
  import {
43
43
  UNNAMED_ACTION,
44
44
  deriveActionBody,
@@ -58,8 +58,8 @@ import {
58
58
  } from "../chunk-XS33QBJA.js";
59
59
  import {
60
60
  getMachineId
61
- } from "../chunk-4OSQZ5TB.js";
62
- import "../chunk-BGX4QUQF.js";
61
+ } from "../chunk-E47WV7BJ.js";
62
+ import "../chunk-NOVA7KZ2.js";
63
63
  import "../chunk-GMXKITVA.js";
64
64
  import "../chunk-DINDL2CF.js";
65
65
  import "../chunk-VMQU7YEJ.js";