pushary 1.9.134 → 1.9.136

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 (133) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/dist/{api-7CZR7B53.js → api-5H25QRNM.js} +11 -11
  3. package/dist/bin/pushary-audit.js +3 -3
  4. package/dist/bin/pushary-bell-hook.js +28 -27
  5. package/dist/bin/pushary-bell.js +10 -10
  6. package/dist/bin/pushary-claude.js +47 -33
  7. package/dist/bin/pushary-clean.js +35 -34
  8. package/dist/bin/pushary-codex-bridge.js +23 -22
  9. package/dist/bin/pushary-codex-hook.js +58 -41
  10. package/dist/bin/pushary-codex-session.js +8 -8
  11. package/dist/bin/pushary-codex.js +16 -15
  12. package/dist/bin/pushary-connect.js +29 -28
  13. package/dist/bin/pushary-cowork.js +5 -5
  14. package/dist/bin/pushary-daemon.js +78 -59
  15. package/dist/bin/pushary-disconnect.js +28 -27
  16. package/dist/bin/pushary-display-hook.js +44 -17
  17. package/dist/bin/pushary-doctor.js +43 -42
  18. package/dist/bin/pushary-elicitation-hook.js +28 -27
  19. package/dist/bin/pushary-gemini-bridge.js +20 -17
  20. package/dist/bin/pushary-gemini-hook.js +32 -31
  21. package/dist/bin/pushary-hook.js +35 -33
  22. package/dist/bin/pushary-login.js +21 -21
  23. package/dist/bin/pushary-logout.js +27 -26
  24. package/dist/bin/pushary-mcp.js +12 -12
  25. package/dist/bin/pushary-mode.js +15 -15
  26. package/dist/bin/pushary-notification-hook.js +27 -26
  27. package/dist/bin/pushary-opencode-hook.js +31 -30
  28. package/dist/bin/pushary-permission-denied-hook.js +35 -33
  29. package/dist/bin/pushary-permission-hook.js +39 -35
  30. package/dist/bin/pushary-post-hook.js +33 -27
  31. package/dist/bin/pushary-prompt-hook.js +27 -26
  32. package/dist/bin/pushary-session-end-hook.js +27 -26
  33. package/dist/bin/pushary-session-start-hook.js +36 -35
  34. package/dist/bin/pushary-setup.js +50 -49
  35. package/dist/bin/pushary-stats.js +5 -5
  36. package/dist/bin/pushary-status.js +33 -32
  37. package/dist/bin/pushary-stop-hook.js +27 -26
  38. package/dist/bin/pushary-stopfailure-hook.js +27 -26
  39. package/dist/bin/pushary-suggestions.js +15 -15
  40. package/dist/bin/pushary-transcript-register.js +17 -17
  41. package/dist/bin/pushary-transcripts.js +25 -25
  42. package/dist/bin/pushary-upgrade.js +41 -40
  43. package/dist/bin/pushary-wait.js +15 -15
  44. package/dist/bin/pushary.js +7 -7
  45. package/dist/{chunk-ZJPBTJED.js → chunk-2E46RALI.js} +6 -6
  46. package/dist/{chunk-ZXJTTV7I.js → chunk-2MVKT7KH.js} +2 -2
  47. package/dist/{chunk-XWUPOTJV.js → chunk-2R4OVJHS.js} +5 -5
  48. package/dist/{chunk-IZJDVOJV.js → chunk-2XDVEBHI.js} +5 -5
  49. package/dist/{chunk-VO55SJSD.js → chunk-3HXOR6E5.js} +11 -8
  50. package/dist/{chunk-GKZMBU6T.js → chunk-3QBI5C6P.js} +2 -2
  51. package/dist/{chunk-RZBV5KTF.js → chunk-43DT3QWZ.js} +18 -5
  52. package/dist/{chunk-LBMCQWRX.js → chunk-4T72AHIA.js} +4 -4
  53. package/dist/{chunk-3TKTZOKG.js → chunk-54TZGPZP.js} +3 -3
  54. package/dist/{chunk-XHC3UNOK.js → chunk-5XDFQ6E3.js} +1 -1
  55. package/dist/{chunk-KIWFCW7M.js → chunk-62GD26OE.js} +2 -2
  56. package/dist/{chunk-RLQDVWZ4.js → chunk-6SWFS4GU.js} +2 -2
  57. package/dist/{chunk-JYCAAQUW.js → chunk-A2YJ2FBR.js} +3 -2
  58. package/dist/{chunk-RVGYXUOC.js → chunk-A4YOXS24.js} +3 -3
  59. package/dist/{chunk-7MIT5C7B.js → chunk-A7R43KOX.js} +3 -3
  60. package/dist/{chunk-MRHGK3Q3.js → chunk-D7AAAD6W.js} +193 -121
  61. package/dist/{chunk-X23GSBOH.js → chunk-DBIPNY7J.js} +3 -3
  62. package/dist/{chunk-M65LPNIO.js → chunk-DL67HX3D.js} +53 -10
  63. package/dist/{chunk-UJZ5YHSR.js → chunk-EJHD44ZN.js} +2 -2
  64. package/dist/{chunk-PHKCTMAV.js → chunk-EQZB5P6I.js} +2 -2
  65. package/dist/{chunk-3DCCMO23.js → chunk-FAF5RDWT.js} +6 -6
  66. package/dist/{chunk-FT5MTCKU.js → chunk-G73ACPR2.js} +2 -2
  67. package/dist/{chunk-QBJVECFY.js → chunk-GACQSKNG.js} +2 -2
  68. package/dist/{chunk-A44MRVWG.js → chunk-GS5FH3C2.js} +3 -3
  69. package/dist/{chunk-EA5EASYT.js → chunk-H2RE3IPK.js} +1 -1
  70. package/dist/{chunk-FJST6ZXC.js → chunk-HKJLPVPZ.js} +5 -5
  71. package/dist/{chunk-HW63OEVM.js → chunk-HY4ATVCT.js} +3 -3
  72. package/dist/{chunk-UZUDMZES.js → chunk-ICCM3DLT.js} +2 -2
  73. package/dist/{chunk-MF5ZQX7C.js → chunk-IHAKBLW2.js} +4 -4
  74. package/dist/{chunk-T6HX6OTY.js → chunk-IKBTG3OT.js} +1 -1
  75. package/dist/{chunk-RGVQOOGD.js → chunk-IRIXOH4U.js} +1 -1
  76. package/dist/{chunk-YNV5GURD.js → chunk-JZJ5CM6X.js} +5 -5
  77. package/dist/{chunk-4EQOCSJW.js → chunk-K7YJBVR3.js} +1 -1
  78. package/dist/{chunk-FTH4TSJ2.js → chunk-KLV2NQVT.js} +4 -4
  79. package/dist/{chunk-YI6RR4JP.js → chunk-KTVMIG32.js} +4 -4
  80. package/dist/{chunk-WZ4SIRMH.js → chunk-KYD3LHFB.js} +1 -1
  81. package/dist/{chunk-J4UNR655.js → chunk-L2GADKFL.js} +6 -6
  82. package/dist/{chunk-I6MI4NWX.js → chunk-L7Q57R4J.js} +10 -10
  83. package/dist/{chunk-MJVDFNP2.js → chunk-LAWI6NQK.js} +1 -1
  84. package/dist/{chunk-BKH4LQJC.js → chunk-LNF36PTF.js} +2 -2
  85. package/dist/{chunk-GQPXW6BL.js → chunk-MENTZJHA.js} +1 -1
  86. package/dist/{chunk-6JY44IZI.js → chunk-MQ3I5OIC.js} +8 -8
  87. package/dist/{chunk-SZYKS433.js → chunk-MQMVJDII.js} +1 -1
  88. package/dist/{chunk-75FJZR2M.js → chunk-N3VCBXI6.js} +3 -3
  89. package/dist/{chunk-EPPH5RMJ.js → chunk-NN43KGTN.js} +4 -4
  90. package/dist/{chunk-PFHRW3LR.js → chunk-NZD6ISCL.js} +3 -3
  91. package/dist/{chunk-QVIDOVT6.js → chunk-O5T53LZ5.js} +42 -25
  92. package/dist/{chunk-V2T5ZDMP.js → chunk-PHA6AFOR.js} +3 -3
  93. package/dist/{chunk-CVBSETPW.js → chunk-PNVTPEO5.js} +3 -3
  94. package/dist/{chunk-PPUIIP3O.js → chunk-POV2TBFA.js} +11 -11
  95. package/dist/{chunk-LR3PIGRS.js → chunk-Q2VV77IY.js} +3 -3
  96. package/dist/{chunk-NYFUU23B.js → chunk-QXATIKHQ.js} +1 -1
  97. package/dist/{chunk-N5P2FLOJ.js → chunk-R7CQF2P3.js} +20 -5
  98. package/dist/{chunk-W4FJR57E.js → chunk-R7KC57PC.js} +2 -2
  99. package/dist/{chunk-VME5NXCM.js → chunk-RPFSVNH6.js} +3 -3
  100. package/dist/{chunk-VRUEKURE.js → chunk-RRUP72V6.js} +1 -1
  101. package/dist/{chunk-237FYIVC.js → chunk-TLK5YLIE.js} +4 -4
  102. package/dist/{chunk-2YS7YEUW.js → chunk-U3OLXV5Z.js} +2 -2
  103. package/dist/chunk-UP5QXEUU.js +31 -0
  104. package/dist/{chunk-L5RSLIBQ.js → chunk-V7ZY7P2X.js} +6 -6
  105. package/dist/{chunk-NSBWFX7H.js → chunk-VBWJ756P.js} +5 -5
  106. package/dist/{chunk-3PGANQ4K.js → chunk-VO77WHK4.js} +6 -6
  107. package/dist/{chunk-C4UH6YPD.js → chunk-VV7WRIQT.js} +4 -4
  108. package/dist/{chunk-42PVKPHM.js → chunk-VVN3RPV6.js} +1 -1
  109. package/dist/{chunk-XMZVQF2J.js → chunk-WM7OY63L.js} +1 -1
  110. package/dist/{chunk-DS7XMYUB.js → chunk-WNT4JHK3.js} +1 -1
  111. package/dist/{chunk-2KN53MPE.js → chunk-WXUEOHYY.js} +5 -5
  112. package/dist/chunk-Y47BMZUR.js +36 -0
  113. package/dist/{chunk-HOPJEPL4.js → chunk-YHX5YF77.js} +4 -4
  114. package/dist/{chunk-KWICQAP7.js → chunk-YOV3LHOL.js} +3 -3
  115. package/dist/{chunk-2U4MCUVZ.js → chunk-YQQGIDBC.js} +1 -1
  116. package/dist/{chunk-UDAXXR43.js → chunk-YURIU333.js} +5 -5
  117. package/dist/{chunk-D2KJKAYM.js → chunk-ZWIJJYN3.js} +4 -4
  118. package/dist/{chunk-PG23ENSN.js → chunk-ZWLSXECG.js} +2 -2
  119. package/dist/{chunk-25UU4Q4V.js → chunk-ZWURBNA3.js} +1 -1
  120. package/dist/{codex-app-cards-switch-D2SODMQN.js → codex-app-cards-switch-Z7TMF2OR.js} +11 -11
  121. package/dist/{codex-card-routing-X2HUY2AV.js → codex-card-routing-LQJEJNTS.js} +2 -2
  122. package/dist/{codex-desktop-launch-CFKIJZVB.js → codex-desktop-launch-HKXGKL3T.js} +1 -1
  123. package/dist/{codex-session-launch-YGH5UUAH.js → codex-session-launch-DTGH7ZKM.js} +20 -19
  124. package/dist/{config-5SNDVPS2.js → config-34VUNHK6.js} +3 -3
  125. package/dist/{global-upgrade-U4V7KWH6.js → global-upgrade-5UAH5DCG.js} +9 -9
  126. package/dist/{identity-DCRNA3J3.js → identity-UFJEWGEU.js} +4 -4
  127. package/dist/{live-capabilities-H7J5ANZ3.js → live-capabilities-BL3SHFWX.js} +4 -4
  128. package/dist/{paths-3DUQGU4V.js → paths-YA5ROXGC.js} +3 -3
  129. package/dist/{reapply-LNVBPUWL.js → reapply-OPQF4DPQ.js} +29 -28
  130. package/dist/src/index.js +34 -32
  131. package/dist/{upgrade-lock-3T7JLBHT.js → upgrade-lock-AZLOOGKV.js} +4 -4
  132. package/dist/{usage-XLJK7OTL.js → usage-ZSV4LFDL.js} +3 -3
  133. package/package.json +1 -1
