pushary 1.9.108 → 1.9.110

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 (128) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/dist/{api-RL5CPDTH.js → api-4MS4CPKY.js} +11 -10
  3. package/dist/bin/pushary-audit.js +3 -3
  4. package/dist/bin/pushary-bell-hook.js +27 -26
  5. package/dist/bin/pushary-bell.js +10 -10
  6. package/dist/bin/pushary-claude.js +25 -24
  7. package/dist/bin/pushary-clean.js +34 -33
  8. package/dist/bin/pushary-codex-bridge.js +21 -20
  9. package/dist/bin/pushary-codex-hook.js +32 -31
  10. package/dist/bin/pushary-codex-session.js +8 -8
  11. package/dist/bin/pushary-codex.js +15 -14
  12. package/dist/bin/pushary-connect.js +28 -27
  13. package/dist/bin/pushary-cowork.js +5 -5
  14. package/dist/bin/pushary-daemon.js +41 -40
  15. package/dist/bin/pushary-disconnect.js +27 -26
  16. package/dist/bin/pushary-display-hook.js +17 -16
  17. package/dist/bin/pushary-doctor.js +42 -41
  18. package/dist/bin/pushary-elicitation-hook.js +27 -26
  19. package/dist/bin/pushary-gemini-bridge.js +15 -14
  20. package/dist/bin/pushary-gemini-hook.js +29 -28
  21. package/dist/bin/pushary-hook.js +32 -31
  22. package/dist/bin/pushary-login.js +21 -20
  23. package/dist/bin/pushary-logout.js +26 -25
  24. package/dist/bin/pushary-mcp.js +12 -11
  25. package/dist/bin/pushary-mode.js +15 -15
  26. package/dist/bin/pushary-notification-hook.js +26 -25
  27. package/dist/bin/pushary-opencode-hook.js +28 -27
  28. package/dist/bin/pushary-permission-denied-hook.js +32 -31
  29. package/dist/bin/pushary-permission-hook.js +32 -31
  30. package/dist/bin/pushary-post-hook.js +26 -25
  31. package/dist/bin/pushary-prompt-hook.js +26 -25
  32. package/dist/bin/pushary-session-end-hook.js +26 -25
  33. package/dist/bin/pushary-session-start-hook.js +35 -34
  34. package/dist/bin/pushary-setup.js +46 -45
  35. package/dist/bin/pushary-stats.js +5 -5
  36. package/dist/bin/pushary-status.js +32 -31
  37. package/dist/bin/pushary-stop-hook.js +26 -25
  38. package/dist/bin/pushary-stopfailure-hook.js +26 -25
  39. package/dist/bin/pushary-suggestions.js +15 -15
  40. package/dist/bin/pushary-transcript-register.js +17 -16
  41. package/dist/bin/pushary-transcripts.js +25 -24
  42. package/dist/bin/pushary-upgrade.js +40 -39
  43. package/dist/bin/pushary-wait.js +15 -15
  44. package/dist/bin/pushary.js +7 -7
  45. package/dist/{chunk-UUJQK7DJ.js → chunk-2MJL3ZVW.js} +1 -1
  46. package/dist/{chunk-ZB2WNJXZ.js → chunk-2Q4V4ZP4.js} +4 -4
  47. package/dist/{chunk-NM44KCO6.js → chunk-2U54YY4M.js} +3 -3
  48. package/dist/{chunk-J2HIFUAT.js → chunk-3FQTC27T.js} +7 -7
  49. package/dist/{chunk-HONSMBF2.js → chunk-3OLVEVGW.js} +6 -6
  50. package/dist/{chunk-GUIS6ASL.js → chunk-3QZSG2L4.js} +1 -1
  51. package/dist/{chunk-P3H6I656.js → chunk-4LRFQMTQ.js} +10 -10
  52. package/dist/{chunk-2HC5ISDW.js → chunk-5IRJERK2.js} +2 -2
  53. package/dist/{chunk-KHZCJP7P.js → chunk-5RWBSMCI.js} +17 -14
  54. package/dist/{chunk-S75UO75C.js → chunk-6ZPGNVXS.js} +29 -6
  55. package/dist/{chunk-LMDXQIYT.js → chunk-ALA2OMOM.js} +1 -1
  56. package/dist/{chunk-2BILLNZ4.js → chunk-AXOY7CKN.js} +14 -14
  57. package/dist/{chunk-X3QG5RT5.js → chunk-AZBKSMYC.js} +1 -1
  58. package/dist/{chunk-76JOLPST.js → chunk-BCZSRQ3L.js} +1 -1
  59. package/dist/{chunk-5IAW6G3K.js → chunk-CTBH3E3Z.js} +2 -2
  60. package/dist/{chunk-A37RKFI3.js → chunk-CUOFHW7F.js} +4 -4
  61. package/dist/{chunk-YDQ6OJMF.js → chunk-DLS43QDO.js} +1 -1
  62. package/dist/{chunk-Z5FV7LTD.js → chunk-DOHQKE4Y.js} +2 -2
  63. package/dist/{chunk-IAASPG5B.js → chunk-DP62DH2Q.js} +11 -8
  64. package/dist/{chunk-ZCBTCW3T.js → chunk-DQKTKMR3.js} +3 -3
  65. package/dist/{chunk-UXIUCMFO.js → chunk-DSA5E7IB.js} +5 -5
  66. package/dist/chunk-DZMKNP3I.js +81 -0
  67. package/dist/{chunk-B5Q44HKN.js → chunk-E4ZZMAWF.js} +1 -1
  68. package/dist/{chunk-XN527J4W.js → chunk-FBDUY6RN.js} +1 -1
  69. package/dist/{chunk-4XE3DVF7.js → chunk-FE4CSARF.js} +6 -3
  70. package/dist/{chunk-LK3WA6MK.js → chunk-FLH5MJOS.js} +3 -3
  71. package/dist/{chunk-GBHP3LML.js → chunk-FRY3LB5N.js} +2 -2
  72. package/dist/{chunk-JCSJEMTA.js → chunk-FYSQQW6Q.js} +2 -2
  73. package/dist/{chunk-I3IUS4SR.js → chunk-G2TL4OEY.js} +1 -1
  74. package/dist/{chunk-EMSRB2KH.js → chunk-GOUUFBBP.js} +3 -3
  75. package/dist/{chunk-DIVVLBZZ.js → chunk-HENHPRJN.js} +6 -6
  76. package/dist/{chunk-7X55ZQS3.js → chunk-I2LPRMDP.js} +4 -4
  77. package/dist/{chunk-43PNDDB3.js → chunk-JDIWIRUN.js} +6 -6
  78. package/dist/{chunk-VKTW5WVB.js → chunk-JMQORTFD.js} +2 -2
  79. package/dist/{chunk-GESW4OSZ.js → chunk-JPR4S254.js} +3 -3
  80. package/dist/{chunk-VK4PPVWB.js → chunk-KAG2BWDB.js} +6 -6
  81. package/dist/{chunk-G5HGV6D4.js → chunk-KS3OJ4C2.js} +2 -2
  82. package/dist/{chunk-DS672F57.js → chunk-LJH2QDF3.js} +13 -10
  83. package/dist/{chunk-IHQRLJEP.js → chunk-M6EYOBLJ.js} +5 -5
  84. package/dist/{chunk-TXMYET7E.js → chunk-MOBSQM4B.js} +3 -3
  85. package/dist/{chunk-DH22FQAS.js → chunk-MZDFTXXO.js} +1 -1
  86. package/dist/{chunk-DA57ZI62.js → chunk-NBNWMQH4.js} +7 -3
  87. package/dist/{chunk-CKWV3T7O.js → chunk-NGZB5BVO.js} +6 -6
  88. package/dist/{chunk-O5TB2LMQ.js → chunk-NMSRA7QO.js} +18 -3
  89. package/dist/{chunk-S2TTGX6F.js → chunk-NQAY6G3S.js} +4 -4
  90. package/dist/{chunk-PFZCLG55.js → chunk-OJZ3CVGK.js} +9 -6
  91. package/dist/{chunk-OINGJICB.js → chunk-OKZR3LFO.js} +4 -4
  92. package/dist/{chunk-VCWLGM77.js → chunk-PKN4XIBP.js} +2 -2
  93. package/dist/{chunk-GKCDMAUM.js → chunk-QYBQCMRP.js} +1 -1
  94. package/dist/{chunk-772NHSQB.js → chunk-S2FLLNQI.js} +2 -2
  95. package/dist/{chunk-HH5NNPB5.js → chunk-S7ZX7V5S.js} +1 -1
  96. package/dist/{chunk-RKQVMFHN.js → chunk-SQR7GGOH.js} +5 -5
  97. package/dist/{chunk-MFJHLVIZ.js → chunk-T72BV3CU.js} +4 -4
  98. package/dist/{chunk-ATVZAEM5.js → chunk-TBJ4OMO4.js} +5 -5
  99. package/dist/{chunk-IGO5NDQY.js → chunk-TJUDVI2Y.js} +2 -2
  100. package/dist/{chunk-LIPMEFRA.js → chunk-TKXM3QYK.js} +2 -2
  101. package/dist/{chunk-HLYZEZOI.js → chunk-TR6AJV4Z.js} +2 -2
  102. package/dist/{chunk-FJYUB3ZK.js → chunk-TTDJHOYY.js} +3 -3
  103. package/dist/{chunk-J5PUKKCT.js → chunk-UNHXJLHP.js} +5 -5
  104. package/dist/{chunk-CJTJ55DR.js → chunk-UWQKGWBF.js} +1 -1
  105. package/dist/{chunk-6DKMZBRK.js → chunk-WEWTT7FE.js} +1 -1
  106. package/dist/{chunk-ASCQXNCL.js → chunk-WGQIJJIS.js} +1 -1
  107. package/dist/{chunk-JLJJRBTD.js → chunk-WKBXLLDY.js} +5 -5
  108. package/dist/{chunk-4EMPELDR.js → chunk-WKXSLMKC.js} +4 -4
  109. package/dist/{chunk-FUTFQSRA.js → chunk-X3ROGIHG.js} +1 -1
  110. package/dist/{chunk-B7O4CXFX.js → chunk-XF3K42EV.js} +3 -3
  111. package/dist/{chunk-LL7SW4RL.js → chunk-XNMSVXB4.js} +3 -3
  112. package/dist/{chunk-FE5JENEJ.js → chunk-YLLQZ6MR.js} +2 -2
  113. package/dist/{chunk-OBZQPBUI.js → chunk-ZCFPKN72.js} +4 -4
  114. package/dist/{codex-app-cards-switch-FD2ZWLYL.js → codex-app-cards-switch-MPIXI3DK.js} +11 -11
  115. package/dist/codex-card-routing-YQIWKPSG.js +20 -0
  116. package/dist/{codex-desktop-launch-BN5OABPN.js → codex-desktop-launch-GTKUXNPD.js} +1 -1
  117. package/dist/{codex-session-launch-O3PHQWTS.js → codex-session-launch-AHYAAGRT.js} +18 -17
  118. package/dist/{config-KWP7UXYG.js → config-XMZVS6DQ.js} +3 -3
  119. package/dist/{global-upgrade-NBSY5436.js → global-upgrade-CBBBQIWS.js} +9 -9
  120. package/dist/{identity-RP5I7KTV.js → identity-OQXQU2WN.js} +4 -4
  121. package/dist/{live-capabilities-XC6C47ZH.js → live-capabilities-3UHWJHLY.js} +4 -4
  122. package/dist/{paths-OE5APZ4Q.js → paths-GMKZGF5F.js} +3 -3
  123. package/dist/{reapply-DRZ32BIB.js → reapply-C3WFUQZA.js} +28 -27
  124. package/dist/src/index.d.ts +2 -0
  125. package/dist/src/index.js +31 -30
  126. package/dist/{upgrade-lock-LWTVHYAJ.js → upgrade-lock-J6MD575X.js} +4 -4
  127. package/dist/{usage-5YESCANM.js → usage-KYQUBGEW.js} +3 -3
  128. package/package.json +1 -1
