@pushary/agent-hooks 0.93.0 → 0.94.0
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 +10 -0
- package/dist/bin/pushary-bell-hook.js +4 -4
- package/dist/bin/pushary-bell.js +5 -5
- package/dist/bin/pushary-claude.js +12 -12
- package/dist/bin/pushary-clean.js +11 -11
- package/dist/bin/pushary-codex-bridge.js +9 -9
- package/dist/bin/pushary-codex-hook.js +9 -9
- package/dist/bin/pushary-codex.js +7 -7
- package/dist/bin/pushary-connect.js +6 -6
- package/dist/bin/pushary-daemon.js +13 -13
- package/dist/bin/pushary-disconnect.js +5 -5
- package/dist/bin/pushary-doctor.js +16 -16
- package/dist/bin/pushary-elicitation-hook.js +3 -3
- package/dist/bin/pushary-gemini-bridge.js +9 -9
- package/dist/bin/pushary-gemini-hook.js +8 -8
- package/dist/bin/pushary-hook.js +10 -10
- package/dist/bin/pushary-login.js +7 -7
- 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 +10 -10
- package/dist/bin/pushary-permission-hook.js +10 -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 +11 -11
- package/dist/bin/pushary-setup.js +19 -19
- 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-transcripts.js +4 -4
- package/dist/bin/pushary-upgrade.js +12 -12
- package/dist/bin/pushary-wait.js +3 -3
- package/dist/bin/pushary.js +10 -0
- package/dist/{chunk-VHWCVD42.js → chunk-2ORRI66J.js} +1 -1
- package/dist/{chunk-TFN7ZCTI.js → chunk-36LR2LOT.js} +5 -5
- package/dist/{chunk-7FE2KABY.js → chunk-46P3VES5.js} +1 -1
- package/dist/{chunk-UAFQC35P.js → chunk-4PE2SQVM.js} +1 -1
- package/dist/{chunk-G5L3WVFV.js → chunk-5HGLZGI4.js} +24 -9
- package/dist/{chunk-OSALSIUF.js → chunk-6BIMJIRG.js} +1 -1
- package/dist/{chunk-UZNKVRLE.js → chunk-6WYL3XIP.js} +1 -1
- package/dist/{chunk-CELX75MW.js → chunk-BSEAOCCQ.js} +1 -1
- package/dist/{chunk-NZQTIDXN.js → chunk-FYOIW5RV.js} +3 -3
- package/dist/{chunk-6Y4IKMQT.js → chunk-HSAVPZ46.js} +3 -3
- package/dist/{chunk-72FWXLW2.js → chunk-NVPYRDCT.js} +1 -1
- package/dist/{chunk-KHTFHUL3.js → chunk-OB4RF2TF.js} +1 -1
- package/dist/{chunk-JW4KO5AF.js → chunk-ODL52O5V.js} +1 -1
- package/dist/{chunk-I463AEG3.js → chunk-OYNPLEXP.js} +1 -1
- package/dist/{chunk-T2PKGGDM.js → chunk-QGA2ZB4I.js} +1 -1
- package/dist/{chunk-HCLSTQ3N.js → chunk-QKNLW7H6.js} +7 -7
- package/dist/{chunk-5NAZ7SFS.js → chunk-RH3TM7TO.js} +1 -1
- package/dist/{chunk-UPCPR7QW.js → chunk-ROHFVGXM.js} +1 -1
- package/dist/{chunk-YUZYMAL7.js → chunk-RX75MRGC.js} +3 -3
- package/dist/{chunk-GKMQMSTB.js → chunk-TDUTNYAQ.js} +1 -1
- package/dist/{chunk-BXTJVM7O.js → chunk-UZFVNEEU.js} +6 -6
- package/dist/{chunk-Z6RFZKY4.js → chunk-WY4ALDYN.js} +1 -1
- package/dist/{chunk-QQSQWLFR.js → chunk-Y3UGCQQC.js} +1 -1
- package/dist/{chunk-N3TF3RQ2.js → chunk-Y6XXFXVB.js} +1 -1
- package/dist/{chunk-NXZYC3B3.js → chunk-YANV5TGK.js} +3 -3
- package/dist/{chunk-VNMKIJZB.js → chunk-Z6CP5ZZD.js} +3 -0
- package/dist/{chunk-WEDYCMHU.js → chunk-ZO2XG3CX.js} +1 -1
- package/dist/{chunk-TWVZHZM3.js → chunk-ZTJF6ANY.js} +2 -2
- package/dist/src/index.d.ts +2 -0
- package/dist/src/index.js +10 -10
- package/package.json +2 -2
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
readLedgerSummary
|
|
4
|
-
} from "../chunk-
|
|
4
|
+
} from "../chunk-2ORRI66J.js";
|
|
5
5
|
import {
|
|
6
6
|
exitOnHelpFlag
|
|
7
7
|
} from "../chunk-BVBEURWJ.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-Z6CP5ZZD.js";
|
|
15
15
|
|
|
16
16
|
// bin/pushary-stats.ts
|
|
17
17
|
exitOnHelpFlag("stats");
|
|
@@ -2,19 +2,19 @@
|
|
|
2
2
|
import {
|
|
3
3
|
describeLastSeen,
|
|
4
4
|
listMachines
|
|
5
|
-
} from "../chunk-
|
|
6
|
-
import "../chunk-
|
|
7
|
-
import "../chunk-
|
|
5
|
+
} from "../chunk-QGA2ZB4I.js";
|
|
6
|
+
import "../chunk-NVPYRDCT.js";
|
|
7
|
+
import "../chunk-Y6XXFXVB.js";
|
|
8
8
|
import {
|
|
9
9
|
describeReach,
|
|
10
10
|
fetchChannels,
|
|
11
11
|
reachVerdict
|
|
12
|
-
} from "../chunk-
|
|
12
|
+
} from "../chunk-ROHFVGXM.js";
|
|
13
13
|
import "../chunk-3EGEA4KH.js";
|
|
14
14
|
import {
|
|
15
15
|
checkApiKey,
|
|
16
16
|
describeKeyCheck
|
|
17
|
-
} from "../chunk-
|
|
17
|
+
} from "../chunk-UZFVNEEU.js";
|
|
18
18
|
import "../chunk-QCGNGEGE.js";
|
|
19
19
|
import {
|
|
20
20
|
createIo
|
|
@@ -29,7 +29,7 @@ import "../chunk-43GMYSS4.js";
|
|
|
29
29
|
import "../chunk-DINDL2CF.js";
|
|
30
30
|
import {
|
|
31
31
|
readKeySource
|
|
32
|
-
} from "../chunk-
|
|
32
|
+
} from "../chunk-6BIMJIRG.js";
|
|
33
33
|
import "../chunk-BC3VCZ3E.js";
|
|
34
34
|
import "../chunk-EYRGBYZG.js";
|
|
35
35
|
import "../chunk-SAF6HGAA.js";
|
|
@@ -39,10 +39,10 @@ import {
|
|
|
39
39
|
import {
|
|
40
40
|
EXIT
|
|
41
41
|
} from "../chunk-KZERVKTD.js";
|
|
42
|
-
import "../chunk-
|
|
42
|
+
import "../chunk-ODL52O5V.js";
|
|
43
43
|
import "../chunk-4LL6LG5X.js";
|
|
44
44
|
import "../chunk-2UMNXADU.js";
|
|
45
|
-
import "../chunk-
|
|
45
|
+
import "../chunk-Z6CP5ZZD.js";
|
|
46
46
|
|
|
47
47
|
// src/status.ts
|
|
48
48
|
var keySourceLine = (source) => {
|
|
@@ -6,20 +6,20 @@ import {
|
|
|
6
6
|
handleStop,
|
|
7
7
|
handleSubagentStop,
|
|
8
8
|
isSubagentStop
|
|
9
|
-
} from "../chunk-
|
|
9
|
+
} from "../chunk-5HGLZGI4.js";
|
|
10
10
|
import "../chunk-RER3FRTD.js";
|
|
11
|
-
import "../chunk-
|
|
12
|
-
import "../chunk-
|
|
13
|
-
import "../chunk-
|
|
14
|
-
import "../chunk-
|
|
11
|
+
import "../chunk-4PE2SQVM.js";
|
|
12
|
+
import "../chunk-Y3UGCQQC.js";
|
|
13
|
+
import "../chunk-NVPYRDCT.js";
|
|
14
|
+
import "../chunk-Y6XXFXVB.js";
|
|
15
15
|
import "../chunk-EYRGBYZG.js";
|
|
16
16
|
import "../chunk-SAF6HGAA.js";
|
|
17
17
|
import "../chunk-7QLSKOSU.js";
|
|
18
18
|
import "../chunk-KZERVKTD.js";
|
|
19
|
-
import "../chunk-
|
|
19
|
+
import "../chunk-ODL52O5V.js";
|
|
20
20
|
import "../chunk-4LL6LG5X.js";
|
|
21
21
|
import "../chunk-2UMNXADU.js";
|
|
22
|
-
import "../chunk-
|
|
22
|
+
import "../chunk-Z6CP5ZZD.js";
|
|
23
23
|
|
|
24
24
|
// bin/pushary-stop-hook.ts
|
|
25
25
|
var main = async () => {
|
|
@@ -4,20 +4,20 @@ import {
|
|
|
4
4
|
} from "../chunk-6CUUA7HO.js";
|
|
5
5
|
import {
|
|
6
6
|
handleStopFailure
|
|
7
|
-
} from "../chunk-
|
|
7
|
+
} from "../chunk-5HGLZGI4.js";
|
|
8
8
|
import "../chunk-RER3FRTD.js";
|
|
9
|
-
import "../chunk-
|
|
10
|
-
import "../chunk-
|
|
11
|
-
import "../chunk-
|
|
12
|
-
import "../chunk-
|
|
9
|
+
import "../chunk-4PE2SQVM.js";
|
|
10
|
+
import "../chunk-Y3UGCQQC.js";
|
|
11
|
+
import "../chunk-NVPYRDCT.js";
|
|
12
|
+
import "../chunk-Y6XXFXVB.js";
|
|
13
13
|
import "../chunk-EYRGBYZG.js";
|
|
14
14
|
import "../chunk-SAF6HGAA.js";
|
|
15
15
|
import "../chunk-7QLSKOSU.js";
|
|
16
16
|
import "../chunk-KZERVKTD.js";
|
|
17
|
-
import "../chunk-
|
|
17
|
+
import "../chunk-ODL52O5V.js";
|
|
18
18
|
import "../chunk-4LL6LG5X.js";
|
|
19
19
|
import "../chunk-2UMNXADU.js";
|
|
20
|
-
import "../chunk-
|
|
20
|
+
import "../chunk-Z6CP5ZZD.js";
|
|
21
21
|
|
|
22
22
|
// bin/pushary-stopfailure-hook.ts
|
|
23
23
|
var main = async () => {
|
|
@@ -6,19 +6,19 @@ import {
|
|
|
6
6
|
} from "../chunk-YKLCWWEI.js";
|
|
7
7
|
import {
|
|
8
8
|
transcriptsEnabled
|
|
9
|
-
} from "../chunk-
|
|
9
|
+
} from "../chunk-6WYL3XIP.js";
|
|
10
10
|
import {
|
|
11
11
|
exitOnHelpFlag
|
|
12
12
|
} from "../chunk-BVBEURWJ.js";
|
|
13
13
|
import "../chunk-43GMYSS4.js";
|
|
14
14
|
import "../chunk-DINDL2CF.js";
|
|
15
|
-
import "../chunk-
|
|
15
|
+
import "../chunk-6BIMJIRG.js";
|
|
16
16
|
import "../chunk-BC3VCZ3E.js";
|
|
17
17
|
import "../chunk-KZERVKTD.js";
|
|
18
|
-
import "../chunk-
|
|
18
|
+
import "../chunk-ODL52O5V.js";
|
|
19
19
|
import "../chunk-4LL6LG5X.js";
|
|
20
20
|
import "../chunk-2UMNXADU.js";
|
|
21
|
-
import "../chunk-
|
|
21
|
+
import "../chunk-Z6CP5ZZD.js";
|
|
22
22
|
|
|
23
23
|
// bin/pushary-transcripts.ts
|
|
24
24
|
exitOnHelpFlag("transcripts");
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
3
|
reapplyAllAgents
|
|
4
|
-
} from "../chunk-
|
|
5
|
-
import "../chunk-
|
|
4
|
+
} from "../chunk-36LR2LOT.js";
|
|
5
|
+
import "../chunk-ZO2XG3CX.js";
|
|
6
6
|
import {
|
|
7
7
|
waitForMachineReadiness
|
|
8
|
-
} from "../chunk-
|
|
9
|
-
import "../chunk-
|
|
10
|
-
import "../chunk-
|
|
8
|
+
} from "../chunk-QGA2ZB4I.js";
|
|
9
|
+
import "../chunk-HSAVPZ46.js";
|
|
10
|
+
import "../chunk-RX75MRGC.js";
|
|
11
11
|
import "../chunk-EZIEXHYM.js";
|
|
12
12
|
import {
|
|
13
13
|
daemonHasRemoteProof,
|
|
@@ -19,7 +19,7 @@ import {
|
|
|
19
19
|
replaceDaemonService,
|
|
20
20
|
stopDaemonService,
|
|
21
21
|
waitForDaemonRemoteProof
|
|
22
|
-
} from "../chunk-
|
|
22
|
+
} from "../chunk-ZTJF6ANY.js";
|
|
23
23
|
import {
|
|
24
24
|
detectProviderLiveCapabilities,
|
|
25
25
|
hasSpawnProvider,
|
|
@@ -33,15 +33,15 @@ import {
|
|
|
33
33
|
npmErrorMessage,
|
|
34
34
|
resolveGlobalBinary
|
|
35
35
|
} from "../chunk-L4ZCFMWW.js";
|
|
36
|
-
import "../chunk-
|
|
37
|
-
import "../chunk-
|
|
36
|
+
import "../chunk-Y3UGCQQC.js";
|
|
37
|
+
import "../chunk-NVPYRDCT.js";
|
|
38
38
|
import {
|
|
39
39
|
claudeJson,
|
|
40
40
|
codexConfigToml,
|
|
41
41
|
cursorPluginDir,
|
|
42
42
|
geminiSettings,
|
|
43
43
|
vscodePluginDir
|
|
44
|
-
} from "../chunk-
|
|
44
|
+
} from "../chunk-Y6XXFXVB.js";
|
|
45
45
|
import {
|
|
46
46
|
exitOnHelpFlag
|
|
47
47
|
} from "../chunk-BVBEURWJ.js";
|
|
@@ -51,15 +51,15 @@ import {
|
|
|
51
51
|
} from "../chunk-DINDL2CF.js";
|
|
52
52
|
import {
|
|
53
53
|
readControlMode
|
|
54
|
-
} from "../chunk-
|
|
54
|
+
} from "../chunk-6BIMJIRG.js";
|
|
55
55
|
import "../chunk-BC3VCZ3E.js";
|
|
56
56
|
import "../chunk-KZERVKTD.js";
|
|
57
|
-
import "../chunk-
|
|
57
|
+
import "../chunk-ODL52O5V.js";
|
|
58
58
|
import "../chunk-4LL6LG5X.js";
|
|
59
59
|
import {
|
|
60
60
|
getApiKey
|
|
61
61
|
} from "../chunk-2UMNXADU.js";
|
|
62
|
-
import "../chunk-
|
|
62
|
+
import "../chunk-Z6CP5ZZD.js";
|
|
63
63
|
|
|
64
64
|
// bin/pushary-upgrade.ts
|
|
65
65
|
import { existsSync } from "fs";
|
package/dist/bin/pushary-wait.js
CHANGED
|
@@ -4,8 +4,8 @@ import {
|
|
|
4
4
|
} from "../chunk-IIENZE2J.js";
|
|
5
5
|
import {
|
|
6
6
|
exitOnFailedResponse
|
|
7
|
-
} from "../chunk-
|
|
8
|
-
import "../chunk-
|
|
7
|
+
} from "../chunk-WY4ALDYN.js";
|
|
8
|
+
import "../chunk-UZFVNEEU.js";
|
|
9
9
|
import {
|
|
10
10
|
createIo
|
|
11
11
|
} from "../chunk-5RUIFDTP.js";
|
|
@@ -28,7 +28,7 @@ import {
|
|
|
28
28
|
getApiKey,
|
|
29
29
|
getBaseUrl
|
|
30
30
|
} from "../chunk-2UMNXADU.js";
|
|
31
|
-
import "../chunk-
|
|
31
|
+
import "../chunk-Z6CP5ZZD.js";
|
|
32
32
|
|
|
33
33
|
// bin/pushary-wait.ts
|
|
34
34
|
exitOnHelpFlag("wait");
|
package/dist/bin/pushary.js
CHANGED
|
@@ -15,6 +15,12 @@ import {
|
|
|
15
15
|
EXIT
|
|
16
16
|
} from "../chunk-KZERVKTD.js";
|
|
17
17
|
|
|
18
|
+
// src/cli/runtime.ts
|
|
19
|
+
var supportsRuntime = (version) => {
|
|
20
|
+
const [major, minor] = version.split(".").map(Number);
|
|
21
|
+
return major >= 24 || major === 23 && minor >= 5 || major === 22 && minor >= 13 || major === 20 && minor >= 17;
|
|
22
|
+
};
|
|
23
|
+
|
|
18
24
|
// bin/pushary.ts
|
|
19
25
|
var LOADERS = {
|
|
20
26
|
setup: () => import("./pushary-setup.js"),
|
|
@@ -36,6 +42,10 @@ var LOADERS = {
|
|
|
36
42
|
hook: () => import("./pushary-hook.js"),
|
|
37
43
|
transcripts: () => import("./pushary-transcripts.js")
|
|
38
44
|
};
|
|
45
|
+
if (!supportsRuntime(process.versions.node)) {
|
|
46
|
+
process.stderr.write("Pushary requires Node 20.17+, 22.13+, or 23.5+. Upgrade to a current Node LTS and retry.\n");
|
|
47
|
+
process.exit(EXIT.USAGE);
|
|
48
|
+
}
|
|
39
49
|
installProxyDispatcher();
|
|
40
50
|
var argv = process.argv.slice(2);
|
|
41
51
|
var command = argv[0] ?? "";
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import {
|
|
2
2
|
detectClaudeVersion
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-ZO2XG3CX.js";
|
|
4
4
|
import {
|
|
5
5
|
claudeWired,
|
|
6
6
|
codexWired,
|
|
7
7
|
geminiWired
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-HSAVPZ46.js";
|
|
9
9
|
import {
|
|
10
10
|
CLAUDE_HOOK_EVENTS,
|
|
11
11
|
GEMINI_HOOK_BINARY,
|
|
@@ -19,7 +19,7 @@ import {
|
|
|
19
19
|
needsReregistration,
|
|
20
20
|
registrationSignatures,
|
|
21
21
|
supportedClaudeEvents
|
|
22
|
-
} from "./chunk-
|
|
22
|
+
} from "./chunk-RX75MRGC.js";
|
|
23
23
|
import {
|
|
24
24
|
guardBinary
|
|
25
25
|
} from "./chunk-EZIEXHYM.js";
|
|
@@ -38,14 +38,14 @@ import {
|
|
|
38
38
|
codexHooksJson,
|
|
39
39
|
hasCodexHooks,
|
|
40
40
|
vscodePluginMcp
|
|
41
|
-
} from "./chunk-
|
|
41
|
+
} from "./chunk-Y6XXFXVB.js";
|
|
42
42
|
import {
|
|
43
43
|
readJsonSafe,
|
|
44
44
|
writeJsonAtomic
|
|
45
45
|
} from "./chunk-4LL6LG5X.js";
|
|
46
46
|
import {
|
|
47
47
|
HOOK_LOCATOR_BINARY
|
|
48
|
-
} from "./chunk-
|
|
48
|
+
} from "./chunk-Z6CP5ZZD.js";
|
|
49
49
|
|
|
50
50
|
// src/reapply.ts
|
|
51
51
|
import { join } from "path";
|
|
@@ -34,20 +34,20 @@ import {
|
|
|
34
34
|
summarizeStop,
|
|
35
35
|
taskTitleFrom,
|
|
36
36
|
toolResultErrorText
|
|
37
|
-
} from "./chunk-
|
|
37
|
+
} from "./chunk-4PE2SQVM.js";
|
|
38
38
|
import {
|
|
39
39
|
NOTIFICATION_PUSH_TYPES,
|
|
40
40
|
POSTTOOLUSE_MIRROR_ONLY_TOOLS
|
|
41
|
-
} from "./chunk-
|
|
41
|
+
} from "./chunk-Y3UGCQQC.js";
|
|
42
42
|
import {
|
|
43
43
|
getMachineId
|
|
44
|
-
} from "./chunk-
|
|
44
|
+
} from "./chunk-NVPYRDCT.js";
|
|
45
45
|
import {
|
|
46
46
|
withRetry
|
|
47
47
|
} from "./chunk-EYRGBYZG.js";
|
|
48
48
|
import {
|
|
49
49
|
reportedInstallSource
|
|
50
|
-
} from "./chunk-
|
|
50
|
+
} from "./chunk-ODL52O5V.js";
|
|
51
51
|
import {
|
|
52
52
|
getApiKey,
|
|
53
53
|
getBaseUrl
|
|
@@ -63,7 +63,7 @@ import {
|
|
|
63
63
|
pendingCommandEvents,
|
|
64
64
|
resolveAutoResolveOrigin,
|
|
65
65
|
resolvePolicy
|
|
66
|
-
} from "./chunk-
|
|
66
|
+
} from "./chunk-Z6CP5ZZD.js";
|
|
67
67
|
|
|
68
68
|
// src/policy.ts
|
|
69
69
|
import { createHash } from "crypto";
|
|
@@ -292,6 +292,7 @@ var repoKeyFor = (cwd) => {
|
|
|
292
292
|
|
|
293
293
|
// src/usage.ts
|
|
294
294
|
import { closeSync, mkdirSync, openSync, readFileSync as readFileSync3, readSync, statSync as statSync2, writeFileSync as writeFileSync2 } from "fs";
|
|
295
|
+
import { createHash as createHash2 } from "crypto";
|
|
295
296
|
import { join as join3 } from "path";
|
|
296
297
|
import { tmpdir as tmpdir2 } from "os";
|
|
297
298
|
var DEFAULT_PRICES = [
|
|
@@ -431,10 +432,12 @@ var readLastUserPrompt = (transcriptPath) => {
|
|
|
431
432
|
};
|
|
432
433
|
var readNewUsage = (transcriptPath, sessionId) => {
|
|
433
434
|
try {
|
|
434
|
-
const
|
|
435
|
+
const file = statSync2(transcriptPath);
|
|
436
|
+
const size = file.size;
|
|
435
437
|
const path = stateFile(sessionId);
|
|
436
438
|
let state = readState(path);
|
|
437
439
|
if (size < state.offset) state = { ...emptyState(), recentIds: state.recentIds };
|
|
440
|
+
const startOffset = state.offset;
|
|
438
441
|
let deltaUsd = 0;
|
|
439
442
|
if (size > state.offset) {
|
|
440
443
|
const buffer = readRange(transcriptPath, state.offset, size);
|
|
@@ -451,6 +454,18 @@ var readNewUsage = (transcriptPath, sessionId) => {
|
|
|
451
454
|
writeFileSync2(path, JSON.stringify(state), "utf-8");
|
|
452
455
|
if (state.tokensIn === 0 && state.tokensOut === 0) return null;
|
|
453
456
|
return {
|
|
457
|
+
// Identical cursor-range reports share an identity across transport retries.
|
|
458
|
+
// Native message identity distinguishes an in-place rotation of the range.
|
|
459
|
+
// This does not serialize readers of different, potentially overlapping ranges.
|
|
460
|
+
eventId: createHash2("sha256").update(JSON.stringify([
|
|
461
|
+
sessionId,
|
|
462
|
+
file.dev,
|
|
463
|
+
file.ino,
|
|
464
|
+
startOffset,
|
|
465
|
+
state.offset,
|
|
466
|
+
state.recentIds.at(-1)
|
|
467
|
+
])).digest("hex").slice(0, 32),
|
|
468
|
+
reportedAt: Date.now(),
|
|
454
469
|
tokensIn: state.tokensIn,
|
|
455
470
|
tokensOut: state.tokensOut,
|
|
456
471
|
costUsd: state.costUsd,
|
|
@@ -529,10 +544,10 @@ var phoneDrivenEnv = (base) => ({
|
|
|
529
544
|
// src/throttle.ts
|
|
530
545
|
import { join as join4 } from "path";
|
|
531
546
|
import { tmpdir as tmpdir3 } from "os";
|
|
532
|
-
import { createHash as
|
|
547
|
+
import { createHash as createHash3 } from "crypto";
|
|
533
548
|
import { existsSync as existsSync3, mkdirSync as mkdirSync2, statSync as statSync3, writeFileSync as writeFileSync3 } from "fs";
|
|
534
549
|
var THROTTLE_DIR = join4(tmpdir3(), "pushary-throttle");
|
|
535
|
-
var markerPath = (key) => join4(THROTTLE_DIR,
|
|
550
|
+
var markerPath = (key) => join4(THROTTLE_DIR, createHash3("sha256").update(key).digest("hex").slice(0, 16));
|
|
536
551
|
var throttlePass = (key, windowMs) => {
|
|
537
552
|
try {
|
|
538
553
|
const path = markerPath(key);
|
|
@@ -767,7 +782,7 @@ var reportEvent = async (event, options = {}) => {
|
|
|
767
782
|
}),
|
|
768
783
|
signal: AbortSignal.any([AbortSignal.timeout(timeoutMs), ...options.signal ? [options.signal] : []])
|
|
769
784
|
});
|
|
770
|
-
if (options.requireOk && !res.ok) throw new Error(`/api/agent/event rejected (${res.status})`);
|
|
785
|
+
if ((options.requireOk || event.usage !== void 0) && !res.ok) throw new Error(`/api/agent/event rejected (${res.status})`);
|
|
771
786
|
try {
|
|
772
787
|
const result = await res.json();
|
|
773
788
|
const withoutPending = () => ({ ...result, pendingCommand: void 0, pendingCommandId: void 0 });
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import {
|
|
2
2
|
isBridgeLocator
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-YANV5TGK.js";
|
|
4
4
|
import {
|
|
5
5
|
pusharyHookExecutable
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-HSAVPZ46.js";
|
|
7
7
|
import {
|
|
8
8
|
BELL_HOOK_BINARY
|
|
9
9
|
} from "./chunk-DSTLA2TC.js";
|
|
@@ -18,7 +18,7 @@ import {
|
|
|
18
18
|
} from "./chunk-7QLSKOSU.js";
|
|
19
19
|
import {
|
|
20
20
|
isValidApiKey
|
|
21
|
-
} from "./chunk-
|
|
21
|
+
} from "./chunk-Z6CP5ZZD.js";
|
|
22
22
|
|
|
23
23
|
// src/hermes-config.ts
|
|
24
24
|
import { execFileSync } from "child_process";
|
|
@@ -2,15 +2,15 @@ import {
|
|
|
2
2
|
CLAUDE_HOOK_EVENTS,
|
|
3
3
|
GEMINI_HOOK_EVENTS,
|
|
4
4
|
hasGeminiHooks
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-RX75MRGC.js";
|
|
6
6
|
import {
|
|
7
7
|
CODEX_HOOK_EVENTS,
|
|
8
8
|
hasCodexHooks
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-Y6XXFXVB.js";
|
|
10
10
|
import {
|
|
11
11
|
CURSOR_GATE_EVENTS,
|
|
12
12
|
HOOK_LOCATOR_BINARY
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-Z6CP5ZZD.js";
|
|
14
14
|
|
|
15
15
|
// src/diagnostics/wiring.ts
|
|
16
16
|
var record = (value) => value && typeof value === "object" && !Array.isArray(value) ? value : null;
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import {
|
|
2
2
|
defersToNativeMode
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-OYNPLEXP.js";
|
|
4
4
|
import {
|
|
5
5
|
isGatingMoment,
|
|
6
6
|
recordKeylessMoment
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-2ORRI66J.js";
|
|
8
8
|
import {
|
|
9
9
|
denyReasonFrom,
|
|
10
10
|
isDeferAnswer
|
|
@@ -19,7 +19,7 @@ import {
|
|
|
19
19
|
reportEvent,
|
|
20
20
|
settleQuestionsForToolUse,
|
|
21
21
|
throttlePass
|
|
22
|
-
} from "./chunk-
|
|
22
|
+
} from "./chunk-5HGLZGI4.js";
|
|
23
23
|
import {
|
|
24
24
|
DEFAULT_SESSION,
|
|
25
25
|
askUser,
|
|
@@ -37,14 +37,14 @@ import {
|
|
|
37
37
|
describeToolCall,
|
|
38
38
|
permissionDeniedAction,
|
|
39
39
|
scopePathFor
|
|
40
|
-
} from "./chunk-
|
|
40
|
+
} from "./chunk-4PE2SQVM.js";
|
|
41
41
|
import {
|
|
42
42
|
PRETOOLUSE_HANDLED_TOOLS,
|
|
43
43
|
PRETOOLUSE_PHONE_ANSWERED_TOOLS
|
|
44
|
-
} from "./chunk-
|
|
44
|
+
} from "./chunk-Y3UGCQQC.js";
|
|
45
45
|
import {
|
|
46
46
|
getMachineId
|
|
47
|
-
} from "./chunk-
|
|
47
|
+
} from "./chunk-NVPYRDCT.js";
|
|
48
48
|
import {
|
|
49
49
|
getApiKey,
|
|
50
50
|
getBaseUrl
|
|
@@ -61,7 +61,7 @@ import {
|
|
|
61
61
|
parseAgentQuestions,
|
|
62
62
|
resolveGate,
|
|
63
63
|
stoppedOutput
|
|
64
|
-
} from "./chunk-
|
|
64
|
+
} from "./chunk-Z6CP5ZZD.js";
|
|
65
65
|
|
|
66
66
|
// src/decision-episode.ts
|
|
67
67
|
var EPISODE_PATH = "/api/agent/decision-episode";
|
|
@@ -6,14 +6,14 @@ import {
|
|
|
6
6
|
POSTTOOLUSE_MIRRORED_TOOLS,
|
|
7
7
|
PRETOOLUSE_GATED_TOOLS,
|
|
8
8
|
PRETOOLUSE_PHONE_ANSWERED_TOOLS
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-Y3UGCQQC.js";
|
|
10
10
|
import {
|
|
11
11
|
isProtectedByScope
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-Y6XXFXVB.js";
|
|
13
13
|
import {
|
|
14
14
|
HOOK_BUDGETS,
|
|
15
15
|
HOOK_LOCATOR_BINARY
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-Z6CP5ZZD.js";
|
|
17
17
|
|
|
18
18
|
// src/claude-config.ts
|
|
19
19
|
import { join } from "path";
|