@@ -623,6 +623,13 @@ var firstString = (record4, keys2) => {
623
623
  }
624
624
  return void 0;
625
625
  };
626
+ var pathsNamedIn = (record4, keys2) => keys2.flatMap((key) => {
627
+ const value = record4[key];
628
+ return typeof value === "string" && value.length > 0 ? [value] : [];
629
+ });
630
+ var namesOneFile = (paths, resolvePath) => new Set(paths.map(resolvePath)).size === 1;
631
+ var filePathKeysOf = (profile) => [...profile.pathInputKeys, ...CANONICAL_PATH_KEYS];
632
+ var namesAFilePath = (profile, toolInput) => pathsNamedIn(toolInput, filePathKeysOf(profile)).length > 0;
626
633
  var withCanonicalInputKeys = (profile, toolInput) => {
627
634
  const renamed = Object.entries(profile.inputKeyAliases).flatMap(([agentKey, canonicalKey]) => toolInput[agentKey] === void 0 || toolInput[canonicalKey] !== void 0 ? [] : [[canonicalKey, toolInput[agentKey]]]);
628
635
  return renamed.length === 0 ? toolInput : { ...toolInput, ...Object.fromEntries(renamed) };
@@ -666,8 +673,9 @@ var toToolLookup = (profile, toolName, toolInput, resolvePath = (path) => path)
666
673
  return { tool, input: { command, ...context }, unreadable: false };
667
674
  }