@@ -2,43 +2,43 @@
2
2
  import {
3
3
  waitResponse,
4
4
  waitWindowResponse
5
- } from "../chunk-ASCQXNCL.js";
5
+ } from "../chunk-WGQIJJIS.js";
6
6
  import {
7
7
  exitOnFailedSettingsRequest
8
- } from "../chunk-43PNDDB3.js";
8
+ } from "../chunk-JDIWIRUN.js";
9
9
  import {
10
10
  describeWaitLadder
11
11
  } from "../chunk-CVWG2N3Y.js";
12
- import "../chunk-772NHSQB.js";
12
+ import "../chunk-S2FLLNQI.js";
13
13
  import {
14
14
  APPROVAL_RULES_PATH,
15
15
  PUSH_WINDOW_COMMAND,
16
16
  PUSH_WINDOW_RESET_COMMAND
17
- } from "../chunk-2HC5ISDW.js";
17
+ } from "../chunk-5IRJERK2.js";
18
18
  import {
19
19
  createIo
20
20
  } from "../chunk-FO3MDD26.js";
21
21
  import {
22
22
  exitOnHelpFlag
23
- } from "../chunk-B5Q44HKN.js";
23
+ } from "../chunk-E4ZZMAWF.js";
24
24
  import {
25
25
  parseFlags
26
26
  } from "../chunk-YPY4YCIZ.js";
