@pushary/agent-hooks 1.9.14 → 1.9.16

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 (100) hide show
  1. package/CHANGELOG.md +32 -0
  2. package/dist/bin/pushary-bell-hook.js +25 -25
  3. package/dist/bin/pushary-bell.js +10 -10
  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 +17 -17
  7. package/dist/bin/pushary-codex-hook.js +72 -48
  8. package/dist/bin/pushary-codex.js +12 -12
  9. package/dist/bin/pushary-connect.js +25 -25
  10. package/dist/bin/pushary-cowork.js +5 -5
  11. package/dist/bin/pushary-daemon.js +31 -31
  12. package/dist/bin/pushary-disconnect.js +24 -24
  13. package/dist/bin/pushary-doctor.js +34 -34
  14. package/dist/bin/pushary-elicitation-hook.js +25 -25
  15. package/dist/bin/pushary-gemini-bridge.js +13 -13
  16. package/dist/bin/pushary-gemini-hook.js +27 -27
  17. package/dist/bin/pushary-hook.js +29 -29
  18. package/dist/bin/pushary-login.js +13 -13
  19. package/dist/bin/pushary-logout.js +11 -11
  20. package/dist/bin/pushary-mcp.js +9 -9
  21. package/dist/bin/pushary-mode.js +13 -13
  22. package/dist/bin/pushary-notification-hook.js +24 -24
  23. package/dist/bin/pushary-opencode-hook.js +26 -26
  24. package/dist/bin/pushary-permission-denied-hook.js +29 -29
  25. package/dist/bin/pushary-permission-hook.js +28 -28
  26. package/dist/bin/pushary-post-hook.js +24 -24
  27. package/dist/bin/pushary-prompt-hook.js +24 -24
  28. package/dist/bin/pushary-session-end-hook.js +24 -24
  29. package/dist/bin/pushary-session-start-hook.js +28 -28
  30. package/dist/bin/pushary-setup.js +443 -117
  31. package/dist/bin/pushary-stats.js +5 -5
  32. package/dist/bin/pushary-status.js +27 -27
  33. package/dist/bin/pushary-stop-hook.js +24 -24
  34. package/dist/bin/pushary-stopfailure-hook.js +24 -24
  35. package/dist/bin/pushary-suggestions.js +13 -13
  36. package/dist/bin/pushary-transcript-register.js +17 -17
  37. package/dist/bin/pushary-transcripts.js +7 -7
  38. package/dist/bin/pushary-upgrade.js +30 -30
  39. package/dist/bin/pushary-wait.js +13 -13
  40. package/dist/bin/pushary.js +10 -7
  41. package/dist/{chunk-EB6LH3U6.js → chunk-3DZG5EXY.js} +3 -3
  42. package/dist/{chunk-RMWV3MYN.js → chunk-4MOOSU5Y.js} +36 -25
  43. package/dist/{chunk-NNCK2PUR.js → chunk-4PQGFWPO.js} +2 -2
  44. package/dist/{chunk-VYXXAFIA.js → chunk-52JA2WTH.js} +1 -1
  45. package/dist/{chunk-2WWHZTI5.js → chunk-5ETPCIG4.js} +23 -4
  46. package/dist/{chunk-XJKM6NQS.js → chunk-65OI53N7.js} +6 -6
  47. package/dist/{chunk-42WYKVHL.js → chunk-7BNU5AVD.js} +2 -2
  48. package/dist/{chunk-3KHQWC4F.js → chunk-7DE5BZMB.js} +6 -6
  49. package/dist/{chunk-PWO6T7JG.js → chunk-7EBZRHIH.js} +5 -5
  50. package/dist/{chunk-NAROM5IR.js → chunk-AYV2NRYJ.js} +93 -2
  51. package/dist/{chunk-3U4R475X.js → chunk-BARUIIUR.js} +3 -3
  52. package/dist/{chunk-QD6GQDYW.js → chunk-COGQIULO.js} +1 -1
  53. package/dist/{chunk-Y6IKUCVF.js → chunk-CXXYHPN7.js} +2 -2
  54. package/dist/{chunk-2Q6IT5PR.js → chunk-DMJPRZVJ.js} +1 -1
  55. package/dist/{chunk-NMDGIMDV.js → chunk-DUDI3Z7F.js} +2 -2
  56. package/dist/{chunk-RV4U3LYL.js → chunk-EDEIIKCV.js} +3 -3
  57. package/dist/{chunk-H7MTFFNI.js → chunk-EDXJEQCK.js} +4 -4
  58. package/dist/{chunk-U4TMAANR.js → chunk-FO3MDD26.js} +4 -4
  59. package/dist/{chunk-5RONPCMH.js → chunk-HBDZYQZX.js} +5 -5
  60. package/dist/{chunk-4BXVGCPE.js → chunk-HDQAN2C3.js} +27 -8
  61. package/dist/{chunk-Q7JWY33N.js → chunk-HKSH4KWI.js} +3 -3
  62. package/dist/{chunk-OMR3P7PJ.js → chunk-ICEMM4H2.js} +14 -14
  63. package/dist/{chunk-WYPQKDKX.js → chunk-IHPSFUL2.js} +13 -18
  64. package/dist/{chunk-YSVCBUT3.js → chunk-ISJ5ROXM.js} +2 -2
  65. package/dist/{chunk-JHDHC2M7.js → chunk-J36EWRVL.js} +5 -5
  66. package/dist/{chunk-7MGNY7S3.js → chunk-JF2XRQR2.js} +1 -1
  67. package/dist/{chunk-2Z56BRTF.js → chunk-JNZU2F5B.js} +2 -2
  68. package/dist/{chunk-5UYAJVAQ.js → chunk-JQC7ZFHM.js} +1 -1
  69. package/dist/{chunk-LRZMGU7T.js → chunk-L52HDK35.js} +4 -4
  70. package/dist/{chunk-ZECHTK3K.js → chunk-LJJLMU5B.js} +3 -3
  71. package/dist/{chunk-34PUBGLS.js → chunk-LYEXTD64.js} +2 -2
  72. package/dist/{chunk-ARM4DMIL.js → chunk-MN2QJA7K.js} +1 -1
  73. package/dist/{chunk-5VP72OOI.js → chunk-NM6IHHRO.js} +8 -8
  74. package/dist/{chunk-CT4BJEU7.js → chunk-OEMDXBV6.js} +1 -1
  75. package/dist/{chunk-FKQMH2DW.js → chunk-OIAZ2QAC.js} +3 -2
  76. package/dist/{chunk-MSEUUAJ7.js → chunk-OLJ6YZME.js} +5 -5
  77. package/dist/{chunk-AJRT3JGE.js → chunk-PJNZJPPX.js} +1 -1
  78. package/dist/{chunk-POJUUEGO.js → chunk-PVOOKOKX.js} +4 -4
  79. package/dist/{chunk-J5RQW52I.js → chunk-PYPZ3MYC.js} +2 -2
  80. package/dist/{chunk-7SIZISYH.js → chunk-PZ33VQ54.js} +5 -5
  81. package/dist/{chunk-LETLRKSY.js → chunk-QINDG6HO.js} +1 -1
  82. package/dist/{chunk-DVTXGXXL.js → chunk-QIOWXUFH.js} +1 -1
  83. package/dist/{chunk-NXJNYAP7.js → chunk-QJYBHKHO.js} +1 -1
  84. package/dist/{chunk-2A234H3F.js → chunk-R2FHKTD3.js} +3 -3
  85. package/dist/{chunk-CIZQARGJ.js → chunk-S2LU6HIZ.js} +3 -3
  86. package/dist/{chunk-ZSL7B7NF.js → chunk-VKYDON4A.js} +2 -2
  87. package/dist/{chunk-ECU2Y7D2.js → chunk-W2AUU35K.js} +2 -2
  88. package/dist/{chunk-2QASSTM5.js → chunk-WVSECXIM.js} +2 -2
  89. package/dist/{chunk-3XAUHY35.js → chunk-WWTB4DAE.js} +1 -1
  90. package/dist/{chunk-ZVFKNSRX.js → chunk-XIJMMY6M.js} +1 -1
  91. package/dist/{chunk-2NIBBM3N.js → chunk-YHHUYJQN.js} +2 -2
  92. package/dist/{chunk-K2IUMMZJ.js → chunk-YKYFFCB5.js} +1 -1
  93. package/dist/{chunk-APG7IAUK.js → chunk-ZH74RRGM.js} +1 -1
  94. package/dist/{chunk-SEQSZYLW.js → chunk-ZOMVMLMU.js} +10 -15
  95. package/dist/{global-upgrade-P5CJ22AW.js → global-upgrade-4XWM5RXK.js} +6 -6
  96. package/dist/{paths-XZE2MPTP.js → paths-2RE6MBKF.js} +2 -2
  97. package/dist/{reapply-V4GMKCGP.js → reapply-Y5PSM7U7.js} +20 -20
  98. package/dist/src/index.js +19 -19
  99. package/dist/{upgrade-lock-DQF62B6X.js → upgrade-lock-HVWZN4BZ.js} +3 -3
  100. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,33 @@