668
675
  if (!PATH_TOOLS.has(tool)) return { tool, input: toolInput, unreadable: false };
669
- const filePath = firstString(toolInput, [...profile.pathInputKeys, ...CANONICAL_PATH_KEYS]);
670
- if (!filePath) return { tool, input: toolInput, unreadable: true };
676
+ const paths = pathsNamedIn(toolInput, filePathKeysOf(profile));
677
+ const [filePath] = paths;
678
+ if (!filePath || !namesOneFile(paths, resolvePath)) return { tool, input: toolInput, unreadable: true };
671
679
  return { tool, input: { ...withCanonicalInputKeys(profile, toolInput), file_path: resolvePath(filePath) }, unreadable: false };
672
680
  };
673
681
  var NO_AGENT_PROMPT_REASON = "Pushary needs an answer from the phone before this can run, and this agent has no approval prompt of its own here, so nothing ran. Ask the user, then try again.";
@@ -797,7 +805,9 @@ var QWEN_CODE = {
797
805
  permissionRuleFile: null,
798
806
  configDirIsShared: false,
799
807
  soleGate: null,
800
- taskControl: null
808
+ taskControl: null,
809
+ promptFollowsPreToolUseAllow: true,
810
+ permissionRequestPaths: "shell_escaped"
801
811
  };