27
27
  import {
28
28
  absoluteUrl
29
- } from "../chunk-EMSRB2KH.js";
29
+ } from "../chunk-GOUUFBBP.js";
30
30
  import {
31
31
  pusharyFetch
32
- } from "../chunk-LL7SW4RL.js";
33
- import "../chunk-I3IUS4SR.js";
34
- import "../chunk-B7O4CXFX.js";
35
- import "../chunk-Z5FV7LTD.js";
36
- import "../chunk-JCSJEMTA.js";
37
- import "../chunk-ZCBTCW3T.js";
32
+ } from "../chunk-XNMSVXB4.js";
33
+ import "../chunk-G2TL4OEY.js";
34
+ import "../chunk-XF3K42EV.js";
35
+ import "../chunk-DOHQKE4Y.js";
36
+ import "../chunk-FYSQQW6Q.js";
37
+ import "../chunk-DQKTKMR3.js";
38
38
  import {
39
39
  getApiKey,
40
40
  getBaseUrl
41
- } from "../chunk-GKCDMAUM.js";
41
+ } from "../chunk-QYBQCMRP.js";
42
42
  import {
43
43
  UsageError,
44
44
  exitCodeFor
@@ -47,9 +47,9 @@ import "../chunk-T5I4PKOQ.js";
47
47
  import {
48
48
  EXIT
49
49
  } from "../chunk-BG4HHB7E.js";
50
- import "../chunk-YDQ6OJMF.js";
50
+ import "../chunk-DLS43QDO.js";
51
51
  import "../chunk-ZVU6WMMU.js";
52
- import "../chunk-O5TB2LMQ.js";
52
+ import "../chunk-NMSRA7QO.js";
53
53
  import "../chunk-MLKGABMK.js";
54
54
 
55
55
  // bin/pushary-wait.ts
@@ -1,11 +1,11 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  installNetworkDefaults
4
- } from "../chunk-LL7SW4RL.js";
5
- import "../chunk-I3IUS4SR.js";
6
- import "../chunk-JCSJEMTA.js";
7
- import "../chunk-ZCBTCW3T.js";
8
- import "../chunk-GKCDMAUM.js";
4
+ } from "../chunk-XNMSVXB4.js";
5
+ import "../chunk-G2TL4OEY.js";
6
+ import "../chunk-FYSQQW6Q.js";
7
+ import "../chunk-DQKTKMR3.js";
8
+ import "../chunk-QYBQCMRP.js";
9
9
  import "../chunk-YU2EUD7O.js";
10
10
  import "../chunk-T5I4PKOQ.js";
11
11
  import {
@@ -15,11 +15,11 @@ import {
15
15
  LISTED_COMMANDS,
16
16
  renderHelp,
17
17
  resolveCommandName
18
- } from "../chunk-YDQ6OJMF.js";
18
+ } from "../chunk-DLS43QDO.js";
19
19
  import {
20
20
  getPackageVersion
21
21
  } from "../chunk-ZVU6WMMU.js";
