@pushary/agent-hooks 1.9.48 → 1.9.49

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 (103) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/dist/bin/pushary-bell-hook.js +25 -25
  3. package/dist/bin/pushary-bell.js +9 -9
  4. package/dist/bin/pushary-claude.js +24 -24
  5. package/dist/bin/pushary-clean.js +29 -29
  6. package/dist/bin/pushary-codex-bridge.js +18 -18
  7. package/dist/bin/pushary-codex-hook.js +30 -30
  8. package/dist/bin/pushary-codex-session.js +19 -18
  9. package/dist/bin/pushary-codex.js +12 -12
  10. package/dist/bin/pushary-connect.js +24 -24
  11. package/dist/bin/pushary-cowork.js +5 -5
  12. package/dist/bin/pushary-daemon.js +32 -32
  13. package/dist/bin/pushary-disconnect.js +24 -24
  14. package/dist/bin/pushary-doctor.js +34 -34
  15. package/dist/bin/pushary-elicitation-hook.js +25 -25
  16. package/dist/bin/pushary-gemini-bridge.js +13 -13
  17. package/dist/bin/pushary-gemini-hook.js +27 -27
  18. package/dist/bin/pushary-hook.js +29 -29
  19. package/dist/bin/pushary-login.js +12 -12
  20. package/dist/bin/pushary-logout.js +24 -24
  21. package/dist/bin/pushary-mcp.js +9 -9
  22. package/dist/bin/pushary-mode.js +12 -12
  23. package/dist/bin/pushary-notification-hook.js +24 -24
  24. package/dist/bin/pushary-opencode-hook.js +26 -26
  25. package/dist/bin/pushary-permission-denied-hook.js +29 -29
  26. package/dist/bin/pushary-permission-hook.js +28 -28
  27. package/dist/bin/pushary-post-hook.js +24 -24
  28. package/dist/bin/pushary-prompt-hook.js +24 -24
  29. package/dist/bin/pushary-session-end-hook.js +24 -24
  30. package/dist/bin/pushary-session-start-hook.js +28 -28
  31. package/dist/bin/pushary-setup.js +36 -36
  32. package/dist/bin/pushary-stats.js +5 -5
  33. package/dist/bin/pushary-status.js +26 -26
  34. package/dist/bin/pushary-stop-hook.js +24 -24
  35. package/dist/bin/pushary-stopfailure-hook.js +24 -24
  36. package/dist/bin/pushary-suggestions.js +12 -12
  37. package/dist/bin/pushary-transcript-register.js +17 -17
  38. package/dist/bin/pushary-transcripts.js +7 -7
  39. package/dist/bin/pushary-upgrade.js +30 -30
  40. package/dist/bin/pushary-wait.js +12 -12
  41. package/dist/bin/pushary.js +6 -6
  42. package/dist/{chunk-CQ4VDI27.js → chunk-25SYEAW4.js} +3 -3
  43. package/dist/{chunk-3KHZZOT5.js → chunk-34AQAQKW.js} +4 -4
  44. package/dist/{chunk-TVBQTGM7.js → chunk-34RXPM5U.js} +3 -3
  45. package/dist/{chunk-GFQT4KJO.js → chunk-4PCJ6DYK.js} +2 -2
  46. package/dist/{chunk-GYHX4NIW.js → chunk-5Q2FRMPC.js} +4 -4
  47. package/dist/{chunk-S7ALO6PR.js → chunk-7RMSB4A2.js} +7 -7
  48. package/dist/{chunk-IRTPMVIS.js → chunk-ABMEBN2R.js} +3 -3
  49. package/dist/{chunk-HF66SU3D.js → chunk-APASKZ2I.js} +2 -2
  50. package/dist/{chunk-XOHT5UCY.js → chunk-AWMMABVB.js} +5 -5
  51. package/dist/{chunk-JN64AI53.js → chunk-B7LV6W7U.js} +1 -1
  52. package/dist/{chunk-I7B4X232.js → chunk-BOVSUH4N.js} +2 -2
  53. package/dist/{chunk-Q7GNNQZ2.js → chunk-BXK6ZJVJ.js} +2 -2
  54. package/dist/{chunk-TK23JLC3.js → chunk-DH4BWFU7.js} +5 -5
  55. package/dist/{chunk-V7VGDSNZ.js → chunk-EP6S6VY3.js} +6 -6
  56. package/dist/{chunk-IXWXGQRX.js → chunk-FPKQGWAF.js} +2 -2
  57. package/dist/{chunk-EGARDTA5.js → chunk-GDDXGBTM.js} +2 -2
  58. package/dist/{chunk-XDM6S75V.js → chunk-HXRH7ZCK.js} +2 -2
  59. package/dist/{chunk-KRIG552M.js → chunk-IF2UPWD2.js} +1 -1
  60. package/dist/{chunk-WSSBT75T.js → chunk-JGNYCRB2.js} +1 -1
  61. package/dist/{chunk-TIVYEX3X.js → chunk-K73CBZKW.js} +4 -4
  62. package/dist/{chunk-DQPFQGIN.js → chunk-KBGKWB5T.js} +1 -1
  63. package/dist/{chunk-33QBP3M5.js → chunk-KEAIIVW3.js} +2 -2
  64. package/dist/{chunk-XRFEWXGR.js → chunk-KIO2MZQC.js} +2 -2
  65. package/dist/{chunk-YUBWJHWE.js → chunk-KK2DIUVV.js} +1 -1
  66. package/dist/{chunk-LVA2RJNM.js → chunk-LLRYP5TR.js} +5 -5
  67. package/dist/{chunk-GLM263DW.js → chunk-LY3OJFBW.js} +1 -1
  68. package/dist/{chunk-JRB4U3S6.js → chunk-LZYJMSOY.js} +3 -3
  69. package/dist/{chunk-YWFL5ANU.js → chunk-OR5F63C2.js} +3 -2
  70. package/dist/{chunk-ZSAQSKSK.js → chunk-OW4DNSQ6.js} +1 -1
  71. package/dist/{chunk-OJSWXJRB.js → chunk-OWQHE2VV.js} +2 -2
  72. package/dist/{chunk-LZW7O3G4.js → chunk-OZLGTMIY.js} +2 -2
  73. package/dist/{chunk-RZKVGP2P.js → chunk-PA54A437.js} +1 -1
  74. package/dist/{chunk-K6X6B76U.js → chunk-PXUNPXOX.js} +3 -3
  75. package/dist/{chunk-CIJV7IQU.js → chunk-QYBL4EHD.js} +6 -6
  76. package/dist/{chunk-755V3VD7.js → chunk-SALUTWPX.js} +4 -4
  77. package/dist/{chunk-FFIITUQJ.js → chunk-SE4JFMLW.js} +11 -8
  78. package/dist/{chunk-AX7B7RSC.js → chunk-TGCIFEDE.js} +10 -10
  79. package/dist/{chunk-IVQA2XWE.js → chunk-TYTIDEBW.js} +5 -5
  80. package/dist/{chunk-GOSHI63C.js → chunk-UCF3EZZL.js} +8 -8
  81. package/dist/{chunk-MVW5KW6R.js → chunk-UHVD7BSV.js} +4 -4
  82. package/dist/{chunk-GMK24GEO.js → chunk-VCZN7NAB.js} +4 -4
  83. package/dist/{chunk-W4H427YD.js → chunk-VUS6QGND.js} +1 -1
  84. package/dist/{chunk-C3HH6VQP.js → chunk-WEY5ZHDB.js} +5 -5
  85. package/dist/{chunk-XTZ4HQKG.js → chunk-WLT6J3SB.js} +2 -2
  86. package/dist/{chunk-ICSA7SWY.js → chunk-X3RCIOIH.js} +1 -1
  87. package/dist/{chunk-A45ILEPI.js → chunk-XH3F66VD.js} +3 -3
  88. package/dist/{chunk-LMFKL76J.js → chunk-XNZB274I.js} +1 -1
  89. package/dist/{chunk-CQWXMLHZ.js → chunk-XTVEW2NG.js} +1 -1
  90. package/dist/{chunk-ZRQPJHNJ.js → chunk-Y74IJ2IO.js} +4 -4
  91. package/dist/{chunk-N3GB5RQH.js → chunk-Y7WD72J7.js} +1 -1
  92. package/dist/{chunk-EOT33AJN.js → chunk-YTYXFA5M.js} +1 -1
  93. package/dist/{chunk-7S5HYDAO.js → chunk-YVO4HIHX.js} +8 -8
  94. package/dist/{chunk-DR2L7VV4.js → chunk-ZMYLVFXC.js} +5 -5
  95. package/dist/{chunk-WNEEQ7GJ.js → chunk-ZOKMGBPR.js} +1 -1
  96. package/dist/{chunk-ZBNRG4LZ.js → chunk-ZTTCYHOM.js} +5 -5
  97. package/dist/{chunk-B2DU67G6.js → chunk-ZYYQJSIO.js} +4 -4
  98. package/dist/{global-upgrade-RKM4H55J.js → global-upgrade-AIUSS2YH.js} +6 -6
  99. package/dist/{paths-BHI23V4J.js → paths-RO34TYNM.js} +2 -2
  100. package/dist/{reapply-AZZZOU7B.js → reapply-KTNPP4XE.js} +20 -20
  101. package/dist/src/index.js +19 -19
  102. package/dist/{upgrade-lock-IJL5SSTD.js → upgrade-lock-5UAGXIW7.js} +3 -3
  103. package/package.json +1 -1
