pushary 1.9.120 → 1.9.122
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/dist/{api-QFUMNTEQ.js → api-KE4OJ3NK.js} +11 -11
- package/dist/bin/pushary-audit.js +3 -3
- package/dist/bin/pushary-bell-hook.js +27 -27
- package/dist/bin/pushary-bell.js +10 -10
- package/dist/bin/pushary-claude.js +25 -25
- package/dist/bin/pushary-clean.js +34 -34
- package/dist/bin/pushary-codex-bridge.js +21 -21
- package/dist/bin/pushary-codex-hook.js +34 -34
- package/dist/bin/pushary-codex-session.js +8 -8
- package/dist/bin/pushary-codex.js +15 -15
- package/dist/bin/pushary-connect.js +28 -28
- package/dist/bin/pushary-cowork.js +5 -5
- package/dist/bin/pushary-daemon.js +42 -42
- package/dist/bin/pushary-disconnect.js +27 -27
- package/dist/bin/pushary-display-hook.js +17 -17
- package/dist/bin/pushary-doctor.js +42 -42
- package/dist/bin/pushary-elicitation-hook.js +27 -27
- package/dist/bin/pushary-gemini-bridge.js +15 -15
- package/dist/bin/pushary-gemini-hook.js +31 -31
- package/dist/bin/pushary-hook.js +33 -33
- package/dist/bin/pushary-login.js +21 -21
- package/dist/bin/pushary-logout.js +26 -26
- package/dist/bin/pushary-mcp.js +12 -12
- package/dist/bin/pushary-mode.js +15 -15
- package/dist/bin/pushary-notification-hook.js +26 -26
- package/dist/bin/pushary-opencode-hook.js +30 -30
- package/dist/bin/pushary-permission-denied-hook.js +33 -33
- package/dist/bin/pushary-permission-hook.js +33 -33
- package/dist/bin/pushary-post-hook.js +26 -26
- package/dist/bin/pushary-prompt-hook.js +26 -26
- package/dist/bin/pushary-session-end-hook.js +26 -26
- package/dist/bin/pushary-session-start-hook.js +35 -35
- package/dist/bin/pushary-setup.js +49 -49
- package/dist/bin/pushary-stats.js +5 -5
- package/dist/bin/pushary-status.js +32 -32
- package/dist/bin/pushary-stop-hook.js +26 -26
- package/dist/bin/pushary-stopfailure-hook.js +26 -26
- 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 +40 -40
- package/dist/bin/pushary-wait.js +15 -15
- package/dist/bin/pushary.js +7 -7
- package/dist/{chunk-YOSATSUD.js → chunk-27FILS44.js} +2 -2
- package/dist/{chunk-AIABYHHZ.js → chunk-2FOCCDVV.js} +6 -6
- package/dist/{chunk-MZX35RFX.js → chunk-2M7FELUY.js} +1 -1
- package/dist/{chunk-XRRY45XB.js → chunk-2M7ZV6NA.js} +3 -3
- package/dist/{chunk-363YZ5WJ.js → chunk-2QWQCU7L.js} +1 -1
- package/dist/{chunk-PEMESJZY.js → chunk-2WGP6QE7.js} +3 -3
- package/dist/{chunk-6CJ7D6EQ.js → chunk-44SXI642.js} +5 -5
- package/dist/{chunk-4DSJF5JD.js → chunk-5MITA7MU.js} +3 -3
- package/dist/{chunk-7VRL6XYM.js → chunk-5S32WI3B.js} +1 -1
- package/dist/{chunk-H4LCCX7W.js → chunk-6VMEUCKP.js} +6 -6
- package/dist/{chunk-SSTO42XS.js → chunk-7EYXAM63.js} +1 -1
- package/dist/{chunk-ZWUVJ3DV.js → chunk-7LZQK7EB.js} +3 -3
- package/dist/{chunk-RWS4DRFK.js → chunk-7M5M3CF5.js} +3 -3
- package/dist/{chunk-HVGN7TRN.js → chunk-7OSBFMRV.js} +1 -1
- package/dist/{chunk-KG7UZSCD.js → chunk-7ZTVBYPE.js} +6 -6
- package/dist/{chunk-5KCUQ3B7.js → chunk-ABYRJP4R.js} +3 -3
- package/dist/{chunk-XSSG5JLJ.js → chunk-AH4NLZTT.js} +1 -1
- package/dist/{chunk-33NEYAK2.js → chunk-AVSHVOFB.js} +4 -4
- package/dist/{chunk-ZV7G73KH.js → chunk-B5OX2WCA.js} +3 -3
- package/dist/{chunk-BZ6N5DDZ.js → chunk-BHQYJFPY.js} +19 -26
- package/dist/{chunk-IYUAMUO6.js → chunk-BVI2N7QA.js} +1 -1
- package/dist/{chunk-L37Q4BR6.js → chunk-C2L477NM.js} +4 -4
- package/dist/{chunk-KESS6HAK.js → chunk-DK6R5IVR.js} +2 -2
- package/dist/{chunk-EG2E2562.js → chunk-DRYQ7RLF.js} +1 -1
- package/dist/{chunk-TAHUCUY3.js → chunk-E3LX6DEF.js} +2 -2
- package/dist/{chunk-47HCNA5U.js → chunk-E5LU5MJ2.js} +1 -1
- package/dist/{chunk-EU4NV7SS.js → chunk-EBJ5QUVE.js} +2 -2
- package/dist/{chunk-ZRTUS6WD.js → chunk-EUIDFLPM.js} +5 -4
- package/dist/{chunk-W744DTUT.js → chunk-HI5YJFKW.js} +60 -13
- package/dist/{chunk-J6ACLE2A.js → chunk-I2D23TBS.js} +2 -2
- package/dist/{chunk-YZORQXN7.js → chunk-IA3E675D.js} +1 -1
- package/dist/{chunk-HSFTTGOB.js → chunk-JLUMELYR.js} +2 -2
- package/dist/{chunk-ODXZPMKN.js → chunk-KQKHSJOM.js} +3 -3
- package/dist/{chunk-BYP2R2PF.js → chunk-LIIIC27B.js} +1 -1
- package/dist/{chunk-YQUJQGJU.js → chunk-LRS26PXE.js} +4 -4
- package/dist/{chunk-SUI5JE6T.js → chunk-LS3CQ536.js} +1 -1
- package/dist/{chunk-5JZCFZUT.js → chunk-MIO2IWCZ.js} +8 -8
- package/dist/{chunk-EDNCFLR7.js → chunk-MKUFVNZL.js} +3 -3
- package/dist/{chunk-W4MZBZU3.js → chunk-MXUQJIQS.js} +3 -3
- package/dist/{chunk-B4M2XZNQ.js → chunk-NCHNITQW.js} +2 -2
- package/dist/{chunk-4FLMGGWB.js → chunk-NLEHRQHL.js} +2 -2
- package/dist/{chunk-PTONPJWL.js → chunk-NPAEVCTN.js} +4 -4
- package/dist/{chunk-2ZT4XV4I.js → chunk-NZEFACKS.js} +6 -6
- package/dist/{chunk-A5YOWKPR.js → chunk-O2UMQKR4.js} +10 -10
- package/dist/{chunk-K4RIBZ32.js → chunk-OJPHNITI.js} +1 -1
- package/dist/{chunk-YQGPBLIT.js → chunk-P2WA3YY2.js} +2 -2
- package/dist/{chunk-RM7MNCCA.js → chunk-P6H2DI6T.js} +5 -5
- package/dist/{chunk-NXWQZBOK.js → chunk-PO5Z73HT.js} +3 -3
- package/dist/{chunk-ZR35L635.js → chunk-PO6ECYXG.js} +2 -2
- package/dist/{chunk-3GFJ7CXQ.js → chunk-Q3KKA5IZ.js} +4 -4
- package/dist/{chunk-6FR5ZYMS.js → chunk-RBPPX663.js} +1 -1
- package/dist/{chunk-F24QURGP.js → chunk-RF66KSSY.js} +4 -4
- package/dist/{chunk-NVOQBKIL.js → chunk-RKXSWF62.js} +4 -4
- package/dist/{chunk-INKDRMSK.js → chunk-SBPVEVLZ.js} +5 -5
- package/dist/{chunk-5NHWNILG.js → chunk-SNF3OTPB.js} +5 -5
- package/dist/{chunk-UZL3VQCE.js → chunk-SO44USAF.js} +5 -5
- package/dist/{chunk-XUAGV5VH.js → chunk-STGEWWFW.js} +2 -2
- package/dist/{chunk-CPBS6LS3.js → chunk-SZV5SLSD.js} +3 -3
- package/dist/{chunk-2AMSWODQ.js → chunk-T2WDQ3NT.js} +2 -2
- package/dist/{chunk-VKRRUT45.js → chunk-TJ32WT6M.js} +5 -5
- package/dist/{chunk-ZMKZ5WHS.js → chunk-UV2JM3PZ.js} +1 -1
- package/dist/{chunk-J4AJVM5F.js → chunk-VUNQZNKR.js} +3 -3
- package/dist/{chunk-XOPOX5QY.js → chunk-WLC3AX6F.js} +11 -11
- package/dist/{chunk-SJPH24TK.js → chunk-WS37PSC5.js} +4 -4
- package/dist/{chunk-RHTAI4XP.js → chunk-WZWZ7UCN.js} +24 -17
- package/dist/{chunk-T57CIR6H.js → chunk-X2PN3XNW.js} +1 -1
- package/dist/{chunk-3DD44QTA.js → chunk-X6WYICTL.js} +5 -5
- package/dist/{chunk-WFHUECGB.js → chunk-XWFYR52C.js} +6 -6
- package/dist/{chunk-7YRKM4AB.js → chunk-YANGE5FG.js} +6 -6
- package/dist/{chunk-UFRRAAYD.js → chunk-YWA4Q42Z.js} +4 -4
- package/dist/{chunk-NBKH6SKN.js → chunk-Z7FUHJKU.js} +1 -1
- package/dist/{chunk-HHZSB6KL.js → chunk-ZAYXOSEP.js} +5 -5
- package/dist/{codex-app-cards-switch-545ISCGQ.js → codex-app-cards-switch-HUU5TTBZ.js} +11 -11
- package/dist/{codex-card-routing-IKNAEEMC.js → codex-card-routing-JTZ2PC24.js} +2 -2
- package/dist/{codex-desktop-launch-VQNI4GUS.js → codex-desktop-launch-QJOCWURE.js} +1 -1
- package/dist/{codex-session-launch-OGOGHTM7.js → codex-session-launch-DANHY5JS.js} +18 -18
- package/dist/{config-VGWGOR2V.js → config-43UOHCK6.js} +3 -3
- package/dist/{global-upgrade-GUHXKJPO.js → global-upgrade-SIAPPAFR.js} +9 -9
- package/dist/{identity-FORDJUYW.js → identity-DCDWOISV.js} +4 -4
- package/dist/{live-capabilities-VA3VXZOZ.js → live-capabilities-VB7PM2DJ.js} +4 -4
- package/dist/{paths-5XZPI4LD.js → paths-346XNBFK.js} +3 -3
- package/dist/{reapply-77JJ3QV2.js → reapply-LMTBF3XQ.js} +28 -28
- package/dist/src/index.js +32 -32
- package/dist/{upgrade-lock-EEPLQBLA.js → upgrade-lock-YT4O5QW6.js} +4 -4
- package/dist/{usage-27IDH6UH.js → usage-MUXR5SZ7.js} +3 -3
- package/package.json +1 -1
|
@@ -6,21 +6,21 @@ import {
|
|
|
6
6
|
McpToolError,
|
|
7
7
|
SubscriptionRequiredError,
|
|
8
8
|
callMcpTool
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-SO44USAF.js";
|
|
10
10
|
import {
|
|
11
11
|
installNetworkDefaults,
|
|
12
12
|
isNetworkFailure
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-2M7ZV6NA.js";
|
|
14
14
|
import {
|
|
15
15
|
fetchAsCredential
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-E5LU5MJ2.js";
|
|
17
17
|
import {
|
|
18
18
|
clientReportClaims
|
|
19
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-EUIDFLPM.js";
|
|
20
20
|
import {
|
|
21
21
|
getApiKey,
|
|
22
22
|
getBaseUrl
|
|
23
|
-
} from "./chunk-
|
|
23
|
+
} from "./chunk-2M7FELUY.js";
|
|
24
24
|
import {
|
|
25
25
|
ASK_AGENT_NAME_MAX,
|
|
26
26
|
CLIENT_REPORT_PATH,
|
|
@@ -29,7 +29,7 @@ import {
|
|
|
29
29
|
TOOL_FAILURE_CODES,
|
|
30
30
|
degradedLine,
|
|
31
31
|
truncateLine
|
|
32
|
-
} from "./chunk-
|
|
32
|
+
} from "./chunk-HI5YJFKW.js";
|
|
33
33
|
|
|
34
34
|
// src/api.ts
|
|
35
35
|
import { randomUUID } from "crypto";
|
|
@@ -531,8 +531,8 @@ var loadedOnce = (load) => {
|
|
|
531
531
|
};
|
|
532
532
|
|
|
533
533
|
// src/codex-desktop-proxy.ts
|
|
534
|
-
var loadThePhone = () => import("./api-
|
|
535
|
-
var loadTheCardRouting = () => import("./codex-card-routing-
|
|
534
|
+
var loadThePhone = () => import("./api-KE4OJ3NK.js");
|
|
535
|
+
var loadTheCardRouting = () => import("./codex-card-routing-JTZ2PC24.js");
|
|
536
536
|
var theFirstCardLoadsAgain = () => {
|
|
537
537
|
};
|
|
538
538
|
var ASKS_WITHOUT_ROUTING = {};
|
|
@@ -1085,7 +1085,7 @@ var codexDesktopCommand = async (args, entry, readAccount) => {
|
|
|
1085
1085
|
return runCodexDesktopProxy(engine2, args.slice(3), readAccount, { watchesForCards: layoutIsKnown });
|
|
1086
1086
|
}
|
|
1087
1087
|
if (args[0] === APP_CARDS_FLAG) {
|
|
1088
|
-
const { codexAppCardsCommandOnThisMac } = await import("./codex-app-cards-switch-
|
|
1088
|
+
const { codexAppCardsCommandOnThisMac } = await import("./codex-app-cards-switch-HUU5TTBZ.js");
|
|
1089
1089
|
return codexAppCardsCommandOnThisMac(args.slice(1), entry, readAccount);
|
|
1090
1090
|
}
|
|
1091
1091
|
if (args.length > 2) throw new Error("Usage: pushary codex --desktop [path/to/Codex.app]");
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
import {
|
|
2
2
|
compatibleConfigFile,
|
|
3
3
|
hasCompatibleHooks
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-ZAYXOSEP.js";
|
|
5
5
|
import {
|
|
6
6
|
pusharyHookExecutable
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-Q3KKA5IZ.js";
|
|
8
8
|
import {
|
|
9
9
|
isProtectedByScope,
|
|
10
10
|
registerHookEntry
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-EUIDFLPM.js";
|
|
12
12
|
import {
|
|
13
13
|
isRecord
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-HI5YJFKW.js";
|
|
15
15
|
|
|
16
16
|
// src/cursor-config.ts
|
|
17
17
|
var hookCommandOf = (entry) => {
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import {
|
|
2
2
|
pusharyFetch
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-2M7ZV6NA.js";
|
|
4
4
|
import {
|
|
5
5
|
getBaseUrl
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-2M7FELUY.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-HI5YJFKW.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;
|
|
@@ -1,33 +1,33 @@
|
|
|
1
1
|
import {
|
|
2
2
|
claudeSettingsLocationFor,
|
|
3
3
|
readClaudePermissionRules
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-PO6ECYXG.js";
|
|
5
5
|
import {
|
|
6
6
|
askAgentQuestions,
|
|
7
7
|
defersToNativeMode,
|
|
8
8
|
outcomeOfFailedAsk,
|
|
9
9
|
storedWaitDeadline
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-X6WYICTL.js";
|
|
11
11
|
import {
|
|
12
12
|
reportMachineDenial
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-2WGP6QE7.js";
|
|
14
14
|
import {
|
|
15
15
|
isGatingMoment,
|
|
16
16
|
recordKeylessMoment
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-7EYXAM63.js";
|
|
18
18
|
import {
|
|
19
19
|
isAdmitted,
|
|
20
20
|
readAdmissionRules
|
|
21
|
-
} from "./chunk-
|
|
21
|
+
} from "./chunk-TJ32WT6M.js";
|
|
22
22
|
import {
|
|
23
23
|
isDeferAnswer,
|
|
24
24
|
oncePerSession
|
|
25
|
-
} from "./chunk-
|
|
25
|
+
} from "./chunk-OJPHNITI.js";
|
|
26
26
|
import {
|
|
27
27
|
activeHookSource,
|
|
28
28
|
activeIdentity,
|
|
29
29
|
namedSource
|
|
30
|
-
} from "./chunk-
|
|
30
|
+
} from "./chunk-ZAYXOSEP.js";
|
|
31
31
|
import {
|
|
32
32
|
DEFAULT_SESSION,
|
|
33
33
|
approvalAwaitingRetry,
|
|
@@ -48,7 +48,7 @@ import {
|
|
|
48
48
|
settleQuestionsForToolUse,
|
|
49
49
|
sweepFilesOlderThan,
|
|
50
50
|
userScope
|
|
51
|
-
} from "./chunk-
|
|
51
|
+
} from "./chunk-WLC3AX6F.js";
|
|
52
52
|
import {
|
|
53
53
|
UNNAMED_ACTION,
|
|
54
54
|
deriveAction,
|
|
@@ -59,12 +59,12 @@ import {
|
|
|
59
59
|
patchDeletesFiles,
|
|
60
60
|
permissionDeniedAction,
|
|
61
61
|
scopePathFor
|
|
62
|
-
} from "./chunk-
|
|
62
|
+
} from "./chunk-7OSBFMRV.js";
|
|
63
63
|
import {
|
|
64
64
|
branchFor,
|
|
65
65
|
repoKeyFor,
|
|
66
66
|
repositoryScopeFor
|
|
67
|
-
} from "./chunk-
|
|
67
|
+
} from "./chunk-2QWQCU7L.js";
|
|
68
68
|
import {
|
|
69
69
|
askUser,
|
|
70
70
|
cancelQuestion,
|
|
@@ -81,24 +81,23 @@ import {
|
|
|
81
81
|
waitForQuestion,
|
|
82
82
|
waitsForThePhone,
|
|
83
83
|
withdrawQuestion
|
|
84
|
-
} from "./chunk-
|
|
84
|
+
} from "./chunk-7ZTVBYPE.js";
|
|
85
85
|
import {
|
|
86
86
|
getMachineId
|
|
87
|
-
} from "./chunk-
|
|
87
|
+
} from "./chunk-RBPPX663.js";
|
|
88
88
|
import {
|
|
89
89
|
getApiKey,
|
|
90
90
|
getBaseUrl
|
|
91
|
-
} from "./chunk-
|
|
91
|
+
} from "./chunk-2M7FELUY.js";
|
|
92
92
|
import {
|
|
93
93
|
writeFileAtomic
|
|
94
94
|
} from "./chunk-T5I4PKOQ.js";
|
|
95
95
|
import {
|
|
96
96
|
NPX_LATEST_COMMAND
|
|
97
|
-
} from "./chunk-
|
|
97
|
+
} from "./chunk-5S32WI3B.js";
|
|
98
98
|
import {
|
|
99
99
|
AGENT_QUESTION_STRATEGY,
|
|
100
100
|
AGENT_QUESTION_TOOL,
|
|
101
|
-
CLAUDE_REFUSALS_ONLY_TOOLS,
|
|
102
101
|
DECISION_STOP_REASON,
|
|
103
102
|
GATE_BLOCK_REASON_MAX_LENGTH,
|
|
104
103
|
GATE_WIRE,
|
|
@@ -115,7 +114,6 @@ import {
|
|
|
115
114
|
TERMINAL_AND_PHONE_REASON,
|
|
116
115
|
UNREADABLE_CALL_REASON,
|
|
117
116
|
UNVERIFIABLE_APPROVAL_REASON,
|
|
118
|
-
WILDCARD_TOOL_PATTERN,
|
|
119
117
|
WITHDRAWN_APPROVAL_REASON,
|
|
120
118
|
agentQuestionStrategy,
|
|
121
119
|
agentRulesAllowEveryInput,
|
|
@@ -132,7 +130,6 @@ import {
|
|
|
132
130
|
claudePromptTakesTheCall,
|
|
133
131
|
claudeStoppedPermissionRequestOutput,
|
|
134
132
|
claudeStoppedPreToolUseOutput,
|
|
135
|
-
claudeSubagentToolAliasOf,
|
|
136
133
|
denyReasonFrom,
|
|
137
134
|
editGoesToTheAgentsPrompt,
|
|
138
135
|
effectiveWaitSeconds,
|
|
@@ -144,6 +141,7 @@ import {
|
|
|
144
141
|
hookWaitDeadline,
|
|
145
142
|
hookWritePath,
|
|
146
143
|
isBlockedActionRequest,
|
|
144
|
+
isClaudeRefusalsOnlyTool,
|
|
147
145
|
isCursorHookPayload,
|
|
148
146
|
isPermissionRequestOwnedByPreToolUse,
|
|
149
147
|
isPusharyConnectorTool,
|
|
@@ -159,12 +157,13 @@ import {
|
|
|
159
157
|
questionLimitHandBack,
|
|
160
158
|
refusesWhenUnanswered,
|
|
161
159
|
resolveGate,
|
|
160
|
+
standingDenyOfSubagentAlias,
|
|
162
161
|
terminalLiveWait,
|
|
163
162
|
terminalStaysLiveForTheCall,
|
|
164
163
|
timeoutActionWithoutLocalPrompt,
|
|
165
164
|
unansweredRefusalReason,
|
|
166
165
|
unapprovedScopeReason
|
|
167
|
-
} from "./chunk-
|
|
166
|
+
} from "./chunk-HI5YJFKW.js";
|
|
168
167
|
|
|
169
168
|
// src/terminal-answer-watch.ts
|
|
170
169
|
import { closeSync, openSync, readSync, statSync } from "fs";
|
|
@@ -836,14 +835,8 @@ var rememberHandbackToThePrompt = (input, heldForMcpRoute, result) => {
|
|
|
836
835
|
if (heldForMcpRoute && result?.hookSpecificOutput?.permissionDecision === "ask") recordMcpHoldHandback(blockedActionFingerprintFor(input));
|
|
837
836
|
return result;
|
|
838
837
|
};
|
|
839
|
-
var isRefusalsOnlyCallInClaudeCode = (input) =>
|
|
838
|
+
var isRefusalsOnlyCallInClaudeCode = (input) => ACTIVE_SOURCE === "claude" && isClaudeRefusalsOnlyTool(input.tool_name);
|
|
840
839
|
var STANDING_REFUSAL_NETWORK_BUDGET_MS = 800;
|
|
841
|
-
var standingDenyOfTheSubagentAlias = (gateInputFor, toolName) => {
|
|
842
|
-
const alias = claudeSubagentToolAliasOf(toolName);
|
|
843
|
-
if (alias === void 0) return void 0;
|
|
844
|
-
const verdict = resolveGate(gateInputFor(alias));
|
|
845
|
-
return verdict.kind === "deny" && verdict.policy.tool !== WILDCARD_TOOL_PATTERN ? verdict : void 0;
|
|
846
|
-
};
|
|
847
840
|
var standingRefusalOf = async (input) => {
|
|
848
841
|
let apiKey;
|
|
849
842
|
try {
|
|
@@ -862,7 +855,7 @@ var standingRefusalOf = async (input) => {
|
|
|
862
855
|
if (policy === null) return void 0;
|
|
863
856
|
const gateInputFor = (toolName) => claudeGateInput(modeState, policy, { ...input, tool_name: toolName });
|
|
864
857
|
const asCalled = resolveGate(gateInputFor(input.tool_name));
|
|
865
|
-
const denied = asCalled.kind === "deny" ? asCalled :
|
|
858
|
+
const denied = asCalled.kind === "deny" ? asCalled : standingDenyOfSubagentAlias(input.tool_name, (toolName) => resolveGate(gateInputFor(toolName)));
|
|
866
859
|
if (denied === void 0) return void 0;
|
|
867
860
|
await reportMachineDenial(input, denied, ACTIVE_AGENT);
|
|
868
861
|
return deny(denied.reason);
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
import {
|
|
2
2
|
pusharyHookExecutable
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-Q3KKA5IZ.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-EUIDFLPM.js";
|
|
11
11
|
import {
|
|
12
12
|
atLeast,
|
|
13
13
|
parseVersion
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-KQKHSJOM.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-HI5YJFKW.js";
|
|
25
25
|
|
|
26
26
|
// src/cursor-gate-registration.ts
|
|
27
27
|
import { dirname, isAbsolute, join, resolve } from "path";
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import {
|
|
2
2
|
absoluteUrl
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-B5OX2WCA.js";
|
|
4
4
|
import {
|
|
5
5
|
KEY_SCOPE
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-HI5YJFKW.js";
|
|
7
7
|
|
|
8
8
|
// src/cli/approval-settings-pages.ts
|
|
9
9
|
var API_KEYS_PATH = "/dashboard/agent/settings";
|
|
@@ -9,13 +9,13 @@ import {
|
|
|
9
9
|
installedCodexApp,
|
|
10
10
|
readCodexAppRuntime,
|
|
11
11
|
shellQuoted
|
|
12
|
-
} from "./chunk-
|
|
12
|
+
} from "./chunk-ABYRJP4R.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-XWFYR52C.js";
|
|
19
19
|
import {
|
|
20
20
|
writeFileAtomic
|
|
21
21
|
} from "./chunk-T5I4PKOQ.js";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
pusharyDir
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-EUIDFLPM.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-HI5YJFKW.js";
|
|
17
17
|
|
|
18
18
|
// src/declined-agents-file.ts
|
|
19
19
|
import { join } from "path";
|
|
@@ -3,7 +3,7 @@ import {
|
|
|
3
3
|
formatVersion,
|
|
4
4
|
quoteIfNeeded,
|
|
5
5
|
shellDoubleQuoted
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-KQKHSJOM.js";
|
|
7
7
|
import {
|
|
8
8
|
writeFileAtomic
|
|
9
9
|
} from "./chunk-T5I4PKOQ.js";
|
|
@@ -19,7 +19,7 @@ import {
|
|
|
19
19
|
HOOK_LOCATOR_BINARY,
|
|
20
20
|
PRETOOLUSE_GATED_TOOLS,
|
|
21
21
|
withHookHoldBudget
|
|
22
|
-
} from "./chunk-
|
|
22
|
+
} from "./chunk-HI5YJFKW.js";
|
|
23
23
|
|
|
24
24
|
// src/setup/paths.ts
|
|
25
25
|
import { createHash as createHash2 } from "crypto";
|
|
@@ -742,7 +742,6 @@ var CLAUDE_MCP_ROUTE_HOLD_HOOK = {
|
|
|
742
742
|
matcher: CLAUDE_MCP_PRETOOLUSE_MATCHER,
|
|
743
743
|
timeout: HOOK_BUDGETS.claude.budgetSeconds,
|
|
744
744
|
delivery: "approval",
|
|
745
|
-
cliOnly: true,
|
|
746
745
|
since: ESTABLISHED
|
|
747
746
|
};
|
|
748
747
|
var CLAUDE_REFUSALS_ONLY_HOOK = {
|
|
@@ -886,7 +885,8 @@ var addPusharyHooks = (settings, binDir, version = null) => {
|
|
|
886
885
|
const supported = new Map(supportedClaudeEvents(version).map((hook) => [hook.event, hook]));
|
|
887
886
|
for (const known of CLAUDE_HOOK_EVENTS) {
|
|
888
887
|
const current = Array.isArray(hooks[known.event]) ? hooks[known.event] : [];
|
|
889
|
-
const
|
|
888
|
+
const oursButUnjudged = version === null && current.some((item) => isPusharyHook(item));
|
|
889
|
+
const definition = supported.get(known.event) ?? (oursButUnjudged ? known : void 0);
|
|
890
890
|
if (definition) {
|
|
891
891
|
hooks[known.event] = registerHookEntry(current, isPusharyHook, entry(definition, resolve2));
|
|
892
892
|
continue;
|
|
@@ -1284,6 +1284,7 @@ export {
|
|
|
1284
1284
|
guardCursorGate,
|
|
1285
1285
|
guardedArgv,
|
|
1286
1286
|
registeredCommands,
|
|
1287
|
+
namesCliBinary,
|
|
1287
1288
|
namesOurBinary,
|
|
1288
1289
|
registrationHolderOf,
|
|
1289
1290
|
windowsNodeLauncherFor,
|
|
@@ -1807,20 +1807,60 @@ var scriptsOfShellsIn = (text3) => {
|
|
|
1807
1807
|
const words = shellWordsOf(text3);
|
|
1808
1808
|
return words === null ? [] : words.flatMap((_, index) => scriptArgumentOfAShellAt(words, index) ?? []);
|
|
1809
1809
|
};
|
|
1810
|
+
var endsTheCommandAsAControlOperator = (text3, index) => {
|
|
1811
|
+
const char = text3.charAt(index);
|
|
1812
|
+
const before = text3.charAt(index - 1);
|
|
1813
|
+
if (char === "|") return before !== ">";
|
|
1814
|
+
return char === "&" && before !== ">" && before !== "<" && text3.charAt(index + 1) !== ">";
|
|
1815
|
+
};
|
|
1816
|
+
var endOfTheSimpleCommandAt = (text3, from) => {
|
|
1817
|
+
let depth = 0;
|
|
1818
|
+
let quote = null;
|
|
1819
|
+
let inBackticks = false;
|
|
1820
|
+
for (let index = from; index < text3.length; index += 1) {
|
|
1821
|
+
const char = text3.charAt(index);
|
|
1822
|
+
if (quote === "'") {
|
|
1823
|
+
if (char === "'") quote = null;
|
|
1824
|
+
} else if (char === "\\") {
|
|
1825
|
+
index += 1;
|
|
1826
|
+
} else if (quote === '"') {
|
|
1827
|
+
if (char === '"') quote = null;
|
|
1828
|
+
} else if (char === "'" || char === '"') {
|
|
1829
|
+
quote = char;
|
|
1830
|
+
} else if (char === "`") {
|
|
1831
|
+
inBackticks = !inBackticks;
|
|
1832
|
+
} else if (inBackticks) {
|
|
1833
|
+
continue;
|
|
1834
|
+
} else if (char === "(") {
|
|
1835
|
+
depth += 1;
|
|
1836
|
+
} else if (char === ")" && depth > 0) {
|
|
1837
|
+
depth -= 1;
|
|
1838
|
+
} else if (depth === 0 && (char === "\n" || char === ";" || char === ")" || endsTheCommandAsAControlOperator(text3, index))) {
|
|
1839
|
+
return index;
|
|
1840
|
+
}
|
|
1841
|
+
}
|
|
1842
|
+
return text3.length;
|
|
1843
|
+
};
|
|
1810
1844
|
var scriptOfAnEvalEndingAt = (text3, end) => {
|
|
1811
|
-
const words = shellWordsOf(text3.slice(end));
|
|
1812
|
-
|
|
1845
|
+
const words = shellWordsOf(text3.slice(end, endOfTheSimpleCommandAt(text3, end)));
|
|
1846
|
+
if (words === null) return [];
|
|
1847
|
+
const firstComment = words.findIndex((word) => word.comment);
|
|
1848
|
+
return [(firstComment === -1 ? words : words.slice(0, firstComment)).map((word) => word.text).join(" ")];
|
|
1813
1849
|
};
|
|
1814
|
-
var scriptsOfEvalsIn = (text3) => [...text3.matchAll(AN_EVAL_THAT_RUNS)].slice(0, MOST_SCRIPTS_READ_FROM_ONE_COMMAND).flatMap((match) => scriptOfAnEvalEndingAt(text3, match.index + match[0].length));
|
|
1850
|
+
var scriptsOfEvalsIn = (text3) => [...text3.matchAll(AN_EVAL_THAT_RUNS)].slice(0, MOST_SCRIPTS_READ_FROM_ONE_COMMAND + 1).flatMap((match) => scriptOfAnEvalEndingAt(text3, match.index + match[0].length));
|
|
1815
1851
|
var scriptsDirectlyInside = (text3) => [...scriptsOfEvalsIn(text3), ...scriptsOfShellsIn(text3)];
|
|
1816
|
-
var
|
|
1817
|
-
|
|
1852
|
+
var READING_OF_SCRIPTS_TOO_MANY_TO_READ = ": | sh";
|
|
1853
|
+
var readingsOfScriptsPassedToAShell = (text3) => {
|
|
1854
|
+
const readings = [];
|
|
1855
|
+
let scriptsRead = 0;
|
|
1818
1856
|
let level = [text3];
|
|
1819
|
-
for (let depth = 0; depth < DEEPEST_NESTED_SCRIPT_READ && level.length > 0
|
|
1820
|
-
level = level.flatMap(scriptsDirectlyInside).
|
|
1821
|
-
|
|
1857
|
+
for (let depth = 0; depth < DEEPEST_NESTED_SCRIPT_READ && level.length > 0; depth += 1) {
|
|
1858
|
+
level = level.flatMap(scriptsDirectlyInside).filter((script) => COMMENT_OR_ANSI_C_QUOTE.test(script));
|
|
1859
|
+
scriptsRead += level.length;
|
|
1860
|
+
if (scriptsRead > MOST_SCRIPTS_READ_FROM_ONE_COMMAND) return [...readings, READING_OF_SCRIPTS_TOO_MANY_TO_READ];
|
|
1861
|
+
readings.push(...level.flatMap((script) => readingWithoutCommentsOrAnsiEscapes(script) ?? []));
|
|
1822
1862
|
}
|
|
1823
|
-
return
|
|
1863
|
+
return readings;
|
|
1824
1864
|
};
|
|
1825
1865
|
var shellCommandSegments = (command) => splitShellSegments(command)?.map((segment) => segment.text) ?? null;
|
|
1826
1866
|
var shellSegmentsReadingAPipe = (command) => splitShellSegments(command)?.filter((segment) => segment.readsPipe).map((segment) => segment.text) ?? null;
|
|
@@ -8655,6 +8695,13 @@ var CLAUDE_REFUSALS_ONLY_TOOLS = ["WebFetch", "Task", "Agent"];
|
|
|
8655
8695
|
var CLAUDE_REFUSALS_ONLY_PRETOOLUSE_MATCHER = `^(${CLAUDE_REFUSALS_ONLY_TOOLS.join("|")})$`;
|
|
8656
8696
|
var CLAUDE_SUBAGENT_TOOL_ALIASES = { Task: "Agent", Agent: "Task" };
|
|
8657
8697
|
var claudeSubagentToolAliasOf = (toolName) => Object.hasOwn(CLAUDE_SUBAGENT_TOOL_ALIASES, toolName) ? CLAUDE_SUBAGENT_TOOL_ALIASES[toolName] : void 0;
|
|
8698
|
+
var isClaudeRefusalsOnlyTool = (toolName) => toolName.startsWith(MCP_TOOL_PREFIX) || CLAUDE_REFUSALS_ONLY_TOOLS.includes(toolName);
|
|
8699
|
+
var standingDenyOfSubagentAlias = (toolName, verdictFor) => {
|
|
8700
|
+
const alias = claudeSubagentToolAliasOf(toolName);
|
|
8701
|
+
if (alias === void 0) return void 0;
|
|
8702
|
+
const verdict = verdictFor(alias);
|
|
8703
|
+
return verdict.kind === "deny" && verdict.policy.tool !== WILDCARD_TOOL_PATTERN ? verdict : void 0;
|
|
8704
|
+
};
|
|
8658
8705
|
var LINE_BREAK = /[\r\n]/;
|
|
8659
8706
|
var bypassModeCovers = (toolName, toolInput) => {
|
|
8660
8707
|
const arg = extractPolicyArg(toolName, toolInput);
|
|
@@ -8675,6 +8722,7 @@ var PATTERN_PREFIX_WILDCARD = /(?::\*|\*)?\)$/;
|
|
|
8675
8722
|
var CONTINUES_A_COMMAND_WORD = /^[ :]/;
|
|
8676
8723
|
var ruleNarrowsThePattern = (ruleTool, pattern) => {
|
|
8677
8724
|
if (ruleTool === pattern) return false;
|
|
8725
|
+
if (pattern === WILDCARD_TOOL_PATTERN) return true;
|
|
8678
8726
|
if (!pattern.includes("(")) return ruleTool.includes("(");
|
|
8679
8727
|
const prefix = pattern.replace(PATTERN_PREFIX_WILDCARD, "");
|
|
8680
8728
|
return ruleTool.startsWith(prefix) && CONTINUES_A_COMMAND_WORD.test(ruleTool.slice(prefix.length));
|
|
@@ -8713,7 +8761,7 @@ var extraReadingsOf = (toolInput) => {
|
|
|
8713
8761
|
const readings = [
|
|
8714
8762
|
commentFree,
|
|
8715
8763
|
...spelledOut,
|
|
8716
|
-
...[command, commentFree, ...spelledOut].filter(isAReading).flatMap(
|
|
8764
|
+
...[command, commentFree, ...spelledOut].filter(isAReading).flatMap(readingsOfScriptsPassedToAShell)
|
|
8717
8765
|
];
|
|
8718
8766
|
return readings.filter(isAReading).map((reading) => ({ ...toolInput, command: reading }));
|
|
8719
8767
|
};
|
|
@@ -9576,7 +9624,6 @@ export {
|
|
|
9576
9624
|
isTokenCount,
|
|
9577
9625
|
reportableSessionId,
|
|
9578
9626
|
TOOL_NAME_MAX_LENGTH,
|
|
9579
|
-
WILDCARD_TOOL_PATTERN,
|
|
9580
9627
|
normalizeRepoRemote,
|
|
9581
9628
|
localRepoKey,
|
|
9582
9629
|
isSafeReadOnlyCommand,
|
|
@@ -9622,9 +9669,9 @@ export {
|
|
|
9622
9669
|
isPermissionRequestOwnedByPreToolUse,
|
|
9623
9670
|
CLAUDE_PRETOOLUSE_MATCHER,
|
|
9624
9671
|
CLAUDE_MCP_PRETOOLUSE_MATCHER,
|
|
9625
|
-
CLAUDE_REFUSALS_ONLY_TOOLS,
|
|
9626
9672
|
CLAUDE_REFUSALS_ONLY_PRETOOLUSE_MATCHER,
|
|
9627
|
-
|
|
9673
|
+
isClaudeRefusalsOnlyTool,
|
|
9674
|
+
standingDenyOfSubagentAlias,
|
|
9628
9675
|
permissionsOffLineAppliesTo,
|
|
9629
9676
|
permissionsOffAskReason,
|
|
9630
9677
|
resolveGate,
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import {
|
|
2
2
|
autoUpdateLock
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-EUIDFLPM.js";
|
|
4
4
|
import {
|
|
5
5
|
installPackageGlobally,
|
|
6
6
|
npmErrorMessage,
|
|
7
7
|
npmExitedOnPermissionDenied
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-KQKHSJOM.js";
|
|
9
9
|
import {
|
|
10
10
|
writeJsonAtomic
|
|
11
11
|
} from "./chunk-T5I4PKOQ.js";
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import {
|
|
2
2
|
pusharyDir
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-EUIDFLPM.js";
|
|
4
4
|
import {
|
|
5
5
|
readJsonSafe
|
|
6
6
|
} from "./chunk-T5I4PKOQ.js";
|
|
7
7
|
import {
|
|
8
8
|
isRecord
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-HI5YJFKW.js";
|
|
10
10
|
|
|
11
11
|
// src/process-ownership.ts
|
|
12
12
|
import { createHash, randomUUID } from "crypto";
|
|
@@ -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-SIAPPAFR.js");
|
|
403
|
+
const { installWithUpgradeLock, ownsUpgradeLock } = await import("./upgrade-lock-YT4O5QW6.js");
|
|
404
|
+
const { autoUpdateLock } = await import("./paths-346XNBFK.js");
|
|
405
405
|
let result = "skipped";
|
|
406
406
|
const install = async () => {
|
|
407
407
|
const platform = process.platform;
|
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
import {
|
|
2
2
|
notificationAnswerStep
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-2FOCCDVV.js";
|
|
4
4
|
import {
|
|
5
5
|
canChangeApprovalSettings
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-DK6R5IVR.js";
|
|
7
7
|
import {
|
|
8
8
|
matchMacAccountStep,
|
|
9
9
|
retryAgentCommand
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-MKUFVNZL.js";
|
|
11
11
|
import {
|
|
12
12
|
EXIT
|
|
13
13
|
} from "./chunk-BG4HHB7E.js";
|
|
14
14
|
import {
|
|
15
15
|
NPX_LATEST_COMMAND
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-5S32WI3B.js";
|
|
17
17
|
|
|
18
18
|
// src/setup/closing.ts
|
|
19
19
|
var ACTIVITY_URL = "pushary.com/dashboard/agent/activity";
|