22
- import "../chunk-O5TB2LMQ.js";
22
+ import "../chunk-NMSRA7QO.js";
23
23
  import "../chunk-MLKGABMK.js";
24
24
 
25
25
  // src/cli/runtime.ts
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  DEFAULT_SESSION
3
- } from "./chunk-KHZCJP7P.js";
3
+ } from "./chunk-5RWBSMCI.js";
4
4
 
5
5
  // src/answer.ts
6
6
  var isDeferAnswer = (value) => value === "defer";
@@ -12,7 +12,7 @@ import {
12
12
  reachVerdict,
13
13
  reachesYou,
14
14
  verifyDelivery
15
- } from "./chunk-VK4PPVWB.js";
15
+ } from "./chunk-KAG2BWDB.js";
16
16
  import {
17
17
  humanIsTty,
18
18
  writeHuman
@@ -24,14 +24,14 @@ import {
24
24
  } from "./chunk-FO3MDD26.js";
25
25
  import {
26
26
  reportedInstallSource
27
- } from "./chunk-Z5FV7LTD.js";
27
+ } from "./chunk-DOHQKE4Y.js";
28
28
  import {
29
29
  NPX_LATEST_COMMAND
30
- } from "./chunk-YDQ6OJMF.js";
30
+ } from "./chunk-DLS43QDO.js";
31
31
  import {
32
32
  NO_PAIRING_COMPUTER,
33
33
  PAIR_TTL_SECONDS
34
- } from "./chunk-O5TB2LMQ.js";
34
+ } from "./chunk-NMSRA7QO.js";
35
35
 
36
36
  // src/onboarding.ts
37
37
  import qrcodeTerminal from "qrcode-terminal";
@@ -5,10 +5,10 @@ import {
5
5
  hermesAppWiringRecord,
6
6
  hermesConfigReceipt,
7
7
  hermesSetupReceipt
8
- } from "./chunk-JCSJEMTA.js";
8
+ } from "./chunk-FYSQQW6Q.js";
9
9
  import {
10
10
  resolvePathBinary
11
- } from "./chunk-ZCBTCW3T.js";
11
+ } from "./chunk-DQKTKMR3.js";
12
12
  import {
13
13
  readJsonSafe,
14
14
  writeJsonAtomic
@@ -19,7 +19,7 @@ import {
19
19
  } from "./chunk-ZVU6WMMU.js";
20
20
  import {
21
21
  isRecord
22
- } from "./chunk-O5TB2LMQ.js";
22
+ } from "./chunk-NMSRA7QO.js";
23
23
 
24
24
  // src/hermes/plugin-payload.ts
25
25
  import { createHash } from "crypto";
@@ -1,30 +1,30 @@
1
1
  import {
2
2
  announceSubscriptionRequired,
3
3
  isDeferAnswer
4
- } from "./chunk-UUJQK7DJ.js";
4
+ } from "./chunk-2MJL3ZVW.js";
5
5
  import {
6
6
  AUTO_DECISION_WINDOW_MS,
7
7
  DEFAULT_SESSION,
8
8
  claimThrottle,
9
9
  releaseThrottle,
10
10
  reportEvent
11
- } from "./chunk-KHZCJP7P.js";
11
+ } from "./chunk-5RWBSMCI.js";
12
12
  import {
13
13
  deriveToolTarget,
14
14
  permissionDeniedAction
15
- } from "./chunk-76JOLPST.js";
15
+ } from "./chunk-BCZSRQ3L.js";
16
16
  import {
17
17
  askUser,
18
18
  isDecisionStopped,
19
19
  isQuestionLimitRefusal,
20
20
  waitForQuestion
21
- } from "./chunk-IAASPG5B.js";
21
+ } from "./chunk-DP62DH2Q.js";
22
22
  import {
23
23
  SubscriptionRequiredError
24
- } from "./chunk-PFZCLG55.js";
24
+ } from "./chunk-OJZ3CVGK.js";
25
25
  import {
26
26
  getMachineId
27
- } from "./chunk-I3IUS4SR.js";
27
+ } from "./chunk-G2TL4OEY.js";
28
28
  import {
29
29
  ASK_CONTEXT_MAX,
30
30
  agentQuestionContext,
@@ -36,7 +36,7 @@ import {
36
36
  questionsShownAsASet,
37
37
  shouldDeferToNativeMode,
38
38
  wireVerdictFor
39
- } from "./chunk-O5TB2LMQ.js";
39
+ } from "./chunk-NMSRA7QO.js";
40
40
 
41
41
  // src/machine-decision-audit.ts
42
42
  import { basename } from "path";
@@ -4,19 +4,19 @@ import {
4
4
  } from "./chunk-XHKBHWLX.js";
5
5
  import {
6
6
  getMachineId
7
- } from "./chunk-I3IUS4SR.js";
7
+ } from "./chunk-G2TL4OEY.js";
8
8
  import {
9
9
  readControlMode
10
- } from "./chunk-B7O4CXFX.js";
10
+ } from "./chunk-XF3K42EV.js";
11
11
  import {
12
12
  pusharyDir
13
- } from "./chunk-JCSJEMTA.js";
13
+ } from "./chunk-FYSQQW6Q.js";
14
14
  import {
15
15
  resolveGlobalBinary
16
- } from "./chunk-ZCBTCW3T.js";
16
+ } from "./chunk-DQKTKMR3.js";
17
17
  import {
18
18
  getApiKey
19
- } from "./chunk-GKCDMAUM.js";
19
+ } from "./chunk-QYBQCMRP.js";
20
20
  import {
21
21
  readJsonSafe,
22
22
  writeFileAtomic,
@@ -32,7 +32,7 @@ import {
32
32
  } from "./chunk-ZVU6WMMU.js";
33
33
  import {
34
34
  isRecord
35
- } from "./chunk-O5TB2LMQ.js";
35
+ } from "./chunk-NMSRA7QO.js";
36
36
 