802
812
  var CODEBUDDY = {
803
813
  agentType: "codebuddy",
@@ -821,7 +831,9 @@ var CODEBUDDY = {
821
831
  permissionRuleFile: homeJson(".codebuddy", "settings.json"),
822
832
  configDirIsShared: false,
823
833
  soleGate: null,
824
- taskControl: null
834
+ taskControl: null,
835
+ promptFollowsPreToolUseAllow: false,
836
+ permissionRequestPaths: "as_pre_tool_use"
825
837
  };
826
838
  var QODER = {
827
839
  agentType: "qoder",
@@ -845,7 +857,9 @@ var QODER = {
845
857
  permissionRuleFile: null,
846
858
  configDirIsShared: false,
847
859
  soleGate: null,
848
- taskControl: null
860
+ taskControl: null,
861
+ promptFollowsPreToolUseAllow: false,
862
+ permissionRequestPaths: "as_pre_tool_use"
849
863
  };
850
864
  var DROID = {
851
865
  agentType: "droid",
@@ -874,7 +888,9 @@ var DROID = {
874
888
  permissionRuleFile: null,
875
889
  configDirIsShared: false,
876
890
  soleGate: null,
877
- taskControl: null
891
+ taskControl: null,
892
+ promptFollowsPreToolUseAllow: false,
893
+ permissionRequestPaths: "as_pre_tool_use"
878
894
  };
879
895
  var DEVIN = {
880
896
  agentType: "devin",
@@ -908,7 +924,9 @@ var DEVIN = {
908
924
  permissionRuleFile: null,
909
925
  configDirIsShared: false,
910
926
  soleGate: null,
911
- taskControl: null
927
+ taskControl: null,
928
+ promptFollowsPreToolUseAllow: false,
929
+ permissionRequestPaths: "as_pre_tool_use"
912
930
  };
913
931
  var ANTIGRAVITY_TASK_CONTROL = {
914
932
  name: "manage_task",
@@ -959,7 +977,9 @@ var ANTIGRAVITY_CLI = {
959
977
  receipt: [".pushary", "setup", "antigravity-tool-permission.json"],
960
978
  coveredTools: [ANTIGRAVITY_TASK_CONTROL.name]
961
979
  },
962
- taskControl: ANTIGRAVITY_TASK_CONTROL
980
+ taskControl: ANTIGRAVITY_TASK_CONTROL,
981
+ promptFollowsPreToolUseAllow: false,
982
+ permissionRequestPaths: "as_pre_tool_use"
963
983
  };
964
984
  var GROK = {
965
985
  agentType: "grok",
@@ -993,7 +1013,9 @@ var GROK = {
993
1013
  permissionRuleFile: null,
994
1014
  configDirIsShared: false,
995
1015
  soleGate: null,
996
- taskControl: null
1016
+ taskControl: null,
1017
+ promptFollowsPreToolUseAllow: false,
1018
+ permissionRequestPaths: "as_pre_tool_use"
997
1019
  };
998
1020
  var HOOK_COMPATIBLE_PROFILES = Object.freeze([QWEN_CODE, CODEBUDDY, QODER, DROID, DEVIN, ANTIGRAVITY_CLI, GROK]);
999
1021
  var hookCompatibleProfile = (agentType) => HOOK_COMPATIBLE_PROFILES.find((profile) => profile.agentType === agentType);
@@ -1538,6 +1560,25 @@ var COMMAND_ACKNOWLEDGEMENT_STATES = [
1538
1560
  ...COMMAND_SETTLEMENT_STATES
1539
1561
  ];
1540
1562
  var isCommandAcknowledgementReceipt = (value) => typeof value === "object" && value !== null && "ok" in value && value.ok === true;
1563
+ var COMMAND_ACK_ERRORS = {
1564
+ unauthorized: { status: 401, error: "Unauthorized", final: false },
1565
+ forbiddenKeyScope: { status: 403, error: "Forbidden key scope", final: true },
1566
+ invalidAck: { status: 400, error: "invalid_ack", final: true },
1567
+ invalidMachineId: { status: 400, error: "invalid_machine_id", final: true },
1568
+ invalidDispatch: { status: 400, error: "invalid_dispatch", final: true },
1569
+ machineRequired: { status: 400, error: "machine_required", final: true },
1570
+ ackUnavailable: { status: 503, error: "ack_unavailable", final: false },
1571
+ claimMismatch: { status: 409, error: "claim_mismatch", final: true },
1572
+ staleCommand: { status: 409, error: "stale_command", final: true }
1573
+ };
1574
+ var COMMAND_ACK_ERROR_RESPONSES = Object.values(COMMAND_ACK_ERRORS);
1575
+ var commandAckErrorOf = (body) => isRecord(body) && typeof body.error === "string" ? body.error : null;
1576
+ var isFinalCommandAckRefusal = (status, body) => {
1577
+ const error = commandAckErrorOf(body);
1578
+ return COMMAND_ACK_ERROR_RESPONSES.some(
1579
+ (response) => response.final && response.status === status && response.error === error
1580
+ );
1581
+ };
1541
1582
 
1542
1583
  // ../contracts/src/claude-wake.ts
1543
1584
  var CLAUDE_WAKE = {
@@ -9468,14 +9509,15 @@ export {
9468
9509
  parseHermesReplayCursor,
9469
9510
  hermesPendingAdmissionId,
9470
9511
  hermesReplayAdmissionId,
9512
+ isRecord,
9471
9513
  COMMAND_RECOVERY,
9472
9514
  isCommandAcknowledgementReceipt,
9515
+ isFinalCommandAckRefusal,
9473
9516
  CLAUDE_WAKE,
9474
9517
  isClaudeWakePrompt,
9475
9518
  claudeWakeDecision,
9476
9519
  CLAUDE_WAKE_API,
9477
9520
  claudeWakeWaitingOn,
9478
- isRecord,
9479
9521
  AGENT_QUESTION_HEADER_MAX,
9480
9522
  AGENT_QUESTION_OPTION_MAX,
9481
9523
  AGENT_QUESTION_DESCRIPTION_MAX,
@@ -9505,6 +9547,7 @@ export {
9505
9547
  isGrokSessionEndStop,
9506
9548
  isCompatibleAgentType,
9507
9549
  PHONE_ANSWERED_TOOLS,
9550
+ namesAFilePath,
9508
9551
  canonicalToolName,
9509
9552
  TASK_OUTPUT_TOOL,
9510
9553
  TASK_STOP_TOOL,
@@ -3,10 +3,10 @@ import {
3
3
  } from "./chunk-CYTPQDQY.js";
4
4
  import {
5
5
  parseVersion
6
- } from "./chunk-A44MRVWG.js";
6
+ } from "./chunk-GS5FH3C2.js";
7
7
  import {
8
8
  isRecord
9
- } from "./chunk-M65LPNIO.js";
9
+ } from "./chunk-DL67HX3D.js";
10
10
 
11
11
  // src/setup/agent-probe.ts
12
12
  import { execSync } from "child_process";
@@ -9,13 +9,13 @@ import {
9
9
  installedCodexApp,
10
10
  readCodexAppRuntime,
11
11
  shellQuoted
12
- } from "./chunk-VME5NXCM.js";
12
+ } from "./chunk-RPFSVNH6.js";
13
13
  import {
14
14
  writeHuman
15
15
  } from "./chunk-QCGNGEGE.js";
16
16
  import {
17
17
  xml
18
- } from "./chunk-3DCCMO23.js";
18
+ } from "./chunk-FAF5RDWT.js";
19
19
  import {
20
20
  writeFileAtomic
21
21
  } from "./chunk-TODDEIYG.js";
@@ -4,19 +4,19 @@ import {
4
4
  } from "./chunk-H6CL3T2S.js";
5
5
  import {
6
6
  getMachineId
7
- } from "./chunk-DS7XMYUB.js";
7
+ } from "./chunk-WNT4JHK3.js";
8
8
  import {
9
9
  readControlMode
10
- } from "./chunk-CVBSETPW.js";
10
+ } from "./chunk-PNVTPEO5.js";
11
11
  import {
12
12
  pusharyDir
13
- } from "./chunk-W4FJR57E.js";
13
+ } from "./chunk-R7KC57PC.js";
14
14
  import {
15
15
  resolveGlobalBinary
16
- } from "./chunk-A44MRVWG.js";
16
+ } from "./chunk-GS5FH3C2.js";
17
17
  import {
18
18
  getApiKey
19
- } from "./chunk-T6HX6OTY.js";
19
+ } from "./chunk-IKBTG3OT.js";
20
20
  import {
21
21
  readJsonSafe,
22
22
  writeFileAtomic,
@@ -32,7 +32,7 @@ import {
32
32
  } from "./chunk-WIIMW5YO.js";
33
33
  import {
34
34
  isRecord
35
- } from "./chunk-M65LPNIO.js";
35
+ } from "./chunk-DL67HX3D.js";
36
36
 