1
1
  # Changelog
2
2
 
3
+ ## 1.9.16
4
+
5
+ - `pushary setup` names the account before it reuses a key: the key saved on this machine, `PUSHARY_API_KEY`, or a key found in your agent settings. At a terminal it asks `Continue as @workspace? (Y/n)`, and No connects a new key the way you asked: the Pushary app on your phone by default, or a browser sign-in with `--connect browser`. Without a terminal it names the account and prints `Wrong account? Run npx pushary@latest setup --connect app`. A key found in your agent settings is called the Pushary for Mac key only when Pushary for Mac is installed. A key on an inactive plan names its account and the same `--connect app` line instead of telling you to re-run setup with the saved key.
6
+ - The pairing screen prints the QR code last, directly above the waiting line, so it no longer scrolls off a 24-row terminal. Above it: what to scan, the short link, the fingerprint in plain words, the app link, and where to get the app. The browser fallback is offered once, after a minute.
7
+ - Stopping setup with SIGTERM while it waits for the phone cancels the pairing, as Ctrl-C already did. An agent whose tool call times out no longer leaves a live QR behind.
8
+ - Setup saves a paired key as soon as the key is checked, before it asks which agents to set up. Stopping at the agent list keeps the key, and the next run does not draw a new QR.
9
+ - When the phone answers the test question, setup ends with `You're set. Your phone answered in 3s.` and one line asking you to restart open agent sessions. The two "Agent hook activation remains unverified" lines are gone. A test nobody answered now shows `! No answer yet` instead of a tick.
10
+ - Setup says `Signed in to @workspace (Agent plan)` instead of `Key verified (workspace · plan agent)`, and names the agents Pushary for Mac handles in plain words.
11
+ - The transcript notice is one line: transcripts sync redacted and encrypted, your phone can decrypt them, authorized Pushary compliance admins can recover them for documented legal obligations, and the command that turns sync off. Transcript sync is still on by default.
12
+ - The two questions after setup wires your agents say plainly what they change: a Pushary section in this folder's `CLAUDE.md` or `AGENTS.md`, and a `claude` alias in your shell profile. Both still default to No.
13
+ - On Windows every printed `npx pushary@latest` command reads `npx.cmd pushary@latest`, which PowerShell runs without the execution policy blocking it.
14
+ - When npm cannot install globally (EACCES or EPERM), setup says to use nvm or set an npm prefix, instead of offering a retry that fails the same way.
15
+ - Setup prints one line before it installs the phone-start background service, with `--control off` to turn it off.
16
+ - When Pushary for Mac is signed into a different account, setup names both accounts and the two ways out: sign Pushary for Mac into this setup's account, or take over the hooks with `--take-over-hooks`.
17
+ - An unreachable phone is pointed at `npx pushary@latest setup --connect app` to pair the Pushary app, not at web push.
18
+ - On an unsupported Node, `pushary` says which releases it needs, which one you have, and where to get Node.js.
19
+
20
+ ## 1.9.15
21
+
22
+ - Codex in Every time asks your phone only about the calls that matter. Codex raises its own approval when a command leaves its sandbox, a forced `rm` runs, an MCP tool is not marked read-only, or a patch lands outside the project, and Pushary answers that request in your mode as before. Before a call runs, Pushary now adds a question only when the call leaves the scope you agreed, a rule you wrote, a preset you picked or an approval route covers it, the command destroys, rewrites history or reaches the network, or a patch deletes a file. Commands that only build, test or read no longer reach your phone, and an MCP tool Codex asks about itself is asked once, through Codex's own request. The kill switch and your deny rules still apply to every call.
23
+ - In full access, where Codex asks nothing itself, every call your policy gates still comes to your phone, as before.
24
+ - When I'm out is unchanged for Codex, except for scope: Codex's own approval requests go to your phone first, and nothing else is asked before a call runs.
25
+ - A Codex edit outside the scope you agreed is now asked in Every time and When I'm out, also while you are at the keyboard, because Codex has no prompt for it there. Yes lets it run. No refuses it. No answer before your policy's wait ends refuses it with the path named. In Updates and Terminal, where nobody would be asked, it is refused. A patch that leaves the scope across several files is refused with a request to split it into single-file edits, as with Claude Code. Before this release Codex applied these edits without asking.
26
+ - In Updates, Pushary sends an update before a Codex call only for the calls above. Codex's own approval requests still send one each.
27
+ - A patch whose `*** Delete File:` or `*** Update File:` header is indented, which Codex applies, is now read as the delete or edit it is, so your path rules and the delete question apply to it.
28
+ - A command that deletes through a cloud CLI subcommand spelled as one word, such as `aws dynamodb delete-table`, `aws ec2 terminate-instances`, `heroku apps:destroy` or `firebase firestore:delete`, now counts as destructive for every agent. Pushary asks about it instead of leaving it to the agent's own allowlist, and an "allow Bash for this session" grant does not cover it.
29
+ - Codex questions can offer "Allow for this session": for Bash, where risky commands still ask, and, after three approvals in a row, for one exact MCP tool. It is never offered for Pushary's own tools or for a tool whose name says it runs code, sends, merges, publishes, deploys, writes, deletes or moves money.
30
+
3
31
  ## 1.9.14