@@ -8,10 +8,10 @@ import {
8
8
  codexHooksJsonIn,
9
9
  isPusharyCodexCommand,
10
10
  resolvePathBinary
11
- } from "./chunk-B2DU67G6.js";
11
+ } from "./chunk-ZYYQJSIO.js";
12
12
  import {
13
13
  getPackageVersion
14
- } from "./chunk-YWFL5ANU.js";
14
+ } from "./chunk-OR5F63C2.js";
15
15
 
16
16
  // src/codex-app-server.ts
17
17
  import { existsSync, realpathSync } from "fs";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  getBaseUrl
3
- } from "./chunk-W4H427YD.js";
3
+ } from "./chunk-VUS6QGND.js";
4
4
 
5
5
  // src/transcript-api.ts
6
6
  var fetchTranscriptRecipients = async (apiKey, baseUrl = getBaseUrl()) => {
@@ -1,15 +1,15 @@
1
1
  import {
2
2
  compatibleConfigFile
3
- } from "./chunk-ZRQPJHNJ.js";
3
+ } from "./chunk-Y74IJ2IO.js";
4
4
  import {
5
5
  hookOwnerOf,
6
6
  hookOwnerOfCommands,
7
7
  liveBridgeProbe,
8
8
  resolveBridgeStub
9
- } from "./chunk-C3HH6VQP.js";
9
+ } from "./chunk-WEY5ZHDB.js";
10
10
  import {
11
11
  AGENT_CHOICES
12
- } from "./chunk-RZKVGP2P.js";
12
+ } from "./chunk-PA54A437.js";
13
13
  import {
14
14
  claudeSettings,
15
15
  codexHooksJson,
@@ -18,7 +18,7 @@ import {
18
18
  guardedArgv,
19
19
  pusharyDir,
20
20
  vscodePluginDir
21
- } from "./chunk-B2DU67G6.js";
21
+ } from "./chunk-ZYYQJSIO.js";
22
22
  import {
23
23
  readJsonSafe
24
24
  } from "./chunk-AQFEP65J.js";
