pushary 1.9.114 → 1.9.116
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 +12 -0
- package/dist/{api-PCAXOVGM.js → api-X624HAAU.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 +32 -32
- 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 +29 -29
- package/dist/bin/pushary-hook.js +32 -32
- 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 +28 -28
- package/dist/bin/pushary-permission-denied-hook.js +32 -32
- package/dist/bin/pushary-permission-hook.js +32 -32
- 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-FQSFN5ZE.js → chunk-27CV6IXW.js} +1 -1
- package/dist/{chunk-T5GJK54S.js → chunk-32MHL5HC.js} +4 -4
- package/dist/{chunk-JXN4SH6M.js → chunk-32R6ESWY.js} +1 -1
- package/dist/{chunk-WUREJCUJ.js → chunk-3CYXPFGA.js} +5 -5
- package/dist/{chunk-O5VJGP6H.js → chunk-3WEWYRLQ.js} +4 -4
- package/dist/{chunk-Q4VB3DIL.js → chunk-4B6USDD3.js} +2 -2
- package/dist/{chunk-UMR6UQZ4.js → chunk-4NCIAMPN.js} +3 -3
- package/dist/{chunk-E3A77P52.js → chunk-4Q5J3HRJ.js} +4 -4
- package/dist/{chunk-CG5SK6NF.js → chunk-4QJUMXZS.js} +1 -1
- package/dist/{chunk-Z2QWM27R.js → chunk-4WG5XTKS.js} +6 -6
- package/dist/{chunk-MPG4HYQ6.js → chunk-4X6GTMU4.js} +3 -3
- package/dist/{chunk-OJGHJIFQ.js → chunk-5LWC7PSM.js} +5 -5
- package/dist/{chunk-U35OB2HQ.js → chunk-6FMHWS6M.js} +6 -6
- package/dist/{chunk-AR3VX4UQ.js → chunk-6RKEHEW6.js} +10 -10
- package/dist/{chunk-NG2EWF32.js → chunk-7ELMLTD7.js} +2 -2
- package/dist/{chunk-YM5OM2CI.js → chunk-7O4ZTJYY.js} +6 -6
- package/dist/{chunk-GBT74TNN.js → chunk-7THCN7FJ.js} +2 -2
- package/dist/{chunk-FLRVTAV4.js → chunk-BVN3WPDZ.js} +2 -2
- package/dist/{chunk-PU2KHDRD.js → chunk-BWSAVEMV.js} +101 -18
- package/dist/{chunk-BMZFL3HF.js → chunk-BZLG63YR.js} +4 -4
- package/dist/{chunk-3D2J3T2M.js → chunk-CBJXUJ4Y.js} +1 -1
- package/dist/{chunk-GNP6I5XM.js → chunk-CHHS7WT2.js} +2 -2
- package/dist/{chunk-XL6DDWWT.js → chunk-CJL7IMWO.js} +1 -1
- package/dist/{chunk-TRSKGWEL.js → chunk-CW34RKBV.js} +3 -3
- package/dist/{chunk-IWUYKDDW.js → chunk-DGZGCKDA.js} +4 -4
- package/dist/{chunk-KDTTCR3E.js → chunk-DMY2J2MY.js} +3 -3
- package/dist/{chunk-LUBECFXJ.js → chunk-EQZKJXHE.js} +1 -1
- package/dist/{chunk-T2N7MEO3.js → chunk-FHRXFUGD.js} +3 -3
- package/dist/{chunk-GI3266RE.js → chunk-FKVPV3SH.js} +2 -2
- package/dist/{chunk-RIBCPWOB.js → chunk-FU33PDFG.js} +3 -3
- package/dist/{chunk-KB2EEK5T.js → chunk-GB5E3JHR.js} +5 -5
- package/dist/{chunk-ZUZ4RXM7.js → chunk-GKXEA6IW.js} +1 -1
- package/dist/{chunk-KPCVIH52.js → chunk-H5TODUJ3.js} +113 -9
- package/dist/{chunk-P4PLDBZK.js → chunk-I5XLH7L3.js} +5 -5
- package/dist/{chunk-3LJWADU2.js → chunk-IC7LNHAX.js} +6 -6
- package/dist/{chunk-DSXBMC2N.js → chunk-JQS5YQQZ.js} +5 -5
- package/dist/{chunk-NPG4WCIM.js → chunk-JSTA2JTL.js} +1 -1
- package/dist/{chunk-24M7PB2Y.js → chunk-KK7JA5JP.js} +5 -5
- package/dist/{chunk-53ROMSOB.js → chunk-KVZAFFEE.js} +3 -3
- package/dist/{chunk-BWSXWX6T.js → chunk-LC2A3GBN.js} +2 -2
- package/dist/{chunk-3ZU77DJH.js → chunk-LQQWATPA.js} +6 -6
- package/dist/{chunk-GSJUGW3A.js → chunk-NGWG2CHI.js} +1 -1
- package/dist/{chunk-233KC6DP.js → chunk-NXEOD5JC.js} +1 -1
- package/dist/{chunk-5SUTYXCT.js → chunk-OEXJ7AJO.js} +1 -1
- package/dist/{chunk-44O6GG4I.js → chunk-PBM565KU.js} +6 -6
- package/dist/{chunk-B5NKPU2E.js → chunk-PCRLVQW3.js} +5 -5
- package/dist/{chunk-XQFHB2EK.js → chunk-PH4LJXTG.js} +3 -3
- package/dist/{chunk-DLCECUKY.js → chunk-PPEN3N44.js} +7 -7
- package/dist/{chunk-TAGLGMA6.js → chunk-PPW3K5DR.js} +2 -2
- package/dist/{chunk-BYL7RNOM.js → chunk-PPYNBRU6.js} +3 -3
- package/dist/{chunk-5J2OGCUA.js → chunk-Q3GYEEOM.js} +1 -1
- package/dist/{chunk-44HW5T6P.js → chunk-QVD4UOJ7.js} +2 -2
- package/dist/{chunk-D3XNQAQO.js → chunk-QXLV3CT6.js} +2 -2
- package/dist/{chunk-4EFZANH3.js → chunk-R7BP6ZEW.js} +1 -1
- package/dist/{chunk-MDEXA6JD.js → chunk-RQGMDAHY.js} +3 -3
- package/dist/{chunk-JXNDO7FB.js → chunk-RZRFHCAG.js} +1 -1
- package/dist/{chunk-22OATDEL.js → chunk-S5B3LKOP.js} +3 -3
- package/dist/{chunk-4I6FWGZ5.js → chunk-SDMGCRO3.js} +1 -1
- package/dist/{chunk-F5TQ6TCH.js → chunk-TNQ5JFCV.js} +1 -1
- package/dist/{chunk-WGK2BIX6.js → chunk-TSXTMJQH.js} +4 -4
- package/dist/{chunk-JCHF4VR3.js → chunk-TWRDOVN4.js} +1 -1
- package/dist/{chunk-SI7EFQEU.js → chunk-V766TMSY.js} +4 -4
- package/dist/{chunk-NK5XT4RS.js → chunk-VAT53KQR.js} +4 -4
- package/dist/{chunk-JRW5HK32.js → chunk-WACBGAWA.js} +2 -2
- package/dist/{chunk-I7HSE5LD.js → chunk-XUHDUD34.js} +27 -14
- package/dist/{chunk-GGBGKQIZ.js → chunk-YDQ2KQOH.js} +8 -8
- package/dist/{chunk-HJ566HEV.js → chunk-Z3WNBZG6.js} +3 -3
- package/dist/{chunk-OR5SWH44.js → chunk-ZETS7HPG.js} +10 -10
- package/dist/{chunk-6E2D22Y5.js → chunk-ZR7ODRKY.js} +2 -2
- package/dist/{chunk-RLBTKTOK.js → chunk-ZUVDQOU6.js} +16 -2
- package/dist/{codex-app-cards-switch-UI2LQQ6C.js → codex-app-cards-switch-7XA2J7MU.js} +11 -11
- package/dist/{codex-card-routing-IOVURY45.js → codex-card-routing-SWDFV5IG.js} +2 -2
- package/dist/{codex-desktop-launch-GAXMK6IM.js → codex-desktop-launch-7Y2YODZM.js} +1 -1
- package/dist/{codex-session-launch-FYXRCD3I.js → codex-session-launch-5I3NEQRG.js} +18 -18
- package/dist/{config-WOATWPOD.js → config-HUULA2T7.js} +3 -3
- package/dist/{global-upgrade-LDIMKAPF.js → global-upgrade-BTHOIZK5.js} +9 -9
- package/dist/{identity-GCRCIP45.js → identity-MVXY2GIK.js} +4 -4
- package/dist/{live-capabilities-DPMIMA3P.js → live-capabilities-KCTCX3EI.js} +4 -4
- package/dist/{paths-H5LP5HJB.js → paths-BVROPWE2.js} +3 -3
- package/dist/{reapply-FBNJRZLQ.js → reapply-6J22YOVO.js} +28 -28
- package/dist/src/index.d.ts +0 -1
- package/dist/src/index.js +31 -31
- package/dist/{upgrade-lock-76Z2YLIV.js → upgrade-lock-LQQDJAEJ.js} +4 -4
- package/dist/{usage-SIELH6XD.js → usage-LC7XUIV3.js} +3 -3
- package/package.json +1 -1
|
@@ -6745,6 +6745,12 @@ var inlineScriptsOf = (invocation, heredocs) => {
|
|
|
6745
6745
|
return heredocs.length > 0 ? { kind: "readable", scripts: heredocs } : HIDDEN_INLINE_SCRIPT;
|
|
6746
6746
|
};
|
|
6747
6747
|
var programIsHidden = ({ program }) => program?.expands ?? false;
|
|
6748
|
+
var PROGRAM_PATH_UNDER_HOME_OR_PWD = /^\$(?:HOME|PWD|\{HOME\}|\{PWD\})(?:\/[A-Za-z0-9._+-]+)+$/;
|
|
6749
|
+
var LEADING_QUOTE = /^"/;
|
|
6750
|
+
var commandStartsWithProgramUnderHomeOrPwd = (command, invocation, innermost) => {
|
|
6751
|
+
const programText = innermost.program?.text ?? "";
|
|
6752
|
+
return invocation.program?.text === programText && PROGRAM_PATH_UNDER_HOME_OR_PWD.test(programText) && command.trimStart().replace(LEADING_QUOTE, "").startsWith(programText);
|
|
6753
|
+
};
|
|
6748
6754
|
var SUBSTITUTION_AS_A_PROGRAM = new RegExp(String.raw`(?:^|[;&|({\n]|(?:^|[\s;&|({])(?:${WORDS_THAT_OPEN_A_COMMAND})\s)\s*"?(?:\$\(|\`)`);
|
|
6749
6755
|
var runsASubstitutionAsAProgram = (command) => {
|
|
6750
6756
|
const visible = shellVisibleText(withHeredocBodiesSetAside(commandForReading(command)).text);
|
|
@@ -6755,7 +6761,7 @@ var parsedSpelledSegment = (segment) => {
|
|
|
6755
6761
|
return { text: text3, invocation: invocationOf(text3), heredocs: [], feedsASubstitution: false };
|
|
6756
6762
|
};
|
|
6757
6763
|
var roughSpelledSegment = ({ invocation, heredocs, feedsASubstitution }) => ({ text: verbatimInvocationText(invocation), invocation, heredocs, feedsASubstitution });
|
|
6758
|
-
var segmentHidesWhatItRuns = (segment, innermost, scripts) => programIsHidden(innermost) || scripts.kind === "hidden" || segment.feedsASubstitution && passesAnInlineScript(innermost);
|
|
6764
|
+
var segmentHidesWhatItRuns = (segment, innermost, scripts, programIsReadable) => programIsHidden(innermost) && !programIsReadable || scripts.kind === "hidden" || segment.feedsASubstitution && passesAnInlineScript(innermost);
|
|
6759
6765
|
var commandsNestedIn = (innermost, scripts) => [
|
|
6760
6766
|
...scripts.kind === "readable" ? scripts.scripts : [],
|
|
6761
6767
|
...commandsRunByFind(innermost).map(verbatimInvocationText)
|
|
@@ -7144,12 +7150,13 @@ var spellCommandInto = (accumulator, command, depth, reach) => {
|
|
|
7144
7150
|
spellCommandInto(accumulator, nested, depth + 1, reach);
|
|
7145
7151
|
};
|
|
7146
7152
|
const segments = spelledSegmentsOf(command);
|
|
7147
|
-
for (const segment of segments) {
|
|
7153
|
+
for (const [index, segment] of segments.entries()) {
|
|
7148
7154
|
const innermost = innermostInvocation(segment.invocation);
|
|
7149
7155
|
const scripts = inlineScriptsOf(innermost, segment.heredocs);
|
|
7156
|
+
const programIsReadable = depth === 0 && index === 0 && commandStartsWithProgramUnderHomeOrPwd(command, segment.invocation, innermost);
|
|
7150
7157
|
addSpelledForm(accumulator, segment.text);
|
|
7151
7158
|
addSpelledForms(accumulator, spellingsOfAnInvocation(segment.invocation, innermost));
|
|
7152
|
-
accumulator.hidesWhatItRuns ||= segmentHidesWhatItRuns(segment, innermost, scripts);
|
|
7159
|
+
accumulator.hidesWhatItRuns ||= segmentHidesWhatItRuns(segment, innermost, scripts, programIsReadable);
|
|
7153
7160
|
for (const nested of commandsNestedIn(innermost, scripts)) spellNested(nested);
|
|
7154
7161
|
const ranOnBehalf = readsCommandRunners(reach) ? runnerReadingOf(innermost) : NO_INLINE_SCRIPT;
|
|
7155
7162
|
accumulator.hidesWhatItRuns ||= ranOnBehalf.kind === "hidden" || readsCommandRunners(reach) && runnerRunsWhatASubstitutionPrints(segment, innermost);
|
|
@@ -8449,6 +8456,7 @@ var PRETOOLUSE_GATED_TOOLS = [
|
|
|
8449
8456
|
var PRETOOLUSE_HANDLED_TOOLS = /* @__PURE__ */ new Set([...PRETOOLUSE_GATED_TOOLS, ...ASKED_IN_EVERY_MODE_TOOLS]);
|
|
8450
8457
|
var isPermissionRequestOwnedByPreToolUse = (toolName, permissionMode, defers = shouldDeferToNativeMode) => PRETOOLUSE_HANDLED_TOOLS.has(toolName) && (isAskedInEveryMode(toolName) || !defers(permissionMode, toolName));
|
|
8451
8458
|
var CLAUDE_PRETOOLUSE_MATCHER = [...PRETOOLUSE_HANDLED_TOOLS].join("|");
|
|
8459
|
+
var CLAUDE_MCP_PRETOOLUSE_MATCHER = "mcp__.*";
|
|
8452
8460
|
var LINE_BREAK = /[\r\n]/;
|
|
8453
8461
|
var bypassModeCovers = (toolName, toolInput) => {
|
|
8454
8462
|
const arg = extractPolicyArg(toolName, toolInput);
|
|
@@ -8465,6 +8473,20 @@ var bypassModeApplies = (input) => isBypassPermissionMode(input.permissionMode)
|
|
|
8465
8473
|
var bypassModeAllows = (input) => bypassModeApplies(input) && (bypassStopsOf(input.config) === "nothing" ? !aChosenRuleGovernsInEitherRepository(input, ruleAsksOrRefuses) : bypassModeCoversEveryInput(input));
|
|
8466
8474
|
var PERMISSIONS_OFF_ASK_REASON = "Permissions are off in your agent, so Pushary only stops for risky steps like this one. You can change this in Settings on pushary.com.";
|
|
8467
8475
|
var permissionsOffLineAppliesTo = (agentType) => agentType === CLAUDE_CODE_AGENT_TYPE;
|
|
8476
|
+
var askAtTheRouteOfAPushOfTheCurrentBranch = (input, repoKey) => {
|
|
8477
|
+
const routes = approvalRoutesOf(input.config);
|
|
8478
|
+
if (routes === null || input.currentBranch === void 0) return void 0;
|
|
8479
|
+
for (const toolInput of input.toolInputs) {
|
|
8480
|
+
const pushes = pushesOfTheCurrentBranchIn(input, toolInput);
|
|
8481
|
+
const route = pushes.length === 0 ? void 0 : findBestRoute(routes, input.toolName, pushes, repoKey);
|
|
8482
|
+
const ask = route && input.config.policies.find((policy) => policy.tool === route.toolPattern && restricts(policy) && !isAutoDeny(policy) && appliesToThisCall(policy, repoKey, input.sessionId));
|
|
8483
|
+
if (ask) {
|
|
8484
|
+
const mode = input.modeState.mode ?? input.config.modeOverride ?? ask.mode;
|
|
8485
|
+
return { ...ask, mode };
|
|
8486
|
+
}
|
|
8487
|
+
}
|
|
8488
|
+
return void 0;
|
|
8489
|
+
};
|
|
8468
8490
|
var permissionsOffAskReason = (input, verdict) => verdict.kind === "gate" && !verdict.scopeReason && !isAskedInEveryMode(input.toolName) && bypassModeApplies(input) && bypassStopsOf(input.config) === "consequences" && !aChosenRuleGovernsInEitherRepository(input) ? PERMISSIONS_OFF_ASK_REASON : void 0;
|
|
8469
8491
|
var resolveGate = (input) => {
|
|
8470
8492
|
const { modeState, config, toolName, toolInputs, cwd, sessionId } = input;
|
|
@@ -8485,14 +8507,16 @@ var resolveGate = (input) => {
|
|
|
8485
8507
|
const verdict = verdictForPolicy(policy);
|
|
8486
8508
|
const autoDenies = verdict === "deny";
|
|
8487
8509
|
const allowedByBypassMode = !autoDenies && verdict !== "allow" && bypassModeAllows(input);
|
|
8488
|
-
const
|
|
8510
|
+
const askBesideARoutedPush = verdict === "allow" ? askAtTheRouteOfAPushOfTheCurrentBranch(input, repoKey) : void 0;
|
|
8511
|
+
const autoApproves = (verdict === "allow" || allowedByBypassMode) && askBesideARoutedPush === void 0;
|
|
8512
|
+
const askedPolicy = askBesideARoutedPush ?? policy;
|
|
8489
8513
|
if (autoDenies) return { kind: "deny", policy, reason: `Denied by policy for ${policy.tool}` };
|
|
8490
8514
|
if (isAskedInEveryMode(toolName)) return { kind: "gate", policy };
|
|
8491
8515
|
if (isModeStateDegraded(modeState)) {
|
|
8492
8516
|
if (autoApproves) {
|
|
8493
8517
|
return survivesDegraded(config, toolName, toolInputs, cwd, repoKey, sessionId) ? { kind: "allow", policy, source: "allowlist" } : { kind: "defer", policy };
|
|
8494
8518
|
}
|
|
8495
|
-
return { kind: "gate", policy };
|
|
8519
|
+
return { kind: "gate", policy: askedPolicy };
|
|
8496
8520
|
}
|
|
8497
8521
|
const scopeVerdict = modeState.scope ? strictestScopeVerdict(modeState.scope, input.scopePaths ?? []) : { outcome: "no_contract" };
|
|
8498
8522
|
if (autoApproves) {
|
|
@@ -8507,7 +8531,7 @@ var resolveGate = (input) => {
|
|
|
8507
8531
|
const scopeReason = scopeChangeReason(scopeVerdict);
|
|
8508
8532
|
return {
|
|
8509
8533
|
kind: "gate",
|
|
8510
|
-
policy,
|
|
8534
|
+
policy: askedPolicy,
|
|
8511
8535
|
scopeReason,
|
|
8512
8536
|
scopePath: scopeReason && "path" in scopeVerdict ? widenablePath(scopeVerdict.path) : void 0
|
|
8513
8537
|
};
|
|
@@ -8621,6 +8645,69 @@ var approvalRoutesOf = (config) => {
|
|
|
8621
8645
|
const routes = config.approvalRoutes ?? [];
|
|
8622
8646
|
return Array.isArray(routes) && routes.every(isApprovalRoutePattern) ? routes : null;
|
|
8623
8647
|
};
|
|
8648
|
+
var GIT_PUSH_OPTIONS_WITH_A_VALUE = /* @__PURE__ */ new Set(["-o", "--push-option", "--repo", "--receive-pack", "--exec"]);
|
|
8649
|
+
var GIT_PUSH_FLAGS_THAT_PUSH_NO_BRANCH = /* @__PURE__ */ new Set(["--dry-run", "--tags"]);
|
|
8650
|
+
var GIT_PUSH_SHORT_FLAGS_WITH_A_DRY_RUN = /^-[A-Za-z]*n[A-Za-z]*$/;
|
|
8651
|
+
var HEAD_REFSPECS = /* @__PURE__ */ new Set(["HEAD", "@"]);
|
|
8652
|
+
var MOVES_BEFORE_A_PUSH = /^(?:(?:if|elif|while|until)\s+)?(?:(?:cd|pushd|popd)(?:\s|$)|git\s+(?:checkout|switch)(?:\s|$))/;
|
|
8653
|
+
var LONGEST_COMMAND_READ_FOR_A_PUSH = 16 * 1024;
|
|
8654
|
+
var pushesNoBranchItself = (word) => GIT_PUSH_FLAGS_THAT_PUSH_NO_BRANCH.has(word) || GIT_PUSH_SHORT_FLAGS_WITH_A_DRY_RUN.test(word);
|
|
8655
|
+
var pointsGitAtAnotherRepository = (form) => {
|
|
8656
|
+
const [program, ...words] = form.split(" ");
|
|
8657
|
+
if (program !== "git") return false;
|
|
8658
|
+
for (let index = 0; index < words.length && (words[index] ?? "").startsWith("-"); index += 1) {
|
|
8659
|
+
const word = words[index] ?? "";
|
|
8660
|
+
if (word === "-C" || word.startsWith("--git-dir") || word.startsWith("--work-tree")) return true;
|
|
8661
|
+
if (GIT_GLOBAL_OPTIONS_WITH_A_VALUE.has(word)) index += 1;
|
|
8662
|
+
}
|
|
8663
|
+
return false;
|
|
8664
|
+
};
|
|
8665
|
+
var gitPushWordsOf = (form) => {
|
|
8666
|
+
const [program, subcommand, ...words] = form.split(" ");
|
|
8667
|
+
if (program !== "git" || subcommand !== "push") return null;
|
|
8668
|
+
const flags = [];
|
|
8669
|
+
const operands = [];
|
|
8670
|
+
for (let index = 0; index < words.length; index += 1) {
|
|
8671
|
+
const word = words[index] ?? "";
|
|
8672
|
+
if (pushesNoBranchItself(word)) return null;
|
|
8673
|
+
if (GIT_PUSH_OPTIONS_WITH_A_VALUE.has(word)) index += 1;
|
|
8674
|
+
else if (word.startsWith("-")) flags.push(word);
|
|
8675
|
+
else operands.push(word);
|
|
8676
|
+
}
|
|
8677
|
+
return { flags, operands };
|
|
8678
|
+
};
|
|
8679
|
+
var pushNamesNoBranch = ({ operands }) => operands.length <= 1 || operands.length === 2 && HEAD_REFSPECS.has(operands[1] ?? "");
|
|
8680
|
+
var spellingsOfAPushOfTheBranch = (form, branch) => {
|
|
8681
|
+
const push = gitPushWordsOf(form);
|
|
8682
|
+
if (push === null || !pushNamesNoBranch(push)) return [];
|
|
8683
|
+
const remote = push.operands[0] ?? "origin";
|
|
8684
|
+
return [.../* @__PURE__ */ new Set([`git push ${remote} ${branch}`, ["git push", ...push.flags, remote, branch].join(" ")])];
|
|
8685
|
+
};
|
|
8686
|
+
var commandReadForAPush = (input, toolInput) => {
|
|
8687
|
+
const command = POSIX_SHELL_TOOLS.has(input.toolName) ? extractPolicyArg(input.toolName, toolInput) : void 0;
|
|
8688
|
+
return command !== void 0 && command.length <= LONGEST_COMMAND_READ_FOR_A_PUSH ? command : void 0;
|
|
8689
|
+
};
|
|
8690
|
+
var pushesInSegmentsBeforeAMove = (command, branch) => {
|
|
8691
|
+
const pushes = [];
|
|
8692
|
+
for (const segment of spelledSegmentsOf(command)) {
|
|
8693
|
+
const { forms } = commandSpellings(segment.text, SPELLS_COMMAND_RUNNERS_TOO);
|
|
8694
|
+
if (forms.some((form) => MOVES_BEFORE_A_PUSH.test(form))) break;
|
|
8695
|
+
if (!forms.some(pointsGitAtAnotherRepository)) pushes.push(...forms.flatMap((form) => spellingsOfAPushOfTheBranch(form, branch)));
|
|
8696
|
+
}
|
|
8697
|
+
return [...new Set(pushes)];
|
|
8698
|
+
};
|
|
8699
|
+
var pushesOfTheCurrentBranchIn = (input, toolInput) => {
|
|
8700
|
+
const branch = input.currentBranch;
|
|
8701
|
+
const command = branch !== void 0 && isGitBranch(branch) ? commandReadForAPush(input, toolInput) : void 0;
|
|
8702
|
+
return branch === void 0 || command === void 0 ? [] : pushesInSegmentsBeforeAMove(command, branch);
|
|
8703
|
+
};
|
|
8704
|
+
var MENTIONS_A_GIT_PUSH = /\bgit\b[\s\S]*\bpush\b/;
|
|
8705
|
+
var toolInputMayPushTheCurrentBranch = (toolName, toolInput) => {
|
|
8706
|
+
const command = extractPolicyArg(toolName, toolInput);
|
|
8707
|
+
return command !== void 0 && command.length <= LONGEST_COMMAND_READ_FOR_A_PUSH && MENTIONS_A_GIT_PUSH.test(command);
|
|
8708
|
+
};
|
|
8709
|
+
var callMayPushTheCurrentBranch = (toolName, toolInputs) => POSIX_SHELL_TOOLS.has(toolName) && toolInputs.some((toolInput) => toolInputMayPushTheCurrentBranch(toolName, toolInput));
|
|
8710
|
+
var routeArgumentsOf = (input, toolInput) => [...policyArgForms(input.toolName, toolInput, input.cwd), ...pushesOfTheCurrentBranchIn(input, toolInput)];
|
|
8624
8711
|
var everyRule = () => true;
|
|
8625
8712
|
var aChosenRuleGoverns = (input, counts = everyRule) => {
|
|
8626
8713
|
const chosen = input.config.policies.filter((policy) => !isDefaultRule(policy));
|
|
@@ -8630,16 +8717,24 @@ var aChosenRuleGoverns = (input, counts = everyRule) => {
|
|
|
8630
8717
|
const args = policyArgForms(input.toolName, toolInput, input.cwd);
|
|
8631
8718
|
const reading = policyReadingOf(chosen, input.toolName, args, SPELLS_COMMAND_RUNNERS_TOO);
|
|
8632
8719
|
const governing = governingRuleForReading(chosen, input.toolName, args, reading, input.repoKey, input.sessionId);
|
|
8633
|
-
return governing !== void 0 && counts(governing.policy) || findBestRoute(routes, input.toolName,
|
|
8720
|
+
return governing !== void 0 && counts(governing.policy) || findBestRoute(routes, input.toolName, routeArgumentsOf(input, toolInput), input.repoKey) !== void 0;
|
|
8634
8721
|
});
|
|
8635
8722
|
};
|
|
8636
8723
|
var AUTO_PERMISSION_MODE = "auto";
|
|
8637
|
-
var routeDeliveredFor = (input, routes, toolInput) => findBestRoute(routes, input.toolName,
|
|
8724
|
+
var routeDeliveredFor = (input, routes, toolInput) => findBestRoute(routes, input.toolName, routeArgumentsOf(input, toolInput), input.sharedRepoKey ?? input.repoKey);
|
|
8638
8725
|
var callWaitsForSomeoneElse = (input) => {
|
|
8639
8726
|
const routes = approvalRoutesOf(input.config);
|
|
8640
8727
|
if (routes === null) return false;
|
|
8641
8728
|
return input.toolInputs.some((toolInput) => routeDeliveredFor(input, routes, toolInput)?.answeredBySomeoneElse === true);
|
|
8642
8729
|
};
|
|
8730
|
+
var namedRouteWaitsForSomeoneElse = (input) => {
|
|
8731
|
+
const routes = approvalRoutesOf(input.config);
|
|
8732
|
+
if (routes === null) return false;
|
|
8733
|
+
return input.toolInputs.some((toolInput) => {
|
|
8734
|
+
const route = routeDeliveredFor(input, routes, toolInput);
|
|
8735
|
+
return route?.answeredBySomeoneElse === true && patternToolName(route.toolPattern) === input.toolName;
|
|
8736
|
+
});
|
|
8737
|
+
};
|
|
8643
8738
|
var matchedRouteOf = (input) => {
|
|
8644
8739
|
const routes = approvalRoutesOf(input.config);
|
|
8645
8740
|
if (routes === null) return void 0;
|
|
@@ -8648,7 +8743,10 @@ var matchedRouteOf = (input) => {
|
|
|
8648
8743
|
if (route === void 0) return void 0;
|
|
8649
8744
|
return route.repoKey ? { toolPattern: route.toolPattern, repoKey: route.repoKey } : { toolPattern: route.toolPattern };
|
|
8650
8745
|
};
|
|
8651
|
-
var
|
|
8746
|
+
var verdictCanHoldTheCall = (verdict) => verdict.kind === "gate" && !approvalWaitsAtTheAgentsPrompt(verdict.policy.mode) && !approvesWhenUnanswered(verdict.policy);
|
|
8747
|
+
var approvalRouteOutranksAutoMode = (input, verdict, permissionMode) => permissionMode === AUTO_PERMISSION_MODE && PRETOOLUSE_HANDLED_TOOLS.has(input.toolName) && verdictCanHoldTheCall(verdict) && callWaitsForSomeoneElse(input);
|
|
8748
|
+
var mcpCallCouldBeHeldForSomeoneElse = (toolName, permissionMode) => permissionMode === AUTO_PERMISSION_MODE && parseMcpToolName(toolName) !== void 0 && !isPusharyOwnTool(toolName);
|
|
8749
|
+
var approvalRouteHoldsMcpCall = (input, verdict, permissionMode) => mcpCallCouldBeHeldForSomeoneElse(input.toolName, permissionMode) && verdictCanHoldTheCall(verdict) && namedRouteWaitsForSomeoneElse(input);
|
|
8652
8750
|
var claudeAllowlistOwnsCall = (input, verdict, permissionMode, rules) => rules !== null && verdict.kind === "gate" && !verdict.scopeReason && !aChosenRuleGoverns(input) && !isAskedInEveryMode(input.toolName) && claudeConsultsItsAllowlist(permissionMode) && agentRulesAllowEveryInput(rules, input.toolName, input.toolInputs, input.cwd);
|
|
8653
8751
|
var claudePromptTakesTheCall = (facts, input, verdict) => verdict.kind === "gate" && !verdict.scopeReason && terminalStaysLiveForTheCall(facts) && noModeOverrideIsActive(input) && !aChosenRuleGoverns(input) && !editGoesToTheAgentsPrompt({ source: facts.source, event: "PreToolUse", permissionMode: facts.permissionMode }, input, verdict);
|
|
8654
8752
|
var toPolicyVersion = (value) => typeof value === "string" || typeof value === "number" ? String(value) : null;
|
|
@@ -9172,6 +9270,7 @@ export {
|
|
|
9172
9270
|
isSafeReadOnlyCommand,
|
|
9173
9271
|
isAutoApprove,
|
|
9174
9272
|
FILE_TARGET_TOOLS,
|
|
9273
|
+
MCP_TOOL_PREFIX,
|
|
9175
9274
|
parseMcpToolName,
|
|
9176
9275
|
API_KEY_PREFIX_PATTERN,
|
|
9177
9276
|
isValidApiKey,
|
|
@@ -9209,6 +9308,7 @@ export {
|
|
|
9209
9308
|
PRETOOLUSE_HANDLED_TOOLS,
|
|
9210
9309
|
isPermissionRequestOwnedByPreToolUse,
|
|
9211
9310
|
CLAUDE_PRETOOLUSE_MATCHER,
|
|
9311
|
+
CLAUDE_MCP_PRETOOLUSE_MATCHER,
|
|
9212
9312
|
permissionsOffLineAppliesTo,
|
|
9213
9313
|
permissionsOffAskReason,
|
|
9214
9314
|
resolveGate,
|
|
@@ -9229,8 +9329,12 @@ export {
|
|
|
9229
9329
|
claudePermissionRulesFromSettings,
|
|
9230
9330
|
claudeConsultsItsAllowlist,
|
|
9231
9331
|
agentRulesAllowEveryInput,
|
|
9332
|
+
callMayPushTheCurrentBranch,
|
|
9333
|
+
namedRouteWaitsForSomeoneElse,
|
|
9232
9334
|
matchedRouteOf,
|
|
9233
9335
|
approvalRouteOutranksAutoMode,
|
|
9336
|
+
mcpCallCouldBeHeldForSomeoneElse,
|
|
9337
|
+
approvalRouteHoldsMcpCall,
|
|
9234
9338
|
claudeAllowlistOwnsCall,
|
|
9235
9339
|
claudePromptTakesTheCall,
|
|
9236
9340
|
modeStateFromResponse,
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import {
|
|
2
2
|
readMacAppAgentKey
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-4Q5J3HRJ.js";
|
|
4
4
|
import {
|
|
5
5
|
API_KEYS_PATH
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-7ELMLTD7.js";
|
|
7
7
|
import {
|
|
8
8
|
absoluteUrl
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-Z3WNBZG6.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-S5B3LKOP.js";
|
|
20
20
|
import {
|
|
21
21
|
isValidApiKey
|
|
22
|
-
} from "./chunk-
|
|
22
|
+
} from "./chunk-H5TODUJ3.js";
|
|
23
23
|
|
|
24
24
|
// src/key-revocation.ts
|
|
25
25
|
var SELF_REVOKE_PATH = "/api/v1/server/keys/self/revoke";
|
|
@@ -4,7 +4,7 @@ import {
|
|
|
4
4
|
postLiveSession,
|
|
5
5
|
postLiveSessionUntilAccepted,
|
|
6
6
|
startLiveSessionHeartbeat
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-R7BP6ZEW.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-PPW3K5DR.js";
|
|
18
18
|
import {
|
|
19
19
|
repositoryScopeFor
|
|
20
|
-
} from "./chunk-
|
|
20
|
+
} from "./chunk-SDMGCRO3.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-PBM565KU.js";
|
|
28
28
|
import {
|
|
29
29
|
callMcpTool,
|
|
30
30
|
isRetryable
|
|
31
|
-
} from "./chunk-
|
|
31
|
+
} from "./chunk-3CYXPFGA.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-H5TODUJ3.js";
|
|
56
56
|
|
|
57
57
|
// src/codex-question-owner.ts
|
|
58
58
|
import { createHash } from "crypto";
|
|
@@ -3,24 +3,24 @@ import {
|
|
|
3
3
|
expectedLaunchCapabilities,
|
|
4
4
|
hasSpawnProvider,
|
|
5
5
|
resolveControlPolicy
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-FHRXFUGD.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-LQQWATPA.js";
|
|
14
14
|
import {
|
|
15
15
|
getMachineId
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-TNQ5JFCV.js";
|
|
17
17
|
import {
|
|
18
18
|
readControlMode,
|
|
19
19
|
readKeySource
|
|
20
|
-
} from "./chunk-
|
|
20
|
+
} from "./chunk-S5B3LKOP.js";
|
|
21
21
|
import {
|
|
22
22
|
getBaseUrl
|
|
23
|
-
} from "./chunk-
|
|
23
|
+
} from "./chunk-NGWG2CHI.js";
|
|
24
24
|
import {
|
|
25
25
|
getPackageVersion
|
|
26
26
|
} from "./chunk-ZVU6WMMU.js";
|
|
@@ -1,22 +1,22 @@
|
|
|
1
1
|
import {
|
|
2
2
|
cursorGateOwnsClaudeCall,
|
|
3
3
|
readCursorGateRegistration
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-DGZGCKDA.js";
|
|
5
5
|
import {
|
|
6
6
|
registerTranscript
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-ZETS7HPG.js";
|
|
8
8
|
import {
|
|
9
9
|
namedEvent
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-5LWC7PSM.js";
|
|
11
11
|
import {
|
|
12
12
|
writeDegraded
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-PBM565KU.js";
|
|
14
14
|
import {
|
|
15
15
|
claudeShapedHookInput,
|
|
16
16
|
hookCompatibleProfileBySource,
|
|
17
17
|
isGrokHookPayload,
|
|
18
18
|
isGrokSessionEndStop
|
|
19
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-H5TODUJ3.js";
|
|
20
20
|
|
|
21
21
|
// src/tool-hook-input.ts
|
|
22
22
|
var OPTIONAL_TEXT_FIELDS = ["hook_event_name", "session_id", "cwd", "transcript_path", "tool_use_id", "permission_mode", "cursor_version"];
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import {
|
|
2
2
|
parseSseMessages
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-3CYXPFGA.js";
|
|
4
4
|
import {
|
|
5
5
|
fetchAsCredential
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-JSTA2JTL.js";
|
|
7
7
|
import {
|
|
8
8
|
NPX_LATEST_COMMAND
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-TWRDOVN4.js";
|
|
10
10
|
|
|
11
11
|
// src/mcp-stdio-bridge.ts
|
|
12
12
|
var MCP_BRIDGE_BINARY = "pushary-mcp";
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
pusharyDir
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-ZUVDQOU6.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-H5TODUJ3.js";
|
|
17
17
|
|
|
18
18
|
// src/declined-agents-file.ts
|
|
19
19
|
import { join } from "path";
|
|
@@ -4,19 +4,19 @@ import {
|
|
|
4
4
|
} from "./chunk-XHKBHWLX.js";
|
|
5
5
|
import {
|
|
6
6
|
getMachineId
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-TNQ5JFCV.js";
|
|
8
8
|
import {
|
|
9
9
|
readControlMode
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-S5B3LKOP.js";
|
|
11
11
|
import {
|
|
12
12
|
pusharyDir
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-ZUVDQOU6.js";
|
|
14
14
|
import {
|
|
15
15
|
resolveGlobalBinary
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-FU33PDFG.js";
|
|
17
17
|
import {
|
|
18
18
|
getApiKey
|
|
19
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-NGWG2CHI.js";
|
|
20
20
|
import {
|
|
21
21
|
readJsonSafe,
|
|
22
22
|
writeFileAtomic,
|
|
@@ -32,7 +32,7 @@ import {
|
|
|
32
32
|
} from "./chunk-ZVU6WMMU.js";
|
|
33
33
|
import {
|
|
34
34
|
isRecord
|
|
35
|
-
} from "./chunk-
|
|
35
|
+
} from "./chunk-H5TODUJ3.js";
|
|
36
36
|
|
|
37
37
|
// src/daemon-lifecycle.ts
|
|
38
38
|
import { dirname, join, win32 as win32Path } from "path";
|
|
@@ -6,21 +6,21 @@ import {
|
|
|
6
6
|
McpToolError,
|
|
7
7
|
SubscriptionRequiredError,
|
|
8
8
|
callMcpTool
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-3CYXPFGA.js";
|
|
10
10
|
import {
|
|
11
11
|
installNetworkDefaults,
|
|
12
12
|
isNetworkFailure
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-PH4LJXTG.js";
|
|
14
14
|
import {
|
|
15
15
|
fetchAsCredential
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-JSTA2JTL.js";
|
|
17
17
|
import {
|
|
18
18
|
clientReportClaims
|
|
19
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-ZUVDQOU6.js";
|
|
20
20
|
import {
|
|
21
21
|
getApiKey,
|
|
22
22
|
getBaseUrl
|
|
23
|
-
} from "./chunk-
|
|
23
|
+
} from "./chunk-NGWG2CHI.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-H5TODUJ3.js";
|
|
33
33
|
|
|
34
34
|
// src/api.ts
|
|
35
35
|
import { randomUUID } from "crypto";
|
|
@@ -4,13 +4,13 @@ import {
|
|
|
4
4
|
configFailureKind,
|
|
5
5
|
retryAgentCommand,
|
|
6
6
|
writeSetupConfigFile
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-4X6GTMU4.js";
|
|
8
8
|
import {
|
|
9
9
|
MCP_BRIDGE_BINARY
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-KVZAFFEE.js";
|
|
11
11
|
import {
|
|
12
12
|
KEY_FILE_MODE
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-S5B3LKOP.js";
|
|
14
14
|
import {
|
|
15
15
|
CLINE_SERVER_NAME_TAKEN,
|
|
16
16
|
CLINE_SETTINGS_REFUSALS,
|
|
@@ -32,10 +32,10 @@ import {
|
|
|
32
32
|
withClinePusharyServer,
|
|
33
33
|
withRefreshedClineKey,
|
|
34
34
|
withoutClinePusharyServer
|
|
35
|
-
} from "./chunk-
|
|
35
|
+
} from "./chunk-ZUVDQOU6.js";
|
|
36
36
|
import {
|
|
37
37
|
resolveGlobalBinary
|
|
38
|
-
} from "./chunk-
|
|
38
|
+
} from "./chunk-FU33PDFG.js";
|
|
39
39
|
import {
|
|
40
40
|
readJsonSafe,
|
|
41
41
|
writeFileAtomic,
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import {
|
|
2
2
|
readExistingMachineId
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-TNQ5JFCV.js";
|
|
4
4
|
import {
|
|
5
5
|
getBaseUrl
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-NGWG2CHI.js";
|
|
7
7
|
import {
|
|
8
8
|
NetworkError
|
|
9
9
|
} from "./chunk-YU2EUD7O.js";
|
|
@@ -13,7 +13,7 @@ import {
|
|
|
13
13
|
import {
|
|
14
14
|
clientContextHeaders,
|
|
15
15
|
redactSecretsFromContent
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-H5TODUJ3.js";
|
|
17
17
|
|
|
18
18
|
// src/cli/net.ts
|
|
19
19
|
import { createRequire } from "module";
|
|
@@ -1,30 +1,30 @@
|
|
|
1
1
|
import {
|
|
2
2
|
announceSubscriptionRequired,
|
|
3
3
|
isDeferAnswer
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-CJL7IMWO.js";
|
|
5
5
|
import {
|
|
6
6
|
AUTO_DECISION_WINDOW_MS,
|
|
7
7
|
DEFAULT_SESSION,
|
|
8
8
|
claimThrottle,
|
|
9
9
|
releaseThrottle,
|
|
10
10
|
reportEvent
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-XUHDUD34.js";
|
|
12
12
|
import {
|
|
13
13
|
deriveToolTarget,
|
|
14
14
|
permissionDeniedAction
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-27CV6IXW.js";
|
|
16
16
|
import {
|
|
17
17
|
askUser,
|
|
18
18
|
isDecisionStopped,
|
|
19
19
|
isQuestionLimitRefusal,
|
|
20
20
|
waitForQuestion
|
|
21
|
-
} from "./chunk-
|
|
21
|
+
} from "./chunk-PBM565KU.js";
|
|
22
22
|
import {
|
|
23
23
|
SubscriptionRequiredError
|
|
24
|
-
} from "./chunk-
|
|
24
|
+
} from "./chunk-3CYXPFGA.js";
|
|
25
25
|
import {
|
|
26
26
|
getMachineId
|
|
27
|
-
} from "./chunk-
|
|
27
|
+
} from "./chunk-TNQ5JFCV.js";
|
|
28
28
|
import {
|
|
29
29
|
ASK_CONTEXT_MAX,
|
|
30
30
|
agentQuestionContext,
|
|
@@ -36,7 +36,7 @@ import {
|
|
|
36
36
|
questionsShownAsASet,
|
|
37
37
|
shouldDeferToNativeMode,
|
|
38
38
|
wireVerdictFor
|
|
39
|
-
} from "./chunk-
|
|
39
|
+
} from "./chunk-H5TODUJ3.js";
|
|
40
40
|
|
|
41
41
|
// src/machine-decision-audit.ts
|
|
42
42
|
import { basename } from "path";
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import {
|
|
2
2
|
pusharyDir
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-ZUVDQOU6.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-H5TODUJ3.js";
|
|
10
10
|
|
|
11
11
|
// src/process-ownership.ts
|
|
12
12
|
import { createHash, 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-X624HAAU.js");
|
|
535
|
+
var loadTheCardRouting = () => import("./codex-card-routing-SWDFV5IG.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-7XA2J7MU.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]");
|