pushary 1.9.117 → 1.9.119

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 (130) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/dist/{api-OXKVQGTP.js → api-WWB7ZOLK.js} +11 -11
  3. package/dist/bin/pushary-audit.js +3 -3
  4. package/dist/bin/pushary-bell-hook.js +27 -27
  5. package/dist/bin/pushary-bell.js +10 -10
  6. package/dist/bin/pushary-claude.js +35 -40
  7. package/dist/bin/pushary-clean.js +43 -43
  8. package/dist/bin/pushary-codex-bridge.js +21 -21
  9. package/dist/bin/pushary-codex-hook.js +64 -75
  10. package/dist/bin/pushary-codex-session.js +8 -8
  11. package/dist/bin/pushary-codex.js +15 -15
  12. package/dist/bin/pushary-connect.js +28 -28
  13. package/dist/bin/pushary-cowork.js +5 -5
  14. package/dist/bin/pushary-daemon.js +44 -44
  15. package/dist/bin/pushary-disconnect.js +27 -27
  16. package/dist/bin/pushary-display-hook.js +17 -17
  17. package/dist/bin/pushary-doctor.js +47 -47
  18. package/dist/bin/pushary-elicitation-hook.js +27 -27
  19. package/dist/bin/pushary-gemini-bridge.js +15 -15
  20. package/dist/bin/pushary-gemini-hook.js +93 -90
  21. package/dist/bin/pushary-hook.js +33 -32
  22. package/dist/bin/pushary-login.js +22 -22
  23. package/dist/bin/pushary-logout.js +26 -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 +26 -26
  27. package/dist/bin/pushary-opencode-hook.js +93 -75
  28. package/dist/bin/pushary-permission-denied-hook.js +33 -32
  29. package/dist/bin/pushary-permission-hook.js +33 -32
  30. package/dist/bin/pushary-post-hook.js +26 -26
  31. package/dist/bin/pushary-prompt-hook.js +26 -26
  32. package/dist/bin/pushary-session-end-hook.js +26 -26
  33. package/dist/bin/pushary-session-start-hook.js +35 -35
  34. package/dist/bin/pushary-setup.js +90 -90
  35. package/dist/bin/pushary-stats.js +5 -5
  36. package/dist/bin/pushary-status.js +32 -32
  37. package/dist/bin/pushary-stop-hook.js +26 -26
  38. package/dist/bin/pushary-stopfailure-hook.js +26 -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 +43 -43
  43. package/dist/bin/pushary-wait.js +17 -17
  44. package/dist/bin/pushary.js +7 -7
  45. package/dist/{chunk-3ZQT5LQ3.js → chunk-2C45MJGK.js} +9 -6
  46. package/dist/{chunk-H5RGOO3B.js → chunk-2UE2NDCX.js} +1 -1
  47. package/dist/{chunk-NSCLVG7M.js → chunk-3B7S2H4R.js} +1 -1
  48. package/dist/{chunk-EXWJBUL5.js → chunk-3IESC326.js} +3 -3
  49. package/dist/{chunk-PHCZ26TZ.js → chunk-4D23TNCL.js} +4 -4
  50. package/dist/{chunk-DH23XX7X.js → chunk-4HDX77ND.js} +3 -3
  51. package/dist/{chunk-NI5KTEVM.js → chunk-4SZM2HRA.js} +6 -6
  52. package/dist/{chunk-XIJ4ADBX.js → chunk-5HKU4VUL.js} +3 -3
  53. package/dist/{chunk-EBL6XYOI.js → chunk-5T5T4YXM.js} +1 -1
  54. package/dist/{chunk-LN6LLUY7.js → chunk-67I7QRQB.js} +1 -1
  55. package/dist/{chunk-2NN5ODYJ.js → chunk-6KX2H4I5.js} +3 -3
  56. package/dist/{chunk-BSSD6UWJ.js → chunk-6YLVNFQZ.js} +3 -3
  57. package/dist/{chunk-U2AB2ZUZ.js → chunk-7CJ7W2RH.js} +4 -4
  58. package/dist/{chunk-MKTZZPWV.js → chunk-AGXOTZID.js} +5 -5
  59. package/dist/{chunk-MYSBGQU6.js → chunk-B7BOENW7.js} +1 -1
  60. package/dist/{chunk-SUMWA5VN.js → chunk-BQ673OOD.js} +2 -2
  61. package/dist/{chunk-ARRXCME5.js → chunk-CBLFIWPI.js} +2 -2
  62. package/dist/{chunk-7VPA5PXJ.js → chunk-COXNQUDP.js} +4 -4
  63. package/dist/{chunk-PHDPS5C7.js → chunk-CXIYGD33.js} +2 -2
  64. package/dist/{chunk-YEV6CIQZ.js → chunk-DXJUASTS.js} +2 -2
  65. package/dist/{chunk-X2JY437V.js → chunk-EFFH2FYG.js} +2 -2
  66. package/dist/{chunk-BJ7FGYF7.js → chunk-EISUEJDT.js} +6 -6
  67. package/dist/{chunk-4UGNMAQ2.js → chunk-EP6I3MQY.js} +4 -4
  68. package/dist/{chunk-IUPEFEBH.js → chunk-FPG7X2GS.js} +4 -4
  69. package/dist/{chunk-5TVOBKRE.js → chunk-G4OVFWU4.js} +20 -14
  70. package/dist/{chunk-4BV525QE.js → chunk-G5FQU2XF.js} +6 -6
  71. package/dist/{chunk-NZFYK75R.js → chunk-GAOUWLYN.js} +3 -3
  72. package/dist/{chunk-2KYPNVRC.js → chunk-GBVTVTDF.js} +1 -1
  73. package/dist/{chunk-BE6JIWTM.js → chunk-GW3PE52Q.js} +1 -1
  74. package/dist/{chunk-PPNJ3INA.js → chunk-HYTDNEXV.js} +1 -1
  75. package/dist/{chunk-K54Y2QFA.js → chunk-ISVHV2DP.js} +1 -1
  76. package/dist/{chunk-RVYREG7X.js → chunk-JJNF6QU4.js} +1 -1
  77. package/dist/{chunk-F3Z7UWM6.js → chunk-JKS4MN47.js} +6 -6
  78. package/dist/{chunk-S5MQA774.js → chunk-K5WTTEIQ.js} +5 -5
  79. package/dist/{chunk-FKH3KT4U.js → chunk-KILSIJTF.js} +31 -21
  80. package/dist/{chunk-XU4DUX7K.js → chunk-KOZBVXXC.js} +3 -3
  81. package/dist/{chunk-TKTNQORW.js → chunk-KVDN4U6W.js} +10 -10
  82. package/dist/{chunk-RYAWSPAR.js → chunk-L3MCQSES.js} +5 -5
  83. package/dist/{chunk-MHU7CW7T.js → chunk-MEPYLTWF.js} +10 -10
  84. package/dist/{chunk-FRIQ4LQ5.js → chunk-MYNLU6DV.js} +2 -2
  85. package/dist/{chunk-N74WJAL6.js → chunk-NASQPMXW.js} +9 -9
  86. package/dist/{chunk-XJC6PG7J.js → chunk-NVV3YUTX.js} +2 -2
  87. package/dist/{chunk-T3UOM443.js → chunk-PDAOZ2NF.js} +10 -10
  88. package/dist/{chunk-R5ZMI6BM.js → chunk-PJSFKKZ5.js} +1 -1
  89. package/dist/{chunk-4SI3CUWN.js → chunk-PNSIMPC7.js} +6 -6
  90. package/dist/{chunk-N4DQDFEP.js → chunk-R3RTISDD.js} +1 -1
  91. package/dist/{chunk-GJNWZWMA.js → chunk-R67NTMBY.js} +8 -8
  92. package/dist/{chunk-3OVRAD25.js → chunk-RGXFBS56.js} +3 -3
  93. package/dist/{chunk-UJGA7WL5.js → chunk-RIAELZYW.js} +2 -2
  94. package/dist/{chunk-74MC5LRW.js → chunk-SE7P5BBK.js} +1 -1
  95. package/dist/{chunk-2UYYX6VC.js → chunk-SNKC2IQZ.js} +2 -2
  96. package/dist/{chunk-DE6ZYZZZ.js → chunk-SQRS4IF2.js} +3 -3
  97. package/dist/{chunk-G5EB7GAR.js → chunk-SSBETUYZ.js} +3 -3
  98. package/dist/{chunk-C2NKILG3.js → chunk-TLCJCP5R.js} +1 -1
  99. package/dist/{chunk-KYWTX4R2.js → chunk-TRDHHF3A.js} +337 -37
  100. package/dist/{chunk-RCCISH7T.js → chunk-TZYVXTLN.js} +1 -1
  101. package/dist/{chunk-6ICAZ33G.js → chunk-U32N5JZO.js} +1 -1
  102. package/dist/{chunk-BL7ESWIQ.js → chunk-UHAUC7EO.js} +2 -2
  103. package/dist/{chunk-C32IT2TR.js → chunk-V52J2THT.js} +1 -1
  104. package/dist/chunk-VFZ2PE6U.js +60 -0
  105. package/dist/{chunk-DZI6MSR4.js → chunk-VMM6JCNQ.js} +2 -2
  106. package/dist/{chunk-MI56IIXG.js → chunk-VRZOUCIK.js} +2 -2
  107. package/dist/{chunk-2JQZFGIF.js → chunk-W5ZUDPKV.js} +5 -5
  108. package/dist/{chunk-ZJKH3CTN.js → chunk-W6LKC5YD.js} +5 -5
  109. package/dist/{chunk-J3PBLQUD.js → chunk-XBH6OKHD.js} +3 -3
  110. package/dist/{chunk-SE62HPB7.js → chunk-XNCKBVZX.js} +6 -61
  111. package/dist/{chunk-SQLXC4PM.js → chunk-YCCLWG7G.js} +6 -6
  112. package/dist/{chunk-YU3LDR5W.js → chunk-YZ7V2LVG.js} +3 -3
  113. package/dist/{chunk-MA4KQLCT.js → chunk-YZESBU7F.js} +5 -5
  114. package/dist/{chunk-FW2SOQ5J.js → chunk-Z3OG44Z4.js} +4 -4
  115. package/dist/chunk-ZLUAXGAA.js +121 -0
  116. package/dist/{chunk-6GZU4IYU.js → chunk-ZTVBM3EZ.js} +4 -4
  117. package/dist/{codex-app-cards-switch-ANBV6CA6.js → codex-app-cards-switch-J6EULXO5.js} +12 -12
  118. package/dist/{codex-card-routing-POEBILLG.js → codex-card-routing-XNJB6573.js} +2 -2
  119. package/dist/{codex-desktop-launch-Z4HXKBYP.js → codex-desktop-launch-46ELENBQ.js} +1 -1
  120. package/dist/{codex-session-launch-XA6BMIVU.js → codex-session-launch-R5FHFWAG.js} +18 -18
  121. package/dist/{config-ATKVK4QQ.js → config-RKWDMDRY.js} +3 -3
  122. package/dist/{global-upgrade-BJKCVYJU.js → global-upgrade-E65GJQS6.js} +9 -9
  123. package/dist/{identity-X3FI7ZYE.js → identity-JRGY2KS6.js} +4 -4
  124. package/dist/{live-capabilities-6OV363JK.js → live-capabilities-SOO6PD7Y.js} +4 -4
  125. package/dist/{paths-U67N2RPP.js → paths-G7NZODAY.js} +3 -3
  126. package/dist/{reapply-L3KVM3ZO.js → reapply-YKN5BKIP.js} +28 -28
  127. package/dist/src/index.js +32 -31
  128. package/dist/{upgrade-lock-ZIPY7I2T.js → upgrade-lock-YKAZI3BH.js} +4 -4
  129. package/dist/{usage-RAJPNVE5.js → usage-QWYNOIU6.js} +3 -3
  130. package/package.json +2 -2