4
32
 
5
33
  - Antigravity CLI approvals go to your phone every time. agy has no approval prompt of its own while Pushary is its only gate, so under When I'm out the phone is no longer skipped because you are at the keyboard, and the wait is your policy's timeout instead of the short push window. Before, such a call was blocked with nobody asked, or after 10 seconds when you were away. Other agents keep When I'm out as it was.
@@ -16,6 +44,10 @@
16
44
  - An Antigravity CLI tool call that failed is recorded as failed in the session, where it used to show as completed.
17
45
  - `pushary disconnect fx` is recorded in `~/.pushary/declined-agents.json`, so Pushary.app versions that read that file leave fx off until you connect it again.
18
46
 
47
+ - `rg`, `sort`, `uniq`, `sleep`, `pgrep` and `git branch --show-current` run without asking when they only read. `rg` still asks with an option that runs another program (`--pre`, `--search-zip`, `-z`), `sort` with one that writes a file (`-o`, `--output`), and `uniq` with a second file, which it writes.
48
+ - Codex's `wait_threads` and `send_message_to_thread` run without asking, matched by exact name. The kill switch, a deny rule and a rule you wrote for the tool still win over them.
49
+ - A deny rule now blocks read-only commands too. A bare `Bash` deny, a `*` deny or a preset that never runs the shell used to let `ls` and other reads through.
50
+
19
51
  ## 1.9.11