@@ -29,7 +29,7 @@ import {
29
29
  OPENCODE_APPROVAL_EVENT,
30
30
  hookCompatibleProfile,
31
31
  isRecord
32
- } from "./chunk-YWFL5ANU.js";
32
+ } from "./chunk-OR5F63C2.js";
33
33
 
34
34
  // src/opencode-plugin.ts
35
35
  var OPENCODE_PLUGIN_MARKER = "pushary-opencode-plugin w1";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  pusharyDir
3
- } from "./chunk-B2DU67G6.js";
3
+ } from "./chunk-ZYYQJSIO.js";
4
4
  import {
5
5
  writeFileAtomic
6
6
  } from "./chunk-AQFEP65J.js";
@@ -1,12 +1,12 @@
1
1
  import {
2
2
  keyCheckFromResponse
3
- } from "./chunk-TVBQTGM7.js";
3
+ } from "./chunk-34RXPM5U.js";
4
4
  import {
5
5
  installNetworkDefaults
6
- } from "./chunk-IRTPMVIS.js";
6
+ } from "./chunk-ABMEBN2R.js";
7
7
  import {
8
8
  getBaseUrl
9
- } from "./chunk-W4H427YD.js";
9
+ } from "./chunk-VUS6QGND.js";
10
10
 
11
11
  // src/retry.ts
12
12
  var isRetryable = (err) => {
@@ -1047,7 +1047,7 @@ var basenameOf = (token) => {
1047
1047
  const slash = Math.max(token.lastIndexOf("/"), token.lastIndexOf("\\"));
1048
1048
  return slash === -1 ? token : token.slice(slash + 1);
1049
1049
  };
1050
- var TRUSTED_EXE_PREFIXES = [
1050
+ var TRUSTED_EXE_DIRECTORIES = [
1051
1051
  "/bin/",
1052
1052
  "/sbin/",
1053
1053
  "/usr/bin/",
@@ -1055,10 +1055,11 @@ var TRUSTED_EXE_PREFIXES = [
1055
1055
  "/usr/local/bin/",
1056
1056
  "/opt/homebrew/bin/"
1057
1057
  ];
1058
+ var isDirectlyInside = (path, directory) => path === `${directory}${basenameOf(path)}`;
1058
1059
  var isTrustedExecutable = (first) => {
1059
1060
  if (!first.includes("/")) return true;
1060
1061
  if (first.includes("..")) return false;
1061
- return TRUSTED_EXE_PREFIXES.some((prefix) => first.startsWith(prefix));
1062
+ return TRUSTED_EXE_DIRECTORIES.some((directory) => isDirectlyInside(first, directory));
1062
1063
  };
1063
1064
 
1064
1065
  // ../contracts/src/powershell-analysis.ts
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  HOOK_HOLD_BUDGET_ENV,
3
3
  hookHoldBudgetProof
4
- } from "./chunk-YWFL5ANU.js";
4
+ } from "./chunk-OR5F63C2.js";
5
5
 
6
6
  // src/hold-budget.ts
7
7
  var takeHookHoldBudget = (args = process.argv.slice(2), env = process.env) => {
@@ -10,10 +10,10 @@ import {
10
10
  resolvePackageVersionFromBinary,
11
11
  resolvePathBinary,
12
12
  resolvePathBinaryAsync
13
- } from "./chunk-B2DU67G6.js";
13
+ } from "./chunk-ZYYQJSIO.js";
14
14
  import {
15
15
  MANAGED_PROVIDERS
16
- } from "./chunk-YWFL5ANU.js";
16
+ } from "./chunk-OR5F63C2.js";
17
17
 
