@pushary/agent-hooks 1.8.2 → 1.8.3
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 +5 -0
- package/dist/bin/pushary-bell-hook.js +11 -11
- package/dist/bin/pushary-bell.js +2 -2
- package/dist/bin/pushary-claude.js +15 -15
- package/dist/bin/pushary-clean.js +18 -18
- package/dist/bin/pushary-codex-bridge.js +9 -9
- package/dist/bin/pushary-codex-hook.js +18 -18
- package/dist/bin/pushary-codex.js +8 -8
- package/dist/bin/pushary-connect.js +7 -7
- package/dist/bin/pushary-daemon.js +31 -28
- package/dist/bin/pushary-disconnect.js +11 -11
- package/dist/bin/pushary-doctor.js +20 -20
- package/dist/bin/pushary-elicitation-hook.js +14 -14
- package/dist/bin/pushary-gemini-bridge.js +4 -4
- package/dist/bin/pushary-gemini-hook.js +16 -16
- package/dist/bin/pushary-hook.js +19 -19
- package/dist/bin/pushary-login.js +5 -5
- package/dist/bin/pushary-logout.js +1 -1
- package/dist/bin/pushary-mcp.js +6 -6
- package/dist/bin/pushary-mode.js +5 -5
- package/dist/bin/pushary-notification-hook.js +17 -17
- package/dist/bin/pushary-opencode-hook.js +15 -15
- package/dist/bin/pushary-permission-denied-hook.js +19 -19
- package/dist/bin/pushary-permission-hook.js +19 -19
- package/dist/bin/pushary-post-hook.js +17 -17
- package/dist/bin/pushary-prompt-hook.js +17 -17
- package/dist/bin/pushary-session-end-hook.js +17 -17
- package/dist/bin/pushary-session-start-hook.js +20 -20
- package/dist/bin/pushary-setup.js +23 -23
- package/dist/bin/pushary-status.js +9 -9
- package/dist/bin/pushary-stop-hook.js +17 -17
- package/dist/bin/pushary-stopfailure-hook.js +17 -17
- package/dist/bin/pushary-transcript-register.js +8 -8
- package/dist/bin/pushary-upgrade.js +215 -139
- package/dist/bin/pushary-wait.js +5 -5
- package/dist/bin/pushary.js +3 -3
- package/dist/{chunk-W2LJ4O3A.js → chunk-27A7L4DA.js} +1 -1
- package/dist/{chunk-I4HKMUZQ.js → chunk-34EQOFMH.js} +2 -2
- package/dist/{chunk-2SLCHCVN.js → chunk-4CW5EAOI.js} +1 -1
- package/dist/{chunk-F6NTWZZC.js → chunk-4DYHBXX4.js} +5 -5
- package/dist/{chunk-INSMZNS7.js → chunk-4SJIPHR3.js} +1 -1
- package/dist/{chunk-ZJYJAD52.js → chunk-6SS74UHS.js} +1 -1
- package/dist/{chunk-DVW2MYCM.js → chunk-6UDK5TY6.js} +1 -1
- package/dist/{chunk-MMVCI6DT.js → chunk-AKCE6ZRF.js} +3 -3
- package/dist/{chunk-BDMC5H5L.js → chunk-APURTMSW.js} +2 -2
- package/dist/{chunk-MOTNSXC3.js → chunk-CTNLP4A5.js} +4 -4
- package/dist/{chunk-B3UVRGYP.js → chunk-CXYKQAL2.js} +5 -5
- package/dist/{chunk-4A3UQERT.js → chunk-DMU5E6HJ.js} +1 -1
- package/dist/{chunk-EESPY5DG.js → chunk-E5JGQGLD.js} +2 -2
- package/dist/{chunk-644AEX4T.js → chunk-EJXEHNB5.js} +2 -2
- package/dist/{chunk-5DGNEUXK.js → chunk-FBTUF2PH.js} +1 -1
- package/dist/{chunk-EIGJYCOE.js → chunk-IEXWWAJY.js} +2 -2
- package/dist/{chunk-NNWQ5VDB.js → chunk-MSMKCO4Y.js} +6 -6
- package/dist/{chunk-I3XLHSOC.js → chunk-OLYTGVCC.js} +3 -3
- package/dist/{chunk-DUA5O6X5.js → chunk-SD6OLZJX.js} +3 -3
- package/dist/{chunk-XQZEIWAV.js → chunk-SOUJG6UY.js} +53 -5
- package/dist/{chunk-KB2FTO4O.js → chunk-UXKXGRKG.js} +2 -2
- package/dist/{chunk-T55H6YEP.js → chunk-VF3X4MDB.js} +1 -1
- package/dist/{chunk-64H5IZZD.js → chunk-VI55VXDH.js} +1 -1
- package/dist/{chunk-NHCUXTEM.js → chunk-VUP5BMOD.js} +1 -1
- package/dist/{chunk-HOEB6AKG.js → chunk-XH7UNEHO.js} +1 -1
- package/dist/{chunk-LK2S5XIV.js → chunk-XNJ4MQF3.js} +2 -2
- package/dist/{chunk-S2UNQQQS.js → chunk-YLJ26RR2.js} +1 -1
- package/dist/{chunk-XEGVVU5H.js → chunk-YOYSXLUB.js} +2 -2
- package/dist/{chunk-YNCGXHM4.js → chunk-ZOKXZ3AS.js} +2 -2
- package/dist/{chunk-UPLV5AJF.js → chunk-ZR7LIQKO.js} +57 -5
- package/dist/{reapply-3UERAKQN.js → reapply-DYOQAVUP.js} +6 -6
- package/dist/src/index.js +13 -13
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,10 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 1.8.3
|
|
4
|
+
|
|
5
|
+
- Checking installed agents no longer blocks the daemon while npm or PATH lookups run. Concurrent refreshes share one lookup, and stopping the daemon cancels discovery.
|
|
6
|
+
- Automatic and manual upgrades share an operating-system lock. The finishing process keeps it if its parent exits, and a crash releases it without leaving a recovery file that blocks later upgrades. Unavailable locks stop the upgrade.
|
|
7
|
+
|
|
3
8
|
## 1.8.2
|
|
4
9
|
|
|
5
10
|
- **Starting Codex from your phone no longer picks an old, broken Codex over the one you use.** The daemon looked for agents in npm's global folder before the ones your shell runs, so a broken npm copy of Codex won over a working one elsewhere on your PATH, and the session died at once with `spawn ... ENOENT`. On macOS and Linux the daemon and both session bridges now start the agent your shell finds first. Windows keeps npm's `.cmd` launcher first, because the first match on PATH there can be a script Windows cannot run.
|
|
@@ -4,32 +4,32 @@ import {
|
|
|
4
4
|
} from "../chunk-HMNR7B2F.js";
|
|
5
5
|
import {
|
|
6
6
|
readHookInput
|
|
7
|
-
} from "../chunk-
|
|
8
|
-
import "../chunk-
|
|
7
|
+
} from "../chunk-E5JGQGLD.js";
|
|
8
|
+
import "../chunk-SD6OLZJX.js";
|
|
9
9
|
import "../chunk-SGZJ5LYH.js";
|
|
10
|
-
import "../chunk-
|
|
10
|
+
import "../chunk-ZOKXZ3AS.js";
|
|
11
11
|
import "../chunk-DLEKCAQL.js";
|
|
12
12
|
import "../chunk-MYHG7PX2.js";
|
|
13
|
-
import "../chunk-
|
|
14
|
-
import "../chunk-
|
|
15
|
-
import "../chunk-
|
|
16
|
-
import "../chunk-
|
|
13
|
+
import "../chunk-YOYSXLUB.js";
|
|
14
|
+
import "../chunk-IEXWWAJY.js";
|
|
15
|
+
import "../chunk-YLJ26RR2.js";
|
|
16
|
+
import "../chunk-XH7UNEHO.js";
|
|
17
17
|
import "../chunk-URNXU3FO.js";
|
|
18
18
|
import "../chunk-UMMCHS6P.js";
|
|
19
19
|
import "../chunk-72WOCX22.js";
|
|
20
20
|
import "../chunk-XHKBHWLX.js";
|
|
21
21
|
import "../chunk-6ICPEJY5.js";
|
|
22
22
|
import "../chunk-VFFHQC7W.js";
|
|
23
|
-
import "../chunk-
|
|
23
|
+
import "../chunk-UXKXGRKG.js";
|
|
24
24
|
import "../chunk-POFBE6ZY.js";
|
|
25
25
|
import "../chunk-GMXKITVA.js";
|
|
26
26
|
import "../chunk-TJMAXQ5Q.js";
|
|
27
|
-
import "../chunk-
|
|
28
|
-
import "../chunk-
|
|
27
|
+
import "../chunk-4CW5EAOI.js";
|
|
28
|
+
import "../chunk-DMU5E6HJ.js";
|
|
29
29
|
import "../chunk-7QLSKOSU.js";
|
|
30
30
|
import "../chunk-KZERVKTD.js";
|
|
31
31
|
import "../chunk-5Y2DY6X4.js";
|
|
32
|
-
import "../chunk-
|
|
32
|
+
import "../chunk-ZR7LIQKO.js";
|
|
33
33
|
import "../chunk-T7E75EKA.js";
|
|
34
34
|
import "../chunk-ON5JW2HP.js";
|
|
35
35
|
import "../chunk-35X5UDML.js";
|
package/dist/bin/pushary-bell.js
CHANGED
|
@@ -10,7 +10,7 @@ import {
|
|
|
10
10
|
addBellHooks,
|
|
11
11
|
bellInstalled,
|
|
12
12
|
removeBellHooks
|
|
13
|
-
} from "../chunk-
|
|
13
|
+
} from "../chunk-XH7UNEHO.js";
|
|
14
14
|
import {
|
|
15
15
|
createIo
|
|
16
16
|
} from "../chunk-U4TMAANR.js";
|
|
@@ -28,7 +28,7 @@ import {
|
|
|
28
28
|
import "../chunk-5Y2DY6X4.js";
|
|
29
29
|
import {
|
|
30
30
|
claudeSettings
|
|
31
|
-
} from "../chunk-
|
|
31
|
+
} from "../chunk-ZR7LIQKO.js";
|
|
32
32
|
import {
|
|
33
33
|
readJsonSafe,
|
|
34
34
|
writeJsonAtomic
|
|
@@ -8,7 +8,7 @@ import {
|
|
|
8
8
|
describeIdleWindow,
|
|
9
9
|
startProcessOwnership,
|
|
10
10
|
withSpawnProcessOwnership
|
|
11
|
-
} from "../chunk-
|
|
11
|
+
} from "../chunk-6SS74UHS.js";
|
|
12
12
|
import {
|
|
13
13
|
announceSubscriptionRequired,
|
|
14
14
|
isDeferAnswer
|
|
@@ -18,17 +18,17 @@ import {
|
|
|
18
18
|
loadSessionKey,
|
|
19
19
|
registerTranscript,
|
|
20
20
|
registeredTranscriptEnabled
|
|
21
|
-
} from "../chunk-
|
|
21
|
+
} from "../chunk-SD6OLZJX.js";
|
|
22
22
|
import "../chunk-SGZJ5LYH.js";
|
|
23
|
-
import "../chunk-
|
|
23
|
+
import "../chunk-ZOKXZ3AS.js";
|
|
24
24
|
import "../chunk-DLEKCAQL.js";
|
|
25
25
|
import "../chunk-MYHG7PX2.js";
|
|
26
|
-
import "../chunk-
|
|
26
|
+
import "../chunk-YOYSXLUB.js";
|
|
27
27
|
import {
|
|
28
28
|
ensureDaemonRunning
|
|
29
|
-
} from "../chunk-
|
|
30
|
-
import "../chunk-
|
|
31
|
-
import "../chunk-
|
|
29
|
+
} from "../chunk-IEXWWAJY.js";
|
|
30
|
+
import "../chunk-YLJ26RR2.js";
|
|
31
|
+
import "../chunk-XH7UNEHO.js";
|
|
32
32
|
import {
|
|
33
33
|
encryptRecord
|
|
34
34
|
} from "../chunk-URNXU3FO.js";
|
|
@@ -51,7 +51,7 @@ import {
|
|
|
51
51
|
repoKeyFor,
|
|
52
52
|
reportEvent,
|
|
53
53
|
scopePathFor
|
|
54
|
-
} from "../chunk-
|
|
54
|
+
} from "../chunk-4DYHBXX4.js";
|
|
55
55
|
import {
|
|
56
56
|
DEFAULT_SESSION,
|
|
57
57
|
markPendingCommandDelivered,
|
|
@@ -72,23 +72,23 @@ import {
|
|
|
72
72
|
nextLongPollMs,
|
|
73
73
|
waitForAnswer,
|
|
74
74
|
withdrawQuestion
|
|
75
|
-
} from "../chunk-
|
|
76
|
-
import "../chunk-
|
|
75
|
+
} from "../chunk-AKCE6ZRF.js";
|
|
76
|
+
import "../chunk-UXKXGRKG.js";
|
|
77
77
|
import "../chunk-POFBE6ZY.js";
|
|
78
78
|
import "../chunk-GMXKITVA.js";
|
|
79
79
|
import "../chunk-TJMAXQ5Q.js";
|
|
80
80
|
import {
|
|
81
81
|
SubscriptionRequiredError
|
|
82
|
-
} from "../chunk-
|
|
83
|
-
import "../chunk-
|
|
84
|
-
import "../chunk-
|
|
82
|
+
} from "../chunk-34EQOFMH.js";
|
|
83
|
+
import "../chunk-6UDK5TY6.js";
|
|
84
|
+
import "../chunk-4CW5EAOI.js";
|
|
85
85
|
import {
|
|
86
86
|
getMachineId
|
|
87
|
-
} from "../chunk-
|
|
87
|
+
} from "../chunk-DMU5E6HJ.js";
|
|
88
88
|
import "../chunk-7QLSKOSU.js";
|
|
89
89
|
import "../chunk-KZERVKTD.js";
|
|
90
90
|
import "../chunk-5Y2DY6X4.js";
|
|
91
|
-
import "../chunk-
|
|
91
|
+
import "../chunk-ZR7LIQKO.js";
|
|
92
92
|
import "../chunk-T7E75EKA.js";
|
|
93
93
|
import {
|
|
94
94
|
getApiKey,
|
|
@@ -4,7 +4,7 @@ import {
|
|
|
4
4
|
PUSHARY_SKILL_SOURCE,
|
|
5
5
|
createGuards,
|
|
6
6
|
withoutPusharyCursorHooks
|
|
7
|
-
} from "../chunk-
|
|
7
|
+
} from "../chunk-APURTMSW.js";
|
|
8
8
|
import {
|
|
9
9
|
HERMES_PIP_PACKAGE,
|
|
10
10
|
planFxRemoval,
|
|
@@ -15,8 +15,8 @@ import {
|
|
|
15
15
|
shortenHome,
|
|
16
16
|
unregisterPluginLocation,
|
|
17
17
|
vscodeSettingsTargets
|
|
18
|
-
} from "../chunk-
|
|
19
|
-
import "../chunk-
|
|
18
|
+
} from "../chunk-XNJ4MQF3.js";
|
|
19
|
+
import "../chunk-VF3X4MDB.js";
|
|
20
20
|
import {
|
|
21
21
|
OPENCODE_PLUGIN_SIBLING,
|
|
22
22
|
OPENCODE_PLUGIN_SIBLING_CONTENTS,
|
|
@@ -36,40 +36,40 @@ import {
|
|
|
36
36
|
compatiblePermissionRuleFile,
|
|
37
37
|
removeCompatibleHooks,
|
|
38
38
|
removeCompatibleMcpServer
|
|
39
|
-
} from "../chunk-
|
|
39
|
+
} from "../chunk-CTNLP4A5.js";
|
|
40
40
|
import {
|
|
41
41
|
isClaudeMcpSnapshot,
|
|
42
42
|
removeClaudeMcpServers,
|
|
43
43
|
removePusharySettings,
|
|
44
44
|
removePusharyToolPermissions,
|
|
45
45
|
restoreClaudeMcpServer
|
|
46
|
-
} from "../chunk-
|
|
46
|
+
} from "../chunk-EJXEHNB5.js";
|
|
47
47
|
import {
|
|
48
48
|
hookOwnerOf,
|
|
49
49
|
isHookTakeoverReceipt,
|
|
50
50
|
restoreHookTakeover,
|
|
51
51
|
restoreMcpServer
|
|
52
|
-
} from "../chunk-
|
|
52
|
+
} from "../chunk-ZOKXZ3AS.js";
|
|
53
53
|
import "../chunk-DLEKCAQL.js";
|
|
54
54
|
import {
|
|
55
55
|
liveBridgeProbe,
|
|
56
56
|
resolveBridgeStub
|
|
57
57
|
} from "../chunk-MYHG7PX2.js";
|
|
58
|
-
import "../chunk-
|
|
58
|
+
import "../chunk-YOYSXLUB.js";
|
|
59
59
|
import {
|
|
60
60
|
disableDaemonService
|
|
61
|
-
} from "../chunk-
|
|
61
|
+
} from "../chunk-IEXWWAJY.js";
|
|
62
62
|
import {
|
|
63
63
|
removeGeminiSettings
|
|
64
|
-
} from "../chunk-
|
|
65
|
-
import "../chunk-
|
|
64
|
+
} from "../chunk-YLJ26RR2.js";
|
|
65
|
+
import "../chunk-XH7UNEHO.js";
|
|
66
66
|
import "../chunk-XHKBHWLX.js";
|
|
67
67
|
import "../chunk-6ICPEJY5.js";
|
|
68
|
-
import "../chunk-
|
|
68
|
+
import "../chunk-4DYHBXX4.js";
|
|
69
69
|
import "../chunk-N6IOSZOE.js";
|
|
70
70
|
import "../chunk-VFFHQC7W.js";
|
|
71
|
-
import "../chunk-
|
|
72
|
-
import "../chunk-
|
|
71
|
+
import "../chunk-AKCE6ZRF.js";
|
|
72
|
+
import "../chunk-UXKXGRKG.js";
|
|
73
73
|
import "../chunk-POFBE6ZY.js";
|
|
74
74
|
import {
|
|
75
75
|
ansiPainter,
|
|
@@ -86,10 +86,10 @@ import {
|
|
|
86
86
|
isDisabledExport,
|
|
87
87
|
removeClaudeAlias
|
|
88
88
|
} from "../chunk-TJMAXQ5Q.js";
|
|
89
|
-
import "../chunk-
|
|
90
|
-
import "../chunk-
|
|
91
|
-
import "../chunk-
|
|
92
|
-
import "../chunk-
|
|
89
|
+
import "../chunk-34EQOFMH.js";
|
|
90
|
+
import "../chunk-6UDK5TY6.js";
|
|
91
|
+
import "../chunk-4CW5EAOI.js";
|
|
92
|
+
import "../chunk-DMU5E6HJ.js";
|
|
93
93
|
import "../chunk-7QLSKOSU.js";
|
|
94
94
|
import {
|
|
95
95
|
EXIT
|
|
@@ -132,7 +132,7 @@ import {
|
|
|
132
132
|
restoreCodexHookTrust,
|
|
133
133
|
vscodePluginDir,
|
|
134
134
|
vscodePluginMcp
|
|
135
|
-
} from "../chunk-
|
|
135
|
+
} from "../chunk-ZR7LIQKO.js";
|
|
136
136
|
import "../chunk-T7E75EKA.js";
|
|
137
137
|
import "../chunk-ON5JW2HP.js";
|
|
138
138
|
import {
|
|
@@ -8,7 +8,7 @@ import {
|
|
|
8
8
|
} from "../chunk-HVDMGDYV.js";
|
|
9
9
|
import {
|
|
10
10
|
resolveProviderBinary
|
|
11
|
-
} from "../chunk-
|
|
11
|
+
} from "../chunk-SOUJG6UY.js";
|
|
12
12
|
import "../chunk-RIVNNBEK.js";
|
|
13
13
|
import {
|
|
14
14
|
SESSION_IDLE_TIMEOUT_MS,
|
|
@@ -16,7 +16,7 @@ import {
|
|
|
16
16
|
idleDeadlinePassed,
|
|
17
17
|
startProcessOwnership,
|
|
18
18
|
withSpawnProcessOwnership
|
|
19
|
-
} from "../chunk-
|
|
19
|
+
} from "../chunk-6SS74UHS.js";
|
|
20
20
|
import "../chunk-URNXU3FO.js";
|
|
21
21
|
import "../chunk-UMMCHS6P.js";
|
|
22
22
|
import {
|
|
@@ -31,24 +31,24 @@ import {
|
|
|
31
31
|
isDecisionStopped,
|
|
32
32
|
isWaitForAnswerResponse,
|
|
33
33
|
withdrawQuestion
|
|
34
|
-
} from "../chunk-
|
|
34
|
+
} from "../chunk-AKCE6ZRF.js";
|
|
35
35
|
import {
|
|
36
36
|
writeDegraded
|
|
37
|
-
} from "../chunk-
|
|
37
|
+
} from "../chunk-UXKXGRKG.js";
|
|
38
38
|
import "../chunk-POFBE6ZY.js";
|
|
39
39
|
import "../chunk-TJMAXQ5Q.js";
|
|
40
40
|
import {
|
|
41
41
|
callMcpTool
|
|
42
|
-
} from "../chunk-
|
|
43
|
-
import "../chunk-
|
|
44
|
-
import "../chunk-
|
|
42
|
+
} from "../chunk-34EQOFMH.js";
|
|
43
|
+
import "../chunk-6UDK5TY6.js";
|
|
44
|
+
import "../chunk-4CW5EAOI.js";
|
|
45
45
|
import {
|
|
46
46
|
getMachineId
|
|
47
|
-
} from "../chunk-
|
|
47
|
+
} from "../chunk-DMU5E6HJ.js";
|
|
48
48
|
import "../chunk-7QLSKOSU.js";
|
|
49
49
|
import "../chunk-KZERVKTD.js";
|
|
50
50
|
import "../chunk-5Y2DY6X4.js";
|
|
51
|
-
import "../chunk-
|
|
51
|
+
import "../chunk-ZR7LIQKO.js";
|
|
52
52
|
import "../chunk-T7E75EKA.js";
|
|
53
53
|
import {
|
|
54
54
|
getApiKey,
|
|
@@ -5,31 +5,31 @@ import {
|
|
|
5
5
|
import {
|
|
6
6
|
defersToNativeMode,
|
|
7
7
|
reportMachineDenial
|
|
8
|
-
} from "../chunk-
|
|
8
|
+
} from "../chunk-FBTUF2PH.js";
|
|
9
9
|
import {
|
|
10
10
|
triggerAutoUpdate
|
|
11
|
-
} from "../chunk-
|
|
11
|
+
} from "../chunk-VI55VXDH.js";
|
|
12
12
|
import {
|
|
13
13
|
isGatingMoment,
|
|
14
14
|
recordKeylessMoment
|
|
15
15
|
} from "../chunk-7ITOAMCD.js";
|
|
16
16
|
import {
|
|
17
17
|
readHookInput
|
|
18
|
-
} from "../chunk-
|
|
18
|
+
} from "../chunk-E5JGQGLD.js";
|
|
19
19
|
import {
|
|
20
20
|
announceSubscriptionRequired,
|
|
21
21
|
denyReasonFrom,
|
|
22
22
|
isDeferAnswer
|
|
23
23
|
} from "../chunk-5OP5MQI7.js";
|
|
24
|
-
import "../chunk-
|
|
24
|
+
import "../chunk-SD6OLZJX.js";
|
|
25
25
|
import "../chunk-SGZJ5LYH.js";
|
|
26
|
-
import "../chunk-
|
|
26
|
+
import "../chunk-ZOKXZ3AS.js";
|
|
27
27
|
import "../chunk-DLEKCAQL.js";
|
|
28
28
|
import "../chunk-MYHG7PX2.js";
|
|
29
|
-
import "../chunk-
|
|
30
|
-
import "../chunk-
|
|
31
|
-
import "../chunk-
|
|
32
|
-
import "../chunk-
|
|
29
|
+
import "../chunk-YOYSXLUB.js";
|
|
30
|
+
import "../chunk-IEXWWAJY.js";
|
|
31
|
+
import "../chunk-YLJ26RR2.js";
|
|
32
|
+
import "../chunk-XH7UNEHO.js";
|
|
33
33
|
import "../chunk-URNXU3FO.js";
|
|
34
34
|
import "../chunk-UMMCHS6P.js";
|
|
35
35
|
import "../chunk-72WOCX22.js";
|
|
@@ -77,7 +77,7 @@ import {
|
|
|
77
77
|
toPolicyLookup,
|
|
78
78
|
toPolicyLookups,
|
|
79
79
|
userScope
|
|
80
|
-
} from "../chunk-
|
|
80
|
+
} from "../chunk-4DYHBXX4.js";
|
|
81
81
|
import {
|
|
82
82
|
DEFAULT_SESSION
|
|
83
83
|
} from "../chunk-N6IOSZOE.js";
|
|
@@ -95,21 +95,21 @@ import {
|
|
|
95
95
|
sendNotification,
|
|
96
96
|
unavailableQuestionUnlessSubscriptionRequired,
|
|
97
97
|
waitForQuestion
|
|
98
|
-
} from "../chunk-
|
|
98
|
+
} from "../chunk-AKCE6ZRF.js";
|
|
99
99
|
import {
|
|
100
100
|
exitAfterClientReports
|
|
101
|
-
} from "../chunk-
|
|
101
|
+
} from "../chunk-UXKXGRKG.js";
|
|
102
102
|
import "../chunk-POFBE6ZY.js";
|
|
103
103
|
import "../chunk-GMXKITVA.js";
|
|
104
104
|
import "../chunk-TJMAXQ5Q.js";
|
|
105
105
|
import {
|
|
106
106
|
SubscriptionRequiredError
|
|
107
|
-
} from "../chunk-
|
|
108
|
-
import "../chunk-
|
|
109
|
-
import "../chunk-
|
|
107
|
+
} from "../chunk-34EQOFMH.js";
|
|
108
|
+
import "../chunk-6UDK5TY6.js";
|
|
109
|
+
import "../chunk-4CW5EAOI.js";
|
|
110
110
|
import {
|
|
111
111
|
getMachineId
|
|
112
|
-
} from "../chunk-
|
|
112
|
+
} from "../chunk-DMU5E6HJ.js";
|
|
113
113
|
import "../chunk-7QLSKOSU.js";
|
|
114
114
|
import {
|
|
115
115
|
EXIT
|
|
@@ -117,7 +117,7 @@ import {
|
|
|
117
117
|
import "../chunk-5Y2DY6X4.js";
|
|
118
118
|
import {
|
|
119
119
|
canonicalJson
|
|
120
|
-
} from "../chunk-
|
|
120
|
+
} from "../chunk-ZR7LIQKO.js";
|
|
121
121
|
import {
|
|
122
122
|
writeFileAtomic
|
|
123
123
|
} from "../chunk-T7E75EKA.js";
|
|
@@ -764,7 +764,7 @@ var decidePreToolUse = async (input) => {
|
|
|
764
764
|
};
|
|
765
765
|
var repairCodexHoldsQuietly = async () => {
|
|
766
766
|
try {
|
|
767
|
-
const { repairCodexHolds } = await import("../reapply-
|
|
767
|
+
const { repairCodexHolds } = await import("../reapply-DYOQAVUP.js");
|
|
768
768
|
repairCodexHolds();
|
|
769
769
|
} catch {
|
|
770
770
|
return;
|
|
@@ -1,26 +1,26 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
reportEvent
|
|
4
|
-
} from "../chunk-
|
|
4
|
+
} from "../chunk-4DYHBXX4.js";
|
|
5
5
|
import "../chunk-N6IOSZOE.js";
|
|
6
6
|
import "../chunk-VFFHQC7W.js";
|
|
7
7
|
import {
|
|
8
8
|
askUser,
|
|
9
9
|
isDecisionStopped,
|
|
10
10
|
waitForAnswer
|
|
11
|
-
} from "../chunk-
|
|
12
|
-
import "../chunk-
|
|
11
|
+
} from "../chunk-AKCE6ZRF.js";
|
|
12
|
+
import "../chunk-UXKXGRKG.js";
|
|
13
13
|
import "../chunk-POFBE6ZY.js";
|
|
14
|
-
import "../chunk-
|
|
15
|
-
import "../chunk-
|
|
16
|
-
import "../chunk-
|
|
14
|
+
import "../chunk-34EQOFMH.js";
|
|
15
|
+
import "../chunk-6UDK5TY6.js";
|
|
16
|
+
import "../chunk-4CW5EAOI.js";
|
|
17
17
|
import {
|
|
18
18
|
getMachineId
|
|
19
|
-
} from "../chunk-
|
|
19
|
+
} from "../chunk-DMU5E6HJ.js";
|
|
20
20
|
import "../chunk-7QLSKOSU.js";
|
|
21
21
|
import "../chunk-KZERVKTD.js";
|
|
22
22
|
import "../chunk-5Y2DY6X4.js";
|
|
23
|
-
import "../chunk-
|
|
23
|
+
import "../chunk-ZR7LIQKO.js";
|
|
24
24
|
import "../chunk-T7E75EKA.js";
|
|
25
25
|
import {
|
|
26
26
|
getApiKey
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
printKeyCheck
|
|
4
|
-
} from "../chunk-
|
|
4
|
+
} from "../chunk-VUP5BMOD.js";
|
|
5
5
|
import {
|
|
6
6
|
connectDevice,
|
|
7
7
|
connectExistingApp,
|
|
8
8
|
printConnectInstructions
|
|
9
|
-
} from "../chunk-
|
|
9
|
+
} from "../chunk-4SJIPHR3.js";
|
|
10
10
|
import "../chunk-3EGEA4KH.js";
|
|
11
11
|
import "../chunk-QCGNGEGE.js";
|
|
12
12
|
import {
|
|
@@ -21,12 +21,12 @@ import {
|
|
|
21
21
|
import {
|
|
22
22
|
readKeySource
|
|
23
23
|
} from "../chunk-TJMAXQ5Q.js";
|
|
24
|
-
import "../chunk-
|
|
24
|
+
import "../chunk-34EQOFMH.js";
|
|
25
25
|
import {
|
|
26
26
|
checkApiKey
|
|
27
|
-
} from "../chunk-
|
|
28
|
-
import "../chunk-
|
|
29
|
-
import "../chunk-
|
|
27
|
+
} from "../chunk-6UDK5TY6.js";
|
|
28
|
+
import "../chunk-4CW5EAOI.js";
|
|
29
|
+
import "../chunk-DMU5E6HJ.js";
|
|
30
30
|
import {
|
|
31
31
|
UsageError
|
|
32
32
|
} from "../chunk-7QLSKOSU.js";
|
|
@@ -34,7 +34,7 @@ import {
|
|
|
34
34
|
EXIT
|
|
35
35
|
} from "../chunk-KZERVKTD.js";
|
|
36
36
|
import "../chunk-5Y2DY6X4.js";
|
|
37
|
-
import "../chunk-
|
|
37
|
+
import "../chunk-ZR7LIQKO.js";
|
|
38
38
|
import "../chunk-T7E75EKA.js";
|
|
39
39
|
import "../chunk-ON5JW2HP.js";
|
|
40
40
|
import "../chunk-35X5UDML.js";
|
|
@@ -1,23 +1,22 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
inspectConfiguredManagedProviders
|
|
4
|
-
} from "../chunk-
|
|
5
|
-
import "../chunk-
|
|
4
|
+
} from "../chunk-CXYKQAL2.js";
|
|
5
|
+
import "../chunk-27A7L4DA.js";
|
|
6
6
|
import {
|
|
7
7
|
HEARTBEAT_INTERVAL_MS,
|
|
8
8
|
sendHeartbeat
|
|
9
|
-
} from "../chunk-
|
|
10
|
-
import "../chunk-
|
|
9
|
+
} from "../chunk-OLYTGVCC.js";
|
|
10
|
+
import "../chunk-EJXEHNB5.js";
|
|
11
11
|
import {
|
|
12
12
|
codexBinaryIsBroken,
|
|
13
|
-
detectLaunchableProviderCapabilities,
|
|
14
13
|
detectProviderLiveCapabilities,
|
|
15
14
|
hasSpawnProvider,
|
|
16
15
|
launchAdvertisement,
|
|
17
16
|
launchableProviders,
|
|
18
17
|
resolveControlPolicy,
|
|
19
|
-
|
|
20
|
-
} from "../chunk-
|
|
18
|
+
trackProviderInventory
|
|
19
|
+
} from "../chunk-SOUJG6UY.js";
|
|
21
20
|
import "../chunk-RIVNNBEK.js";
|
|
22
21
|
import {
|
|
23
22
|
SESSION_REAP_SILENCE_MS,
|
|
@@ -26,15 +25,15 @@ import {
|
|
|
26
25
|
listProcessProofs,
|
|
27
26
|
ownsLiveProcess,
|
|
28
27
|
silentSpawnedProofs
|
|
29
|
-
} from "../chunk-
|
|
28
|
+
} from "../chunk-6SS74UHS.js";
|
|
30
29
|
import {
|
|
31
30
|
startRegisteredTranscripts
|
|
32
|
-
} from "../chunk-
|
|
31
|
+
} from "../chunk-SD6OLZJX.js";
|
|
33
32
|
import "../chunk-SGZJ5LYH.js";
|
|
34
|
-
import "../chunk-
|
|
33
|
+
import "../chunk-ZOKXZ3AS.js";
|
|
35
34
|
import "../chunk-DLEKCAQL.js";
|
|
36
35
|
import "../chunk-MYHG7PX2.js";
|
|
37
|
-
import "../chunk-
|
|
36
|
+
import "../chunk-YOYSXLUB.js";
|
|
38
37
|
import {
|
|
39
38
|
DAEMON_LEASE_RENEW_INTERVAL_MS,
|
|
40
39
|
acquireDaemonLease,
|
|
@@ -51,9 +50,9 @@ import {
|
|
|
51
50
|
requestDaemonHandoff,
|
|
52
51
|
stopDaemonRunning,
|
|
53
52
|
writeDaemonNeedsLogin
|
|
54
|
-
} from "../chunk-
|
|
55
|
-
import "../chunk-
|
|
56
|
-
import "../chunk-
|
|
53
|
+
} from "../chunk-IEXWWAJY.js";
|
|
54
|
+
import "../chunk-YLJ26RR2.js";
|
|
55
|
+
import "../chunk-XH7UNEHO.js";
|
|
57
56
|
import "../chunk-URNXU3FO.js";
|
|
58
57
|
import "../chunk-UMMCHS6P.js";
|
|
59
58
|
import "../chunk-72WOCX22.js";
|
|
@@ -74,7 +73,7 @@ import {
|
|
|
74
73
|
} from "../chunk-TJMAXQ5Q.js";
|
|
75
74
|
import {
|
|
76
75
|
getMachineId
|
|
77
|
-
} from "../chunk-
|
|
76
|
+
} from "../chunk-DMU5E6HJ.js";
|
|
78
77
|
import "../chunk-7QLSKOSU.js";
|
|
79
78
|
import {
|
|
80
79
|
EXIT
|
|
@@ -82,7 +81,7 @@ import {
|
|
|
82
81
|
import "../chunk-5Y2DY6X4.js";
|
|
83
82
|
import {
|
|
84
83
|
resolveBinary
|
|
85
|
-
} from "../chunk-
|
|
84
|
+
} from "../chunk-ZR7LIQKO.js";
|
|
86
85
|
import "../chunk-T7E75EKA.js";
|
|
87
86
|
import {
|
|
88
87
|
getApiKey,
|
|
@@ -360,7 +359,13 @@ var runSpawnDaemon = async () => {
|
|
|
360
359
|
const baseUrl = getBaseUrl();
|
|
361
360
|
const pusharyBin = resolveBinary("pushary") ?? "pushary";
|
|
362
361
|
const configuredProviders = inspectConfiguredManagedProviders();
|
|
363
|
-
let
|
|
362
|
+
let describedProviders;
|
|
363
|
+
const inventory = await trackProviderInventory(configuredProviders, (next) => {
|
|
364
|
+
const description = describeLaunchableProviders(next.capabilities);
|
|
365
|
+
if (description !== describedProviders) log(`agents changed: ${description}`);
|
|
366
|
+
describedProviders = description;
|
|
367
|
+
});
|
|
368
|
+
describedProviders = describeLaunchableProviders(inventory.current.capabilities);
|
|
364
369
|
const siblingEntry = process.argv[1] ? join(dirname(process.argv[1]), "pushary.js") : "";
|
|
365
370
|
const codexBridgeEntry = process.argv[1] ? join(dirname(process.argv[1]), "pushary-codex-bridge.js") : "pushary-codex-bridge";
|
|
366
371
|
const geminiBridgeEntry = process.argv[1] ? join(dirname(process.argv[1]), "pushary-gemini-bridge.js") : "pushary-gemini-bridge";
|
|
@@ -370,21 +375,25 @@ var runSpawnDaemon = async () => {
|
|
|
370
375
|
try {
|
|
371
376
|
handoff = await requestDaemonHandoff(existing);
|
|
372
377
|
} catch (err) {
|
|
378
|
+
inventory.stop();
|
|
373
379
|
stderr(`[pushary] daemon could not request a handoff: ${err instanceof Error ? err.message : String(err)}
|
|
374
380
|
`);
|
|
375
381
|
return 1;
|
|
376
382
|
}
|
|
377
383
|
if (existing.pid !== null && handoff.pid === existing.pid && handoff.processAlive === true) {
|
|
384
|
+
inventory.stop();
|
|
378
385
|
stderr("[pushary] daemon could not replace the existing process; run `pushary doctor` for details\n");
|
|
379
386
|
return 1;
|
|
380
387
|
}
|
|
381
388
|
const lifecycle = acquireDaemonLease({ machineId });
|
|
382
389
|
if (lifecycle.kind === "already-running") {
|
|
390
|
+
inventory.stop();
|
|
383
391
|
writeHuman(`[pushary] daemon already online as pid ${lifecycle.status.pid ?? "unknown"}
|
|
384
392
|
`);
|
|
385
393
|
return 0;
|
|
386
394
|
}
|
|
387
395
|
if (lifecycle.kind === "unavailable") {
|
|
396
|
+
inventory.stop();
|
|
388
397
|
stderr(`[pushary] daemon could not acquire its local lease: ${lifecycle.detail}
|
|
389
398
|
`);
|
|
390
399
|
return 1;
|
|
@@ -419,7 +428,7 @@ var runSpawnDaemon = async () => {
|
|
|
419
428
|
if (!directory.ok) return Promise.reject(new Error(directory.message));
|
|
420
429
|
const agent = normalizeLaunchAgent(req.agent);
|
|
421
430
|
if (!agent) return Promise.reject(new Error(`Unsupported agent provider: ${req.agent}`));
|
|
422
|
-
const providerBin =
|
|
431
|
+
const providerBin = inventory.current.binaries[agent];
|
|
423
432
|
const unavailable = providerLaunchError(req.agent, {
|
|
424
433
|
claude: agent === "claude" ? providerBin ?? null : null,
|
|
425
434
|
codex: agent === "codex" ? providerBin ?? null : null,
|
|
@@ -723,19 +732,13 @@ var runSpawnDaemon = async () => {
|
|
|
723
732
|
if (leaseRenewal) clearInterval(leaseRenewal);
|
|
724
733
|
if (sessionReaper) clearInterval(sessionReaper);
|
|
725
734
|
inflight?.abort();
|
|
735
|
+
inventory.stop();
|
|
726
736
|
try {
|
|
727
737
|
daemonLease.release();
|
|
728
738
|
} catch (err) {
|
|
729
739
|
log(`daemon could not release its local lease: ${errMsg(err)}`);
|
|
730
740
|
}
|
|
731
741
|
};
|
|
732
|
-
const refreshProviderCapabilities = () => {
|
|
733
|
-
const detected = detectLaunchableProviderCapabilities(configuredProviders);
|
|
734
|
-
const before = describeLaunchableProviders(providerCapabilities);
|
|
735
|
-
const after = describeLaunchableProviders(detected);
|
|
736
|
-
providerCapabilities = detected;
|
|
737
|
-
if (after !== before) log(`agents changed: ${after}`);
|
|
738
|
-
};
|
|
739
742
|
const beat = async () => {
|
|
740
743
|
if (stopped) return;
|
|
741
744
|
if (!daemonLease.isOwner()) {
|
|
@@ -745,7 +748,7 @@ var runSpawnDaemon = async () => {
|
|
|
745
748
|
const result = await sendHeartbeat(apiKey, {
|
|
746
749
|
repoKey: basename(process.cwd()),
|
|
747
750
|
capabilities: [
|
|
748
|
-
...launchAdvertisement(
|
|
751
|
+
...launchAdvertisement(inventory.current.capabilities),
|
|
749
752
|
STOP_CAPABILITY,
|
|
750
753
|
STOP_ACK_CAPABILITY
|
|
751
754
|
]
|
|
@@ -763,7 +766,7 @@ var runSpawnDaemon = async () => {
|
|
|
763
766
|
};
|
|
764
767
|
void beat();
|
|
765
768
|
heartbeat = setInterval(() => {
|
|
766
|
-
|
|
769
|
+
void inventory.refresh().catch((err) => log(`agent discovery failed: ${errMsg(err)}`));
|
|
767
770
|
void beat();
|
|
768
771
|
}, HEARTBEAT_INTERVAL_MS);
|
|
769
772
|
leaseRenewal = setInterval(() => daemonLease.renew(), DAEMON_LEASE_RENEW_INTERVAL_MS);
|
|
@@ -771,7 +774,7 @@ var runSpawnDaemon = async () => {
|
|
|
771
774
|
if (daemonLease.shouldYield()) finish();
|
|
772
775
|
}, VERSION_CHECK_INTERVAL_MS);
|
|
773
776
|
sessionReaper = setInterval(() => void reapSilentSessions(), SESSION_REAP_INTERVAL_MS);
|
|
774
|
-
log(hasSpawnProvider(
|
|
777
|
+
log(hasSpawnProvider(inventory.current.capabilities) ? `daemon online (pid ${process.pid}): this machine (${machineId}) can now be sent a new session from your phone. Ctrl-C to stop.` : `daemon online (pid ${process.pid}): no supported Claude, Codex, or Gemini CLI was found, so phone-start is unavailable. Ctrl-C to stop.`);
|
|
775
778
|
timer = setTimeout(tick, 0);
|
|
776
779
|
const signals = daemonSignals();
|
|
777
780
|
await new Promise((resolve) => {
|