package/CHANGELOG.md CHANGED
@@ -1,5 +1,25 @@
1
1
  # Changelog
2
2
 
3
+ ## 1.9.119
4
+
5
+ - A quote or backslash inside a shell comment, or an escaped quote in a `$'...'` string, no longer hides the lines after it from deny rules, routing rules and the check on destructive commands.
6
+ - A Team routing rule now reads a push by where it lands, so `git push origin +main`, `git push origin HEAD:refs/heads/main`, `git push --delete origin main` and `git push --no-verify origin main` count as pushes to `main`, and a push forced by a flag or a `+` counts for a force-push rule. A teammate's Always allow no longer runs them. The policy cache has a new name, and until this update a CLI loses that kept Always allow on a workspace with command routes.
7
+ - A deny rule and the check on destructive commands now see a script fed to a shell by process substitution: `bash <(curl ...)`, `source <(...)`, `. <(...)` and `bash < <(...)` are read like the same text piped into `sh`. Before, they ran under a broad allow.
8
+ - Deny rules and routing rules now read `case ... esac` arms, `coproc`, a function whose body is a subshell, `npx -c`, `su -c` and `parallel`.
9
+ - A comment inside a script handed to a shell with `bash -c`, `sh -c` or `eval` no longer hides the lines after it.
10
+ - PowerShell commands get the same reading of comments.
11
+
12
+ ## 1.9.118
13
+
14
+ - Every agent: silence can no longer approve a call outside the scope you agreed. Before, an Always-allow rule on Claude Code withdrew the question at once and ran the call. A scope question now waits for a real answer, then falls back to the agent's own prompt or refuses.
15
+ - Gemini CLI and OpenCode: a standing auto-approve no longer runs a call outside the scope you agreed. You are asked about it as a scope question, and it runs only on a yes. If nobody answers, it is refused.
16
+ - Gemini CLI, OpenCode and Cursor: silence refuses a call outside the scope, so that question is no longer cut to a short keyboard window on your phone. Cursor also no longer skips your phone when you are at the keyboard, since it has no prompt to fall back on.
17
+ - Gemini CLI and OpenCode now record a denial when the kill switch or a standing deny refuses a call.
18
+ - A policy the server has already replaced can no longer auto-approve while the hook is working from its cached copy. Pushary stands aside and the agent's own permission flow decides. Denies and the kill switch still apply.
19
+ - A mode response that does not state the kill switch now counts as unverified, not as "not killed".
20
+ - The Codex, Gemini and OpenCode hooks check what the agent sends before acting on it.
21
+ - Codex, Gemini and OpenCode now share one path for asking a question and waiting for the answer.
22
+
3
23
  ## 1.9.117