20
52
 
21
53
  - `pushary setup` connects Antigravity CLI (`agy`). Pick it in setup or pass `--agents antigravity_cli`. Setup adds a hook named `pushary` to `~/.gemini/config/hooks.json` for `PreToolUse`, `PostToolUse` and `Stop`, and the Pushary MCP server to `~/.gemini/config/mcp_config.json`. Before agy runs a shell command, writes or edits a file, or calls an MCP tool, your policy decides, and the risky ones wait for your answer on your phone or your Mac. Pushary answers agy only with allow or deny: a denial, or no answer before your policy's wait ends, blocks the call with a reason the model sees.
@@ -1,41 +1,41 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  handleBell
4
- } from "../chunk-QD6GQDYW.js";
4
+ } from "../chunk-COGQIULO.js";
5
5
  import {
6
6
  readHookInput
7
- } from "../chunk-LRZMGU7T.js";
8
- import "../chunk-5VP72OOI.js";
7
+ } from "../chunk-L52HDK35.js";
8
+ import "../chunk-NM6IHHRO.js";
9
9
  import "../chunk-SGZJ5LYH.js";
10
- import "../chunk-7SIZISYH.js";
11
- import "../chunk-DVTXGXXL.js";
12
- import "../chunk-CT4BJEU7.js";
13
- import "../chunk-7MGNY7S3.js";
10
+ import "../chunk-PZ33VQ54.js";
11
+ import "../chunk-QIOWXUFH.js";
12
+ import "../chunk-OEMDXBV6.js";
13
+ import "../chunk-JF2XRQR2.js";
14
14
  import "../chunk-XHKBHWLX.js";
15
- import "../chunk-POJUUEGO.js";
16
- import "../chunk-SEQSZYLW.js";
17
- import "../chunk-RV4U3LYL.js";
18
- import "../chunk-K2IUMMZJ.js";
19
- import "../chunk-NXJNYAP7.js";
15
+ import "../chunk-PVOOKOKX.js";
16
+ import "../chunk-ZOMVMLMU.js";
17
+ import "../chunk-EDEIIKCV.js";
18
+ import "../chunk-YKYFFCB5.js";
19
+ import "../chunk-QJYBHKHO.js";
20
20
  import "../chunk-GMXKITVA.js";
21
21
  import "../chunk-6ICPEJY5.js";
22
- import "../chunk-NMDGIMDV.js";
23
- import "../chunk-WYPQKDKX.js";
24
- import "../chunk-VYXXAFIA.js";
25
- import "../chunk-PWO6T7JG.js";
22
+ import "../chunk-DUDI3Z7F.js";
23
+ import "../chunk-IHPSFUL2.js";
24
+ import "../chunk-52JA2WTH.js";
25
+ import "../chunk-7EBZRHIH.js";
26
26
  import "../chunk-POFBE6ZY.js";