37
37
  // src/daemon-lifecycle.ts
38
38
  import { dirname, join, win32 as win32Path } from "path";
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  claudeConfigDir
3
- } from "./chunk-W4FJR57E.js";
3
+ } from "./chunk-R7KC57PC.js";
4
4
  import {
5
5
  claudePermissionRulesFromSettings
6
- } from "./chunk-M65LPNIO.js";
6
+ } from "./chunk-DL67HX3D.js";
7
7
 
8
8
  // src/claude-permission-rules.ts
9
9
  import { readFileSync, statSync } from "fs";
@@ -1,13 +1,13 @@
1
1
  import {
2
2
  configFilePath
3
- } from "./chunk-T6HX6OTY.js";
3
+ } from "./chunk-IKBTG3OT.js";
4
4
  import {
5
5
  readJsonSafe,
6
6
  writeJsonAtomic
7
7
  } from "./chunk-TODDEIYG.js";
8
8
  import {
9
9
  readSetupOutcomeProperties
10
- } from "./chunk-M65LPNIO.js";
10
+ } from "./chunk-DL67HX3D.js";
11
11
 
12
12
  // src/diagnostics/service-runtime.ts
13
13
  var unescapeXml = (value) => value.replaceAll("&quot;", '"').replaceAll("&apos;", "'").replaceAll("&lt;", "<").replaceAll("&gt;", ">").replaceAll("&amp;", "&");
@@ -415,9 +415,9 @@ var installGlobally = (options) => {
415
415
  }