4
24
 
5
25
  - The report a hook sends when a tool call finishes now also names the tool. Pushary uses this to tell whether a step a Team approval route sent to someone, which then went back to the agent's own prompt because nobody answered, went on to run, and to show that in Activity. It changes nothing about what runs or what is asked. A published CLI that does not send the name keeps working, and such a step is simply not marked.
@@ -17,25 +17,25 @@ import {
17
17
  waitForQuestion,
18
18
  waitsForThePhone,
19
19
  withdrawQuestion
20
- } from "./chunk-N74WJAL6.js";
20
+ } from "./chunk-NASQPMXW.js";
21
21
  import "./chunk-POFBE6ZY.js";
22
- import "./chunk-ZJKH3CTN.js";
23
- import "./chunk-DH23XX7X.js";
24
- import "./chunk-3OVRAD25.js";
25
- import "./chunk-6ICAZ33G.js";
26
- import "./chunk-RCCISH7T.js";
27
- import "./chunk-ARRXCME5.js";
28
- import "./chunk-XU4DUX7K.js";
29
- import "./chunk-N4DQDFEP.js";
22
+ import "./chunk-W6LKC5YD.js";
23
+ import "./chunk-4HDX77ND.js";
24
+ import "./chunk-RGXFBS56.js";
25
+ import "./chunk-U32N5JZO.js";
26
+ import "./chunk-TZYVXTLN.js";
27
+ import "./chunk-CBLFIWPI.js";
28
+ import "./chunk-KOZBVXXC.js";
29
+ import "./chunk-R3RTISDD.js";
30
30
  import "./chunk-YU2EUD7O.js";
31
31
  import "./chunk-T5I4PKOQ.js";
32
32
  import "./chunk-BG4HHB7E.js";
33
- import "./chunk-R5ZMI6BM.js";
33
+ import "./chunk-PJSFKKZ5.js";
34
34
  import "./chunk-ZVU6WMMU.js";
