pushary 1.9.62 → 1.9.64

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/README.md +2 -2
  3. package/dist/{api-7HLZRIUV.js → api-HDLTZTVR.js} +10 -11
  4. package/dist/bin/pushary-bell-hook.js +27 -30
  5. package/dist/bin/pushary-bell.js +10 -11
  6. package/dist/bin/pushary-claude.js +29 -32
  7. package/dist/bin/pushary-clean.js +63 -42
  8. package/dist/bin/pushary-codex-bridge.js +22 -24
  9. package/dist/bin/pushary-codex-hook.js +33 -36
  10. package/dist/bin/pushary-codex-session.js +8 -8
  11. package/dist/bin/pushary-codex.js +13 -15
  12. package/dist/bin/pushary-connect.js +26 -29
  13. package/dist/bin/pushary-cowork.js +5 -5
  14. package/dist/bin/pushary-daemon.js +39 -41
  15. package/dist/bin/pushary-disconnect.js +60 -40
  16. package/dist/bin/pushary-doctor.js +89 -46
  17. package/dist/bin/pushary-elicitation-hook.js +28 -31
  18. package/dist/bin/pushary-gemini-bridge.js +16 -18
  19. package/dist/bin/pushary-gemini-hook.js +30 -33
  20. package/dist/bin/pushary-hook.js +31 -34
  21. package/dist/bin/pushary-login.js +27 -16
  22. package/dist/bin/pushary-logout.js +26 -29
  23. package/dist/bin/pushary-mcp.js +11 -12
  24. package/dist/bin/pushary-mode.js +14 -15
  25. package/dist/bin/pushary-notification-hook.js +26 -29
  26. package/dist/bin/pushary-opencode-hook.js +29 -32
  27. package/dist/bin/pushary-permission-denied-hook.js +31 -34
  28. package/dist/bin/pushary-permission-hook.js +30 -33
  29. package/dist/bin/pushary-post-hook.js +26 -29
  30. package/dist/bin/pushary-prompt-hook.js +26 -29
  31. package/dist/bin/pushary-session-end-hook.js +28 -31
  32. package/dist/bin/pushary-session-start-hook.js +35 -37
  33. package/dist/bin/pushary-setup.js +361 -4412
  34. package/dist/bin/pushary-stats.js +5 -5
  35. package/dist/bin/pushary-status.js +32 -35
  36. package/dist/bin/pushary-stop-hook.js +26 -29
  37. package/dist/bin/pushary-stopfailure-hook.js +26 -29
  38. package/dist/bin/pushary-suggestions.js +14 -15
  39. package/dist/bin/pushary-transcript-register.js +18 -21
  40. package/dist/bin/pushary-transcripts.js +63 -11
  41. package/dist/bin/pushary-upgrade.js +41 -43
  42. package/dist/bin/pushary-wait.js +14 -15
  43. package/dist/bin/pushary.js +7 -8
  44. package/dist/{chunk-SJCPIYWJ.js → chunk-2CEVEMJE.js} +3 -3
  45. package/dist/{chunk-3YGUWPNZ.js → chunk-2EY4HGLG.js} +3 -3
  46. package/dist/{chunk-ESXGCZDA.js → chunk-2KID4FK4.js} +4 -4
  47. package/dist/{chunk-EO6CL4PD.js → chunk-2PKHGHMA.js} +2 -2
  48. package/dist/{chunk-PSCXEH42.js → chunk-2VADJ6JH.js} +2 -2
  49. package/dist/{chunk-GV43RXR2.js → chunk-2YXBCZ3Z.js} +1 -1
  50. package/dist/{chunk-7GU4PXE5.js → chunk-2Z7I7DHT.js} +1 -1
  51. package/dist/{chunk-4K6YZPZ3.js → chunk-3KXBRSL3.js} +1 -1
  52. package/dist/{chunk-YQK72JGV.js → chunk-42PD2MQH.js} +5 -5
  53. package/dist/{chunk-EUNSJKJJ.js → chunk-57PU5OBL.js} +21 -14
  54. package/dist/{chunk-5R23J52J.js → chunk-5NP3OJ5P.js} +7 -9
  55. package/dist/{chunk-UWCPY4RY.js → chunk-5TNGBDIE.js} +2 -2
  56. package/dist/{chunk-ZEDGKCCM.js → chunk-5TUDGSDC.js} +1 -1
  57. package/dist/{chunk-M7MEVILL.js → chunk-66FRMK7V.js} +4 -4
  58. package/dist/{chunk-3LBB7GVF.js → chunk-6HPLEGUP.js} +4 -4
  59. package/dist/{chunk-LCNN7UOE.js → chunk-6QPDBD7Q.js} +3 -57
  60. package/dist/{chunk-AFV3FQNG.js → chunk-7UBDBJTG.js} +4 -4
  61. package/dist/{chunk-RFCEVROB.js → chunk-A5KQXZR7.js} +3 -3
  62. package/dist/{chunk-G3ZDCYMU.js → chunk-ADRPW7KU.js} +2 -2
  63. package/dist/{chunk-OZRT64BB.js → chunk-AN7C3CHH.js} +1 -1
  64. package/dist/{chunk-6JAWNRDR.js → chunk-AQAPPSDV.js} +3 -3
  65. package/dist/{chunk-FG5HMJ7C.js → chunk-BAGBCSXA.js} +4 -2
  66. package/dist/{chunk-W3CBFLIX.js → chunk-BLAIETMP.js} +18 -4
  67. package/dist/{chunk-CFIQ3252.js → chunk-BSZIPIFA.js} +128 -26
  68. package/dist/{chunk-7EHZXZB2.js → chunk-CCNH4PJ2.js} +12 -12
  69. package/dist/{chunk-NZLQ6GMX.js → chunk-CJADXAJU.js} +9 -9
  70. package/dist/{chunk-TMHE5CVX.js → chunk-DCMRNIDM.js} +4 -4
  71. package/dist/{chunk-QW3FRUFB.js → chunk-DVYVGBPB.js} +1 -1
  72. package/dist/{chunk-RSNN2TPE.js → chunk-E23RKH3T.js} +9 -9
  73. package/dist/{chunk-ZJFJUAHS.js → chunk-E2LB6JNV.js} +6 -6
  74. package/dist/{chunk-HSRNWCXJ.js → chunk-EEM65CGJ.js} +3 -3
  75. package/dist/chunk-H4BKC2GN.js +1201 -0
  76. package/dist/{chunk-7NXB7OVX.js → chunk-HVOQUPSO.js} +1 -1
  77. package/dist/{chunk-R3CLBNST.js → chunk-IZTDX2MX.js} +3 -3
  78. package/dist/{chunk-RU37NSZH.js → chunk-JTOBQUIL.js} +3 -3
  79. package/dist/{chunk-W6MYFAOK.js → chunk-JX3DHGZX.js} +44 -32
  80. package/dist/{chunk-7NJ4TDUH.js → chunk-KA7JIMTG.js} +6 -6
  81. package/dist/chunk-KEPESIIR.js +4117 -0
  82. package/dist/{chunk-EA6574W2.js → chunk-KX3RMF6T.js} +12 -6
  83. package/dist/{chunk-BIUSODLS.js → chunk-LA7CKRZN.js} +2 -2
  84. package/dist/{chunk-A4CZPUQ6.js → chunk-LMC5UPL7.js} +1 -1
  85. package/dist/{chunk-EVZDYG7L.js → chunk-LV6DX4P6.js} +2 -2
  86. package/dist/{chunk-LWR5VKNC.js → chunk-MIPJ2VXP.js} +12 -14
  87. package/dist/{chunk-557ZE5EX.js → chunk-ML2Q6WWE.js} +37 -214
  88. package/dist/{chunk-FXECTHAG.js → chunk-MNKIR2ZB.js} +37 -4
  89. package/dist/{chunk-LILS32LF.js → chunk-MPPTIZ2G.js} +212 -254
  90. package/dist/{chunk-VUFHYMSP.js → chunk-MXPOLQZH.js} +1 -1
  91. package/dist/{chunk-MYEALNW6.js → chunk-NOH3EJFH.js} +1 -1
  92. package/dist/{chunk-GFAG72LR.js → chunk-NUEPJ5W6.js} +7 -3
  93. package/dist/chunk-NYV45Q25.js +111 -0
  94. package/dist/{chunk-NAZRRXZM.js → chunk-O7PCNYEY.js} +2 -2
  95. package/dist/{chunk-7E2ZN7XA.js → chunk-OQKSF5ST.js} +3 -5
  96. package/dist/{chunk-VF3IL56Q.js → chunk-PLMX3IHG.js} +3 -3
  97. package/dist/{chunk-F35YILEN.js → chunk-PMLQRB3D.js} +1 -1
  98. package/dist/{chunk-SJJYXMJP.js → chunk-Q6ID23SU.js} +6 -6
  99. package/dist/{chunk-SDOWT67G.js → chunk-QECRQWLV.js} +5 -5
  100. package/dist/{chunk-Q4WTIKM6.js → chunk-QNATBOUH.js} +3 -3
  101. package/dist/{chunk-QIPW7OVB.js → chunk-QPPBH5NY.js} +5 -5
  102. package/dist/{chunk-7ETELRQX.js → chunk-QSW3HAKI.js} +16 -5
  103. package/dist/{chunk-FVERRWDP.js → chunk-RY4EPMZX.js} +2 -2
  104. package/dist/{chunk-MURJ4WAL.js → chunk-SROWUG5W.js} +1 -1
  105. package/dist/{chunk-UUAVYIWJ.js → chunk-TJUJAK5L.js} +4 -2
  106. package/dist/{chunk-3IFCXMC6.js → chunk-TR3GP5MH.js} +1 -1
  107. package/dist/{chunk-FX7KDF47.js → chunk-VHKK3US3.js} +3 -3
  108. package/dist/{chunk-6HIYOY6I.js → chunk-VNRWQCGU.js} +6 -6
  109. package/dist/{chunk-67Q3Q5IO.js → chunk-XF3AWNMO.js} +6 -6
  110. package/dist/{chunk-44FNEAXK.js → chunk-XJIIU36L.js} +1 -1
  111. package/dist/{chunk-DFKEJARZ.js → chunk-Y64JGYTB.js} +1 -1
  112. package/dist/{chunk-FYS27SUS.js → chunk-YUDZCJYC.js} +10 -10
  113. package/dist/{codex-app-cards-switch-IIL7IPP6.js → codex-app-cards-switch-JQ6356VX.js} +11 -12
  114. package/dist/{codex-desktop-launch-XCLMYVBD.js → codex-desktop-launch-YUB2LOAG.js} +1 -1
  115. package/dist/{codex-session-launch-UMVALJ3A.js → codex-session-launch-UKMAORXS.js} +19 -21
  116. package/dist/{config-5N3GUJD5.js → config-YY54G3CC.js} +3 -3
  117. package/dist/{global-upgrade-5F4CSXED.js → global-upgrade-Y4USGPS2.js} +10 -12
  118. package/dist/{identity-7ULYW4RL.js → identity-W5CYL5RC.js} +4 -5
  119. package/dist/{live-capabilities-QTSFXA6T.js → live-capabilities-JRNNA5EP.js} +5 -7
  120. package/dist/{paths-HEMK2ALW.js → paths-4MEBINV3.js} +7 -3
  121. package/dist/reapply-ZN7C3CB3.js +63 -0
  122. package/dist/src/index.js +20 -23
  123. package/dist/{upgrade-lock-IAZC5644.js → upgrade-lock-QAWUV2DO.js} +4 -5
  124. package/dist/{usage-NEFDYSRT.js → usage-43C2DHDU.js} +3 -3
  125. package/package.json +1 -1
  126. package/dist/chunk-6ICPEJY5.js +0 -20
  127. package/dist/chunk-6YSEOXP5.js +0 -615
  128. package/dist/chunk-LL2KHEJH.js +0 -41
  129. package/dist/chunk-QENTGE75.js +0 -86
  130. package/dist/reapply-AMFKVYZV.js +0 -63
