@pushary/agent-hooks 1.4.2 → 1.5.1
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 +21 -0
- package/README.md +28 -0
- package/data/vscode-plugin/README.md +1 -1
- package/data/vscode-plugin/scripts/pushary-gate.mjs +2 -2
- package/dist/bin/pushary-bell-hook.js +22 -21
- package/dist/bin/pushary-bell.js +10 -10
- package/dist/bin/pushary-claude.js +28 -24
- package/dist/bin/pushary-clean.js +25 -25
- package/dist/bin/pushary-codex-bridge.js +16 -14
- package/dist/bin/pushary-codex-hook.js +32 -27
- package/dist/bin/pushary-codex.js +15 -10
- package/dist/bin/pushary-connect.js +11 -11
- package/dist/bin/pushary-cowork.js +6 -6
- package/dist/bin/pushary-daemon.js +32 -28
- package/dist/bin/pushary-disconnect.js +16 -16
- package/dist/bin/pushary-doctor.js +111 -40
- package/dist/bin/pushary-elicitation-hook.js +23 -22
- package/dist/bin/pushary-gemini-bridge.js +13 -11
- package/dist/bin/pushary-gemini-hook.js +29 -24
- package/dist/bin/pushary-hook.js +30 -30
- package/dist/bin/pushary-login.js +14 -14
- package/dist/bin/pushary-logout.js +8 -8
- package/dist/bin/pushary-mode.js +7 -7
- package/dist/bin/pushary-notification-hook.js +26 -25
- package/dist/bin/pushary-opencode-hook.js +25 -24
- package/dist/bin/pushary-permission-denied-hook.js +30 -29
- package/dist/bin/pushary-permission-hook.js +29 -28
- package/dist/bin/pushary-post-hook.js +26 -25
- package/dist/bin/pushary-prompt-hook.js +26 -25
- package/dist/bin/pushary-session-end-hook.js +26 -25
- package/dist/bin/pushary-session-start-hook.js +33 -27
- package/dist/bin/pushary-setup.js +94 -88
- package/dist/bin/pushary-stats.js +6 -6
- package/dist/bin/pushary-status.js +15 -15
- package/dist/bin/pushary-stop-hook.js +26 -25
- package/dist/bin/pushary-stopfailure-hook.js +26 -25
- package/dist/bin/pushary-suggestions.js +4 -4
- package/dist/bin/pushary-transcript-register.js +20 -19
- package/dist/bin/pushary-transcripts.js +8 -8
- package/dist/bin/pushary-upgrade.js +269 -45
- package/dist/bin/pushary-wait.js +7 -7
- package/dist/bin/pushary.js +8 -8
- package/dist/{chunk-LPYCPFBZ.js → chunk-2AUIEZYS.js} +3 -3
- package/dist/{chunk-4BROEAKH.js → chunk-2QT3GCU4.js} +1 -1
- package/dist/{chunk-55KW4FLG.js → chunk-3ZSGKLSO.js} +2 -2
- package/dist/{chunk-NY6XQ6CA.js → chunk-43LJSM4F.js} +2 -2
- package/dist/{chunk-LEAAERSQ.js → chunk-43ZDACBO.js} +1 -1
- package/dist/{chunk-II7PUMPB.js → chunk-4ERLRNOK.js} +3 -3
- package/dist/{chunk-M5CTUFF3.js → chunk-5HYNICS7.js} +1 -1
- package/dist/{chunk-MW6ZPC6R.js → chunk-5UQ5ATIE.js} +1 -1
- package/dist/{chunk-TYEO6T5J.js → chunk-5ZZG76S2.js} +2 -2
- package/dist/{chunk-EQRS3SGM.js → chunk-66H2QQAK.js} +1 -1
- package/dist/chunk-6EEANS74.js +300 -0
- package/dist/{chunk-TRLFZKVG.js → chunk-6IU45EHE.js} +49 -26
- package/dist/{chunk-JVTOML54.js → chunk-6QFEQIPM.js} +2 -2
- package/dist/chunk-BY2CRWBO.js +38 -0
- package/dist/{chunk-G653QPTR.js → chunk-D573TLP6.js} +7 -7
- package/dist/{chunk-25RTLTQD.js → chunk-DTQNDR7C.js} +1 -1
- package/dist/{chunk-FAH3D74E.js → chunk-EA3IELHP.js} +6 -0
- package/dist/{chunk-EYRGBYZG.js → chunk-HETOKNIL.js} +1 -1
- package/dist/{chunk-UM5J3J4V.js → chunk-HU5LSYL2.js} +2 -2
- package/dist/{chunk-PC6DU5C4.js → chunk-HUAOMX4U.js} +1 -1
- package/dist/{chunk-2V2IKOGJ.js → chunk-HVBF35GT.js} +2 -2
- package/dist/{chunk-DINDL2CF.js → chunk-HWJW3CPO.js} +25 -5
- package/dist/{chunk-VW66JEGU.js → chunk-IV3RHICU.js} +8 -8
- package/dist/{chunk-ACYIZ3KH.js → chunk-JKBDGZFL.js} +12 -6
- package/dist/{chunk-ZVY25BMK.js → chunk-K3QVDAZW.js} +1 -1
- package/dist/{chunk-MUVTZNJW.js → chunk-KHXVTWYS.js} +3 -3
- package/dist/{chunk-T5SZ4PML.js → chunk-KJRALILH.js} +7 -4
- package/dist/{chunk-VOMOZ4D5.js → chunk-M2LMXPJZ.js} +1 -1
- package/dist/{chunk-SUWRZYQG.js → chunk-MDJJW3LP.js} +3 -3
- package/dist/chunk-MU3WU2FO.js +166 -0
- package/dist/{chunk-2UMNXADU.js → chunk-OSJEMXSR.js} +5 -1
- package/dist/{chunk-TWWLVOPB.js → chunk-P4BNYJ5Q.js} +5 -5
- package/dist/{chunk-XDP3UYH5.js → chunk-PJ27EHCD.js} +8 -8
- package/dist/{chunk-LGXUGYUH.js → chunk-PYCQXCI5.js} +2 -2
- package/dist/{chunk-VIOL2DJS.js → chunk-R5KY3PBN.js} +5 -5
- package/dist/{chunk-SOUZBGYJ.js → chunk-T4QY64OR.js} +15 -14
- package/dist/{chunk-DY4ILT6L.js → chunk-TFKBFQCE.js} +1 -1
- package/dist/{chunk-GZ7E6VOB.js → chunk-TIWURSLS.js} +1 -1
- package/dist/{chunk-F4UWL4NY.js → chunk-TUXFIVOH.js} +1 -1
- package/dist/{chunk-UJBZIKSY.js → chunk-TZGCUNOX.js} +8 -8
- package/dist/{chunk-FU2DFEAZ.js → chunk-USQDVBEV.js} +2 -2
- package/dist/{chunk-YXP3WPAI.js → chunk-UYDTFCHW.js} +1 -1
- package/dist/{chunk-4ZDKSDVW.js → chunk-WNJSGZY7.js} +4 -4
- package/dist/{chunk-NHTAHAIS.js → chunk-WOLPADR6.js} +1 -1
- package/dist/{chunk-BZ4GDOJX.js → chunk-X7FESZTD.js} +7 -7
- package/dist/{chunk-NOWZUGZW.js → chunk-XWEONSLV.js} +1 -1
- package/dist/{chunk-Y3MM6PYN.js → chunk-YAWXKL2X.js} +1 -1
- package/dist/{chunk-GKIUEIDX.js → chunk-YQMFGWBD.js} +1 -1
- package/dist/{chunk-WPVHRUDT.js → chunk-Z4VGIBJ7.js} +3 -3
- package/dist/{reapply-J527BCJG.js → reapply-5CZSTJZI.js} +13 -8
- package/dist/src/index.js +18 -16
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,26 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 1.5.1
|
|
4
|
+
|
|
5
|
+
- Setup no longer stops at a Codex version. It writes the Pushary hooks, asks Codex to trust them, and checks Codex's answer. It used to trust the hooks itself only up to Codex 0.155.1, and on anything newer told you to open Codex and trust them by hand.
|
|
6
|
+
- Pushary asks Codex only when you run setup, upgrade or doctor yourself at a terminal, only through the `codex` command on your PATH, and only if Codex has been opened on this machine before. It never starts the Codex inside the ChatGPT app, and never while a hook is running.
|
|
7
|
+
- If Codex does not accept the trust, setup says so and tells you to open Codex, run `/hooks`, and choose Trust for the Pushary hooks. When Codex is not asked, setup says why in one line and keeps the trust entries it wrote itself, as it did before.
|
|
8
|
+
- `pushary upgrade` asks Codex the same way after it refreshes the Codex hooks. The daily automatic update refreshes the hooks and writes the same trust entries but does not start Codex, so an install left untrusted by the old version limit is fixed on its next update either way. Machines older than 1.5.0 do not update themselves: run `npx @pushary/agent-hooks@latest upgrade` once.
|
|
9
|
+
- `pushary doctor` shows what Codex itself reports for each Pushary hook: trusted, untrusted, modified, not listed, or turned off. When Codex is not asked or cannot be asked, doctor says so and uses its own check instead.
|
|
10
|
+
- Pause automatic updates on Linux to preserve phone-started sessions during daemon replacement.
|
|
11
|
+
- Retry incomplete configuration and daemon refreshes after an automatic installation, including when the installed version is already current.
|
|
12
|
+
|
|
13
|
+
## 1.5.0
|
|
14
|
+
|
|
15
|
+
- Pushary now updates itself in the background. When an agent session starts, it checks at most once a day for a newer version within the same major version, installs it into the global npm folder your hooks already run from, and refreshes each agent's config the way `pushary upgrade` does. The session never waits for it. A new major version is shown in `pushary doctor` and left for you to install.
|
|
16
|
+
- Turn it off with `pushary upgrade --auto=off` (and back on with `--auto=on`), or set `PUSHARY_DISABLE_AUTOUPDATE=1` in the environment your agents start from.
|
|
17
|
+
- It does not run on Windows yet, in CI, or for a copy run through `npx`, a plugin, or the Mac app. It never uses `sudo`: if npm cannot write to the global folder, the attempt is recorded as failed and nothing changes.
|
|
18
|
+
- This only reaches machines on 1.5.0 or later. To get there, run `npx @pushary/agent-hooks@latest upgrade` once.
|
|
19
|
+
- `pushary doctor` shows whether automatic updates are on and the result of the last check, and `setup` and `doctor` tell you once when Pushary has updated itself.
|
|
20
|
+
- `pushary doctor` no longer calls a build newer than the npm release out of date.
|
|
21
|
+
- The commands the CLI prints for you to copy now say `npx @pushary/agent-hooks@latest`. Without `@latest`, npx runs whatever older version is installed globally.
|
|
22
|
+
- A failed npm install now reports npm's reason, such as a permission error, instead of a line like `syscall mkdir`.
|
|
23
|
+
|
|
3
24
|
## 1.4.2
|
|
4
25
|
|
|
5
26
|
- Setup trusts the Pushary hooks for you on Codex up to 0.155.1. It used to stop at 0.147.0, so on a newer Codex it wrote the hooks without trusting them, Codex never ran them, and setup still said it was done.
|
package/README.md
CHANGED
|
@@ -244,6 +244,34 @@ npx @pushary/agent-hooks@latest wait 45
|
|
|
244
244
|
npx @pushary/agent-hooks@latest clean
|
|
245
245
|
```
|
|
246
246
|
|
|
247
|
+
## Updates
|
|
248
|
+
|
|
249
|
+
From 1.5.0, Pushary updates itself. When an agent session starts, the session-start
|
|
250
|
+
hook checks at most once a day whether a newer version is published. If one is, it
|
|
251
|
+
installs that version in the background into the same global npm folder your hooks
|
|
252
|
+
already run from, then refreshes each agent's config the way `pushary upgrade` does.
|
|
253
|
+
The session does not wait for it, and the new version runs from the next hook call.
|
|
254
|
+
|
|
255
|
+
- It stays within the same major version. A new major shows in `pushary doctor`, and
|
|
256
|
+
you move to it with `npx @pushary/agent-hooks@latest upgrade`.
|
|
257
|
+
- It only updates a global npm install. A copy run through `npx`, a plugin, or the Mac
|
|
258
|
+
app updates by its own route.
|
|
259
|
+
- It never uses `sudo`. If npm cannot write to the global folder, the attempt is
|
|
260
|
+
recorded as failed and nothing changes.
|
|
261
|
+
- It does not run on Windows yet, or when `CI` is set. Linux automatic updates are paused because restarting the systemd daemon can terminate phone-started sessions. On Linux, finish running sessions before upgrading manually.
|
|
262
|
+
- If installation succeeds but configuration refresh fails, the next automatic check or manual upgrade retries the refresh before checking for another release.
|
|
263
|
+
|
|
264
|
+
Turn it off with either of these:
|
|
265
|
+
|
|
266
|
+
```bash
|
|
267
|
+
pushary upgrade --auto=off # turn it back on with --auto=on
|
|
268
|
+
export PUSHARY_DISABLE_AUTOUPDATE=1 # in the environment your agents start from
|
|
269
|
+
```
|
|
270
|
+
|
|
271
|
+
`pushary doctor` shows whether it is on and the result of the last check. The state is
|
|
272
|
+
kept in `~/.pushary/auto-update.json`, and the output of recent updates in
|
|
273
|
+
`~/.pushary/logs/auto-update.log`.
|
|
274
|
+
|
|
247
275
|
## Manual MCP setup
|
|
248
276
|
|
|
249
277
|
If you only want notifications and questions (no permission gating), add Pushary to your MCP config directly:
|
|
@@ -106,7 +106,7 @@ This repository uses the `.claude-plugin/plugin.json` layout, which VS Code, Git
|
|
|
106
106
|
|
|
107
107
|
The layout is portable; this plugin is not meant to be. `hooks/hooks.json` uses VS Code's flat hook form, and the gate speaks VS Code's tool names, so treat this as a VS Code plugin that happens to sit in a portable folder shape.
|
|
108
108
|
|
|
109
|
-
Claude Code users are served by `npx @pushary/agent-hooks setup --agents claude_code`, which installs a hook built for Claude Code's own tool names and matcher format. Do not install this directory as a Claude Code plugin as well: at best it duplicates the MCP server, and the two installs would fight over the same approvals.
|
|
109
|
+
Claude Code users are served by `npx @pushary/agent-hooks@latest setup --agents claude_code`, which installs a hook built for Claude Code's own tool names and matcher format. Do not install this directory as a Claude Code plugin as well: at best it duplicates the MCP server, and the two installs would fight over the same approvals.
|
|
110
110
|
|
|
111
111
|
## Development
|
|
112
112
|
|
|
@@ -723,9 +723,9 @@ const main = async () => {
|
|
|
723
723
|
|
|
724
724
|
const apiKey = resolveApiKey()
|
|
725
725
|
if (!apiKey) {
|
|
726
|
-
diag('no API key found (PUSHARY_API_KEY, the plugin .mcp.json, or ~/.pushary/config.json). Run: npx @pushary/agent-hooks setup')
|
|
726
|
+
diag('no API key found (PUSHARY_API_KEY, the plugin .mcp.json, or ~/.pushary/config.json). Run: npx @pushary/agent-hooks@latest setup')
|
|
727
727
|
return respond(
|
|
728
|
-
unresolved(input.tool_name, 'Pushary is not configured: run `npx @pushary/agent-hooks setup` (get a key at https://pushary.com) to route this approval to your phone.')
|
|
728
|
+
unresolved(input.tool_name, 'Pushary is not configured: run `npx @pushary/agent-hooks@latest setup` (get a key at https://pushary.com) to route this approval to your phone.')
|
|
729
729
|
)
|
|
730
730
|
}
|
|
731
731
|
|
|
@@ -1,35 +1,36 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
handleBell
|
|
4
|
-
} from "../chunk-
|
|
4
|
+
} from "../chunk-DTQNDR7C.js";
|
|
5
5
|
import {
|
|
6
6
|
readHookInput
|
|
7
|
-
} from "../chunk-
|
|
8
|
-
import "../chunk-
|
|
7
|
+
} from "../chunk-6QFEQIPM.js";
|
|
8
|
+
import "../chunk-TZGCUNOX.js";
|
|
9
9
|
import "../chunk-SGZJ5LYH.js";
|
|
10
|
-
import "../chunk-
|
|
11
|
-
import "../chunk-
|
|
12
|
-
import "../chunk-
|
|
13
|
-
import "../chunk-
|
|
14
|
-
import "../chunk-
|
|
15
|
-
import "../chunk-
|
|
16
|
-
import "../chunk-
|
|
17
|
-
import "../chunk-
|
|
18
|
-
import "../chunk-
|
|
19
|
-
import "../chunk-
|
|
10
|
+
import "../chunk-WNJSGZY7.js";
|
|
11
|
+
import "../chunk-TFKBFQCE.js";
|
|
12
|
+
import "../chunk-K3QVDAZW.js";
|
|
13
|
+
import "../chunk-Z4VGIBJ7.js";
|
|
14
|
+
import "../chunk-X7FESZTD.js";
|
|
15
|
+
import "../chunk-2AUIEZYS.js";
|
|
16
|
+
import "../chunk-5UQ5ATIE.js";
|
|
17
|
+
import "../chunk-TIWURSLS.js";
|
|
18
|
+
import "../chunk-66H2QQAK.js";
|
|
19
|
+
import "../chunk-2QT3GCU4.js";
|
|
20
20
|
import "../chunk-XHKBHWLX.js";
|
|
21
|
-
import "../chunk-
|
|
22
|
-
import "../chunk-
|
|
23
|
-
import "../chunk-
|
|
21
|
+
import "../chunk-UYDTFCHW.js";
|
|
22
|
+
import "../chunk-WOLPADR6.js";
|
|
23
|
+
import "../chunk-6IU45EHE.js";
|
|
24
24
|
import "../chunk-GMXKITVA.js";
|
|
25
|
-
import "../chunk-
|
|
26
|
-
import "../chunk-FU2DFEAZ.js";
|
|
25
|
+
import "../chunk-USQDVBEV.js";
|
|
27
26
|
import "../chunk-7QLSKOSU.js";
|
|
28
27
|
import "../chunk-KZERVKTD.js";
|
|
29
|
-
import "../chunk-
|
|
28
|
+
import "../chunk-HU5LSYL2.js";
|
|
30
29
|
import "../chunk-T7E75EKA.js";
|
|
31
|
-
import "../chunk-
|
|
32
|
-
import "../chunk-
|
|
30
|
+
import "../chunk-OSJEMXSR.js";
|
|
31
|
+
import "../chunk-T4QY64OR.js";
|
|
32
|
+
import "../chunk-EA3IELHP.js";
|
|
33
|
+
import "../chunk-HWJW3CPO.js";
|
|
33
34
|
|
|
34
35
|
// bin/pushary-bell-hook.ts
|
|
35
36
|
var main = async () => {
|
package/dist/bin/pushary-bell.js
CHANGED
|
@@ -5,38 +5,38 @@ import {
|
|
|
5
5
|
liveAgentCount,
|
|
6
6
|
ring,
|
|
7
7
|
upgradeThreshold
|
|
8
|
-
} from "../chunk-
|
|
8
|
+
} from "../chunk-DTQNDR7C.js";
|
|
9
9
|
import {
|
|
10
10
|
addBellHooks,
|
|
11
11
|
bellInstalled,
|
|
12
12
|
removeBellHooks
|
|
13
|
-
} from "../chunk-
|
|
13
|
+
} from "../chunk-5UQ5ATIE.js";
|
|
14
14
|
import {
|
|
15
15
|
claudeSettings
|
|
16
|
-
} from "../chunk-
|
|
16
|
+
} from "../chunk-6IU45EHE.js";
|
|
17
17
|
import {
|
|
18
18
|
createIo
|
|
19
19
|
} from "../chunk-5RUIFDTP.js";
|
|
20
20
|
import {
|
|
21
21
|
exitOnHelpFlag
|
|
22
|
-
} from "../chunk-
|
|
23
|
-
import "../chunk-FAH3D74E.js";
|
|
22
|
+
} from "../chunk-P4BNYJ5Q.js";
|
|
24
23
|
import {
|
|
25
24
|
parseFlags
|
|
26
25
|
} from "../chunk-GMXKITVA.js";
|
|
27
|
-
import "../chunk-
|
|
28
|
-
import "../chunk-FU2DFEAZ.js";
|
|
26
|
+
import "../chunk-USQDVBEV.js";
|
|
29
27
|
import "../chunk-7QLSKOSU.js";
|
|
30
28
|
import {
|
|
31
29
|
EXIT
|
|
32
30
|
} from "../chunk-KZERVKTD.js";
|
|
33
|
-
import "../chunk-
|
|
31
|
+
import "../chunk-HU5LSYL2.js";
|
|
34
32
|
import {
|
|
35
33
|
readJsonSafe,
|
|
36
34
|
writeJsonAtomic
|
|
37
35
|
} from "../chunk-T7E75EKA.js";
|
|
38
|
-
import "../chunk-
|
|
39
|
-
import "../chunk-
|
|
36
|
+
import "../chunk-OSJEMXSR.js";
|
|
37
|
+
import "../chunk-T4QY64OR.js";
|
|
38
|
+
import "../chunk-EA3IELHP.js";
|
|
39
|
+
import "../chunk-HWJW3CPO.js";
|
|
40
40
|
|
|
41
41
|
// bin/pushary-bell.ts
|
|
42
42
|
exitOnHelpFlag("bell");
|
|
@@ -8,7 +8,7 @@ import {
|
|
|
8
8
|
describeIdleWindow,
|
|
9
9
|
startProcessOwnership,
|
|
10
10
|
withSpawnProcessOwnership
|
|
11
|
-
} from "../chunk-
|
|
11
|
+
} from "../chunk-M2LMXPJZ.js";
|
|
12
12
|
import {
|
|
13
13
|
isDeferAnswer
|
|
14
14
|
} from "../chunk-YHG74UFF.js";
|
|
@@ -17,24 +17,24 @@ import {
|
|
|
17
17
|
loadSessionKey,
|
|
18
18
|
registerTranscript,
|
|
19
19
|
registeredTranscriptEnabled
|
|
20
|
-
} from "../chunk-
|
|
20
|
+
} from "../chunk-TZGCUNOX.js";
|
|
21
21
|
import "../chunk-SGZJ5LYH.js";
|
|
22
|
-
import "../chunk-
|
|
23
|
-
import "../chunk-
|
|
24
|
-
import "../chunk-
|
|
25
|
-
import "../chunk-
|
|
22
|
+
import "../chunk-WNJSGZY7.js";
|
|
23
|
+
import "../chunk-TFKBFQCE.js";
|
|
24
|
+
import "../chunk-K3QVDAZW.js";
|
|
25
|
+
import "../chunk-Z4VGIBJ7.js";
|
|
26
26
|
import {
|
|
27
27
|
ensureDaemonRunning
|
|
28
|
-
} from "../chunk-
|
|
29
|
-
import "../chunk-
|
|
30
|
-
import "../chunk-
|
|
28
|
+
} from "../chunk-X7FESZTD.js";
|
|
29
|
+
import "../chunk-2AUIEZYS.js";
|
|
30
|
+
import "../chunk-5UQ5ATIE.js";
|
|
31
31
|
import {
|
|
32
32
|
encryptRecord
|
|
33
|
-
} from "../chunk-
|
|
34
|
-
import "../chunk-
|
|
33
|
+
} from "../chunk-TIWURSLS.js";
|
|
34
|
+
import "../chunk-66H2QQAK.js";
|
|
35
35
|
import {
|
|
36
36
|
transcriptsEnabled
|
|
37
|
-
} from "../chunk-
|
|
37
|
+
} from "../chunk-2QT3GCU4.js";
|
|
38
38
|
import {
|
|
39
39
|
needsShell,
|
|
40
40
|
spawnClaude
|
|
@@ -56,8 +56,8 @@ import {
|
|
|
56
56
|
reportEvent,
|
|
57
57
|
savePendingCommand,
|
|
58
58
|
scopePathFor
|
|
59
|
-
} from "../chunk-
|
|
60
|
-
import "../chunk-
|
|
59
|
+
} from "../chunk-D573TLP6.js";
|
|
60
|
+
import "../chunk-UYDTFCHW.js";
|
|
61
61
|
import {
|
|
62
62
|
DECISION_STOP_REASON,
|
|
63
63
|
askUser,
|
|
@@ -67,29 +67,32 @@ import {
|
|
|
67
67
|
nextLongPollMs,
|
|
68
68
|
waitForAnswer,
|
|
69
69
|
withdrawQuestion
|
|
70
|
-
} from "../chunk-
|
|
70
|
+
} from "../chunk-PYCQXCI5.js";
|
|
71
71
|
import {
|
|
72
72
|
getMachineId
|
|
73
|
-
} from "../chunk-
|
|
74
|
-
import "../chunk-
|
|
73
|
+
} from "../chunk-WOLPADR6.js";
|
|
74
|
+
import "../chunk-6IU45EHE.js";
|
|
75
75
|
import "../chunk-GMXKITVA.js";
|
|
76
|
-
import "../chunk-
|
|
77
|
-
import "../chunk-
|
|
78
|
-
import "../chunk-EYRGBYZG.js";
|
|
76
|
+
import "../chunk-USQDVBEV.js";
|
|
77
|
+
import "../chunk-HETOKNIL.js";
|
|
79
78
|
import "../chunk-SAF6HGAA.js";
|
|
80
79
|
import "../chunk-7QLSKOSU.js";
|
|
81
80
|
import "../chunk-KZERVKTD.js";
|
|
82
|
-
import "../chunk-
|
|
81
|
+
import "../chunk-HU5LSYL2.js";
|
|
83
82
|
import "../chunk-T7E75EKA.js";
|
|
84
83
|
import {
|
|
85
84
|
getApiKey,
|
|
86
85
|
getBaseUrl
|
|
87
|
-
} from "../chunk-
|
|
86
|
+
} from "../chunk-OSJEMXSR.js";
|
|
88
87
|
import {
|
|
89
88
|
KILL_REASON,
|
|
90
89
|
redactSecrets,
|
|
91
90
|
resolveGate
|
|
92
|
-
} from "../chunk-
|
|
91
|
+
} from "../chunk-T4QY64OR.js";
|
|
92
|
+
import {
|
|
93
|
+
NPX_LATEST_COMMAND
|
|
94
|
+
} from "../chunk-EA3IELHP.js";
|
|
95
|
+
import "../chunk-HWJW3CPO.js";
|
|
93
96
|
|
|
94
97
|
// src/wrapper/localPassthrough.ts
|
|
95
98
|
var SIGNAL_NUMBERS = {
|
|
@@ -1548,7 +1551,8 @@ var runDualMode = async (binary, args2, startingMode) => {
|
|
|
1548
1551
|
apiKey = getApiKey();
|
|
1549
1552
|
} catch {
|
|
1550
1553
|
process.stderr.write(
|
|
1551
|
-
|
|
1554
|
+
`[pushary] phone control needs an API key. Run \`${NPX_LATEST_COMMAND} setup\`. Running the normal passthrough for now.
|
|
1555
|
+
`
|
|
1552
1556
|
);
|
|
1553
1557
|
return { implemented: false };
|
|
1554
1558
|
}
|
|
@@ -7,14 +7,14 @@ import {
|
|
|
7
7
|
createGuards,
|
|
8
8
|
resolveHermesPython,
|
|
9
9
|
runHermesPythonScript
|
|
10
|
-
} from "../chunk-
|
|
10
|
+
} from "../chunk-YAWXKL2X.js";
|
|
11
11
|
import "../chunk-P32LPT2L.js";
|
|
12
12
|
import {
|
|
13
13
|
removeInstructionBlock,
|
|
14
14
|
shortenHome,
|
|
15
15
|
unregisterPluginLocation,
|
|
16
16
|
vscodeSettingsTargets
|
|
17
|
-
} from "../chunk-
|
|
17
|
+
} from "../chunk-KHXVTWYS.js";
|
|
18
18
|
import {
|
|
19
19
|
OPENCODE_PLUGIN_SIBLING,
|
|
20
20
|
OPENCODE_PLUGIN_SIBLING_CONTENTS,
|
|
@@ -24,7 +24,7 @@ import {
|
|
|
24
24
|
openCodePluginDir,
|
|
25
25
|
openCodePluginFile,
|
|
26
26
|
removeOpenCodeMcpServer
|
|
27
|
-
} from "../chunk-
|
|
27
|
+
} from "../chunk-TUXFIVOH.js";
|
|
28
28
|
import {
|
|
29
29
|
compatibleConfigFile,
|
|
30
30
|
compatibleInstructionsFile,
|
|
@@ -32,40 +32,40 @@ import {
|
|
|
32
32
|
compatiblePermissionRuleFile,
|
|
33
33
|
removeCompatibleHooks,
|
|
34
34
|
removeCompatibleMcpServer
|
|
35
|
-
} from "../chunk-
|
|
35
|
+
} from "../chunk-R5KY3PBN.js";
|
|
36
36
|
import {
|
|
37
37
|
isClaudeMcpSnapshot,
|
|
38
38
|
removeClaudeMcpServers,
|
|
39
39
|
removePusharySettings,
|
|
40
40
|
removePusharyToolPermissions,
|
|
41
41
|
restoreClaudeMcpServer
|
|
42
|
-
} from "../chunk-
|
|
42
|
+
} from "../chunk-4ERLRNOK.js";
|
|
43
43
|
import {
|
|
44
44
|
hookOwnerOf,
|
|
45
45
|
isHookTakeoverReceipt,
|
|
46
46
|
restoreHookTakeover,
|
|
47
47
|
restoreMcpServer
|
|
48
|
-
} from "../chunk-
|
|
49
|
-
import "../chunk-
|
|
48
|
+
} from "../chunk-WNJSGZY7.js";
|
|
49
|
+
import "../chunk-TFKBFQCE.js";
|
|
50
50
|
import {
|
|
51
51
|
liveBridgeProbe,
|
|
52
52
|
resolveBridgeStub
|
|
53
|
-
} from "../chunk-
|
|
53
|
+
} from "../chunk-K3QVDAZW.js";
|
|
54
54
|
import {
|
|
55
55
|
pusharyHookExecutable
|
|
56
|
-
} from "../chunk-
|
|
56
|
+
} from "../chunk-Z4VGIBJ7.js";
|
|
57
57
|
import {
|
|
58
58
|
disableDaemonService
|
|
59
|
-
} from "../chunk-
|
|
59
|
+
} from "../chunk-X7FESZTD.js";
|
|
60
60
|
import {
|
|
61
61
|
removeGeminiSettings
|
|
62
|
-
} from "../chunk-
|
|
63
|
-
import "../chunk-
|
|
62
|
+
} from "../chunk-2AUIEZYS.js";
|
|
63
|
+
import "../chunk-5UQ5ATIE.js";
|
|
64
64
|
import "../chunk-XHKBHWLX.js";
|
|
65
|
-
import "../chunk-
|
|
66
|
-
import "../chunk-
|
|
67
|
-
import "../chunk-
|
|
68
|
-
import "../chunk-
|
|
65
|
+
import "../chunk-D573TLP6.js";
|
|
66
|
+
import "../chunk-UYDTFCHW.js";
|
|
67
|
+
import "../chunk-PYCQXCI5.js";
|
|
68
|
+
import "../chunk-WOLPADR6.js";
|
|
69
69
|
import {
|
|
70
70
|
bridgeAgentKey,
|
|
71
71
|
claudeJson,
|
|
@@ -94,29 +94,27 @@ import {
|
|
|
94
94
|
restoreCodexHookTrust,
|
|
95
95
|
vscodePluginDir,
|
|
96
96
|
vscodePluginMcp
|
|
97
|
-
} from "../chunk-
|
|
97
|
+
} from "../chunk-6IU45EHE.js";
|
|
98
98
|
import {
|
|
99
99
|
exitOnHelpFlag
|
|
100
|
-
} from "../chunk-
|
|
101
|
-
import "../chunk-FAH3D74E.js";
|
|
100
|
+
} from "../chunk-P4BNYJ5Q.js";
|
|
102
101
|
import {
|
|
103
102
|
rejectUnknownFlags
|
|
104
103
|
} from "../chunk-GMXKITVA.js";
|
|
105
|
-
import "../chunk-DINDL2CF.js";
|
|
106
104
|
import {
|
|
107
105
|
CANDIDATE_RCS,
|
|
108
106
|
isDisabledExport,
|
|
109
107
|
removeClaudeAlias
|
|
110
|
-
} from "../chunk-
|
|
111
|
-
import "../chunk-
|
|
108
|
+
} from "../chunk-USQDVBEV.js";
|
|
109
|
+
import "../chunk-HETOKNIL.js";
|
|
112
110
|
import "../chunk-SAF6HGAA.js";
|
|
113
111
|
import "../chunk-7QLSKOSU.js";
|
|
114
112
|
import {
|
|
115
113
|
EXIT
|
|
116
114
|
} from "../chunk-KZERVKTD.js";
|
|
117
|
-
import "../chunk-
|
|
115
|
+
import "../chunk-HU5LSYL2.js";
|
|
118
116
|
import "../chunk-T7E75EKA.js";
|
|
119
|
-
import "../chunk-
|
|
117
|
+
import "../chunk-OSJEMXSR.js";
|
|
120
118
|
import {
|
|
121
119
|
CURSOR_GATE_EVENTS,
|
|
122
120
|
HOOK_COMPATIBLE_PROFILES,
|
|
@@ -125,7 +123,9 @@ import {
|
|
|
125
123
|
SUPPORT_EMAIL,
|
|
126
124
|
isValidApiKey,
|
|
127
125
|
redactSecrets
|
|
128
|
-
} from "../chunk-
|
|
126
|
+
} from "../chunk-T4QY64OR.js";
|
|
127
|
+
import "../chunk-EA3IELHP.js";
|
|
128
|
+
import "../chunk-HWJW3CPO.js";
|
|
129
129
|
|
|
130
130
|
// bin/pushary-clean.ts
|
|
131
131
|
import { existsSync as existsSync6, readFileSync as readFileSync4, copyFileSync, readdirSync as readdirSync3 } from "fs";
|
|
@@ -1,54 +1,56 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import "../chunk-
|
|
2
|
+
import "../chunk-5ZZG76S2.js";
|
|
3
3
|
import {
|
|
4
4
|
LiveTranscriptRelay,
|
|
5
5
|
liveSessionSleep,
|
|
6
6
|
postLiveSession,
|
|
7
7
|
postLiveSessionUntilAccepted,
|
|
8
8
|
startLiveSessionHeartbeat
|
|
9
|
-
} from "../chunk-
|
|
9
|
+
} from "../chunk-HVBF35GT.js";
|
|
10
10
|
import {
|
|
11
11
|
SESSION_IDLE_TIMEOUT_MS,
|
|
12
12
|
describeIdleWindow,
|
|
13
13
|
idleDeadlinePassed,
|
|
14
14
|
startProcessOwnership,
|
|
15
15
|
withSpawnProcessOwnership
|
|
16
|
-
} from "../chunk-
|
|
17
|
-
import "../chunk-
|
|
18
|
-
import "../chunk-
|
|
16
|
+
} from "../chunk-M2LMXPJZ.js";
|
|
17
|
+
import "../chunk-TIWURSLS.js";
|
|
18
|
+
import "../chunk-66H2QQAK.js";
|
|
19
19
|
import {
|
|
20
20
|
transcriptsEnabled
|
|
21
|
-
} from "../chunk-
|
|
21
|
+
} from "../chunk-2QT3GCU4.js";
|
|
22
22
|
import {
|
|
23
23
|
spawnClaude
|
|
24
24
|
} from "../chunk-XHKBHWLX.js";
|
|
25
25
|
import {
|
|
26
26
|
isDecisionStopped,
|
|
27
27
|
withdrawQuestion
|
|
28
|
-
} from "../chunk-
|
|
28
|
+
} from "../chunk-PYCQXCI5.js";
|
|
29
29
|
import {
|
|
30
30
|
getMachineId
|
|
31
|
-
} from "../chunk-
|
|
31
|
+
} from "../chunk-WOLPADR6.js";
|
|
32
32
|
import {
|
|
33
33
|
resolveBinary
|
|
34
|
-
} from "../chunk-
|
|
35
|
-
import "../chunk-
|
|
34
|
+
} from "../chunk-6IU45EHE.js";
|
|
35
|
+
import "../chunk-USQDVBEV.js";
|
|
36
36
|
import {
|
|
37
37
|
callMcpTool
|
|
38
|
-
} from "../chunk-
|
|
38
|
+
} from "../chunk-HETOKNIL.js";
|
|
39
39
|
import "../chunk-SAF6HGAA.js";
|
|
40
40
|
import "../chunk-7QLSKOSU.js";
|
|
41
41
|
import "../chunk-KZERVKTD.js";
|
|
42
|
-
import "../chunk-
|
|
42
|
+
import "../chunk-HU5LSYL2.js";
|
|
43
43
|
import "../chunk-T7E75EKA.js";
|
|
44
44
|
import {
|
|
45
45
|
getApiKey,
|
|
46
46
|
getBaseUrl
|
|
47
|
-
} from "../chunk-
|
|
47
|
+
} from "../chunk-OSJEMXSR.js";
|
|
48
48
|
import {
|
|
49
49
|
parseAgentQuestion,
|
|
50
50
|
parseAgentQuestionAnswers
|
|
51
|
-
} from "../chunk-
|
|
51
|
+
} from "../chunk-T4QY64OR.js";
|
|
52
|
+
import "../chunk-EA3IELHP.js";
|
|
53
|
+
import "../chunk-HWJW3CPO.js";
|
|
52
54
|
|
|
53
55
|
// bin/pushary-codex-bridge.ts
|
|
54
56
|
import { existsSync } from "fs";
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
takeHookHoldBudget
|
|
4
|
-
} from "../chunk-
|
|
4
|
+
} from "../chunk-5HYNICS7.js";
|
|
5
5
|
import {
|
|
6
6
|
blockedActionFingerprint,
|
|
7
7
|
codexCallKey,
|
|
@@ -13,30 +13,33 @@ import {
|
|
|
13
13
|
recordCodexCallDecision,
|
|
14
14
|
reportMachineDenial,
|
|
15
15
|
userScope
|
|
16
|
-
} from "../chunk-
|
|
16
|
+
} from "../chunk-MDJJW3LP.js";
|
|
17
|
+
import {
|
|
18
|
+
triggerAutoUpdate
|
|
19
|
+
} from "../chunk-MU3WU2FO.js";
|
|
17
20
|
import {
|
|
18
21
|
isGatingMoment,
|
|
19
22
|
recordKeylessMoment
|
|
20
|
-
} from "../chunk-
|
|
23
|
+
} from "../chunk-43ZDACBO.js";
|
|
21
24
|
import {
|
|
22
25
|
readHookInput
|
|
23
|
-
} from "../chunk-
|
|
26
|
+
} from "../chunk-6QFEQIPM.js";
|
|
24
27
|
import {
|
|
25
28
|
denyReasonFrom,
|
|
26
29
|
isDeferAnswer
|
|
27
30
|
} from "../chunk-YHG74UFF.js";
|
|
28
|
-
import "../chunk-
|
|
31
|
+
import "../chunk-TZGCUNOX.js";
|
|
29
32
|
import "../chunk-SGZJ5LYH.js";
|
|
30
|
-
import "../chunk-
|
|
31
|
-
import "../chunk-
|
|
32
|
-
import "../chunk-
|
|
33
|
-
import "../chunk-
|
|
34
|
-
import "../chunk-
|
|
35
|
-
import "../chunk-
|
|
36
|
-
import "../chunk-
|
|
37
|
-
import "../chunk-
|
|
38
|
-
import "../chunk-
|
|
39
|
-
import "../chunk-
|
|
33
|
+
import "../chunk-WNJSGZY7.js";
|
|
34
|
+
import "../chunk-TFKBFQCE.js";
|
|
35
|
+
import "../chunk-K3QVDAZW.js";
|
|
36
|
+
import "../chunk-Z4VGIBJ7.js";
|
|
37
|
+
import "../chunk-X7FESZTD.js";
|
|
38
|
+
import "../chunk-2AUIEZYS.js";
|
|
39
|
+
import "../chunk-5UQ5ATIE.js";
|
|
40
|
+
import "../chunk-TIWURSLS.js";
|
|
41
|
+
import "../chunk-66H2QQAK.js";
|
|
42
|
+
import "../chunk-2QT3GCU4.js";
|
|
40
43
|
import "../chunk-XHKBHWLX.js";
|
|
41
44
|
import {
|
|
42
45
|
CODEX_AGENT,
|
|
@@ -73,8 +76,8 @@ import {
|
|
|
73
76
|
toCodexWire,
|
|
74
77
|
toPolicyLookup,
|
|
75
78
|
toPolicyLookups
|
|
76
|
-
} from "../chunk-
|
|
77
|
-
import "../chunk-
|
|
79
|
+
} from "../chunk-D573TLP6.js";
|
|
80
|
+
import "../chunk-UYDTFCHW.js";
|
|
78
81
|
import {
|
|
79
82
|
DECISION_STOP_REASON,
|
|
80
83
|
askUser,
|
|
@@ -86,27 +89,26 @@ import {
|
|
|
86
89
|
requestGate,
|
|
87
90
|
sendNotification,
|
|
88
91
|
waitForQuestion
|
|
89
|
-
} from "../chunk-
|
|
92
|
+
} from "../chunk-PYCQXCI5.js";
|
|
90
93
|
import {
|
|
91
94
|
getMachineId
|
|
92
|
-
} from "../chunk-
|
|
95
|
+
} from "../chunk-WOLPADR6.js";
|
|
93
96
|
import {
|
|
94
97
|
canonicalJson
|
|
95
|
-
} from "../chunk-
|
|
98
|
+
} from "../chunk-6IU45EHE.js";
|
|
96
99
|
import "../chunk-GMXKITVA.js";
|
|
97
|
-
import "../chunk-
|
|
98
|
-
import "../chunk-
|
|
99
|
-
import "../chunk-EYRGBYZG.js";
|
|
100
|
+
import "../chunk-USQDVBEV.js";
|
|
101
|
+
import "../chunk-HETOKNIL.js";
|
|
100
102
|
import "../chunk-SAF6HGAA.js";
|
|
101
103
|
import "../chunk-7QLSKOSU.js";
|
|
102
104
|
import "../chunk-KZERVKTD.js";
|
|
103
|
-
import "../chunk-
|
|
105
|
+
import "../chunk-HU5LSYL2.js";
|
|
104
106
|
import {
|
|
105
107
|
writeFileAtomic
|
|
106
108
|
} from "../chunk-T7E75EKA.js";
|
|
107
109
|
import {
|
|
108
110
|
getApiKey
|
|
109
|
-
} from "../chunk-
|
|
111
|
+
} from "../chunk-OSJEMXSR.js";
|
|
110
112
|
import {
|
|
111
113
|
CODEX_RESCUE_TOOL_NAME,
|
|
112
114
|
DECISION_LINE_MAX,
|
|
@@ -120,7 +122,9 @@ import {
|
|
|
120
122
|
hookWaitClamped,
|
|
121
123
|
hookWaitDeadline,
|
|
122
124
|
resolveGate
|
|
123
|
-
} from "../chunk-
|
|
125
|
+
} from "../chunk-T4QY64OR.js";
|
|
126
|
+
import "../chunk-EA3IELHP.js";
|
|
127
|
+
import "../chunk-HWJW3CPO.js";
|
|
124
128
|
|
|
125
129
|
// bin/pushary-codex-hook.ts
|
|
126
130
|
import { basename } from "path";
|
|
@@ -741,7 +745,7 @@ var decidePreToolUse = async (input) => {
|
|
|
741
745
|
};
|
|
742
746
|
var repairCodexHoldsQuietly = async () => {
|
|
743
747
|
try {
|
|
744
|
-
const { repairCodexHolds } = await import("../reapply-
|
|
748
|
+
const { repairCodexHolds } = await import("../reapply-5CZSTJZI.js");
|
|
745
749
|
repairCodexHolds();
|
|
746
750
|
} catch {
|
|
747
751
|
return;
|
|
@@ -818,6 +822,7 @@ var main = async () => {
|
|
|
818
822
|
}
|
|
819
823
|
case "SessionStart":
|
|
820
824
|
await repairCodexHoldsQuietly();
|
|
825
|
+
triggerAutoUpdate({ isSubagentStart: Boolean(input.agent_id) });
|
|
821
826
|
await reportSessionStart(input);
|
|
822
827
|
break;
|
|
823
828
|
case "SessionEnd":
|