35
35
  import {
36
36
  DECISION_STOP_REASON,
37
37
  UNVERIFIABLE_APPROVAL_REASON
38
- } from "./chunk-KYWTX4R2.js";
38
+ } from "./chunk-TRDHHF3A.js";
39
39
  import "./chunk-MLKGABMK.js";
40
40
  export {
41
41
  ABANDONED_WAIT,
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  exitOnHelpFlag
4
- } from "../chunk-LN6LLUY7.js";
4
+ } from "../chunk-67I7QRQB.js";
5
5
  import {
6
6
  readJsonSafe,
7
7
  writeJsonAtomic
@@ -9,7 +9,7 @@ import {
9
9
  import {
10
10
  EXIT
11
11
  } from "../chunk-BG4HHB7E.js";
12
- import "../chunk-R5ZMI6BM.js";
12
+ import "../chunk-PJSFKKZ5.js";
13
13
  import "../chunk-ZVU6WMMU.js";
14
14
  import {
15
15
  AUDIT_CHAIN_FINDING_SEVERITY,
@@ -22,7 +22,7 @@ import {
22
22
  parseAuditChainExport,
23
23
  parseAuditKnownHead,
24
24
  verifyAuditChainSite
25
- } from "../chunk-KYWTX4R2.js";
25
+ } from "../chunk-TRDHHF3A.js";
26
26
  import "../chunk-MLKGABMK.js";
27
27
 
28
28
  // src/audit-verify.ts
@@ -1,45 +1,45 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  handleBell
4
- } from "../chunk-RVYREG7X.js";
4
+ } from "../chunk-JJNF6QU4.js";
5
5
  import {
6
6
  readHookInput
7
- } from "../chunk-3ZQT5LQ3.js";
8
- import "../chunk-4UGNMAQ2.js";
9
- import "../chunk-T3UOM443.js";
7
+ } from "../chunk-2C45MJGK.js";
8
+ import "../chunk-EP6I3MQY.js";
9
+ import "../chunk-PDAOZ2NF.js";
10
10
  import "../chunk-HXBQTPKC.js";
11
11
  import "../chunk-G66WIAST.js";
12
- import "../chunk-MA4KQLCT.js";
13
- import "../chunk-5TVOBKRE.js";
14
- import "../chunk-BJ7FGYF7.js";
15
- import "../chunk-7VPA5PXJ.js";
16
- import "../chunk-BE6JIWTM.js";
17
- import "../chunk-H5RGOO3B.js";
18
- import "../chunk-C32IT2TR.js";
12
+ import "../chunk-YZESBU7F.js";
13
+ import "../chunk-G4OVFWU4.js";
14
+ import "../chunk-EISUEJDT.js";
15
+ import "../chunk-COXNQUDP.js";
16
+ import "../chunk-GW3PE52Q.js";
17
+ import "../chunk-2UE2NDCX.js";
18
+ import "../chunk-V52J2THT.js";
19
19
  import "../chunk-YPY4YCIZ.js";
20
- import "../chunk-DE6ZYZZZ.js";
20
+ import "../chunk-SQRS4IF2.js";
21
21
  import "../chunk-XMSDA5WA.js";
22
- import "../chunk-C2NKILG3.js";
23
- import "../chunk-74MC5LRW.js";
24
- import "../chunk-N74WJAL6.js";
22
+ import "../chunk-TLCJCP5R.js";
23
+ import "../chunk-SE7P5BBK.js";
24
+ import "../chunk-NASQPMXW.js";
25
25
  import "../chunk-POFBE6ZY.js";
26
- import "../chunk-ZJKH3CTN.js";
27
- import "../chunk-DH23XX7X.js";
28
- import "../chunk-3OVRAD25.js";
26
+ import "../chunk-W6LKC5YD.js";
27
+ import "../chunk-4HDX77ND.js";
28
+ import "../chunk-RGXFBS56.js";
29
29
  import "../chunk-XHKBHWLX.js";
30
- import "../chunk-6ICAZ33G.js";
31
- import "../chunk-RCCISH7T.js";
32
- import "../chunk-YU3LDR5W.js";
33
- import "../chunk-DZI6MSR4.js";
34
- import "../chunk-ARRXCME5.js";
35
- import "../chunk-XU4DUX7K.js";
36
- import "../chunk-N4DQDFEP.js";
30
+ import "../chunk-U32N5JZO.js";
31
+ import "../chunk-TZYVXTLN.js";
32
+ import "../chunk-YZ7V2LVG.js";
33
+ import "../chunk-VMM6JCNQ.js";
34
+ import "../chunk-CBLFIWPI.js";
35
+ import "../chunk-KOZBVXXC.js";
36
+ import "../chunk-R3RTISDD.js";
37
37
  import "../chunk-YU2EUD7O.js";
38
38
  import "../chunk-T5I4PKOQ.js";
39
39
  import "../chunk-BG4HHB7E.js";
40
- import "../chunk-R5ZMI6BM.js";
40
+ import "../chunk-PJSFKKZ5.js";
41
41
  import "../chunk-ZVU6WMMU.js";
42
- import "../chunk-KYWTX4R2.js";
42
+ import "../chunk-TRDHHF3A.js";
43
43
  import "../chunk-MLKGABMK.js";
44
44
 
45
45
  // bin/pushary-bell-hook.ts
@@ -5,28 +5,28 @@ import {
5
5
  liveAgentCount,
6
6
  ring,
7
7
  upgradeThreshold
8
- } from "../chunk-RVYREG7X.js";
8
+ } from "../chunk-JJNF6QU4.js";
9
9
  import {
10
10
  createIo
11
11
  } from "../chunk-FO3MDD26.js";