18
18
  // src/setup/codex-install.ts
19
19
  var NATIVE_BINARY_MIN_BYTES = 20 * 1024 * 1024;
@@ -4,10 +4,10 @@ import {
4
4
  } from "./chunk-AQFEP65J.js";
5
5
  import {
6
6
  configFilePath
7
- } from "./chunk-W4H427YD.js";
7
+ } from "./chunk-VUS6QGND.js";
8
8
  import {
9
9
  readSetupOutcomeProperties
10
- } from "./chunk-YWFL5ANU.js";
10
+ } from "./chunk-OR5F63C2.js";
11
11
 
12
12
  // src/hooks-spec.ts
13
13
  var CURSOR_GATE_SCRIPT = "pushary-gate.mjs";
@@ -10,7 +10,7 @@ import {
10
10
  isSetupConnectMode,
11
11
  isValidApiKey,
12
12
  normalizeAgentId
13
- } from "./chunk-YWFL5ANU.js";
13
+ } from "./chunk-OR5F63C2.js";
14
14
 
15
15
  // src/setup/options.ts
16
16
  var AGENT_CHOICES = SETUP_AGENT_CHOICES;
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  SETUP_FLAGS
3
- } from "./chunk-RZKVGP2P.js";
3
+ } from "./chunk-PA54A437.js";
4
4
  import {
5
5
  parseFlags
6
6
  } from "./chunk-GMXKITVA.js";
@@ -9,7 +9,7 @@ import {
9
9
  } from "./chunk-7QLSKOSU.js";
10
10
  import {
11
11
  NPX_LATEST_COMMAND
12
- } from "./chunk-WNEEQ7GJ.js";
12
+ } from "./chunk-ZOKMGBPR.js";
13
13
  import {
14
14
  CLAUDE_CONNECTOR_GUIDE,
15
15
  CLAUDE_CONNECTOR_STEPS,
@@ -17,7 +17,7 @@ import {
17
17
  CLAUDE_CONNECTOR_URL,
18
18
  COWORK_CONNECTOR_LIMIT,
19
19
  COWORK_STANDING_INSTRUCTIONS
20
- } from "./chunk-YWFL5ANU.js";
20
+ } from "./chunk-OR5F63C2.js";
21
21
 
22
22
  // src/cli/cowork.ts
23
23
  import { readFileSync } from "fs";
@@ -4,26 +4,26 @@ import {
4
4
  hasDaemonServiceDefinition,
5
5
  readDaemonNeedsLogin,
6
6
  readDaemonStatus
7
- } from "./chunk-DR2L7VV4.js";
7
+ } from "./chunk-ZMYLVFXC.js";
8
8
  import {
9
9
  readControlMode,
10
10
  readKeySource
11
- } from "./chunk-A45ILEPI.js";
11
+ } from "./chunk-XH3F66VD.js";
12
12
  import {
13
13
  detectProviderLiveCapabilities,
14
14
  expectedLaunchCapabilities,
15
15
  hasSpawnProvider,
16
16
  resolveControlPolicy
17
- } from "./chunk-OJSWXJRB.js";
17
+ } from "./chunk-OWQHE2VV.js";
18
18
  import {
19
19
  getMachineId
20
- } from "./chunk-GLM263DW.js";
20
+ } from "./chunk-LY3OJFBW.js";
21
21
  import {
22
22
  getBaseUrl
23
- } from "./chunk-W4H427YD.js";
23
+ } from "./chunk-VUS6QGND.js";
24
24
  import {
25
25
  getPackageVersion
26
- } from "./chunk-YWFL5ANU.js";
26
+ } from "./chunk-OR5F63C2.js";
27
27
 
28
28
  // src/machines.ts
29
29
  import { hostname } from "os";