416
416
  const started = (async () => {
417
417
  if (!npmIsOnPath()) throw new NpmMissingError();
418
- const { withUpgradeLock } = await import("./global-upgrade-U4V7KWH6.js");
419
- const { installWithUpgradeLock, ownsUpgradeLock } = await import("./upgrade-lock-3T7JLBHT.js");
420
- const { autoUpdateLock } = await import("./paths-3DUQGU4V.js");
418
+ const { withUpgradeLock } = await import("./global-upgrade-5UAH5DCG.js");
419
+ const { installWithUpgradeLock, ownsUpgradeLock } = await import("./upgrade-lock-AZLOOGKV.js");
420
+ const { autoUpdateLock } = await import("./paths-YA5ROXGC.js");
421
421
  let result = "skipped";
422
422
  const install = async () => {
423
423
  const platform = process.platform;
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  DEFAULT_SESSION
3
- } from "./chunk-MRHGK3Q3.js";
3
+ } from "./chunk-D7AAAD6W.js";
4
4
 
5
5
  // src/answer.ts
6
6
  var isDeferAnswer = (value) => value === "defer";
@@ -3,24 +3,24 @@ import {
3
3
  expectedLaunchCapabilities,
4
4
  hasSpawnProvider,
5
5
  resolveControlPolicy
6
- } from "./chunk-X23GSBOH.js";
6
+ } from "./chunk-DBIPNY7J.js";
7
7
  import {
8
8
  daemonHasRemoteProof,
9
9
  daemonServiceManagerAvailable,
10
10
  hasDaemonServiceDefinition,
11
11
  readDaemonNeedsLogin,
12
12
  readDaemonStatus
13
- } from "./chunk-3DCCMO23.js";
13
+ } from "./chunk-FAF5RDWT.js";
14
14
  import {
15
15
  getMachineId
16
- } from "./chunk-DS7XMYUB.js";
16
+ } from "./chunk-WNT4JHK3.js";
17
17
  import {
18
18
  readControlMode,
19
19
  readKeySource
20
- } from "./chunk-CVBSETPW.js";
20
+ } from "./chunk-PNVTPEO5.js";
21
21
  import {
22
22
  getBaseUrl
23
- } from "./chunk-T6HX6OTY.js";
23
+ } from "./chunk-IKBTG3OT.js";
24
24
  import {
25
25
  getPackageVersion
26
26
  } from "./chunk-WIIMW5YO.js";
@@ -4,15 +4,15 @@ import {
4
4
  claimThrottle,
5
5
  releaseThrottle,
6
6
  reportEvent
7
- } from "./chunk-MRHGK3Q3.js";
7
+ } from "./chunk-D7AAAD6W.js";
8
8
  import {
9
9
  deriveToolTarget,
10
10
  permissionDeniedAction
11
- } from "./chunk-JYCAAQUW.js";
11
+ } from "./chunk-A2YJ2FBR.js";
12
12
  import {
13
13
  machineDecisionFor,
14
14
  wireVerdictFor
15
- } from "./chunk-M65LPNIO.js";
15
+ } from "./chunk-DL67HX3D.js";
16
16
 
17
17
  // src/machine-decision-audit.ts
18
18
  import { basename } from "path";
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-POFBE6ZY.js";
4
4
  import {
5
5
  autoUpdateState
6
- } from "./chunk-W4FJR57E.js";
6
+ } from "./chunk-R7KC57PC.js";
7
7
  import {
8
8
  readJsonSafe,
9
9
  writeJsonAtomic
@@ -17,7 +17,7 @@ import {
17
17
  } from "./chunk-WIIMW5YO.js";
18
18
  import {
19
19
  isAutoUpdateResult
20
- } from "./chunk-M65LPNIO.js";
20
+ } from "./chunk-DL67HX3D.js";
21
21
 
22
22
  // src/auto-update.ts
23
23
  import { spawn } from "child_process";
@@ -1,20 +1,20 @@
1
1
  import {
2
2
  openCodeConfigDirFrom
3
- } from "./chunk-NSBWFX7H.js";
3
+ } from "./chunk-VBWJ756P.js";
4
4
  import {
5
5
  nativeClaudeInstallPath
6
6
  } from "./chunk-CYTPQDQY.js";
7
7
  import {
8
8
  grokHome
9
- } from "./chunk-RZBV5KTF.js";
9
+ } from "./chunk-43DT3QWZ.js";
10
10
  import {
11
11
  claudeConfigDir,
12
12
  clineDataDirectory,
13
13
  codexHomeFrom
14
- } from "./chunk-W4FJR57E.js";
14
+ } from "./chunk-R7KC57PC.js";
15
15
  import {
16
16
  HOOK_COMPATIBLE_PROFILES
17
- } from "./chunk-M65LPNIO.js";
17
+ } from "./chunk-DL67HX3D.js";
18
18
 
19
19
  // src/vscode-config.ts
20
20
  import { homedir } from "os";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  NPX_LATEST_COMMAND
3
- } from "./chunk-SZYKS433.js";
3
+ } from "./chunk-MQMVJDII.js";
4
4
 
5
5
  // src/config.ts
6
6
  import { readFileSync } from "fs";
@@ -2,7 +2,7 @@ import {
2
2
  localRepoKey,
3
3
  normalizeRepoRemote,
4
4
  parseGitBranch
5
- } from "./chunk-M65LPNIO.js";
5
+ } from "./chunk-DL67HX3D.js";
6
6
 
7
7
  // src/repo.ts
8
8
  import { existsSync, readFileSync, statSync } from "fs";
@@ -1,12 +1,12 @@
1
1
  import {
2
2
  readMacAppAgentKey
3
- } from "./chunk-FTH4TSJ2.js";
3
+ } from "./chunk-KLV2NQVT.js";
4
4
  import {
5
5
  API_KEYS_PATH
6
- } from "./chunk-GKZMBU6T.js";
6
+ } from "./chunk-3QBI5C6P.js";
7
7
  import {
8
8
  absoluteUrl
9
- } from "./chunk-LR3PIGRS.js";
9
+ } from "./chunk-Q2VV77IY.js";
10
10
  import {
11
11
  findExportedKeyLines,
12
12
  isAdoptedMacAppKey,
@@ -16,10 +16,10 @@ import {
16
16
  readConfigFileKey,
17
17
  readKeySource,
18
18
  readMacAppKeyPrefix
19
- } from "./chunk-CVBSETPW.js";
19
+ } from "./chunk-PNVTPEO5.js";
20
20
  import {
21
21
  isValidApiKey
22
- } from "./chunk-M65LPNIO.js";
22
+ } from "./chunk-DL67HX3D.js";
23
23
 