12
12
  import {
13
13
  exitOnHelpFlag
14
- } from "../chunk-LN6LLUY7.js";
14
+ } from "../chunk-67I7QRQB.js";
15
15
  import {
16
16
  addBellHooks,
17
17
  bellInstalled,
18
18
  removeBellHooks
19
- } from "../chunk-C32IT2TR.js";
19
+ } from "../chunk-V52J2THT.js";
20
20
  import {
21
21
  parseFlags
22
22
  } from "../chunk-YPY4YCIZ.js";
23
- import "../chunk-YU3LDR5W.js";
24
- import "../chunk-DZI6MSR4.js";
23
+ import "../chunk-YZ7V2LVG.js";
24
+ import "../chunk-VMM6JCNQ.js";
25
25
  import {
26
26
  claudeSettings
27
- } from "../chunk-ARRXCME5.js";
28
- import "../chunk-XU4DUX7K.js";
29
- import "../chunk-N4DQDFEP.js";
27
+ } from "../chunk-CBLFIWPI.js";
28
+ import "../chunk-KOZBVXXC.js";
29
+ import "../chunk-R3RTISDD.js";
30
30
  import "../chunk-YU2EUD7O.js";
31
31
  import {
32
32
  readJsonSafe,
@@ -35,11 +35,11 @@ import {
35
35
  import {
36
36
  EXIT
37
37
  } from "../chunk-BG4HHB7E.js";
38
- import "../chunk-R5ZMI6BM.js";
38
+ import "../chunk-PJSFKKZ5.js";
39
39
  import "../chunk-ZVU6WMMU.js";
40
40
  import {
41
41
  isRecord
42
- } from "../chunk-KYWTX4R2.js";
42
+ } from "../chunk-TRDHHF3A.js";
43
43
  import "../chunk-MLKGABMK.js";
44
44
 
45
45
  // bin/pushary-bell.ts
@@ -12,19 +12,19 @@ import {
12
12
  describeIdleWindow,
13
13
  startProcessOwnership,
14
14
  withSpawnProcessOwnership
15
- } from "../chunk-2UYYX6VC.js";
15
+ } from "../chunk-SNKC2IQZ.js";
16
16
  import "../chunk-ROVLRXBI.js";
17
17
  import {
18
18
  announceSubscriptionRequired,
19
19
  isDeferAnswer
20
- } from "../chunk-2KYPNVRC.js";
20
+ } from "../chunk-GBVTVTDF.js";
21
21
  import {
22
22
  claudeTranscriptPath,
23
23
  redactDraft,
24
24
  registerTranscript,
25
25
  registeredTranscriptEnabled,
26
26
  startDraftPublisher
27
- } from "../chunk-T3UOM443.js";
27
+ } from "../chunk-PDAOZ2NF.js";
28
28
  import "../chunk-HXBQTPKC.js";
29
29
  import "../chunk-G66WIAST.js";
30
30
  import {
@@ -40,32 +40,32 @@ import {
40
40
  removePendingCommand,
41
41
  reportEvent,
42
42
  savePendingCommand
43
- } from "../chunk-5TVOBKRE.js";
43
+ } from "../chunk-G4OVFWU4.js";
44
44
  import {
45
45
  ensureDaemonRunning
46
- } from "../chunk-BJ7FGYF7.js";
47
- import "../chunk-7VPA5PXJ.js";
46
+ } from "../chunk-EISUEJDT.js";
47
+ import "../chunk-COXNQUDP.js";
48
48
  import {
49
49
  UNNAMED_ACTION,
50
50
  deriveToolTarget,
51
51
  describeStopFailure,
52
52
  describeToolCall,
53
53
  scopePathFor
54
- } from "../chunk-BE6JIWTM.js";
55
- import "../chunk-H5RGOO3B.js";
56
- import "../chunk-C32IT2TR.js";
54
+ } from "../chunk-GW3PE52Q.js";
55
+ import "../chunk-2UE2NDCX.js";
56
+ import "../chunk-V52J2THT.js";
57
57
  import "../chunk-YPY4YCIZ.js";
58
- import "../chunk-DE6ZYZZZ.js";
58
+ import "../chunk-SQRS4IF2.js";
59
59
  import {
60
60
  external_exports
61
61
  } from "../chunk-XMSDA5WA.js";
62
62
  import {
63
63
  transcriptsEnabled
64
- } from "../chunk-C2NKILG3.js";
64
+ } from "../chunk-TLCJCP5R.js";
65
65
  import {
66
66
  repoKeyFor,
67
67
  repositoryScopeFor
68
- } from "../chunk-74MC5LRW.js";
68
+ } from "../chunk-SE7P5BBK.js";
69
69
  import {
70
70
  askUser,
71
71
  cancelQuestion,
@@ -77,37 +77,37 @@ import {
77
77
  waitForAnswer,
78
78
  waitsForThePhone,
79
79
  withdrawQuestion
80
- } from "../chunk-N74WJAL6.js";
80
+ } from "../chunk-NASQPMXW.js";
81
81
  import "../chunk-POFBE6ZY.js";
82
82
  import {
83
83
  SubscriptionRequiredError
84
- } from "../chunk-ZJKH3CTN.js";
85
- import "../chunk-DH23XX7X.js";
86
- import "../chunk-3OVRAD25.js";
84
+ } from "../chunk-W6LKC5YD.js";
85
+ import "../chunk-4HDX77ND.js";
86
+ import "../chunk-RGXFBS56.js";
87
87
  import {
88
88
  needsShell,
89
89
  spawnClaude
90
90
  } from "../chunk-XHKBHWLX.js";
