pushary 1.9.26 → 1.9.27
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 +11 -0
- package/data/SKILL.md +1 -1
- package/data/cursor-plugin/skills/pushary/SKILL.md +1 -1
- package/data/vscode-plugin/skills/pushary/SKILL.md +1 -1
- package/dist/bin/pushary-bell-hook.js +25 -25
- package/dist/bin/pushary-bell.js +9 -9
- package/dist/bin/pushary-claude.js +24 -24
- package/dist/bin/pushary-clean.js +29 -29
- package/dist/bin/pushary-codex-bridge.js +17 -17
- package/dist/bin/pushary-codex-hook.js +32 -32
- package/dist/bin/pushary-codex.js +12 -12
- package/dist/bin/pushary-connect.js +24 -24
- package/dist/bin/pushary-cowork.js +5 -5
- package/dist/bin/pushary-daemon.js +36 -32
- package/dist/bin/pushary-disconnect.js +24 -24
- package/dist/bin/pushary-doctor.js +35 -35
- package/dist/bin/pushary-elicitation-hook.js +25 -25
- package/dist/bin/pushary-gemini-bridge.js +13 -13
- package/dist/bin/pushary-gemini-hook.js +29 -29
- package/dist/bin/pushary-hook.js +29 -29
- package/dist/bin/pushary-login.js +12 -12
- package/dist/bin/pushary-logout.js +24 -24
- package/dist/bin/pushary-mcp.js +9 -9
- package/dist/bin/pushary-mode.js +12 -12
- package/dist/bin/pushary-notification-hook.js +24 -24
- package/dist/bin/pushary-opencode-hook.js +26 -26
- package/dist/bin/pushary-permission-denied-hook.js +29 -29
- package/dist/bin/pushary-permission-hook.js +28 -28
- package/dist/bin/pushary-post-hook.js +24 -24
- package/dist/bin/pushary-prompt-hook.js +24 -24
- package/dist/bin/pushary-session-end-hook.js +24 -24
- package/dist/bin/pushary-session-start-hook.js +28 -28
- package/dist/bin/pushary-setup.js +35 -35
- package/dist/bin/pushary-stats.js +5 -5
- package/dist/bin/pushary-status.js +26 -26
- package/dist/bin/pushary-stop-hook.js +24 -24
- package/dist/bin/pushary-stopfailure-hook.js +24 -24
- package/dist/bin/pushary-suggestions.js +12 -12
- package/dist/bin/pushary-transcript-register.js +17 -17
- package/dist/bin/pushary-transcripts.js +7 -7
- package/dist/bin/pushary-upgrade.js +30 -30
- package/dist/bin/pushary-wait.js +12 -12
- package/dist/bin/pushary.js +6 -6
- package/dist/{chunk-RZTIB2TY.js → chunk-2NQHGDK5.js} +1 -1
- package/dist/{chunk-3HBLQXCJ.js → chunk-4LIOV4YP.js} +3 -3
- package/dist/{chunk-PUJQFTKF.js → chunk-4LO6OQZ4.js} +1 -1
- package/dist/{chunk-4GKLAQY4.js → chunk-5LLH2TBR.js} +1 -1
- package/dist/{chunk-TEQJNXJH.js → chunk-5SKHXKIF.js} +5 -5
- package/dist/{chunk-SCFKXAHX.js → chunk-5ZR7XFTB.js} +4 -4
- package/dist/{chunk-CA2EOOZG.js → chunk-6CBKIF3S.js} +3 -3
- package/dist/{chunk-DDRSG6JL.js → chunk-AT4URLSU.js} +5 -5
- package/dist/{chunk-XDTGYZIT.js → chunk-BZYYTJ65.js} +4 -4
- package/dist/{chunk-XUVKAWV3.js → chunk-CSXWXXFJ.js} +1 -1
- package/dist/{chunk-AF2QZRYH.js → chunk-DY6AKR4W.js} +32 -22
- package/dist/{chunk-FA3YPD4P.js → chunk-E4NITECV.js} +2 -2
- package/dist/{chunk-LGMSGVDN.js → chunk-GORB726L.js} +2 -2
- package/dist/{chunk-PTJYAKZX.js → chunk-H2ZHGK4F.js} +2 -2
- package/dist/{chunk-3G4R2FLX.js → chunk-HFGTWPAD.js} +2 -2
- package/dist/{chunk-JXHJYLFF.js → chunk-IOTR2VQN.js} +4 -4
- package/dist/{chunk-BIKHLGEL.js → chunk-JK42X2VL.js} +2 -2
- package/dist/{chunk-RQPJEYLM.js → chunk-JXOCD4MG.js} +2 -2
- package/dist/{chunk-2YF72RC5.js → chunk-KN5ULH4O.js} +3 -3
- package/dist/{chunk-ZXYHVZZZ.js → chunk-LOVDPKUU.js} +1 -1
- package/dist/{chunk-3DLVLVEM.js → chunk-LUJAURFP.js} +1 -1
- package/dist/{chunk-NCAVDVXP.js → chunk-LY3KHTHS.js} +1 -1
- package/dist/{chunk-K4OV2VLB.js → chunk-M463H5LN.js} +2 -2
- package/dist/{chunk-BWXRLXNE.js → chunk-MDAJO2MP.js} +5 -5
- package/dist/{chunk-Y5O4TO7U.js → chunk-MRMIGVUI.js} +1 -1
- package/dist/{chunk-GRL4VVUP.js → chunk-MSKJRRHY.js} +3 -3
- package/dist/{chunk-ZPLDPPZO.js → chunk-MTODICDT.js} +1 -1
- package/dist/{chunk-F2HVTVQG.js → chunk-NK2URK5A.js} +2 -2
- package/dist/{chunk-IU5PAJDG.js → chunk-O2SMA3JN.js} +4 -4
- package/dist/{chunk-R5ABJ5H5.js → chunk-OPSLFAKF.js} +7 -7
- package/dist/{chunk-PPOQG2U6.js → chunk-OXOT3CGW.js} +4 -4
- package/dist/{chunk-MPBWPDXQ.js → chunk-PQAA37YV.js} +8 -7
- package/dist/{chunk-5FL4M4YF.js → chunk-QMMOVPUP.js} +8 -8
- package/dist/{chunk-GPDABKLD.js → chunk-RZNJGCPR.js} +5 -5
- package/dist/{chunk-GEN4YTNR.js → chunk-SLW45RGY.js} +11 -11
- package/dist/{chunk-AXOMDPA7.js → chunk-TQE5VIDJ.js} +4 -4
- package/dist/{chunk-L62RNE5F.js → chunk-TWCWRHNK.js} +5 -5
- package/dist/{chunk-P7WJ2KKO.js → chunk-TYPQUHIS.js} +5 -5
- package/dist/{chunk-4YWINUPJ.js → chunk-U4Q3AKLU.js} +1 -1
- package/dist/{chunk-KTRRDTZN.js → chunk-UQTQVH5X.js} +1 -1
- package/dist/{chunk-KJ2W7ECE.js → chunk-UWEDDQHU.js} +2 -2
- package/dist/{chunk-3ZDIA6ZC.js → chunk-V6HQFOBS.js} +3 -3
- package/dist/{chunk-BIV2LKDK.js → chunk-VGVMBY4V.js} +8 -8
- package/dist/{chunk-OGTWSEWN.js → chunk-VWTCGKMU.js} +1 -1
- package/dist/{chunk-FDT7KSQY.js → chunk-W4DFSUZG.js} +2 -2
- package/dist/{chunk-CXG7XA4E.js → chunk-W4LNR7LP.js} +3 -3
- package/dist/{chunk-TS3CRCI7.js → chunk-WGTD4NZV.js} +32 -4
- package/dist/{chunk-I52A3NLY.js → chunk-XESMYZLU.js} +1 -1
- package/dist/{chunk-5UKZXDHV.js → chunk-XTTMUQ4Z.js} +1 -1
- package/dist/{chunk-3TRGUDQ3.js → chunk-YTTPPJZW.js} +4 -4
- package/dist/{chunk-CW72FZ2M.js → chunk-YZ7D3P3M.js} +2 -2
- package/dist/{chunk-47RVFUEG.js → chunk-Z5AAPX3O.js} +1 -1
- package/dist/{chunk-TVP5UU33.js → chunk-ZQZRBPTP.js} +191 -30
- package/dist/{chunk-AG5ATWVT.js → chunk-ZWDXBLEZ.js} +3 -3
- package/dist/{global-upgrade-3XKMGVAR.js → global-upgrade-FKQPJL5P.js} +6 -6
- package/dist/{paths-UB2IUM57.js → paths-TU47TCRS.js} +2 -2
- package/dist/{reapply-B7KMGQH7.js → reapply-CTJZBUJY.js} +20 -20
- package/dist/src/index.js +19 -19
- package/dist/{upgrade-lock-6LLAEJTW.js → upgrade-lock-2SQCRMDL.js} +3 -3
- package/package.json +1 -1
|
@@ -3,7 +3,7 @@ import {
|
|
|
3
3
|
} from "./chunk-POFBE6ZY.js";
|
|
4
4
|
import {
|
|
5
5
|
autoUpdateState
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-YTTPPJZW.js";
|
|
7
7
|
import {
|
|
8
8
|
readJsonSafe,
|
|
9
9
|
writeJsonAtomic
|
|
@@ -13,8 +13,9 @@ import {
|
|
|
13
13
|
POSIX_GLOBAL_ROOT_SEGMENTS,
|
|
14
14
|
cliPackagePathSegments,
|
|
15
15
|
globalUpgradeEntry,
|
|
16
|
+
isAutoUpdateResult,
|
|
16
17
|
ownPackageRoot
|
|
17
|
-
} from "./chunk-
|
|
18
|
+
} from "./chunk-ZQZRBPTP.js";
|
|
18
19
|
|
|
19
20
|
// src/auto-update.ts
|
|
20
21
|
import { spawn } from "child_process";
|
|
@@ -25,9 +26,7 @@ var PENDING_FINISH_RETRY_DELAYS_MS = [5 * 60 * 1e3, 60 * 60 * 1e3];
|
|
|
25
26
|
var FIRST_FINISH_ATTEMPT = 1;
|
|
26
27
|
var AUTO_UPDATE_FLAG = "--auto";
|
|
27
28
|
var NON_GLOBAL_INSTALL_SEGMENTS = ["/_npx/", "/.volta/"];
|
|
28
|
-
var AUTO_UPDATE_RESULTS = ["updated", "current", "needs_manual", "failed", "finish_pending", "finish_blocked"];
|
|
29
29
|
var isRecord = (value) => typeof value === "object" && value !== null && !Array.isArray(value);
|
|
30
|
-
var isAutoUpdateResult = (value) => typeof value === "string" && AUTO_UPDATE_RESULTS.some((result) => result === value);
|
|
31
30
|
var stringField = (record, key) => {
|
|
32
31
|
const value = record[key];
|
|
33
32
|
return typeof value === "string" ? value : void 0;
|
|
@@ -101,6 +100,34 @@ var autoUpdateDecision = (input) => {
|
|
|
101
100
|
if (checkedWithinInterval(input.state.lastCheckAt, input.now, autoUpdateCheckInterval(input.state))) return { kind: "skip", reason: "checked_recently" };
|
|
102
101
|
return { kind: "check", ...location };
|
|
103
102
|
};
|
|
103
|
+
var autoUpdateReportState = (decision) => {
|
|
104
|
+
if (decision.kind === "check") return "on";
|
|
105
|
+
switch (decision.reason) {
|
|
106
|
+
case "subagent_start":
|
|
107
|
+
case "checked_recently":
|
|
108
|
+
return "on";
|
|
109
|
+
default:
|
|
110
|
+
return decision.reason;
|
|
111
|
+
}
|
|
112
|
+
};
|
|
113
|
+
var autoUpdateReport = (input) => ({
|
|
114
|
+
state: autoUpdateReportState(autoUpdateDecision({ ...input, isSubagentStart: false })),
|
|
115
|
+
lastResult: input.state.lastResult ?? null,
|
|
116
|
+
lastCheckAt: input.state.lastCheckAt ?? null
|
|
117
|
+
});
|
|
118
|
+
var readLocalAutoUpdateReport = () => {
|
|
119
|
+
try {
|
|
120
|
+
return autoUpdateReport({
|
|
121
|
+
env: process.env,
|
|
122
|
+
state: readAutoUpdateState(autoUpdateState()),
|
|
123
|
+
now: Date.now(),
|
|
124
|
+
platform: process.platform,
|
|
125
|
+
packageRoot: ownPackageRoot()
|
|
126
|
+
});
|
|
127
|
+
} catch {
|
|
128
|
+
return null;
|
|
129
|
+
}
|
|
130
|
+
};
|
|
104
131
|
var parseAutoUpdateFlag = (args) => {
|
|
105
132
|
const token = args.find((arg) => arg === AUTO_UPDATE_FLAG || arg.startsWith(`${AUTO_UPDATE_FLAG}=`));
|
|
106
133
|
if (token === void 0) return { kind: "absent" };
|
|
@@ -184,6 +211,7 @@ export {
|
|
|
184
211
|
globalInstallLocation,
|
|
185
212
|
upgradeEntryFor,
|
|
186
213
|
nextFinishAttempt,
|
|
214
|
+
readLocalAutoUpdateReport,
|
|
187
215
|
parseAutoUpdateFlag,
|
|
188
216
|
describeAutoUpdateCheck,
|
|
189
217
|
isUnfinishedAutoUpdate,
|
|
@@ -13,7 +13,7 @@ import {
|
|
|
13
13
|
isReleaseVersion,
|
|
14
14
|
ownPackageName,
|
|
15
15
|
withHookHoldBudget
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-ZQZRBPTP.js";
|
|
17
17
|
|
|
18
18
|
// src/setup/paths.ts
|
|
19
19
|
import { homedir as homedir2 } from "os";
|
|
@@ -395,9 +395,9 @@ var installGlobally = (options) => {
|
|
|
395
395
|
}
|
|
396
396
|
const started = (async () => {
|
|
397
397
|
if (!npmIsOnPath()) throw new NpmMissingError();
|
|
398
|
-
const { withUpgradeLock } = await import("./global-upgrade-
|
|
399
|
-
const { installWithUpgradeLock, ownsUpgradeLock } = await import("./upgrade-lock-
|
|
400
|
-
const { autoUpdateLock: autoUpdateLock2 } = await import("./paths-
|
|
398
|
+
const { withUpgradeLock } = await import("./global-upgrade-FKQPJL5P.js");
|
|
399
|
+
const { installWithUpgradeLock, ownsUpgradeLock } = await import("./upgrade-lock-2SQCRMDL.js");
|
|
400
|
+
const { autoUpdateLock: autoUpdateLock2 } = await import("./paths-TU47TCRS.js");
|
|
401
401
|
let result = "skipped";
|
|
402
402
|
const install = async () => {
|
|
403
403
|
const platform = process.platform;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
pusharyDir
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-YTTPPJZW.js";
|
|
4
4
|
import {
|
|
5
5
|
readJsonSafe,
|
|
6
6
|
writeFileAtomic
|
|
@@ -13,7 +13,7 @@ import {
|
|
|
13
13
|
serializeDeclinedAgents,
|
|
14
14
|
withDeclinedAgent,
|
|
15
15
|
withoutDeclinedAgent
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-ZQZRBPTP.js";
|
|
17
17
|
|
|
18
18
|
// src/declined-agents-file.ts
|
|
19
19
|
import { join } from "path";
|
|
@@ -989,6 +989,17 @@ var serializeDeclinedAgents = (agents) => `${JSON.stringify(declinedAgentsDocume
|
|
|
989
989
|
var withDeclinedAgent = (agents, agent) => canonicalAgents([...agents, agent]);
|
|
990
990
|
var withoutDeclinedAgent = (agents, agent) => agents.filter((candidate) => candidate !== agent);
|
|
991
991
|
|
|
992
|
+
// ../contracts/src/cli-version-standing.ts
|
|
993
|
+
var FIRST_AUTO_UPDATING_RELEASE = [1, 5, 0];
|
|
994
|
+
var MIN_SAFE_RELEASE = [1, 9, 26];
|
|
995
|
+
var formatReleaseVersion = (version) => version.join(".");
|
|
996
|
+
var FIRST_AUTO_UPDATING_CLI_VERSION = formatReleaseVersion(FIRST_AUTO_UPDATING_RELEASE);
|
|
997
|
+
var MIN_SAFE_CLI_VERSION = formatReleaseVersion(MIN_SAFE_RELEASE);
|
|
998
|
+
|
|
999
|
+
// ../contracts/src/auto-update-report.ts
|
|
1000
|
+
var AUTO_UPDATE_RESULTS = ["updated", "current", "needs_manual", "failed", "finish_pending", "finish_blocked"];
|
|
1001
|
+
var isAutoUpdateResult = (value) => typeof value === "string" && AUTO_UPDATE_RESULTS.includes(value);
|
|
1002
|
+
|
|
992
1003
|
// ../contracts/src/index.ts
|
|
993
1004
|
var KEY_SCOPES = ["full_access", "agent", "connector", "bound"];
|
|
994
1005
|
var normalizeKeyScope = (value) => typeof value === "string" && KEY_SCOPES.includes(value) ? value : null;
|
|
@@ -1663,15 +1674,16 @@ var verdictForPolicy = (policy) => {
|
|
|
1663
1674
|
return "requires_human";
|
|
1664
1675
|
};
|
|
1665
1676
|
var policyIntent = (policy) => isAutoApprove(policy) ? PATTERN_INTENT.grant : PATTERN_INTENT.restrict;
|
|
1666
|
-
var
|
|
1677
|
+
var restricts = (policy) => policyIntent(policy) === PATTERN_INTENT.restrict;
|
|
1678
|
+
var appliesToThisCall = (policy, repoKey, sessionId) => isRepoKeyMatch(policy.repoKey, repoKey) && (!policy.sessionId || policy.sessionId === sessionId);
|
|
1679
|
+
var selectGoverningRule = (policies, toolName, args, repoKey, sessionId, restrictedArgs = args) => {
|
|
1667
1680
|
let best;
|
|
1668
1681
|
let bestWeight = 0;
|
|
1669
1682
|
let bestScoped = -1;
|
|
1670
1683
|
let bestLength = -1;
|
|
1671
1684
|
for (const candidate of policies) {
|
|
1672
|
-
if (!
|
|
1673
|
-
|
|
1674
|
-
const rank = matchToolPatternAny(candidate.tool, toolName, args, policyIntent(candidate));
|
|
1685
|
+
if (!appliesToThisCall(candidate, repoKey, sessionId)) continue;
|
|
1686
|
+
const rank = matchToolPatternAny(candidate.tool, toolName, restricts(candidate) ? restrictedArgs : args, policyIntent(candidate));
|
|
1675
1687
|
if (rank === "none") continue;
|
|
1676
1688
|
const weight = matchRankWeight(rank);
|
|
1677
1689
|
const scoped = candidate.sessionId ? 2 : candidate.repoKey ? 1 : 0;
|
|
@@ -2448,15 +2460,14 @@ var replacesTheCrontab = ({ program, args }) => program !== void 0 && basenameOf
|
|
|
2448
2460
|
var FIND_DELETE = "-delete";
|
|
2449
2461
|
var FIND_RUNNERS = /* @__PURE__ */ new Set(["-exec", "-execdir", "-ok", "-okdir"]);
|
|
2450
2462
|
var FIND_RUNNER_END = /* @__PURE__ */ new Set([";", "+"]);
|
|
2463
|
+
var FIND = "find";
|
|
2464
|
+
var commandsRunByFind = ({ program, args }) => program === void 0 || basenameOf(program.text) !== FIND ? [] : args.flatMap((arg, index) => FIND_RUNNERS.has(arg.text) ? [{ program: args[index + 1], args: args.slice(index + 2, findRunnerEnd(args, index + 2)) }] : []);
|
|
2451
2465
|
var losesDataVisibly = (toolName, invocation, normalized, depth) => {
|
|
2452
2466
|
const { program, args } = invocation;
|
|
2453
2467
|
if (program === void 0) return false;
|
|
2454
2468
|
const name = basenameOf(program.text);
|
|
2455
|
-
if (name ===
|
|
2456
|
-
return args.some((arg) => arg.text === FIND_DELETE) ||
|
|
2457
|
-
program: args[index + 1],
|
|
2458
|
-
args: args.slice(index + 2, findRunnerEnd(args, index + 2))
|
|
2459
|
-
}, depth + 1));
|
|
2469
|
+
if (name === FIND) {
|
|
2470
|
+
return args.some((arg) => arg.text === FIND_DELETE) || commandsRunByFind(invocation).some((run) => invocationHasAVisibleConsequence(toolName, run, depth + 1));
|
|
2460
2471
|
}
|
|
2461
2472
|
const destructiveArguments = destructiveArgumentsOf(name, args);
|
|
2462
2473
|
return destructiveArguments !== void 0 && args.some((arg) => namesDestructiveArgument(arg.text, destructiveArguments)) || namesDestructiveWordInAnyCase(name, args.map((arg) => arg.text)) || gitDiscardsWork(invocation) || changesAService(invocation) || replacesTheCrontab(invocation) || isCoveredByPolicy(VISIBLE_DATA_LOSS_PATTERNS, toolName, normalized);
|
|
@@ -2619,7 +2630,8 @@ var runsADownloadedScript = (invocations) => {
|
|
|
2619
2630
|
var pipedSegmentsOf = (command) => (shellSegmentsReadingAPipe(commandForReading(command)) ?? []).map((segment) => innermostInvocation(invocationOf(withoutShellGrouping(segment))));
|
|
2620
2631
|
var pipesIntoASqlClient = (command) => pipedSegmentsOf(command).some((invocation) => sqlClientSyntaxOf(invocation) !== void 0);
|
|
2621
2632
|
var pipesFetchedCodeIntoAnInterpreter = (command, invocations) => invocations.some(fetches) && pipedSegmentsOf(command).some(runsWhatItReads);
|
|
2622
|
-
var
|
|
2633
|
+
var WORDS_THAT_OPEN_A_COMMAND = String.raw`if|then|elif|else|do|while|until|!`;
|
|
2634
|
+
var SHELL_GROUPING_PREFIX = new RegExp(String.raw`^\s*(?:(?:${WORDS_THAT_OPEN_A_COMMAND})\s+|[({]\s*)+`);
|
|
2623
2635
|
var GROUP_OPENER_BY_CLOSER = /* @__PURE__ */ new Map([[")", "("], ["}", "{"]]);
|
|
2624
2636
|
var occurrencesOf = (text, character) => text.split(character).length - 1;
|
|
2625
2637
|
var closesAGroupItDidNotOpen = (text) => {
|
|
@@ -2736,6 +2748,116 @@ var commandHasAVisibleConsequenceAt = (toolName, command, depth) => {
|
|
|
2736
2748
|
return invocations.some((invocation) => invocationHasAVisibleConsequence(toolName, invocation, depth)) || pipesIntoASqlClient(command) || pipesFetchedCodeIntoAnInterpreter(command, invocations) || runsADownloadedScript(invocations);
|
|
2737
2749
|
};
|
|
2738
2750
|
var commandHasAVisibleConsequence = (toolName, command) => commandHasAVisibleConsequenceAt(toolName, command, 0);
|
|
2751
|
+
var MAX_SPELLING_DEPTH = 3;
|
|
2752
|
+
var GIT_GLOBAL_OPTIONS_WITH_A_VALUE = /* @__PURE__ */ new Set([
|
|
2753
|
+
"-C",
|
|
2754
|
+
"-c",
|
|
2755
|
+
"--git-dir",
|
|
2756
|
+
"--work-tree",
|
|
2757
|
+
"--namespace",
|
|
2758
|
+
"--super-prefix",
|
|
2759
|
+
"--config-env"
|
|
2760
|
+
]);
|
|
2761
|
+
var GIT_GLOBAL_FLAGS = /* @__PURE__ */ new Set([
|
|
2762
|
+
"-p",
|
|
2763
|
+
"--paginate",
|
|
2764
|
+
"-P",
|
|
2765
|
+
"--no-pager",
|
|
2766
|
+
"--bare",
|
|
2767
|
+
"--exec-path",
|
|
2768
|
+
"--html-path",
|
|
2769
|
+
"--man-path",
|
|
2770
|
+
"--info-path",
|
|
2771
|
+
"--no-replace-objects",
|
|
2772
|
+
"--no-lazy-fetch",
|
|
2773
|
+
"--no-optional-locks",
|
|
2774
|
+
"--no-advice",
|
|
2775
|
+
"--literal-pathspecs",
|
|
2776
|
+
"--glob-pathspecs",
|
|
2777
|
+
"--noglob-pathspecs",
|
|
2778
|
+
"--icase-pathspecs"
|
|
2779
|
+
]);
|
|
2780
|
+
var GIT_OPTION_AND_ITS_VALUE = 2;
|
|
2781
|
+
var GIT_OPTION_ALONE = 1;
|
|
2782
|
+
var NOT_A_GIT_GLOBAL_OPTION = 0;
|
|
2783
|
+
var gitGlobalOptionWidth = (text) => {
|
|
2784
|
+
if (GIT_GLOBAL_OPTIONS_WITH_A_VALUE.has(text)) return GIT_OPTION_AND_ITS_VALUE;
|
|
2785
|
+
const name = longOptionName(text);
|
|
2786
|
+
return GIT_GLOBAL_OPTIONS_WITH_A_VALUE.has(name) || GIT_GLOBAL_FLAGS.has(name) ? GIT_OPTION_ALONE : NOT_A_GIT_GLOBAL_OPTION;
|
|
2787
|
+
};
|
|
2788
|
+
var argsAfterGitGlobalOptions = (args) => {
|
|
2789
|
+
let index = 0;
|
|
2790
|
+
while (index < args.length) {
|
|
2791
|
+
const width = gitGlobalOptionWidth(args[index]?.text ?? "");
|
|
2792
|
+
if (width === NOT_A_GIT_GLOBAL_OPTION) break;
|
|
2793
|
+
index += width;
|
|
2794
|
+
}
|
|
2795
|
+
return args.slice(index);
|
|
2796
|
+
};
|
|
2797
|
+
var gitReadingsPastGlobalOptions = ({ program, args }) => {
|
|
2798
|
+
if (program === void 0 || basenameOf(program.text) !== GIT) return [];
|
|
2799
|
+
const rest = argsAfterGitGlobalOptions(args);
|
|
2800
|
+
return rest.length === args.length ? [] : [{ program, args: rest }];
|
|
2801
|
+
};
|
|
2802
|
+
var CURRENT_DIRECTORY_STEP = /\/\.(?=\/)/g;
|
|
2803
|
+
var LEADING_CURRENT_DIRECTORY = /^(?:\.\/+)+(?=[^/])/;
|
|
2804
|
+
var canonicalPathWord = (text) => text.replace(CURRENT_DIRECTORY_STEP, "").replace(LEADING_CURRENT_DIRECTORY, "");
|
|
2805
|
+
var verbatimInvocationText = (invocation) => wordsOfInvocation(invocation).map((word) => asOneShellWord(word.text)).join(" ");
|
|
2806
|
+
var canonicalInvocationText = (invocation) => invocationTextWith(invocation, (word) => asOneShellWord(canonicalPathWord(word.text)));
|
|
2807
|
+
var spellingsOfAnInvocation = (invocation, innermost) => [invocation, innermost, ...gitReadingsPastGlobalOptions(innermost), ...readingsPastGlobalFlags(innermost)].flatMap((reading) => [verbatimInvocationText(reading), canonicalInvocationText(reading)]);
|
|
2808
|
+
var NO_INLINE_SCRIPT = { kind: "none" };
|
|
2809
|
+
var HIDDEN_INLINE_SCRIPT = { kind: "hidden" };
|
|
2810
|
+
var passesAnInlineScript = ({ program, args }) => {
|
|
2811
|
+
const name = basenameOf(program?.text ?? "");
|
|
2812
|
+
return name === EVAL || SHELLS.has(name) && args.some((arg) => SCRIPT_FLAG_CLUSTER.test(arg.text));
|
|
2813
|
+
};
|
|
2814
|
+
var shellReadsItsScript = (invocation) => SHELLS.has(basenameOf(invocation.program?.text ?? "")) && runsWhatItReads(invocation);
|
|
2815
|
+
var inlineScriptsOf = (invocation, heredocs) => {
|
|
2816
|
+
const script = shellScriptOf(invocation);
|
|
2817
|
+
if (script !== null) return { kind: "readable", scripts: [script] };
|
|
2818
|
+
if (passesAnInlineScript(invocation)) return HIDDEN_INLINE_SCRIPT;
|
|
2819
|
+
if (!shellReadsItsScript(invocation)) return NO_INLINE_SCRIPT;
|
|
2820
|
+
return heredocs.length > 0 ? { kind: "readable", scripts: heredocs } : HIDDEN_INLINE_SCRIPT;
|
|
2821
|
+
};
|
|
2822
|
+
var programIsHidden = ({ program }) => program?.expands ?? false;
|
|
2823
|
+
var SUBSTITUTION_AS_A_PROGRAM = new RegExp(String.raw`(?:^|[;&|({\n]|(?:^|[\s;&|({])(?:${WORDS_THAT_OPEN_A_COMMAND})\s)\s*"?(?:\$\(|\`)`);
|
|
2824
|
+
var runsASubstitutionAsAProgram = (command) => {
|
|
2825
|
+
const visible = shellVisibleText(withHeredocBodiesSetAside(commandForReading(command)).text);
|
|
2826
|
+
return visible !== null && SUBSTITUTION_AS_A_PROGRAM.test(visible);
|
|
2827
|
+
};
|
|
2828
|
+
var parsedSpelledSegment = (segment) => {
|
|
2829
|
+
const text = withoutShellGrouping(segment);
|
|
2830
|
+
return { text, invocation: invocationOf(text), heredocs: [], feedsASubstitution: false };
|
|
2831
|
+
};
|
|
2832
|
+
var roughSpelledSegment = ({ invocation, heredocs, feedsASubstitution }) => ({ text: verbatimInvocationText(invocation), invocation, heredocs, feedsASubstitution });
|
|
2833
|
+
var segmentHidesWhatItRuns = (segment, innermost, scripts) => programIsHidden(innermost) || scripts.kind === "hidden" || segment.feedsASubstitution && passesAnInlineScript(innermost);
|
|
2834
|
+
var commandsNestedIn = (innermost, scripts) => [
|
|
2835
|
+
...scripts.kind === "readable" ? scripts.scripts : [],
|
|
2836
|
+
...commandsRunByFind(innermost).map(verbatimInvocationText)
|
|
2837
|
+
];
|
|
2838
|
+
var spelledSegmentsOf = (command) => {
|
|
2839
|
+
const parsed = readableCommandSegments(command);
|
|
2840
|
+
return parsed === null ? roughSegmentsOf(command).map(roughSpelledSegment) : parsed.map(parsedSpelledSegment);
|
|
2841
|
+
};
|
|
2842
|
+
var SPELLINGS_OF_AN_UNREADABLE_COMMAND = { forms: [], hidesWhatItRuns: true };
|
|
2843
|
+
var commandSpellingsAt = (command, depth) => {
|
|
2844
|
+
if (depth > MAX_SPELLING_DEPTH) return SPELLINGS_OF_AN_UNREADABLE_COMMAND;
|
|
2845
|
+
const forms = [];
|
|
2846
|
+
let hidesWhatItRuns = runsASubstitutionAsAProgram(command);
|
|
2847
|
+
for (const segment of spelledSegmentsOf(command)) {
|
|
2848
|
+
const innermost = innermostInvocation(segment.invocation);
|
|
2849
|
+
const scripts = inlineScriptsOf(innermost, segment.heredocs);
|
|
2850
|
+
forms.push(segment.text, ...spellingsOfAnInvocation(segment.invocation, innermost));
|
|
2851
|
+
hidesWhatItRuns ||= segmentHidesWhatItRuns(segment, innermost, scripts);
|
|
2852
|
+
for (const nested of commandsNestedIn(innermost, scripts)) {
|
|
2853
|
+
const inner = commandSpellingsAt(nested, depth + 1);
|
|
2854
|
+
forms.push(nested, ...inner.forms);
|
|
2855
|
+
hidesWhatItRuns ||= inner.hidesWhatItRuns;
|
|
2856
|
+
}
|
|
2857
|
+
}
|
|
2858
|
+
return { forms, hidesWhatItRuns };
|
|
2859
|
+
};
|
|
2860
|
+
var commandSpellings = (command) => commandSpellingsAt(command, 0);
|
|
2739
2861
|
var withoutSessionToolGrants = (config) => ({
|
|
2740
2862
|
...config,
|
|
2741
2863
|
policies: config.policies.filter((policy) => !isSessionToolGrant(policy))
|
|
@@ -3296,9 +3418,10 @@ var findBestRoute = (routes, toolName, args, repoKey) => {
|
|
|
3296
3418
|
let bestWeight = 0;
|
|
3297
3419
|
let bestScoped = -1;
|
|
3298
3420
|
let bestLength = -1;
|
|
3421
|
+
const { forms } = restrictionReadingOf(routes.map((route) => route.toolPattern), toolName, args);
|
|
3299
3422
|
for (const candidate of routes) {
|
|
3300
3423
|
if (!isRepoKeyMatch(candidate.repoKey, repoKey)) continue;
|
|
3301
|
-
const rank = matchToolPatternAny(candidate.toolPattern, toolName,
|
|
3424
|
+
const rank = matchToolPatternAny(candidate.toolPattern, toolName, forms, PATTERN_INTENT.restrict);
|
|
3302
3425
|
if (rank === "none") continue;
|
|
3303
3426
|
const weight = matchRankWeight(rank);
|
|
3304
3427
|
const scoped = candidate.repoKey ? 1 : 0;
|
|
@@ -3330,10 +3453,35 @@ var isNamedByARule = (rank) => rank !== void 0 && rank !== "wildcard";
|
|
|
3330
3453
|
var isSpecificArgumentRank = (rank) => rank === "exact" || rank === "prefix";
|
|
3331
3454
|
var shellReadOnlyFloorApplies = (toolName, arg, rank) => !isSpecificArgumentRank(rank) && toolName === "Bash" && typeof arg === "string" && isSafeReadOnlyCommand(arg);
|
|
3332
3455
|
var coordinationFloorApplies = (toolName, rank) => isCodexCoordinationTool(toolName) && !isNamedByARule(rank);
|
|
3456
|
+
var POSIX_SHELL_TOOLS = /* @__PURE__ */ new Set(["Bash", "Monitor"]);
|
|
3457
|
+
var argumentsAsWritten = (args) => ({ forms: args, hidesWhatItRuns: false });
|
|
3458
|
+
var namesAnArgumentOf = (pattern, toolName) => pattern.startsWith(`${toolName}(`);
|
|
3459
|
+
var isSpelledOut = (form) => form.length > 0;
|
|
3460
|
+
var restrictionReadingOf = (restrictingPatterns, toolName, args) => {
|
|
3461
|
+
const command = toolName in POLICY_COMMAND_KEYS ? args[0] : void 0;
|
|
3462
|
+
if (command === void 0 || !restrictingPatterns.some((pattern) => namesAnArgumentOf(pattern, toolName))) {
|
|
3463
|
+
return argumentsAsWritten(args);
|
|
3464
|
+
}
|
|
3465
|
+
const spellings = commandSpellings(command);
|
|
3466
|
+
return {
|
|
3467
|
+
forms: [.../* @__PURE__ */ new Set([...args, ...spellings.forms.filter(isSpelledOut)])],
|
|
3468
|
+
hidesWhatItRuns: POSIX_SHELL_TOOLS.has(toolName) && spellings.hidesWhatItRuns
|
|
3469
|
+
};
|
|
3470
|
+
};
|
|
3471
|
+
var restrictingPatternsOf = (policies) => policies.filter(restricts).map((policy) => policy.tool);
|
|
3472
|
+
var policyReadingOf = (policies, toolName, args) => restrictionReadingOf(restrictingPatternsOf(policies), toolName, args);
|
|
3473
|
+
var stricterRule = (current, challenger) => current !== void 0 && (challenger === void 0 || restraintRank(current.policy) > restraintRank(challenger.policy)) ? current : challenger;
|
|
3474
|
+
var restrictsAnArgumentOf = (policy, toolName) => restricts(policy) && namesAnArgumentOf(policy.tool, toolName);
|
|
3475
|
+
var strictestRuleNamingAnArgument = (pool, toolName, repoKey, sessionId) => pool.filter((policy) => restrictsAnArgumentOf(policy, toolName) && appliesToThisCall(policy, repoKey, sessionId)).reduce((strictest, policy) => stricterRule(strictest, { policy, rank: "prefix" }), void 0);
|
|
3476
|
+
var governingRuleForReading = (pool, toolName, args, reading, repoKey, sessionId) => {
|
|
3477
|
+
const selected = selectGoverningRule(pool, toolName, args, repoKey, sessionId, reading.forms);
|
|
3478
|
+
return reading.hidesWhatItRuns ? stricterRule(selected, strictestRuleNamingAnArgument(pool, toolName, repoKey, sessionId)) : selected;
|
|
3479
|
+
};
|
|
3333
3480
|
var resolveAutoResolveOrigin = (config, toolName, toolInput, cwd, repoKey, sessionId) => {
|
|
3334
3481
|
const args = toolInput ? policyArgForms(toolName, toolInput, cwd) : [];
|
|
3335
3482
|
const arg = args[0];
|
|
3336
|
-
const
|
|
3483
|
+
const reading = policyReadingOf(config.policies, toolName, args);
|
|
3484
|
+
const rank = governingRuleForReading(config.policies, toolName, args, reading, repoKey, sessionId)?.rank;
|
|
3337
3485
|
if (shellReadOnlyFloorApplies(toolName, arg, rank) || coordinationFloorApplies(toolName, rank)) {
|
|
3338
3486
|
return DECISION_ORIGIN.safeReadonly;
|
|
3339
3487
|
}
|
|
@@ -3344,28 +3492,37 @@ var wildcardRuleOf = (pool) => {
|
|
|
3344
3492
|
return wildcard ? { policy: wildcard, rank: "wildcard" } : void 0;
|
|
3345
3493
|
};
|
|
3346
3494
|
var withSiteDelivery = (rule, siteMode) => isAutoApprove(rule.policy) || isAutoDeny(rule.policy) ? rule : { ...rule, policy: { ...rule.policy, mode: siteMode.mode, pushFirstSeconds: siteMode.pushFirstSeconds } };
|
|
3347
|
-
var
|
|
3348
|
-
const
|
|
3349
|
-
const arg = args[0];
|
|
3350
|
-
const specificRule = (pool) => pool.length === 0 ? void 0 : selectGoverningRule(pool, toolName, args, repoKey, sessionId);
|
|
3495
|
+
var layeredGoverningRule = (config, toolName, args, reading, repoKey, sessionId) => {
|
|
3496
|
+
const specificRule = (pool) => pool.length === 0 ? void 0 : governingRuleForReading(pool, toolName, args, reading, repoKey, sessionId);
|
|
3351
3497
|
const written = config.policies.filter((p) => !p.origin);
|
|
3352
3498
|
const presets = config.policies.filter((p) => p.origin === "preset");
|
|
3353
3499
|
const builtins = config.policies.filter((p) => p.origin === "builtin");
|
|
3354
3500
|
const siteMode = wildcardRuleOf(written);
|
|
3355
3501
|
const presetRule = specificRule(presets);
|
|
3356
|
-
|
|
3357
|
-
|
|
3358
|
-
|
|
3359
|
-
|
|
3360
|
-
|
|
3361
|
-
|
|
3362
|
-
|
|
3363
|
-
|
|
3502
|
+
return specificRule(written) ?? (presetRule && siteMode ? withSiteDelivery(presetRule, siteMode.policy) : presetRule) ?? siteMode ?? wildcardRuleOf(presets) ?? specificRule(builtins) ?? wildcardRuleOf(builtins);
|
|
3503
|
+
};
|
|
3504
|
+
var unmatchedPolicyOf = (config, toolName) => ({
|
|
3505
|
+
tool: toolName,
|
|
3506
|
+
timeoutSeconds: config.defaultTimeoutSeconds,
|
|
3507
|
+
timeoutAction: config.defaultTimeoutAction,
|
|
3508
|
+
mode: config.defaultMode ?? "push_first",
|
|
3509
|
+
pushFirstSeconds: config.defaultPushFirstSeconds ?? 20
|
|
3510
|
+
});
|
|
3511
|
+
var stricterOfTheReadings = (asWritten, asSpelled, unmatched) => restraintRank(asWritten?.policy ?? unmatched) > restraintRank(asSpelled?.policy ?? unmatched) ? asWritten : asSpelled;
|
|
3512
|
+
var resolvePolicy = (config, toolName, modeOverride, toolInput, cwd, repoKey, sessionId) => {
|
|
3513
|
+
const args = toolInput ? policyArgForms(toolName, toolInput, cwd) : [];
|
|
3514
|
+
const arg = args[0];
|
|
3515
|
+
const unmatched = unmatchedPolicyOf(config, toolName);
|
|
3516
|
+
const asWritten = layeredGoverningRule(config, toolName, args, argumentsAsWritten(args), repoKey, sessionId);
|
|
3517
|
+
const asSpelled = layeredGoverningRule(config, toolName, args, policyReadingOf(config.policies, toolName, args), repoKey, sessionId);
|
|
3518
|
+
const match = stricterOfTheReadings(asWritten, asSpelled, unmatched);
|
|
3519
|
+
let base = match?.policy ?? unmatched;
|
|
3364
3520
|
const governedBySpecificRule = isSpecificArgumentRank(match?.rank);
|
|
3365
3521
|
const governedBySessionToolGrant = match?.rank === "tool" && isSessionToolGrant(match.policy);
|
|
3366
3522
|
const governedByStandingShellAllow = match?.rank === "tool" && isStandingShellAllow(match.policy);
|
|
3367
3523
|
const governingMode = base.mode;
|
|
3368
|
-
const
|
|
3524
|
+
const aRuleNamesASpelling = isSpecificArgumentRank(asSpelled?.rank);
|
|
3525
|
+
const approvedByReadOnlyFloor = !isAutoDeny(base) && (shellReadOnlyFloorApplies(toolName, arg, match?.rank) && !aRuleNamesASpelling || coordinationFloorApplies(toolName, match?.rank));
|
|
3369
3526
|
if (governedBySessionToolGrant && !approvedByReadOnlyFloor && typeof arg === "string" && commandNeedsAPerson(toolName, arg)) {
|
|
3370
3527
|
return resolvePolicy(withoutSessionToolGrants(config), toolName, modeOverride, toolInput, cwd, repoKey, sessionId);
|
|
3371
3528
|
}
|
|
@@ -3580,11 +3737,13 @@ var everyCommandSegmentGranted = (rules, toolName, command) => {
|
|
|
3580
3737
|
const segments = readableCommandSegments(command);
|
|
3581
3738
|
return segments !== null && segments.every((segment) => isSafeReadOnlyCommand(segment) || anyRuleGrants(rules, toolName, [segment]));
|
|
3582
3739
|
};
|
|
3583
|
-
var
|
|
3740
|
+
var agentRuleReadingOf = (rules, toolName, args) => {
|
|
3741
|
+
const reading = restrictionReadingOf([...rules.ask, ...rules.deny], toolName, args);
|
|
3584
3742
|
const command = toolName in POLICY_COMMAND_KEYS ? args[0] : void 0;
|
|
3585
3743
|
const normalized = command === void 0 ? null : normalizedCommand(command);
|
|
3586
|
-
return normalized === null ?
|
|
3744
|
+
return normalized === null ? reading : { ...reading, forms: [...reading.forms, normalized] };
|
|
3587
3745
|
};
|
|
3746
|
+
var anyRuleRestrictsReading = (rules, toolName, reading) => anyRuleRestricts(rules, toolName, reading.forms) || reading.hidesWhatItRuns && rules.some((rule) => namesAnArgumentOf(rule, toolName));
|
|
3588
3747
|
var allowRulesGrant = (rules, toolName, args) => {
|
|
3589
3748
|
const command = args[0];
|
|
3590
3749
|
return toolName in POLICY_COMMAND_KEYS && command !== void 0 ? everyCommandSegmentGranted(rules, toolName, command) : anyRuleGrants(rules, toolName, args);
|
|
@@ -3596,8 +3755,8 @@ var inputNeedsAPerson = (toolName, toolInput) => {
|
|
|
3596
3755
|
};
|
|
3597
3756
|
var agentRulesAllowEveryInput = (rules, toolName, toolInputs, cwd) => rules.allow.length > 0 && toolInputs.length > 0 && toolInputs.every((toolInput) => {
|
|
3598
3757
|
const args = policyArgForms(toolName, toolInput, cwd);
|
|
3599
|
-
const
|
|
3600
|
-
return allowRulesGrant(rules.allow, toolName, args) && !
|
|
3758
|
+
const reading = agentRuleReadingOf(rules, toolName, args);
|
|
3759
|
+
return allowRulesGrant(rules.allow, toolName, args) && !anyRuleRestrictsReading(rules.ask, toolName, reading) && !anyRuleRestrictsReading(rules.deny, toolName, reading) && !inputNeedsAPerson(toolName, toolInput);
|
|
3601
3760
|
});
|
|
3602
3761
|
var isDefaultRule = (policy) => policy.origin === "builtin" || policy.tool === WILDCARD_TOOL_PATTERN;
|
|
3603
3762
|
var isApprovalRoutePattern = (value) => typeof value === "object" && value !== null && typeof value.toolPattern === "string" && ["string", "undefined"].includes(typeof value.repoKey);
|
|
@@ -3611,7 +3770,8 @@ var aChosenRuleGoverns = (input) => {
|
|
|
3611
3770
|
if (routes === null) return true;
|
|
3612
3771
|
return input.toolInputs.some((toolInput) => {
|
|
3613
3772
|
const args = policyArgForms(input.toolName, toolInput, input.cwd);
|
|
3614
|
-
|
|
3773
|
+
const reading = policyReadingOf(chosen, input.toolName, args);
|
|
3774
|
+
return governingRuleForReading(chosen, input.toolName, args, reading, input.repoKey, input.sessionId) !== void 0 || findBestRoute(routes, input.toolName, args, input.repoKey) !== void 0;
|
|
3615
3775
|
});
|
|
3616
3776
|
};
|
|
3617
3777
|
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);
|
|
@@ -4133,6 +4293,7 @@ export {
|
|
|
4133
4293
|
serializeDeclinedAgents,
|
|
4134
4294
|
withDeclinedAgent,
|
|
4135
4295
|
withoutDeclinedAgent,
|
|
4296
|
+
isAutoUpdateResult,
|
|
4136
4297
|
normalizeKeyScope,
|
|
4137
4298
|
isApprovalMode,
|
|
4138
4299
|
approvalModeWithoutLocalPrompt,
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import {
|
|
2
2
|
keyCheckFromResponse
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-MSKJRRHY.js";
|
|
4
4
|
import {
|
|
5
5
|
installNetworkDefaults
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-W4LNR7LP.js";
|
|
7
7
|
import {
|
|
8
8
|
getBaseUrl
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-XTTMUQ4Z.js";
|
|
10
10
|
|
|
11
11
|
// src/retry.ts
|
|
12
12
|
var isRetryable = (err) => {
|
|
@@ -5,15 +5,15 @@ import {
|
|
|
5
5
|
readGlobalUpgradeSubject,
|
|
6
6
|
upgradeInstalledPackage,
|
|
7
7
|
withUpgradeLock
|
|
8
|
-
} from "./chunk-
|
|
9
|
-
import "./chunk-
|
|
10
|
-
import "./chunk-
|
|
8
|
+
} from "./chunk-MDAJO2MP.js";
|
|
9
|
+
import "./chunk-XESMYZLU.js";
|
|
10
|
+
import "./chunk-WGTD4NZV.js";
|
|
11
11
|
import "./chunk-POFBE6ZY.js";
|
|
12
12
|
import "./chunk-KZERVKTD.js";
|
|
13
|
-
import "./chunk-
|
|
13
|
+
import "./chunk-YTTPPJZW.js";
|
|
14
14
|
import "./chunk-AQFEP65J.js";
|
|
15
|
-
import "./chunk-
|
|
16
|
-
import "./chunk-
|
|
15
|
+
import "./chunk-Z5AAPX3O.js";
|
|
16
|
+
import "./chunk-ZQZRBPTP.js";
|
|
17
17
|
export {
|
|
18
18
|
finishGlobalUpgrade,
|
|
19
19
|
finishUpgradeWithLock,
|
|
@@ -10,34 +10,34 @@ import {
|
|
|
10
10
|
reapplyOpenCodePlugin,
|
|
11
11
|
reapplyVsCodePlugin,
|
|
12
12
|
repairCodexHolds
|
|
13
|
-
} from "./chunk-
|
|
14
|
-
import "./chunk-
|
|
13
|
+
} from "./chunk-OPSLFAKF.js";
|
|
14
|
+
import "./chunk-GORB726L.js";
|
|
15
15
|
import "./chunk-RIVNNBEK.js";
|
|
16
16
|
import "./chunk-XHKBHWLX.js";
|
|
17
|
-
import "./chunk-
|
|
18
|
-
import "./chunk-
|
|
19
|
-
import "./chunk-
|
|
20
|
-
import "./chunk-
|
|
21
|
-
import "./chunk-
|
|
22
|
-
import "./chunk-
|
|
17
|
+
import "./chunk-5SKHXKIF.js";
|
|
18
|
+
import "./chunk-TQE5VIDJ.js";
|
|
19
|
+
import "./chunk-TWCWRHNK.js";
|
|
20
|
+
import "./chunk-KN5ULH4O.js";
|
|
21
|
+
import "./chunk-MRMIGVUI.js";
|
|
22
|
+
import "./chunk-MTODICDT.js";
|
|
23
23
|
import "./chunk-GMXKITVA.js";
|
|
24
24
|
import "./chunk-6ICPEJY5.js";
|
|
25
|
-
import "./chunk-
|
|
26
|
-
import "./chunk-
|
|
27
|
-
import "./chunk-
|
|
25
|
+
import "./chunk-VGVMBY4V.js";
|
|
26
|
+
import "./chunk-CSXWXXFJ.js";
|
|
27
|
+
import "./chunk-AT4URLSU.js";
|
|
28
28
|
import "./chunk-POFBE6ZY.js";
|
|
29
|
-
import "./chunk-
|
|
30
|
-
import "./chunk-
|
|
31
|
-
import "./chunk-
|
|
32
|
-
import "./chunk-
|
|
29
|
+
import "./chunk-ZWDXBLEZ.js";
|
|
30
|
+
import "./chunk-MSKJRRHY.js";
|
|
31
|
+
import "./chunk-W4LNR7LP.js";
|
|
32
|
+
import "./chunk-U4Q3AKLU.js";
|
|
33
33
|
import "./chunk-7QLSKOSU.js";
|
|
34
34
|
import "./chunk-KZERVKTD.js";
|
|
35
|
-
import "./chunk-
|
|
36
|
-
import "./chunk-
|
|
35
|
+
import "./chunk-UWEDDQHU.js";
|
|
36
|
+
import "./chunk-YTTPPJZW.js";
|
|
37
37
|
import "./chunk-AQFEP65J.js";
|
|
38
|
-
import "./chunk-
|
|
39
|
-
import "./chunk-
|
|
40
|
-
import "./chunk-
|
|
38
|
+
import "./chunk-XTTMUQ4Z.js";
|
|
39
|
+
import "./chunk-Z5AAPX3O.js";
|
|
40
|
+
import "./chunk-ZQZRBPTP.js";
|
|
41
41
|
export {
|
|
42
42
|
ensureCodexTrustAfterReapply,
|
|
43
43
|
inspectConfiguredManagedProviders,
|
package/dist/src/index.js
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
import {
|
|
2
2
|
handlePreToolUse
|
|
3
|
-
} from "../chunk-
|
|
4
|
-
import "../chunk-
|
|
5
|
-
import "../chunk-
|
|
6
|
-
import "../chunk-
|
|
3
|
+
} from "../chunk-SLW45RGY.js";
|
|
4
|
+
import "../chunk-E4NITECV.js";
|
|
5
|
+
import "../chunk-LUJAURFP.js";
|
|
6
|
+
import "../chunk-LOVDPKUU.js";
|
|
7
7
|
import {
|
|
8
8
|
fetchAccountPublicKey
|
|
9
|
-
} from "../chunk-
|
|
10
|
-
import "../chunk-
|
|
11
|
-
import "../chunk-
|
|
9
|
+
} from "../chunk-5LLH2TBR.js";
|
|
10
|
+
import "../chunk-TQE5VIDJ.js";
|
|
11
|
+
import "../chunk-KN5ULH4O.js";
|
|
12
12
|
import "../chunk-6ICPEJY5.js";
|
|
13
13
|
import {
|
|
14
14
|
fetchModeOverride,
|
|
@@ -18,31 +18,31 @@ import {
|
|
|
18
18
|
handlePostToolUse,
|
|
19
19
|
handleStop,
|
|
20
20
|
reportEvent
|
|
21
|
-
} from "../chunk-
|
|
22
|
-
import "../chunk-
|
|
21
|
+
} from "../chunk-VGVMBY4V.js";
|
|
22
|
+
import "../chunk-CSXWXXFJ.js";
|
|
23
23
|
import {
|
|
24
24
|
askUser,
|
|
25
25
|
cancelQuestion,
|
|
26
26
|
waitForAnswer
|
|
27
|
-
} from "../chunk-
|
|
27
|
+
} from "../chunk-AT4URLSU.js";
|
|
28
28
|
import "../chunk-POFBE6ZY.js";
|
|
29
|
-
import "../chunk-
|
|
30
|
-
import "../chunk-
|
|
31
|
-
import "../chunk-
|
|
32
|
-
import "../chunk-
|
|
29
|
+
import "../chunk-ZWDXBLEZ.js";
|
|
30
|
+
import "../chunk-MSKJRRHY.js";
|
|
31
|
+
import "../chunk-W4LNR7LP.js";
|
|
32
|
+
import "../chunk-U4Q3AKLU.js";
|
|
33
33
|
import "../chunk-7QLSKOSU.js";
|
|
34
34
|
import "../chunk-KZERVKTD.js";
|
|
35
|
-
import "../chunk-
|
|
36
|
-
import "../chunk-
|
|
35
|
+
import "../chunk-UWEDDQHU.js";
|
|
36
|
+
import "../chunk-YTTPPJZW.js";
|
|
37
37
|
import "../chunk-AQFEP65J.js";
|
|
38
38
|
import {
|
|
39
39
|
getApiKey,
|
|
40
40
|
getBaseUrl
|
|
41
|
-
} from "../chunk-
|
|
42
|
-
import "../chunk-
|
|
41
|
+
} from "../chunk-XTTMUQ4Z.js";
|
|
42
|
+
import "../chunk-Z5AAPX3O.js";
|
|
43
43
|
import {
|
|
44
44
|
resolvePolicy
|
|
45
|
-
} from "../chunk-
|
|
45
|
+
} from "../chunk-ZQZRBPTP.js";
|
|
46
46
|
export {
|
|
47
47
|
askUser,
|
|
48
48
|
cancelQuestion,
|