37
37
  // src/daemon-lifecycle.ts
38
38
  import { dirname, join, win32 as win32Path } from "path";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  guardBinary
3
- } from "./chunk-JCSJEMTA.js";
3
+ } from "./chunk-FYSQQW6Q.js";
4
4
 
5
5
  // src/bell/install.ts
6
6
  import { join } from "path";
@@ -1,13 +1,13 @@
1
1
  import {
2
2
  ensureCodexTrustsPusharyHooks
3
- } from "./chunk-VKTW5WVB.js";
3
+ } from "./chunk-JMQORTFD.js";
4
4
  import {
5
5
  hermesReceiptPaths,
6
6
  hermesSetupPredatesThePluginFolder,
7
7
  installHermesPlugin,
8
8
  refreshHermesPluginFiles,
9
9
  shippedHermesPlugin
10
- } from "./chunk-NM44KCO6.js";
10
+ } from "./chunk-2U54YY4M.js";
11
11
  import {
12
12
  fxIgnoresInstructionsFile,
13
13
  fxInstructionsBody,
@@ -16,7 +16,7 @@ import {
16
16
  macAppFxBridge,
17
17
  refreshClineKey,
18
18
  switchFxHttpEntryToBridge
19
- } from "./chunk-UXIUCMFO.js";
19
+ } from "./chunk-DSA5E7IB.js";
20
20
  import {
21
21
  OPENCODE_HOOK_BINARY,
22
22
  agentHookOwner,
@@ -28,16 +28,16 @@ import {
28
28
  openCodePluginDir,
29
29
  openCodeWired,
30
30
  withOpenCodeAskRules
31
- } from "./chunk-IHQRLJEP.js";
31
+ } from "./chunk-M6EYOBLJ.js";
32
32
  import {
33
33
  detectClaudeVersion
34
- } from "./chunk-IGO5NDQY.js";
34
+ } from "./chunk-TJUDVI2Y.js";
35
35
  import {
36
36
  addCompatibleHooks,
37
37
  compatibleConfigFile,
38
38
  compatibleInstructionsFile,
39
39
  hasCompatibleHooks
40
- } from "./chunk-JLJJRBTD.js";
40
+ } from "./chunk-WKBXLLDY.js";
41
41
  import {
42
42
  GEMINI_HOOK_BINARY,
43
43
  addGeminiHooks,
@@ -49,7 +49,7 @@ import {
49
49
  geminiWired,
50
50
  hasGeminiHooks,
51
51
  planHooks
52
- } from "./chunk-MFJHLVIZ.js";
52
+ } from "./chunk-T72BV3CU.js";
53
53
  import {
54
54
  CLAUDE_HOOK_BINARY,
55
55
  CLAUDE_HOOK_EVENTS,
@@ -95,13 +95,13 @@ import {
95
95
  renderAgentInstructions,
96
96
  supportedClaudeEvents,
97
97
  vscodePluginMcp
98
- } from "./chunk-JCSJEMTA.js";
98
+ } from "./chunk-FYSQQW6Q.js";
99
99
  import {
100
100
  formatVersion,
101
101
  hookCommandsUseBareNames,
102
102
  resolveGlobalBinDir,
103
103
  resolveGlobalBinary
104
- } from "./chunk-ZCBTCW3T.js";
104
+ } from "./chunk-DQKTKMR3.js";
105
105
  import {
106
106
  readJsonSafe,
107
107
  writeFileAtomic,
@@ -111,7 +111,7 @@ import {
111
111
  HOOK_COMPATIBLE_PROFILES,
112
112
  isCompatibleAgentType,
113
113
  isRecord
114
- } from "./chunk-O5TB2LMQ.js";
114
+ } from "./chunk-NMSRA7QO.js";
115
115
 
116
116
  // src/reapply.ts
117
117
  import { dirname, join } from "path";
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  absoluteUrl
3
- } from "./chunk-EMSRB2KH.js";
3
+ } from "./chunk-GOUUFBBP.js";
4
4
  import {
5
5
  KEY_SCOPE
6
- } from "./chunk-O5TB2LMQ.js";
6
+ } from "./chunk-NMSRA7QO.js";
7
7
 
8
8
  // src/cli/approval-settings-pages.ts
9
9
  var API_KEYS_PATH = "/dashboard/agent/settings";