91
- import "../chunk-6ICAZ33G.js";
91
+ import "../chunk-U32N5JZO.js";
92
92
  import {
93
93
  getMachineId
94
- } from "../chunk-RCCISH7T.js";
95
- import "../chunk-YU3LDR5W.js";
96
- import "../chunk-DZI6MSR4.js";
94
+ } from "../chunk-TZYVXTLN.js";
95
+ import "../chunk-YZ7V2LVG.js";
96
+ import "../chunk-VMM6JCNQ.js";
97
97
  import {
98
98
  claudeConfigDir
99
- } from "../chunk-ARRXCME5.js";
100
- import "../chunk-XU4DUX7K.js";
99
+ } from "../chunk-CBLFIWPI.js";
100
+ import "../chunk-KOZBVXXC.js";
101
101
  import {
102
102
  getApiKey,
103
103
  getBaseUrl
104
- } from "../chunk-N4DQDFEP.js";
104
+ } from "../chunk-R3RTISDD.js";
105
105
  import "../chunk-YU2EUD7O.js";
106
106
  import "../chunk-T5I4PKOQ.js";
107
107
  import "../chunk-BG4HHB7E.js";
108
108
  import {
109
109
  NPX_LATEST_COMMAND
110
- } from "../chunk-R5ZMI6BM.js";
110
+ } from "../chunk-PJSFKKZ5.js";
111
111
  import "../chunk-ZVU6WMMU.js";
112
112
  import {
113
113
  DECISION_STOP_REASON,
@@ -120,7 +120,7 @@ import {
120
120
  refusesWhenUnanswered,
121
121
  resolveGate,
122
122
  timeoutActionWithoutLocalPrompt
123
- } from "../chunk-KYWTX4R2.js";
123
+ } from "../chunk-TRDHHF3A.js";
124
124
  import "../chunk-MLKGABMK.js";
125
125
 
126
126
  // src/wrapper/localPassthrough.ts
@@ -907,26 +907,24 @@ var pollAgent = async (apiKey, sessionId, wantCommand, signal, baseUrl = getBase
907
907
  }
908
908
  };
909
909
 
910
- // src/wrapper/wsProtocol.ts
910
+ // ../contracts/src/relay-wire.ts
911
911
  var PROTOCOL_VERSION = 1;
912
912
  var encodeFrame = (frame) => JSON.stringify(frame);
913
913
  var helloFrame = (fields) => ({ v: PROTOCOL_VERSION, t: "hello", ...fields });
914
- var parse = (raw) => {
914
+ var isFrameObject = (value) => typeof value === "object" && value !== null && !Array.isArray(value);
915
+ var readCurrentVersionFrame = (raw) => {
915
916
  try {
916
917
  const value = JSON.parse(raw);
917
- if (!value || typeof value !== "object" || Array.isArray(value)) return null;
918
- const obj = value;
919
- if (obj.v !== PROTOCOL_VERSION) return null;
920
- return obj;
918
+ return isFrameObject(value) && value.v === PROTOCOL_VERSION ? value : null;
921
919
  } catch {
922
920
  return null;
923
921
  }
924
922
  };
925
- var isString = (v) => typeof v === "string";
923
+ var isString = (value) => typeof value === "string";
926
924
  var decodeServerFrame = (raw) => {
927
- const f = parse(raw);
928
- if (!f) return null;
929
- switch (f.t) {
925
+ const frame = readCurrentVersionFrame(raw);
926
+ if (!frame) return null;
927
+ switch (frame.t) {
930
928
  case "welcome":
931
929
  return { v: PROTOCOL_VERSION, t: "welcome" };
932
930
  case "ping":
@@ -934,12 +932,9 @@ var decodeServerFrame = (raw) => {
934
932
  case "pong":
935
933
  return { v: PROTOCOL_VERSION, t: "pong" };
936
934
  case "command":
937
- return isString(f.id) && isString(f.text) ? { v: PROTOCOL_VERSION, t: "command", id: f.id, text: f.text } : null;
935
+ return isString(frame.id) && isString(frame.text) ? { v: PROTOCOL_VERSION, t: "command", id: frame.id, text: frame.text } : null;
938
936
  case "error":
939
- if (isString(f.code) && isString(f.message)) {
940
- return { v: PROTOCOL_VERSION, t: "error", code: f.code, message: f.message, fatal: f.fatal === true };
941
- }
942
- return null;
937
+ return isString(frame.code) && isString(frame.message) ? { v: PROTOCOL_VERSION, t: "error", code: frame.code, message: frame.message, fatal: frame.fatal === true } : null;
943
938
  default:
944
939
  return null;
945
940
  }
@@ -15,30 +15,26 @@ import {
15
15
  storedMacAppState,
16
16
  storedPusharyKeychainServices,
17
17
  waitForMacAppExit
18
- } from "../chunk-4BV525QE.js";
18
+ } from "../chunk-G5FQU2XF.js";
19
19
  import {
20
20
  PUSHARY_SKILL_NAME,
21
21
  PUSHARY_SKILL_SOURCE,
22
22
  createGuards
23
23
  } from "../chunk-J42EAEX3.js";
24
- import "../chunk-NZFYK75R.js";
24
+ import "../chunk-GAOUWLYN.js";
25
25
  import "../chunk-XCEN33UP.js";
26
+ import {
27
+ shortenHome,
28
+ unregisterPluginLocation,
29
+ vscodeSettingsTargets
30
+ } from "../chunk-ZTVBM3EZ.js";
26
31
  import {
27
32
  describeCliKeyRevocation,
28
33
  planCliKeyRevocations,
29
34
  readCliHeldKeys,
30
35
  revokeCliKeys
31
- } from "../chunk-2JQZFGIF.js";
32
- import {
33
- isCursorPluginLeftover,
34
- releaseSoleGate,
35
- withoutPusharyCursorHooks
36
- } from "../chunk-FW2SOQ5J.js";
37
- import {
38
- shortenHome,
39
- unregisterPluginLocation,
40
- vscodeSettingsTargets
41
- } from "../chunk-6GZU4IYU.js";
36
+ } from "../chunk-W5ZUDPKV.js";
37
+ import "../chunk-E46NE7FB.js";
42
38
  import {
43
39
  configFileHoldsMacAppKey,
44
40
  macAppKeepsMcpEntry,
@@ -46,22 +42,27 @@ import {
46
42
  pusharyKey,
47
43
  readMacAppAgentKey,
48
44
  setupReceiptKey
49
- } from "../chunk-IUPEFEBH.js";
50
- import "../chunk-SUMWA5VN.js";
45
+ } from "../chunk-FPG7X2GS.js";
46
+ import "../chunk-BQ673OOD.js";
51
47
  import {
52
48
  HERMES_CONFIG_FILE,
53
49
  defaultHermesHome,
54
50
  hermesReceiptPaths,
55
51
  removeHermesWiring
56
- } from "../chunk-XIJ4ADBX.js";
52
+ } from "../chunk-5HKU4VUL.js";
57
53
  import "../chunk-QCGNGEGE.js";
54
+ import {
55
+ isCursorPluginLeftover,
56
+ releaseSoleGate,
57
+ withoutPusharyCursorHooks
58
+ } from "../chunk-Z3OG44Z4.js";
58
59
  import {
59
60
  planClineRemoval,
60
61
  planFxRemoval,
61
62
  removeClineServer
62
- } from "../chunk-S5MQA774.js";
63
- import "../chunk-J3PBLQUD.js";
64
- import "../chunk-2NN5ODYJ.js";
63
+ } from "../chunk-K5WTTEIQ.js";
64
+ import "../chunk-XBH6OKHD.js";
65
+ import "../chunk-6KX2H4I5.js";
65
66
  import {
66
67
  OPENCODE_ASKED_PERMISSIONS,
67
68
  OPENCODE_PLUGIN_SIBLING,
@@ -75,14 +76,14 @@ import {
75
76
  openCodePluginDir,
76
77
  openCodePluginFile,
77
78
  removeOpenCodeMcpServer
78
- } from "../chunk-MKTZZPWV.js";
79
+ } from "../chunk-AGXOTZID.js";
79
80
  import {
80
81
  ansiPainter,
81
82
  useColor
82
83
  } from "../chunk-FO3MDD26.js";