@@ -1,18 +1,18 @@
1
1
  import {
2
2
  registerTranscript
3
- } from "./chunk-GOSHI63C.js";
3
+ } from "./chunk-UCF3EZZL.js";
4
4
  import {
5
5
  namedEvent
6
- } from "./chunk-ZRQPJHNJ.js";
6
+ } from "./chunk-Y74IJ2IO.js";
7
7
  import {
8
8
  writeDegraded
9
- } from "./chunk-XOHT5UCY.js";
9
+ } from "./chunk-AWMMABVB.js";
10
10
  import {
11
11
  claudeShapedHookInput,
12
12
  hookCompatibleProfileBySource,
13
13
  isGrokHookPayload,
14
14
  isGrokSessionEndStop
15
- } from "./chunk-YWFL5ANU.js";
15
+ } from "./chunk-OR5F63C2.js";
16
16
 
17
17
  // src/tool-hook-input.ts
18
18
  var OPTIONAL_TEXT_FIELDS = ["hook_event_name", "session_id", "cwd", "transcript_path", "tool_use_id", "permission_mode"];
@@ -4,13 +4,13 @@ import {
4
4
  postLiveSession,
5
5
  postLiveSessionUntilAccepted,
6
6
  startLiveSessionHeartbeat
7
- } from "./chunk-Q7GNNQZ2.js";
7
+ } from "./chunk-BXK6ZJVJ.js";
8
8
  import {
9
9
  SESSION_IDLE_TIMEOUT_MS,
10
10
  describeIdleWindow,
11
11
  idleDeadlinePassed,
12
12
  startProcessOwnership
13
- } from "./chunk-IXWXGQRX.js";
13
+ } from "./chunk-FPKQGWAF.js";
14
14
  import {
15
15
  spawnClaude
16
16
  } from "./chunk-XHKBHWLX.js";
@@ -21,11 +21,11 @@ import {
21
21
  repoKeyFor,
22
22
  withdrawQuestion,
23
23
  writeDegraded
24
- } from "./chunk-XOHT5UCY.js";
24
+ } from "./chunk-AWMMABVB.js";
25
25
  import {
26
26
  callMcpTool,
27
27
  isRetryable
28
- } from "./chunk-JRB4U3S6.js";
28
+ } from "./chunk-LZYJMSOY.js";
29
29
  import {
30
30
  AGENT_QUESTION_DESCRIPTION_MAX,
31
31
  AGENT_QUESTION_HEADER_MAX,
@@ -46,7 +46,7 @@ import {
46
46
  parseCodexQuestions,
47
47
  planElicitationAsk,
48
48
  readElicitationFields
49
- } from "./chunk-YWFL5ANU.js";
49
+ } from "./chunk-OR5F63C2.js";
50
50
 
51
51
  // src/codex-question-owner.ts
52
52
  import { createHash } from "crypto";
@@ -332,6 +332,7 @@ var FAILURE_MESSAGE_MAX = 240;
332
332
  var MAX_PENDING_RPC = 8;
333
333
  var QUESTION_UNAVAILABLE = "Question unavailable";
334
334
  var LOCAL_QUESTION_UNAVAILABLE = "Pushary handed this question to the current client, but this Codex bridge has no local question UI. Continue in an interactive Codex session, or choose a Pushary mode that permits remote questions.";
335
+ var isCodexQuestionLeftWithTheLocalClient = (error) => error instanceof Error && error.message === LOCAL_QUESTION_UNAVAILABLE;
335
336
  var MAX_TRANSCRIPT_TEXT = 32 * 1024;
336
337
  var MAX_MESSAGE_BUFFERS = 16;
