pushary 1.9.109 → 1.9.111
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/{api-YCDTPFT7.js → api-AESRTYYT.js} +11 -10
- package/dist/bin/pushary-audit.js +3 -3
- package/dist/bin/pushary-bell-hook.js +27 -26
- package/dist/bin/pushary-bell.js +10 -10
- package/dist/bin/pushary-claude.js +25 -24
- package/dist/bin/pushary-clean.js +34 -33
- package/dist/bin/pushary-codex-bridge.js +21 -20
- package/dist/bin/pushary-codex-hook.js +32 -31
- package/dist/bin/pushary-codex-session.js +8 -8
- package/dist/bin/pushary-codex.js +15 -14
- package/dist/bin/pushary-connect.js +28 -27
- package/dist/bin/pushary-cowork.js +5 -5
- package/dist/bin/pushary-daemon.js +41 -40
- package/dist/bin/pushary-disconnect.js +27 -26
- package/dist/bin/pushary-display-hook.js +17 -16
- package/dist/bin/pushary-doctor.js +42 -41
- package/dist/bin/pushary-elicitation-hook.js +27 -26
- package/dist/bin/pushary-gemini-bridge.js +15 -14
- package/dist/bin/pushary-gemini-hook.js +29 -28
- package/dist/bin/pushary-hook.js +32 -31
- package/dist/bin/pushary-login.js +21 -20
- package/dist/bin/pushary-logout.js +26 -25
- package/dist/bin/pushary-mcp.js +12 -11
- package/dist/bin/pushary-mode.js +15 -15
- package/dist/bin/pushary-notification-hook.js +26 -25
- package/dist/bin/pushary-opencode-hook.js +28 -27
- package/dist/bin/pushary-permission-denied-hook.js +32 -31
- package/dist/bin/pushary-permission-hook.js +32 -31
- package/dist/bin/pushary-post-hook.js +26 -25
- package/dist/bin/pushary-prompt-hook.js +26 -25
- package/dist/bin/pushary-session-end-hook.js +26 -25
- package/dist/bin/pushary-session-start-hook.js +35 -34
- package/dist/bin/pushary-setup.js +46 -45
- package/dist/bin/pushary-stats.js +5 -5
- package/dist/bin/pushary-status.js +32 -31
- package/dist/bin/pushary-stop-hook.js +26 -25
- package/dist/bin/pushary-stopfailure-hook.js +26 -25
- package/dist/bin/pushary-suggestions.js +15 -15
- package/dist/bin/pushary-transcript-register.js +17 -16
- package/dist/bin/pushary-transcripts.js +25 -24
- package/dist/bin/pushary-upgrade.js +40 -39
- package/dist/bin/pushary-wait.js +15 -15
- package/dist/bin/pushary.js +7 -7
- package/dist/{chunk-BDAT6H7J.js → chunk-262UYDKT.js} +6 -3
- package/dist/{chunk-QMUSLBVA.js → chunk-2MOWY5QL.js} +5 -5
- package/dist/{chunk-QPNYMNB7.js → chunk-37F75NBN.js} +2 -2
- package/dist/{chunk-BFXJUZUH.js → chunk-3AX5BKYN.js} +2 -2
- package/dist/{chunk-DYA7VIL6.js → chunk-4AKZALX4.js} +14 -14
- package/dist/{chunk-FIFSPMQZ.js → chunk-4M6VUUTX.js} +3 -3
- package/dist/{chunk-K6E24TJ6.js → chunk-54DPX27B.js} +1 -1
- package/dist/{chunk-BUBLUKJM.js → chunk-56ANL3UO.js} +13 -10
- package/dist/{chunk-4BDOUP4B.js → chunk-5EEW4WIS.js} +5 -5
- package/dist/{chunk-G6PHMB3F.js → chunk-5RVL2CQK.js} +3 -3
- package/dist/{chunk-7VIJBCMF.js → chunk-75UJ7W6H.js} +2 -2
- package/dist/{chunk-F3O5VDQL.js → chunk-76ATPJN2.js} +4 -4
- package/dist/{chunk-PEWTRW6S.js → chunk-7HDO5W4C.js} +24 -16
- package/dist/{chunk-PZ3X6NFM.js → chunk-AW7IJ56H.js} +4 -4
- package/dist/{chunk-3X3FNKAE.js → chunk-BH5WEDQ4.js} +1 -1
- package/dist/{chunk-U6LVSHBR.js → chunk-BM32JPXJ.js} +7 -7
- package/dist/{chunk-XUKBMRT2.js → chunk-CIT4NO5H.js} +4 -4
- package/dist/{chunk-KCKLLGMW.js → chunk-DEHWKUKF.js} +4 -4
- package/dist/{chunk-SALM3IYQ.js → chunk-DZE26BID.js} +467 -28
- package/dist/{chunk-FR25IWL7.js → chunk-EPMIBLCE.js} +9 -6
- package/dist/{chunk-EMEF7ALE.js → chunk-FE7HSLTK.js} +5 -5
- package/dist/{chunk-UC2NBQS3.js → chunk-FYVRA5GN.js} +1 -1
- package/dist/{chunk-GU7AN46G.js → chunk-G2TTGQ5A.js} +10 -10
- package/dist/{chunk-7S262556.js → chunk-G42VQNBC.js} +1 -1
- package/dist/{chunk-KCDWWT42.js → chunk-GXTW3W45.js} +1 -1
- package/dist/{chunk-MYDTSPIZ.js → chunk-KHWNW4AS.js} +1 -1
- package/dist/{chunk-S442423U.js → chunk-KICQRZAT.js} +1 -1
- package/dist/{chunk-ULTBTBMV.js → chunk-KLCT2YQD.js} +6 -6
- package/dist/{chunk-S7LMAMMY.js → chunk-LDE7L7XO.js} +4 -4
- package/dist/{chunk-R7D2YAXW.js → chunk-LMECI62A.js} +6 -6
- package/dist/{chunk-I4THVOUC.js → chunk-LTVILMEZ.js} +2 -2
- package/dist/{chunk-7KBKJ2KH.js → chunk-LUFKWK7N.js} +3 -3
- package/dist/{chunk-VZVEZILS.js → chunk-M73Q37LC.js} +2 -2
- package/dist/{chunk-WU3TP2TP.js → chunk-N2VH44GL.js} +6 -6
- package/dist/{chunk-ANKVTTB3.js → chunk-NHDTSA7V.js} +1 -1
- package/dist/{chunk-4SUNBCR6.js → chunk-NUU2JVOG.js} +3 -3
- package/dist/{chunk-UK4Z3X75.js → chunk-NVPCETJ3.js} +1 -1
- package/dist/{chunk-3YY6CUU7.js → chunk-NZZFIIH6.js} +4 -4
- package/dist/{chunk-ZMZG32RS.js → chunk-O2MZQPP4.js} +7 -3
- package/dist/{chunk-RXRKX646.js → chunk-O76PTPKP.js} +1 -1
- package/dist/{chunk-QNUGTQKZ.js → chunk-OECCPPO6.js} +3 -3
- package/dist/{chunk-KK5YNO2M.js → chunk-PCFIYMK4.js} +2 -2
- package/dist/{chunk-X5VHTPAD.js → chunk-PTBWLU4G.js} +5 -5
- package/dist/chunk-PYAPWXVP.js +81 -0
- package/dist/{chunk-6OSRPTDX.js → chunk-Q63L3VBY.js} +4 -4
- package/dist/{chunk-MAWFWQLR.js → chunk-QQMT2JIC.js} +3 -3
- package/dist/{chunk-SDZBQQEK.js → chunk-QVGE26SZ.js} +4 -4
- package/dist/{chunk-HLZIHAUY.js → chunk-R3KDA7JB.js} +3 -3
- package/dist/{chunk-YB2S73VZ.js → chunk-RBM2ROSY.js} +1 -1
- package/dist/{chunk-T3B2L64E.js → chunk-RFFIAX33.js} +2 -2
- package/dist/{chunk-S2NBNU4K.js → chunk-RUORT3DE.js} +5 -5
- package/dist/{chunk-J5EAU44S.js → chunk-SDQQ43FT.js} +1 -1
- package/dist/{chunk-II6M23WI.js → chunk-SSW4QRGU.js} +6 -6
- package/dist/{chunk-FYK7JV2R.js → chunk-TILEGY4M.js} +11 -8
- package/dist/{chunk-VKGSGULO.js → chunk-UN2QALQO.js} +5 -5
- package/dist/{chunk-TKJJWIR4.js → chunk-VA4OGALQ.js} +2 -2
- package/dist/{chunk-V25XPPEY.js → chunk-WO46WX65.js} +2 -2
- package/dist/{chunk-M6SP3FZF.js → chunk-X2XXKXC5.js} +3 -3
- package/dist/{chunk-JOF3TPDT.js → chunk-X5P3IO37.js} +2 -2
- package/dist/{chunk-4472LNSQ.js → chunk-XJ4PMNCR.js} +1 -1
- package/dist/{chunk-P7LHBBM5.js → chunk-Y3N7LIFV.js} +3 -3
- package/dist/{chunk-GNOSBEUB.js → chunk-YBQF7DCL.js} +1 -1
- package/dist/{chunk-3OPHZY7L.js → chunk-YHHWO4IU.js} +1 -1
- package/dist/{chunk-MMHBNMHK.js → chunk-YI5I2TF3.js} +3 -3
- package/dist/{chunk-F7BLCVHZ.js → chunk-YILMWIZN.js} +2 -2
- package/dist/{chunk-SCQRKKGL.js → chunk-YNTB3MIQ.js} +1 -1
- package/dist/{chunk-3SFUJREU.js → chunk-YQMARTNQ.js} +2 -2
- package/dist/{chunk-TIU3TP36.js → chunk-YXFLZ2LO.js} +2 -2
- package/dist/{chunk-H3FRQS4V.js → chunk-ZLLQO4RU.js} +6 -6
- package/dist/{codex-app-cards-switch-CQIIZDPU.js → codex-app-cards-switch-SXY732CY.js} +11 -11
- package/dist/{codex-card-routing-KIFZHIHM.js → codex-card-routing-K5FNOTBK.js} +2 -2
- package/dist/{codex-desktop-launch-YPISWZJX.js → codex-desktop-launch-SMWGCLWW.js} +1 -1
- package/dist/{codex-session-launch-ZL5WZXD7.js → codex-session-launch-MDMNYCCG.js} +18 -17
- package/dist/{config-3V3AT3AR.js → config-3R7UVC67.js} +3 -3
- package/dist/{global-upgrade-DI4JAPW6.js → global-upgrade-2BXXJQHR.js} +9 -9
- package/dist/{identity-XP7JUJJR.js → identity-N45XKYBA.js} +4 -4
- package/dist/{live-capabilities-TFDE3XNS.js → live-capabilities-YT7CENI2.js} +4 -4
- package/dist/{paths-ZC5TUIHB.js → paths-A2TITMY3.js} +3 -3
- package/dist/{reapply-T2BYF7XY.js → reapply-O4TGPUVZ.js} +28 -27
- package/dist/src/index.js +31 -30
- package/dist/{upgrade-lock-IWVHMUXK.js → upgrade-lock-HYD3MFFS.js} +4 -4
- package/dist/{usage-Z6WWH3ED.js → usage-PTPB2XF6.js} +3 -3
- package/package.json +1 -1
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import {
|
|
2
2
|
readMacAppAgentKey
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-76ATPJN2.js";
|
|
4
4
|
import {
|
|
5
5
|
API_KEYS_PATH
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-75UJ7W6H.js";
|
|
7
7
|
import {
|
|
8
8
|
absoluteUrl
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-OECCPPO6.js";
|
|
10
10
|
import {
|
|
11
11
|
findExportedKeyLines,
|
|
12
12
|
isAdoptedMacAppKey,
|
|
@@ -16,10 +16,10 @@ import {
|
|
|
16
16
|
readConfigFileKey,
|
|
17
17
|
readKeySource,
|
|
18
18
|
readMacAppKeyPrefix
|
|
19
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-NUU2JVOG.js";
|
|
20
20
|
import {
|
|
21
21
|
isValidApiKey
|
|
22
|
-
} from "./chunk-
|
|
22
|
+
} from "./chunk-DZE26BID.js";
|
|
23
23
|
|
|
24
24
|
// src/key-revocation.ts
|
|
25
25
|
var SELF_REVOKE_PATH = "/api/v1/server/keys/self/revoke";
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import {
|
|
2
2
|
ensureCodexTrustsPusharyHooks
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-3AX5BKYN.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-4M6VUUTX.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-5EEW4WIS.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-UN2QALQO.js";
|
|
32
32
|
import {
|
|
33
33
|
detectClaudeVersion
|
|
34
|
-
} from "./chunk-
|
|
34
|
+
} from "./chunk-WO46WX65.js";
|
|
35
35
|
import {
|
|
36
36
|
addCompatibleHooks,
|
|
37
37
|
compatibleConfigFile,
|
|
38
38
|
compatibleInstructionsFile,
|
|
39
39
|
hasCompatibleHooks
|
|
40
|
-
} from "./chunk-
|
|
40
|
+
} from "./chunk-RUORT3DE.js";
|
|
41
41
|
import {
|
|
42
42
|
GEMINI_HOOK_BINARY,
|
|
43
43
|
addGeminiHooks,
|
|
@@ -49,7 +49,7 @@ import {
|
|
|
49
49
|
geminiWired,
|
|
50
50
|
hasGeminiHooks,
|
|
51
51
|
planHooks
|
|
52
|
-
} from "./chunk-
|
|
52
|
+
} from "./chunk-NZZFIIH6.js";
|
|
53
53
|
import {
|
|
54
54
|
CLAUDE_HOOK_BINARY,
|
|
55
55
|
CLAUDE_HOOK_EVENTS,
|
|
@@ -95,13 +95,13 @@ import {
|
|
|
95
95
|
renderAgentInstructions,
|
|
96
96
|
supportedClaudeEvents,
|
|
97
97
|
vscodePluginMcp
|
|
98
|
-
} from "./chunk-
|
|
98
|
+
} from "./chunk-PCFIYMK4.js";
|
|
99
99
|
import {
|
|
100
100
|
formatVersion,
|
|
101
101
|
hookCommandsUseBareNames,
|
|
102
102
|
resolveGlobalBinDir,
|
|
103
103
|
resolveGlobalBinary
|
|
104
|
-
} from "./chunk-
|
|
104
|
+
} from "./chunk-QQMT2JIC.js";
|
|
105
105
|
import {
|
|
106
106
|
readJsonSafe,
|
|
107
107
|
writeFileAtomic,
|
|
@@ -111,7 +111,7 @@ import {
|
|
|
111
111
|
HOOK_COMPATIBLE_PROFILES,
|
|
112
112
|
isCompatibleAgentType,
|
|
113
113
|
isRecord
|
|
114
|
-
} from "./chunk-
|
|
114
|
+
} from "./chunk-DZE26BID.js";
|
|
115
115
|
|
|
116
116
|
// src/reapply.ts
|
|
117
117
|
import { dirname, join } from "path";
|
|
@@ -4,7 +4,7 @@ import {
|
|
|
4
4
|
postLiveSession,
|
|
5
5
|
postLiveSessionUntilAccepted,
|
|
6
6
|
startLiveSessionHeartbeat
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-YNTB3MIQ.js";
|
|
8
8
|
import {
|
|
9
9
|
CommandReceipts,
|
|
10
10
|
controllerCommandSchema
|
|
@@ -14,21 +14,21 @@ import {
|
|
|
14
14
|
describeIdleWindow,
|
|
15
15
|
idleDeadlinePassed,
|
|
16
16
|
startProcessOwnership
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-37F75NBN.js";
|
|
18
18
|
import {
|
|
19
19
|
repositoryScopeFor
|
|
20
|
-
} from "./chunk-
|
|
20
|
+
} from "./chunk-NVPCETJ3.js";
|
|
21
21
|
import {
|
|
22
22
|
isAskUserResponse,
|
|
23
23
|
isDecisionStopped,
|
|
24
24
|
isWaitForAnswerResponse,
|
|
25
25
|
withdrawQuestion,
|
|
26
26
|
writeDegraded
|
|
27
|
-
} from "./chunk-
|
|
27
|
+
} from "./chunk-TILEGY4M.js";
|
|
28
28
|
import {
|
|
29
29
|
callMcpTool,
|
|
30
30
|
isRetryable
|
|
31
|
-
} from "./chunk-
|
|
31
|
+
} from "./chunk-EPMIBLCE.js";
|
|
32
32
|
import {
|
|
33
33
|
spawnClaude
|
|
34
34
|
} from "./chunk-XHKBHWLX.js";
|
|
@@ -52,7 +52,7 @@ import {
|
|
|
52
52
|
parseCodexQuestions,
|
|
53
53
|
planElicitationAsk,
|
|
54
54
|
readElicitationFields
|
|
55
|
-
} from "./chunk-
|
|
55
|
+
} from "./chunk-DZE26BID.js";
|
|
56
56
|
|
|
57
57
|
// src/codex-question-owner.ts
|
|
58
58
|
import { createHash } from "crypto";
|
|
@@ -12,7 +12,7 @@ import {
|
|
|
12
12
|
reachVerdict,
|
|
13
13
|
reachesYou,
|
|
14
14
|
verifyDelivery
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-N2VH44GL.js";
|
|
16
16
|
import {
|
|
17
17
|
humanIsTty,
|
|
18
18
|
writeHuman
|
|
@@ -24,14 +24,14 @@ import {
|
|
|
24
24
|
} from "./chunk-FO3MDD26.js";
|
|
25
25
|
import {
|
|
26
26
|
reportedInstallSource
|
|
27
|
-
} from "./chunk-
|
|
27
|
+
} from "./chunk-LTVILMEZ.js";
|
|
28
28
|
import {
|
|
29
29
|
NPX_LATEST_COMMAND
|
|
30
|
-
} from "./chunk-
|
|
30
|
+
} from "./chunk-KHWNW4AS.js";
|
|
31
31
|
import {
|
|
32
32
|
NO_PAIRING_COMPUTER,
|
|
33
33
|
PAIR_TTL_SECONDS
|
|
34
|
-
} from "./chunk-
|
|
34
|
+
} from "./chunk-DZE26BID.js";
|
|
35
35
|
|
|
36
36
|
// src/onboarding.ts
|
|
37
37
|
import qrcodeTerminal from "qrcode-terminal";
|
|
@@ -2,10 +2,10 @@ import {
|
|
|
2
2
|
SIGNED_OUT_ON_MAC_MESSAGE,
|
|
3
3
|
describeSignedOutKey,
|
|
4
4
|
readSignedOutDiagnosis
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-YXFLZ2LO.js";
|
|
6
6
|
import {
|
|
7
7
|
APPROVAL_RULES_PATH
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-75UJ7W6H.js";
|
|
9
9
|
import {
|
|
10
10
|
createIo
|
|
11
11
|
} from "./chunk-FO3MDD26.js";
|
|
@@ -14,19 +14,19 @@ import {
|
|
|
14
14
|
checkApiKey,
|
|
15
15
|
describeKeyCheck,
|
|
16
16
|
keyCheckFromResponse
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-OECCPPO6.js";
|
|
18
18
|
import {
|
|
19
19
|
readKeySource
|
|
20
|
-
} from "./chunk-
|
|
20
|
+
} from "./chunk-NUU2JVOG.js";
|
|
21
21
|
import {
|
|
22
22
|
getBaseUrl
|
|
23
|
-
} from "./chunk-
|
|
23
|
+
} from "./chunk-O76PTPKP.js";
|
|
24
24
|
import {
|
|
25
25
|
EXIT
|
|
26
26
|
} from "./chunk-BG4HHB7E.js";
|
|
27
27
|
import {
|
|
28
28
|
KEY_SCOPE
|
|
29
|
-
} from "./chunk-
|
|
29
|
+
} from "./chunk-DZE26BID.js";
|
|
30
30
|
|
|
31
31
|
// src/cli/report-key.ts
|
|
32
32
|
var { dim, yellow } = createIo();
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
SETUP_FLAGS
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-54DPX27B.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-KHWNW4AS.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-DZE26BID.js";
|
|
21
21
|
|
|
22
22
|
// src/cli/cowork.ts
|
|
23
23
|
import { readFileSync } from "fs";
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import {
|
|
2
2
|
claudeConfigDir
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-PCFIYMK4.js";
|
|
4
4
|
import {
|
|
5
5
|
claudePermissionRulesFromSettings
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-DZE26BID.js";
|
|
7
7
|
|
|
8
8
|
// src/claude-permission-rules.ts
|
|
9
9
|
import { readFileSync, statSync } from "fs";
|
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
import {
|
|
2
2
|
APPROVAL_RULES_PATH,
|
|
3
3
|
canChangeApprovalSettings
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-75UJ7W6H.js";
|
|
5
5
|
import {
|
|
6
6
|
callMcpTool
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-EPMIBLCE.js";
|
|
8
8
|
import {
|
|
9
9
|
absoluteUrl
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-OECCPPO6.js";
|
|
11
11
|
import {
|
|
12
12
|
getBaseUrl
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-O76PTPKP.js";
|
|
14
14
|
import {
|
|
15
15
|
NPX_LATEST_COMMAND
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-KHWNW4AS.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-DZE26BID.js";
|
|
25
25
|
|
|
26
26
|
// src/reach.ts
|
|
27
27
|
var reachVerdict = (channels) => {
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import {
|
|
2
2
|
resolveInstallSourceFor
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-LTVILMEZ.js";
|
|
4
4
|
import {
|
|
5
5
|
configFilePath
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-O76PTPKP.js";
|
|
7
7
|
import {
|
|
8
8
|
backupFile,
|
|
9
9
|
readJsonSafe,
|
|
@@ -14,7 +14,7 @@ import {
|
|
|
14
14
|
API_KEY_PREFIX_PATTERN,
|
|
15
15
|
isRecord,
|
|
16
16
|
isValidApiKey
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-DZE26BID.js";
|
|
18
18
|
|
|
19
19
|
// src/shell-alias.ts
|
|
20
20
|
import { homedir } from "os";
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import {
|
|
2
2
|
AGENT_CHOICES
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-54DPX27B.js";
|
|
4
4
|
import {
|
|
5
5
|
BELL_HOOK_BINARY
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-YBQF7DCL.js";
|
|
7
7
|
import {
|
|
8
8
|
CLAUDE_HOOK_EVENTS,
|
|
9
9
|
CODEX_HOOK_EVENTS,
|
|
@@ -15,13 +15,13 @@ import {
|
|
|
15
15
|
isBridgeLocator,
|
|
16
16
|
isProtectedByScope,
|
|
17
17
|
registerHookEntry
|
|
18
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-PCFIYMK4.js";
|
|
19
19
|
import {
|
|
20
20
|
CURSOR_GATE_EVENTS,
|
|
21
21
|
HOOK_BUDGETS,
|
|
22
22
|
HOOK_LOCATOR_BINARY,
|
|
23
23
|
hookCommandHoldBudget
|
|
24
|
-
} from "./chunk-
|
|
24
|
+
} from "./chunk-DZE26BID.js";
|
|
25
25
|
|
|
26
26
|
// src/gemini-config.ts
|
|
27
27
|
var GEMINI_HOOK_BINARY = "pushary-gemini-hook";
|
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
import {
|
|
2
2
|
parseSseMessages
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-EPMIBLCE.js";
|
|
4
|
+
import {
|
|
5
|
+
fetchAsCredential
|
|
6
|
+
} from "./chunk-PYAPWXVP.js";
|
|
4
7
|
import {
|
|
5
8
|
NPX_LATEST_COMMAND
|
|
6
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-KHWNW4AS.js";
|
|
7
10
|
|
|
8
11
|
// src/mcp-stdio-bridge.ts
|
|
9
12
|
var MCP_BRIDGE_BINARY = "pushary-mcp";
|
|
@@ -98,12 +101,13 @@ var createMcpStdioBridge = (deps) => {
|
|
|
98
101
|
if (!answered.has(request.id)) await deps.emit(bridgeError(request.id, message));
|
|
99
102
|
}
|
|
100
103
|
};
|
|
101
|
-
const
|
|
104
|
+
const requestFor = (line, apiKey) => ({
|
|
102
105
|
method: "POST",
|
|
103
106
|
headers: headersFor(apiKey),
|
|
104
107
|
body: line,
|
|
105
108
|
signal: AbortSignal.timeout(deps.timeoutMs ?? MCP_BRIDGE_REQUEST_TIMEOUT_MS)
|
|
106
109
|
});
|
|
110
|
+
const post = async (line, apiKey) => apiKey === null ? deps.fetchImpl(deps.endpoint, requestFor(line, apiKey)) : fetchAsCredential(apiKey, deps.endpoint, requestFor(line, apiKey), deps.fetchImpl);
|
|
107
111
|
const forward = async (line) => {
|
|
108
112
|
const parsed = parseBridgeLine(line);
|
|
109
113
|
if (!parsed.ok) {
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import {
|
|
2
2
|
pusharyFetch
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-5RVL2CQK.js";
|
|
4
4
|
import {
|
|
5
5
|
getBaseUrl
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-O76PTPKP.js";
|
|
7
7
|
import {
|
|
8
8
|
NetworkError
|
|
9
9
|
} from "./chunk-YU2EUD7O.js";
|
|
@@ -13,7 +13,7 @@ import {
|
|
|
13
13
|
import {
|
|
14
14
|
isValidApiKey,
|
|
15
15
|
normalizeKeyScope
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-DZE26BID.js";
|
|
17
17
|
|
|
18
18
|
// src/session.ts
|
|
19
19
|
var samePusharyAccount = (left, right) => left.kind === "ok" && right.kind === "ok" && left.identity.workspaceId !== "" && left.identity.workspaceId === right.identity.workspaceId && left.identity.siteId === right.identity.siteId;
|
|
@@ -3,7 +3,7 @@ import {
|
|
|
3
3
|
formatVersion,
|
|
4
4
|
quoteIfNeeded,
|
|
5
5
|
shellDoubleQuoted
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-QQMT2JIC.js";
|
|
7
7
|
import {
|
|
8
8
|
writeFileAtomic
|
|
9
9
|
} from "./chunk-T5I4PKOQ.js";
|
|
@@ -17,7 +17,7 @@ import {
|
|
|
17
17
|
HOOK_LOCATOR_BINARY,
|
|
18
18
|
PRETOOLUSE_GATED_TOOLS,
|
|
19
19
|
withHookHoldBudget
|
|
20
|
-
} from "./chunk-
|
|
20
|
+
} from "./chunk-DZE26BID.js";
|
|
21
21
|
|
|
22
22
|
// src/setup/paths.ts
|
|
23
23
|
import { createHash as createHash2 } from "crypto";
|
|
@@ -3,24 +3,24 @@ import {
|
|
|
3
3
|
expectedLaunchCapabilities,
|
|
4
4
|
hasSpawnProvider,
|
|
5
5
|
resolveControlPolicy
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-X2XXKXC5.js";
|
|
7
7
|
import {
|
|
8
8
|
daemonHasRemoteProof,
|
|
9
9
|
daemonServiceManagerAvailable,
|
|
10
10
|
hasDaemonServiceDefinition,
|
|
11
11
|
readDaemonNeedsLogin,
|
|
12
12
|
readDaemonStatus
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-SSW4QRGU.js";
|
|
14
14
|
import {
|
|
15
15
|
getMachineId
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-SDQQ43FT.js";
|
|
17
17
|
import {
|
|
18
18
|
readControlMode,
|
|
19
19
|
readKeySource
|
|
20
|
-
} from "./chunk-
|
|
20
|
+
} from "./chunk-NUU2JVOG.js";
|
|
21
21
|
import {
|
|
22
22
|
getBaseUrl
|
|
23
|
-
} from "./chunk-
|
|
23
|
+
} from "./chunk-O76PTPKP.js";
|
|
24
24
|
import {
|
|
25
25
|
getPackageVersion
|
|
26
26
|
} from "./chunk-ZVU6WMMU.js";
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import {
|
|
2
|
+
CREDENTIAL_REJECTED,
|
|
3
|
+
CREDENTIAL_REJECTION_HEADER,
|
|
4
|
+
CREDENTIAL_REJECTION_STATUS,
|
|
5
|
+
MCP_CREDENTIAL_REJECTION_BODY,
|
|
6
|
+
isRecord,
|
|
7
|
+
responseRejectsCredential
|
|
8
|
+
} from "./chunk-DZE26BID.js";
|
|
9
|
+
|
|
10
|
+
// src/credential-rejection.ts
|
|
11
|
+
import { createHash, randomUUID } from "crypto";
|
|
12
|
+
import { readFileSync, renameSync, unlinkSync, writeFileSync } from "fs";
|
|
13
|
+
import { tmpdir } from "os";
|
|
14
|
+
import { join } from "path";
|
|
15
|
+
var CREDENTIAL_REJECTION_TTL_MS = 6e4;
|
|
16
|
+
var REMEMBERED_REJECTION_MODE = 384;
|
|
17
|
+
var serverOf = (url) => {
|
|
18
|
+
try {
|
|
19
|
+
return new URL(url).origin;
|
|
20
|
+
} catch {
|
|
21
|
+
return url;
|
|
22
|
+
}
|
|
23
|
+
};
|
|
24
|
+
var credentialFingerprint = (credential, url) => createHash("sha256").update(`credential:${serverOf(url)}
|
|
25
|
+
${credential}`).digest("hex");
|
|
26
|
+
var credentialRejectionFile = (credential, url) => join(tmpdir(), `pushary-credential-${credentialFingerprint(credential, url).slice(0, 12)}.json`);
|
|
27
|
+
var isRememberedRejection = (value) => isRecord(value) && typeof value.fingerprint === "string" && typeof value.rejectedAt === "number" && Number.isFinite(value.rejectedAt);
|
|
28
|
+
var readRememberedRejection = (credential, url) => {
|
|
29
|
+
try {
|
|
30
|
+
const parsed = JSON.parse(readFileSync(credentialRejectionFile(credential, url), "utf-8"));
|
|
31
|
+
return isRememberedRejection(parsed) ? parsed : null;
|
|
32
|
+
} catch {
|
|
33
|
+
return null;
|
|
34
|
+
}
|
|
35
|
+
};
|
|
36
|
+
var credentialRecentlyRejected = (credential, url, now) => {
|
|
37
|
+
const remembered = readRememberedRejection(credential, url);
|
|
38
|
+
if (!remembered || remembered.fingerprint !== credentialFingerprint(credential, url)) return false;
|
|
39
|
+
const age = (now ?? Date.now()) - remembered.rejectedAt;
|
|
40
|
+
return age >= 0 && age < CREDENTIAL_REJECTION_TTL_MS;
|
|
41
|
+
};
|
|
42
|
+
var discardStagedRejection = (staged) => {
|
|
43
|
+
try {
|
|
44
|
+
unlinkSync(staged);
|
|
45
|
+
} catch {
|
|
46
|
+
return;
|
|
47
|
+
}
|
|
48
|
+
};
|
|
49
|
+
var rememberRejectedCredential = (credential, url, now = Date.now()) => {
|
|
50
|
+
const remembered = { fingerprint: credentialFingerprint(credential, url), rejectedAt: now };
|
|
51
|
+
const file = credentialRejectionFile(credential, url);
|
|
52
|
+
const staged = `${file}.${randomUUID()}.tmp`;
|
|
53
|
+
try {
|
|
54
|
+
writeFileSync(staged, JSON.stringify(remembered), { encoding: "utf-8", mode: REMEMBERED_REJECTION_MODE, flag: "wx" });
|
|
55
|
+
} catch {
|
|
56
|
+
return;
|
|
57
|
+
}
|
|
58
|
+
try {
|
|
59
|
+
renameSync(staged, file);
|
|
60
|
+
} catch {
|
|
61
|
+
discardStagedRejection(staged);
|
|
62
|
+
}
|
|
63
|
+
};
|
|
64
|
+
var rememberedRejectionResponse = () => new Response(MCP_CREDENTIAL_REJECTION_BODY, {
|
|
65
|
+
status: CREDENTIAL_REJECTION_STATUS,
|
|
66
|
+
statusText: "Unauthorized",
|
|
67
|
+
headers: { "content-type": "application/json", [CREDENTIAL_REJECTION_HEADER]: CREDENTIAL_REJECTED }
|
|
68
|
+
});
|
|
69
|
+
var fetchAsCredential = async (credential, url, init, fetchImpl = fetch) => {
|
|
70
|
+
if (credentialRecentlyRejected(credential, url)) {
|
|
71
|
+
init.signal?.throwIfAborted();
|
|
72
|
+
return rememberedRejectionResponse();
|
|
73
|
+
}
|
|
74
|
+
const response = await fetchImpl(url, init);
|
|
75
|
+
if (responseRejectsCredential(response.status, response.headers)) rememberRejectedCredential(credential, url);
|
|
76
|
+
return response;
|
|
77
|
+
};
|
|
78
|
+
|
|
79
|
+
export {
|
|
80
|
+
fetchAsCredential
|
|
81
|
+
};
|
|
@@ -13,16 +13,16 @@ import {
|
|
|
13
13
|
} from "./chunk-G66WIAST.js";
|
|
14
14
|
import {
|
|
15
15
|
keyPrefix
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-NUU2JVOG.js";
|
|
17
17
|
import {
|
|
18
18
|
getBaseUrl
|
|
19
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-O76PTPKP.js";
|
|
20
20
|
import {
|
|
21
21
|
NPX_LATEST_COMMAND
|
|
22
|
-
} from "./chunk-
|
|
22
|
+
} from "./chunk-KHWNW4AS.js";
|
|
23
23
|
import {
|
|
24
24
|
isValidApiKey
|
|
25
|
-
} from "./chunk-
|
|
25
|
+
} from "./chunk-DZE26BID.js";
|
|
26
26
|
|
|
27
27
|
// src/cli/login-ui.ts
|
|
28
28
|
import { hostname } from "os";
|
|
@@ -399,9 +399,9 @@ var installGlobally = (options) => {
|
|
|
399
399
|
}
|
|
400
400
|
const started = (async () => {
|
|
401
401
|
if (!npmIsOnPath()) throw new NpmMissingError();
|
|
402
|
-
const { withUpgradeLock } = await import("./global-upgrade-
|
|
403
|
-
const { installWithUpgradeLock, ownsUpgradeLock } = await import("./upgrade-lock-
|
|
404
|
-
const { autoUpdateLock } = await import("./paths-
|
|
402
|
+
const { withUpgradeLock } = await import("./global-upgrade-2BXXJQHR.js");
|
|
403
|
+
const { installWithUpgradeLock, ownsUpgradeLock } = await import("./upgrade-lock-HYD3MFFS.js");
|
|
404
|
+
const { autoUpdateLock } = await import("./paths-A2TITMY3.js");
|
|
405
405
|
let result = "skipped";
|
|
406
406
|
const install = async () => {
|
|
407
407
|
const platform = process.platform;
|