pushary 1.9.135 → 1.9.137
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 +17 -0
- package/dist/{api-WEDLFKUE.js → api-5H25QRNM.js} +11 -11
- package/dist/bin/pushary-audit.js +3 -3
- package/dist/bin/pushary-bell-hook.js +28 -28
- package/dist/bin/pushary-bell.js +10 -10
- package/dist/bin/pushary-claude.js +27 -27
- package/dist/bin/pushary-clean.js +41 -41
- package/dist/bin/pushary-codex-bridge.js +23 -23
- package/dist/bin/pushary-codex-hook.js +58 -42
- package/dist/bin/pushary-codex-session.js +8 -8
- package/dist/bin/pushary-codex.js +16 -16
- package/dist/bin/pushary-connect.js +29 -29
- package/dist/bin/pushary-cowork.js +5 -5
- package/dist/bin/pushary-daemon.js +43 -43
- package/dist/bin/pushary-disconnect.js +28 -28
- package/dist/bin/pushary-display-hook.js +57 -31
- package/dist/bin/pushary-doctor.js +52 -48
- package/dist/bin/pushary-elicitation-hook.js +28 -28
- package/dist/bin/pushary-gemini-bridge.js +17 -17
- package/dist/bin/pushary-gemini-hook.js +32 -32
- package/dist/bin/pushary-hook.js +35 -34
- package/dist/bin/pushary-login.js +21 -21
- package/dist/bin/pushary-logout.js +27 -27
- package/dist/bin/pushary-mcp.js +12 -12
- package/dist/bin/pushary-mode.js +15 -15
- package/dist/bin/pushary-notification-hook.js +27 -27
- package/dist/bin/pushary-opencode-hook.js +31 -31
- package/dist/bin/pushary-permission-denied-hook.js +35 -34
- package/dist/bin/pushary-permission-hook.js +39 -36
- package/dist/bin/pushary-post-hook.js +33 -28
- package/dist/bin/pushary-prompt-hook.js +27 -27
- package/dist/bin/pushary-session-end-hook.js +27 -27
- package/dist/bin/pushary-session-start-hook.js +36 -36
- package/dist/bin/pushary-setup.js +57 -55
- package/dist/bin/pushary-stats.js +5 -5
- package/dist/bin/pushary-status.js +33 -33
- package/dist/bin/pushary-stop-hook.js +27 -27
- package/dist/bin/pushary-stopfailure-hook.js +27 -27
- package/dist/bin/pushary-suggestions.js +15 -15
- package/dist/bin/pushary-transcript-register.js +17 -17
- package/dist/bin/pushary-transcripts.js +25 -25
- package/dist/bin/pushary-upgrade.js +41 -41
- package/dist/bin/pushary-wait.js +15 -15
- package/dist/bin/pushary.js +7 -7
- package/dist/{chunk-LIXCHEDJ.js → chunk-2E46RALI.js} +6 -6
- package/dist/{chunk-4YBDKFU2.js → chunk-2MVKT7KH.js} +2 -2
- package/dist/{chunk-7JXYR4TC.js → chunk-2R4OVJHS.js} +5 -5
- package/dist/{chunk-WPPTHRBO.js → chunk-2XDVEBHI.js} +5 -5
- package/dist/{chunk-5GQLZ46V.js → chunk-3HXOR6E5.js} +8 -8
- package/dist/{chunk-VND6LN6X.js → chunk-3QBI5C6P.js} +2 -2
- package/dist/{chunk-7ASHS5VR.js → chunk-43DT3QWZ.js} +18 -5
- package/dist/{chunk-AEOITMCS.js → chunk-4T72AHIA.js} +4 -4
- package/dist/{chunk-V7KBG7XH.js → chunk-54TZGPZP.js} +3 -3
- package/dist/{chunk-WVOMK2HW.js → chunk-5XDFQ6E3.js} +1 -1
- package/dist/{chunk-JDAX2HVS.js → chunk-62GD26OE.js} +2 -2
- package/dist/{chunk-VCMJLNEP.js → chunk-6SWFS4GU.js} +2 -2
- package/dist/{chunk-65ZWYA5L.js → chunk-6WT5OIRM.js} +10 -10
- package/dist/{chunk-MYMADZRU.js → chunk-7NCI2DGB.js} +2 -2
- package/dist/{chunk-UCGWTMQD.js → chunk-7VKW7OA5.js} +3 -3
- package/dist/{chunk-7GEMAKQL.js → chunk-7XD56GXA.js} +5 -5
- package/dist/{chunk-UXPRMNH2.js → chunk-A2YJ2FBR.js} +3 -2
- package/dist/{chunk-QUMPSMZN.js → chunk-A4YOXS24.js} +3 -3
- package/dist/{chunk-MGTMXF3T.js → chunk-A7R43KOX.js} +3 -3
- package/dist/chunk-B4UIRMOE.js +31 -0
- package/dist/{chunk-KUAS2DGZ.js → chunk-CMAB4KQG.js} +5 -5
- package/dist/{chunk-RGRPDJG3.js → chunk-D7AAAD6W.js} +163 -108
- package/dist/{chunk-6RSAOA2P.js → chunk-DBIPNY7J.js} +3 -3
- package/dist/{chunk-H4226UC7.js → chunk-DL67HX3D.js} +32 -9
- package/dist/{chunk-SULQKUPJ.js → chunk-EJHD44ZN.js} +2 -2
- package/dist/{chunk-OUMH4UTT.js → chunk-G73ACPR2.js} +2 -2
- package/dist/{chunk-ACI4PZ5N.js → chunk-GS5FH3C2.js} +3 -3
- package/dist/{chunk-64QLX4ZC.js → chunk-H2RE3IPK.js} +1 -1
- package/dist/{chunk-7DWERNHQ.js → chunk-HY4ATVCT.js} +3 -3
- package/dist/{chunk-UDSJKRRI.js → chunk-ICCM3DLT.js} +2 -2
- package/dist/{chunk-AXQFLLOB.js → chunk-IHAKBLW2.js} +4 -4
- package/dist/{chunk-FP6ZVMF2.js → chunk-IKBTG3OT.js} +1 -1
- package/dist/{chunk-DMK3U7GG.js → chunk-IRIXOH4U.js} +1 -1
- package/dist/{chunk-U5W3MKPU.js → chunk-JZJ5CM6X.js} +5 -5
- package/dist/{chunk-4VVDRMVE.js → chunk-K7YJBVR3.js} +1 -1
- package/dist/{chunk-GLAGHQPB.js → chunk-KLV2NQVT.js} +4 -4
- package/dist/{chunk-FSLV5FIE.js → chunk-KTVMIG32.js} +4 -4
- package/dist/{chunk-Q5GPXYDG.js → chunk-KYD3LHFB.js} +1 -1
- package/dist/{chunk-XRO6NRBO.js → chunk-L2GADKFL.js} +6 -6
- package/dist/{chunk-IOUCIJ56.js → chunk-LAWI6NQK.js} +1 -1
- package/dist/{chunk-IABPEGAA.js → chunk-LNF36PTF.js} +2 -2
- package/dist/{chunk-RCZ5ZER4.js → chunk-MD63J3T7.js} +235 -44
- package/dist/{chunk-E4RMOK4A.js → chunk-MENTZJHA.js} +1 -1
- package/dist/{chunk-TKOALSA5.js → chunk-MQ3I5OIC.js} +8 -8
- package/dist/{chunk-BGXXWLS5.js → chunk-MQMVJDII.js} +1 -1
- package/dist/{chunk-WTLQMJZ3.js → chunk-N3VCBXI6.js} +3 -3
- package/dist/{chunk-EWJXECUK.js → chunk-NN43KGTN.js} +4 -4
- package/dist/{chunk-WNPZGHHU.js → chunk-NZD6ISCL.js} +3 -3
- package/dist/{chunk-6UARD3WA.js → chunk-PHA6AFOR.js} +3 -3
- package/dist/{chunk-LTY5DSWT.js → chunk-PNVTPEO5.js} +3 -3
- package/dist/{chunk-G3YIGTFS.js → chunk-POV2TBFA.js} +11 -11
- package/dist/{chunk-SFN72Q7W.js → chunk-Q2VV77IY.js} +3 -3
- package/dist/{chunk-GRCX2FGD.js → chunk-QXATIKHQ.js} +1 -1
- package/dist/{chunk-3KPPXZCO.js → chunk-R6N6FREL.js} +42 -25
- package/dist/{chunk-6QZGKKQS.js → chunk-R7CQF2P3.js} +1 -1
- package/dist/{chunk-ZJKWDM3S.js → chunk-R7KC57PC.js} +2 -2
- package/dist/{chunk-VXYGYCNR.js → chunk-RRUP72V6.js} +1 -1
- package/dist/{chunk-ORZ7H3AQ.js → chunk-TLK5YLIE.js} +4 -4
- package/dist/{chunk-NBMK6T6R.js → chunk-U3OLXV5Z.js} +2 -2
- package/dist/chunk-UP5QXEUU.js +31 -0
- package/dist/{chunk-X3NYMHLG.js → chunk-V7ZY7P2X.js} +6 -6
- package/dist/{chunk-CGROOSWT.js → chunk-VBWJ756P.js} +5 -5
- package/dist/{chunk-OEIU6BNH.js → chunk-VO77WHK4.js} +6 -6
- package/dist/{chunk-NWNUS2ET.js → chunk-VV7WRIQT.js} +4 -4
- package/dist/{chunk-2K7MZRPH.js → chunk-VVN3RPV6.js} +1 -1
- package/dist/{chunk-35RCY4LB.js → chunk-WM7OY63L.js} +1 -1
- package/dist/{chunk-RLNJNRYP.js → chunk-WNT4JHK3.js} +1 -1
- package/dist/{chunk-ZNST34QH.js → chunk-WXUEOHYY.js} +5 -5
- package/dist/{chunk-J42EAEX3.js → chunk-XR27HPYC.js} +2 -1
- package/dist/{chunk-XB75IJ3G.js → chunk-Y47BMZUR.js} +1 -1
- package/dist/{chunk-4XTB74D3.js → chunk-YHX5YF77.js} +4 -4
- package/dist/{chunk-4PPSXQQ6.js → chunk-YOV3LHOL.js} +3 -3
- package/dist/{chunk-7KWOR2T2.js → chunk-YQQGIDBC.js} +1 -1
- package/dist/{chunk-QLIG4PMT.js → chunk-ZWIJJYN3.js} +4 -4
- package/dist/{chunk-UCDPJHZT.js → chunk-ZWLSXECG.js} +2 -2
- package/dist/{chunk-UQCVVN7K.js → chunk-ZWURBNA3.js} +1 -1
- package/dist/{codex-app-cards-switch-C6DXLVAM.js → codex-app-cards-switch-JU236CG2.js} +11 -11
- package/dist/{codex-card-routing-ZMMS4RIR.js → codex-card-routing-LQJEJNTS.js} +2 -2
- package/dist/{codex-desktop-launch-DIUFMA45.js → codex-desktop-launch-LRQ4LU64.js} +1 -1
- package/dist/{codex-session-launch-S4WTGKRY.js → codex-session-launch-DTGH7ZKM.js} +20 -20
- package/dist/{config-BV5FQ536.js → config-34VUNHK6.js} +3 -3
- package/dist/{global-upgrade-JZWB67EU.js → global-upgrade-5UAH5DCG.js} +9 -9
- package/dist/{identity-G6FQTONT.js → identity-UFJEWGEU.js} +4 -4
- package/dist/{live-capabilities-YHMOXY5E.js → live-capabilities-BL3SHFWX.js} +4 -4
- package/dist/{paths-XTEJ5LI2.js → paths-YA5ROXGC.js} +3 -3
- package/dist/{reapply-MVZKPXIQ.js → reapply-OPQF4DPQ.js} +29 -29
- package/dist/src/index.js +34 -33
- package/dist/{upgrade-lock-YPAQEEJA.js → upgrade-lock-AZLOOGKV.js} +4 -4
- package/dist/{usage-R6PZTIEH.js → usage-ZSV4LFDL.js} +3 -3
- package/package.json +1 -1
- package/dist/chunk-N2DYYXQI.js +0 -75
|
@@ -2,18 +2,18 @@
|
|
|
2
2
|
import {
|
|
3
3
|
declinedAgentsFile,
|
|
4
4
|
recordDeclinedAgent
|
|
5
|
-
} from "../chunk-
|
|
5
|
+
} from "../chunk-ZWLSXECG.js";
|
|
6
6
|
import {
|
|
7
7
|
isCursorPluginLeftover,
|
|
8
8
|
isPusharyCursorPluginManifest,
|
|
9
9
|
releaseSoleGate
|
|
10
|
-
} from "../chunk-
|
|
10
|
+
} from "../chunk-ZWIJJYN3.js";
|
|
11
11
|
import {
|
|
12
12
|
planFxRemoval,
|
|
13
13
|
removeClineServer
|
|
14
|
-
} from "../chunk-
|
|
15
|
-
import "../chunk-
|
|
16
|
-
import "../chunk-
|
|
14
|
+
} from "../chunk-2XDVEBHI.js";
|
|
15
|
+
import "../chunk-54TZGPZP.js";
|
|
16
|
+
import "../chunk-NZD6ISCL.js";
|
|
17
17
|
import {
|
|
18
18
|
OPENCODE_PLUGIN_SIBLING,
|
|
19
19
|
OPENCODE_PLUGIN_SIBLING_CONTENTS,
|
|
@@ -25,10 +25,10 @@ import {
|
|
|
25
25
|
openCodePluginDir,
|
|
26
26
|
openCodePluginFile,
|
|
27
27
|
removeOpenCodeMcpServer
|
|
28
|
-
} from "../chunk-
|
|
28
|
+
} from "../chunk-VBWJ756P.js";
|
|
29
29
|
import {
|
|
30
30
|
exitOnHelpFlag
|
|
31
|
-
} from "../chunk-
|
|
31
|
+
} from "../chunk-K7YJBVR3.js";
|
|
32
32
|
import {
|
|
33
33
|
compatibleConfigFile,
|
|
34
34
|
compatibleDocuments,
|
|
@@ -38,28 +38,28 @@ import {
|
|
|
38
38
|
isEmptiedPusharyOwnedDocument,
|
|
39
39
|
removeCompatibleHooks,
|
|
40
40
|
removeCompatibleMcpServer
|
|
41
|
-
} from "../chunk-
|
|
41
|
+
} from "../chunk-43DT3QWZ.js";
|
|
42
42
|
import {
|
|
43
43
|
removeGeminiSettings
|
|
44
|
-
} from "../chunk-
|
|
45
|
-
import "../chunk-
|
|
46
|
-
import "../chunk-
|
|
47
|
-
import "../chunk-
|
|
48
|
-
import "../chunk-
|
|
44
|
+
} from "../chunk-TLK5YLIE.js";
|
|
45
|
+
import "../chunk-D7AAAD6W.js";
|
|
46
|
+
import "../chunk-A2YJ2FBR.js";
|
|
47
|
+
import "../chunk-5XDFQ6E3.js";
|
|
48
|
+
import "../chunk-LAWI6NQK.js";
|
|
49
49
|
import {
|
|
50
50
|
parseFlags
|
|
51
51
|
} from "../chunk-YPY4YCIZ.js";
|
|
52
|
-
import "../chunk-
|
|
53
|
-
import "../chunk-
|
|
54
|
-
import "../chunk-
|
|
52
|
+
import "../chunk-IRIXOH4U.js";
|
|
53
|
+
import "../chunk-L2GADKFL.js";
|
|
54
|
+
import "../chunk-Y47BMZUR.js";
|
|
55
55
|
import "../chunk-POFBE6ZY.js";
|
|
56
|
-
import "../chunk-
|
|
57
|
-
import "../chunk-
|
|
58
|
-
import "../chunk-
|
|
59
|
-
import "../chunk-
|
|
60
|
-
import "../chunk-
|
|
61
|
-
import "../chunk-
|
|
62
|
-
import "../chunk-
|
|
56
|
+
import "../chunk-WXUEOHYY.js";
|
|
57
|
+
import "../chunk-VVN3RPV6.js";
|
|
58
|
+
import "../chunk-Q2VV77IY.js";
|
|
59
|
+
import "../chunk-PHA6AFOR.js";
|
|
60
|
+
import "../chunk-WNT4JHK3.js";
|
|
61
|
+
import "../chunk-PNVTPEO5.js";
|
|
62
|
+
import "../chunk-LNF36PTF.js";
|
|
63
63
|
import {
|
|
64
64
|
claudeJson,
|
|
65
65
|
claudeMcpReceipt,
|
|
@@ -89,9 +89,9 @@ import {
|
|
|
89
89
|
removePusharySettings,
|
|
90
90
|
removePusharyToolPermissions,
|
|
91
91
|
restoreClaudeMcpServer
|
|
92
|
-
} from "../chunk-
|
|
93
|
-
import "../chunk-
|
|
94
|
-
import "../chunk-
|
|
92
|
+
} from "../chunk-R7KC57PC.js";
|
|
93
|
+
import "../chunk-GS5FH3C2.js";
|
|
94
|
+
import "../chunk-IKBTG3OT.js";
|
|
95
95
|
import {
|
|
96
96
|
UsageError
|
|
97
97
|
} from "../chunk-YU2EUD7O.js";
|
|
@@ -103,14 +103,14 @@ import {
|
|
|
103
103
|
} from "../chunk-BG4HHB7E.js";
|
|
104
104
|
import {
|
|
105
105
|
isInvocationOf
|
|
106
|
-
} from "../chunk-
|
|
106
|
+
} from "../chunk-MQMVJDII.js";
|
|
107
107
|
import "../chunk-WIIMW5YO.js";
|
|
108
108
|
import {
|
|
109
109
|
DISCONNECTABLE_AGENTS,
|
|
110
110
|
DISCONNECT_AGENT_IDS,
|
|
111
111
|
hookCompatibleProfileBySource,
|
|
112
112
|
normalizeAgentId
|
|
113
|
-
} from "../chunk-
|
|
113
|
+
} from "../chunk-DL67HX3D.js";
|
|
114
114
|
import "../chunk-MLKGABMK.js";
|
|
115
115
|
|
|
116
116
|
// bin/pushary-disconnect.ts
|
|
@@ -687,7 +687,9 @@ var init_agent_wiring = __esm({
|
|
|
687
687
|
permissionRuleFile: null,
|
|
688
688
|
configDirIsShared: false,
|
|
689
689
|
soleGate: null,
|
|
690
|
-
taskControl: null
|
|
690
|
+
taskControl: null,
|
|
691
|
+
promptFollowsPreToolUseAllow: true,
|
|
692
|
+
permissionRequestPaths: "shell_escaped"
|
|
691
693
|
};
|
|
692
694
|
CODEBUDDY = {
|
|
693
695
|
agentType: "codebuddy",
|
|
@@ -711,7 +713,9 @@ var init_agent_wiring = __esm({
|
|
|
711
713
|
permissionRuleFile: homeJson(".codebuddy", "settings.json"),
|
|
712
714
|
configDirIsShared: false,
|
|
713
715
|
soleGate: null,
|
|
714
|
-
taskControl: null
|
|
716
|
+
taskControl: null,
|
|
717
|
+
promptFollowsPreToolUseAllow: false,
|
|
718
|
+
permissionRequestPaths: "as_pre_tool_use"
|
|
715
719
|
};
|
|
716
720
|
QODER = {
|
|
717
721
|
agentType: "qoder",
|
|
@@ -735,7 +739,9 @@ var init_agent_wiring = __esm({
|
|
|
735
739
|
permissionRuleFile: null,
|
|
736
740
|
configDirIsShared: false,
|
|
737
741
|
soleGate: null,
|
|
738
|
-
taskControl: null
|
|
742
|
+
taskControl: null,
|
|
743
|
+
promptFollowsPreToolUseAllow: false,
|
|
744
|
+
permissionRequestPaths: "as_pre_tool_use"
|
|
739
745
|
};
|
|
740
746
|
DROID = {
|
|
741
747
|
agentType: "droid",
|
|
@@ -764,7 +770,9 @@ var init_agent_wiring = __esm({
|
|
|
764
770
|
permissionRuleFile: null,
|
|
765
771
|
configDirIsShared: false,
|
|
766
772
|
soleGate: null,
|
|
767
|
-
taskControl: null
|
|
773
|
+
taskControl: null,
|
|
774
|
+
promptFollowsPreToolUseAllow: false,
|
|
775
|
+
permissionRequestPaths: "as_pre_tool_use"
|
|
768
776
|
};
|
|
769
777
|
DEVIN = {
|
|
770
778
|
agentType: "devin",
|
|
@@ -798,7 +806,9 @@ var init_agent_wiring = __esm({
|
|
|
798
806
|
permissionRuleFile: null,
|
|
799
807
|
configDirIsShared: false,
|
|
800
808
|
soleGate: null,
|
|
801
|
-
taskControl: null
|
|
809
|
+
taskControl: null,
|
|
810
|
+
promptFollowsPreToolUseAllow: false,
|
|
811
|
+
permissionRequestPaths: "as_pre_tool_use"
|
|
802
812
|
};
|
|
803
813
|
ANTIGRAVITY_TASK_CONTROL = {
|
|
804
814
|
name: "manage_task",
|
|
@@ -849,7 +859,9 @@ var init_agent_wiring = __esm({
|
|
|
849
859
|
receipt: [".pushary", "setup", "antigravity-tool-permission.json"],
|
|
850
860
|
coveredTools: [ANTIGRAVITY_TASK_CONTROL.name]
|
|
851
861
|
},
|
|
852
|
-
taskControl: ANTIGRAVITY_TASK_CONTROL
|
|
862
|
+
taskControl: ANTIGRAVITY_TASK_CONTROL,
|
|
863
|
+
promptFollowsPreToolUseAllow: false,
|
|
864
|
+
permissionRequestPaths: "as_pre_tool_use"
|
|
853
865
|
};
|
|
854
866
|
GROK = {
|
|
855
867
|
agentType: "grok",
|
|
@@ -883,7 +895,9 @@ var init_agent_wiring = __esm({
|
|
|
883
895
|
permissionRuleFile: null,
|
|
884
896
|
configDirIsShared: false,
|
|
885
897
|
soleGate: null,
|
|
886
|
-
taskControl: null
|
|
898
|
+
taskControl: null,
|
|
899
|
+
promptFollowsPreToolUseAllow: false,
|
|
900
|
+
permissionRequestPaths: "as_pre_tool_use"
|
|
887
901
|
};
|
|
888
902
|
HOOK_COMPATIBLE_PROFILES = Object.freeze([QWEN_CODE, CODEBUDDY, QODER, DROID, DEVIN, ANTIGRAVITY_CLI, GROK]);
|
|
889
903
|
}
|
|
@@ -2897,8 +2911,8 @@ import { join as join3 } from "path";
|
|
|
2897
2911
|
init_fsx();
|
|
2898
2912
|
init_paths();
|
|
2899
2913
|
import { createHash as createHash10 } from "crypto";
|
|
2900
|
-
import { lstatSync as lstatSync5, readFileSync as
|
|
2901
|
-
import { basename as
|
|
2914
|
+
import { lstatSync as lstatSync5, readFileSync as readFileSync19, readdirSync as readdirSync2, realpathSync as realpathSync4, statSync as statSync5, unlinkSync as unlinkSync5 } from "fs";
|
|
2915
|
+
import { basename as basename3, dirname as dirname9, isAbsolute, join as join20, relative, resolve as resolve3, sep } from "path";
|
|
2902
2916
|
|
|
2903
2917
|
// src/transcript-phone-trust.ts
|
|
2904
2918
|
import { createHash as createHash5 } from "crypto";
|
|
@@ -7609,8 +7623,8 @@ var hookOwnerOfCommands = (commands, appAvailable = true) => {
|
|
|
7609
7623
|
|
|
7610
7624
|
// src/daemon-lifecycle.ts
|
|
7611
7625
|
init_src();
|
|
7612
|
-
import { dirname as
|
|
7613
|
-
import { existsSync as existsSync6, mkdirSync as
|
|
7626
|
+
import { dirname as dirname8, join as join19, win32 as win32Path } from "path";
|
|
7627
|
+
import { existsSync as existsSync6, mkdirSync as mkdirSync7, readFileSync as readFileSync18, realpathSync as realpathSync3, renameSync as renameSync3, statSync as statSync4, unlinkSync as unlinkSync4, writeFileSync as writeFileSync5 } from "fs";
|
|
7614
7628
|
import { createHash as createHash9, randomUUID as randomUUID3 } from "crypto";
|
|
7615
7629
|
import { homedir as homedir8, uptime, userInfo } from "os";
|
|
7616
7630
|
|
|
@@ -7635,8 +7649,20 @@ import { win32 as win323 } from "path";
|
|
|
7635
7649
|
// src/daemon-lifecycle.ts
|
|
7636
7650
|
init_npm();
|
|
7637
7651
|
init_cli_package_name();
|
|
7638
|
-
init_global_package();
|
|
7639
7652
|
import { execFileSync as execFileSync3 } from "child_process";
|
|
7653
|
+
|
|
7654
|
+
// src/daemon-entry-guard.ts
|
|
7655
|
+
init_fsx();
|
|
7656
|
+
import { mkdirSync as mkdirSync6, readFileSync as readFileSync17 } from "fs";
|
|
7657
|
+
import { basename, dirname as dirname7, join as join18 } from "path";
|
|
7658
|
+
var DAEMON_ENTRY_GUARD_SOURCE = [
|
|
7659
|
+
"const { existsSync } = require('node:fs')",
|
|
7660
|
+
"if (process.argv[1] && !existsSync(process.argv[1])) process.exit(0)",
|
|
7661
|
+
""
|
|
7662
|
+
].join("\n");
|
|
7663
|
+
|
|
7664
|
+
// src/daemon-lifecycle.ts
|
|
7665
|
+
init_global_package();
|
|
7640
7666
|
var DAEMON_LEASE_RENEW_INTERVAL_MS = 3e4;
|
|
7641
7667
|
var LOCAL_LEASE_TIMEOUT_MS = DAEMON_LEASE_RENEW_INTERVAL_MS * 3;
|
|
7642
7668
|
var DAEMON_YIELD_CHECK_INTERVAL_MS = 2e3;
|
|
@@ -7687,7 +7713,7 @@ var firstString = (...values) => values.find((v) => typeof v === "string" && v.l
|
|
|
7687
7713
|
// ../hook-mapping/src/map.ts
|
|
7688
7714
|
init_src();
|
|
7689
7715
|
init_src();
|
|
7690
|
-
import { basename } from "path";
|
|
7716
|
+
import { basename as basename2 } from "path";
|
|
7691
7717
|
var AGENT_IDENTITIES = {
|
|
7692
7718
|
claude: { type: "claude_code", label: AGENT_LABELS_BY_TYPE.claude_code },
|
|
7693
7719
|
codex: { type: "codex", label: AGENT_LABELS_BY_TYPE.codex },
|
|
@@ -7810,18 +7836,18 @@ var storedRegistrationSchema = external_exports.object({
|
|
|
7810
7836
|
endedAt: external_exports.number().positive().optional(),
|
|
7811
7837
|
drained: external_exports.boolean().optional()
|
|
7812
7838
|
});
|
|
7813
|
-
var defaultRegistryDirectory = () => process.env.PUSHARY_TRANSCRIPT_REGISTRY_DIR ||
|
|
7839
|
+
var defaultRegistryDirectory = () => process.env.PUSHARY_TRANSCRIPT_REGISTRY_DIR || join20(pusharyDir(), "transcript-capture");
|
|
7814
7840
|
var cliRegistry = (apiKey = getApiKey()) => ({ apiKey, baseUrl: getBaseUrl(), directory: defaultRegistryDirectory() });
|
|
7815
7841
|
var accountFor = (registry) => createHash10("sha256").update(`${registry.baseUrl}\0${registry.apiKey}`).digest("hex");
|
|
7816
7842
|
var TTL = 48 * 60 * 60 * 1e3;
|
|
7817
7843
|
var read = (path) => {
|
|
7818
7844
|
if (statSync5(path).size > 16384) throw new Error("History registration exceeds its size limit");
|
|
7819
|
-
return storedRegistrationSchema.parse(JSON.parse(
|
|
7845
|
+
return storedRegistrationSchema.parse(JSON.parse(readFileSync19(path, "utf8")));
|
|
7820
7846
|
};
|
|
7821
7847
|
var consent = (record) => record.consentOverride ?? readTranscriptPreference() ?? true;
|
|
7822
7848
|
var withoutTrailingSlash = (url) => url.replace(/\/+$/, "");
|
|
7823
7849
|
var sameServer = (url, registry) => withoutTrailingSlash(url) === withoutTrailingSlash(registry.baseUrl);
|
|
7824
|
-
var fileFor3 = (registry, sessionId) =>
|
|
7850
|
+
var fileFor3 = (registry, sessionId) => join20(registry.directory, `${createHash10("sha256").update(accountFor(registry) + sessionId).digest("hex")}.json`);
|
|
7825
7851
|
var permitted = (registry, raw2) => raw2.account === accountFor(registry) && consent(raw2) && !raw2.drained && (raw2.source !== "claude" || !!raw2.expectedSiteId || !macOwnsClaudeHooks(raw2.cwd)) && (!raw2.expectedSiteId || raw2.expectedSiteId === raw2.verifiedSiteId && !!raw2.expectedBaseUrl && sameServer(raw2.expectedBaseUrl, registry));
|
|
7826
7852
|
var registeredTranscriptEnabled = (apiKey, sessionId, registry = cliRegistry(apiKey)) => {
|
|
7827
7853
|
try {
|
|
@@ -7831,12 +7857,12 @@ var registeredTranscriptEnabled = (apiKey, sessionId, registry = cliRegistry(api
|
|
|
7831
7857
|
}
|
|
7832
7858
|
};
|
|
7833
7859
|
var macOwnsClaudeHooks = (cwd) => [
|
|
7834
|
-
|
|
7835
|
-
|
|
7836
|
-
|
|
7860
|
+
join20(claudeConfigDir(), "settings.json"),
|
|
7861
|
+
join20(cwd, ".claude", "settings.json"),
|
|
7862
|
+
join20(cwd, ".claude", "settings.local.json")
|
|
7837
7863
|
].some((path) => {
|
|
7838
7864
|
try {
|
|
7839
|
-
return hookOwnerOf(JSON.parse(
|
|
7865
|
+
return hookOwnerOf(JSON.parse(readFileSync19(path, "utf8"))) === "app";
|
|
7840
7866
|
} catch {
|
|
7841
7867
|
return false;
|
|
7842
7868
|
}
|
|
@@ -7844,22 +7870,22 @@ var macOwnsClaudeHooks = (cwd) => [
|
|
|
7844
7870
|
var TRANSCRIPT_ROOT_NAME = { claude: "projects", codex: "sessions", gemini: "tmp", cursor: "projects", hermes: "hermes-history" };
|
|
7845
7871
|
var transcriptRoots = (source) => {
|
|
7846
7872
|
const home = homedir9();
|
|
7847
|
-
if (source === "codex") return [
|
|
7848
|
-
if (source === "cursor") return [
|
|
7849
|
-
if (source === "hermes") return [
|
|
7850
|
-
if (source === "gemini") return [
|
|
7873
|
+
if (source === "codex") return [join20(codexHome(), TRANSCRIPT_ROOT_NAME.codex)];
|
|
7874
|
+
if (source === "cursor") return [join20(home, ".cursor", TRANSCRIPT_ROOT_NAME.cursor)];
|
|
7875
|
+
if (source === "hermes") return [join20(home, ".pushary", TRANSCRIPT_ROOT_NAME.hermes)];
|
|
7876
|
+
if (source === "gemini") return [join20(process.env.GEMINI_CLI_HOME || home, ".gemini", "tmp"), join20(home, ".cache", ".gemini", "tmp")];
|
|
7851
7877
|
const configured = process.env.CLAUDE_CONFIG_DIR;
|
|
7852
|
-
return [
|
|
7878
|
+
return [join20(configured || join20(home, ".claude"), TRANSCRIPT_ROOT_NAME.claude), join20(home, ".claude", TRANSCRIPT_ROOT_NAME.claude)];
|
|
7853
7879
|
};
|
|
7854
|
-
var isAgentTranscriptRoot = (root, source) => isAbsolute(root) && resolve3(root) === root &&
|
|
7880
|
+
var isAgentTranscriptRoot = (root, source) => isAbsolute(root) && resolve3(root) === root && basename3(root) === TRANSCRIPT_ROOT_NAME[source];
|
|
7855
7881
|
var acceptedTranscriptRoots = (source, registeredRoot) => typeof registeredRoot === "string" && isAgentTranscriptRoot(registeredRoot, source) ? [...transcriptRoots(source), registeredRoot] : transcriptRoots(source);
|
|
7856
7882
|
var resolvedSourcePath = (path) => {
|
|
7857
7883
|
const absolute = resolve3(path);
|
|
7858
7884
|
try {
|
|
7859
7885
|
return realpathSync4(absolute);
|
|
7860
7886
|
} catch {
|
|
7861
|
-
const parent =
|
|
7862
|
-
return parent === absolute ? absolute :
|
|
7887
|
+
const parent = dirname9(absolute);
|
|
7888
|
+
return parent === absolute ? absolute : join20(resolvedSourcePath(parent), basename3(absolute));
|
|
7863
7889
|
}
|
|
7864
7890
|
};
|
|
7865
7891
|
var transcriptRootContaining = (candidate, roots) => {
|
|
@@ -7877,9 +7903,9 @@ var captureRegistration = (source, value, registeredRoot) => {
|
|
|
7877
7903
|
const root = transcriptRootContaining(path, acceptedTranscriptRoots(source, registeredRoot));
|
|
7878
7904
|
if (root === null) return null;
|
|
7879
7905
|
const segments = relative(root, path).split(sep);
|
|
7880
|
-
if (source === "hermes" && (segments.length !== 2 || !/^[a-f0-9]{64}$/.test(segments[0] ?? "") ||
|
|
7881
|
-
if (source === "gemini" && (segments.length !== 3 || segments[1] !== "chats" || !
|
|
7882
|
-
if (source === "cursor" && (segments[1] !== "agent-transcripts" ||
|
|
7906
|
+
if (source === "hermes" && (segments.length !== 2 || !/^[a-f0-9]{64}$/.test(segments[0] ?? "") || basename3(path) !== `${sessionId}.json`)) return null;
|
|
7907
|
+
if (source === "gemini" && (segments.length !== 3 || segments[1] !== "chats" || !basename3(path).startsWith("session-"))) return null;
|
|
7908
|
+
if (source === "cursor" && (segments[1] !== "agent-transcripts" || basename3(path) !== `${sessionId}.jsonl` || !(segments.length === 3 || segments.length === 4 && basename3(dirname9(path)) === sessionId))) return null;
|
|
7883
7909
|
return { sessionId, cwd: input.cwd, path, source, root };
|
|
7884
7910
|
};
|
|
7885
7911
|
|
|
@@ -1,10 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
readSetupFailure,
|
|
6
|
-
versionManagerOf
|
|
7
|
-
} from "../chunk-N2DYYXQI.js";
|
|
3
|
+
readSetupFailure
|
|
4
|
+
} from "../chunk-B4UIRMOE.js";
|
|
8
5
|
import {
|
|
9
6
|
describeWaitLadder
|
|
10
7
|
} from "../chunk-CVWG2N3Y.js";
|
|
@@ -14,14 +11,14 @@ import {
|
|
|
14
11
|
describeHermesProblems,
|
|
15
12
|
describeHermesState,
|
|
16
13
|
hermesRepairStep
|
|
17
|
-
} from "../chunk-
|
|
14
|
+
} from "../chunk-A4YOXS24.js";
|
|
18
15
|
import {
|
|
19
16
|
writeJsonError,
|
|
20
17
|
writeStdoutFully
|
|
21
|
-
} from "../chunk-
|
|
18
|
+
} from "../chunk-RRUP72V6.js";
|
|
22
19
|
import {
|
|
23
20
|
fetchChannels
|
|
24
|
-
} from "../chunk-
|
|
21
|
+
} from "../chunk-4T72AHIA.js";
|
|
25
22
|
import "../chunk-3EGEA4KH.js";
|
|
26
23
|
import {
|
|
27
24
|
describeAnswerTestPrompt,
|
|
@@ -31,7 +28,7 @@ import {
|
|
|
31
28
|
reachVerdict,
|
|
32
29
|
roundTripEvidence,
|
|
33
30
|
verifyRoundTrip
|
|
34
|
-
} from "../chunk-
|
|
31
|
+
} from "../chunk-V7ZY7P2X.js";
|
|
35
32
|
import {
|
|
36
33
|
daemonStopsAtLogout,
|
|
37
34
|
lingerDoctorDetail,
|
|
@@ -40,17 +37,17 @@ import {
|
|
|
40
37
|
import {
|
|
41
38
|
readMachineReadiness,
|
|
42
39
|
readManagedControlEvidence
|
|
43
|
-
} from "../chunk-
|
|
40
|
+
} from "../chunk-CMAB4KQG.js";
|
|
44
41
|
import {
|
|
45
42
|
assessCodexHookTrust,
|
|
46
43
|
readCodexTrustForPusharyHooks
|
|
47
|
-
} from "../chunk-
|
|
44
|
+
} from "../chunk-6SWFS4GU.js";
|
|
48
45
|
import {
|
|
49
46
|
SIGNED_OUT_ON_MAC_MESSAGE,
|
|
50
47
|
activeKeyVerdictOf,
|
|
51
48
|
describeSignedOutKey,
|
|
52
49
|
readSignedOutDiagnosis
|
|
53
|
-
} from "../chunk-
|
|
50
|
+
} from "../chunk-U3OLXV5Z.js";
|
|
54
51
|
import {
|
|
55
52
|
agentProbes,
|
|
56
53
|
detectAgent,
|
|
@@ -59,16 +56,16 @@ import {
|
|
|
59
56
|
isPluginRegistered,
|
|
60
57
|
shortenHome,
|
|
61
58
|
vscodeSettingsTargets
|
|
62
|
-
} from "../chunk-
|
|
59
|
+
} from "../chunk-IHAKBLW2.js";
|
|
63
60
|
import {
|
|
64
61
|
CONNECTED_THROUGH_MAC_APP,
|
|
65
62
|
keyWrittenByMacApp,
|
|
66
63
|
readMacAppConnectionWhenKeyless
|
|
67
|
-
} from "../chunk-
|
|
64
|
+
} from "../chunk-KLV2NQVT.js";
|
|
68
65
|
import {
|
|
69
66
|
keyScopeOf,
|
|
70
67
|
pushWindowChangeStep
|
|
71
|
-
} from "../chunk-
|
|
68
|
+
} from "../chunk-3QBI5C6P.js";
|
|
72
69
|
import {
|
|
73
70
|
findHermesLauncher,
|
|
74
71
|
hasUpdateFrom,
|
|
@@ -80,7 +77,7 @@ import {
|
|
|
80
77
|
routesHermesQuestions,
|
|
81
78
|
runsAnOlderPlugin,
|
|
82
79
|
shippedHermesPlugin
|
|
83
|
-
} from "../chunk-
|
|
80
|
+
} from "../chunk-A7R43KOX.js";
|
|
84
81
|
import "../chunk-QCGNGEGE.js";
|
|
85
82
|
import {
|
|
86
83
|
FX_PROFILE_REFUSALS,
|
|
@@ -91,11 +88,11 @@ import {
|
|
|
91
88
|
inspectClineInstallation,
|
|
92
89
|
inspectFxInstallation,
|
|
93
90
|
inspectFxPusharyHttpWiring
|
|
94
|
-
} from "../chunk-
|
|
91
|
+
} from "../chunk-2XDVEBHI.js";
|
|
95
92
|
import {
|
|
96
93
|
retryAgentCommand
|
|
97
|
-
} from "../chunk-
|
|
98
|
-
import "../chunk-
|
|
94
|
+
} from "../chunk-54TZGPZP.js";
|
|
95
|
+
import "../chunk-NZD6ISCL.js";
|
|
99
96
|
import {
|
|
100
97
|
OPENCODE_PLUGIN_PLACEHOLDER,
|
|
101
98
|
cliOwnsAnyAgentHooks,
|
|
@@ -105,25 +102,25 @@ import {
|
|
|
105
102
|
openCodePluginDir,
|
|
106
103
|
openCodePluginFile,
|
|
107
104
|
openCodeWired
|
|
108
|
-
} from "../chunk-
|
|
105
|
+
} from "../chunk-VBWJ756P.js";
|
|
109
106
|
import {
|
|
110
107
|
createIo
|
|
111
108
|
} from "../chunk-FO3MDD26.js";
|
|
112
109
|
import {
|
|
113
110
|
exitOnHelpFlag
|
|
114
|
-
} from "../chunk-
|
|
111
|
+
} from "../chunk-K7YJBVR3.js";
|
|
115
112
|
import {
|
|
116
113
|
describeMissingControlPrerequisite,
|
|
117
114
|
detectProviderLiveCapabilities,
|
|
118
115
|
expectedLaunchCapabilities,
|
|
119
116
|
hasSpawnProvider,
|
|
120
117
|
resolveControlPolicy
|
|
121
|
-
} from "../chunk-
|
|
122
|
-
import "../chunk-
|
|
118
|
+
} from "../chunk-DBIPNY7J.js";
|
|
119
|
+
import "../chunk-EJHD44ZN.js";
|
|
123
120
|
import "../chunk-CYTPQDQY.js";
|
|
124
121
|
import {
|
|
125
122
|
readLedgerSummary
|
|
126
|
-
} from "../chunk-
|
|
123
|
+
} from "../chunk-YQQGIDBC.js";
|
|
127
124
|
import {
|
|
128
125
|
AUTO_UPDATE_DISABLE_ENV,
|
|
129
126
|
autoUpdateOffReason,
|
|
@@ -131,7 +128,7 @@ import {
|
|
|
131
128
|
describeAutoUpdateCheck,
|
|
132
129
|
readAutoUpdateState,
|
|
133
130
|
takeAutoUpdateAnnouncement
|
|
134
|
-
} from "../chunk-
|
|
131
|
+
} from "../chunk-ICCM3DLT.js";
|
|
135
132
|
import {
|
|
136
133
|
compatibleConfigFile,
|
|
137
134
|
compatibleInstructionsFile,
|
|
@@ -139,16 +136,20 @@ import {
|
|
|
139
136
|
hasCompatibleHooks,
|
|
140
137
|
hasCompatibleMcpServer,
|
|
141
138
|
missingCompatibleHookEvents
|
|
142
|
-
} from "../chunk-
|
|
139
|
+
} from "../chunk-43DT3QWZ.js";
|
|
143
140
|
import {
|
|
144
141
|
daemonHasRemoteProof,
|
|
145
142
|
daemonServiceManagerAvailable,
|
|
146
143
|
describeDaemonLoginBlock,
|
|
144
|
+
describeServiceNodeRisk,
|
|
147
145
|
hasDaemonServiceDefinition,
|
|
148
146
|
readDaemonNeedsLogin,
|
|
149
147
|
readDaemonStatus,
|
|
150
|
-
readInstalledDaemonService
|
|
151
|
-
|
|
148
|
+
readInstalledDaemonService,
|
|
149
|
+
readServiceExecPath,
|
|
150
|
+
serviceStartFileChecks,
|
|
151
|
+
versionManagerOf
|
|
152
|
+
} from "../chunk-MD63J3T7.js";
|
|
152
153
|
import {
|
|
153
154
|
GEMINI_HOOK_BINARY,
|
|
154
155
|
claudeOtherHolders,
|
|
@@ -168,38 +169,38 @@ import {
|
|
|
168
169
|
holdsLong,
|
|
169
170
|
missingGeminiHookEvents,
|
|
170
171
|
pusharyHookExecutable
|
|
171
|
-
} from "../chunk-
|
|
172
|
-
import "../chunk-
|
|
173
|
-
import "../chunk-
|
|
174
|
-
import "../chunk-
|
|
175
|
-
import "../chunk-
|
|
172
|
+
} from "../chunk-TLK5YLIE.js";
|
|
173
|
+
import "../chunk-D7AAAD6W.js";
|
|
174
|
+
import "../chunk-A2YJ2FBR.js";
|
|
175
|
+
import "../chunk-5XDFQ6E3.js";
|
|
176
|
+
import "../chunk-LAWI6NQK.js";
|
|
176
177
|
import {
|
|
177
178
|
parseFlags
|
|
178
179
|
} from "../chunk-YPY4YCIZ.js";
|
|
179
180
|
import "../chunk-H6CL3T2S.js";
|
|
180
|
-
import "../chunk-
|
|
181
|
-
import "../chunk-
|
|
182
|
-
import "../chunk-
|
|
181
|
+
import "../chunk-IRIXOH4U.js";
|
|
182
|
+
import "../chunk-L2GADKFL.js";
|
|
183
|
+
import "../chunk-Y47BMZUR.js";
|
|
183
184
|
import "../chunk-POFBE6ZY.js";
|
|
184
185
|
import {
|
|
185
186
|
callMcpTool,
|
|
186
187
|
sendMcpRequest
|
|
187
|
-
} from "../chunk-
|
|
188
|
-
import "../chunk-
|
|
188
|
+
} from "../chunk-WXUEOHYY.js";
|
|
189
|
+
import "../chunk-VVN3RPV6.js";
|
|
189
190
|
import {
|
|
190
191
|
checkApiKey,
|
|
191
192
|
describeKeyCheck
|
|
192
|
-
} from "../chunk-
|
|
193
|
-
import "../chunk-
|
|
193
|
+
} from "../chunk-Q2VV77IY.js";
|
|
194
|
+
import "../chunk-PHA6AFOR.js";
|
|
194
195
|
import {
|
|
195
196
|
getMachineId
|
|
196
|
-
} from "../chunk-
|
|
197
|
+
} from "../chunk-WNT4JHK3.js";
|
|
197
198
|
import {
|
|
198
199
|
keyPrefix,
|
|
199
200
|
readControlMode,
|
|
200
201
|
readKeySource
|
|
201
|
-
} from "../chunk-
|
|
202
|
-
import "../chunk-
|
|
202
|
+
} from "../chunk-PNVTPEO5.js";
|
|
203
|
+
import "../chunk-LNF36PTF.js";
|
|
203
204
|
import {
|
|
204
205
|
CLINE_AUTO_APPROVE_STEP,
|
|
205
206
|
CLINE_LABEL,
|
|
@@ -237,15 +238,15 @@ import {
|
|
|
237
238
|
readCodexMcpAuth,
|
|
238
239
|
resolveBridgeStub,
|
|
239
240
|
vscodePluginDir
|
|
240
|
-
} from "../chunk-
|
|
241
|
+
} from "../chunk-R7KC57PC.js";
|
|
241
242
|
import {
|
|
242
243
|
fetchLatestPublishedVersion,
|
|
243
244
|
readGlobalCliInstall,
|
|
244
245
|
resolvePathBinary
|
|
245
|
-
} from "../chunk-
|
|
246
|
+
} from "../chunk-GS5FH3C2.js";
|
|
246
247
|
import {
|
|
247
248
|
getBaseUrl
|
|
248
|
-
} from "../chunk-
|
|
249
|
+
} from "../chunk-IKBTG3OT.js";
|
|
249
250
|
import {
|
|
250
251
|
UsageError
|
|
251
252
|
} from "../chunk-YU2EUD7O.js";
|
|
@@ -257,7 +258,7 @@ import {
|
|
|
257
258
|
} from "../chunk-BG4HHB7E.js";
|
|
258
259
|
import {
|
|
259
260
|
NPX_LATEST_COMMAND
|
|
260
|
-
} from "../chunk-
|
|
261
|
+
} from "../chunk-MQMVJDII.js";
|
|
261
262
|
import {
|
|
262
263
|
commandsPackage,
|
|
263
264
|
getPackageVersion,
|
|
@@ -278,7 +279,7 @@ import {
|
|
|
278
279
|
hookCompatibleProfile,
|
|
279
280
|
isHookActivationReport,
|
|
280
281
|
redactSecretsFromContent
|
|
281
|
-
} from "../chunk-
|
|
282
|
+
} from "../chunk-DL67HX3D.js";
|
|
282
283
|
import "../chunk-MLKGABMK.js";
|
|
283
284
|
|
|
284
285
|
// bin/pushary-doctor.ts
|
|
@@ -1201,6 +1202,9 @@ var main = async () => {
|
|
|
1201
1202
|
"Remote-control service runtime",
|
|
1202
1203
|
present ? `${serviceNode}${manager ? ` (${describeServiceNodeRisk(manager)})` : ""}` : `${serviceNode} is gone${manager ? ` (${manager} switched Node since setup)` : ""}; run \`pushary daemon install\` to repin the service`
|
|
1203
1204
|
);
|
|
1205
|
+
for (const start of serviceStartFileChecks(serviceFile.contents, process.platform, existsSync)) {
|
|
1206
|
+
check(start.passed, start.label, start.detail);
|
|
1207
|
+
}
|
|
1204
1208
|
} else if (serviceFile) {
|
|
1205
1209
|
console.log(` ${warn} Remote-control service runtime ${dim(`(could not read the node path out of ${serviceFile.path})`)}`);
|
|
1206
1210
|
}
|