337
338
  var JsonRpcClient = class {
@@ -487,7 +488,7 @@ var JsonRpcClient = class {
487
488
  if (dispatch) await reportOwnedQuestion(this.bridgeOptions, dispatch, "reply_queued");
488
489
  },
489
490
  (error) => {
490
- if (!signal.aborted && !this.closed) this.write({ id, error: { code: -32e3, message: error instanceof Error && error.message === LOCAL_QUESTION_UNAVAILABLE ? LOCAL_QUESTION_UNAVAILABLE : "No user answer was received through Pushary" } });
491
+ if (!signal.aborted && !this.closed) this.write({ id, error: { code: -32e3, message: isCodexQuestionLeftWithTheLocalClient(error) ? LOCAL_QUESTION_UNAVAILABLE : "No user answer was received through Pushary" } });
491
492
  }
492
493
  ).catch(() => {
493
494
  if (!signal.aborted && !this.closed) this.write({ id, error: { code: -32e3, message: "Question delivery is unconfirmed; no automatic retry" } });
@@ -667,8 +668,9 @@ var answerCodexElicitation = async (options, params, threadId, signal) => {
667
668
  const content = codexElicitationContent(plan, result.answers);
668
669
  if (!content) throw new Error("Invalid elicitation answer");
669
670
  return { action: "accept", content };
670
- } catch {
671
- writeDegraded("questions", { reason: "codex_elicitation_unanswered", fallback: "no form answer submitted", event: "mcpServer/elicitation/request" });
671
+ } catch (error) {
672
+ const sharedTerminalAnswersIt = options.shared === true && (signal.aborted || isCodexQuestionLeftWithTheLocalClient(error));
673
+ if (!sharedTerminalAnswersIt) writeDegraded("questions", { reason: "codex_elicitation_unanswered", fallback: "no form answer submitted", event: "mcpServer/elicitation/request" });
672
674
  return { action: "cancel", content: null };
673
675
  }
674
676
  };
@@ -869,6 +871,7 @@ export {
869
871
  claimOwnedQuestion,
870
872
  reportOwnedQuestion,
871
873
  planCodexElicitation,
874
+ isCodexQuestionLeftWithTheLocalClient,
872
875
  answerCodexQuestions,
873
876
  answerCodexElicitation,
874
877
  runCodexBridge
@@ -4,19 +4,19 @@ import {
4
4
  outcomeOfFailedAsk,
5
5
  reportMachineDenial,
6
6
  storedWaitDeadline
7
- } from "./chunk-V7VGDSNZ.js";
7
+ } from "./chunk-EP6S6VY3.js";
8
8
  import {
9
9
  isGatingMoment,
10
10
  recordKeylessMoment
11
- } from "./chunk-N3GB5RQH.js";
11
+ } from "./chunk-Y7WD72J7.js";
12
12
  import {
13
13
  isDeferAnswer,
14
14
  oncePerSession
15
- } from "./chunk-KRIG552M.js";
15
+ } from "./chunk-IF2UPWD2.js";
16
16
  import {
17
17
  activeHookSource,
18
18
  activeIdentity
19
- } from "./chunk-ZRQPJHNJ.js";
19
+ } from "./chunk-Y74IJ2IO.js";
20
20
  import {
21
21
  DEFAULT_SESSION,
22
22
  UNNAMED_ACTION,
@@ -40,7 +40,7 @@ import {
40
40
  reportEvent,
41
41
  scopePathFor,
42
42
  settleQuestionsForToolUse
43
- } from "./chunk-7S5HYDAO.js";
43
+ } from "./chunk-YVO4HIHX.js";
44
44
  import {
45
45
  askUser,
46
46
  cancelQuestion,
@@ -54,17 +54,17 @@ import {
54
54
  sendNotification,
55
55
  waitForQuestion,
56
56
  waitsForThePhone
57
- } from "./chunk-XOHT5UCY.js";
57
+ } from "./chunk-AWMMABVB.js";
58
58
  import {
59
59
  getMachineId
60
- } from "./chunk-GLM263DW.js";
60
+ } from "./chunk-LY3OJFBW.js";
61
61
  import {
62
62
  getApiKey,
63
63
  getBaseUrl
64
- } from "./chunk-W4H427YD.js";
64
+ } from "./chunk-VUS6QGND.js";
65
65
  import {
66
66
  NPX_LATEST_COMMAND
67
- } from "./chunk-WNEEQ7GJ.js";
67
+ } from "./chunk-ZOKMGBPR.js";
68
68
  import {
69
69
  AGENT_QUESTION_STRATEGY,
70
70
  AGENT_QUESTION_TOOL,
@@ -109,7 +109,7 @@ import {
109
109
  resolveGate,
110
110
  timeoutActionWithoutLocalPrompt,
111
111
  unansweredRefusalReason
112
- } from "./chunk-YWFL5ANU.js";
112
+ } from "./chunk-OR5F63C2.js";
113
113
 
114
114
  // src/claude-permission-rules.ts
115
115
  import { readFileSync, statSync } from "fs";
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  APPROVAL_SETTINGS_PATH
3
- } from "./chunk-GYHX4NIW.js";
3
+ } from "./chunk-5Q2FRMPC.js";
4
4
  import {
5
5
  readMacAppAgentKey
6
- } from "./chunk-TIVYEX3X.js";
6
+ } from "./chunk-K73CBZKW.js";
7
7
  import {
8
8
  findExportedKeyLines,
9
9
  isAdoptedMacAppKey,
@@ -13,13 +13,13 @@ import {
13
13
  readConfigFileKey,
14
14
  readKeySource,
15
15
  readMacAppKeyPrefix
16
- } from "./chunk-A45ILEPI.js";
16
+ } from "./chunk-XH3F66VD.js";
17
17
  import {
18
18
  absoluteUrl
19
- } from "./chunk-TVBQTGM7.js";
19
+ } from "./chunk-34RXPM5U.js";
20
20
  import {
21
21
  isValidApiKey
22
- } from "./chunk-YWFL5ANU.js";
22
+ } from "./chunk-OR5F63C2.js";
23
23
 
24
24
  // src/key-revocation.ts
25
25
  var SELF_REVOKE_PATH = "/api/v1/server/keys/self/revoke";
@@ -6,38 +6,38 @@ import {
6
6
  } from "./chunk-DWQYCOPI.js";