83
84
  import {
84
85
  exitOnHelpFlag
85
- } from "../chunk-LN6LLUY7.js";
86
+ } from "../chunk-67I7QRQB.js";
86
87
  import "../chunk-ROVLRXBI.js";
87
88
  import {
88
89
  compatibleConfigFile,
@@ -95,40 +96,40 @@ import {
95
96
  removeCompatibleHooks,
96
97
  removeCompatibleMcpServer,
97
98
  serializeConfigDocument
98
- } from "../chunk-MA4KQLCT.js";
99
- import "../chunk-5TVOBKRE.js";
99
+ } from "../chunk-YZESBU7F.js";
100
+ import "../chunk-G4OVFWU4.js";
100
101
  import {
101
102
  disableDaemonService
102
- } from "../chunk-BJ7FGYF7.js";
103
+ } from "../chunk-EISUEJDT.js";
103
104
  import {
104
105
  hookOwnerOf,
105
106
  isHookTakeoverReceipt,
106
107
  removeGeminiSettings,
107
108
  restoreHookTakeover,
108
109
  restoreMcpServer
109
- } from "../chunk-7VPA5PXJ.js";
110
- import "../chunk-BE6JIWTM.js";
111
- import "../chunk-H5RGOO3B.js";
112
- import "../chunk-C32IT2TR.js";
110
+ } from "../chunk-COXNQUDP.js";
111
+ import "../chunk-GW3PE52Q.js";
112
+ import "../chunk-2UE2NDCX.js";
113
+ import "../chunk-V52J2THT.js";
113
114
  import {
114
115
  parseFlags
115
116
  } from "../chunk-YPY4YCIZ.js";
116
- import "../chunk-74MC5LRW.js";
117
- import "../chunk-N74WJAL6.js";
117
+ import "../chunk-SE7P5BBK.js";
118
+ import "../chunk-NASQPMXW.js";
118
119
  import "../chunk-POFBE6ZY.js";
119
- import "../chunk-ZJKH3CTN.js";
120
- import "../chunk-DH23XX7X.js";
121
- import "../chunk-3OVRAD25.js";
120
+ import "../chunk-W6LKC5YD.js";
121
+ import "../chunk-4HDX77ND.js";
122
+ import "../chunk-RGXFBS56.js";
122
123
  import "../chunk-XHKBHWLX.js";