27
- import "../chunk-CIZQARGJ.js";
28
- import "../chunk-3U4R475X.js";
29
- import "../chunk-EB6LH3U6.js";
30
- import "../chunk-ZVFKNSRX.js";
27
+ import "../chunk-S2LU6HIZ.js";
28
+ import "../chunk-BARUIIUR.js";
29
+ import "../chunk-3DZG5EXY.js";
30
+ import "../chunk-XIJMMY6M.js";
31
31
  import "../chunk-7QLSKOSU.js";
32
32
  import "../chunk-KZERVKTD.js";
33
- import "../chunk-ZSL7B7NF.js";
34
- import "../chunk-2WWHZTI5.js";
33
+ import "../chunk-VKYDON4A.js";
34
+ import "../chunk-5ETPCIG4.js";
35
35
  import "../chunk-T7E75EKA.js";
36
- import "../chunk-AJRT3JGE.js";
37
- import "../chunk-FKQMH2DW.js";
38
- import "../chunk-NAROM5IR.js";
36
+ import "../chunk-PJNZJPPX.js";
37
+ import "../chunk-OIAZ2QAC.js";
38
+ import "../chunk-AYV2NRYJ.js";
39
39
 
40
40
  // bin/pushary-bell-hook.ts
41
41
  var main = async () => {
@@ -5,37 +5,37 @@ import {
5
5
  liveAgentCount,
6
6
  ring,
7
7
  upgradeThreshold
8
- } from "../chunk-QD6GQDYW.js";
8
+ } from "../chunk-COGQIULO.js";
9
9
  import {
10
10
  createIo
11
- } from "../chunk-U4TMAANR.js";
11
+ } from "../chunk-FO3MDD26.js";
12
12
  import {
13
13
  exitOnHelpFlag
14
- } from "../chunk-NNCK2PUR.js";
14
+ } from "../chunk-4PQGFWPO.js";
15
15
  import {
16
16
  addBellHooks,
17
17
  bellInstalled,
18
18
  removeBellHooks
19
- } from "../chunk-NXJNYAP7.js";
19
+ } from "../chunk-QJYBHKHO.js";
20
20
  import {
21
21
  parseFlags
22
22
  } from "../chunk-GMXKITVA.js";
23
- import "../chunk-NMDGIMDV.js";
23
+ import "../chunk-DUDI3Z7F.js";
24
24
  import "../chunk-7QLSKOSU.js";
25
25
  import {
26
26
  EXIT
27
27
  } from "../chunk-KZERVKTD.js";
28
- import "../chunk-ZSL7B7NF.js";
28
+ import "../chunk-VKYDON4A.js";
29
29
  import {
30
30
  claudeSettings
31
- } from "../chunk-2WWHZTI5.js";
31
+ } from "../chunk-5ETPCIG4.js";
32
32
  import {
33
33
  readJsonSafe,
34
34
  writeJsonAtomic
35
35
  } from "../chunk-T7E75EKA.js";
36
- import "../chunk-AJRT3JGE.js";
37
- import "../chunk-FKQMH2DW.js";
38
- import "../chunk-NAROM5IR.js";
36
+ import "../chunk-PJNZJPPX.js";
37
+ import "../chunk-OIAZ2QAC.js";
38
+ import "../chunk-AYV2NRYJ.js";
39
39
 
40
40
  // bin/pushary-bell.ts
41
41
  exitOnHelpFlag("bell");
@@ -8,39 +8,39 @@ import {
8
8
  describeIdleWindow,
9
9
  startProcessOwnership,
10
10
  withSpawnProcessOwnership
11
- } from "../chunk-5UYAJVAQ.js";
11
+ } from "../chunk-JQC7ZFHM.js";
12
12
  import {
13
13
  announceSubscriptionRequired,
14
14
  isDeferAnswer
15
- } from "../chunk-ARM4DMIL.js";
15
+ } from "../chunk-MN2QJA7K.js";
16
16
  import {
17
17
  claudeTranscriptPath,
18
18
  loadSessionKey,
19
19
  registerTranscript,
20
20
  registeredTranscriptEnabled
21
- } from "../chunk-5VP72OOI.js";
21
+ } from "../chunk-NM6IHHRO.js";
22
22
  import "../chunk-SGZJ5LYH.js";
23
23
  import {
24
24
  ensureDaemonRunning
25
- } from "../chunk-7SIZISYH.js";
25
+ } from "../chunk-PZ33VQ54.js";
26
26
  import {
27
27
  encryptRecord
28
- } from "../chunk-DVTXGXXL.js";
29
- import "../chunk-CT4BJEU7.js";
28
+ } from "../chunk-QIOWXUFH.js";
29
+ import "../chunk-OEMDXBV6.js";
30
30
  import {
31
31
  transcriptsEnabled
32
- } from "../chunk-7MGNY7S3.js";
32
+ } from "../chunk-JF2XRQR2.js";
33
33
  import {
34
34
  needsShell,
35
35
  spawnClaude
36
36
  } from "../chunk-XHKBHWLX.js";
