pushary 1.9.119 → 1.9.121
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +13 -0
- package/data/cursor-plugin/scripts/pushary-gate.mjs +13 -2
- package/data/vscode-plugin/scripts/pushary-gate.mjs +12 -1
- package/dist/{api-WWB7ZOLK.js → api-RI52IA65.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 +43 -43
- package/dist/bin/pushary-codex-bridge.js +21 -21
- package/dist/bin/pushary-codex-hook.js +36 -36
- 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 +44 -44
- package/dist/bin/pushary-disconnect.js +27 -27
- package/dist/bin/pushary-display-hook.js +17 -17
- package/dist/bin/pushary-doctor.js +47 -47
- 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 +33 -33
- package/dist/bin/pushary-hook.js +33 -33
- package/dist/bin/pushary-login.js +22 -22
- 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 +90 -90
- 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 +43 -43
- package/dist/bin/pushary-wait.js +17 -17
- package/dist/bin/pushary.js +7 -7
- package/dist/{chunk-Z3OG44Z4.js → chunk-2A4X4ETF.js} +4 -4
- package/dist/{chunk-R3RTISDD.js → chunk-2M7FELUY.js} +1 -1
- package/dist/{chunk-SE7P5BBK.js → chunk-2QWQCU7L.js} +1 -1
- package/dist/{chunk-NVV3YUTX.js → chunk-3HZ374VU.js} +2 -2
- package/dist/{chunk-TZYVXTLN.js → chunk-4LR27PGD.js} +1 -1
- package/dist/{chunk-EFFH2FYG.js → chunk-5CMNZXJV.js} +2 -2
- package/dist/{chunk-SQRS4IF2.js → chunk-5MITA7MU.js} +3 -3
- package/dist/{chunk-PJSFKKZ5.js → chunk-5S32WI3B.js} +1 -1
- package/dist/{chunk-XBH6OKHD.js → chunk-5UT5EFMH.js} +3 -3
- package/dist/{chunk-VRZOUCIK.js → chunk-6LP6G2NA.js} +2 -2
- package/dist/{chunk-YZESBU7F.js → chunk-6RME4X3J.js} +151 -6
- package/dist/{chunk-ISVHV2DP.js → chunk-7EYXAM63.js} +1 -1
- package/dist/{chunk-GBVTVTDF.js → chunk-7FDDOT2A.js} +1 -1
- package/dist/{chunk-KVDN4U6W.js → chunk-7FH6T4EN.js} +10 -10
- package/dist/{chunk-GW3PE52Q.js → chunk-7OSBFMRV.js} +1 -1
- package/dist/{chunk-TLCJCP5R.js → chunk-AH4NLZTT.js} +1 -1
- package/dist/{chunk-ZLUAXGAA.js → chunk-AXSAL7DK.js} +4 -4
- package/dist/{chunk-G5FQU2XF.js → chunk-B3KFHR43.js} +6 -6
- package/dist/{chunk-7CJ7W2RH.js → chunk-BMME65OT.js} +4 -4
- package/dist/{chunk-JKS4MN47.js → chunk-BPU6P3DS.js} +6 -6
- package/dist/{chunk-JJNF6QU4.js → chunk-BVI2N7QA.js} +1 -1
- package/dist/{chunk-DXJUASTS.js → chunk-D2LPVOG5.js} +2 -2
- package/dist/{chunk-ZTVBM3EZ.js → chunk-DLXYQE5G.js} +4 -4
- package/dist/{chunk-U32N5JZO.js → chunk-E5LU5MJ2.js} +1 -1
- package/dist/{chunk-6KX2H4I5.js → chunk-EVWF3A5D.js} +3 -3
- package/dist/{chunk-5HKU4VUL.js → chunk-F4K2A7DJ.js} +3 -3
- package/dist/{chunk-K5WTTEIQ.js → chunk-F5FMUDD7.js} +5 -5
- package/dist/{chunk-PNSIMPC7.js → chunk-FBJHC7HW.js} +6 -6
- package/dist/{chunk-2C45MJGK.js → chunk-FEJP2I44.js} +13 -6
- package/dist/{chunk-SNKC2IQZ.js → chunk-FG67GH5B.js} +2 -2
- package/dist/{chunk-CBLFIWPI.js → chunk-GZ3D46PV.js} +12 -6
- package/dist/{chunk-MYNLU6DV.js → chunk-H2OUB5S5.js} +2 -2
- package/dist/{chunk-TRDHHF3A.js → chunk-HI5YJFKW.js} +74 -10
- package/dist/{chunk-4HDX77ND.js → chunk-HINZZUOB.js} +3 -3
- package/dist/{chunk-GAOUWLYN.js → chunk-HLZWEGW3.js} +3 -3
- package/dist/{chunk-67I7QRQB.js → chunk-IA3E675D.js} +1 -1
- package/dist/{chunk-XNCKBVZX.js → chunk-IEZXEY7L.js} +5 -5
- package/dist/{chunk-KOZBVXXC.js → chunk-IGMI36FA.js} +3 -3
- package/dist/{chunk-V52J2THT.js → chunk-IZ7MIGO7.js} +1 -1
- package/dist/{chunk-FPG7X2GS.js → chunk-J7WPO2M2.js} +4 -4
- package/dist/{chunk-BQ673OOD.js → chunk-JK7GROFO.js} +2 -2
- package/dist/{chunk-YCCLWG7G.js → chunk-JY2DOJKN.js} +6 -6
- package/dist/{chunk-CXIYGD33.js → chunk-KRKH26TX.js} +2 -2
- package/dist/{chunk-HYTDNEXV.js → chunk-LIIIC27B.js} +1 -1
- package/dist/{chunk-2UE2NDCX.js → chunk-LS3CQ536.js} +1 -1
- package/dist/{chunk-VFZ2PE6U.js → chunk-N47MAVYX.js} +3 -3
- package/dist/{chunk-VMM6JCNQ.js → chunk-NCHNITQW.js} +2 -2
- package/dist/{chunk-PDAOZ2NF.js → chunk-NDOT226I.js} +10 -10
- package/dist/{chunk-UHAUC7EO.js → chunk-NLEHRQHL.js} +2 -2
- package/dist/{chunk-AGXOTZID.js → chunk-O7VVRTOR.js} +5 -5
- package/dist/{chunk-NASQPMXW.js → chunk-QK4I4CHR.js} +9 -9
- package/dist/{chunk-4SZM2HRA.js → chunk-RI5APNBY.js} +6 -6
- package/dist/{chunk-W5ZUDPKV.js → chunk-RK7QHQTY.js} +5 -5
- package/dist/{chunk-SSBETUYZ.js → chunk-S6TMCUU7.js} +3 -3
- package/dist/{chunk-EISUEJDT.js → chunk-SFMJMQJC.js} +6 -6
- package/dist/{chunk-W6LKC5YD.js → chunk-SQPAX33Q.js} +5 -5
- package/dist/{chunk-YZ7V2LVG.js → chunk-SZV5SLSD.js} +3 -3
- package/dist/{chunk-RIAELZYW.js → chunk-T2WDQ3NT.js} +2 -2
- package/dist/{chunk-KILSIJTF.js → chunk-TZHTLLXJ.js} +53 -16
- package/dist/{chunk-4D23TNCL.js → chunk-UI7XS3MN.js} +4 -4
- package/dist/{chunk-RGXFBS56.js → chunk-UIHY3ANL.js} +3 -3
- package/dist/{chunk-B7BOENW7.js → chunk-UV2JM3PZ.js} +1 -1
- package/dist/{chunk-6YLVNFQZ.js → chunk-VUNQZNKR.js} +3 -3
- package/dist/{chunk-3IESC326.js → chunk-W4OWC34V.js} +3 -3
- package/dist/{chunk-EP6I3MQY.js → chunk-WJUFRGJS.js} +4 -4
- package/dist/{chunk-R67NTMBY.js → chunk-WS37PSC5.js} +8 -8
- package/dist/{chunk-MEPYLTWF.js → chunk-WSYWK4I3.js} +10 -10
- package/dist/{chunk-3B7S2H4R.js → chunk-X2PN3XNW.js} +1 -1
- package/dist/{chunk-G4OVFWU4.js → chunk-X4CDZLUK.js} +46 -28
- package/dist/{chunk-COXNQUDP.js → chunk-XOYPF2BI.js} +4 -4
- package/dist/{chunk-5T5T4YXM.js → chunk-Z7FUHJKU.js} +1 -1
- package/dist/{chunk-L3MCQSES.js → chunk-ZQHT57AL.js} +5 -5
- package/dist/{codex-app-cards-switch-J6EULXO5.js → codex-app-cards-switch-MEVTS3QV.js} +12 -12
- package/dist/{codex-card-routing-XNJB6573.js → codex-card-routing-JTZ2PC24.js} +2 -2
- package/dist/{codex-desktop-launch-46ELENBQ.js → codex-desktop-launch-E5TZ72YZ.js} +1 -1
- package/dist/{codex-session-launch-R5FHFWAG.js → codex-session-launch-UMVQ7FJA.js} +18 -18
- package/dist/{config-RKWDMDRY.js → config-43UOHCK6.js} +3 -3
- package/dist/{global-upgrade-E65GJQS6.js → global-upgrade-KHVTFNAK.js} +9 -9
- package/dist/{identity-JRGY2KS6.js → identity-DAUTKB5X.js} +4 -4
- package/dist/{live-capabilities-SOO6PD7Y.js → live-capabilities-T2FOTXAH.js} +4 -4
- package/dist/{paths-G7NZODAY.js → paths-W5X4C6PA.js} +3 -3
- package/dist/{reapply-YKN5BKIP.js → reapply-WW4LJZUD.js} +28 -28
- package/dist/src/index.d.ts +1 -1
- package/dist/src/index.js +32 -32
- package/dist/{upgrade-lock-YKAZI3BH.js → upgrade-lock-TJBGZLH6.js} +4 -4
- package/dist/{usage-QWYNOIU6.js → usage-MUXR5SZ7.js} +3 -3
- package/package.json +1 -1
|
@@ -3,7 +3,7 @@ import {
|
|
|
3
3
|
formatVersion,
|
|
4
4
|
quoteIfNeeded,
|
|
5
5
|
shellDoubleQuoted
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-IGMI36FA.js";
|
|
7
7
|
import {
|
|
8
8
|
writeFileAtomic
|
|
9
9
|
} from "./chunk-T5I4PKOQ.js";
|
|
@@ -13,12 +13,13 @@ import {
|
|
|
13
13
|
import {
|
|
14
14
|
CLAUDE_MCP_PRETOOLUSE_MATCHER,
|
|
15
15
|
CLAUDE_PRETOOLUSE_MATCHER,
|
|
16
|
+
CLAUDE_REFUSALS_ONLY_PRETOOLUSE_MATCHER,
|
|
16
17
|
CODEX_QUESTION_TOOLS,
|
|
17
18
|
HOOK_BUDGETS,
|
|
18
19
|
HOOK_LOCATOR_BINARY,
|
|
19
20
|
PRETOOLUSE_GATED_TOOLS,
|
|
20
21
|
withHookHoldBudget
|
|
21
|
-
} from "./chunk-
|
|
22
|
+
} from "./chunk-HI5YJFKW.js";
|
|
22
23
|
|
|
23
24
|
// src/setup/paths.ts
|
|
24
25
|
import { createHash as createHash2 } from "crypto";
|
|
@@ -741,9 +742,13 @@ var CLAUDE_MCP_ROUTE_HOLD_HOOK = {
|
|
|
741
742
|
matcher: CLAUDE_MCP_PRETOOLUSE_MATCHER,
|
|
742
743
|
timeout: HOOK_BUDGETS.claude.budgetSeconds,
|
|
743
744
|
delivery: "approval",
|
|
744
|
-
cliOnly: true,
|
|
745
745
|
since: ESTABLISHED
|
|
746
746
|
};
|
|
747
|
+
var CLAUDE_REFUSALS_ONLY_HOOK = {
|
|
748
|
+
...CLAUDE_MCP_ROUTE_HOLD_HOOK,
|
|
749
|
+
matcher: CLAUDE_REFUSALS_ONLY_PRETOOLUSE_MATCHER
|
|
750
|
+
};
|
|
751
|
+
var CLAUDE_EXTRA_PRETOOLUSE_HOOKS = [CLAUDE_MCP_ROUTE_HOLD_HOOK, CLAUDE_REFUSALS_ONLY_HOOK];
|
|
747
752
|
var supportedClaudeEvents = (version) => CLAUDE_HOOK_EVENTS.filter((hook) => version ? atLeast(version, hook.since) : hook.since === ESTABLISHED);
|
|
748
753
|
var registrationSignatures = (events, version) => Object.fromEntries(
|
|
749
754
|
events.map((hook) => [hook.event, `registered|${version ? formatVersion(version) : "unknown"}`])
|
|
@@ -892,9 +897,10 @@ var addPusharyHooks = (settings, binDir, version = null) => {
|
|
|
892
897
|
delete hooks[known.event];
|
|
893
898
|
}
|
|
894
899
|
}
|
|
895
|
-
|
|
896
|
-
|
|
897
|
-
hooks.
|
|
900
|
+
for (const extra of CLAUDE_EXTRA_PRETOOLUSE_HOOKS) {
|
|
901
|
+
if (!supported.has(extra.event)) continue;
|
|
902
|
+
const current = Array.isArray(hooks[extra.event]) ? hooks[extra.event] : [];
|
|
903
|
+
hooks[extra.event] = [...current, entry(extra, resolve2)];
|
|
898
904
|
}
|
|
899
905
|
};
|
|
900
906
|
var entry = (definition, resolve2) => ({
|
|
@@ -3,7 +3,7 @@ import {
|
|
|
3
3
|
} from "./chunk-POFBE6ZY.js";
|
|
4
4
|
import {
|
|
5
5
|
autoUpdateState
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-GZ3D46PV.js";
|
|
7
7
|
import {
|
|
8
8
|
readJsonSafe,
|
|
9
9
|
writeJsonAtomic
|
|
@@ -17,7 +17,7 @@ import {
|
|
|
17
17
|
} from "./chunk-ZVU6WMMU.js";
|
|
18
18
|
import {
|
|
19
19
|
isAutoUpdateResult
|
|
20
|
-
} from "./chunk-
|
|
20
|
+
} from "./chunk-HI5YJFKW.js";
|
|
21
21
|
|
|
22
22
|
// src/auto-update.ts
|
|
23
23
|
import { spawn } from "child_process";
|
|
@@ -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;
|
|
@@ -8533,6 +8573,14 @@ var GATE_ALLOW_SOURCE = {
|
|
|
8533
8573
|
};
|
|
8534
8574
|
var PUSHARY_TOOL_PREFIX = "mcp__pushary__";
|
|
8535
8575
|
var isPusharyOwnTool = (toolName) => toolName.startsWith(PUSHARY_TOOL_PREFIX);
|
|
8576
|
+
var PUSHARY_CONNECTOR_TOOL_PREFIXES = ["mcp__claude_ai_Pushary__", "mcp__plugin_pushary_pushary__"];
|
|
8577
|
+
var SERVER_AND_TOOL_SEPARATOR = "__";
|
|
8578
|
+
var namesOneToolAfterPrefix = (toolName, prefix) => {
|
|
8579
|
+
if (!toolName.startsWith(prefix)) return false;
|
|
8580
|
+
const tool = toolName.slice(prefix.length);
|
|
8581
|
+
return tool.length > 0 && !tool.includes(SERVER_AND_TOOL_SEPARATOR);
|
|
8582
|
+
};
|
|
8583
|
+
var isPusharyConnectorTool = (toolName) => PUSHARY_CONNECTOR_TOOL_PREFIXES.some((prefix) => namesOneToolAfterPrefix(toolName, prefix));
|
|
8536
8584
|
var strictestScopeVerdict = (scope, paths) => {
|
|
8537
8585
|
if (paths.length === 0) return evaluateScope(scope, void 0);
|
|
8538
8586
|
let worst = { outcome: "in_scope" };
|
|
@@ -8643,6 +8691,17 @@ var PRETOOLUSE_HANDLED_TOOLS = /* @__PURE__ */ new Set([...PRETOOLUSE_GATED_TOOL
|
|
|
8643
8691
|
var isPermissionRequestOwnedByPreToolUse = (toolName, permissionMode, defers = shouldDeferToNativeMode) => PRETOOLUSE_HANDLED_TOOLS.has(toolName) && (isAskedInEveryMode(toolName) || !defers(permissionMode, toolName));
|
|
8644
8692
|
var CLAUDE_PRETOOLUSE_MATCHER = [...PRETOOLUSE_HANDLED_TOOLS].join("|");
|
|
8645
8693
|
var CLAUDE_MCP_PRETOOLUSE_MATCHER = "mcp__.*";
|
|
8694
|
+
var CLAUDE_REFUSALS_ONLY_TOOLS = ["WebFetch", "Task", "Agent"];
|
|
8695
|
+
var CLAUDE_REFUSALS_ONLY_PRETOOLUSE_MATCHER = `^(${CLAUDE_REFUSALS_ONLY_TOOLS.join("|")})$`;
|
|
8696
|
+
var CLAUDE_SUBAGENT_TOOL_ALIASES = { Task: "Agent", Agent: "Task" };
|
|
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
|
+
};
|
|
8646
8705
|
var LINE_BREAK = /[\r\n]/;
|
|
8647
8706
|
var bypassModeCovers = (toolName, toolInput) => {
|
|
8648
8707
|
const arg = extractPolicyArg(toolName, toolInput);
|
|
@@ -8663,6 +8722,7 @@ var PATTERN_PREFIX_WILDCARD = /(?::\*|\*)?\)$/;
|
|
|
8663
8722
|
var CONTINUES_A_COMMAND_WORD = /^[ :]/;
|
|
8664
8723
|
var ruleNarrowsThePattern = (ruleTool, pattern) => {
|
|
8665
8724
|
if (ruleTool === pattern) return false;
|
|
8725
|
+
if (pattern === WILDCARD_TOOL_PATTERN) return true;
|
|
8666
8726
|
if (!pattern.includes("(")) return ruleTool.includes("(");
|
|
8667
8727
|
const prefix = pattern.replace(PATTERN_PREFIX_WILDCARD, "");
|
|
8668
8728
|
return ruleTool.startsWith(prefix) && CONTINUES_A_COMMAND_WORD.test(ruleTool.slice(prefix.length));
|
|
@@ -8701,7 +8761,7 @@ var extraReadingsOf = (toolInput) => {
|
|
|
8701
8761
|
const readings = [
|
|
8702
8762
|
commentFree,
|
|
8703
8763
|
...spelledOut,
|
|
8704
|
-
...[command, commentFree, ...spelledOut].filter(isAReading).flatMap(
|
|
8764
|
+
...[command, commentFree, ...spelledOut].filter(isAReading).flatMap(readingsOfScriptsPassedToAShell)
|
|
8705
8765
|
];
|
|
8706
8766
|
return readings.filter(isAReading).map((reading) => ({ ...toolInput, command: reading }));
|
|
8707
8767
|
};
|
|
@@ -9588,6 +9648,7 @@ export {
|
|
|
9588
9648
|
resolvePolicy,
|
|
9589
9649
|
KILL_REASON,
|
|
9590
9650
|
isPusharyOwnTool,
|
|
9651
|
+
isPusharyConnectorTool,
|
|
9591
9652
|
shouldDeferToNativeMode,
|
|
9592
9653
|
AGENT_QUESTION_TOOL,
|
|
9593
9654
|
AGENT_QUESTION_STRATEGY,
|
|
@@ -9608,6 +9669,9 @@ export {
|
|
|
9608
9669
|
isPermissionRequestOwnedByPreToolUse,
|
|
9609
9670
|
CLAUDE_PRETOOLUSE_MATCHER,
|
|
9610
9671
|
CLAUDE_MCP_PRETOOLUSE_MATCHER,
|
|
9672
|
+
CLAUDE_REFUSALS_ONLY_PRETOOLUSE_MATCHER,
|
|
9673
|
+
isClaudeRefusalsOnlyTool,
|
|
9674
|
+
standingDenyOfSubagentAlias,
|
|
9611
9675
|
permissionsOffLineAppliesTo,
|
|
9612
9676
|
permissionsOffAskReason,
|
|
9613
9677
|
resolveGate,
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import {
|
|
2
2
|
pusharyFetch
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-UIHY3ANL.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;
|
|
@@ -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-RI52IA65.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-MEVTS3QV.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,19 +1,19 @@
|
|
|
1
1
|
import {
|
|
2
2
|
announceSubscriptionRequired,
|
|
3
3
|
isDeferAnswer
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-7FDDOT2A.js";
|
|
5
5
|
import {
|
|
6
6
|
askUser,
|
|
7
7
|
isDecisionStopped,
|
|
8
8
|
isQuestionLimitRefusal,
|
|
9
9
|
waitForQuestion
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-QK4I4CHR.js";
|
|
11
11
|
import {
|
|
12
12
|
SubscriptionRequiredError
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-SQPAX33Q.js";
|
|
14
14
|
import {
|
|
15
15
|
getMachineId
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-4LR27PGD.js";
|
|
17
17
|
import {
|
|
18
18
|
ASK_CONTEXT_MAX,
|
|
19
19
|
agentQuestionContext,
|
|
@@ -23,7 +23,7 @@ import {
|
|
|
23
23
|
plainAskOf,
|
|
24
24
|
questionsShownAsASet,
|
|
25
25
|
shouldDeferToNativeMode
|
|
26
|
-
} from "./chunk-
|
|
26
|
+
} from "./chunk-HI5YJFKW.js";
|
|
27
27
|
|
|
28
28
|
// src/native-defer.ts
|
|
29
29
|
var nativeDeferOptions = () => {
|
|
@@ -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-KHVTFNAK.js");
|
|
403
|
+
const { installWithUpgradeLock, ownsUpgradeLock } = await import("./upgrade-lock-TJBGZLH6.js");
|
|
404
|
+
const { autoUpdateLock } = await import("./paths-W5X4C6PA.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
|
macAppBridgeAvailable
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-O7VVRTOR.js";
|
|
4
4
|
import {
|
|
5
5
|
keyPrefix
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-SZV5SLSD.js";
|
|
7
7
|
import {
|
|
8
8
|
bridgeAgentKey
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-GZ3D46PV.js";
|
|
10
10
|
import {
|
|
11
11
|
readJsonSafe
|
|
12
12
|
} from "./chunk-T5I4PKOQ.js";
|
|
13
13
|
import {
|
|
14
14
|
isRecord,
|
|
15
15
|
isValidApiKey
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-HI5YJFKW.js";
|
|
17
17
|
|
|
18
18
|
// src/shared-mcp-key.ts
|
|
19
19
|
var asRecord = (value) => value !== null && typeof value === "object" && !Array.isArray(value) ? value : void 0;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import {
|
|
2
2
|
absoluteUrl
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-HINZZUOB.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";
|
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
import {
|
|
2
2
|
APPROVAL_RULES_PATH,
|
|
3
3
|
canChangeApprovalSettings
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-JK7GROFO.js";
|
|
5
5
|
import {
|
|
6
6
|
callMcpTool
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-SQPAX33Q.js";
|
|
8
8
|
import {
|
|
9
9
|
absoluteUrl
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-HINZZUOB.js";
|
|
11
11
|
import {
|
|
12
12
|
getBaseUrl
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-2M7FELUY.js";
|
|
14
14
|
import {
|
|
15
15
|
NPX_LATEST_COMMAND
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-5S32WI3B.js";
|
|
17
17
|
import {
|
|
18
18
|
AGENT_STOP_DEFAULT_SECONDS,
|
|
19
19
|
APPROVAL_MODE_META,
|
|
@@ -21,7 +21,7 @@ import {
|
|
|
21
21
|
classifyConfirmResponse,
|
|
22
22
|
isAnswerSource,
|
|
23
23
|
roundTripAsk
|
|
24
|
-
} from "./chunk-
|
|
24
|
+
} from "./chunk-HI5YJFKW.js";
|
|
25
25
|
|
|
26
26
|
// src/reach.ts
|
|
27
27
|
var reachVerdict = (channels) => {
|
|
@@ -3,10 +3,10 @@ import {
|
|
|
3
3
|
} from "./chunk-ROVLRXBI.js";
|
|
4
4
|
import {
|
|
5
5
|
parseVersion
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-IGMI36FA.js";
|
|
7
7
|
import {
|
|
8
8
|
isRecord
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-HI5YJFKW.js";
|
|
10
10
|
|
|
11
11
|
// src/setup/agent-probe.ts
|
|
12
12
|
import { execSync } from "child_process";
|
|
@@ -4,15 +4,15 @@ import {
|
|
|
4
4
|
claimThrottle,
|
|
5
5
|
releaseThrottle,
|
|
6
6
|
reportEvent
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-X4CDZLUK.js";
|
|
8
8
|
import {
|
|
9
9
|
deriveToolTarget,
|
|
10
10
|
permissionDeniedAction
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-7OSBFMRV.js";
|
|
12
12
|
import {
|
|
13
13
|
machineDecisionFor,
|
|
14
14
|
wireVerdictFor
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-HI5YJFKW.js";
|
|
16
16
|
|
|
17
17
|
// src/machine-decision-audit.ts
|
|
18
18
|
import { basename } from "path";
|
|
@@ -7,13 +7,13 @@ import {
|
|
|
7
7
|
} from "./chunk-G66WIAST.js";
|
|
8
8
|
import {
|
|
9
9
|
ensureDaemonRunning
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-SFMJMQJC.js";
|
|
11
11
|
import {
|
|
12
12
|
hookOwnerOf
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-XOYPF2BI.js";
|
|
14
14
|
import {
|
|
15
15
|
hookMeaning
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-7OSBFMRV.js";
|
|
17
17
|
import {
|
|
18
18
|
buildTranscriptRecords,
|
|
19
19
|
decodePublicKey,
|
|
@@ -24,29 +24,29 @@ import {
|
|
|
24
24
|
recordSealerFor,
|
|
25
25
|
uploadTranscriptRecords,
|
|
26
26
|
wrapSessionKey
|
|
27
|
-
} from "./chunk-
|
|
27
|
+
} from "./chunk-5MITA7MU.js";
|
|
28
28
|
import {
|
|
29
29
|
external_exports
|
|
30
30
|
} from "./chunk-XMSDA5WA.js";
|
|
31
31
|
import {
|
|
32
32
|
transcriptEnvironmentPreference,
|
|
33
33
|
transcriptsEnabled
|
|
34
|
-
} from "./chunk-
|
|
34
|
+
} from "./chunk-AH4NLZTT.js";
|
|
35
35
|
import {
|
|
36
36
|
fetchAsCredential
|
|
37
|
-
} from "./chunk-
|
|
37
|
+
} from "./chunk-E5LU5MJ2.js";
|
|
38
38
|
import {
|
|
39
39
|
readTranscriptPreference
|
|
40
|
-
} from "./chunk-
|
|
40
|
+
} from "./chunk-SZV5SLSD.js";
|
|
41
41
|
import {
|
|
42
42
|
claudeConfigDir,
|
|
43
43
|
codexHome,
|
|
44
44
|
pusharyDir
|
|
45
|
-
} from "./chunk-
|
|
45
|
+
} from "./chunk-GZ3D46PV.js";
|
|
46
46
|
import {
|
|
47
47
|
getApiKey,
|
|
48
48
|
getBaseUrl
|
|
49
|
-
} from "./chunk-
|
|
49
|
+
} from "./chunk-2M7FELUY.js";
|
|
50
50
|
import {
|
|
51
51
|
writeJsonAtomic,
|
|
52
52
|
writeJsonAtomicDurable
|
|
@@ -58,7 +58,7 @@ import {
|
|
|
58
58
|
isHookSource,
|
|
59
59
|
isRecord,
|
|
60
60
|
redactSecretsFromContent
|
|
61
|
-
} from "./chunk-
|
|
61
|
+
} from "./chunk-HI5YJFKW.js";
|
|
62
62
|
|
|
63
63
|
// src/transcript-recipient-pin.ts
|
|
64
64
|
import { createHash } from "crypto";
|
|
@@ -4,10 +4,10 @@ import {
|
|
|
4
4
|
keyPrefix,
|
|
5
5
|
readConfigFileKey,
|
|
6
6
|
readMacAppKeyPrefix
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-SZV5SLSD.js";
|
|
8
8
|
import {
|
|
9
9
|
NPX_LATEST_COMMAND
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-5S32WI3B.js";
|
|
11
11
|
|
|
12
12
|
// src/key-signed-out.ts
|
|
13
13
|
var VERDICT_BY_CHECK = {
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import {
|
|
2
2
|
compatibleConfigFile
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-6RME4X3J.js";
|
|
4
4
|
import {
|
|
5
5
|
hookOwnerOf,
|
|
6
6
|
hookOwnerOfCommands
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-XOYPF2BI.js";
|
|
8
8
|
import {
|
|
9
9
|
AGENT_CHOICES
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-LS3CQ536.js";
|
|
11
11
|
import {
|
|
12
12
|
bridgeStub,
|
|
13
13
|
claudeSettings,
|
|
@@ -19,7 +19,7 @@ import {
|
|
|
19
19
|
resolveBridgeStub,
|
|
20
20
|
vscodePluginDir,
|
|
21
21
|
windowsNodeLauncherFor
|
|
22
|
-
} from "./chunk-
|
|
22
|
+
} from "./chunk-GZ3D46PV.js";
|
|
23
23
|
import {
|
|
24
24
|
readJsonSafe
|
|
25
25
|
} from "./chunk-T5I4PKOQ.js";
|
|
@@ -29,7 +29,7 @@ import {
|
|
|
29
29
|
OPENCODE_APPROVAL_EVENT,
|
|
30
30
|
hookCompatibleProfile,
|
|
31
31
|
isRecord
|
|
32
|
-
} from "./chunk-
|
|
32
|
+
} from "./chunk-HI5YJFKW.js";
|
|
33
33
|
|
|
34
34
|
// src/opencode-plugin.ts
|
|
35
35
|
var OPENCODE_PLUGIN_MARKER = "pushary-opencode-plugin w1";
|
|
@@ -6,21 +6,21 @@ import {
|
|
|
6
6
|
McpToolError,
|
|
7
7
|
SubscriptionRequiredError,
|
|
8
8
|
callMcpTool
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-SQPAX33Q.js";
|
|
10
10
|
import {
|
|
11
11
|
installNetworkDefaults,
|
|
12
12
|
isNetworkFailure
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-UIHY3ANL.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-GZ3D46PV.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";
|
|
@@ -327,13 +327,13 @@ var claimBlockedAction = async (apiKey, request, timeoutMs) => {
|
|
|
327
327
|
};
|
|
328
328
|
|
|
329
329
|
export {
|
|
330
|
-
isPolicyConfig,
|
|
331
|
-
isAskUserResponse,
|
|
332
|
-
isWaitForAnswerResponse,
|
|
333
330
|
reportClientError,
|
|
334
331
|
exitAfterClientReports,
|
|
335
332
|
clientErrorKindOf,
|
|
336
333
|
writeDegraded,
|
|
334
|
+
isPolicyConfig,
|
|
335
|
+
isAskUserResponse,
|
|
336
|
+
isWaitForAnswerResponse,
|
|
337
337
|
isDecisionStopped,
|
|
338
338
|
isAwayPaused,
|
|
339
339
|
isLocalQuestionHandoff,
|
|
@@ -4,7 +4,7 @@ import {
|
|
|
4
4
|
postLiveSession,
|
|
5
5
|
postLiveSessionUntilAccepted,
|
|
6
6
|
startLiveSessionHeartbeat
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-LIIIC27B.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-FG67GH5B.js";
|
|
18
18
|
import {
|
|
19
19
|
repositoryScopeFor
|
|
20
|
-
} from "./chunk-
|
|
20
|
+
} from "./chunk-2QWQCU7L.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-QK4I4CHR.js";
|
|
28
28
|
import {
|
|
29
29
|
callMcpTool,
|
|
30
30
|
isRetryable
|
|
31
|
-
} from "./chunk-
|
|
31
|
+
} from "./chunk-SQPAX33Q.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-HI5YJFKW.js";
|
|
56
56
|
|
|
57
57
|
// src/codex-question-owner.ts
|
|
58
58
|
import { createHash } from "crypto";
|