pushary 1.9.143 → 1.9.145
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 +13 -0
- package/data/SKILL.md +4 -2
- package/data/cursor-plugin/skills/pushary/SKILL.md +3 -1
- package/data/vscode-plugin/skills/pushary/SKILL.md +3 -1
- package/dist/{api-2YC2KSIM.js → api-KWJQMO6G.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 +35 -35
- package/dist/bin/pushary-codex-bridge.js +23 -23
- package/dist/bin/pushary-codex-hook.js +35 -35
- 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 +7 -0
- package/dist/bin/pushary-doctor.js +58 -43
- 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 -35
- 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 -35
- package/dist/bin/pushary-permission-hook.js +35 -35
- package/dist/bin/pushary-post-hook.js +28 -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 +122 -54
- 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-XWYCFODT.js → chunk-2ELNRGNX.js} +3 -3
- package/dist/{chunk-PYSDCPZ3.js → chunk-2LGDEPVL.js} +6 -6
- package/dist/{chunk-5TZYAMGW.js → chunk-33BYPZ52.js} +1 -1
- package/dist/{chunk-LUVSHGLH.js → chunk-4KDRT3OA.js} +1 -1
- package/dist/{chunk-B4VIT5N3.js → chunk-4L5WPDTB.js} +1 -1
- package/dist/{chunk-EGUT2MWV.js → chunk-52UXNCZG.js} +3 -3
- package/dist/{chunk-NZHRH4RR.js → chunk-5TWW7ZUL.js} +5 -5
- package/dist/{chunk-DU4KCXC2.js → chunk-63WX5KZN.js} +3 -3
- package/dist/{chunk-DOXH5BV4.js → chunk-6IWOMXUF.js} +4 -4
- package/dist/{chunk-R7FSMUHG.js → chunk-6LZ7MXHD.js} +2 -1
- package/dist/{chunk-EMODTMHE.js → chunk-6UK4K5RS.js} +1 -1
- package/dist/{chunk-IG7NGXBS.js → chunk-72LP4RPC.js} +3 -2
- package/dist/{chunk-MMS7R3VO.js → chunk-7LTP2GHO.js} +2 -2
- package/dist/{chunk-QESEICW4.js → chunk-A2H256WR.js} +1 -1
- package/dist/{chunk-4YH326C5.js → chunk-B4JQIH5M.js} +6 -6
- package/dist/{chunk-4EBJ4PTZ.js → chunk-BWREST4F.js} +1 -1
- package/dist/{chunk-ZVJIJPQY.js → chunk-BYKRAYGD.js} +1 -1
- package/dist/{chunk-3VOUWGFF.js → chunk-CUR2DCZN.js} +4 -4
- package/dist/chunk-D3UFDCTQ.js +87 -0
- package/dist/{chunk-UIZE4YMU.js → chunk-DZIZ3XFL.js} +2 -2
- package/dist/{chunk-QQHUUPPW.js → chunk-EPWOARGR.js} +2 -2
- package/dist/{chunk-LWQLM3AO.js → chunk-FCSPMSDC.js} +4 -4
- package/dist/{chunk-X2MC2CF3.js → chunk-FNAH3YJC.js} +16 -16
- package/dist/{chunk-ZKKZEVNI.js → chunk-G3VSMI7K.js} +2 -2
- package/dist/{chunk-SYZF5SDG.js → chunk-GK5X2ZTN.js} +5 -5
- package/dist/{chunk-UJETZZG5.js → chunk-GURIOZE7.js} +8 -8
- package/dist/{chunk-7VMVMC4H.js → chunk-HOQH5CLZ.js} +1 -1
- package/dist/{chunk-LS6BU5RM.js → chunk-IDLOJIIS.js} +1 -1
- package/dist/{chunk-P5QXH5QI.js → chunk-IIN26HL7.js} +1 -1
- package/dist/{chunk-22CXL7YI.js → chunk-IRPIMQ7U.js} +3 -3
- package/dist/{chunk-4JTZZXB3.js → chunk-JKWUF776.js} +3 -3
- package/dist/{chunk-7QWH257P.js → chunk-JZT2LPRM.js} +1 -1
- package/dist/{chunk-QGJK3NAR.js → chunk-K2SKUBYY.js} +12 -12
- package/dist/{chunk-K7MVCPH5.js → chunk-KFALRZIN.js} +4 -4
- package/dist/{chunk-44Z6MQZ2.js → chunk-KGFB2LEB.js} +3 -3
- package/dist/{chunk-NOTW7GOC.js → chunk-KKPT7ROP.js} +2 -2
- package/dist/{chunk-4Z7YVVKQ.js → chunk-KS3PNTRT.js} +1 -1
- package/dist/{chunk-6JLANX5L.js → chunk-L4OGTRVW.js} +4 -4
- package/dist/{chunk-QLGLUUOP.js → chunk-LD4R2P6N.js} +1 -1
- package/dist/{chunk-4OX4SJGA.js → chunk-LJRPWUST.js} +3 -3
- package/dist/{chunk-DDJHPMBJ.js → chunk-LMU6NG2G.js} +1 -1
- package/dist/{chunk-C5LIS3XM.js → chunk-LQXUWXQP.js} +7 -0
- package/dist/{chunk-MOYEHNFP.js → chunk-MKHVLDMN.js} +2 -2
- package/dist/{chunk-G3G7DWR3.js → chunk-MNU5N3CQ.js} +11 -11
- package/dist/{chunk-BHKODM4L.js → chunk-MOC2DN42.js} +2 -2
- package/dist/{chunk-FS47XZCE.js → chunk-NTMKJRQ3.js} +2 -2
- package/dist/{chunk-WSKBXADV.js → chunk-OONMKLUF.js} +4 -4
- package/dist/{chunk-NQF652IG.js → chunk-PXZTCR4M.js} +2 -2
- package/dist/{chunk-V7CS72Q5.js → chunk-PY6CM4NK.js} +6 -6
- package/dist/{chunk-G7G2ZPT4.js → chunk-Q6P7G4NY.js} +4 -4
- package/dist/{chunk-KRSZFHNS.js → chunk-QKTF7WS6.js} +67 -4
- package/dist/{chunk-5RSM5DRT.js → chunk-R34RWVN2.js} +6 -5
- package/dist/{chunk-FYB6HBHQ.js → chunk-RO6EVL5C.js} +2 -2
- package/dist/{chunk-SMF4TBPU.js → chunk-RWLNTZK5.js} +5 -5
- package/dist/{chunk-LTPKSJWY.js → chunk-S3A4PCRR.js} +10 -10
- package/dist/{chunk-YCU7Y77H.js → chunk-S7HGPKCL.js} +1 -1
- package/dist/{chunk-MH5BRZOQ.js → chunk-SQL5YXUH.js} +1 -1
- package/dist/{chunk-MLOYBLO4.js → chunk-TJXJGMSP.js} +4 -4
- package/dist/{chunk-MQF6MQMR.js → chunk-TRV3ETGY.js} +5 -5
- package/dist/{chunk-42DRRA6N.js → chunk-USFZJAB4.js} +1 -1
- package/dist/{chunk-QFZNPZRO.js → chunk-VTJ4WZOC.js} +3 -3
- package/dist/{chunk-ZF4CPOO7.js → chunk-WH4ODOCE.js} +6 -6
- package/dist/{chunk-3WZMIDGX.js → chunk-WMBWKPKJ.js} +5 -5
- package/dist/{chunk-HIIXYZYV.js → chunk-WOSO4YFQ.js} +3 -3
- package/dist/{chunk-V53QYJNY.js → chunk-WPBWJMBZ.js} +5 -5
- package/dist/{chunk-USNGPJXF.js → chunk-WUT3PO33.js} +8 -8
- package/dist/{chunk-R27HXRSK.js → chunk-Y7INHH5G.js} +3 -3
- package/dist/{chunk-ZDOTNMGL.js → chunk-YNCVSKUW.js} +10 -8
- package/dist/{chunk-DZLLKJJT.js → chunk-YRJZF5RG.js} +3 -3
- package/dist/{chunk-CNURORKI.js → chunk-YU5XE6VC.js} +6 -6
- package/dist/{chunk-TKFNIDZK.js → chunk-YZA3YBHX.js} +2 -2
- package/dist/{chunk-53KLGXFL.js → chunk-ZBMVOMFG.js} +4 -3
- package/dist/{chunk-H33CFJOF.js → chunk-ZJZNT2G5.js} +4 -4
- package/dist/{chunk-HLWS6ADK.js → chunk-ZORBUQFG.js} +2 -2
- package/dist/{chunk-KP6FVUCC.js → chunk-ZSOCJHL7.js} +188 -13
- package/dist/{codex-app-cards-switch-EGUHSLTG.js → codex-app-cards-switch-F7WQ7Y3I.js} +11 -11
- package/dist/{codex-card-routing-I6YOJBTT.js → codex-card-routing-EVL5L36G.js} +2 -2
- package/dist/{codex-desktop-launch-6UN5CWCX.js → codex-desktop-launch-PL6Z2ELZ.js} +1 -1
- package/dist/{codex-session-launch-7R3HNIDJ.js → codex-session-launch-7NQEAUDU.js} +20 -20
- package/dist/{config-2CHOLFNB.js → config-KFFD4VWH.js} +3 -3
- package/dist/{global-upgrade-CCVIYELF.js → global-upgrade-L3CY6EFF.js} +9 -9
- package/dist/{identity-7QA3EDOM.js → identity-DPYYIMHL.js} +4 -4
- package/dist/{live-capabilities-SDMX6CPZ.js → live-capabilities-QJEXK6GH.js} +4 -4
- package/dist/{paths-ZC6XY73Q.js → paths-PEF6C64P.js} +3 -3
- package/dist/{reapply-W6AIK5PH.js → reapply-7APCQRRK.js} +29 -29
- package/dist/src/index.js +34 -34
- package/dist/{upgrade-lock-BRVUBSLD.js → upgrade-lock-A7OKXMRW.js} +4 -4
- package/dist/{usage-GWUTCS5A.js → usage-HSS33762.js} +3 -3
- package/package.json +1 -1
- package/dist/chunk-I6HXZIER.js +0 -31
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
SETUP_FLAGS
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-ZBMVOMFG.js";
|
|
4
4
|
import {
|
|
5
5
|
parseFlags
|
|
6
6
|
} from "./chunk-YPY4YCIZ.js";
|
|
@@ -9,7 +9,7 @@ import {
|
|
|
9
9
|
} from "./chunk-YU2EUD7O.js";
|
|
10
10
|
import {
|
|
11
11
|
NPX_LATEST_COMMAND
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-6LZ7MXHD.js";
|
|
13
13
|
import {
|
|
14
14
|
CLAUDE_CONNECTOR_GUIDE,
|
|
15
15
|
CLAUDE_CONNECTOR_STEPS,
|
|
@@ -17,7 +17,7 @@ import {
|
|
|
17
17
|
CLAUDE_CONNECTOR_URL,
|
|
18
18
|
COWORK_CONNECTOR_LIMIT,
|
|
19
19
|
COWORK_STANDING_INSTRUCTIONS
|
|
20
|
-
} from "./chunk-
|
|
20
|
+
} from "./chunk-LQXUWXQP.js";
|
|
21
21
|
|
|
22
22
|
// src/cli/cowork.ts
|
|
23
23
|
import { readFileSync } from "fs";
|
|
@@ -27,11 +27,11 @@ import {
|
|
|
27
27
|
toolResultErrorText,
|
|
28
28
|
transcriptTokensIn,
|
|
29
29
|
transcriptUsageRequest
|
|
30
|
-
} from "./chunk-
|
|
30
|
+
} from "./chunk-JZT2LPRM.js";
|
|
31
31
|
import {
|
|
32
32
|
branchFor,
|
|
33
33
|
repoKeyFor
|
|
34
|
-
} from "./chunk-
|
|
34
|
+
} from "./chunk-6UK4K5RS.js";
|
|
35
35
|
import {
|
|
36
36
|
cancelQuestion,
|
|
37
37
|
clientErrorKindOf,
|
|
@@ -39,39 +39,39 @@ import {
|
|
|
39
39
|
reportClientError,
|
|
40
40
|
sendNotification,
|
|
41
41
|
waitForAnswer
|
|
42
|
-
} from "./chunk-
|
|
42
|
+
} from "./chunk-YU5XE6VC.js";
|
|
43
43
|
import {
|
|
44
44
|
isRetryable,
|
|
45
45
|
withRetry
|
|
46
|
-
} from "./chunk-
|
|
46
|
+
} from "./chunk-WPBWJMBZ.js";
|
|
47
47
|
import {
|
|
48
48
|
RETRY_ACK,
|
|
49
49
|
readCommandAck,
|
|
50
50
|
refusedReceiptMessage
|
|
51
|
-
} from "./chunk-
|
|
51
|
+
} from "./chunk-BYKRAYGD.js";
|
|
52
52
|
import {
|
|
53
53
|
fetchAsCredential
|
|
54
|
-
} from "./chunk-
|
|
54
|
+
} from "./chunk-S7HGPKCL.js";
|
|
55
55
|
import {
|
|
56
56
|
getMachineId
|
|
57
|
-
} from "./chunk-
|
|
57
|
+
} from "./chunk-KS3PNTRT.js";
|
|
58
58
|
import {
|
|
59
59
|
reportedInstallSource
|
|
60
|
-
} from "./chunk-
|
|
60
|
+
} from "./chunk-MOC2DN42.js";
|
|
61
61
|
import {
|
|
62
62
|
IDLE_PROMPT_NOTIFICATION,
|
|
63
63
|
NOTIFICATION_PUSH_TYPES,
|
|
64
64
|
POSTTOOLUSE_MIRROR_ONLY_TOOLS,
|
|
65
65
|
claudeConfigDir
|
|
66
|
-
} from "./chunk-
|
|
66
|
+
} from "./chunk-72LP4RPC.js";
|
|
67
67
|
import {
|
|
68
68
|
compareVersion,
|
|
69
69
|
parseVersion
|
|
70
|
-
} from "./chunk-
|
|
70
|
+
} from "./chunk-VTJ4WZOC.js";
|
|
71
71
|
import {
|
|
72
72
|
getApiKey,
|
|
73
73
|
getBaseUrl
|
|
74
|
-
} from "./chunk-
|
|
74
|
+
} from "./chunk-BWREST4F.js";
|
|
75
75
|
import {
|
|
76
76
|
writeFileAtomic,
|
|
77
77
|
writeJsonAtomicDurable
|
|
@@ -100,7 +100,7 @@ import {
|
|
|
100
100
|
resolveAutoResolveOrigin,
|
|
101
101
|
resolvePolicy,
|
|
102
102
|
unansweredRefusalReason
|
|
103
|
-
} from "./chunk-
|
|
103
|
+
} from "./chunk-LQXUWXQP.js";
|
|
104
104
|
|
|
105
105
|
// src/pending.ts
|
|
106
106
|
import { join } from "path";
|
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
import {
|
|
2
2
|
macAppBridgeAvailable
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-GK5X2ZTN.js";
|
|
4
4
|
import {
|
|
5
5
|
keyPrefix
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-WOSO4YFQ.js";
|
|
7
7
|
import {
|
|
8
8
|
bridgeAgentKey
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-72LP4RPC.js";
|
|
10
10
|
import {
|
|
11
11
|
readJsonSafe
|
|
12
12
|
} from "./chunk-TODDEIYG.js";
|
|
13
13
|
import {
|
|
14
14
|
isRecord,
|
|
15
15
|
isValidApiKey
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-LQXUWXQP.js";
|
|
17
17
|
|
|
18
18
|
// src/shared-mcp-key.ts
|
|
19
19
|
var asRecord = (value) => value !== null && typeof value === "object" && !Array.isArray(value) ? value : void 0;
|
|
@@ -536,8 +536,8 @@ var loadedOnce = (load) => {
|
|
|
536
536
|
};
|
|
537
537
|
|
|
538
538
|
// src/codex-desktop-proxy.ts
|
|
539
|
-
var loadThePhone = () => import("./api-
|
|
540
|
-
var loadTheCardRouting = () => import("./codex-card-routing-
|
|
539
|
+
var loadThePhone = () => import("./api-KWJQMO6G.js");
|
|
540
|
+
var loadTheCardRouting = () => import("./codex-card-routing-EVL5L36G.js");
|
|
541
541
|
var theFirstCardLoadsAgain = () => {
|
|
542
542
|
};
|
|
543
543
|
var ASKS_WITHOUT_ROUTING = {};
|
|
@@ -1097,7 +1097,7 @@ var codexDesktopCommand = async (args, entry, readAccount) => {
|
|
|
1097
1097
|
return runCodexDesktopProxy(engine2, args.slice(3), readAccount, { watchesForCards: layoutIsKnown });
|
|
1098
1098
|
}
|
|
1099
1099
|
if (args[0] === APP_CARDS_FLAG) {
|
|
1100
|
-
const { codexAppCardsCommandOnThisMac } = await import("./codex-app-cards-switch-
|
|
1100
|
+
const { codexAppCardsCommandOnThisMac } = await import("./codex-app-cards-switch-F7WQ7Y3I.js");
|
|
1101
1101
|
return codexAppCardsCommandOnThisMac(args.slice(1), entry, readAccount);
|
|
1102
1102
|
}
|
|
1103
1103
|
if (args.length > 2) throw new Error("Usage: pushary codex --desktop [path/to/Codex.app]");
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
pusharyDir
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-72LP4RPC.js";
|
|
4
4
|
import {
|
|
5
5
|
readRegularJsonFile,
|
|
6
6
|
writeFileAtomic
|
|
@@ -13,7 +13,7 @@ import {
|
|
|
13
13
|
serializeDeclinedAgents,
|
|
14
14
|
withDeclinedAgent,
|
|
15
15
|
withoutDeclinedAgent
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-LQXUWXQP.js";
|
|
17
17
|
|
|
18
18
|
// src/declined-agents-file.ts
|
|
19
19
|
import { join } from "path";
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
import {
|
|
2
2
|
pusharyHookExecutable
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-CUR2DCZN.js";
|
|
4
4
|
import {
|
|
5
5
|
bridgeResolvesToApp,
|
|
6
6
|
cursorUserHooks,
|
|
7
7
|
executableFileName,
|
|
8
8
|
isBridgeLocator,
|
|
9
9
|
liveBridgeProbe
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-72LP4RPC.js";
|
|
11
11
|
import {
|
|
12
12
|
atLeast,
|
|
13
13
|
parseVersion
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-VTJ4WZOC.js";
|
|
15
15
|
import {
|
|
16
16
|
CURSOR_GATE_COVERAGE,
|
|
17
17
|
CURSOR_GATE_SCRIPT,
|
|
@@ -21,7 +21,7 @@ import {
|
|
|
21
21
|
isCursorHookPayload,
|
|
22
22
|
isRecord,
|
|
23
23
|
toolsCoveredByGateEntry
|
|
24
|
-
} from "./chunk-
|
|
24
|
+
} from "./chunk-LQXUWXQP.js";
|
|
25
25
|
|
|
26
26
|
// src/cursor-gate-registration.ts
|
|
27
27
|
import { dirname, isAbsolute, join, resolve } from "path";
|
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
import {
|
|
2
2
|
readExistingMachineId
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-KS3PNTRT.js";
|
|
4
4
|
import {
|
|
5
5
|
NetworkError
|
|
6
6
|
} from "./chunk-YU2EUD7O.js";
|
|
7
7
|
import {
|
|
8
8
|
getBaseUrl
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-BWREST4F.js";
|
|
10
10
|
import {
|
|
11
11
|
getPackageVersion
|
|
12
12
|
} from "./chunk-WIIMW5YO.js";
|
|
13
13
|
import {
|
|
14
14
|
clientContextHeaders,
|
|
15
15
|
redactSecretsFromContent
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-LQXUWXQP.js";
|
|
17
17
|
|
|
18
18
|
// src/cli/net.ts
|
|
19
19
|
import { createRequire } from "module";
|
|
@@ -519,6 +519,13 @@ var AGENTS = {
|
|
|
519
519
|
setupGuide: "[Grok Bot setup](/docs/agents/guides/grok-bot)",
|
|
520
520
|
capabilityNote: "Grok Bot keeps its own approval cards, and Pushary cannot stop a Bot in the middle of a task. A question nobody answers expires after about ten minutes and is never treated as a yes."
|
|
521
521
|
},
|
|
522
|
+
muse: {
|
|
523
|
+
...defaults,
|
|
524
|
+
label: "Muse",
|
|
525
|
+
connectVia: "Muse custom connector (remote MCP)",
|
|
526
|
+
documented: false,
|
|
527
|
+
capabilityNote: "Muse keeps its own confirmations, and Pushary cannot stop Muse in the middle of a task. Muse decides when to ask through Pushary. A question nobody answers expires after about ten minutes and is never treated as a yes."
|
|
528
|
+
},
|
|
522
529
|
windsurf: {
|
|
523
530
|
...defaults,
|
|
524
531
|
label: "Windsurf",
|
|
@@ -3,7 +3,7 @@ import {
|
|
|
3
3
|
} from "./chunk-POFBE6ZY.js";
|
|
4
4
|
import {
|
|
5
5
|
autoUpdateState
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-72LP4RPC.js";
|
|
7
7
|
import {
|
|
8
8
|
readJsonSafe,
|
|
9
9
|
writeJsonAtomic
|
|
@@ -17,7 +17,7 @@ import {
|
|
|
17
17
|
} from "./chunk-WIIMW5YO.js";
|
|
18
18
|
import {
|
|
19
19
|
isAutoUpdateResult
|
|
20
|
-
} from "./chunk-
|
|
20
|
+
} from "./chunk-LQXUWXQP.js";
|
|
21
21
|
|
|
22
22
|
// src/auto-update.ts
|
|
23
23
|
import { spawn } from "child_process";
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import {
|
|
2
2
|
ensureCodexTrustsPusharyHooks
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-ZORBUQFG.js";
|
|
4
4
|
import {
|
|
5
5
|
hermesReceiptPaths,
|
|
6
6
|
hermesSetupPredatesThePluginFolder,
|
|
7
7
|
installHermesPlugin,
|
|
8
8
|
refreshHermesPluginFiles,
|
|
9
9
|
shippedHermesPlugin
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-ZSOCJHL7.js";
|
|
11
11
|
import {
|
|
12
12
|
fxIgnoresInstructionsFile,
|
|
13
13
|
fxInstructionsBody,
|
|
@@ -16,7 +16,7 @@ import {
|
|
|
16
16
|
macAppFxBridge,
|
|
17
17
|
refreshClineKey,
|
|
18
18
|
switchFxHttpEntryToBridge
|
|
19
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-YNCVSKUW.js";
|
|
20
20
|
import {
|
|
21
21
|
OPENCODE_HOOK_BINARY,
|
|
22
22
|
agentHookOwner,
|
|
@@ -28,16 +28,16 @@ import {
|
|
|
28
28
|
openCodePluginDir,
|
|
29
29
|
openCodeWired,
|
|
30
30
|
withOpenCodeAskRules
|
|
31
|
-
} from "./chunk-
|
|
31
|
+
} from "./chunk-GK5X2ZTN.js";
|
|
32
32
|
import {
|
|
33
33
|
detectClaudeVersion
|
|
34
|
-
} from "./chunk-
|
|
34
|
+
} from "./chunk-DZIZ3XFL.js";
|
|
35
35
|
import {
|
|
36
36
|
addCompatibleHooks,
|
|
37
37
|
compatibleConfigFile,
|
|
38
38
|
compatibleInstructionsFile,
|
|
39
39
|
hasCompatibleHooks
|
|
40
|
-
} from "./chunk-
|
|
40
|
+
} from "./chunk-R34RWVN2.js";
|
|
41
41
|
import {
|
|
42
42
|
GEMINI_HOOK_BINARY,
|
|
43
43
|
addGeminiHooks,
|
|
@@ -49,10 +49,10 @@ import {
|
|
|
49
49
|
geminiWired,
|
|
50
50
|
hasGeminiHooks,
|
|
51
51
|
planHooks
|
|
52
|
-
} from "./chunk-
|
|
52
|
+
} from "./chunk-CUR2DCZN.js";
|
|
53
53
|
import {
|
|
54
54
|
KEY_FILE_MODE
|
|
55
|
-
} from "./chunk-
|
|
55
|
+
} from "./chunk-WOSO4YFQ.js";
|
|
56
56
|
import {
|
|
57
57
|
CLAUDE_HOOK_BINARY,
|
|
58
58
|
CLAUDE_HOOK_EVENTS,
|
|
@@ -99,13 +99,13 @@ import {
|
|
|
99
99
|
renderAgentInstructions,
|
|
100
100
|
supportedClaudeEvents,
|
|
101
101
|
vscodePluginMcp
|
|
102
|
-
} from "./chunk-
|
|
102
|
+
} from "./chunk-72LP4RPC.js";
|
|
103
103
|
import {
|
|
104
104
|
formatVersion,
|
|
105
105
|
hookCommandsUseBareNames,
|
|
106
106
|
resolveGlobalBinDir,
|
|
107
107
|
resolveGlobalBinary
|
|
108
|
-
} from "./chunk-
|
|
108
|
+
} from "./chunk-VTJ4WZOC.js";
|
|
109
109
|
import {
|
|
110
110
|
readJsonSafe,
|
|
111
111
|
writeFileAtomic,
|
|
@@ -115,7 +115,7 @@ import {
|
|
|
115
115
|
HOOK_COMPATIBLE_PROFILES,
|
|
116
116
|
isCompatibleAgentType,
|
|
117
117
|
isRecord
|
|
118
|
-
} from "./chunk-
|
|
118
|
+
} from "./chunk-LQXUWXQP.js";
|
|
119
119
|
|
|
120
120
|
// src/reapply.ts
|
|
121
121
|
import { dirname, join } from "path";
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import {
|
|
2
2
|
claudeConfigDir
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-72LP4RPC.js";
|
|
4
4
|
import {
|
|
5
5
|
claudePermissionRulesFromSettings
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-LQXUWXQP.js";
|
|
7
7
|
|
|
8
8
|
// src/claude-permission-rules.ts
|
|
9
9
|
import { readFileSync, statSync } from "fs";
|
|
@@ -1,21 +1,21 @@
|
|
|
1
1
|
import {
|
|
2
2
|
UNNAMED_ACTION
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-JZT2LPRM.js";
|
|
4
4
|
import {
|
|
5
5
|
askUser,
|
|
6
6
|
isAwayPaused,
|
|
7
7
|
isLocalQuestionHandoff,
|
|
8
8
|
unavailableQuestionUnlessRefused,
|
|
9
9
|
waitForQuestion
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-YU5XE6VC.js";
|
|
11
11
|
import {
|
|
12
12
|
getMachineId
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-KS3PNTRT.js";
|
|
14
14
|
import {
|
|
15
15
|
hookWaitClamped,
|
|
16
16
|
hookWaitDeadline,
|
|
17
17
|
scopeBreachReasonOf
|
|
18
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-LQXUWXQP.js";
|
|
19
19
|
|
|
20
20
|
// src/pushed-question.ts
|
|
21
21
|
var scopeQuestionOf = (verdict) => {
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import {
|
|
2
2
|
pusharyDir
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-72LP4RPC.js";
|
|
4
4
|
import {
|
|
5
5
|
readJsonSafe
|
|
6
6
|
} from "./chunk-TODDEIYG.js";
|
|
7
7
|
import {
|
|
8
8
|
isRecord
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-LQXUWXQP.js";
|
|
10
10
|
|
|
11
11
|
// src/process-ownership.ts
|
|
12
12
|
import { createHash, randomUUID } from "crypto";
|
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
import {
|
|
2
2
|
APPROVAL_RULES_PATH,
|
|
3
3
|
canChangeApprovalSettings
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-YZA3YBHX.js";
|
|
5
5
|
import {
|
|
6
6
|
callMcpTool
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-WPBWJMBZ.js";
|
|
8
8
|
import {
|
|
9
9
|
absoluteUrl
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-YRJZF5RG.js";
|
|
11
11
|
import {
|
|
12
12
|
getBaseUrl
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-BWREST4F.js";
|
|
14
14
|
import {
|
|
15
15
|
NPX_LATEST_COMMAND
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-6LZ7MXHD.js";
|
|
17
17
|
import {
|
|
18
18
|
AGENT_STOP_DEFAULT_SECONDS,
|
|
19
19
|
APPROVAL_MODE_META,
|
|
@@ -21,7 +21,7 @@ import {
|
|
|
21
21
|
classifyConfirmResponse,
|
|
22
22
|
isAnswerSource,
|
|
23
23
|
roundTripAsk
|
|
24
|
-
} from "./chunk-
|
|
24
|
+
} from "./chunk-LQXUWXQP.js";
|
|
25
25
|
|
|
26
26
|
// src/reach.ts
|
|
27
27
|
var reachVerdict = (channels) => {
|
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
import {
|
|
2
2
|
openCodeConfigDirFrom
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-GK5X2ZTN.js";
|
|
4
4
|
import {
|
|
5
5
|
nativeClaudeInstallPath
|
|
6
6
|
} from "./chunk-CYTPQDQY.js";
|
|
7
7
|
import {
|
|
8
8
|
grokHome
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-R34RWVN2.js";
|
|
10
10
|
import {
|
|
11
11
|
claudeConfigDir,
|
|
12
12
|
clineDataDirectory,
|
|
13
13
|
codexHomeFrom
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-72LP4RPC.js";
|
|
15
15
|
import {
|
|
16
16
|
HOOK_COMPATIBLE_PROFILES
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-LQXUWXQP.js";
|
|
18
18
|
|
|
19
19
|
// src/vscode-config.ts
|
|
20
20
|
import { homedir } from "os";
|
|
@@ -1,12 +1,18 @@
|
|
|
1
1
|
import {
|
|
2
2
|
CODEX_HOOK_STATUS
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-ZORBUQFG.js";
|
|
4
|
+
import {
|
|
5
|
+
HERMES_ALWAYS_ALLOWED_SHELL_RULE,
|
|
6
|
+
HERMES_COMMAND_ALLOWLIST_KEY,
|
|
7
|
+
HERMES_GATE_TOOLS_KEY,
|
|
8
|
+
HERMES_SHELL_TOOL
|
|
9
|
+
} from "./chunk-ZSOCJHL7.js";
|
|
4
10
|
import {
|
|
5
11
|
retryAgentCommand
|
|
6
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-2ELNRGNX.js";
|
|
7
13
|
import {
|
|
8
14
|
NPX_LATEST_COMMAND
|
|
9
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-6LZ7MXHD.js";
|
|
10
16
|
|
|
11
17
|
// src/setup/codex-trust.ts
|
|
12
18
|
var CODEX_TRUST_TELEMETRY = {
|
|
@@ -78,6 +84,8 @@ var describeCodexTrustConfirmation = (confirmation) => {
|
|
|
78
84
|
// src/hermes/messages.ts
|
|
79
85
|
var HERMES_RESTART_COMMAND = "hermes gateway restart";
|
|
80
86
|
var HERMES_MAC_APP_REPAIR = "open Pushary on this Mac and connect Hermes again";
|
|
87
|
+
var HERMES_GATE_SHELL_FLAG = "--hermes-gate-terminal";
|
|
88
|
+
var hermesGateShellCommand = () => `${retryAgentCommand("hermes")} ${HERMES_GATE_SHELL_FLAG}`;
|
|
81
89
|
var describeHermesInstallFailure = (reason, pluginDirectory, receiptPath) => {
|
|
82
90
|
switch (reason) {
|
|
83
91
|
case "home_unknown":
|
|
@@ -118,6 +126,58 @@ var describeHermesState = (state) => {
|
|
|
118
126
|
return state.runningVersion === state.version ? "Hermes loaded Pushary" : `Hermes runs Pushary ${state.runningVersion ?? "from an older copy"}; restart it to load ${state.version ?? "the new copy"}`;
|
|
119
127
|
}
|
|
120
128
|
};
|
|
129
|
+
var ONLY_LISTED_TOOLS = `Pushary only gates the tools listed in ${HERMES_GATE_TOOLS_KEY}, and ${HERMES_SHELL_TOOL} is not one of them`;
|
|
130
|
+
var SKIP_DOUBTS = {
|
|
131
|
+
plugin_backend: "A terminal backend from a plugin may tell Hermes to skip its own approvals.",
|
|
132
|
+
docker_start_folder: "Hermes checks dangerous commands on docker only when it mounts a host folder. docker_mount_cwd_to_workspace mounts the folder Hermes starts in, but not /root or /workspace, so a gateway started there skips the check."
|
|
133
|
+
};
|
|
134
|
+
var shellGateFix = () => `run ${hermesGateShellCommand()}, then ${HERMES_RESTART_COMMAND}`;
|
|
135
|
+
var whyTheShellNeedsAGate = (backend, skip) => skip.kind === "skips" ? `Hermes skips its own dangerous-command approvals on the ${backend} backend, because it treats the container as the boundary.` : SKIP_DOUBTS[skip.doubt];
|
|
136
|
+
var ungatedLabel = (backend, skip) => skip.kind === "skips" ? `Hermes: no dangerous-command approvals reach your phone on the ${backend} backend` : `Hermes: dangerous-command approvals may not reach your phone on the ${backend} backend`;
|
|
137
|
+
var gatedDetail = (backend, skip) => {
|
|
138
|
+
const why = skip.kind === "skips" ? `Hermes skips its own approvals on the ${backend} backend` : `the ${backend} backend may skip Hermes's own approvals`;
|
|
139
|
+
return `${why}, and ${HERMES_GATE_TOOLS_KEY} includes ${HERMES_SHELL_TOOL}`;
|
|
140
|
+
};
|
|
141
|
+
var describeHermesShellGate = (state) => {
|
|
142
|
+
switch (state.kind) {
|
|
143
|
+
case "hermes_asks":
|
|
144
|
+
return { tone: "pass", label: "Hermes: checks dangerous commands before running them", detail: `terminal backend ${state.backend}` };
|
|
145
|
+
case "pushary_gates":
|
|
146
|
+
return { tone: "pass", label: `Hermes: Pushary gates every ${HERMES_SHELL_TOOL} command`, detail: gatedDetail(state.backend, state.skip) };
|
|
147
|
+
case "always_allowed":
|
|
148
|
+
return {
|
|
149
|
+
tone: "warn",
|
|
150
|
+
label: `Hermes: ${HERMES_SHELL_TOOL} commands run without asking`,
|
|
151
|
+
detail: `${HERMES_COMMAND_ALLOWLIST_KEY} holds ${HERMES_ALWAYS_ALLOWED_SHELL_RULE}, which "Always allow" adds, so Hermes lets every ${HERMES_SHELL_TOOL} command through before Pushary is asked`,
|
|
152
|
+
fix: `remove ${HERMES_ALWAYS_ALLOWED_SHELL_RULE} from ${HERMES_COMMAND_ALLOWLIST_KEY} in your Hermes config.yaml, then ${HERMES_RESTART_COMMAND}`
|
|
153
|
+
};
|
|
154
|
+
case "ungated":
|
|
155
|
+
return {
|
|
156
|
+
tone: "warn",
|
|
157
|
+
label: ungatedLabel(state.backend, state.skip),
|
|
158
|
+
detail: `${whyTheShellNeedsAGate(state.backend, state.skip)} ${ONLY_LISTED_TOOLS}`,
|
|
159
|
+
fix: shellGateFix()
|
|
160
|
+
};
|
|
161
|
+
case "unreadable":
|
|
162
|
+
return {
|
|
163
|
+
tone: "note",
|
|
164
|
+
label: "Hermes: terminal settings unknown",
|
|
165
|
+
detail: "Hermes did not report its terminal backend or docker mounts through hermes config get in a form Pushary can read, so it cannot say whether Hermes checks dangerous commands"
|
|
166
|
+
};
|
|
167
|
+
}
|
|
168
|
+
};
|
|
169
|
+
var describeHermesShellGateFailure = (reason, receiptPath) => {
|
|
170
|
+
switch (reason) {
|
|
171
|
+
case "receipt_missing":
|
|
172
|
+
return `${receiptPath} is missing, so setup cannot record what ${HERMES_GATE_TOOLS_KEY} held before. Run setup again.`;
|
|
173
|
+
case "receipt_invalid":
|
|
174
|
+
return `${receiptPath} is unreadable, so setup cannot record what ${HERMES_GATE_TOOLS_KEY} held before. Move it aside, then run setup again.`;
|
|
175
|
+
case "setting_unreadable":
|
|
176
|
+
return `${HERMES_GATE_TOOLS_KEY} holds a value setup cannot read as a list of tools, so it was left as it is. Add ${HERMES_SHELL_TOOL} to it yourself with hermes config set ${HERMES_GATE_TOOLS_KEY}.`;
|
|
177
|
+
case "setting_refused":
|
|
178
|
+
return `Hermes refused to change ${HERMES_GATE_TOOLS_KEY}. Add ${HERMES_SHELL_TOOL} to it yourself with hermes config set ${HERMES_GATE_TOOLS_KEY}.`;
|
|
179
|
+
}
|
|
180
|
+
};
|
|
121
181
|
|
|
122
182
|
export {
|
|
123
183
|
codexTrustOutcome,
|
|
@@ -128,8 +188,11 @@ export {
|
|
|
128
188
|
needsCodexTrustStep,
|
|
129
189
|
describeCodexTrustConfirmation,
|
|
130
190
|
HERMES_RESTART_COMMAND,
|
|
191
|
+
hermesGateShellCommand,
|
|
131
192
|
describeHermesInstallFailure,
|
|
132
193
|
describeHermesProblems,
|
|
133
194
|
hermesRepairStep,
|
|
134
|
-
describeHermesState
|
|
195
|
+
describeHermesState,
|
|
196
|
+
describeHermesShellGate,
|
|
197
|
+
describeHermesShellGateFailure
|
|
135
198
|
};
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import {
|
|
2
2
|
addGeminiMcpServer,
|
|
3
3
|
removeGeminiMcpServer
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-CUR2DCZN.js";
|
|
5
5
|
import {
|
|
6
6
|
CLAUDE_CODE_AGENT
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-K2SKUBYY.js";
|
|
8
8
|
import {
|
|
9
9
|
compatibleToolLookup
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-JZT2LPRM.js";
|
|
11
11
|
import {
|
|
12
12
|
CLAUDE_HOOK_EVENTS,
|
|
13
13
|
PUSHARY_MCP_URL,
|
|
@@ -19,7 +19,7 @@ import {
|
|
|
19
19
|
isPusharyHook,
|
|
20
20
|
registerHookEntry,
|
|
21
21
|
removeClaudeMcpServers
|
|
22
|
-
} from "./chunk-
|
|
22
|
+
} from "./chunk-72LP4RPC.js";
|
|
23
23
|
import {
|
|
24
24
|
HOOK_COMPATIBLE_PROFILES,
|
|
25
25
|
PHONE_ANSWERED_TOOLS,
|
|
@@ -30,7 +30,7 @@ import {
|
|
|
30
30
|
pusharyMissingReason,
|
|
31
31
|
refusalOutput,
|
|
32
32
|
withHookHoldBudget
|
|
33
|
-
} from "./chunk-
|
|
33
|
+
} from "./chunk-LQXUWXQP.js";
|
|
34
34
|
|
|
35
35
|
// src/config-document.ts
|
|
36
36
|
import { parse, stringify } from "smol-toml";
|
|
@@ -192,6 +192,7 @@ var AGENT_ENFORCEMENT = {
|
|
|
192
192
|
fx: NO_HOOK,
|
|
193
193
|
cline: NO_HOOK,
|
|
194
194
|
grok_bot: NO_HOOK,
|
|
195
|
+
muse: NO_HOOK,
|
|
195
196
|
windsurf: NO_HOOK,
|
|
196
197
|
unknown: NO_HOOK,
|
|
197
198
|
lovable: NO_HOOK,
|
|
@@ -9,13 +9,13 @@ import {
|
|
|
9
9
|
installedCodexApp,
|
|
10
10
|
readCodexAppRuntime,
|
|
11
11
|
shellQuoted
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-KGFB2LEB.js";
|
|
13
13
|
import {
|
|
14
14
|
writeHuman
|
|
15
15
|
} from "./chunk-QCGNGEGE.js";
|
|
16
16
|
import {
|
|
17
17
|
xml
|
|
18
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-WH4ODOCE.js";
|
|
19
19
|
import {
|
|
20
20
|
writeFileAtomic
|
|
21
21
|
} from "./chunk-TODDEIYG.js";
|