7
7
  import {
8
8
  ensureDaemonRunning
9
- } from "./chunk-DR2L7VV4.js";
9
+ } from "./chunk-ZMYLVFXC.js";
10
10
  import {
11
11
  hookOwnerOf
12
- } from "./chunk-C3HH6VQP.js";
12
+ } from "./chunk-WEY5ZHDB.js";
13
13
  import {
14
14
  transcriptEnvironmentPreference,
15
15
  transcriptsEnabled
16
- } from "./chunk-WSSBT75T.js";
16
+ } from "./chunk-JGNYCRB2.js";
17
17
  import {
18
18
  readTranscriptPreference
19
- } from "./chunk-A45ILEPI.js";
19
+ } from "./chunk-XH3F66VD.js";
20
20
  import {
21
21
  buildTranscriptRecords,
22
22
  decodePublicKey,
23
23
  generateSessionKey,
24
24
  wrapSessionKey
25
- } from "./chunk-LMFKL76J.js";
25
+ } from "./chunk-XNZB274I.js";
26
26
  import {
27
27
  fetchTranscriptRecipients,
28
28
  uploadTranscriptRecords
29
- } from "./chunk-YUBWJHWE.js";
29
+ } from "./chunk-KK2DIUVV.js";
30
30
  import {
31
31
  codexHome,
32
32
  pusharyDir
33
- } from "./chunk-B2DU67G6.js";
33
+ } from "./chunk-ZYYQJSIO.js";
34
34
  import {
35
35
  writeJsonAtomic
36
36
  } from "./chunk-AQFEP65J.js";
37
37
  import {
38
38
  getApiKey,
39
39
  getBaseUrl
40
- } from "./chunk-W4H427YD.js";
40
+ } from "./chunk-VUS6QGND.js";
41
41
 
42
42
  // src/transcript-registration.ts
43
43
  import { createHash } from "crypto";
@@ -14,19 +14,19 @@ import {
14
14
  } from "./chunk-FO3MDD26.js";
15
15
  import {
16
16
  reportedInstallSource
17
- } from "./chunk-33QBP3M5.js";
17
+ } from "./chunk-KEAIIVW3.js";
18
18
  import {
19
19
  callMcpTool
20
- } from "./chunk-JRB4U3S6.js";
20
+ } from "./chunk-LZYJMSOY.js";
21
21
  import {
22
22
  NPX_LATEST_COMMAND
23
- } from "./chunk-WNEEQ7GJ.js";
23
+ } from "./chunk-ZOKMGBPR.js";
24
24
  import {
25
25
  NO_PAIRING_COMPUTER,
26
26
  PAIR_TTL_SECONDS,
27
27
  classifyConfirmResponse,
28
28
  isAnswerSource
29
- } from "./chunk-YWFL5ANU.js";
29
+ } from "./chunk-OR5F63C2.js";
30
30
 
31
31
  // src/reach.ts
32
32
  var reachVerdict = (channels) => {
@@ -1,16 +1,16 @@
1
1
  import {
2
2
  openCodeConfigDirFrom
3
- } from "./chunk-LVA2RJNM.js";
3
+ } from "./chunk-LLRYP5TR.js";
4
4
  import {
5
5
  grokHome
6
- } from "./chunk-ZRQPJHNJ.js";
6
+ } from "./chunk-Y74IJ2IO.js";
7
7
  import {
8
8
  codexHomeFrom,
9
9
  resolvePathBinary
10
- } from "./chunk-B2DU67G6.js";
10
+ } from "./chunk-ZYYQJSIO.js";
11
11
  import {
12
12
  HOOK_COMPATIBLE_PROFILES
13
- } from "./chunk-YWFL5ANU.js";
13
+ } from "./chunk-OR5F63C2.js";
14
14
 
15
15
  // src/hermes-config.ts
16
16
  import { execFileSync } from "child_process";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  NPX_LATEST_COMMAND
3
- } from "./chunk-WNEEQ7GJ.js";
3
+ } from "./chunk-ZOKMGBPR.js";
4
4
 
5
5
  // src/config.ts
6
6
  import { readFileSync } from "fs";
@@ -2,23 +2,23 @@ import {
2
2
  CLAUDE_HOOK_EVENTS,
3
3
  GEMINI_HOOK_EVENTS,
4
4
  hasGeminiHooks
5
- } from "./chunk-CQ4VDI27.js";
5
+ } from "./chunk-25SYEAW4.js";
6
6
  import {
7
7
  AGENT_CHOICES
8
- } from "./chunk-RZKVGP2P.js";
8
+ } from "./chunk-PA54A437.js";
9
9
  import {
10
10
  BELL_HOOK_BINARY
11
- } from "./chunk-CQWXMLHZ.js";
11
+ } from "./chunk-XTVEW2NG.js";
12
12
  import {
13
13
  CODEX_HOOK_EVENTS,
14
14
  hasCodexHooks,
15
15
  holdBudgetOf
16
- } from "./chunk-B2DU67G6.js";
16
+ } from "./chunk-ZYYQJSIO.js";
17
17
  import {
18
18
  CURSOR_GATE_EVENTS,
19
19
  HOOK_LOCATOR_BINARY,
20
20
  hookCommandHoldBudget
21
- } from "./chunk-YWFL5ANU.js";
21
+ } from "./chunk-OR5F63C2.js";
22
22
 