37
- import "../chunk-SEQSZYLW.js";
38
- import "../chunk-RV4U3LYL.js";
39
- import "../chunk-K2IUMMZJ.js";
40
- import "../chunk-NXJNYAP7.js";
37
+ import "../chunk-ZOMVMLMU.js";
38
+ import "../chunk-EDEIIKCV.js";
39
+ import "../chunk-YKYFFCB5.js";
40
+ import "../chunk-QJYBHKHO.js";
41
41
  import "../chunk-GMXKITVA.js";
42
42
  import "../chunk-6ICPEJY5.js";
43
- import "../chunk-NMDGIMDV.js";
43
+ import "../chunk-DUDI3Z7F.js";
44
44
  import {
45
45
  DEFAULT_SESSION,
46
46
  UNNAMED_ACTION,
@@ -58,8 +58,8 @@ import {
58
58
  reportEvent,
59
59
  savePendingCommand,
60
60
  scopePathFor
61
- } from "../chunk-WYPQKDKX.js";
62
- import "../chunk-VYXXAFIA.js";
61
+ } from "../chunk-IHPSFUL2.js";
62
+ import "../chunk-52JA2WTH.js";
63
63
  import {
64
64
  askUser,
65
65
  cancelQuestion,
@@ -68,35 +68,35 @@ import {
68
68
  nextLongPollMs,
69
69
  waitForAnswer,
70
70
  withdrawQuestion
71
- } from "../chunk-PWO6T7JG.js";
71
+ } from "../chunk-7EBZRHIH.js";
72
72
  import "../chunk-POFBE6ZY.js";
73
73
  import {
74
74
  SubscriptionRequiredError
75
- } from "../chunk-CIZQARGJ.js";
76
- import "../chunk-3U4R475X.js";
77
- import "../chunk-EB6LH3U6.js";
75
+ } from "../chunk-S2LU6HIZ.js";
76
+ import "../chunk-BARUIIUR.js";
77
+ import "../chunk-3DZG5EXY.js";
78
78
  import {
79
79
  getMachineId
80
- } from "../chunk-ZVFKNSRX.js";
80
+ } from "../chunk-XIJMMY6M.js";
81
81
  import "../chunk-7QLSKOSU.js";
82
82
  import "../chunk-KZERVKTD.js";
83
- import "../chunk-ZSL7B7NF.js";
84
- import "../chunk-2WWHZTI5.js";
83
+ import "../chunk-VKYDON4A.js";
84
+ import "../chunk-5ETPCIG4.js";
85
85
  import "../chunk-T7E75EKA.js";
86
86
  import {
87
87
  getApiKey,
88
88
  getBaseUrl
89
- } from "../chunk-AJRT3JGE.js";
89
+ } from "../chunk-PJNZJPPX.js";
90
90
  import {
91
91
  NPX_LATEST_COMMAND
92
- } from "../chunk-FKQMH2DW.js";
92
+ } from "../chunk-OIAZ2QAC.js";
93
93
  import {
94
94
  DECISION_STOP_REASON,
95
95
  KILL_REASON,
96
96
  UNVERIFIABLE_APPROVAL_REASON,
97
97
  redactSecretsFromContent,
98
98
  resolveGate
99
- } from "../chunk-NAROM5IR.js";
99
+ } from "../chunk-AYV2NRYJ.js";
100
100
 
101
101
  // src/wrapper/localPassthrough.ts
102
102
  var SIGNAL_NUMBERS = {
@@ -13,7 +13,7 @@ import {
13
13
  isCursorPluginLeftover,
14
14
  releaseSoleGate,
15
15
  withoutPusharyCursorHooks
16
- } from "../chunk-Q7JWY33N.js";
16
+ } from "../chunk-HKSH4KWI.js";
17
17
  import {
18
18
  HERMES_PIP_PACKAGE,
19
19
  readHermesStatus,
@@ -22,27 +22,27 @@ import {
22
22
  shortenHome,
23
23
  unregisterPluginLocation,
24
24
  vscodeSettingsTargets
25
- } from "../chunk-ZECHTK3K.js";
25
+ } from "../chunk-LJJLMU5B.js";
26
26
  import {
27
27
  planFxRemoval,
28
28
  removeInstructionBlock
29
- } from "../chunk-4BXVGCPE.js";
30
- import "../chunk-2QASSTM5.js";
29
+ } from "../chunk-HDQAN2C3.js";
30
+ import "../chunk-WVSECXIM.js";
31
31
  import {
32
32
  disableDaemonService
33
- } from "../chunk-7SIZISYH.js";
33
+ } from "../chunk-PZ33VQ54.js";
34
34
  import "../chunk-XHKBHWLX.js";