package/CHANGELOG.md CHANGED
@@ -1,5 +1,25 @@
1
1
  # Changelog
2
2
 
3
+ ## 1.9.64
4
+
5
+ - Setup can connect Cline. Pick Cline, or run `npx pushary@latest setup --agents cline`. Setup adds the Pushary server, with your key, to `~/.cline/data/settings/cline_mcp_settings.json`, the file Cline 4 reads for both the VS Code extension and the Cline CLI. It honours `CLINE_DIR`, `CLINE_DATA_DIR` and `CLINE_MCP_SETTINGS_PATH` as Cline does, keeps every other server in the file, and waits for Cline's own lock on that file so it never writes over a change Cline is making. A file Cline cannot read either is left untouched.
6
+ - Setup also writes `~/.cline/rules/pushary.md`, a global rule that tells Cline to ask through Pushary when you may be away, because Cline's own question tool waits in VS Code, and to tell you when a task of several steps finishes.
7
+ - Cline's own approval prompts stay in VS Code; Pushary cannot answer them. Setup says to reload VS Code, and that ticking Use MCP servers in Cline's Auto-approve menu lets Pushary calls run without a click, for every MCP server Cline has, not only Pushary.
8
+ - Running setup again keeps what you set on the Pushary server in Cline, such as its timeout, auto-approve list and extra headers, and switches it back on. A pushary server that reaches Pushary through a local command such as `mcp-remote` is replaced with the direct connection, and the command's own settings go with it. Setup leaves a server someone else named pushary untouched and says so.
9
+ - `pushary upgrade` and the daily update replace only the key in Cline's settings after it changes, and refresh the rule. A server you switched off stays off. An entry that signs in through Cline, reads the key from an environment variable, or runs a local command such as `mcp-remote` is left as it is; setup replaces the last kind. On a computer without Cline they create nothing.
10
+ - `pushary doctor` checks Cline's entry, says when its key is not the one hooks use, when the server is switched off, and when another server already has the name pushary. A key kept in a variable is reported as one doctor cannot check, not as a stale key.
11
+ - `pushary disconnect cline` and `pushary clean` remove the Pushary server and the rule, and leave a server someone else named pushary. Like setup, they write the settings file readable only by you; Cline's own saves to that file do not keep it that way. If Cline holds the file locked, the file cannot be written, or it cannot be read while it may still hold Pushary, clean finishes its other steps and reports Cline as left behind, and disconnect exits with an error.
12
+ - Setup warns when Cline has another server pointing at Pushary, so Cline does not see Pushary's tools twice.
13
+
14
+ ## 1.9.63
15
+
16
+ - `pushary transcripts on` and `pushary transcripts off` turn encrypted transcript sync on or off for this machine, so your phone can show the conversation of a session instead of only its summary. Only that one setting in `~/.pushary/config.json` changes; the key and every other setting stay as they are.
17
+ - Codex and Gemini sessions already running from your phone keep syncing until they end, and `off` says so.
18
+ - Pushary for Mac keeps its own switch for the sessions it runs. `off` says when the app still saves history, and `on` says when the app is not saving them.
19
+ - When `PUSHARY_TRANSCRIPTS` in the shell says the opposite, the command says that it overrides the saved choice. A config file it cannot read or that does not hold valid settings is left untouched, and the command says which.
20
+ - `pushary login` now saves the same transcript choice as `pushary setup` when it saves a key: `PUSHARY_TRANSCRIPTS` when set, else the choice already on this machine, else on, with the same notice. Before, a machine signed in only through `pushary login` never synced transcripts. Running login again while the saved key still works changes nothing.
21
+ - The notice now names `pushary transcripts off` as the way to turn sync off.
22
+
3
23
  ## 1.9.62