23
23
  // src/diagnostics/bridge.ts
24
24
  import { execFileSync } from "child_process";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  pusharyDir
3
- } from "./chunk-B2DU67G6.js";
3
+ } from "./chunk-ZYYQJSIO.js";
4
4
  import {
5
5
  readJsonSafe,
6
6
  writeFileAtomic
@@ -13,7 +13,7 @@ import {
13
13
  serializeDeclinedAgents,
14
14
  withDeclinedAgent,
15
15
  withoutDeclinedAgent
16
- } from "./chunk-YWFL5ANU.js";
16
+ } from "./chunk-OR5F63C2.js";
17
17
 
18
18
  // src/declined-agents-file.ts
19
19
  import { join } from "path";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  readConfigFileKey
3
- } from "./chunk-A45ILEPI.js";
3
+ } from "./chunk-XH3F66VD.js";
4
4
 
5
5
  // src/bell/fleet.ts
6
6
  import { closeSync, constants, futimesSync, lstatSync, mkdirSync, openSync, readdirSync, unlinkSync } from "fs";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  resolveInstallSourceFor
3
- } from "./chunk-33QBP3M5.js";
3
+ } from "./chunk-KEAIIVW3.js";
4
4
  import {
5
5
  backupFile,
6
6
  readJsonSafe,
@@ -9,11 +9,11 @@ import {
9
9
  } from "./chunk-AQFEP65J.js";
10
10
  import {
11
11
  configFilePath
12
- } from "./chunk-W4H427YD.js";
12
+ } from "./chunk-VUS6QGND.js";
13
13
  import {
14
14
  API_KEY_PREFIX_PATTERN,
15
15
  isRecord
16
- } from "./chunk-YWFL5ANU.js";
16
+ } from "./chunk-OR5F63C2.js";
17
17
 
18
18
  // src/shell-alias.ts
19
19
  import { homedir } from "os";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  redactSecretsFromContent
3
- } from "./chunk-YWFL5ANU.js";
3
+ } from "./chunk-OR5F63C2.js";
4
4
 
5
5
  // src/crypto.ts
6
6
  import nacl from "tweetnacl";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  guardBinary
3
- } from "./chunk-B2DU67G6.js";
3
+ } from "./chunk-ZYYQJSIO.js";
4
4
 
5
5
  // src/bell/install.ts
6
6
  import { join } from "path";
@@ -3,18 +3,18 @@ import {
3
3
  addGeminiMcpServer,
4
4
  removeGeminiMcpServer,
5
5
  supportedClaudeEvents
6
- } from "./chunk-CQ4VDI27.js";
6
+ } from "./chunk-25SYEAW4.js";
7
7
  import {
8
8
  CLAUDE_CODE_AGENT,
9
9
  compatibleToolLookup
10
- } from "./chunk-7S5HYDAO.js";
10
+ } from "./chunk-YVO4HIHX.js";
11
11
  import {
12
12
  guardBinary,
13
13
  guardBinaryRefusing,
14
14
  holdBudgetOf,
15
15
  isProtectedByScope,
16
16
  registerHookEntry
17
- } from "./chunk-B2DU67G6.js";
17
+ } from "./chunk-ZYYQJSIO.js";
18
18
  import {
19
19
  HOOK_LOCATOR_BINARY,
20
20
  PHONE_ANSWERED_TOOLS,
@@ -25,7 +25,7 @@ import {
25
25
  pusharyMissingReason,
26
26
  refusalOutput,
27
27
  withHookHoldBudget
28
- } from "./chunk-YWFL5ANU.js";
28
+ } from "./chunk-OR5F63C2.js";
29
29
 
30
30
  // src/claude-config.ts
31
31
  import { join } from "path";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  isSafeReadOnlyCommand
3
- } from "./chunk-YWFL5ANU.js";
3
+ } from "./chunk-OR5F63C2.js";
4
4
 
5
5
  // src/ledger.ts
6
6
  import { appendFileSync, existsSync, mkdirSync, readFileSync, renameSync, rmSync, statSync } from "fs";
@@ -9,7 +9,7 @@ import {
9
9
  } from "./chunk-3EGEA4KH.js";
10
10
  import {
11
11
  getBaseUrl
12
- } from "./chunk-W4H427YD.js";
12
+ } from "./chunk-VUS6QGND.js";
13
13
 
14
14
  // src/cli/login-ui.ts
15
15
  import { hostname } from "os";