35
35
  import {
36
36
  APPROVAL_SETTINGS_PATH
37
- } from "../chunk-JHDHC2M7.js";
37
+ } from "../chunk-J36EWRVL.js";
38
38
  import {
39
39
  macAppKeepsMcpEntry,
40
40
  mcpServerBearer,
41
41
  pusharyKey,
42
42
  readMacAppAgentKey,
43
43
  setupReceiptKey
44
- } from "../chunk-H7MTFFNI.js";
45
- import "../chunk-J5RQW52I.js";
44
+ } from "../chunk-EDXJEQCK.js";
45
+ import "../chunk-PYPZ3MYC.js";
46
46
  import {
47
47
  OPENCODE_PLUGIN_SIBLING,
48
48
  OPENCODE_PLUGIN_SIBLING_CONTENTS,
@@ -54,14 +54,14 @@ import {
54
54
  openCodePluginDir,
55
55
  openCodePluginFile,
56
56
  removeOpenCodeMcpServer
57
- } from "../chunk-5RONPCMH.js";
57
+ } from "../chunk-HBDZYQZX.js";
58
58
  import {
59
59
  ansiPainter,
60
60
  useColor
61
- } from "../chunk-U4TMAANR.js";
61
+ } from "../chunk-FO3MDD26.js";
62
62
  import {
63
63
  exitOnHelpFlag
64
- } from "../chunk-NNCK2PUR.js";
64
+ } from "../chunk-4PQGFWPO.js";
65
65
  import {
66
66
  compatibleConfigFile,
67
67
  compatibleInstructionsFile,
@@ -74,7 +74,7 @@ import {
74
74
  removePusharySettings,
75
75
  removePusharyToolPermissions,
76
76
  restoreClaudeMcpServer
77
- } from "../chunk-POJUUEGO.js";
77
+ } from "../chunk-PVOOKOKX.js";
78
78
  import {
79
79
  hookOwnerOf,
80
80
  isHookTakeoverReceipt,
@@ -82,12 +82,12 @@ import {
82
82
  resolveBridgeStub,
83
83
  restoreHookTakeover,
84
84
  restoreMcpServer
85
- } from "../chunk-SEQSZYLW.js";
85
+ } from "../chunk-ZOMVMLMU.js";
86
86
  import {
87
87
  removeGeminiSettings
88
- } from "../chunk-RV4U3LYL.js";
89
- import "../chunk-K2IUMMZJ.js";
90
- import "../chunk-NXJNYAP7.js";
88
+ } from "../chunk-EDEIIKCV.js";
89
+ import "../chunk-YKYFFCB5.js";
90
+ import "../chunk-QJYBHKHO.js";
91
91
  import {
92
92
  rejectUnknownFlags
93
93
  } from "../chunk-GMXKITVA.js";
@@ -100,22 +100,22 @@ import {
100
100
  readConfigFileKey,
101
101
  readMacAppKeyPrefix,
102
102
  removeClaudeAlias
103
- } from "../chunk-NMDGIMDV.js";
104
- import "../chunk-WYPQKDKX.js";
105
- import "../chunk-VYXXAFIA.js";
106
- import "../chunk-PWO6T7JG.js";
103
+ } from "../chunk-DUDI3Z7F.js";
104
+ import "../chunk-IHPSFUL2.js";
105
+ import "../chunk-52JA2WTH.js";
106
+ import "../chunk-7EBZRHIH.js";
107
107
  import "../chunk-POFBE6ZY.js";
108
- import "../chunk-CIZQARGJ.js";
108
+ import "../chunk-S2LU6HIZ.js";
109
109
  import {
110
110
  absoluteUrl
111
- } from "../chunk-3U4R475X.js";
112
- import "../chunk-EB6LH3U6.js";
113
- import "../chunk-ZVFKNSRX.js";
111
+ } from "../chunk-BARUIIUR.js";
112
+ import "../chunk-3DZG5EXY.js";
113
+ import "../chunk-XIJMMY6M.js";
114
114
  import "../chunk-7QLSKOSU.js";
115
115
  import {
116
116
  EXIT
117
117
  } from "../chunk-KZERVKTD.js";
118
- import "../chunk-ZSL7B7NF.js";
118
+ import "../chunk-VKYDON4A.js";
119
119
  import {
120
120
  claudeJson,
121
121
  claudeMcpReceipt,
@@ -152,14 +152,14 @@ import {
152
152
  restoreCodexHookTrust,
153
153
  vscodePluginDir,
154
154
  vscodePluginMcp
155
- } from "../chunk-2WWHZTI5.js";
155
+ } from "../chunk-5ETPCIG4.js";
156
156
  import "../chunk-T7E75EKA.js";
