@pushary/agent-hooks 0.89.8 → 0.89.10
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 +36 -0
- package/dist/bin/pushary-bell-hook.js +4 -4
- package/dist/bin/pushary-bell.js +7 -7
- package/dist/bin/pushary-claude.js +64 -33
- package/dist/bin/pushary-clean.js +53 -46
- package/dist/bin/pushary-codex-bridge.js +8 -8
- package/dist/bin/pushary-codex-hook.js +12 -8
- package/dist/bin/pushary-codex.js +7 -7
- package/dist/bin/pushary-connect.js +6 -6
- package/dist/bin/pushary-daemon.js +57 -22
- package/dist/bin/pushary-disconnect.js +34 -9
- package/dist/bin/pushary-doctor.js +43 -22
- package/dist/bin/pushary-elicitation-hook.js +4 -4
- package/dist/bin/pushary-gemini-bridge.js +7 -7
- package/dist/bin/pushary-gemini-hook.js +8 -8
- package/dist/bin/pushary-hook.js +11 -10
- package/dist/bin/pushary-login.js +4 -4
- package/dist/bin/pushary-logout.js +4 -4
- package/dist/bin/pushary-mode.js +3 -3
- package/dist/bin/pushary-notification-hook.js +7 -7
- package/dist/bin/pushary-opencode-hook.js +8 -8
- package/dist/bin/pushary-permission-denied-hook.js +11 -10
- package/dist/bin/pushary-permission-hook.js +11 -10
- package/dist/bin/pushary-post-hook.js +7 -7
- package/dist/bin/pushary-prompt-hook.js +7 -7
- package/dist/bin/pushary-session-end-hook.js +7 -7
- package/dist/bin/pushary-session-start-hook.js +7 -7
- package/dist/bin/pushary-setup.js +66 -55
- package/dist/bin/pushary-stats.js +2 -2
- package/dist/bin/pushary-status.js +8 -8
- package/dist/bin/pushary-stop-hook.js +7 -7
- package/dist/bin/pushary-stopfailure-hook.js +7 -7
- package/dist/bin/pushary-upgrade.js +25 -17
- package/dist/bin/pushary-wait.js +3 -3
- package/dist/{chunk-SS72Z7FV.js → chunk-253WC6O5.js} +1 -1
- package/dist/{chunk-T3LRWZKI.js → chunk-2LPEZYMC.js} +1 -1
- package/dist/{chunk-O5B7EK5U.js → chunk-34GN3IPX.js} +1 -1
- package/dist/{chunk-V6N4Q223.js → chunk-3CUDMTL4.js} +1 -1
- package/dist/{chunk-VZKXBFUA.js → chunk-3HFK3UXM.js} +1 -1
- package/dist/{chunk-R2AGKCXL.js → chunk-3SQYKLBW.js} +52 -22
- package/dist/{chunk-ATBKJNWS.js → chunk-6EKQZA6R.js} +5 -1
- package/dist/{chunk-NKHEHEUM.js → chunk-6XUABEX2.js} +1 -1
- package/dist/{chunk-I5L6SK5V.js → chunk-BLODMQKJ.js} +1 -1
- package/dist/{chunk-DKDDLF5P.js → chunk-DKWM5T3P.js} +1 -1
- package/dist/{chunk-BAE45YLP.js → chunk-FZ73G2RO.js} +3 -3
- package/dist/{chunk-EJT2ER6G.js → chunk-GSSFSVAQ.js} +15 -21
- package/dist/{chunk-4XZCDSNG.js → chunk-GTZLL7F4.js} +5 -5
- package/dist/{chunk-PMHTCDEO.js → chunk-IUN6VOKV.js} +1 -1
- package/dist/{chunk-OFRNZWC4.js → chunk-IUWRVTQK.js} +1 -1
- package/dist/{chunk-J2JZJZKB.js → chunk-KVE5RCQL.js} +1 -1
- package/dist/{chunk-A4O5ROZK.js → chunk-MZGWKIUZ.js} +2 -2
- package/dist/chunk-NCVIWGVA.js +18 -0
- package/dist/{chunk-C623LWJR.js → chunk-OLAGKKSR.js} +1 -1
- package/dist/{chunk-EA3E74P2.js → chunk-PZRWFWSR.js} +6 -6
- package/dist/{chunk-VA7VUNRD.js → chunk-Q223OM5J.js} +58 -8
- package/dist/{chunk-GMI5QZLG.js → chunk-QA72MKIT.js} +5 -1
- package/dist/{chunk-AIGDBRIJ.js → chunk-SYUIXXQW.js} +1 -1
- package/dist/{chunk-TF247BET.js → chunk-TEZ2FZD6.js} +1 -1
- package/dist/{chunk-KOPUTJQC.js → chunk-TG3T3M4K.js} +1 -1
- package/dist/{chunk-FX5QSMPY.js → chunk-TRVIRETT.js} +1 -1
- package/dist/{chunk-ZL7HEF2T.js → chunk-TY5HVMXT.js} +32 -1
- package/dist/chunk-UDBJHQMG.js +240 -0
- package/dist/{chunk-GKAKAOKC.js → chunk-UXHMWF4H.js} +64 -11
- package/dist/{chunk-PZA7G4CN.js → chunk-X4ZUUFKV.js} +1 -0
- package/dist/{chunk-L4C2JXJS.js → chunk-X6RXX2NF.js} +5 -0
- package/dist/src/index.js +11 -10
- package/package.json +1 -1
|
@@ -4,14 +4,14 @@ import {
|
|
|
4
4
|
codexConfigToml,
|
|
5
5
|
cursorUserMcp,
|
|
6
6
|
geminiSettings
|
|
7
|
-
} from "../chunk-
|
|
7
|
+
} from "../chunk-QA72MKIT.js";
|
|
8
8
|
import {
|
|
9
9
|
createIo
|
|
10
10
|
} from "../chunk-5RUIFDTP.js";
|
|
11
11
|
import {
|
|
12
12
|
clearKey,
|
|
13
13
|
readKeySource
|
|
14
|
-
} from "../chunk-
|
|
14
|
+
} from "../chunk-3CUDMTL4.js";
|
|
15
15
|
import {
|
|
16
16
|
parseFlags
|
|
17
17
|
} from "../chunk-GMXKITVA.js";
|
|
@@ -21,7 +21,7 @@ import {
|
|
|
21
21
|
import "../chunk-3XTFX4CL.js";
|
|
22
22
|
import "../chunk-BC3VCZ3E.js";
|
|
23
23
|
import "../chunk-DINDL2CF.js";
|
|
24
|
-
import "../chunk-
|
|
24
|
+
import "../chunk-IUWRVTQK.js";
|
|
25
25
|
import {
|
|
26
26
|
UsageError
|
|
27
27
|
} from "../chunk-7QLSKOSU.js";
|
|
@@ -32,7 +32,7 @@ import "../chunk-XX2V4QS5.js";
|
|
|
32
32
|
import {
|
|
33
33
|
getBaseUrl
|
|
34
34
|
} from "../chunk-2UMNXADU.js";
|
|
35
|
-
import "../chunk-
|
|
35
|
+
import "../chunk-X6RXX2NF.js";
|
|
36
36
|
|
|
37
37
|
// bin/pushary-logout.ts
|
|
38
38
|
import { existsSync } from "fs";
|
package/dist/bin/pushary-mode.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
exitOnFailedResponse
|
|
4
|
-
} from "../chunk-
|
|
5
|
-
import "../chunk-
|
|
4
|
+
} from "../chunk-253WC6O5.js";
|
|
5
|
+
import "../chunk-BLODMQKJ.js";
|
|
6
6
|
import {
|
|
7
7
|
createIo
|
|
8
8
|
} from "../chunk-5RUIFDTP.js";
|
|
@@ -25,7 +25,7 @@ import {
|
|
|
25
25
|
getApiKey,
|
|
26
26
|
getBaseUrl
|
|
27
27
|
} from "../chunk-2UMNXADU.js";
|
|
28
|
-
import "../chunk-
|
|
28
|
+
import "../chunk-X6RXX2NF.js";
|
|
29
29
|
|
|
30
30
|
// bin/pushary-mode.ts
|
|
31
31
|
exitOnHelpFlag("mode");
|
|
@@ -4,19 +4,19 @@ import {
|
|
|
4
4
|
} from "../chunk-6CUUA7HO.js";
|
|
5
5
|
import {
|
|
6
6
|
handleNotification
|
|
7
|
-
} from "../chunk-
|
|
8
|
-
import "../chunk-
|
|
9
|
-
import "../chunk-
|
|
10
|
-
import "../chunk-
|
|
11
|
-
import "../chunk-
|
|
7
|
+
} from "../chunk-GTZLL7F4.js";
|
|
8
|
+
import "../chunk-UXHMWF4H.js";
|
|
9
|
+
import "../chunk-TG3T3M4K.js";
|
|
10
|
+
import "../chunk-DKWM5T3P.js";
|
|
11
|
+
import "../chunk-QA72MKIT.js";
|
|
12
12
|
import "../chunk-BSZYIAZL.js";
|
|
13
13
|
import "../chunk-SAF6HGAA.js";
|
|
14
|
-
import "../chunk-
|
|
14
|
+
import "../chunk-IUWRVTQK.js";
|
|
15
15
|
import "../chunk-7QLSKOSU.js";
|
|
16
16
|
import "../chunk-KZERVKTD.js";
|
|
17
17
|
import "../chunk-XX2V4QS5.js";
|
|
18
18
|
import "../chunk-2UMNXADU.js";
|
|
19
|
-
import "../chunk-
|
|
19
|
+
import "../chunk-X6RXX2NF.js";
|
|
20
20
|
|
|
21
21
|
// bin/pushary-notification-hook.ts
|
|
22
22
|
var main = async () => {
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
import {
|
|
3
3
|
isGatingMoment,
|
|
4
4
|
recordKeylessMoment
|
|
5
|
-
} from "../chunk-
|
|
5
|
+
} from "../chunk-3HFK3UXM.js";
|
|
6
6
|
import {
|
|
7
7
|
readHookInput
|
|
8
8
|
} from "../chunk-6CUUA7HO.js";
|
|
@@ -19,7 +19,7 @@ import {
|
|
|
19
19
|
policyRequestFor,
|
|
20
20
|
readLastPrompt,
|
|
21
21
|
repoKeyFor
|
|
22
|
-
} from "../chunk-
|
|
22
|
+
} from "../chunk-GTZLL7F4.js";
|
|
23
23
|
import {
|
|
24
24
|
DEFAULT_SESSION,
|
|
25
25
|
askUser,
|
|
@@ -27,7 +27,7 @@ import {
|
|
|
27
27
|
savePendingQuestion,
|
|
28
28
|
sendNotification,
|
|
29
29
|
waitForAnswer
|
|
30
|
-
} from "../chunk-
|
|
30
|
+
} from "../chunk-UXHMWF4H.js";
|
|
31
31
|
import {
|
|
32
32
|
HOOK_FALLBACK_MAX,
|
|
33
33
|
OPENCODE_TOOL_NAMES,
|
|
@@ -36,14 +36,14 @@ import {
|
|
|
36
36
|
deriveToolTarget,
|
|
37
37
|
describeToolCall,
|
|
38
38
|
scopePathFor
|
|
39
|
-
} from "../chunk-
|
|
39
|
+
} from "../chunk-TG3T3M4K.js";
|
|
40
40
|
import {
|
|
41
41
|
getMachineId
|
|
42
|
-
} from "../chunk-
|
|
43
|
-
import "../chunk-
|
|
42
|
+
} from "../chunk-DKWM5T3P.js";
|
|
43
|
+
import "../chunk-QA72MKIT.js";
|
|
44
44
|
import "../chunk-BSZYIAZL.js";
|
|
45
45
|
import "../chunk-SAF6HGAA.js";
|
|
46
|
-
import "../chunk-
|
|
46
|
+
import "../chunk-IUWRVTQK.js";
|
|
47
47
|
import "../chunk-7QLSKOSU.js";
|
|
48
48
|
import "../chunk-KZERVKTD.js";
|
|
49
49
|
import "../chunk-XX2V4QS5.js";
|
|
@@ -60,7 +60,7 @@ import {
|
|
|
60
60
|
hookWaitDeadline,
|
|
61
61
|
redactSecrets,
|
|
62
62
|
resolveGate
|
|
63
|
-
} from "../chunk-
|
|
63
|
+
} from "../chunk-X6RXX2NF.js";
|
|
64
64
|
|
|
65
65
|
// bin/pushary-opencode-hook.ts
|
|
66
66
|
import { basename } from "path";
|
|
@@ -1,26 +1,27 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
handlePermissionDenied
|
|
4
|
-
} from "../chunk-
|
|
5
|
-
import "../chunk-
|
|
6
|
-
import "../chunk-
|
|
4
|
+
} from "../chunk-GSSFSVAQ.js";
|
|
5
|
+
import "../chunk-6EKQZA6R.js";
|
|
6
|
+
import "../chunk-NCVIWGVA.js";
|
|
7
|
+
import "../chunk-3HFK3UXM.js";
|
|
7
8
|
import {
|
|
8
9
|
readHookInput
|
|
9
10
|
} from "../chunk-6CUUA7HO.js";
|
|
10
11
|
import "../chunk-YHG74UFF.js";
|
|
11
|
-
import "../chunk-
|
|
12
|
-
import "../chunk-
|
|
13
|
-
import "../chunk-
|
|
14
|
-
import "../chunk-
|
|
15
|
-
import "../chunk-
|
|
12
|
+
import "../chunk-GTZLL7F4.js";
|
|
13
|
+
import "../chunk-UXHMWF4H.js";
|
|
14
|
+
import "../chunk-TG3T3M4K.js";
|
|
15
|
+
import "../chunk-DKWM5T3P.js";
|
|
16
|
+
import "../chunk-QA72MKIT.js";
|
|
16
17
|
import "../chunk-BSZYIAZL.js";
|
|
17
18
|
import "../chunk-SAF6HGAA.js";
|
|
18
|
-
import "../chunk-
|
|
19
|
+
import "../chunk-IUWRVTQK.js";
|
|
19
20
|
import "../chunk-7QLSKOSU.js";
|
|
20
21
|
import "../chunk-KZERVKTD.js";
|
|
21
22
|
import "../chunk-XX2V4QS5.js";
|
|
22
23
|
import "../chunk-2UMNXADU.js";
|
|
23
|
-
import "../chunk-
|
|
24
|
+
import "../chunk-X6RXX2NF.js";
|
|
24
25
|
|
|
25
26
|
// bin/pushary-permission-denied-hook.ts
|
|
26
27
|
var main = async () => {
|
|
@@ -1,26 +1,27 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
handlePermissionRequest
|
|
4
|
-
} from "../chunk-
|
|
5
|
-
import "../chunk-
|
|
6
|
-
import "../chunk-
|
|
4
|
+
} from "../chunk-GSSFSVAQ.js";
|
|
5
|
+
import "../chunk-6EKQZA6R.js";
|
|
6
|
+
import "../chunk-NCVIWGVA.js";
|
|
7
|
+
import "../chunk-3HFK3UXM.js";
|
|
7
8
|
import {
|
|
8
9
|
readHookInput
|
|
9
10
|
} from "../chunk-6CUUA7HO.js";
|
|
10
11
|
import "../chunk-YHG74UFF.js";
|
|
11
|
-
import "../chunk-
|
|
12
|
-
import "../chunk-
|
|
13
|
-
import "../chunk-
|
|
14
|
-
import "../chunk-
|
|
15
|
-
import "../chunk-
|
|
12
|
+
import "../chunk-GTZLL7F4.js";
|
|
13
|
+
import "../chunk-UXHMWF4H.js";
|
|
14
|
+
import "../chunk-TG3T3M4K.js";
|
|
15
|
+
import "../chunk-DKWM5T3P.js";
|
|
16
|
+
import "../chunk-QA72MKIT.js";
|
|
16
17
|
import "../chunk-BSZYIAZL.js";
|
|
17
18
|
import "../chunk-SAF6HGAA.js";
|
|
18
|
-
import "../chunk-
|
|
19
|
+
import "../chunk-IUWRVTQK.js";
|
|
19
20
|
import "../chunk-7QLSKOSU.js";
|
|
20
21
|
import "../chunk-KZERVKTD.js";
|
|
21
22
|
import "../chunk-XX2V4QS5.js";
|
|
22
23
|
import "../chunk-2UMNXADU.js";
|
|
23
|
-
import "../chunk-
|
|
24
|
+
import "../chunk-X6RXX2NF.js";
|
|
24
25
|
|
|
25
26
|
// bin/pushary-permission-hook.ts
|
|
26
27
|
var main = async () => {
|
|
@@ -4,19 +4,19 @@ import {
|
|
|
4
4
|
} from "../chunk-6CUUA7HO.js";
|
|
5
5
|
import {
|
|
6
6
|
handlePostToolUse
|
|
7
|
-
} from "../chunk-
|
|
8
|
-
import "../chunk-
|
|
9
|
-
import "../chunk-
|
|
10
|
-
import "../chunk-
|
|
11
|
-
import "../chunk-
|
|
7
|
+
} from "../chunk-GTZLL7F4.js";
|
|
8
|
+
import "../chunk-UXHMWF4H.js";
|
|
9
|
+
import "../chunk-TG3T3M4K.js";
|
|
10
|
+
import "../chunk-DKWM5T3P.js";
|
|
11
|
+
import "../chunk-QA72MKIT.js";
|
|
12
12
|
import "../chunk-BSZYIAZL.js";
|
|
13
13
|
import "../chunk-SAF6HGAA.js";
|
|
14
|
-
import "../chunk-
|
|
14
|
+
import "../chunk-IUWRVTQK.js";
|
|
15
15
|
import "../chunk-7QLSKOSU.js";
|
|
16
16
|
import "../chunk-KZERVKTD.js";
|
|
17
17
|
import "../chunk-XX2V4QS5.js";
|
|
18
18
|
import "../chunk-2UMNXADU.js";
|
|
19
|
-
import "../chunk-
|
|
19
|
+
import "../chunk-X6RXX2NF.js";
|
|
20
20
|
|
|
21
21
|
// bin/pushary-post-hook.ts
|
|
22
22
|
var main = async () => {
|
|
@@ -4,19 +4,19 @@ import {
|
|
|
4
4
|
} from "../chunk-6CUUA7HO.js";
|
|
5
5
|
import {
|
|
6
6
|
handleUserPrompt
|
|
7
|
-
} from "../chunk-
|
|
8
|
-
import "../chunk-
|
|
9
|
-
import "../chunk-
|
|
10
|
-
import "../chunk-
|
|
11
|
-
import "../chunk-
|
|
7
|
+
} from "../chunk-GTZLL7F4.js";
|
|
8
|
+
import "../chunk-UXHMWF4H.js";
|
|
9
|
+
import "../chunk-TG3T3M4K.js";
|
|
10
|
+
import "../chunk-DKWM5T3P.js";
|
|
11
|
+
import "../chunk-QA72MKIT.js";
|
|
12
12
|
import "../chunk-BSZYIAZL.js";
|
|
13
13
|
import "../chunk-SAF6HGAA.js";
|
|
14
|
-
import "../chunk-
|
|
14
|
+
import "../chunk-IUWRVTQK.js";
|
|
15
15
|
import "../chunk-7QLSKOSU.js";
|
|
16
16
|
import "../chunk-KZERVKTD.js";
|
|
17
17
|
import "../chunk-XX2V4QS5.js";
|
|
18
18
|
import "../chunk-2UMNXADU.js";
|
|
19
|
-
import "../chunk-
|
|
19
|
+
import "../chunk-X6RXX2NF.js";
|
|
20
20
|
|
|
21
21
|
// bin/pushary-prompt-hook.ts
|
|
22
22
|
var main = async () => {
|
|
@@ -4,19 +4,19 @@ import {
|
|
|
4
4
|
} from "../chunk-6CUUA7HO.js";
|
|
5
5
|
import {
|
|
6
6
|
handleSessionEnd
|
|
7
|
-
} from "../chunk-
|
|
8
|
-
import "../chunk-
|
|
9
|
-
import "../chunk-
|
|
10
|
-
import "../chunk-
|
|
11
|
-
import "../chunk-
|
|
7
|
+
} from "../chunk-GTZLL7F4.js";
|
|
8
|
+
import "../chunk-UXHMWF4H.js";
|
|
9
|
+
import "../chunk-TG3T3M4K.js";
|
|
10
|
+
import "../chunk-DKWM5T3P.js";
|
|
11
|
+
import "../chunk-QA72MKIT.js";
|
|
12
12
|
import "../chunk-BSZYIAZL.js";
|
|
13
13
|
import "../chunk-SAF6HGAA.js";
|
|
14
|
-
import "../chunk-
|
|
14
|
+
import "../chunk-IUWRVTQK.js";
|
|
15
15
|
import "../chunk-7QLSKOSU.js";
|
|
16
16
|
import "../chunk-KZERVKTD.js";
|
|
17
17
|
import "../chunk-XX2V4QS5.js";
|
|
18
18
|
import "../chunk-2UMNXADU.js";
|
|
19
|
-
import "../chunk-
|
|
19
|
+
import "../chunk-X6RXX2NF.js";
|
|
20
20
|
|
|
21
21
|
// bin/pushary-session-end-hook.ts
|
|
22
22
|
var main = async () => {
|
|
@@ -4,19 +4,19 @@ import {
|
|
|
4
4
|
} from "../chunk-6CUUA7HO.js";
|
|
5
5
|
import {
|
|
6
6
|
handleSessionStart
|
|
7
|
-
} from "../chunk-
|
|
8
|
-
import "../chunk-
|
|
9
|
-
import "../chunk-
|
|
10
|
-
import "../chunk-
|
|
11
|
-
import "../chunk-
|
|
7
|
+
} from "../chunk-GTZLL7F4.js";
|
|
8
|
+
import "../chunk-UXHMWF4H.js";
|
|
9
|
+
import "../chunk-TG3T3M4K.js";
|
|
10
|
+
import "../chunk-DKWM5T3P.js";
|
|
11
|
+
import "../chunk-QA72MKIT.js";
|
|
12
12
|
import "../chunk-BSZYIAZL.js";
|
|
13
13
|
import "../chunk-SAF6HGAA.js";
|
|
14
|
-
import "../chunk-
|
|
14
|
+
import "../chunk-IUWRVTQK.js";
|
|
15
15
|
import "../chunk-7QLSKOSU.js";
|
|
16
16
|
import "../chunk-KZERVKTD.js";
|
|
17
17
|
import "../chunk-XX2V4QS5.js";
|
|
18
18
|
import "../chunk-2UMNXADU.js";
|
|
19
|
-
import "../chunk-
|
|
19
|
+
import "../chunk-X6RXX2NF.js";
|
|
20
20
|
|
|
21
21
|
// bin/pushary-session-start-hook.ts
|
|
22
22
|
var main = async () => {
|
|
@@ -1,15 +1,24 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
detectClaudeVersion
|
|
4
|
-
} from "../chunk-
|
|
4
|
+
} from "../chunk-KVE5RCQL.js";
|
|
5
5
|
import {
|
|
6
6
|
claudeWired,
|
|
7
7
|
codexWired,
|
|
8
8
|
geminiWired
|
|
9
|
-
} from "../chunk-
|
|
9
|
+
} from "../chunk-FZ73G2RO.js";
|
|
10
|
+
import {
|
|
11
|
+
waitForMachineReadiness
|
|
12
|
+
} from "../chunk-TY5HVMXT.js";
|
|
10
13
|
import {
|
|
11
14
|
runBrowserLogin
|
|
12
15
|
} from "../chunk-Z3Z4VK5F.js";
|
|
16
|
+
import {
|
|
17
|
+
HERMES_CONFIG_SCRIPT,
|
|
18
|
+
isHermesConfigReceipt,
|
|
19
|
+
resolveHermesPython,
|
|
20
|
+
runHermesPythonScript
|
|
21
|
+
} from "../chunk-UDBJHQMG.js";
|
|
13
22
|
import {
|
|
14
23
|
describeDetection,
|
|
15
24
|
detectAllAgents,
|
|
@@ -21,7 +30,7 @@ import {
|
|
|
21
30
|
shortenHome,
|
|
22
31
|
vscodeSettingsTargets,
|
|
23
32
|
writeInstructionBlock
|
|
24
|
-
} from "../chunk-
|
|
33
|
+
} from "../chunk-MZGWKIUZ.js";
|
|
25
34
|
import {
|
|
26
35
|
OPENCODE_HOOK_BINARY,
|
|
27
36
|
addOpenCodeMcpServer,
|
|
@@ -32,7 +41,7 @@ import {
|
|
|
32
41
|
openCodePluginDir,
|
|
33
42
|
openCodePluginFile,
|
|
34
43
|
openCodeWired
|
|
35
|
-
} from "../chunk-
|
|
44
|
+
} from "../chunk-34GN3IPX.js";
|
|
36
45
|
import {
|
|
37
46
|
GEMINI_HOOK_BINARY,
|
|
38
47
|
addClaudeMcpServer,
|
|
@@ -40,47 +49,53 @@ import {
|
|
|
40
49
|
addGeminiMcpServer,
|
|
41
50
|
addPusharyHooks,
|
|
42
51
|
addPusharyToolPermissions,
|
|
52
|
+
captureClaudeMcpServer,
|
|
43
53
|
compareVersion,
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
54
|
+
isClaudeMcpSnapshot,
|
|
55
|
+
parseVersion,
|
|
56
|
+
updateClaudeMcpSnapshot
|
|
57
|
+
} from "../chunk-Q223OM5J.js";
|
|
58
|
+
import "../chunk-6EKQZA6R.js";
|
|
47
59
|
import {
|
|
48
60
|
guardBinary,
|
|
49
61
|
guardNodeScript,
|
|
50
62
|
guardedArgv
|
|
51
|
-
} from "../chunk-
|
|
63
|
+
} from "../chunk-SYUIXXQW.js";
|
|
52
64
|
import {
|
|
65
|
+
daemonHasRemoteProof,
|
|
53
66
|
daemonServiceManagerAvailable,
|
|
54
67
|
disableDaemonService,
|
|
55
68
|
ensureDaemonRunning,
|
|
56
69
|
hasDaemonServiceDefinition,
|
|
57
70
|
readDaemonStatus,
|
|
58
71
|
replaceDaemonService,
|
|
59
|
-
stopDaemonService
|
|
60
|
-
|
|
72
|
+
stopDaemonService,
|
|
73
|
+
waitForDaemonRemoteProof
|
|
74
|
+
} from "../chunk-3SQYKLBW.js";
|
|
61
75
|
import {
|
|
62
76
|
detectProviderLiveCapabilities,
|
|
63
77
|
hasSpawnProvider,
|
|
64
78
|
resolveControlPolicy
|
|
65
|
-
} from "../chunk-
|
|
79
|
+
} from "../chunk-6XUABEX2.js";
|
|
66
80
|
import "../chunk-XHKBHWLX.js";
|
|
67
81
|
import {
|
|
68
82
|
installGlobally,
|
|
69
83
|
npmErrorMessage,
|
|
70
84
|
resolveGlobalBinDir,
|
|
71
85
|
resolveGlobalBinary
|
|
72
|
-
} from "../chunk-
|
|
86
|
+
} from "../chunk-X4ZUUFKV.js";
|
|
73
87
|
import {
|
|
74
88
|
reportEvent
|
|
75
|
-
} from "../chunk-
|
|
76
|
-
import "../chunk-
|
|
77
|
-
import "../chunk-
|
|
78
|
-
import "../chunk-
|
|
89
|
+
} from "../chunk-GTZLL7F4.js";
|
|
90
|
+
import "../chunk-UXHMWF4H.js";
|
|
91
|
+
import "../chunk-TG3T3M4K.js";
|
|
92
|
+
import "../chunk-DKWM5T3P.js";
|
|
79
93
|
import {
|
|
80
94
|
addCodexHookTrust,
|
|
81
95
|
addCodexHooks,
|
|
82
96
|
addCodexMcpServer,
|
|
83
97
|
claudeJson,
|
|
98
|
+
claudeMcpReceipt,
|
|
84
99
|
claudeSettings,
|
|
85
100
|
claudeSkillDir,
|
|
86
101
|
codexAgentsMd2 as codexAgentsMd,
|
|
@@ -93,9 +108,10 @@ import {
|
|
|
93
108
|
cursorUserHooks,
|
|
94
109
|
geminiMd,
|
|
95
110
|
geminiSettings,
|
|
111
|
+
hermesConfigReceipt,
|
|
96
112
|
pusharyConfigFile,
|
|
97
113
|
vscodePluginDir
|
|
98
|
-
} from "../chunk-
|
|
114
|
+
} from "../chunk-QA72MKIT.js";
|
|
99
115
|
import {
|
|
100
116
|
confirmAppConnection,
|
|
101
117
|
connectDevice,
|
|
@@ -104,12 +120,12 @@ import {
|
|
|
104
120
|
printConnectInstructions,
|
|
105
121
|
setHumanStream,
|
|
106
122
|
verifyRoundTrip
|
|
107
|
-
} from "../chunk-
|
|
123
|
+
} from "../chunk-2LPEZYMC.js";
|
|
108
124
|
import "../chunk-3EGEA4KH.js";
|
|
109
125
|
import {
|
|
110
126
|
checkApiKey,
|
|
111
127
|
describeKeyCheck
|
|
112
|
-
} from "../chunk-
|
|
128
|
+
} from "../chunk-BLODMQKJ.js";
|
|
113
129
|
import {
|
|
114
130
|
useColor
|
|
115
131
|
} from "../chunk-5RUIFDTP.js";
|
|
@@ -121,7 +137,7 @@ import {
|
|
|
121
137
|
readControlMode,
|
|
122
138
|
readKeySource,
|
|
123
139
|
writeKey
|
|
124
|
-
} from "../chunk-
|
|
140
|
+
} from "../chunk-3CUDMTL4.js";
|
|
125
141
|
import {
|
|
126
142
|
parseFlags
|
|
127
143
|
} from "../chunk-GMXKITVA.js";
|
|
@@ -138,7 +154,7 @@ import {
|
|
|
138
154
|
} from "../chunk-DINDL2CF.js";
|
|
139
155
|
import "../chunk-BSZYIAZL.js";
|
|
140
156
|
import "../chunk-SAF6HGAA.js";
|
|
141
|
-
import "../chunk-
|
|
157
|
+
import "../chunk-IUWRVTQK.js";
|
|
142
158
|
import {
|
|
143
159
|
UsageError
|
|
144
160
|
} from "../chunk-7QLSKOSU.js";
|
|
@@ -155,12 +171,12 @@ import "../chunk-2UMNXADU.js";
|
|
|
155
171
|
import {
|
|
156
172
|
CURSOR_GATE_EVENTS,
|
|
157
173
|
isValidApiKey
|
|
158
|
-
} from "../chunk-
|
|
174
|
+
} from "../chunk-X6RXX2NF.js";
|
|
159
175
|
|
|
160
176
|
// bin/pushary-setup.ts
|
|
161
177
|
import { existsSync, readFileSync, writeFileSync, mkdirSync, cpSync, rmSync, renameSync, realpathSync, readdirSync, statSync, openSync, readSync, closeSync } from "fs";
|
|
162
178
|
import { join as join3, dirname as dirname2, basename } from "path";
|
|
163
|
-
import { homedir
|
|
179
|
+
import { homedir } from "os";
|
|
164
180
|
import { execSync as execSync2 } from "child_process";
|
|
165
181
|
import { checkbox, input, confirm } from "@inquirer/prompts";
|
|
166
182
|
import { fileURLToPath } from "url";
|
|
@@ -595,6 +611,8 @@ var parseSetupOptions = (input2) => {
|
|
|
595
611
|
// bin/pushary-setup.ts
|
|
596
612
|
var CLAUDE_SETTINGS = claudeSettings();
|
|
597
613
|
var CLAUDE_JSON = claudeJson();
|
|
614
|
+
var CLAUDE_MCP_RECEIPT = claudeMcpReceipt();
|
|
615
|
+
var HERMES_CONFIG_RECEIPT = hermesConfigReceipt();
|
|
598
616
|
var CURSOR_PLUGIN_DIR = cursorPluginDir();
|
|
599
617
|
var CURSOR_USER_HOOKS = cursorUserHooks();
|
|
600
618
|
var VSCODE_PLUGIN_DIR = vscodePluginDir();
|
|
@@ -790,6 +808,17 @@ var setupClaudeCode = async (apiKey) => {
|
|
|
790
808
|
await installGlobally2();
|
|
791
809
|
const claudeJson2 = readAgentJson(CLAUDE_JSON);
|
|
792
810
|
const settings = readAgentJson(CLAUDE_SETTINGS);
|
|
811
|
+
const mcpReceipt = readJsonSafe(CLAUDE_MCP_RECEIPT);
|
|
812
|
+
let mcpSnapshot;
|
|
813
|
+
if (mcpReceipt.kind === "missing") {
|
|
814
|
+
mcpSnapshot = captureClaudeMcpServer(claudeJson2, apiKey);
|
|
815
|
+
} else {
|
|
816
|
+
if (mcpReceipt.kind !== "ok" || !isClaudeMcpSnapshot(mcpReceipt.value)) {
|
|
817
|
+
throw new Error(`Cannot safely replace Claude's Pushary MCP entry: ${CLAUDE_MCP_RECEIPT} is unreadable or invalid.`);
|
|
818
|
+
}
|
|
819
|
+
mcpSnapshot = updateClaudeMcpSnapshot(mcpReceipt.value, apiKey);
|
|
820
|
+
}
|
|
821
|
+
writeJsonAtomic(CLAUDE_MCP_RECEIPT, mcpSnapshot, 384);
|
|
793
822
|
await spinner("Adding MCP server (type: http)", async () => {
|
|
794
823
|
addClaudeMcpServer(claudeJson2, apiKey);
|
|
795
824
|
});
|
|
@@ -814,23 +843,6 @@ var setupClaudeCode = async (apiKey) => {
|
|
|
814
843
|
console.log(` ${dim("\u2022")} Auto-allowed tools: no permission prompts for Pushary MCP calls`);
|
|
815
844
|
};
|
|
816
845
|
var IS_WINDOWS = process.platform === "win32";
|
|
817
|
-
var resolveHermesPython = () => {
|
|
818
|
-
try {
|
|
819
|
-
const probe = IS_WINDOWS ? "where hermes" : "command -v hermes";
|
|
820
|
-
const launcher = execSync2(probe, { encoding: "utf-8", stdio: "pipe", timeout: 5e3 }).split("\n")[0].trim();
|
|
821
|
-
if (launcher && !IS_WINDOWS) {
|
|
822
|
-
const shebang = readFileSync(launcher, "utf-8").split("\n", 1)[0];
|
|
823
|
-
if (shebang.startsWith("#!")) {
|
|
824
|
-
const interpreter = shebang.slice(2).trim().split(/\s+/)[0];
|
|
825
|
-
if (interpreter && /python/i.test(interpreter) && existsSync(interpreter)) return interpreter;
|
|
826
|
-
}
|
|
827
|
-
}
|
|
828
|
-
} catch {
|
|
829
|
-
}
|
|
830
|
-
const venvRoot = join3(homedir(), ".hermes", "hermes-agent", "venv");
|
|
831
|
-
const candidates = IS_WINDOWS ? [join3(venvRoot, "Scripts", "python.exe"), join3(venvRoot, "Scripts", "python3.exe")] : [join3(venvRoot, "bin", "python3"), join3(venvRoot, "bin", "python")];
|
|
832
|
-
return candidates.find(existsSync) ?? null;
|
|
833
|
-
};
|
|
834
846
|
var ensurePip = (python) => {
|
|
835
847
|
try {
|
|
836
848
|
execSync2(`"${python}" -m pip --version`, { stdio: "ignore", timeout: 15e3 });
|
|
@@ -843,20 +855,7 @@ var ensurePip = (python) => {
|
|
|
843
855
|
}
|
|
844
856
|
};
|
|
845
857
|
var enablePusharyPlugin = (python) => {
|
|
846
|
-
|
|
847
|
-
const scriptPath = join3(tmpdir(), `pushary-hermes-${process.pid}.py`);
|
|
848
|
-
try {
|
|
849
|
-
writeFileSync(scriptPath, snippet.split("; ").join("\n"), "utf-8");
|
|
850
|
-
execSync2(`"${python}" "${scriptPath}"`, { stdio: "pipe", timeout: 15e3 });
|
|
851
|
-
return true;
|
|
852
|
-
} catch {
|
|
853
|
-
return false;
|
|
854
|
-
} finally {
|
|
855
|
-
try {
|
|
856
|
-
rmSync(scriptPath, { force: true });
|
|
857
|
-
} catch {
|
|
858
|
-
}
|
|
859
|
-
}
|
|
858
|
+
return runHermesPythonScript(python, HERMES_CONFIG_SCRIPT, "setup", HERMES_CONFIG_RECEIPT);
|
|
860
859
|
};
|
|
861
860
|
var setupHermes = async (_apiKey) => {
|
|
862
861
|
console.log(`
|
|
@@ -873,6 +872,10 @@ var setupHermes = async (_apiKey) => {
|
|
|
873
872
|
noteManual("Install the Hermes plugin by hand: <hermes-python> -m pip install hermes-plugin-pushary");
|
|
874
873
|
return "skipped";
|
|
875
874
|
}
|
|
875
|
+
const existingReceipt = readJsonSafe(HERMES_CONFIG_RECEIPT);
|
|
876
|
+
if (existingReceipt.kind !== "missing" && (existingReceipt.kind !== "ok" || !isHermesConfigReceipt(existingReceipt.value))) {
|
|
877
|
+
throw new Error(`Cannot safely configure Hermes: ${HERMES_CONFIG_RECEIPT} is unreadable or invalid.`);
|
|
878
|
+
}
|
|
876
879
|
await spinner("Installing hermes-plugin-pushary into Hermes\u2019 environment", async () => {
|
|
877
880
|
ensurePip(python);
|
|
878
881
|
execSync2(`"${python}" -m pip install --upgrade hermes-plugin-pushary`, { stdio: "pipe", timeout: 18e4 });
|
|
@@ -2125,6 +2128,14 @@ var main = async () => {
|
|
|
2125
2128
|
return { kind: "unavailable", detail: formatError(err) };
|
|
2126
2129
|
}
|
|
2127
2130
|
})() : controlMode === "on" || controlPolicy === "legacy" ? { kind: "unavailable", detail: "Managed control is required but no usable provider/service-manager pair is available" } : null;
|
|
2131
|
+
const localControlProof = daemon?.kind === "running" || daemon?.kind === "started" ? await waitForDaemonRemoteProof() : null;
|
|
2132
|
+
const serverControlProof = localControlProof && daemonHasRemoteProof(localControlProof) ? await waitForMachineReadiness(trimmedKey, ["spawn", ...controlCapabilities]) : null;
|
|
2133
|
+
const daemonReady = daemon === null ? null : localControlProof !== null && daemonHasRemoteProof(localControlProof) && (serverControlProof?.kind === "ready" || serverControlProof?.kind === "unsupported");
|
|
2134
|
+
if (serverControlProof?.kind === "unsupported") {
|
|
2135
|
+
console.log(` ${yellow("!")} This server predates control-readiness reporting; local heartbeat and queue checks passed.`);
|
|
2136
|
+
} else if (serverControlProof && serverControlProof.kind !== "ready") {
|
|
2137
|
+
console.log(` ${yellow("!")} Managed control could not be verified by the server: ${serverControlProof.detail}`);
|
|
2138
|
+
}
|
|
2128
2139
|
const closing = describeClosing({
|
|
2129
2140
|
agentsOk,
|
|
2130
2141
|
configuredNothing,
|
|
@@ -2132,7 +2143,7 @@ var main = async () => {
|
|
|
2132
2143
|
failed,
|
|
2133
2144
|
reachChecked,
|
|
2134
2145
|
reachesYou,
|
|
2135
|
-
daemonReady: controlLifecycleFailure ? false :
|
|
2146
|
+
daemonReady: controlLifecycleFailure ? false : daemonReady,
|
|
2136
2147
|
// null when the check did not run, so it changes nothing. Only an outright
|
|
2137
2148
|
// `false` is allowed to hold back "Setup complete.".
|
|
2138
2149
|
roundTripAnswered: roundTrip === null ? null : roundTrip.kind === "answered" ? true : roundTrip.kind === "unanswered" ? false : null
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
readLedgerSummary
|
|
4
|
-
} from "../chunk-
|
|
4
|
+
} from "../chunk-3HFK3UXM.js";
|
|
5
5
|
import {
|
|
6
6
|
exitOnHelpFlag
|
|
7
7
|
} from "../chunk-LURY4WNF.js";
|
|
@@ -11,7 +11,7 @@ import "../chunk-KZERVKTD.js";
|
|
|
11
11
|
import {
|
|
12
12
|
getApiKey
|
|
13
13
|
} from "../chunk-2UMNXADU.js";
|
|
14
|
-
import "../chunk-
|
|
14
|
+
import "../chunk-X6RXX2NF.js";
|
|
15
15
|
|
|
16
16
|
// bin/pushary-stats.ts
|
|
17
17
|
exitOnHelpFlag("stats");
|
|
@@ -2,25 +2,25 @@
|
|
|
2
2
|
import {
|
|
3
3
|
describeLastSeen,
|
|
4
4
|
listMachines
|
|
5
|
-
} from "../chunk-
|
|
6
|
-
import "../chunk-
|
|
7
|
-
import "../chunk-
|
|
5
|
+
} from "../chunk-TY5HVMXT.js";
|
|
6
|
+
import "../chunk-DKWM5T3P.js";
|
|
7
|
+
import "../chunk-QA72MKIT.js";
|
|
8
8
|
import {
|
|
9
9
|
describeReach,
|
|
10
10
|
fetchChannels,
|
|
11
11
|
reachVerdict
|
|
12
|
-
} from "../chunk-
|
|
12
|
+
} from "../chunk-2LPEZYMC.js";
|
|
13
13
|
import "../chunk-3EGEA4KH.js";
|
|
14
14
|
import {
|
|
15
15
|
checkApiKey,
|
|
16
16
|
describeKeyCheck
|
|
17
|
-
} from "../chunk-
|
|
17
|
+
} from "../chunk-BLODMQKJ.js";
|
|
18
18
|
import {
|
|
19
19
|
createIo
|
|
20
20
|
} from "../chunk-5RUIFDTP.js";
|
|
21
21
|
import {
|
|
22
22
|
readKeySource
|
|
23
|
-
} from "../chunk-
|
|
23
|
+
} from "../chunk-3CUDMTL4.js";
|
|
24
24
|
import {
|
|
25
25
|
rejectUnknownFlags
|
|
26
26
|
} from "../chunk-GMXKITVA.js";
|
|
@@ -32,7 +32,7 @@ import "../chunk-BC3VCZ3E.js";
|
|
|
32
32
|
import "../chunk-DINDL2CF.js";
|
|
33
33
|
import "../chunk-BSZYIAZL.js";
|
|
34
34
|
import "../chunk-SAF6HGAA.js";
|
|
35
|
-
import "../chunk-
|
|
35
|
+
import "../chunk-IUWRVTQK.js";
|
|
36
36
|
import {
|
|
37
37
|
UsageError
|
|
38
38
|
} from "../chunk-7QLSKOSU.js";
|
|
@@ -41,7 +41,7 @@ import {
|
|
|
41
41
|
} from "../chunk-KZERVKTD.js";
|
|
42
42
|
import "../chunk-XX2V4QS5.js";
|
|
43
43
|
import "../chunk-2UMNXADU.js";
|
|
44
|
-
import "../chunk-
|
|
44
|
+
import "../chunk-X6RXX2NF.js";
|
|
45
45
|
|
|
46
46
|
// src/status.ts
|
|
47
47
|
var keySourceLine = (source) => {
|