24
24
  // src/key-revocation.ts
25
25
  var SELF_REVOKE_PATH = "/api/v1/server/keys/self/revoke";
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-BG4HHB7E.js";
4
4
  import {
5
5
  renderCommandHelp
6
- } from "./chunk-SZYKS433.js";
6
+ } from "./chunk-MQMVJDII.js";
7
7
  import {
8
8
  getPackageVersion
9
9
  } from "./chunk-WIIMW5YO.js";
@@ -1,19 +1,19 @@
1
1
  import {
2
2
  macAppBridgeAvailable
3
- } from "./chunk-NSBWFX7H.js";
3
+ } from "./chunk-VBWJ756P.js";
4
4
  import {
5
5
  keyPrefix
6
- } from "./chunk-CVBSETPW.js";
6
+ } from "./chunk-PNVTPEO5.js";
7
7
  import {
8
8
  bridgeAgentKey
9
- } from "./chunk-W4FJR57E.js";
9
+ } from "./chunk-R7KC57PC.js";
10
10
  import {
11
11
  readJsonSafe
12
12
  } from "./chunk-TODDEIYG.js";
13
13
  import {
14
14
  isRecord,
15
15
  isValidApiKey
16
- } from "./chunk-M65LPNIO.js";
16
+ } from "./chunk-DL67HX3D.js";
17
17
 
18
18
  // src/shared-mcp-key.ts
19
19
  var asRecord = (value) => value !== null && typeof value === "object" && !Array.isArray(value) ? value : void 0;
@@ -13,16 +13,16 @@ import {
13
13
  } from "./chunk-G66WIAST.js";
14
14
  import {
15
15
  keyPrefix
16
- } from "./chunk-CVBSETPW.js";
16
+ } from "./chunk-PNVTPEO5.js";
17
17
  import {
18
18
  getBaseUrl
19
- } from "./chunk-T6HX6OTY.js";
19
+ } from "./chunk-IKBTG3OT.js";
20
20
  import {
21
21
  NPX_LATEST_COMMAND
22
- } from "./chunk-SZYKS433.js";
22
+ } from "./chunk-MQMVJDII.js";
23
23
  import {
24
24
  isValidApiKey
25
- } from "./chunk-M65LPNIO.js";
25
+ } from "./chunk-DL67HX3D.js";
26
26
 
27
27
  // src/cli/login-ui.ts
28
28
  import { hostname } from "os";
@@ -2,7 +2,7 @@ import {
2
2
  isApprovalMode,
3
3
  isRecord,
4
4
  isTimeoutAction
5
- } from "./chunk-M65LPNIO.js";
5
+ } from "./chunk-DL67HX3D.js";
6
6
 
7
7
  // src/cli/settings-response.ts
8
8
  var isFiniteNumber = (value) => typeof value === "number" && Number.isFinite(value);
@@ -6,21 +6,21 @@ import {
6
6
  McpToolError,
7
7
  SubscriptionRequiredError,
8
8
  callMcpTool
9
- } from "./chunk-2KN53MPE.js";
9
+ } from "./chunk-WXUEOHYY.js";
10
10
  import {
11
11
  fetchAsCredential
12
- } from "./chunk-42PVKPHM.js";
12
+ } from "./chunk-VVN3RPV6.js";
13
13
  import {
14
14
  installNetworkDefaults,
15
15
  isNetworkFailure
16
- } from "./chunk-V2T5ZDMP.js";
16
+ } from "./chunk-PHA6AFOR.js";
17
17
  import {
18
18
  clientReportClaims
19
- } from "./chunk-W4FJR57E.js";
19
+ } from "./chunk-R7KC57PC.js";
20
20
  import {
21
21
  getApiKey,
22
22
  getBaseUrl
23
- } from "./chunk-T6HX6OTY.js";
23
+ } from "./chunk-IKBTG3OT.js";
24
24
  import {
25
25
  ASK_AGENT_NAME_MAX,
26
26
  CLIENT_REPORT_PATH,
@@ -29,7 +29,7 @@ import {
29
29
  TOOL_FAILURE_CODES,
30
30
  degradedLine,
31
31
  truncateLine
32
- } from "./chunk-M65LPNIO.js";
32
+ } from "./chunk-DL67HX3D.js";
33
33
 
34
34
  // src/api.ts
35
35
  import { randomUUID } from "crypto";
@@ -8,13 +8,13 @@ import {
8
8
  } from "./chunk-G66WIAST.js";
9
9
  import {
10
10
  ensureDaemonRunning
11
- } from "./chunk-3DCCMO23.js";
11
+ } from "./chunk-FAF5RDWT.js";
12
12
  import {
13
13
  hookOwnerOf
14
- } from "./chunk-237FYIVC.js";
14
+ } from "./chunk-TLK5YLIE.js";
15
15
  import {
16
16
  hookMeaning
17
- } from "./chunk-JYCAAQUW.js";
17
+ } from "./chunk-A2YJ2FBR.js";
18
18
  import {
19
19
  buildTranscriptRecords,
20
20
  decodePublicKey,
@@ -25,29 +25,29 @@ import {
25
25
  recordSealerFor,
26
26
  uploadTranscriptRecords,
27
27
  wrapSessionKey
28
- } from "./chunk-KWICQAP7.js";
28
+ } from "./chunk-YOV3LHOL.js";
29
29
  import {
30
30
  external_exports
31
31
  } from "./chunk-XMSDA5WA.js";