157
157
  import {
158
158
  getBaseUrl
159
- } from "../chunk-AJRT3JGE.js";
159
+ } from "../chunk-PJNZJPPX.js";
160
160
  import {
161
161
  NPX_LATEST_COMMAND
162
- } from "../chunk-FKQMH2DW.js";
162
+ } from "../chunk-OIAZ2QAC.js";
163
163
  import {
164
164
  CLI_PACKAGE_NAMES,
165
165
  HOOK_COMPATIBLE_PROFILES,
@@ -171,7 +171,7 @@ import {
171
171
  globalRootFor,
172
172
  isValidApiKey,
173
173
  redactSecrets
174
- } from "../chunk-NAROM5IR.js";
174
+ } from "../chunk-AYV2NRYJ.js";
175
175
 
176
176
  // bin/pushary-clean.ts
177
177
  import { existsSync as existsSync6, readFileSync as readFileSync4, copyFileSync, readdirSync as readdirSync4 } from "fs";
@@ -5,10 +5,10 @@ import {
5
5
  postLiveSession,
6
6
  postLiveSessionUntilAccepted,
7
7
  startLiveSessionHeartbeat
8
- } from "../chunk-2NIBBM3N.js";
8
+ } from "../chunk-YHHUYJQN.js";
9
9
  import {
10
10
  resolveProviderBinary
11
- } from "../chunk-ECU2Y7D2.js";
11
+ } from "../chunk-W2AUU35K.js";
12
12
  import "../chunk-RIVNNBEK.js";
13
13
  import {
14
14
  SESSION_IDLE_TIMEOUT_MS,
@@ -16,50 +16,50 @@ import {
16
16
  idleDeadlinePassed,
17
17
  startProcessOwnership,
18
18
  withSpawnProcessOwnership
19
- } from "../chunk-5UYAJVAQ.js";
20
- import "../chunk-DVTXGXXL.js";
21
- import "../chunk-CT4BJEU7.js";
19
+ } from "../chunk-JQC7ZFHM.js";
20
+ import "../chunk-QIOWXUFH.js";
21
+ import "../chunk-OEMDXBV6.js";
22
22
  import {
23
23
  transcriptsEnabled
24
- } from "../chunk-7MGNY7S3.js";
24
+ } from "../chunk-JF2XRQR2.js";
25
25
  import {
26
26
  spawnClaude
27
27
  } from "../chunk-XHKBHWLX.js";
28
28
  import "../chunk-6ICPEJY5.js";
29
- import "../chunk-NMDGIMDV.js";
29
+ import "../chunk-DUDI3Z7F.js";
30
30
  import {
31
31
  isAskUserResponse,
32
32
  isDecisionStopped,
33
33
  isWaitForAnswerResponse,
34
34
  withdrawQuestion,
35
35
  writeDegraded
36
- } from "../chunk-PWO6T7JG.js";
36
+ } from "../chunk-7EBZRHIH.js";
37
37
  import "../chunk-POFBE6ZY.js";
38
38
  import {
39
39
  callMcpTool
40
- } from "../chunk-CIZQARGJ.js";
41
- import "../chunk-3U4R475X.js";
42
- import "../chunk-EB6LH3U6.js";
40
+ } from "../chunk-S2LU6HIZ.js";
41
+ import "../chunk-BARUIIUR.js";
42
+ import "../chunk-3DZG5EXY.js";
43
43
  import {
44
44
  getMachineId
45
- } from "../chunk-ZVFKNSRX.js";
45
+ } from "../chunk-XIJMMY6M.js";
46
46
  import "../chunk-7QLSKOSU.js";
47
47
  import "../chunk-KZERVKTD.js";
48
- import "../chunk-ZSL7B7NF.js";
49
- import "../chunk-2WWHZTI5.js";
48
+ import "../chunk-VKYDON4A.js";
49
+ import "../chunk-5ETPCIG4.js";
50
50
  import "../chunk-T7E75EKA.js";
51
51
  import {
52
52
  getApiKey,
53
53
  getBaseUrl
54
- } from "../chunk-AJRT3JGE.js";
55
- import "../chunk-FKQMH2DW.js";
54
+ } from "../chunk-PJNZJPPX.js";
55
+ import "../chunk-OIAZ2QAC.js";
56
56
  import {
57
57
  elicitationContent,
58
58
  parseAgentQuestion,
59
59
  parseAgentQuestionAnswers,
60
60
  planElicitationAsk,
61
61
  readElicitationFields
62
- } from "../chunk-NAROM5IR.js";
62
+ } from "../chunk-AYV2NRYJ.js";
63
63
 
64
64
  // bin/pushary-codex-bridge.ts
65
65
  import { existsSync } from "fs";