@@ -27,11 +27,11 @@ import {
27
27
  toolResultErrorText,
28
28
  transcriptTokensIn,
29
29
  transcriptUsageRequest
30
- } from "./chunk-76JOLPST.js";
30
+ } from "./chunk-BCZSRQ3L.js";
31
31
  import {
32
32
  branchFor,
33
33
  repoKeyFor
34
- } from "./chunk-LMDXQIYT.js";
34
+ } from "./chunk-ALA2OMOM.js";
35
35
  import {
36
36
  cancelQuestion,
37
37
  clientErrorKindOf,
@@ -39,31 +39,34 @@ import {
39
39
  reportClientError,
40
40
  sendNotification,
41
41
  waitForAnswer
42
- } from "./chunk-IAASPG5B.js";
42
+ } from "./chunk-DP62DH2Q.js";
43
43
  import {
44
44
  withRetry
45
- } from "./chunk-PFZCLG55.js";
45
+ } from "./chunk-OJZ3CVGK.js";
46
+ import {
47
+ fetchAsCredential
48
+ } from "./chunk-DZMKNP3I.js";
46
49
  import {
47
50
  getMachineId
48
- } from "./chunk-I3IUS4SR.js";
51
+ } from "./chunk-G2TL4OEY.js";
49
52
  import {
50
53
  reportedInstallSource
51
- } from "./chunk-Z5FV7LTD.js";
54
+ } from "./chunk-DOHQKE4Y.js";
52
55
  import {
53
56
  IDLE_PROMPT_NOTIFICATION,
54
57
  NOTIFICATION_PUSH_TYPES,
55
58
  POSTTOOLUSE_MIRROR_ONLY_TOOLS,
56
59
  canonicalJson,
57
60
  claudeConfigDir
58
- } from "./chunk-JCSJEMTA.js";
61
+ } from "./chunk-FYSQQW6Q.js";
59
62
  import {
60
63
  compareVersion,
61
64
  parseVersion
62
- } from "./chunk-ZCBTCW3T.js";
65
+ } from "./chunk-DQKTKMR3.js";
63
66
  import {
64
67
  getApiKey,
65
68
  getBaseUrl
66
- } from "./chunk-GKCDMAUM.js";
69
+ } from "./chunk-QYBQCMRP.js";
67
70
  import {
68
71
  writeFileAtomic,
69
72
  writeJsonAtomicDurable
@@ -88,7 +91,7 @@ import {
88
91
  resolveAutoResolveOrigin,
89
92
  resolvePolicy,
90
93
  unansweredRefusalReason
91
- } from "./chunk-O5TB2LMQ.js";
94
+ } from "./chunk-NMSRA7QO.js";
92
95
 
93
96
  // src/pending.ts
94
97
  import { join } from "path";