32
32
  import {
33
33
  transcriptEnvironmentPreference,
34
34
  transcriptsEnabled
35
- } from "./chunk-25UU4Q4V.js";
35
+ } from "./chunk-ZWURBNA3.js";
36
36
  import {
37
37
  fetchAsCredential
38
- } from "./chunk-42PVKPHM.js";
38
+ } from "./chunk-VVN3RPV6.js";
39
39
  import {
40
40
  readTranscriptPreference
41
- } from "./chunk-CVBSETPW.js";
41
+ } from "./chunk-PNVTPEO5.js";
42
42
  import {
43
43
  claudeConfigDir,
44
44
  codexHome,
45
45
  pusharyDir
46
- } from "./chunk-W4FJR57E.js";
46
+ } from "./chunk-R7KC57PC.js";
47
47
  import {
48
48
  getApiKey,
49
49
  getBaseUrl
50
- } from "./chunk-T6HX6OTY.js";
50
+ } from "./chunk-IKBTG3OT.js";
51
51
  import {
52
52
  writeJsonAtomic,
53
53
  writeJsonAtomicDurable
@@ -59,7 +59,7 @@ import {
59
59
  isHookSource,
60
60
  isRecord,
61
61
  redactSecretsFromContent
62
- } from "./chunk-M65LPNIO.js";
62
+ } from "./chunk-DL67HX3D.js";
63
63
 
64
64
  // src/transcript-recipient-pin.ts
65
65
  import { createHash } from "crypto";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  guardBinary
3
- } from "./chunk-W4FJR57E.js";
3
+ } from "./chunk-R7KC57PC.js";
4
4
 
5
5
  // src/bell/install.ts
6
6
  import { join } from "path";
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  configFilePath
3
- } from "./chunk-T6HX6OTY.js";
3
+ } from "./chunk-IKBTG3OT.js";
4
4
  import {
5
5
  normalizeInstallSource
6
- } from "./chunk-M65LPNIO.js";
6
+ } from "./chunk-DL67HX3D.js";
7
7
 
8
8
  // src/install-source.ts
9
9
  import { readFileSync } from "fs";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  readConfigFileKey
3
- } from "./chunk-CVBSETPW.js";
3
+ } from "./chunk-PNVTPEO5.js";
4
4
 
5
5
  // src/bell/fleet.ts
6
6
  import { closeSync, constants, futimesSync, lstatSync, mkdirSync, openSync, readdirSync, unlinkSync } from "fs";
@@ -1,31 +1,31 @@
1
1
  import {
2
2
  MANAGED_CLAUDE_SETTINGS_BY_PLATFORM
3
- } from "./chunk-FT5MTCKU.js";
3
+ } from "./chunk-G73ACPR2.js";
4
4
  import {
5
5
  declinedAgentsFile,
6
6
  readDeclinedAgents
7
- } from "./chunk-PG23ENSN.js";
7
+ } from "./chunk-ZWLSXECG.js";
8
8
  import {
9
9
  OPENCODE_HOOK_BINARY,
10
10
  openCodeConfigDir,
11
11
  openCodePluginArgv,
12
12
  openCodePluginFile
13
- } from "./chunk-NSBWFX7H.js";
13
+ } from "./chunk-VBWJ756P.js";
14
14
  import {
15
15
  liveCursorGateCoverage
16
- } from "./chunk-EPPH5RMJ.js";
16
+ } from "./chunk-NN43KGTN.js";
17
17
  import {
18
18
  compatibleConfigFile,
19
19
  compatibleHookEvents,
20
20
  grokHome,
21
21
  parseConfigDocument
22
- } from "./chunk-RZBV5KTF.js";
22
+ } from "./chunk-43DT3QWZ.js";
23
23
  import {
24
24
  DEFAULT_HOOKS_KEY_PATH,
25
25
  GEMINI_HOOK_BINARY,
26
26
  GEMINI_HOOK_EVENTS,
27
27
  hooksAt
28
- } from "./chunk-237FYIVC.js";
28
+ } from "./chunk-TLK5YLIE.js";
29
29
  import {
30
30
  CODEX_EARLIER_APPROVAL_MATCHERS,
31
31
  CODEX_HOOK_BINARY,
@@ -53,7 +53,7 @@ import {
53
53
  parseHookArgv,
54
54
  parseHookCommand,
55
55
  supportedClaudeEvents
56
- } from "./chunk-W4FJR57E.js";
56
+ } from "./chunk-R7KC57PC.js";
57
57
  import {
58
58
  readRegularJsonFile,
59
59
  readRegularTextFile
@@ -67,7 +67,7 @@ import {
67
67
  OPENCODE_APPROVAL_EVENT,
68
68
  isRecord,
69
69
  matcherMatchesEveryCall
70
- } from "./chunk-M65LPNIO.js";
70
+ } from "./chunk-DL67HX3D.js";
71
71
 
72
72
  // src/hook-wiring.ts
73
73
  import { createHash } from "crypto";