@pushary/agent-hooks 1.9.64 → 1.9.66
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.
- package/CHANGELOG.md +18 -1
- package/dist/{api-HDLTZTVR.js → api-GDSVUTI2.js} +12 -10
- package/dist/bin/pushary-bell-hook.js +25 -27
- package/dist/bin/pushary-bell.js +10 -10
- package/dist/bin/pushary-claude.js +26 -28
- package/dist/bin/pushary-clean.js +39 -36
- package/dist/bin/pushary-codex-bridge.js +21 -22
- package/dist/bin/pushary-codex-hook.js +30 -32
- package/dist/bin/pushary-codex-session.js +8 -8
- package/dist/bin/pushary-codex.js +13 -13
- package/dist/bin/pushary-connect.js +25 -26
- package/dist/bin/pushary-cowork.js +5 -5
- package/dist/bin/pushary-daemon.js +37 -39
- package/dist/bin/pushary-disconnect.js +25 -26
- package/dist/bin/pushary-doctor.js +66 -44
- package/dist/bin/pushary-elicitation-hook.js +25 -27
- package/dist/bin/pushary-gemini-bridge.js +15 -16
- package/dist/bin/pushary-gemini-hook.js +27 -29
- package/dist/bin/pushary-hook.js +29 -31
- package/dist/bin/pushary-login.js +19 -19
- package/dist/bin/pushary-logout.js +25 -26
- package/dist/bin/pushary-mcp.js +11 -11
- package/dist/bin/pushary-mode.js +14 -14
- package/dist/bin/pushary-notification-hook.js +24 -26
- package/dist/bin/pushary-opencode-hook.js +26 -28
- package/dist/bin/pushary-permission-denied-hook.js +29 -31
- package/dist/bin/pushary-permission-hook.js +32 -31
- package/dist/bin/pushary-post-hook.js +24 -26
- package/dist/bin/pushary-prompt-hook.js +24 -26
- package/dist/bin/pushary-session-end-hook.js +26 -28
- package/dist/bin/pushary-session-start-hook.js +33 -35
- package/dist/bin/pushary-setup.js +68 -54
- package/dist/bin/pushary-stats.js +5 -5
- package/dist/bin/pushary-status.js +30 -31
- package/dist/bin/pushary-stop-hook.js +24 -26
- package/dist/bin/pushary-stopfailure-hook.js +24 -26
- package/dist/bin/pushary-suggestions.js +14 -14
- package/dist/bin/pushary-transcript-register.js +16 -18
- package/dist/bin/pushary-transcripts.js +17 -17
- package/dist/bin/pushary-upgrade.js +37 -38
- package/dist/bin/pushary-wait.js +14 -14
- package/dist/bin/pushary.js +7 -7
- package/dist/{chunk-7UBDBJTG.js → chunk-26W46E46.js} +4 -4
- package/dist/{chunk-MIPJ2VXP.js → chunk-2BL6KWN7.js} +9 -9
- package/dist/{chunk-42PD2MQH.js → chunk-32ZT2ATY.js} +5 -5
- package/dist/{chunk-2EY4HGLG.js → chunk-376TUN72.js} +3 -3
- package/dist/{chunk-A5KQXZR7.js → chunk-3ELJIG2R.js} +3 -3
- package/dist/{chunk-ML2Q6WWE.js → chunk-3EZP5ZPS.js} +5 -4
- package/dist/{chunk-66FRMK7V.js → chunk-3FQX74E4.js} +3 -3
- package/dist/{chunk-HVOQUPSO.js → chunk-45KMS76L.js} +1 -1
- package/dist/{chunk-LA7CKRZN.js → chunk-4APD2DPI.js} +2 -2
- package/dist/{chunk-5NP3OJ5P.js → chunk-57NTMVMI.js} +6 -6
- package/dist/{chunk-NYV45Q25.js → chunk-5FJDODOA.js} +3 -3
- package/dist/{chunk-RY4EPMZX.js → chunk-5J7OZBJ4.js} +2 -2
- package/dist/{chunk-XJIIU36L.js → chunk-6BGVSV2Q.js} +1 -1
- package/dist/{chunk-2YXBCZ3Z.js → chunk-6RJZSBPD.js} +1 -1
- package/dist/{chunk-MPPTIZ2G.js → chunk-6ZXCWK27.js} +5 -5
- package/dist/{chunk-VNRWQCGU.js → chunk-7LK3Y6ET.js} +63 -6
- package/dist/{chunk-Y64JGYTB.js → chunk-A47UKPC7.js} +1 -1
- package/dist/{chunk-5TNGBDIE.js → chunk-AVWECJSN.js} +2 -2
- package/dist/{chunk-CCNH4PJ2.js → chunk-AWGBL4P3.js} +211 -24
- package/dist/{chunk-LMC5UPL7.js → chunk-B6JC676X.js} +1 -1
- package/dist/{chunk-QPPBH5NY.js → chunk-CN6JFM62.js} +5 -5
- package/dist/{chunk-BLAIETMP.js → chunk-CNJ7SI5V.js} +4 -4
- package/dist/{chunk-DVYVGBPB.js → chunk-DBUHSUL7.js} +1 -1
- package/dist/{chunk-CJADXAJU.js → chunk-DIUTSF6I.js} +4 -4
- package/dist/{chunk-JX3DHGZX.js → chunk-DKMVVBXO.js} +30 -17
- package/dist/{chunk-2CEVEMJE.js → chunk-DPU6H4JY.js} +3 -3
- package/dist/{chunk-MNKIR2ZB.js → chunk-EJR5JXMV.js} +24 -1
- package/dist/{chunk-VHKK3US3.js → chunk-EU2ZOZC3.js} +3 -3
- package/dist/{chunk-AN7C3CHH.js → chunk-G6VJZ3RB.js} +1 -1
- package/dist/{chunk-H4BKC2GN.js → chunk-GDLT32I4.js} +3 -3
- package/dist/{chunk-EEM65CGJ.js → chunk-GECU7V44.js} +3 -3
- package/dist/{chunk-BAGBCSXA.js → chunk-GO7YKPT3.js} +1 -1
- package/dist/{chunk-QECRQWLV.js → chunk-GWYCKTXS.js} +5 -5
- package/dist/{chunk-2PKHGHMA.js → chunk-HUGVJBDN.js} +2 -2
- package/dist/{chunk-ADRPW7KU.js → chunk-IA5VWIHV.js} +2 -2
- package/dist/{chunk-6HPLEGUP.js → chunk-IGO3AGZK.js} +4 -4
- package/dist/{chunk-PMLQRB3D.js → chunk-IQ3GKPFM.js} +1 -1
- package/dist/{chunk-LV6DX4P6.js → chunk-JL3SZJJP.js} +2 -2
- package/dist/{chunk-BSZIPIFA.js → chunk-KS3O6O7E.js} +3 -3
- package/dist/{chunk-IZTDX2MX.js → chunk-MDIGG3Q7.js} +3 -3
- package/dist/{chunk-JTOBQUIL.js → chunk-MNNQEUQC.js} +3 -3
- package/dist/{chunk-2KID4FK4.js → chunk-Q5RNYE2L.js} +4 -4
- package/dist/{chunk-KX3RMF6T.js → chunk-QBNICXMC.js} +6 -6
- package/dist/{chunk-YUDZCJYC.js → chunk-QN25WBXL.js} +9 -7
- package/dist/{chunk-NUEPJ5W6.js → chunk-QOIPUYUD.js} +3 -5
- package/dist/{chunk-QNATBOUH.js → chunk-QR2QWGQI.js} +3 -3
- package/dist/{chunk-NOH3EJFH.js → chunk-R7C2FS33.js} +1 -1
- package/dist/{chunk-MXPOLQZH.js → chunk-RJ6JEHCP.js} +1 -1
- package/dist/{chunk-E2LB6JNV.js → chunk-RSZQEEEW.js} +7 -6
- package/dist/{chunk-57PU5OBL.js → chunk-SVKCYUYP.js} +11 -13
- package/dist/{chunk-DCMRNIDM.js → chunk-T6YLXO6N.js} +4 -4
- package/dist/{chunk-Q6ID23SU.js → chunk-TQNFDNJA.js} +6 -6
- package/dist/{chunk-SROWUG5W.js → chunk-UTAARXYQ.js} +1 -1
- package/dist/{chunk-OQKSF5ST.js → chunk-V3YBVOTZ.js} +2 -2
- package/dist/{chunk-XF3AWNMO.js → chunk-V4EOFOB2.js} +6 -6
- package/dist/{chunk-PLMX3IHG.js → chunk-VURDLVAQ.js} +3 -3
- package/dist/{chunk-AQAPPSDV.js → chunk-XDDSURY3.js} +3 -3
- package/dist/{chunk-QSW3HAKI.js → chunk-XEXF2OFZ.js} +61 -2
- package/dist/{chunk-2Z7I7DHT.js → chunk-XFQAK35L.js} +1 -1
- package/dist/{chunk-5TUDGSDC.js → chunk-XGFFNERF.js} +1 -1
- package/dist/{chunk-2VADJ6JH.js → chunk-XIJTXRWB.js} +2 -2
- package/dist/{chunk-3KXBRSL3.js → chunk-XXIJBYNW.js} +1 -1
- package/dist/{chunk-O7PCNYEY.js → chunk-YB3HMDKE.js} +2 -2
- package/dist/{chunk-KA7JIMTG.js → chunk-YQDCTID4.js} +115 -9
- package/dist/{chunk-E23RKH3T.js → chunk-ZAZUDYSF.js} +26 -12
- package/dist/{chunk-TR3GP5MH.js → chunk-ZJV7SFIJ.js} +1 -1
- package/dist/{codex-app-cards-switch-JQ6356VX.js → codex-app-cards-switch-W7OLKOMO.js} +11 -11
- package/dist/{codex-desktop-launch-YUB2LOAG.js → codex-desktop-launch-U6V3AXZF.js} +1 -1
- package/dist/{codex-session-launch-UKMAORXS.js → codex-session-launch-EFU46WBL.js} +18 -19
- package/dist/{config-YY54G3CC.js → config-UC4LMCNX.js} +3 -3
- package/dist/{global-upgrade-Y4USGPS2.js → global-upgrade-ABF5O3HU.js} +10 -10
- package/dist/{identity-W5CYL5RC.js → identity-3ZUZPHN6.js} +4 -4
- package/dist/{live-capabilities-JRNNA5EP.js → live-capabilities-BXWXJARK.js} +5 -5
- package/dist/{paths-4MEBINV3.js → paths-FO76CFRQ.js} +3 -3
- package/dist/{reapply-ZN7C3CB3.js → reapply-3T3DFUAI.js} +26 -27
- package/dist/src/index.js +30 -20
- package/dist/{upgrade-lock-QAWUV2DO.js → upgrade-lock-EZ5JIPJE.js} +4 -4
- package/dist/{usage-43C2DHDU.js → usage-Y6BL7RUD.js} +3 -3
- package/package.json +1 -1
- package/dist/chunk-6QPDBD7Q.js +0 -118
- package/dist/chunk-TJUJAK5L.js +0 -62
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,22 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 1.9.66
|
|
4
|
+
|
|
5
|
+
- In Claude Code, an approval stays answerable from your phone and from the terminal at the same time, and whichever answers first wins. Before, Pushary held the call for its window (60 seconds by default) while the terminal showed only a spinner, then withdrew the phone question and left only the terminal. Now Claude Code shows its own prompt straight away, Pushary sends the same question to your phone, and the phone keeps it for up to 10 minutes. Answer at the terminal and Pushary withdraws the phone question. This applies in an interactive Claude Code session in default or accept-edits mode, when only Pushary's defaults ask about the call. In bypass mode, and in `claude -p` and other headless runs, there is no prompt to answer, so Pushary still holds the call as before.
|
|
6
|
+
- Claude Code always shows its prompt for these calls, even where its own allow rules, a "don't ask again" choice or accept-edits would have run them without asking.
|
|
7
|
+
- A phone-only rule that approves or denies after a set time still does that when nobody answers in time. Other rules, including the built-in ones, never decide a call nobody answered: the prompt stays open. If Pushary cannot reach your phone, the terminal prompt stays and you answer there.
|
|
8
|
+
- A rule you wrote, a preset you picked or a mode you switched to for now keeps the old behaviour, as you set it up. So does a Team approval route, which its approver answers, not the terminal.
|
|
9
|
+
- Setup, upgrade and the daily update add a proof of the 10 minute hold to the Claude Code permission hook. Until then, an older registration keeps the window your rule had before, with the terminal answerable from the start.
|
|
10
|
+
- With Pushary for Mac, approvals work as before for now.
|
|
11
|
+
|
|
12
|
+
## 1.9.65
|
|
13
|
+
|
|
14
|
+
- OpenCode now asks before shell commands, edits and web fetches, so those approvals reach Pushary. Out of the box OpenCode runs all three without asking anybody, and Pushary's plugin can only answer what OpenCode asks, so until now an OpenCode set up by Pushary approved nothing. Setup sets `bash`, `edit` and `webfetch` to `ask` under `permission` in `opencode.json`, but only for a tool no rule of yours names. A rule for every tool (`"*"`), another name for the same tool (`shell`, `write`, `patch`), a switch under `tools`, a list of patterns and a single `permission` value all count as yours and stay as they are. Pushary's rules go before yours, and OpenCode follows the last rule that matches, so yours still decide.
|
|
15
|
+
- `pushary upgrade` and the daily update add the same rules to an OpenCode Pushary already set up, again only where you have set nothing, and list them as approval rules. They create no `opencode.json` and leave one they cannot read untouched.
|
|
16
|
+
- Setup and `pushary doctor` say which of the three OpenCode would still run without asking, and whether that is because no rule names it or because a rule of yours allows it. Doctor reports this as a warning, so it does not fail `pushary doctor`.
|
|
17
|
+
- `pushary clean` and `pushary disconnect opencode` leave these rules in place, because a rule may be one you set yourself. OpenCode then keeps asking in its own prompt.
|
|
18
|
+
- Pushary for Mac does not add these rules yet, and setup and upgrade leave an OpenCode the app set up to the app. On such a Mac, add `"bash": "ask"`, `"edit": "ask"` and `"webfetch": "ask"` under `permission` in `opencode.json` yourself.
|
|
19
|
+
|
|
3
20
|
## 1.9.64
|
|
4
21
|
|
|
5
22
|
- 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.
|
|
@@ -22,7 +39,7 @@
|
|
|
22
39
|
|
|
23
40
|
## 1.9.62
|
|
24
41
|
|
|
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.
|
|
42
|
+
- 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. Pushary for Mac was never affected: it does not ask about the calls Cursor passes to Claude Code's hooks.
|
|
26
43
|
- When a session already has as many open questions as Pushary allows, a new approval is never approved and nobody is asked again. Before, the hook stopped the agent and told it to retry, and every retry was refused again. Now the call goes to a prompt only where one is sure to follow: Claude Code's own prompt or permission dialog, the prompt of an agent that runs Claude Code's hooks and has one of its own, such as Grok, and Codex's own confirmation for a call Codex itself asked about. Everywhere else it is refused, with a message that says why: under a rule that refuses when nobody answers, in Codex before a tool runs, in Gemini CLI and OpenCode, in Antigravity CLI, in sessions started from your phone, and for a call from Cursor, because Cursor does not hold a call for a prompt. Gemini CLI under When I'm out hands the call to Gemini, as it did before. A question your agent asks you ends as an unanswered question, so its own picker, plan dialog or MCP form shows.
|
|
27
44
|
|
|
28
45
|
## 1.9.61
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import {
|
|
2
|
+
ABANDONED_WAIT,
|
|
2
3
|
WAIT_RESPONSE_GRACE_MS,
|
|
3
4
|
askUser,
|
|
4
5
|
cancelQuestion,
|
|
@@ -16,25 +17,26 @@ import {
|
|
|
16
17
|
waitForQuestion,
|
|
17
18
|
waitsForThePhone,
|
|
18
19
|
withdrawQuestion
|
|
19
|
-
} from "./chunk-
|
|
20
|
+
} from "./chunk-ZAZUDYSF.js";
|
|
20
21
|
import "./chunk-POFBE6ZY.js";
|
|
21
|
-
import "./chunk-
|
|
22
|
-
import "./chunk-
|
|
23
|
-
import "./chunk-
|
|
24
|
-
import "./chunk-
|
|
22
|
+
import "./chunk-Q5RNYE2L.js";
|
|
23
|
+
import "./chunk-QR2QWGQI.js";
|
|
24
|
+
import "./chunk-GECU7V44.js";
|
|
25
|
+
import "./chunk-IA5VWIHV.js";
|
|
25
26
|
import "./chunk-PPY5N2E6.js";
|
|
26
27
|
import "./chunk-KZERVKTD.js";
|
|
27
|
-
import "./chunk-
|
|
28
|
-
import "./chunk-
|
|
29
|
-
import "./chunk-
|
|
30
|
-
import "./chunk-
|
|
28
|
+
import "./chunk-GDLT32I4.js";
|
|
29
|
+
import "./chunk-KS3O6O7E.js";
|
|
30
|
+
import "./chunk-A47UKPC7.js";
|
|
31
|
+
import "./chunk-GO7YKPT3.js";
|
|
31
32
|
import "./chunk-QTOLNRET.js";
|
|
32
33
|
import {
|
|
33
34
|
DECISION_STOP_REASON,
|
|
34
35
|
UNVERIFIABLE_APPROVAL_REASON
|
|
35
|
-
} from "./chunk-
|
|
36
|
+
} from "./chunk-EJR5JXMV.js";
|
|
36
37
|
import "./chunk-MLKGABMK.js";
|
|
37
38
|
export {
|
|
39
|
+
ABANDONED_WAIT,
|
|
38
40
|
DECISION_STOP_REASON,
|
|
39
41
|
UNVERIFIABLE_APPROVAL_REASON,
|
|
40
42
|
WAIT_RESPONSE_GRACE_MS,
|
|
@@ -1,41 +1,39 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
handleBell
|
|
4
|
-
} from "../chunk-
|
|
4
|
+
} from "../chunk-6RJZSBPD.js";
|
|
5
5
|
import {
|
|
6
6
|
readHookInput
|
|
7
|
-
} from "../chunk-
|
|
8
|
-
import "../chunk-
|
|
9
|
-
import "../chunk-
|
|
10
|
-
import "../chunk-
|
|
11
|
-
import "../chunk-
|
|
12
|
-
import "../chunk-
|
|
13
|
-
import "../chunk-
|
|
14
|
-
import "../chunk-
|
|
15
|
-
import "../chunk-PMLQRB3D.js";
|
|
7
|
+
} from "../chunk-QN25WBXL.js";
|
|
8
|
+
import "../chunk-SVKCYUYP.js";
|
|
9
|
+
import "../chunk-DBUHSUL7.js";
|
|
10
|
+
import "../chunk-3EZP5ZPS.js";
|
|
11
|
+
import "../chunk-57NTMVMI.js";
|
|
12
|
+
import "../chunk-YQDCTID4.js";
|
|
13
|
+
import "../chunk-UTAARXYQ.js";
|
|
14
|
+
import "../chunk-IQ3GKPFM.js";
|
|
16
15
|
import "../chunk-NMUI3ZWG.js";
|
|
17
|
-
import "../chunk-
|
|
18
|
-
import "../chunk-
|
|
19
|
-
import "../chunk-5TUDGSDC.js";
|
|
16
|
+
import "../chunk-XEXF2OFZ.js";
|
|
17
|
+
import "../chunk-XGFFNERF.js";
|
|
20
18
|
import "../chunk-XHKBHWLX.js";
|
|
21
|
-
import "../chunk-
|
|
22
|
-
import "../chunk-
|
|
23
|
-
import "../chunk-
|
|
24
|
-
import "../chunk-
|
|
19
|
+
import "../chunk-CNJ7SI5V.js";
|
|
20
|
+
import "../chunk-2BL6KWN7.js";
|
|
21
|
+
import "../chunk-XXIJBYNW.js";
|
|
22
|
+
import "../chunk-ZAZUDYSF.js";
|
|
25
23
|
import "../chunk-POFBE6ZY.js";
|
|
26
|
-
import "../chunk-
|
|
27
|
-
import "../chunk-
|
|
28
|
-
import "../chunk-
|
|
29
|
-
import "../chunk-
|
|
24
|
+
import "../chunk-Q5RNYE2L.js";
|
|
25
|
+
import "../chunk-QR2QWGQI.js";
|
|
26
|
+
import "../chunk-GECU7V44.js";
|
|
27
|
+
import "../chunk-IA5VWIHV.js";
|
|
30
28
|
import "../chunk-PPY5N2E6.js";
|
|
31
29
|
import "../chunk-KZERVKTD.js";
|
|
32
|
-
import "../chunk-
|
|
33
|
-
import "../chunk-
|
|
34
|
-
import "../chunk-
|
|
35
|
-
import "../chunk-
|
|
36
|
-
import "../chunk-
|
|
30
|
+
import "../chunk-XIJTXRWB.js";
|
|
31
|
+
import "../chunk-GDLT32I4.js";
|
|
32
|
+
import "../chunk-KS3O6O7E.js";
|
|
33
|
+
import "../chunk-A47UKPC7.js";
|
|
34
|
+
import "../chunk-GO7YKPT3.js";
|
|
37
35
|
import "../chunk-QTOLNRET.js";
|
|
38
|
-
import "../chunk-
|
|
36
|
+
import "../chunk-EJR5JXMV.js";
|
|
39
37
|
import "../chunk-MLKGABMK.js";
|
|
40
38
|
|
|
41
39
|
// bin/pushary-bell-hook.ts
|
package/dist/bin/pushary-bell.js
CHANGED
|
@@ -5,40 +5,40 @@ import {
|
|
|
5
5
|
liveAgentCount,
|
|
6
6
|
ring,
|
|
7
7
|
upgradeThreshold
|
|
8
|
-
} from "../chunk-
|
|
8
|
+
} from "../chunk-6RJZSBPD.js";
|
|
9
9
|
import {
|
|
10
10
|
createIo
|
|
11
11
|
} from "../chunk-FO3MDD26.js";
|
|
12
12
|
import {
|
|
13
13
|
exitOnHelpFlag
|
|
14
|
-
} from "../chunk-
|
|
14
|
+
} from "../chunk-G6VJZ3RB.js";
|
|
15
15
|
import {
|
|
16
16
|
addBellHooks,
|
|
17
17
|
bellInstalled,
|
|
18
18
|
removeBellHooks
|
|
19
|
-
} from "../chunk-
|
|
19
|
+
} from "../chunk-IQ3GKPFM.js";
|
|
20
20
|
import {
|
|
21
21
|
parseFlags
|
|
22
22
|
} from "../chunk-NMUI3ZWG.js";
|
|
23
|
-
import "../chunk-
|
|
23
|
+
import "../chunk-CNJ7SI5V.js";
|
|
24
24
|
import "../chunk-PPY5N2E6.js";
|
|
25
25
|
import {
|
|
26
26
|
EXIT
|
|
27
27
|
} from "../chunk-KZERVKTD.js";
|
|
28
|
-
import "../chunk-
|
|
28
|
+
import "../chunk-XIJTXRWB.js";
|
|
29
29
|
import {
|
|
30
30
|
claudeSettings
|
|
31
|
-
} from "../chunk-
|
|
31
|
+
} from "../chunk-GDLT32I4.js";
|
|
32
32
|
import {
|
|
33
33
|
readJsonSafe,
|
|
34
34
|
writeJsonAtomic
|
|
35
|
-
} from "../chunk-
|
|
36
|
-
import "../chunk-
|
|
37
|
-
import "../chunk-
|
|
35
|
+
} from "../chunk-KS3O6O7E.js";
|
|
36
|
+
import "../chunk-A47UKPC7.js";
|
|
37
|
+
import "../chunk-GO7YKPT3.js";
|
|
38
38
|
import "../chunk-QTOLNRET.js";
|
|
39
39
|
import {
|
|
40
40
|
isRecord
|
|
41
|
-
} from "../chunk-
|
|
41
|
+
} from "../chunk-EJR5JXMV.js";
|
|
42
42
|
import "../chunk-MLKGABMK.js";
|
|
43
43
|
|
|
44
44
|
// bin/pushary-bell.ts
|
|
@@ -2,45 +2,43 @@
|
|
|
2
2
|
import {
|
|
3
3
|
WRAPPER_ACTIVE_ENV,
|
|
4
4
|
findClaudeBinary
|
|
5
|
-
} from "../chunk-
|
|
5
|
+
} from "../chunk-5J7OZBJ4.js";
|
|
6
6
|
import {
|
|
7
7
|
SESSION_IDLE_TIMEOUT_MS,
|
|
8
8
|
describeIdleWindow,
|
|
9
9
|
startProcessOwnership,
|
|
10
10
|
withSpawnProcessOwnership
|
|
11
|
-
} from "../chunk-
|
|
12
|
-
import "../chunk-
|
|
11
|
+
} from "../chunk-3ELJIG2R.js";
|
|
12
|
+
import "../chunk-RJ6JEHCP.js";
|
|
13
13
|
import {
|
|
14
14
|
announceSubscriptionRequired,
|
|
15
15
|
isDeferAnswer
|
|
16
|
-
} from "../chunk-
|
|
16
|
+
} from "../chunk-ZJV7SFIJ.js";
|
|
17
17
|
import {
|
|
18
18
|
claudeTranscriptPath,
|
|
19
19
|
loadSessionKey,
|
|
20
20
|
registerTranscript,
|
|
21
21
|
registeredTranscriptEnabled
|
|
22
|
-
} from "../chunk-
|
|
23
|
-
import "../chunk-
|
|
22
|
+
} from "../chunk-SVKCYUYP.js";
|
|
23
|
+
import "../chunk-DBUHSUL7.js";
|
|
24
24
|
import {
|
|
25
25
|
ensureDaemonRunning
|
|
26
|
-
} from "../chunk-
|
|
27
|
-
import "../chunk-
|
|
28
|
-
import "../chunk-
|
|
29
|
-
import "../chunk-
|
|
30
|
-
import "../chunk-PMLQRB3D.js";
|
|
26
|
+
} from "../chunk-57NTMVMI.js";
|
|
27
|
+
import "../chunk-YQDCTID4.js";
|
|
28
|
+
import "../chunk-UTAARXYQ.js";
|
|
29
|
+
import "../chunk-IQ3GKPFM.js";
|
|
31
30
|
import "../chunk-NMUI3ZWG.js";
|
|
32
31
|
import {
|
|
33
32
|
encryptRecord
|
|
34
|
-
} from "../chunk-
|
|
35
|
-
import "../chunk-TJUJAK5L.js";
|
|
33
|
+
} from "../chunk-XEXF2OFZ.js";
|
|
36
34
|
import {
|
|
37
35
|
transcriptsEnabled
|
|
38
|
-
} from "../chunk-
|
|
36
|
+
} from "../chunk-XGFFNERF.js";
|
|
39
37
|
import {
|
|
40
38
|
needsShell,
|
|
41
39
|
spawnClaude
|
|
42
40
|
} from "../chunk-XHKBHWLX.js";
|
|
43
|
-
import "../chunk-
|
|
41
|
+
import "../chunk-CNJ7SI5V.js";
|
|
44
42
|
import {
|
|
45
43
|
DEFAULT_SESSION,
|
|
46
44
|
UNNAMED_ACTION,
|
|
@@ -57,10 +55,10 @@ import {
|
|
|
57
55
|
reportEvent,
|
|
58
56
|
savePendingCommand,
|
|
59
57
|
scopePathFor
|
|
60
|
-
} from "../chunk-
|
|
58
|
+
} from "../chunk-2BL6KWN7.js";
|
|
61
59
|
import {
|
|
62
60
|
repoKeyFor
|
|
63
|
-
} from "../chunk-
|
|
61
|
+
} from "../chunk-XXIJBYNW.js";
|
|
64
62
|
import {
|
|
65
63
|
askUser,
|
|
66
64
|
cancelQuestion,
|
|
@@ -72,30 +70,30 @@ import {
|
|
|
72
70
|
waitForAnswer,
|
|
73
71
|
waitsForThePhone,
|
|
74
72
|
withdrawQuestion
|
|
75
|
-
} from "../chunk-
|
|
73
|
+
} from "../chunk-ZAZUDYSF.js";
|
|
76
74
|
import "../chunk-POFBE6ZY.js";
|
|
77
75
|
import {
|
|
78
76
|
SubscriptionRequiredError
|
|
79
|
-
} from "../chunk-
|
|
80
|
-
import "../chunk-
|
|
81
|
-
import "../chunk-
|
|
77
|
+
} from "../chunk-Q5RNYE2L.js";
|
|
78
|
+
import "../chunk-QR2QWGQI.js";
|
|
79
|
+
import "../chunk-GECU7V44.js";
|
|
82
80
|
import {
|
|
83
81
|
getMachineId
|
|
84
|
-
} from "../chunk-
|
|
82
|
+
} from "../chunk-IA5VWIHV.js";
|
|
85
83
|
import "../chunk-PPY5N2E6.js";
|
|
86
84
|
import "../chunk-KZERVKTD.js";
|
|
87
|
-
import "../chunk-
|
|
85
|
+
import "../chunk-XIJTXRWB.js";
|
|
88
86
|
import {
|
|
89
87
|
claudeConfigDir
|
|
90
|
-
} from "../chunk-
|
|
91
|
-
import "../chunk-
|
|
88
|
+
} from "../chunk-GDLT32I4.js";
|
|
89
|
+
import "../chunk-KS3O6O7E.js";
|
|
92
90
|
import {
|
|
93
91
|
getApiKey,
|
|
94
92
|
getBaseUrl
|
|
95
|
-
} from "../chunk-
|
|
93
|
+
} from "../chunk-A47UKPC7.js";
|
|
96
94
|
import {
|
|
97
95
|
NPX_LATEST_COMMAND
|
|
98
|
-
} from "../chunk-
|
|
96
|
+
} from "../chunk-GO7YKPT3.js";
|
|
99
97
|
import "../chunk-QTOLNRET.js";
|
|
100
98
|
import {
|
|
101
99
|
DECISION_STOP_REASON,
|
|
@@ -108,7 +106,7 @@ import {
|
|
|
108
106
|
refusesWhenUnanswered,
|
|
109
107
|
resolveGate,
|
|
110
108
|
timeoutActionWithoutLocalPrompt
|
|
111
|
-
} from "../chunk-
|
|
109
|
+
} from "../chunk-EJR5JXMV.js";
|
|
112
110
|
import "../chunk-MLKGABMK.js";
|
|
113
111
|
|
|
114
112
|
// src/wrapper/localPassthrough.ts
|
|
@@ -15,26 +15,26 @@ import {
|
|
|
15
15
|
storedMacAppState,
|
|
16
16
|
storedPusharyKeychainServices,
|
|
17
17
|
waitForMacAppExit
|
|
18
|
-
} from "../chunk-
|
|
18
|
+
} from "../chunk-DPU6H4JY.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-
|
|
24
|
+
import "../chunk-AVWECJSN.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-
|
|
32
|
-
import "../chunk-
|
|
31
|
+
} from "../chunk-32ZT2ATY.js";
|
|
32
|
+
import "../chunk-26W46E46.js";
|
|
33
33
|
import {
|
|
34
34
|
isCursorPluginLeftover,
|
|
35
35
|
releaseSoleGate,
|
|
36
36
|
withoutPusharyCursorHooks
|
|
37
|
-
} from "../chunk-
|
|
37
|
+
} from "../chunk-IGO3AGZK.js";
|
|
38
38
|
import {
|
|
39
39
|
HERMES_PIP_PACKAGE,
|
|
40
40
|
readHermesStatus,
|
|
@@ -43,24 +43,25 @@ import {
|
|
|
43
43
|
shortenHome,
|
|
44
44
|
unregisterPluginLocation,
|
|
45
45
|
vscodeSettingsTargets
|
|
46
|
-
} from "../chunk-
|
|
46
|
+
} from "../chunk-QBNICXMC.js";
|
|
47
47
|
import {
|
|
48
48
|
macAppKeepsMcpEntry,
|
|
49
49
|
mcpServerBearer,
|
|
50
50
|
pusharyKey,
|
|
51
51
|
readMacAppAgentKey,
|
|
52
52
|
setupReceiptKey
|
|
53
|
-
} from "../chunk-
|
|
53
|
+
} from "../chunk-CN6JFM62.js";
|
|
54
54
|
import "../chunk-QCGNGEGE.js";
|
|
55
|
-
import "../chunk-
|
|
55
|
+
import "../chunk-YB3HMDKE.js";
|
|
56
56
|
import {
|
|
57
57
|
planClineRemoval,
|
|
58
58
|
planFxRemoval,
|
|
59
59
|
removeClineServer
|
|
60
|
-
} from "../chunk-
|
|
61
|
-
import "../chunk-
|
|
62
|
-
import "../chunk-
|
|
60
|
+
} from "../chunk-6ZXCWK27.js";
|
|
61
|
+
import "../chunk-5FJDODOA.js";
|
|
62
|
+
import "../chunk-HUGVJBDN.js";
|
|
63
63
|
import {
|
|
64
|
+
OPENCODE_ASKED_PERMISSIONS,
|
|
64
65
|
OPENCODE_PLUGIN_SIBLING,
|
|
65
66
|
OPENCODE_PLUGIN_SIBLING_CONTENTS,
|
|
66
67
|
hasForeignPlugins,
|
|
@@ -68,18 +69,19 @@ import {
|
|
|
68
69
|
openCodeConfigDir,
|
|
69
70
|
openCodeConfigFile,
|
|
70
71
|
openCodeInstructionsFile,
|
|
72
|
+
openCodePermissionsLeftOpen,
|
|
71
73
|
openCodePluginDir,
|
|
72
74
|
openCodePluginFile,
|
|
73
75
|
removeOpenCodeMcpServer
|
|
74
|
-
} from "../chunk-
|
|
76
|
+
} from "../chunk-7LK3Y6ET.js";
|
|
75
77
|
import {
|
|
76
78
|
ansiPainter,
|
|
77
79
|
useColor
|
|
78
80
|
} from "../chunk-FO3MDD26.js";
|
|
79
81
|
import {
|
|
80
82
|
exitOnHelpFlag
|
|
81
|
-
} from "../chunk-
|
|
82
|
-
import "../chunk-
|
|
83
|
+
} from "../chunk-G6VJZ3RB.js";
|
|
84
|
+
import "../chunk-RJ6JEHCP.js";
|
|
83
85
|
import {
|
|
84
86
|
compatibleConfigFile,
|
|
85
87
|
compatibleDocuments,
|
|
@@ -91,23 +93,21 @@ import {
|
|
|
91
93
|
removeCompatibleHooks,
|
|
92
94
|
removeCompatibleMcpServer,
|
|
93
95
|
serializeConfigDocument
|
|
94
|
-
} from "../chunk-
|
|
96
|
+
} from "../chunk-3EZP5ZPS.js";
|
|
95
97
|
import {
|
|
96
98
|
disableDaemonService
|
|
97
|
-
} from "../chunk-
|
|
99
|
+
} from "../chunk-57NTMVMI.js";
|
|
98
100
|
import {
|
|
99
101
|
hookOwnerOf,
|
|
100
102
|
isHookTakeoverReceipt,
|
|
101
103
|
liveBridgeProbe,
|
|
104
|
+
removeGeminiSettings,
|
|
102
105
|
resolveBridgeStub,
|
|
103
106
|
restoreHookTakeover,
|
|
104
107
|
restoreMcpServer
|
|
105
|
-
} from "../chunk-
|
|
106
|
-
import
|
|
107
|
-
|
|
108
|
-
} from "../chunk-6QPDBD7Q.js";
|
|
109
|
-
import "../chunk-SROWUG5W.js";
|
|
110
|
-
import "../chunk-PMLQRB3D.js";
|
|
108
|
+
} from "../chunk-YQDCTID4.js";
|
|
109
|
+
import "../chunk-UTAARXYQ.js";
|
|
110
|
+
import "../chunk-IQ3GKPFM.js";
|
|
111
111
|
import {
|
|
112
112
|
parseFlags
|
|
113
113
|
} from "../chunk-NMUI3ZWG.js";
|
|
@@ -117,21 +117,21 @@ import {
|
|
|
117
117
|
isDisabledExport,
|
|
118
118
|
removeClaudeAlias,
|
|
119
119
|
shellProfileCandidates
|
|
120
|
-
} from "../chunk-
|
|
120
|
+
} from "../chunk-CNJ7SI5V.js";
|
|
121
121
|
import "../chunk-E46NE7FB.js";
|
|
122
|
-
import "../chunk-
|
|
123
|
-
import "../chunk-
|
|
124
|
-
import "../chunk-
|
|
122
|
+
import "../chunk-2BL6KWN7.js";
|
|
123
|
+
import "../chunk-XXIJBYNW.js";
|
|
124
|
+
import "../chunk-ZAZUDYSF.js";
|
|
125
125
|
import "../chunk-POFBE6ZY.js";
|
|
126
|
-
import "../chunk-
|
|
127
|
-
import "../chunk-
|
|
128
|
-
import "../chunk-
|
|
129
|
-
import "../chunk-
|
|
126
|
+
import "../chunk-Q5RNYE2L.js";
|
|
127
|
+
import "../chunk-QR2QWGQI.js";
|
|
128
|
+
import "../chunk-GECU7V44.js";
|
|
129
|
+
import "../chunk-IA5VWIHV.js";
|
|
130
130
|
import "../chunk-PPY5N2E6.js";
|
|
131
131
|
import {
|
|
132
132
|
EXIT
|
|
133
133
|
} from "../chunk-KZERVKTD.js";
|
|
134
|
-
import "../chunk-
|
|
134
|
+
import "../chunk-XIJTXRWB.js";
|
|
135
135
|
import {
|
|
136
136
|
claudeConfigDir,
|
|
137
137
|
claudeJson,
|
|
@@ -174,20 +174,20 @@ import {
|
|
|
174
174
|
restoreCodexHookTrust,
|
|
175
175
|
vscodePluginDir,
|
|
176
176
|
vscodePluginMcp
|
|
177
|
-
} from "../chunk-
|
|
177
|
+
} from "../chunk-GDLT32I4.js";
|
|
178
178
|
import {
|
|
179
179
|
cleanNpmEnv,
|
|
180
180
|
globalPackageState,
|
|
181
181
|
npmIsOnPath,
|
|
182
182
|
readGlobalFolder,
|
|
183
183
|
readGlobalPrefix
|
|
184
|
-
} from "../chunk-
|
|
184
|
+
} from "../chunk-KS3O6O7E.js";
|
|
185
185
|
import {
|
|
186
186
|
getBaseUrl
|
|
187
|
-
} from "../chunk-
|
|
187
|
+
} from "../chunk-A47UKPC7.js";
|
|
188
188
|
import {
|
|
189
189
|
NPX_LATEST_COMMAND
|
|
190
|
-
} from "../chunk-
|
|
190
|
+
} from "../chunk-GO7YKPT3.js";
|
|
191
191
|
import {
|
|
192
192
|
CLI_PACKAGE_NAMES,
|
|
193
193
|
globalPackageFolder,
|
|
@@ -201,7 +201,7 @@ import {
|
|
|
201
201
|
SUPPORT_EMAIL,
|
|
202
202
|
isValidApiKey,
|
|
203
203
|
redactSecrets
|
|
204
|
-
} from "../chunk-
|
|
204
|
+
} from "../chunk-EJR5JXMV.js";
|
|
205
205
|
import "../chunk-MLKGABMK.js";
|
|
206
206
|
|
|
207
207
|
// bin/pushary-clean.ts
|
|
@@ -1136,6 +1136,9 @@ var main = async () => {
|
|
|
1136
1136
|
} else {
|
|
1137
1137
|
console.log(` ${skip} OpenCode MCP ${dim("(not found)")}`);
|
|
1138
1138
|
}
|
|
1139
|
+
if (openCodeConfig && openCodePermissionsLeftOpen(openCodeConfig).length < OPENCODE_ASKED_PERMISSIONS.length) {
|
|
1140
|
+
console.log(` ${skip} OpenCode permission rules ${dim("(kept: they may be yours, and OpenCode keeps asking in its own prompt)")}`);
|
|
1141
|
+
}
|
|
1139
1142
|
if (keepShared) {
|
|
1140
1143
|
console.log(` ${skip} OpenCode AGENTS.md ${dim("(kept: the Mac app uses it)")}`);
|
|
1141
1144
|
} else if (guardedInstructionBlockRemoval(openCodeInstructionsFile())) {
|
|
@@ -1,44 +1,43 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
runCodexBridge
|
|
4
|
-
} from "../chunk-
|
|
5
|
-
import "../chunk-
|
|
4
|
+
} from "../chunk-TQNFDNJA.js";
|
|
5
|
+
import "../chunk-QOIPUYUD.js";
|
|
6
6
|
import {
|
|
7
7
|
resolveProviderBinary
|
|
8
|
-
} from "../chunk-
|
|
9
|
-
import "../chunk-
|
|
8
|
+
} from "../chunk-T6YLXO6N.js";
|
|
9
|
+
import "../chunk-MDIGG3Q7.js";
|
|
10
10
|
import {
|
|
11
11
|
withSpawnProcessOwnership
|
|
12
|
-
} from "../chunk-
|
|
13
|
-
import "../chunk-
|
|
14
|
-
import "../chunk-
|
|
15
|
-
import "../chunk-TJUJAK5L.js";
|
|
12
|
+
} from "../chunk-3ELJIG2R.js";
|
|
13
|
+
import "../chunk-RJ6JEHCP.js";
|
|
14
|
+
import "../chunk-XEXF2OFZ.js";
|
|
16
15
|
import {
|
|
17
16
|
transcriptsEnabled
|
|
18
|
-
} from "../chunk-
|
|
17
|
+
} from "../chunk-XGFFNERF.js";
|
|
19
18
|
import "../chunk-XHKBHWLX.js";
|
|
20
|
-
import "../chunk-
|
|
21
|
-
import "../chunk-
|
|
22
|
-
import "../chunk-
|
|
19
|
+
import "../chunk-CNJ7SI5V.js";
|
|
20
|
+
import "../chunk-XXIJBYNW.js";
|
|
21
|
+
import "../chunk-ZAZUDYSF.js";
|
|
23
22
|
import "../chunk-POFBE6ZY.js";
|
|
24
|
-
import "../chunk-
|
|
25
|
-
import "../chunk-
|
|
26
|
-
import "../chunk-
|
|
23
|
+
import "../chunk-Q5RNYE2L.js";
|
|
24
|
+
import "../chunk-QR2QWGQI.js";
|
|
25
|
+
import "../chunk-GECU7V44.js";
|
|
27
26
|
import {
|
|
28
27
|
getMachineId
|
|
29
|
-
} from "../chunk-
|
|
28
|
+
} from "../chunk-IA5VWIHV.js";
|
|
30
29
|
import "../chunk-PPY5N2E6.js";
|
|
31
30
|
import "../chunk-KZERVKTD.js";
|
|
32
|
-
import "../chunk-
|
|
33
|
-
import "../chunk-
|
|
34
|
-
import "../chunk-
|
|
31
|
+
import "../chunk-XIJTXRWB.js";
|
|
32
|
+
import "../chunk-GDLT32I4.js";
|
|
33
|
+
import "../chunk-KS3O6O7E.js";
|
|
35
34
|
import {
|
|
36
35
|
getApiKey,
|
|
37
36
|
getBaseUrl
|
|
38
|
-
} from "../chunk-
|
|
39
|
-
import "../chunk-
|
|
37
|
+
} from "../chunk-A47UKPC7.js";
|
|
38
|
+
import "../chunk-GO7YKPT3.js";
|
|
40
39
|
import "../chunk-QTOLNRET.js";
|
|
41
|
-
import "../chunk-
|
|
40
|
+
import "../chunk-EJR5JXMV.js";
|
|
42
41
|
import "../chunk-MLKGABMK.js";
|
|
43
42
|
|
|
44
43
|
// bin/pushary-codex-bridge.ts
|