@@ -378,7 +381,7 @@ var fetchPolicy = async (apiKey, agent, repoAware = false, sessionId) => {
378
381
  if (sessionId) params.set("sessionId", sessionId);
379
382
  const query = params.toString();
380
383
  const url = query ? `${baseUrl}/api/mcp/policy?${query}` : `${baseUrl}/api/mcp/policy`;
381
- const response = await fetch(url, {
384
+ const response = await fetchAsCredential(apiKey, url, {
382
385
  headers: { "Authorization": `Bearer ${apiKey}` },
383
386
  signal: AbortSignal.timeout(1e4)
384
387
  });
@@ -476,7 +479,7 @@ var fetchModeState = async (apiKey, sessionId, reuseWithinMs = 0, signal) => {
476
479
  try {
477
480
  const baseUrl = getBaseUrl();
478
481
  const url = sessionId ? `${baseUrl}/api/mcp/mode?session=${encodeURIComponent(sessionId)}` : `${baseUrl}/api/mcp/mode`;
479
- const response = await fetch(url, {
482
+ const response = await fetchAsCredential(apiKey, url, {
480
483
  headers: { "Authorization": `Bearer ${apiKey}` },
481
484
  signal: AbortSignal.any([AbortSignal.timeout(3e3), ...signal ? [signal] : []])
482
485
  });
@@ -1177,7 +1180,7 @@ var acknowledgePendingCommand = async (apiKey, baseUrl, commandId, sessionId, ma
1177
1180
  try {
1178
1181
  signal?.throwIfAborted();
1179
1182
  if (timeoutMs <= 0) return false;
1180
- const response = await fetch(`${baseUrl}/api/agent/command/ack`, {
1183
+ const response = await fetchAsCredential(apiKey, `${baseUrl}/api/agent/command/ack`, {
1181
1184
  method: "POST",
1182
1185
  headers: {
1183
1186
  "Content-Type": "application/json",
@@ -1214,7 +1217,7 @@ var reportEvent = async (event, options = {}) => {
1214
1217
  const timeoutMs = postTimeoutMs(options.timeoutMs ?? 1e4);
1215
1218
  if (timeoutMs <= 0) return null;
1216
1219
  const storedCommand = clientCanDrain ? readPendingCommand(sessionKey, receiptNamespace) : null;
1217
- const res = await fetch(`${baseUrl}/api/agent/event`, {
1220
+ const res = await fetchAsCredential(apiKey, `${baseUrl}/api/agent/event`, {
1218
1221
  method: "POST",
1219
1222
  headers: {
1220
1223
  "Content-Type": "application/json",
@@ -53,6 +53,16 @@ var codexPermissionFormOf = (message) => {
53
53
  if (!isRecord(meta) || meta.codex_approval_kind !== TOOL_CALL_APPROVAL) return null;
54
54
  return { requestId: message.id, threadId: params.threadId, serverName: params.serverName, mode: params.mode, sentence: params.message, meta };
55
55
  };
56
+ var NO_TOOL_PARAMS = {};
57
+ var codexFormToolCallOf = (message) => {
58
+ const form = codexPermissionFormOf(message);
59
+ if (form === null || !isIdentifier(form.meta.tool_name)) return null;
60
+ return {
61
+ serverName: form.serverName,
62
+ toolName: form.meta.tool_name,
63
+ toolParams: isRecord(form.meta.tool_params) ? form.meta.tool_params : NO_TOOL_PARAMS
64
+ };
65
+ };
56
66
  var codexFormCameFrom = (message, servers) => isRecord(message) && message.method === CODEX_APP_CARD_METHOD && isRecord(message.params) && typeof message.params.serverName === "string" && servers.includes(message.params.serverName);
57
67
 
58
68
  // src/codex-app-runtime.ts
@@ -521,9 +531,11 @@ var loadedOnce = (load) => {
521
531
  };
522
532
 
523
533
  // src/codex-desktop-proxy.ts
524
- var loadThePhone = () => import("./api-RL5CPDTH.js");
534
+ var loadThePhone = () => import("./api-4MS4CPKY.js");
535
+ var loadTheCardRouting = () => import("./codex-card-routing-YQIWKPSG.js");
525
536
  var theFirstCardLoadsAgain = () => {
526
537
  };
538
+ var ASKS_WITHOUT_ROUTING = {};
527
539
  var APP_SERVER_COMMAND = "app-server";
528
540
  var CONFIG_FLAGS = ["-c", "--config"];
529
541
  var CONFIG_FLAG_PREFIXES = ["-c=", "--config="];
@@ -692,11 +704,14 @@ var CodexAppCards = class {
692
704
  this.options = options;
693
705
  this.timing = options.timing ?? USUAL_TIMING;
694
706
  this.thePhone = loadedOnce(options.loadPhone ?? loadThePhone);
707
+ this.theCardRouting = loadedOnce(options.loadCardRouting ?? loadTheCardRouting);
695
708
  void this.thePhone().catch(theFirstCardLoadsAgain);
709
+ void this.theCardRouting().catch(theFirstCardLoadsAgain);
696
710
  }
697
711
  ledger = new CodexAppCardLedger();
698
712
  questions = /* @__PURE__ */ new Map();
699
713
  thePhone;
714
+ theCardRouting;
700
715
  stoodDown = false;
701
716
  saidAQuestionWasUnknown = false;
702
717
  timing;
@@ -740,7 +755,7 @@ var CodexAppCards = class {
740
755
  questionShown(message) {
741
756
  const card = codexCardOf(message);
742
757
  if (card) {
743
- if (this.ledger.open(card.requestId)) void this.askThePhone(card);
758
+ if (this.ledger.open(card.requestId)) void this.askThePhone(card, codexFormToolCallOf(message));
744
759
  return;
745
760
  }
746
761
  if (this.saidAQuestionWasUnknown || !comesFromCodexOwnTools(message)) return;
@@ -750,7 +765,14 @@ var CodexAppCards = class {
750
765
  requestResolved(requestId) {
751
766
  if (requestId !== null && this.ledger.engineResolved(requestId) === "phone_question_is_moot") this.withdraw(requestId);
752
767
  }
753
- async askThePhone(card) {
768
+ async cardRoutingFor(toolCall) {
769
+ try {
770
+ return (await this.theCardRouting()).codexCardRoutingOf(toolCall);
771
+ } catch {
772
+ return ASKS_WITHOUT_ROUTING;
773
+ }
774
+ }
775
+ async askThePhone(card, toolCall) {
754
776
  try {
755
777
  if (codexAppMayAnswerItself(card)) await pauseUnlessStopped(this.timing.letCodexAnswerFirstMs, this.options.signal);
756
778
  if (this.options.signal.aborted || !this.ledger.isWaiting(card.requestId)) return;
@@ -759,7 +781,7 @@ var CodexAppCards = class {
759
781
  this.ledger.leaveWithTheApp(card.requestId);
760
782
  return;
761
783
  }
762
- const phone = await this.thePhone();
784
+ const [phone, routing] = await Promise.all([this.thePhone(), this.cardRoutingFor(toolCall)]);
763
785
  if (!this.ledger.isWaiting(card.requestId)) return;
764
786
  const answerableUntil = Date.now() + this.timing.answerWindowMs;
765
787
  const asked = await phone.askUser(account.apiKey, {
@@ -769,7 +791,8 @@ var CodexAppCards = class {
769
791
  agentName: CODEX_APP_AGENT_NAME,
770
792
  sessionId: card.threadId,
771
793
  machineId: account.machineId,
772
- waitEndsAt: new Date(answerableUntil).toISOString()
794
+ waitEndsAt: new Date(answerableUntil).toISOString(),
795
+ ...routing
773
796
  }, ASK_TIMEOUT_MS, account.baseUrl);
774
797
  const question = { account, correlationId: asked.correlationId, waiting: new AbortController(), answerableUntil };
775
798
  if (!this.ledger.isWaiting(card.requestId)) {
@@ -1062,7 +1085,7 @@ var codexDesktopCommand = async (args, entry, readAccount) => {
1062
1085
  return runCodexDesktopProxy(engine2, args.slice(3), readAccount, { watchesForCards: layoutIsKnown });
1063
1086
  }
1064
1087
  if (args[0] === APP_CARDS_FLAG) {
1065
- const { codexAppCardsCommandOnThisMac } = await import("./codex-app-cards-switch-FD2ZWLYL.js");
1088
+ const { codexAppCardsCommandOnThisMac } = await import("./codex-app-cards-switch-MPIXI3DK.js");
1066
1089
  return codexAppCardsCommandOnThisMac(args.slice(1), entry, readAccount);
1067
1090
  }
1068
1091
  if (args.length > 2) throw new Error("Usage: pushary codex --desktop [path/to/Codex.app]");
@@ -2,7 +2,7 @@ import {
2
2
  localRepoKey,
3
3
  normalizeRepoRemote,
4
4
  parseGitBranch
5
- } from "./chunk-O5TB2LMQ.js";
5
+ } from "./chunk-NMSRA7QO.js";
6
6
 
7
7
  // src/repo.ts
8
8
  import { existsSync, readFileSync, statSync } from "fs";
@@ -1,31 +1,31 @@
1
1
  import {
2
2
  claudeSettingsLocationFor,
3
3
  readClaudePermissionRules
4
- } from "./chunk-LIPMEFRA.js";
4
+ } from "./chunk-TKXM3QYK.js";
5
5
  import {
6
6
  askAgentQuestions,
7
7
  defersToNativeMode,
8
8
  outcomeOfFailedAsk,
9
9
  reportMachineDenial,
10
10
  storedWaitDeadline
11
- } from "./chunk-J2HIFUAT.js";
11
+ } from "./chunk-3FQTC27T.js";
12
12
  import {
13
13
  isGatingMoment,
14
14
  recordKeylessMoment
15
- } from "./chunk-FUTFQSRA.js";
15
+ } from "./chunk-X3ROGIHG.js";
16
16
  import {
17
17
  isAdmitted,
18
18
  readAdmissionRules
19
- } from "./chunk-RKQVMFHN.js";
19
+ } from "./chunk-SQR7GGOH.js";
20
20
  import {
21
21
  isDeferAnswer,
22
22
  oncePerSession
23
- } from "./chunk-UUJQK7DJ.js";
23
+ } from "./chunk-2MJL3ZVW.js";
24
24
  import {
25
25
  activeHookSource,
26
26
  activeIdentity,
27
27
  namedSource
28
- } from "./chunk-JLJJRBTD.js";
28
+ } from "./chunk-WKBXLLDY.js";
29
29
  import {
30
30
  DEFAULT_SESSION,
31
31
  approvalAwaitingRetry,
@@ -41,7 +41,7 @@ import {
41
41
  recordBlockedActionHint,
42
42
  reportEvent,
43
43
  settleQuestionsForToolUse
44
- } from "./chunk-KHZCJP7P.js";
44
+ } from "./chunk-5RWBSMCI.js";
45
45
  import {
46
46
  UNNAMED_ACTION,
47
47
  deriveAction,
@@ -52,11 +52,11 @@ import {
52
52
  patchDeletesFiles,
53
53
  permissionDeniedAction,
54
54
  scopePathFor
55
- } from "./chunk-76JOLPST.js";
55
+ } from "./chunk-BCZSRQ3L.js";
56
56
  import {
57
57
  repoKeyFor,
58
58
  repositoryScopeFor
59
- } from "./chunk-LMDXQIYT.js";
59
+ } from "./chunk-ALA2OMOM.js";
60
60
  import {
61
61
  askUser,
62
62
  cancelQuestion,
@@ -73,17 +73,17 @@ import {
73
73
  waitForQuestion,
74
74
  waitsForThePhone,
75
75
  withdrawQuestion
76
- } from "./chunk-IAASPG5B.js";
76
+ } from "./chunk-DP62DH2Q.js";
77
77
  import {
78
78
  getMachineId
79
- } from "./chunk-I3IUS4SR.js";
79
+ } from "./chunk-G2TL4OEY.js";
80
80
  import {
81
81
  getApiKey,
82
82
  getBaseUrl
83
- } from "./chunk-GKCDMAUM.js";
83
+ } from "./chunk-QYBQCMRP.js";
84
84
  import {
85
85
  NPX_LATEST_COMMAND
86
- } from "./chunk-YDQ6OJMF.js";
86
+ } from "./chunk-DLS43QDO.js";
87
87
  import {
88
88
  AGENT_QUESTION_STRATEGY,
89
89
  AGENT_QUESTION_TOOL,
@@ -139,7 +139,7 @@ import {
139
139
  terminalStaysLiveForTheCall,
140
140
  timeoutActionWithoutLocalPrompt,
141
141
  unansweredRefusalReason
142
- } from "./chunk-O5TB2LMQ.js";
142
+ } from "./chunk-NMSRA7QO.js";
143
143
 
144
144
  // src/terminal-answer-watch.ts
145
145
  import { closeSync, openSync, readSync, statSync } from "fs";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  readConfigFileKey
3
- } from "./chunk-B7O4CXFX.js";
3
+ } from "./chunk-XF3K42EV.js";
4
4
 
5
5
  // src/bell/fleet.ts
6
6
  import { closeSync, constants, futimesSync, lstatSync, mkdirSync, openSync, readdirSync, unlinkSync } from "fs";
@@ -24,7 +24,7 @@ import {
24
24
  reportableSessionId,
25
25
  toToolLookup,
26
26
  truncateLine
27
- } from "./chunk-O5TB2LMQ.js";
27
+ } from "./chunk-NMSRA7QO.js";
28
28
 
29
29
  // ../hook-mapping/src/commit-receipt.ts
30
30
  var COMMIT_OUTPUT_MAX_LENGTH = 65536;
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-POFBE6ZY.js";
4
4
  import {
5
5
  autoUpdateState
6
- } from "./chunk-JCSJEMTA.js";
6
+ } from "./chunk-FYSQQW6Q.js";
7
7
  import {
8
8
  readJsonSafe,
9
9
  writeJsonAtomic
@@ -17,7 +17,7 @@ import {
17
17
  } from "./chunk-ZVU6WMMU.js";
18
18
  import {
19
19
  isAutoUpdateResult
20
- } from "./chunk-O5TB2LMQ.js";
20
+ } from "./chunk-NMSRA7QO.js";
21
21
 
22
22
  // src/auto-update.ts
23
23
  import { spawn } from "child_process";