123
- import "../chunk-6ICAZ33G.js";
124
- import "../chunk-RCCISH7T.js";
124
+ import "../chunk-U32N5JZO.js";
125
+ import "../chunk-TZYVXTLN.js";
125
126
  import {
126
127
  CANDIDATE_RCS,
127
128
  isDisabledExport,
128
129
  removeClaudeAlias,
129
130
  shellProfileCandidates
130
- } from "../chunk-YU3LDR5W.js";
131
- import "../chunk-DZI6MSR4.js";
131
+ } from "../chunk-YZ7V2LVG.js";
132
+ import "../chunk-VMM6JCNQ.js";
132
133
  import {
133
134
  claudeConfigDir,
134
135
  claudeJson,
@@ -173,17 +174,17 @@ import {
173
174
  restoreCodexHookTrust,
174
175
  vscodePluginDir,
175
176
  vscodePluginMcp
176
- } from "../chunk-ARRXCME5.js";
177
+ } from "../chunk-CBLFIWPI.js";
177
178
  import {
178
179
  cleanNpmEnv,
179
180
  globalPackageState,
180
181
  npmIsOnPath,
181
182
  readGlobalFolder,
182
183
  readGlobalPrefix
183
- } from "../chunk-XU4DUX7K.js";
184
+ } from "../chunk-KOZBVXXC.js";
184
185
  import {
185
186
  getBaseUrl
186
- } from "../chunk-N4DQDFEP.js";
187
+ } from "../chunk-R3RTISDD.js";
187
188
  import "../chunk-YU2EUD7O.js";
188
189
  import "../chunk-T5I4PKOQ.js";
189
190
  import {
@@ -191,7 +192,7 @@ import {
191
192
  } from "../chunk-BG4HHB7E.js";
192
193
  import {
193
194
  NPX_LATEST_COMMAND
194
- } from "../chunk-R5ZMI6BM.js";
195
+ } from "../chunk-PJSFKKZ5.js";
195
196
  import {
196
197
  CLI_PACKAGE_NAMES,
197
198
  globalPackageFolder,
@@ -205,8 +206,7 @@ import {
205
206
  SUPPORT_EMAIL,
206
207
  isValidApiKey,
207
208
  redactSecrets
208
- } from "../chunk-KYWTX4R2.js";
209
- import "../chunk-E46NE7FB.js";
209
+ } from "../chunk-TRDHHF3A.js";
210
210
  import "../chunk-MLKGABMK.js";
211
211
 
212
212
  // bin/pushary-clean.ts
@@ -1,47 +1,47 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  runCodexBridge
4
- } from "../chunk-NI5KTEVM.js";
5
- import "../chunk-PPNJ3INA.js";
4
+ } from "../chunk-4SZM2HRA.js";
5
+ import "../chunk-HYTDNEXV.js";
6
6
  import {
7
7
  resolveProviderBinary
8
- } from "../chunk-G5EB7GAR.js";
9
- import "../chunk-PHDPS5C7.js";
8
+ } from "../chunk-SSBETUYZ.js";
9
+ import "../chunk-CXIYGD33.js";
10
10
  import "../chunk-N5P2FLOJ.js";
11
11
  import {
12
12
  withSpawnProcessOwnership
13
- } from "../chunk-2UYYX6VC.js";
13
+ } from "../chunk-SNKC2IQZ.js";
14
14
  import "../chunk-ROVLRXBI.js";
15
- import "../chunk-DE6ZYZZZ.js";
15
+ import "../chunk-SQRS4IF2.js";
16
16
  import "../chunk-XMSDA5WA.js";
17
17
  import {
18
18
  transcriptsEnabled
19
- } from "../chunk-C2NKILG3.js";
20
- import "../chunk-74MC5LRW.js";
21
- import "../chunk-N74WJAL6.js";
19
+ } from "../chunk-TLCJCP5R.js";
20
+ import "../chunk-SE7P5BBK.js";
21
+ import "../chunk-NASQPMXW.js";
22
22
  import "../chunk-POFBE6ZY.js";
23
- import "../chunk-ZJKH3CTN.js";
24
- import "../chunk-DH23XX7X.js";
25
- import "../chunk-3OVRAD25.js";
23
+ import "../chunk-W6LKC5YD.js";
24
+ import "../chunk-4HDX77ND.js";
25
+ import "../chunk-RGXFBS56.js";
26
26
  import "../chunk-XHKBHWLX.js";
27
- import "../chunk-6ICAZ33G.js";
27
+ import "../chunk-U32N5JZO.js";
28
28
  import {
29
29
  getMachineId
30
- } from "../chunk-RCCISH7T.js";
31
- import "../chunk-YU3LDR5W.js";
32
- import "../chunk-DZI6MSR4.js";
33
- import "../chunk-ARRXCME5.js";
34
- import "../chunk-XU4DUX7K.js";
30
+ } from "../chunk-TZYVXTLN.js";
31
+ import "../chunk-YZ7V2LVG.js";
32
+ import "../chunk-VMM6JCNQ.js";
33
+ import "../chunk-CBLFIWPI.js";
34
+ import "../chunk-KOZBVXXC.js";
35
35
  import {
36
36
  getApiKey,
37
37
  getBaseUrl
38
- } from "../chunk-N4DQDFEP.js";
38
+ } from "../chunk-R3RTISDD.js";
39
39
  import "../chunk-YU2EUD7O.js";
40
40
  import "../chunk-T5I4PKOQ.js";
41
41
  import "../chunk-BG4HHB7E.js";
42
- import "../chunk-R5ZMI6BM.js";
42
+ import "../chunk-PJSFKKZ5.js";
43
43
  import "../chunk-ZVU6WMMU.js";
44
- import "../chunk-KYWTX4R2.js";
44
+ import "../chunk-TRDHHF3A.js";
45
45
  import "../chunk-MLKGABMK.js";
46
46
 
47
47
  // bin/pushary-codex-bridge.ts