4
24
 
5
25
  - In Cursor, each shell command and file change reaches your phone once. Cursor also runs Claude Code's hooks, so with Pushary's Cursor gate installed every gated call was asked about twice, once by each hook. The Claude Code hook now leaves a call from Cursor to the Cursor gate when `~/.cursor/hooks.json` registers that gate for that kind of call and the gate can answer it: its script is present and new enough to handle that kind of call, or the Pushary app is installed. Anything the Cursor gate does not cover is still asked about by the Claude Code hook. Commands the Cursor gate lets run without asking, such as ones that only read, no longer reach your phone through the Claude Code hook. This applies where this CLI runs Claude Code's hooks; while the Pushary Mac app runs them, calls from Cursor are still asked about twice until an app update.
package/README.md CHANGED
@@ -214,7 +214,7 @@ sign-out Sign out: remove the key this machine stores, and say what it does
214
214
  pair Pair a phone without re-running setup (--app for the Pushary app; also: connect)
215
215
  bell Free local bell when an agent finishes or needs you. No account, no key, no network
216
216
  doctor Verify your Pushary installation is working
217
- disconnect Turn off one agent (claude|codex|gemini|cursor|opencode|qwen|codebuddy|qoder|droid|devin|antigravity|grok|fx)
217
+ disconnect Turn off one agent (claude|codex|gemini|cursor|opencode|qwen|codebuddy|qoder|droid|devin|antigravity|grok|fx|cline)
218
218
  clean Remove Pushary from this machine (--everything: the Mac app's setup too, --dry-run: preview)
219
219
  mode Choose where approval requests appear
220
220
  wait Show or set the "wait for your phone" ladder (pushary wait 45)
@@ -222,7 +222,7 @@ stats Show the approval moments your agents hit while not connected
222
222
  suggestions List rules mined from your own approvals
223
223
  upgrade Update the globally installed hooks to the latest version
224
224
  hook Run as a PreToolUse hook (reads stdin, writes stdout)
225
- transcripts Show or re-trust the keys this machine seals transcripts to
225
+ transcripts Turn transcript sync on or off, or show and re-trust the keys it seals to
226
226
  ```
227
227
 
228
228
  Run `pushary <command> --help` for one command's options.
@@ -16,24 +16,23 @@ import {
16
16
  waitForQuestion,
17
17
  waitsForThePhone,
18
18
  withdrawQuestion
19
- } from "./chunk-RSNN2TPE.js";
20
- import "./chunk-ESXGCZDA.js";
19
+ } from "./chunk-E23RKH3T.js";
21
20
  import "./chunk-POFBE6ZY.js";
22
- import "./chunk-Q4WTIKM6.js";
23
- import "./chunk-HSRNWCXJ.js";
24
- import "./chunk-G3ZDCYMU.js";
21
+ import "./chunk-2KID4FK4.js";
22
+ import "./chunk-QNATBOUH.js";
23
+ import "./chunk-EEM65CGJ.js";
24
+ import "./chunk-ADRPW7KU.js";
25
25
  import "./chunk-PPY5N2E6.js";
26
26
  import "./chunk-KZERVKTD.js";
27
- import "./chunk-6YSEOXP5.js";
28
- import "./chunk-CFIQ3252.js";
29
- import "./chunk-QENTGE75.js";
30
- import "./chunk-DFKEJARZ.js";
31
- import "./chunk-FG5HMJ7C.js";
27
+ import "./chunk-H4BKC2GN.js";
28
+ import "./chunk-BSZIPIFA.js";
29
+ import "./chunk-Y64JGYTB.js";
30
+ import "./chunk-BAGBCSXA.js";
32
31
  import "./chunk-QTOLNRET.js";
33
32
  import {
34
33
  DECISION_STOP_REASON,
35
34
  UNVERIFIABLE_APPROVAL_REASON
36
- } from "./chunk-FXECTHAG.js";
35
+ } from "./chunk-MNKIR2ZB.js";
37
36
  import "./chunk-MLKGABMK.js";
38
37
  export {
39
38
  DECISION_STOP_REASON,
@@ -1,44 +1,41 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  handleBell
4
- } from "../chunk-GV43RXR2.js";
4
+ } from "../chunk-2YXBCZ3Z.js";
5
5
  import {
6
6
  readHookInput
7
- } from "../chunk-FYS27SUS.js";
8
- import "../chunk-EUNSJKJJ.js";
9
- import "../chunk-QW3FRUFB.js";
10
- import "../chunk-557ZE5EX.js";
11
- import "../chunk-5R23J52J.js";
12
- import "../chunk-7NJ4TDUH.js";
13
- import "../chunk-LCNN7UOE.js";
14
- import "../chunk-MURJ4WAL.js";
15
- import "../chunk-F35YILEN.js";
7
+ } from "../chunk-YUDZCJYC.js";
8
+ import "../chunk-57PU5OBL.js";
9
+ import "../chunk-DVYVGBPB.js";
10
+ import "../chunk-ML2Q6WWE.js";
11
+ import "../chunk-5NP3OJ5P.js";
12
+ import "../chunk-KA7JIMTG.js";
13
+ import "../chunk-6QPDBD7Q.js";
14
+ import "../chunk-SROWUG5W.js";
15
+ import "../chunk-PMLQRB3D.js";
16
16
  import "../chunk-NMUI3ZWG.js";
17
- import "../chunk-7ETELRQX.js";
18
- import "../chunk-UUAVYIWJ.js";
19
- import "../chunk-ZEDGKCCM.js";
17
+ import "../chunk-QSW3HAKI.js";
18
+ import "../chunk-TJUJAK5L.js";
19
+ import "../chunk-5TUDGSDC.js";
20
20
  import "../chunk-XHKBHWLX.js";
21
- import "../chunk-6ICPEJY5.js";
22
- import "../chunk-W3CBFLIX.js";
23
- import "../chunk-LWR5VKNC.js";
24
- import "../chunk-LL2KHEJH.js";
25
- import "../chunk-4K6YZPZ3.js";
26
- import "../chunk-RSNN2TPE.js";
27
- import "../chunk-ESXGCZDA.js";
21
+ import "../chunk-BLAIETMP.js";
22
+ import "../chunk-MIPJ2VXP.js";
23
+ import "../chunk-3KXBRSL3.js";
24
+ import "../chunk-E23RKH3T.js";
28
25
  import "../chunk-POFBE6ZY.js";
29
- import "../chunk-Q4WTIKM6.js";
30
- import "../chunk-HSRNWCXJ.js";
31
- import "../chunk-G3ZDCYMU.js";
26
+ import "../chunk-2KID4FK4.js";
27
+ import "../chunk-QNATBOUH.js";
28
+ import "../chunk-EEM65CGJ.js";
29
+ import "../chunk-ADRPW7KU.js";
32
30
  import "../chunk-PPY5N2E6.js";
33
31
  import "../chunk-KZERVKTD.js";
34
- import "../chunk-PSCXEH42.js";
35
- import "../chunk-6YSEOXP5.js";
36
- import "../chunk-CFIQ3252.js";
37
- import "../chunk-QENTGE75.js";
38
- import "../chunk-DFKEJARZ.js";
39
- import "../chunk-FG5HMJ7C.js";
32
+ import "../chunk-2VADJ6JH.js";
33
+ import "../chunk-H4BKC2GN.js";
34
+ import "../chunk-BSZIPIFA.js";
35
+ import "../chunk-Y64JGYTB.js";
36
+ import "../chunk-BAGBCSXA.js";
40
37
  import "../chunk-QTOLNRET.js";
41
- import "../chunk-FXECTHAG.js";
38
+ import "../chunk-MNKIR2ZB.js";
42
39
  import "../chunk-MLKGABMK.js";
43
40
 
44
41
  // bin/pushary-bell-hook.ts
@@ -5,41 +5,40 @@ import {
5
5
  liveAgentCount,
6
6
  ring,
7
7
  upgradeThreshold
8
- } from "../chunk-GV43RXR2.js";
8
+ } from "../chunk-2YXBCZ3Z.js";
9
9
  import {
10
10
  createIo
11
11
  } from "../chunk-FO3MDD26.js";
12
12
  import {
13
13
  exitOnHelpFlag
14
- } from "../chunk-OZRT64BB.js";
14
+ } from "../chunk-AN7C3CHH.js";
15
15
  import {
16
16
  addBellHooks,
17
17
  bellInstalled,
18
18
  removeBellHooks
19
- } from "../chunk-F35YILEN.js";
19
+ } from "../chunk-PMLQRB3D.js";
20
20
  import {
21
21
  parseFlags
22
22
  } from "../chunk-NMUI3ZWG.js";
23
- import "../chunk-W3CBFLIX.js";
23
+ import "../chunk-BLAIETMP.js";
24
24
  import "../chunk-PPY5N2E6.js";
25
25
  import {
26
26
  EXIT
27
27
  } from "../chunk-KZERVKTD.js";
28
- import "../chunk-PSCXEH42.js";
28
+ import "../chunk-2VADJ6JH.js";
29
29
  import {
30
30
  claudeSettings
31
- } from "../chunk-6YSEOXP5.js";
32
- import "../chunk-CFIQ3252.js";
31
+ } from "../chunk-H4BKC2GN.js";
33
32
  import {
34
33
  readJsonSafe,
35
34
  writeJsonAtomic
36
- } from "../chunk-QENTGE75.js";
37
- import "../chunk-DFKEJARZ.js";
38
- import "../chunk-FG5HMJ7C.js";
35
+ } from "../chunk-BSZIPIFA.js";
36
+ import "../chunk-Y64JGYTB.js";
37
+ import "../chunk-BAGBCSXA.js";
39
38
  import "../chunk-QTOLNRET.js";
40
39
  import {
41
40
  isRecord
42
- } from "../chunk-FXECTHAG.js";
41
+ } from "../chunk-MNKIR2ZB.js";
43
42
  import "../chunk-MLKGABMK.js";
44
43
 
45
44
  // bin/pushary-bell.ts
@@ -2,46 +2,45 @@
2
2
  import {
3
3
  WRAPPER_ACTIVE_ENV,
4
4
  findClaudeBinary
5
- } from "../chunk-FVERRWDP.js";
5
+ } from "../chunk-RY4EPMZX.js";
6
6
  import {
7
7
  SESSION_IDLE_TIMEOUT_MS,
8
8
  describeIdleWindow,
9
9
  startProcessOwnership,
10
10
  withSpawnProcessOwnership
11
- } from "../chunk-RFCEVROB.js";
12
- import "../chunk-VUFHYMSP.js";
11
+ } from "../chunk-A5KQXZR7.js";
12
+ import "../chunk-MXPOLQZH.js";
13
13
  import {
14
14
  announceSubscriptionRequired,
15
15
  isDeferAnswer
16
- } from "../chunk-3IFCXMC6.js";
16
+ } from "../chunk-TR3GP5MH.js";
17
17
  import {
18
18
  claudeTranscriptPath,
19
19
  loadSessionKey,
20
20
  registerTranscript,
21
21
  registeredTranscriptEnabled
22
- } from "../chunk-EUNSJKJJ.js";
23
- import "../chunk-QW3FRUFB.js";
22
+ } from "../chunk-57PU5OBL.js";
23
+ import "../chunk-DVYVGBPB.js";
24
24
  import {
25
25
  ensureDaemonRunning
26
- } from "../chunk-5R23J52J.js";
27
- import "../chunk-7NJ4TDUH.js";
28
- import "../chunk-LCNN7UOE.js";
29
- import "../chunk-MURJ4WAL.js";
30
- import "../chunk-F35YILEN.js";
26
+ } from "../chunk-5NP3OJ5P.js";
27
+ import "../chunk-KA7JIMTG.js";
28
+ import "../chunk-6QPDBD7Q.js";
29
+ import "../chunk-SROWUG5W.js";
30
+ import "../chunk-PMLQRB3D.js";
31
31
  import "../chunk-NMUI3ZWG.js";
32
32
  import {
33
33
  encryptRecord
34
- } from "../chunk-7ETELRQX.js";
35
- import "../chunk-UUAVYIWJ.js";
34
+ } from "../chunk-QSW3HAKI.js";
35
+ import "../chunk-TJUJAK5L.js";
36
36
  import {
37
37
  transcriptsEnabled
38
- } from "../chunk-ZEDGKCCM.js";
38
+ } from "../chunk-5TUDGSDC.js";
39
39
  import {
40
40
  needsShell,
41
41
  spawnClaude
42
42
  } from "../chunk-XHKBHWLX.js";
43
- import "../chunk-6ICPEJY5.js";
44
- import "../chunk-W3CBFLIX.js";
43
+ import "../chunk-BLAIETMP.js";
45
44
  import {
46
45
  DEFAULT_SESSION,
47
46
  UNNAMED_ACTION,
@@ -58,11 +57,10 @@ import {
58
57
  reportEvent,
59
58
  savePendingCommand,
60
59
  scopePathFor
61
- } from "../chunk-LWR5VKNC.js";
62
- import "../chunk-LL2KHEJH.js";
60
+ } from "../chunk-MIPJ2VXP.js";
63
61
  import {
64
62
  repoKeyFor
65
- } from "../chunk-4K6YZPZ3.js";
63
+ } from "../chunk-3KXBRSL3.js";
66
64
  import {
67
65
  askUser,
68
66
  cancelQuestion,
@@ -74,31 +72,30 @@ import {
74
72
  waitForAnswer,
75
73
  waitsForThePhone,
76
74
  withdrawQuestion
77
- } from "../chunk-RSNN2TPE.js";
75
+ } from "../chunk-E23RKH3T.js";
76
+ import "../chunk-POFBE6ZY.js";
78
77
  import {
79
78
  SubscriptionRequiredError
80
- } from "../chunk-ESXGCZDA.js";
81
- import "../chunk-POFBE6ZY.js";
82
- import "../chunk-Q4WTIKM6.js";
83
- import "../chunk-HSRNWCXJ.js";
79
+ } from "../chunk-2KID4FK4.js";
80
+ import "../chunk-QNATBOUH.js";
81
+ import "../chunk-EEM65CGJ.js";
84
82
  import {
85
83
  getMachineId
86
- } from "../chunk-G3ZDCYMU.js";
84
+ } from "../chunk-ADRPW7KU.js";
87
85
  import "../chunk-PPY5N2E6.js";
88
86
  import "../chunk-KZERVKTD.js";
89
- import "../chunk-PSCXEH42.js";
87
+ import "../chunk-2VADJ6JH.js";
90
88
  import {
91
89
  claudeConfigDir
92
- } from "../chunk-6YSEOXP5.js";
93
- import "../chunk-CFIQ3252.js";
94
- import "../chunk-QENTGE75.js";
90
+ } from "../chunk-H4BKC2GN.js";
91
+ import "../chunk-BSZIPIFA.js";
95
92
  import {
96
93
  getApiKey,
97
94
  getBaseUrl
98
- } from "../chunk-DFKEJARZ.js";
95
+ } from "../chunk-Y64JGYTB.js";
99
96
  import {
100
97
  NPX_LATEST_COMMAND
101
- } from "../chunk-FG5HMJ7C.js";
98
+ } from "../chunk-BAGBCSXA.js";
102
99
  import "../chunk-QTOLNRET.js";
103
100
  import {
104
101
  DECISION_STOP_REASON,
@@ -111,7 +108,7 @@ import {
111
108
  refusesWhenUnanswered,
112
109
  resolveGate,
113
110
  timeoutActionWithoutLocalPrompt
114
- } from "../chunk-FXECTHAG.js";
111
+ } from "../chunk-MNKIR2ZB.js";
115
112
  import "../chunk-MLKGABMK.js";
116
113
 
117
114
  // src/wrapper/localPassthrough.ts
@@ -15,26 +15,26 @@ import {
15
15
  storedMacAppState,
16
16
  storedPusharyKeychainServices,
17
17
  waitForMacAppExit
18
- } from "../chunk-SJCPIYWJ.js";
18
+ } from "../chunk-2CEVEMJE.js";
19
19
  import {
20
20
  PUSHARY_SKILL_NAME,
21
21
  PUSHARY_SKILL_SOURCE,
22
22
  createGuards
23
23
  } from "../chunk-EUW7JL2K.js";
24
- import "../chunk-UWCPY4RY.js";
24
+ import "../chunk-5TNGBDIE.js";
25
25
  import "../chunk-XCEN33UP.js";
26
26
  import {
27
27
  describeCliKeyRevocation,
28
28
  planCliKeyRevocations,
29
29
  readCliHeldKeys,
30
30
  revokeCliKeys
31
- } from "../chunk-YQK72JGV.js";
32
- import "../chunk-AFV3FQNG.js";
31
+ } from "../chunk-42PD2MQH.js";
32
+ import "../chunk-7UBDBJTG.js";
33
33
  import {
34
34
  isCursorPluginLeftover,
35
35
  releaseSoleGate,
36
36
  withoutPusharyCursorHooks
37
- } from "../chunk-3LBB7GVF.js";
37
+ } from "../chunk-6HPLEGUP.js";
38
38
  import {
39
39
  HERMES_PIP_PACKAGE,
40
40
  readHermesStatus,
@@ -43,21 +43,23 @@ import {
43
43
  shortenHome,
44
44
  unregisterPluginLocation,
45
45
  vscodeSettingsTargets
46
- } from "../chunk-EA6574W2.js";
46
+ } from "../chunk-KX3RMF6T.js";
47
47
  import {
48
48
  macAppKeepsMcpEntry,
49
49
  mcpServerBearer,
50
50
  pusharyKey,
51
51
  readMacAppAgentKey,
52
52
  setupReceiptKey
53
- } from "../chunk-QIPW7OVB.js";
53
+ } from "../chunk-QPPBH5NY.js";
54
54
  import "../chunk-QCGNGEGE.js";
55
- import "../chunk-NAZRRXZM.js";
55
+ import "../chunk-O7PCNYEY.js";
56
56
  import {
57
+ planClineRemoval,
57
58
  planFxRemoval,
58
- removeInstructionBlock
59
- } from "../chunk-LILS32LF.js";
60
- import "../chunk-EO6CL4PD.js";
59
+ removeClineServer
60
+ } from "../chunk-MPPTIZ2G.js";
61
+ import "../chunk-NYV45Q25.js";
62
+ import "../chunk-2PKHGHMA.js";
61
63
  import {
62
64
  OPENCODE_PLUGIN_SIBLING,
63
65
  OPENCODE_PLUGIN_SIBLING_CONTENTS,
@@ -69,35 +71,30 @@ import {
69
71
  openCodePluginDir,
70
72
  openCodePluginFile,
71
73
  removeOpenCodeMcpServer
72
- } from "../chunk-6HIYOY6I.js";
74
+ } from "../chunk-VNRWQCGU.js";
73
75
  import {
74
76
  ansiPainter,
75
77
  useColor
76
78
  } from "../chunk-FO3MDD26.js";
77
79
  import {
78
80
  exitOnHelpFlag
79
- } from "../chunk-OZRT64BB.js";
80
- import "../chunk-VUFHYMSP.js";
81
+ } from "../chunk-AN7C3CHH.js";
82
+ import "../chunk-MXPOLQZH.js";
81
83
  import {
82
84
  compatibleConfigFile,
83
85
  compatibleDocuments,
84
86
  compatibleInstructionsFile,
85
87
  compatibleMcpFile,
86
88
  compatiblePermissionRuleFile,
87
- isClaudeMcpSnapshot,
88
89
  isEmptiedPusharyOwnedDocument,
89
90
  readConfigDocument,
90
- removeClaudeMcpServers,
91
91
  removeCompatibleHooks,
92
92
  removeCompatibleMcpServer,
93
- removePusharySettings,
94
- removePusharyToolPermissions,
95
- restoreClaudeMcpServer,
96
93
  serializeConfigDocument
97
- } from "../chunk-557ZE5EX.js";
94
+ } from "../chunk-ML2Q6WWE.js";
98
95
  import {
99
96
  disableDaemonService
100
- } from "../chunk-5R23J52J.js";
97
+ } from "../chunk-5NP3OJ5P.js";
101
98
  import {
102
99
  hookOwnerOf,
103
100
  isHookTakeoverReceipt,
@@ -105,38 +102,36 @@ import {
105
102
  resolveBridgeStub,
106
103
  restoreHookTakeover,
107
104
  restoreMcpServer
108
- } from "../chunk-7NJ4TDUH.js";
105
+ } from "../chunk-KA7JIMTG.js";
109
106
  import {
110
107
  removeGeminiSettings
111
- } from "../chunk-LCNN7UOE.js";
112
- import "../chunk-MURJ4WAL.js";
113
- import "../chunk-F35YILEN.js";
108
+ } from "../chunk-6QPDBD7Q.js";
109
+ import "../chunk-SROWUG5W.js";
110
+ import "../chunk-PMLQRB3D.js";
114
111
  import {
115
112
  parseFlags
116
113
  } from "../chunk-NMUI3ZWG.js";
117
114
  import "../chunk-XHKBHWLX.js";
118
- import "../chunk-6ICPEJY5.js";
119
115
  import {
120
116
  CANDIDATE_RCS,
121
117
  isDisabledExport,
122
118
  removeClaudeAlias,
123
119
  shellProfileCandidates
124
- } from "../chunk-W3CBFLIX.js";
120
+ } from "../chunk-BLAIETMP.js";
125
121
  import "../chunk-E46NE7FB.js";
126
- import "../chunk-LWR5VKNC.js";
127
- import "../chunk-LL2KHEJH.js";
128
- import "../chunk-4K6YZPZ3.js";
129
- import "../chunk-RSNN2TPE.js";
130
- import "../chunk-ESXGCZDA.js";
122
+ import "../chunk-MIPJ2VXP.js";
123
+ import "../chunk-3KXBRSL3.js";
124
+ import "../chunk-E23RKH3T.js";
131
125
  import "../chunk-POFBE6ZY.js";
132
- import "../chunk-Q4WTIKM6.js";
133
- import "../chunk-HSRNWCXJ.js";
134
- import "../chunk-G3ZDCYMU.js";
126
+ import "../chunk-2KID4FK4.js";
127
+ import "../chunk-QNATBOUH.js";
128
+ import "../chunk-EEM65CGJ.js";
129
+ import "../chunk-ADRPW7KU.js";
135
130
  import "../chunk-PPY5N2E6.js";
136
131
  import {
137
132
  EXIT
138
133
  } from "../chunk-KZERVKTD.js";
139
- import "../chunk-PSCXEH42.js";
134
+ import "../chunk-2VADJ6JH.js";
140
135
  import {
141
136
  claudeConfigDir,
142
137
  claudeJson,
@@ -145,6 +140,8 @@ import {
145
140
  claudeSettingsLocal,
146
141
  claudeSkillDir,
147
142
  claudeUserConfigFile,
143
+ clineMcpSettings,
144
+ clineRules,
148
145
  codexAgentsMd,
149
146
  codexConfigToml,
150
147
  codexHookPositions,
@@ -164,28 +161,33 @@ import {
164
161
  hermesConfig,
165
162
  hermesConfigReceipt,
166
163
  hookTakeoverReceipt,
164
+ isClaudeMcpSnapshot,
167
165
  pusharyDir,
168
166
  readCodexMcpAuth,
167
+ removeClaudeMcpServers,
169
168
  removeCodexHookTrust,
170
169
  removeCodexHooks,
170
+ removeInstructionBlock,
171
+ removePusharySettings,
172
+ removePusharyToolPermissions,
173
+ restoreClaudeMcpServer,
171
174
  restoreCodexHookTrust,
172
175
  vscodePluginDir,
173
176
  vscodePluginMcp
174
- } from "../chunk-6YSEOXP5.js";
177
+ } from "../chunk-H4BKC2GN.js";
175
178
  import {
176
179
  cleanNpmEnv,
177
180
  globalPackageState,
178
181
  npmIsOnPath,
179
182
  readGlobalFolder,
180
183
  readGlobalPrefix
181
- } from "../chunk-CFIQ3252.js";
182
- import "../chunk-QENTGE75.js";
184
+ } from "../chunk-BSZIPIFA.js";
183
185
  import {
184
186
  getBaseUrl
185
- } from "../chunk-DFKEJARZ.js";
187
+ } from "../chunk-Y64JGYTB.js";
186
188
  import {
187
189
  NPX_LATEST_COMMAND
188
- } from "../chunk-FG5HMJ7C.js";
190
+ } from "../chunk-BAGBCSXA.js";
189
191
  import {
190
192
  CLI_PACKAGE_NAMES,
191
193
  globalPackageFolder,
@@ -199,7 +201,7 @@ import {
199
201
  SUPPORT_EMAIL,
200
202
  isValidApiKey,
201
203
  redactSecrets
202
- } from "../chunk-FXECTHAG.js";
204
+ } from "../chunk-MNKIR2ZB.js";
203
205
  import "../chunk-MLKGABMK.js";
204
206
 
205
207
  // bin/pushary-clean.ts
@@ -623,6 +625,23 @@ var removeFxInstructions = () => {
623
625
  console.log(` ${check} fx instructions ${dim(did("removed"))}`);
624
626
  }
625
627
  };
628
+ var removeClineServerEntry = () => {
629
+ if (!dryRun) return removeClineServer(clineMcpSettings());
630
+ const plan = planClineRemoval(clineMcpSettings());
631
+ if (plan.kind === "write") guardedWrite(plan.path, plan.text);
632
+ return plan;
633
+ };
634
+ var removeClineConfiguration = () => {
635
+ const removal = removeClineServerEntry();
636
+ if (removal.kind === "write") console.log(` ${check} Cline MCP ${dim(did("removed"))}`);
637
+ if (removal.kind === "kept" || removal.kind === "failed") {
638
+ incompleteClean = true;
639
+ console.log(` ${cross} Cline MCP ${dim(`(${removal.detail})`)}`);
640
+ }
641
+ if (guardedInstructionBlockRemoval(clineRules())) {
642
+ console.log(` ${check} Cline rule ${dim(did("removed"))}`);
643
+ }
644
+ };
626
645
  var removeCursorUserHook = (scope) => {
627
646
  if (!existsSync5(CURSOR_USER_HOOKS)) return "absent";
628
647
  let parsed2;
@@ -676,6 +695,7 @@ var agentConfigDirectories = () => [
676
695
  dirname2(CURSOR_USER_HOOKS),
677
696
  openCodeConfigDir(),
678
697
  fxConfigDir(),
698
+ dirname2(clineMcpSettings()),
679
699
  ...vscodeSettingsTargets(existsSync5).map((settings) => dirname2(settings))
680
700
  ];
681
701
  var restoreTakeoverReceipts = () => {
@@ -1125,6 +1145,7 @@ var main = async () => {
1125
1145
  }
1126
1146
  removeFxConfiguration();
1127
1147
  removeFxInstructions();
1148
+ removeClineConfiguration();
1128
1149
  const hermesPython = resolveHermesPython();
1129
1150
  if (hermesPython) {
1130
1151
  const configRun = runHermesConfigScript(hermesPython, dryRun ? "clean-preview" : "clean", HERMES_CONFIG_RECEIPT);
@@ -1,46 +1,44 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  runCodexBridge
4
- } from "../chunk-SJJYXMJP.js";
5
- import "../chunk-GFAG72LR.js";
4
+ } from "../chunk-Q6ID23SU.js";
5
+ import "../chunk-NUEPJ5W6.js";
6
6
  import {
7
7
  resolveProviderBinary
8
- } from "../chunk-TMHE5CVX.js";
9
- import "../chunk-R3CLBNST.js";
8
+ } from "../chunk-DCMRNIDM.js";
9
+ import "../chunk-IZTDX2MX.js";
10
10
  import {
11
11
  withSpawnProcessOwnership
12
- } from "../chunk-RFCEVROB.js";
13
- import "../chunk-VUFHYMSP.js";
14
- import "../chunk-7ETELRQX.js";
15
- import "../chunk-UUAVYIWJ.js";
12
+ } from "../chunk-A5KQXZR7.js";
13
+ import "../chunk-MXPOLQZH.js";
14
+ import "../chunk-QSW3HAKI.js";
15
+ import "../chunk-TJUJAK5L.js";
16
16
  import {
17
17
  transcriptsEnabled
18
- } from "../chunk-ZEDGKCCM.js";
18
+ } from "../chunk-5TUDGSDC.js";
19
19
  import "../chunk-XHKBHWLX.js";
20
- import "../chunk-6ICPEJY5.js";
21
- import "../chunk-W3CBFLIX.js";
22
- import "../chunk-4K6YZPZ3.js";
23
- import "../chunk-RSNN2TPE.js";
24
- import "../chunk-ESXGCZDA.js";
20
+ import "../chunk-BLAIETMP.js";
21
+ import "../chunk-3KXBRSL3.js";
22
+ import "../chunk-E23RKH3T.js";
25
23
  import "../chunk-POFBE6ZY.js";
26
- import "../chunk-Q4WTIKM6.js";
27
- import "../chunk-HSRNWCXJ.js";
24
+ import "../chunk-2KID4FK4.js";
25
+ import "../chunk-QNATBOUH.js";
26
+ import "../chunk-EEM65CGJ.js";
28
27
  import {
29
28
  getMachineId
30
- } from "../chunk-G3ZDCYMU.js";
29
+ } from "../chunk-ADRPW7KU.js";
31
30
  import "../chunk-PPY5N2E6.js";
32
31
  import "../chunk-KZERVKTD.js";
33
- import "../chunk-PSCXEH42.js";
34
- import "../chunk-6YSEOXP5.js";
35
- import "../chunk-CFIQ3252.js";
36
- import "../chunk-QENTGE75.js";
32
+ import "../chunk-2VADJ6JH.js";
33
+ import "../chunk-H4BKC2GN.js";
34
+ import "../chunk-BSZIPIFA.js";
37
35
  import {
38
36
  getApiKey,
39
37
  getBaseUrl
40
- } from "../chunk-DFKEJARZ.js";
41
- import "../chunk-FG5HMJ7C.js";
38
+ } from "../chunk-Y64JGYTB.js";
39
+ import "../chunk-BAGBCSXA.js";
42
40
  import "../chunk-QTOLNRET.js";
43
- import "../chunk-FXECTHAG.js";
41
+ import "../chunk-MNKIR2ZB.js";
44
42
  import "../chunk-MLKGABMK.js";
45
43
 
46
44
  // bin/pushary-codex-bridge.ts