@pushary/agent-hooks 1.9.59 → 1.9.61
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/README.md +6 -0
- package/data/cursor-plugin/.cursor-plugin/plugin.json +5 -1
- package/data/cursor-plugin/CHANGELOG.md +4 -0
- package/dist/{api-UVJGNZIF.js → api-LW3PJQYY.js} +12 -11
- package/dist/bin/pushary-bell-hook.js +30 -29
- package/dist/bin/pushary-bell.js +13 -12
- package/dist/bin/pushary-claude.js +32 -30
- package/dist/bin/pushary-clean.js +61 -54
- package/dist/bin/pushary-codex-bridge.js +23 -22
- package/dist/bin/pushary-codex-hook.js +35 -34
- package/dist/bin/pushary-codex-session.js +9 -8
- package/dist/bin/pushary-codex.js +16 -15
- package/dist/bin/pushary-connect.js +30 -29
- package/dist/bin/pushary-cowork.js +8 -7
- package/dist/bin/pushary-daemon.js +40 -39
- package/dist/bin/pushary-disconnect.js +43 -29
- package/dist/bin/pushary-doctor.js +52 -47
- package/dist/bin/pushary-elicitation-hook.js +30 -29
- package/dist/bin/pushary-gemini-bridge.js +16 -15
- package/dist/bin/pushary-gemini-hook.js +32 -31
- package/dist/bin/pushary-hook.js +34 -33
- package/dist/bin/pushary-login.js +23 -19
- package/dist/bin/pushary-logout.js +37 -31
- package/dist/bin/pushary-mcp.js +13 -12
- package/dist/bin/pushary-mode.js +42 -55
- package/dist/bin/pushary-notification-hook.js +29 -28
- package/dist/bin/pushary-opencode-hook.js +31 -30
- package/dist/bin/pushary-permission-denied-hook.js +34 -33
- package/dist/bin/pushary-permission-hook.js +33 -32
- package/dist/bin/pushary-post-hook.js +29 -28
- package/dist/bin/pushary-prompt-hook.js +29 -28
- package/dist/bin/pushary-session-end-hook.js +29 -28
- package/dist/bin/pushary-session-start-hook.js +36 -35
- package/dist/bin/pushary-setup.js +4397 -292
- package/dist/bin/pushary-stats.js +6 -5
- package/dist/bin/pushary-status.js +42 -36
- package/dist/bin/pushary-stop-hook.js +29 -28
- package/dist/bin/pushary-stopfailure-hook.js +29 -28
- package/dist/bin/pushary-suggestions.js +34 -39
- package/dist/bin/pushary-transcript-register.js +21 -20
- package/dist/bin/pushary-transcripts.js +34 -20
- package/dist/bin/pushary-upgrade.js +77 -50
- package/dist/bin/pushary-wait.js +37 -42
- package/dist/bin/pushary.js +9 -8
- package/dist/{chunk-PVANKDWM.js → chunk-2AELPDMT.js} +1 -1
- package/dist/{chunk-W47WL6JY.js → chunk-33OOEVPG.js} +1 -1
- package/dist/{chunk-BRUHVTFB.js → chunk-4N5E4JNF.js} +2 -2
- package/dist/{chunk-6ONSTCDJ.js → chunk-4VRTSDGP.js} +5 -5
- package/dist/{chunk-DS7X36Z3.js → chunk-64S5PQBQ.js} +4 -4
- package/dist/{chunk-KQHY6L3X.js → chunk-6FJ6CK32.js} +4 -4
- package/dist/{chunk-EBQTWH5O.js → chunk-6T5Z64KS.js} +39 -31
- package/dist/{chunk-JAKBCKEB.js → chunk-7BAO42UV.js} +8 -7
- package/dist/chunk-7BHI3PZN.js +41 -0
- package/dist/{chunk-5BNXJTOZ.js → chunk-7HDGH3Z2.js} +3 -12
- package/dist/{chunk-D6CXQIXO.js → chunk-7JXJJNQ5.js} +1 -1
- package/dist/{chunk-KHDD74MK.js → chunk-7MCCXE5Y.js} +5 -5
- package/dist/{chunk-AY32RSUC.js → chunk-ADR3KHOC.js} +2 -2
- package/dist/{chunk-MMLIQDTG.js → chunk-ATKN4BJT.js} +1 -1
- package/dist/{chunk-762CDAJJ.js → chunk-AXJLJJ3M.js} +7 -0
- package/dist/{chunk-4XXZUFWN.js → chunk-BG4Y64FW.js} +1 -1
- package/dist/{chunk-X4ES7QBT.js → chunk-BJTSKOH3.js} +9 -7
- package/dist/{chunk-TCH5UCPR.js → chunk-BQ2VV7LY.js} +2 -2
- package/dist/{chunk-IBXHVYN2.js → chunk-BUZIEL7Y.js} +2 -2
- package/dist/{chunk-UFJS4RR7.js → chunk-CICLXLQN.js} +3 -3
- package/dist/{chunk-US3IT6ZC.js → chunk-CJ5TCFD4.js} +11 -4
- package/dist/{chunk-5JWCWALO.js → chunk-DQLCFGHK.js} +12 -10
- package/dist/{chunk-V3PDUDPB.js → chunk-ELLJPP6O.js} +2 -2
- package/dist/{chunk-BMPZ5HVJ.js → chunk-ERK24P76.js} +11 -1
- package/dist/{chunk-2WMZDKPM.js → chunk-EUIPTDLX.js} +13 -13
- package/dist/{chunk-RQDP2SJY.js → chunk-FUZ5VYWD.js} +1 -1
- package/dist/{chunk-5PP4455M.js → chunk-G36T5LAP.js} +3 -3
- package/dist/{chunk-3N2ZTHZZ.js → chunk-GAMVAORR.js} +1 -1
- package/dist/{chunk-YQVKG5MC.js → chunk-GDKQUB52.js} +7 -6
- package/dist/{chunk-KQWN7C5C.js → chunk-GKFO5JLN.js} +4 -4
- package/dist/{chunk-MYU5D5VH.js → chunk-GZCSWDAS.js} +4 -4
- package/dist/{chunk-2FVP7WRP.js → chunk-HUI4OE43.js} +3 -3
- package/dist/{chunk-AS4Z6KS4.js → chunk-IFPOHFDJ.js} +1 -1
- package/dist/{chunk-L3NVHPBU.js → chunk-JGQV4MDQ.js} +6 -6
- package/dist/{chunk-UVZK5LIK.js → chunk-K4MBKXAE.js} +1 -1
- package/dist/{chunk-EHCIQA5D.js → chunk-KPNZ7JUL.js} +4 -4
- package/dist/{chunk-4QF2YLYK.js → chunk-LBHJJEKT.js} +6 -6
- package/dist/{chunk-5O6D4J2K.js → chunk-LN7DE5LY.js} +2 -2
- package/dist/chunk-MLKGABMK.js +9 -0
- package/dist/{chunk-KZCYHWDF.js → chunk-MWLTTLPK.js} +107 -50
- package/dist/{chunk-WWAVHLGS.js → chunk-NKLNU577.js} +5 -5
- package/dist/{chunk-GMXKITVA.js → chunk-NMUI3ZWG.js} +1 -1
- package/dist/{chunk-SIU6OWA6.js → chunk-O65F2IIN.js} +6 -6
- package/dist/{chunk-T65RIQK2.js → chunk-ORX5BTV4.js} +6 -6
- package/dist/{chunk-VAJHDTJX.js → chunk-P3VQH65N.js} +28 -17
- package/dist/{chunk-CPRA7IEK.js → chunk-PITQ5ZIQ.js} +2 -2
- package/dist/chunk-PPY5N2E6.js +58 -0
- package/dist/{chunk-UTJ5465F.js → chunk-QER5R7Z6.js} +2 -2
- package/dist/{chunk-TDOKDCFH.js → chunk-RGSW36XH.js} +3 -3
- package/dist/{chunk-WW24SG27.js → chunk-RJHX66EY.js} +21 -11
- package/dist/{chunk-M46WDK64.js → chunk-SFAP4AJY.js} +1 -1
- package/dist/{chunk-MSU3VKGJ.js → chunk-SHJVFW22.js} +2 -2
- package/dist/{chunk-RAMQBSVZ.js → chunk-SVQWHV65.js} +1 -1
- package/dist/{chunk-3NROUNIS.js → chunk-UADSXJZ4.js} +2 -2
- package/dist/{chunk-M6MOQBR5.js → chunk-USE5IEEW.js} +1 -1
- package/dist/{chunk-KW3DED2A.js → chunk-VX2MJ4X7.js} +4 -4
- package/dist/{chunk-OZIXBN3O.js → chunk-WFSGCFXQ.js} +2 -2
- package/dist/{chunk-KAJDKYUM.js → chunk-WN3RACVD.js} +3 -3
- package/dist/chunk-X3YKQJCZ.js +36 -0
- package/dist/{chunk-5EFNBL6V.js → chunk-XAO6EYGM.js} +3 -3
- package/dist/{chunk-BKVX53QR.js → chunk-XEJOPVCG.js} +1 -1
- package/dist/{chunk-75UYYIFJ.js → chunk-XV6S5PWW.js} +3 -3
- package/dist/{chunk-3RKIJM26.js → chunk-Y5VKZNFN.js} +2 -2
- package/dist/{chunk-DK35M4TH.js → chunk-Y6Z7DA5Y.js} +5 -5
- package/dist/{chunk-MA37WNVS.js → chunk-YDR4BQ7R.js} +4 -4
- package/dist/{chunk-XGP5VSQG.js → chunk-YPD3MTFU.js} +1 -1
- package/dist/{chunk-LAEW5QQD.js → chunk-ZEWIMY63.js} +1 -1
- package/dist/{chunk-JBCMXSBO.js → chunk-ZGU3NXL2.js} +77 -18
- package/dist/{codex-app-cards-switch-N77RWKCO.js → codex-app-cards-switch-BD7LCI2I.js} +12 -11
- package/dist/{codex-desktop-launch-KIX7OMTL.js → codex-desktop-launch-V5CASSBB.js} +2 -1
- package/dist/{codex-session-launch-XV7SIIWP.js → codex-session-launch-5PKFKUFD.js} +20 -19
- package/dist/{config-HH4DYYNX.js → config-AEKH7HGC.js} +4 -3
- package/dist/{global-upgrade-YWIVJIUR.js → global-upgrade-IUXJJDWF.js} +10 -9
- package/dist/{identity-4J7Y2MW3.js → identity-YJIV2XTY.js} +5 -4
- package/dist/{live-capabilities-LHZBCI5U.js → live-capabilities-QYFW5QAW.js} +5 -4
- package/dist/{paths-ES3V7BWQ.js → paths-A5GAR5PL.js} +4 -3
- package/dist/reapply-BKJGICRJ.js +63 -0
- package/dist/src/index.js +23 -22
- package/dist/{upgrade-lock-TJPKU5HL.js → upgrade-lock-DDB7WEWC.js} +5 -4
- package/dist/usage-HBDNFZ3O.js +11 -0
- package/package.json +1 -1
- package/dist/chunk-7QLSKOSU.js +0 -19
- package/dist/chunk-EO23EUOK.js +0 -14
- package/dist/reapply-KA5SIYWX.js +0 -62
- package/dist/usage-7ALXBJVJ.js +0 -10
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
ensureCodexTrustsPusharyHooks
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-BUZIEL7Y.js";
|
|
4
4
|
import {
|
|
5
5
|
CODEX_INSTRUCTIONS_LABEL,
|
|
6
6
|
GEMINI_INSTRUCTIONS_LABEL,
|
|
@@ -11,7 +11,7 @@ import {
|
|
|
11
11
|
macAppFxBridge,
|
|
12
12
|
refreshInstructionBlock,
|
|
13
13
|
renderAgentInstructions
|
|
14
|
-
} from "./chunk-
|
|
14
|
+
} from "./chunk-4VRTSDGP.js";
|
|
15
15
|
import {
|
|
16
16
|
OPENCODE_HOOK_BINARY,
|
|
17
17
|
agentHookOwner,
|
|
@@ -21,10 +21,10 @@ import {
|
|
|
21
21
|
openCodeInstructionsFile,
|
|
22
22
|
openCodePluginDir,
|
|
23
23
|
openCodeWired
|
|
24
|
-
} from "./chunk-
|
|
24
|
+
} from "./chunk-ZGU3NXL2.js";
|
|
25
25
|
import {
|
|
26
26
|
detectClaudeVersion
|
|
27
|
-
} from "./chunk-
|
|
27
|
+
} from "./chunk-USE5IEEW.js";
|
|
28
28
|
import {
|
|
29
29
|
addClaudeMcpServer,
|
|
30
30
|
addCompatibleHooks,
|
|
@@ -33,7 +33,7 @@ import {
|
|
|
33
33
|
compatibleConfigFile,
|
|
34
34
|
compatibleInstructionsFile,
|
|
35
35
|
hasCompatibleHooks
|
|
36
|
-
} from "./chunk-
|
|
36
|
+
} from "./chunk-GKFO5JLN.js";
|
|
37
37
|
import {
|
|
38
38
|
claudeUnprovenHolds,
|
|
39
39
|
claudeWired,
|
|
@@ -41,7 +41,7 @@ import {
|
|
|
41
41
|
codexWired,
|
|
42
42
|
geminiWired,
|
|
43
43
|
planHooks
|
|
44
|
-
} from "./chunk-
|
|
44
|
+
} from "./chunk-BJTSKOH3.js";
|
|
45
45
|
import {
|
|
46
46
|
CLAUDE_HOOK_BINARY,
|
|
47
47
|
CLAUDE_HOOK_EVENTS,
|
|
@@ -52,7 +52,7 @@ import {
|
|
|
52
52
|
needsReregistration,
|
|
53
53
|
registrationSignatures,
|
|
54
54
|
supportedClaudeEvents
|
|
55
|
-
} from "./chunk-
|
|
55
|
+
} from "./chunk-RGSW36XH.js";
|
|
56
56
|
import {
|
|
57
57
|
formatVersion
|
|
58
58
|
} from "./chunk-6ICPEJY5.js";
|
|
@@ -61,11 +61,14 @@ import {
|
|
|
61
61
|
addCodexHookTrust,
|
|
62
62
|
addCodexHooks,
|
|
63
63
|
addCodexMcpServer,
|
|
64
|
+
claudeJson,
|
|
64
65
|
claudeRegistrationReceipt,
|
|
66
|
+
claudeSettings,
|
|
65
67
|
codexAgentsMd,
|
|
66
68
|
codexConfigToml,
|
|
67
69
|
codexHookPositions,
|
|
68
70
|
codexHooksJson,
|
|
71
|
+
codexMcpStartsCommand,
|
|
69
72
|
codexRegistrationHolder,
|
|
70
73
|
codexVacatedIndexes,
|
|
71
74
|
dropVacatedCodexHookTrust,
|
|
@@ -80,11 +83,11 @@ import {
|
|
|
80
83
|
registeredCommands,
|
|
81
84
|
registrationHolderOf,
|
|
82
85
|
vscodePluginMcp
|
|
83
|
-
} from "./chunk-
|
|
86
|
+
} from "./chunk-MWLTTLPK.js";
|
|
84
87
|
import {
|
|
85
88
|
resolveGlobalBinDir,
|
|
86
89
|
resolveGlobalBinary
|
|
87
|
-
} from "./chunk-
|
|
90
|
+
} from "./chunk-CJ5TCFD4.js";
|
|
88
91
|
import {
|
|
89
92
|
readJsonSafe,
|
|
90
93
|
writeFileAtomic,
|
|
@@ -94,7 +97,7 @@ import {
|
|
|
94
97
|
HOOK_COMPATIBLE_PROFILES,
|
|
95
98
|
isCompatibleAgentType,
|
|
96
99
|
isRecord
|
|
97
|
-
} from "./chunk-
|
|
100
|
+
} from "./chunk-AXJLJJ3M.js";
|
|
98
101
|
|
|
99
102
|
// src/reapply.ts
|
|
100
103
|
import { dirname, join } from "path";
|
|
@@ -137,8 +140,6 @@ var storedSignatures = (raw) => {
|
|
|
137
140
|
};
|
|
138
141
|
|
|
139
142
|
// src/reapply.ts
|
|
140
|
-
var CLAUDE_SETTINGS = join(homedir(), ".claude", "settings.json");
|
|
141
|
-
var CLAUDE_JSON = join(homedir(), ".claude.json");
|
|
142
143
|
var readJson = (filePath) => {
|
|
143
144
|
const result = readJsonSafe(filePath);
|
|
144
145
|
if (result.kind === "ok") return isRecord(result.value) ? result.value : null;
|
|
@@ -147,7 +148,7 @@ var readJson = (filePath) => {
|
|
|
147
148
|
};
|
|
148
149
|
var writeJson = (filePath, data) => writeJsonAtomic(filePath, data);
|
|
149
150
|
var hasPusharyClaudeHooks = (settings) => JSON.stringify(settings.hooks ?? {}).includes(CLAUDE_HOOK_BINARY);
|
|
150
|
-
var hasPusharyMcp = (
|
|
151
|
+
var hasPusharyMcp = (claudeJson2) => !!claudeJson2.mcpServers?.pushary;
|
|
151
152
|
var PRIVATE_TO_OWNER = 384;
|
|
152
153
|
var modeToPreserve = (filePath) => {
|
|
153
154
|
try {
|
|
@@ -158,14 +159,14 @@ var modeToPreserve = (filePath) => {
|
|
|
158
159
|
};
|
|
159
160
|
var wouldWriteBareNames = (resolve, probe) => resolve(probe) === void 0;
|
|
160
161
|
var reapplyClaudeSettings = (apiKey, paths = {}) => {
|
|
161
|
-
const settingsPath = paths.settingsPath ??
|
|
162
|
-
const claudeJsonPath = paths.claudeJsonPath ??
|
|
162
|
+
const settingsPath = paths.settingsPath ?? claudeSettings();
|
|
163
|
+
const claudeJsonPath = paths.claudeJsonPath ?? claudeJson();
|
|
163
164
|
const settings = readJson(settingsPath);
|
|
164
|
-
const
|
|
165
|
-
const configured = settings != null && hasPusharyClaudeHooks(settings) ||
|
|
165
|
+
const claudeJson2 = readJson(claudeJsonPath);
|
|
166
|
+
const configured = settings != null && hasPusharyClaudeHooks(settings) || claudeJson2 != null && hasPusharyMcp(claudeJson2);
|
|
166
167
|
if (!configured) return { configured: false, reapplied: false, hooks: false, mcp: false };
|
|
167
168
|
const settingsWritable = settings != null;
|
|
168
|
-
const claudeJsonWritable =
|
|
169
|
+
const claudeJsonWritable = claudeJson2 != null;
|
|
169
170
|
let hooks = false;
|
|
170
171
|
let mcp = false;
|
|
171
172
|
let failed = false;
|
|
@@ -183,7 +184,7 @@ var reapplyClaudeSettings = (apiKey, paths = {}) => {
|
|
|
183
184
|
if (apiKey) {
|
|
184
185
|
try {
|
|
185
186
|
if (!claudeJsonWritable) throw new Error(".claude.json could not be parsed");
|
|
186
|
-
const cj =
|
|
187
|
+
const cj = claudeJson2;
|
|
187
188
|
addClaudeMcpServer(cj, apiKey);
|
|
188
189
|
writeJson(claudeJsonPath, cj);
|
|
189
190
|
mcp = true;
|
|
@@ -196,7 +197,7 @@ var reapplyClaudeSettings = (apiKey, paths = {}) => {
|
|
|
196
197
|
var reapplyClaudeForVersion = (apiKey, paths = {}) => {
|
|
197
198
|
const idle = { verdict: "current", rewrote: false, missing: [] };
|
|
198
199
|
try {
|
|
199
|
-
const settingsPath = paths.settingsPath ??
|
|
200
|
+
const settingsPath = paths.settingsPath ?? claudeSettings();
|
|
200
201
|
const receiptPath = paths.receiptPath ?? claudeRegistrationReceipt();
|
|
201
202
|
const version = (paths.detectVersion ?? detectClaudeVersion)();
|
|
202
203
|
const receipt = readJsonSafe(receiptPath);
|
|
@@ -234,9 +235,9 @@ var readToml = (filePath) => {
|
|
|
234
235
|
};
|
|
235
236
|
var inspectConfiguredManagedProviders = (paths = {}) => {
|
|
236
237
|
const providers = [];
|
|
237
|
-
const
|
|
238
|
-
const
|
|
239
|
-
if (claudeWired({ claudeJson, settings:
|
|
238
|
+
const claudeSettings2 = readJson(paths.claudeSettingsPath ?? claudeSettings());
|
|
239
|
+
const claudeJson2 = readJson(paths.claudeJsonPath ?? claudeJson());
|
|
240
|
+
if (claudeWired({ claudeJson: claudeJson2, settings: claudeSettings2, skillExists: false })) {
|
|
240
241
|
providers.push("claude");
|
|
241
242
|
}
|
|
242
243
|
const codexConfig = readToml(paths.codexConfigPath ?? codexConfigToml());
|
|
@@ -250,13 +251,23 @@ var inspectConfiguredManagedProviders = (paths = {}) => {
|
|
|
250
251
|
}
|
|
251
252
|
return providers;
|
|
252
253
|
};
|
|
253
|
-
var
|
|
254
|
+
var codexNativeOwnershipFor = (hooksConfig, requested, macAppAvailable) => hooksConfig === null && macAppAvailable ? "preserve" : requested;
|
|
255
|
+
var reapplyCodexSettings = (apiKey, paths = {}, nativeOwnership = "preserve") => {
|
|
254
256
|
const configPath = paths.configPath ?? codexConfigToml();
|
|
255
257
|
const hooksPath = paths.hooksPath ?? codexHooksJson();
|
|
256
258
|
const config = readToml(configPath);
|
|
257
259
|
const hooksConfig = readJson(hooksPath);
|
|
258
260
|
const configured = config != null && !!config.mcp_servers?.pushary || hooksConfig != null && hasCodexHooks(hooksConfig);
|
|
259
261
|
if (!configured) return { configured: false, reapplied: false, hooks: false, mcp: false };
|
|
262
|
+
const startedCommand = config != null && codexMcpStartsCommand(config);
|
|
263
|
+
let mcpWrite = null;
|
|
264
|
+
if (config != null && apiKey) {
|
|
265
|
+
try {
|
|
266
|
+
mcpWrite = addCodexMcpServer(config, apiKey, codexNativeOwnershipFor(hooksConfig, nativeOwnership, paths.macAppAvailable ?? true));
|
|
267
|
+
} catch {
|
|
268
|
+
return { configured: true, reapplied: false, hooks: false, mcp: false, failed: true };
|
|
269
|
+
}
|
|
270
|
+
}
|
|
260
271
|
const command = guardBinary((paths.resolveBinary ?? resolveGlobalBinary)(CODEX_HOOK_BINARY) ?? CODEX_HOOK_BINARY);
|
|
261
272
|
let hooks = false;
|
|
262
273
|
let mcp = false;
|
|
@@ -277,12 +288,9 @@ var reapplyCodexSettings = (apiKey, paths = {}) => {
|
|
|
277
288
|
dropVacatedCodexHookTrust(config, hooksPath, vacated);
|
|
278
289
|
addCodexHookTrust(config, hooksPath, command, codexHookPositions(hooksConfig ?? void 0));
|
|
279
290
|
}
|
|
280
|
-
if (apiKey) {
|
|
281
|
-
addCodexMcpServer(config, apiKey);
|
|
282
|
-
}
|
|
283
291
|
if (hooks || apiKey) {
|
|
284
292
|
writeFileAtomic(configPath, stringifyTOML(config), modeToPreserve(configPath), "utf-8");
|
|
285
|
-
mcp =
|
|
293
|
+
mcp = mcpWrite === "wrote-key";
|
|
286
294
|
}
|
|
287
295
|
} catch {
|
|
288
296
|
failed = true;
|
|
@@ -290,7 +298,7 @@ var reapplyCodexSettings = (apiKey, paths = {}) => {
|
|
|
290
298
|
}
|
|
291
299
|
}
|
|
292
300
|
if (config === null) hooks = false;
|
|
293
|
-
return { configured: true, reapplied: hooks || mcp, hooks, mcp, failed };
|
|
301
|
+
return { configured: true, reapplied: hooks || mcp, hooks, mcp, failed, ...mcp && startedCommand ? { codexRestartRequired: true } : {} };
|
|
294
302
|
};
|
|
295
303
|
var repairCodexHolds = (paths = {}) => {
|
|
296
304
|
const idle = { configured: false, reapplied: false, hooks: false, mcp: false };
|
|
@@ -408,12 +416,13 @@ var KEPT_FOR_APP = { configured: true, reapplied: false, hooks: false, mcp: fals
|
|
|
408
416
|
var FAILED_REAPPLY = { configured: false, reapplied: false, hooks: false, mcp: false, failed: true };
|
|
409
417
|
var noInstructionBlock = () => null;
|
|
410
418
|
var reapplyAllAgents = (apiKey, options = {}) => {
|
|
419
|
+
const appAvailable = (options.appAvailable ?? macAppBridgeAvailable)();
|
|
411
420
|
const runners = [
|
|
412
421
|
{ id: "claude", label: "Claude Code", run: () => reapplyClaudeSettings(apiKey), instructions: noInstructionBlock },
|
|
413
422
|
{
|
|
414
423
|
id: "codex",
|
|
415
424
|
label: "Codex",
|
|
416
|
-
run: () => reapplyCodexSettings(apiKey),
|
|
425
|
+
run: () => reapplyCodexSettings(apiKey, { macAppAvailable: appAvailable }, "take-over"),
|
|
417
426
|
instructions: () => ({ file: codexAgentsMd(), body: renderAgentInstructions(CODEX_INSTRUCTIONS_LABEL) })
|
|
418
427
|
},
|
|
419
428
|
{
|
|
@@ -438,7 +447,6 @@ var reapplyAllAgents = (apiKey, options = {}) => {
|
|
|
438
447
|
instructions: () => compatibleInstructionTarget(profile)
|
|
439
448
|
}))
|
|
440
449
|
];
|
|
441
|
-
const appAvailable = (options.appAvailable ?? macAppBridgeAvailable)();
|
|
442
450
|
const done = [];
|
|
443
451
|
for (const runner of runners) {
|
|
444
452
|
try {
|
|
@@ -1,18 +1,19 @@
|
|
|
1
1
|
import {
|
|
2
2
|
readExistingMachineId
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-SFAP4AJY.js";
|
|
4
4
|
import {
|
|
5
5
|
NetworkError
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-PPY5N2E6.js";
|
|
7
7
|
import {
|
|
8
8
|
getBaseUrl
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-BG4Y64FW.js";
|
|
10
10
|
import {
|
|
11
11
|
getPackageVersion
|
|
12
12
|
} from "./chunk-QTOLNRET.js";
|
|
13
13
|
import {
|
|
14
|
-
clientContextHeaders
|
|
15
|
-
|
|
14
|
+
clientContextHeaders,
|
|
15
|
+
redactSecretsFromContent
|
|
16
|
+
} from "./chunk-AXJLJJ3M.js";
|
|
16
17
|
|
|
17
18
|
// src/cli/net.ts
|
|
18
19
|
import { createRequire } from "module";
|
|
@@ -112,8 +113,8 @@ var pusharyFetch = async (url, init = {}) => {
|
|
|
112
113
|
} catch (err) {
|
|
113
114
|
if (isNetworkFailure(err)) {
|
|
114
115
|
const proxy = proxyFromEnv();
|
|
115
|
-
const via = proxy ?
|
|
116
|
-
throw new NetworkError(`Could not reach ${new URL(url).host}${via}: ${err instanceof Error ? err.message : String(err)}`);
|
|
116
|
+
const via = proxy ? " (via configured proxy)" : "";
|
|
117
|
+
throw new NetworkError(redactSecretsFromContent(`Could not reach ${new URL(url).host}${via}: ${err instanceof Error ? err.message : String(err)}`));
|
|
117
118
|
}
|
|
118
119
|
throw err;
|
|
119
120
|
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import {
|
|
2
|
+
exitCodeFor,
|
|
3
|
+
messageFor
|
|
4
|
+
} from "./chunk-PPY5N2E6.js";
|
|
5
|
+
import {
|
|
6
|
+
EXIT
|
|
7
|
+
} from "./chunk-KZERVKTD.js";
|
|
8
|
+
import {
|
|
9
|
+
redactSecretsFromContent
|
|
10
|
+
} from "./chunk-AXJLJJ3M.js";
|
|
11
|
+
|
|
12
|
+
// src/cli/json.ts
|
|
13
|
+
var writeStdoutFully = (text) => new Promise((resolve, reject) => {
|
|
14
|
+
const settle = (error) => {
|
|
15
|
+
if (!error) process.stdout.off("error", settle);
|
|
16
|
+
if (error && (!("code" in error) || error.code !== "EPIPE")) reject(error);
|
|
17
|
+
else resolve();
|
|
18
|
+
};
|
|
19
|
+
process.stdout.once("error", settle);
|
|
20
|
+
process.stdout.write(text, settle);
|
|
21
|
+
});
|
|
22
|
+
var writeJsonError = async (command, error, argv = process.argv.slice(2)) => {
|
|
23
|
+
const exitCode = exitCodeFor(error);
|
|
24
|
+
const end = argv.indexOf("--");
|
|
25
|
+
const flags = end < 0 ? argv : argv.slice(0, end);
|
|
26
|
+
if (!flags.includes("--json") && !flags.includes("-json")) return { written: false, exitCode };
|
|
27
|
+
await writeStdoutFully(`${JSON.stringify({
|
|
28
|
+
ok: false,
|
|
29
|
+
command,
|
|
30
|
+
reason: exitCode === EXIT.USAGE ? "usage" : "failed",
|
|
31
|
+
message: redactSecretsFromContent(messageFor(error)),
|
|
32
|
+
exitCode
|
|
33
|
+
})}
|
|
34
|
+
`);
|
|
35
|
+
return { written: true, exitCode };
|
|
36
|
+
};
|
|
37
|
+
|
|
38
|
+
export {
|
|
39
|
+
writeStdoutFully,
|
|
40
|
+
writeJsonError
|
|
41
|
+
};
|
|
@@ -3,7 +3,7 @@ import {
|
|
|
3
3
|
} from "./chunk-POFBE6ZY.js";
|
|
4
4
|
import {
|
|
5
5
|
autoUpdateState
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-MWLTTLPK.js";
|
|
7
7
|
import {
|
|
8
8
|
readJsonSafe,
|
|
9
9
|
writeJsonAtomic
|
|
@@ -17,7 +17,7 @@ import {
|
|
|
17
17
|
} from "./chunk-QTOLNRET.js";
|
|
18
18
|
import {
|
|
19
19
|
isAutoUpdateResult
|
|
20
|
-
} from "./chunk-
|
|
20
|
+
} from "./chunk-AXJLJJ3M.js";
|
|
21
21
|
|
|
22
22
|
// src/auto-update.ts
|
|
23
23
|
import { spawn } from "child_process";
|
|
@@ -130,15 +130,6 @@ var readLocalAutoUpdateReport = () => {
|
|
|
130
130
|
return null;
|
|
131
131
|
}
|
|
132
132
|
};
|
|
133
|
-
var parseAutoUpdateFlag = (args) => {
|
|
134
|
-
const token = args.find((arg) => arg === AUTO_UPDATE_FLAG || arg.startsWith(`${AUTO_UPDATE_FLAG}=`));
|
|
135
|
-
if (token === void 0) return { kind: "absent" };
|
|
136
|
-
if (token === AUTO_UPDATE_FLAG) return { kind: "run" };
|
|
137
|
-
const value = token.slice(AUTO_UPDATE_FLAG.length + 1);
|
|
138
|
-
if (value === "on") return { kind: "set", enabled: true };
|
|
139
|
-
if (value === "off") return { kind: "set", enabled: false };
|
|
140
|
-
return { kind: "invalid", value };
|
|
141
|
-
};
|
|
142
133
|
var AUTO_UPDATE_RESULT_LABELS = {
|
|
143
134
|
updated: "updated",
|
|
144
135
|
finish_pending: "installed; configuration refresh pending",
|
|
@@ -209,13 +200,13 @@ var triggerAutoUpdate = (trigger) => {
|
|
|
209
200
|
|
|
210
201
|
export {
|
|
211
202
|
AUTO_UPDATE_DISABLE_ENV,
|
|
203
|
+
AUTO_UPDATE_FLAG,
|
|
212
204
|
isAutoUpdateDisabledByEnv,
|
|
213
205
|
autoUpdateOffReason,
|
|
214
206
|
globalInstallLocation,
|
|
215
207
|
upgradeEntryFor,
|
|
216
208
|
nextFinishAttempt,
|
|
217
209
|
readLocalAutoUpdateReport,
|
|
218
|
-
parseAutoUpdateFlag,
|
|
219
210
|
describeAutoUpdateCheck,
|
|
220
211
|
isUnfinishedAutoUpdate,
|
|
221
212
|
holdsUnfinishedFinish,
|
|
@@ -3,24 +3,24 @@ import {
|
|
|
3
3
|
expectedLaunchCapabilities,
|
|
4
4
|
hasSpawnProvider,
|
|
5
5
|
resolveControlPolicy
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-G36T5LAP.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-LBHJJEKT.js";
|
|
14
14
|
import {
|
|
15
15
|
readControlMode,
|
|
16
16
|
readKeySource
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-WN3RACVD.js";
|
|
18
18
|
import {
|
|
19
19
|
getMachineId
|
|
20
|
-
} from "./chunk-
|
|
20
|
+
} from "./chunk-SFAP4AJY.js";
|
|
21
21
|
import {
|
|
22
22
|
getBaseUrl
|
|
23
|
-
} from "./chunk-
|
|
23
|
+
} from "./chunk-BG4Y64FW.js";
|
|
24
24
|
import {
|
|
25
25
|
getPackageVersion
|
|
26
26
|
} from "./chunk-QTOLNRET.js";
|
|
@@ -4,10 +4,10 @@ import {
|
|
|
4
4
|
keyPrefix,
|
|
5
5
|
readConfigFileKey,
|
|
6
6
|
readMacAppKeyPrefix
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-WN3RACVD.js";
|
|
8
8
|
import {
|
|
9
9
|
NPX_LATEST_COMMAND
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-ERK24P76.js";
|
|
11
11
|
|
|
12
12
|
// src/key-signed-out.ts
|
|
13
13
|
var VERDICT_BY_CHECK = {
|
|
@@ -384,6 +384,13 @@ var AGENTS = {
|
|
|
384
384
|
enforcementDetail: "Shell, edits and MCP calls through native PreToolUse hooks. Grok's own permission checks still apply after a phone approval.",
|
|
385
385
|
capabilityNote: "Grok fails open if it kills a hook or cannot run it. Setup leaves Grok's permission mode unchanged. Native question and plan dialogs stay in Grok; proactive phone questions use Pushary MCP."
|
|
386
386
|
},
|
|
387
|
+
grok_bot: {
|
|
388
|
+
...defaults,
|
|
389
|
+
label: "Grok Bot",
|
|
390
|
+
connectVia: "Grok Bot app plugin (remote MCP connector)",
|
|
391
|
+
setupGuide: "[Grok Bot setup](/docs/agents/guides/grok-bot)",
|
|
392
|
+
capabilityNote: "Grok Bot keeps its own approval cards, and Pushary cannot stop a Bot in the middle of a task. A question nobody answers expires after about ten minutes and is never treated as a yes."
|
|
393
|
+
},
|
|
387
394
|
windsurf: {
|
|
388
395
|
...defaults,
|
|
389
396
|
label: "Windsurf",
|
|
@@ -2,23 +2,24 @@ import {
|
|
|
2
2
|
CLAUDE_HOOK_EVENTS,
|
|
3
3
|
GEMINI_HOOK_EVENTS,
|
|
4
4
|
hasGeminiHooks
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-RGSW36XH.js";
|
|
6
6
|
import {
|
|
7
7
|
AGENT_CHOICES
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-XV6S5PWW.js";
|
|
9
9
|
import {
|
|
10
10
|
BELL_HOOK_BINARY
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-IFPOHFDJ.js";
|
|
12
12
|
import {
|
|
13
13
|
CODEX_HOOK_EVENTS,
|
|
14
|
+
HOOK_SHELL,
|
|
14
15
|
hasCodexHooks,
|
|
15
16
|
holdBudgetOf
|
|
16
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-MWLTTLPK.js";
|
|
17
18
|
import {
|
|
18
19
|
CURSOR_GATE_EVENTS,
|
|
19
20
|
HOOK_LOCATOR_BINARY,
|
|
20
21
|
hookCommandHoldBudget
|
|
21
|
-
} from "./chunk-
|
|
22
|
+
} from "./chunk-AXJLJJ3M.js";
|
|
22
23
|
|
|
23
24
|
// src/diagnostics/bridge.ts
|
|
24
25
|
import { execFileSync } from "child_process";
|
|
@@ -101,9 +102,10 @@ var record = (value) => value && typeof value === "object" && !Array.isArray(val
|
|
|
101
102
|
var CLAUDE_HOOK_BINARY = /pushary-[a-z-]*hook/;
|
|
102
103
|
var EXACT_HOOK_BINARY = /^pushary-[a-z-]*(hook|gate)$/;
|
|
103
104
|
var pusharyHookExecutable = (command) => {
|
|
104
|
-
const tokens = command.match(/"[^"]*"|'[^']*'|\S+/g) ?? [];
|
|
105
|
+
const tokens = command.match(/"(?:\\.|[^"\\])*"|'[^']*'|\S+/g) ?? [];
|
|
105
106
|
for (const raw of tokens.reverse()) {
|
|
106
|
-
const
|
|
107
|
+
const unquoted = raw[0] === '"' && raw.at(-1) === '"' || raw[0] === "'" && raw.at(-1) === "'" ? raw.slice(1, -1) : raw;
|
|
108
|
+
const token = command.startsWith(`${HOOK_SHELL} `) && raw[0] === '"' ? unquoted.replace(/\\(["\\$`])/g, "$1") : unquoted;
|
|
107
109
|
const name = token.split(/[/\\]/).pop()?.replace(/\.(cmd|exe|mjs)$/i, "") ?? "";
|
|
108
110
|
if (name === HOOK_LOCATOR_BINARY || EXACT_HOOK_BINARY.test(name)) return token;
|
|
109
111
|
}
|
|
@@ -8,13 +8,13 @@ import {
|
|
|
8
8
|
everyProgramFileIsThere,
|
|
9
9
|
installedCodexApp,
|
|
10
10
|
shellQuoted
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-PITQ5ZIQ.js";
|
|
12
12
|
import {
|
|
13
13
|
writeHuman
|
|
14
14
|
} from "./chunk-QCGNGEGE.js";
|
|
15
15
|
import {
|
|
16
16
|
xml
|
|
17
|
-
} from "./chunk-
|
|
17
|
+
} from "./chunk-LBHJJEKT.js";
|
|
18
18
|
import {
|
|
19
19
|
CODEX_APP_LAUNCH_AT_LOGIN_VERB,
|
|
20
20
|
CODEX_APP_LAUNCH_VARIABLE
|
|
@@ -7,10 +7,10 @@ import {
|
|
|
7
7
|
codexHome,
|
|
8
8
|
codexHooksJsonIn,
|
|
9
9
|
isPusharyCodexCommand
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-MWLTTLPK.js";
|
|
11
11
|
import {
|
|
12
12
|
resolvePathBinary
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-CJ5TCFD4.js";
|
|
14
14
|
import {
|
|
15
15
|
getPackageVersion
|
|
16
16
|
} from "./chunk-QTOLNRET.js";
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import {
|
|
2
2
|
notificationAnswerStep
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-HUI4OE43.js";
|
|
4
4
|
import {
|
|
5
5
|
matchMacAccountStep,
|
|
6
6
|
retryAgentCommand
|
|
7
|
-
} from "./chunk-
|
|
7
|
+
} from "./chunk-4VRTSDGP.js";
|
|
8
8
|
import {
|
|
9
9
|
EXIT
|
|
10
10
|
} from "./chunk-KZERVKTD.js";
|
|
11
11
|
import {
|
|
12
12
|
NPX_LATEST_COMMAND
|
|
13
|
-
} from "./chunk-
|
|
13
|
+
} from "./chunk-ERK24P76.js";
|
|
14
14
|
|
|
15
15
|
// src/setup/closing.ts
|
|
16
16
|
var ACTIVITY_URL = "pushary.com/dashboard/agent/activity";
|
|
@@ -12,6 +12,9 @@ import {
|
|
|
12
12
|
ownPackageName
|
|
13
13
|
} from "./chunk-QTOLNRET.js";
|
|
14
14
|
|
|
15
|
+
// src/shell-quote.ts
|
|
16
|
+
var shellDoubleQuoted = (text) => `"${text.replace(/(["\\$`])/g, "\\$1")}"`;
|
|
17
|
+
|
|
15
18
|
// src/npm.ts
|
|
16
19
|
import { promisify } from "util";
|
|
17
20
|
import { exec, execFile, execFileSync, execSync } from "child_process";
|
|
@@ -320,7 +323,10 @@ var resolveGlobalBinDir = (probe) => {
|
|
|
320
323
|
const resolved = resolveGlobalBinary(probe);
|
|
321
324
|
return resolved ? resolved.slice(0, resolved.length - probe.length - 1) : void 0;
|
|
322
325
|
};
|
|
323
|
-
var quoteIfNeeded = (path
|
|
326
|
+
var quoteIfNeeded = (path, platform = process.platform) => {
|
|
327
|
+
if (platform === "win32") return /\s/.test(path) ? `"${path}"` : path;
|
|
328
|
+
return /^[\w@%+=:,./-]+$/.test(path) ? path : shellDoubleQuoted(path);
|
|
329
|
+
};
|
|
324
330
|
var fetchLatestPublishedVersion = async (request) => {
|
|
325
331
|
try {
|
|
326
332
|
const response = await (request.fetchImpl ?? fetch)(latestReleaseUrl(request.packageName), {
|
|
@@ -360,9 +366,9 @@ var installGlobally = (options) => {
|
|
|
360
366
|
}
|
|
361
367
|
const started = (async () => {
|
|
362
368
|
if (!npmIsOnPath()) throw new NpmMissingError();
|
|
363
|
-
const { withUpgradeLock } = await import("./global-upgrade-
|
|
364
|
-
const { installWithUpgradeLock, ownsUpgradeLock } = await import("./upgrade-lock-
|
|
365
|
-
const { autoUpdateLock } = await import("./paths-
|
|
369
|
+
const { withUpgradeLock } = await import("./global-upgrade-IUXJJDWF.js");
|
|
370
|
+
const { installWithUpgradeLock, ownsUpgradeLock } = await import("./upgrade-lock-DDB7WEWC.js");
|
|
371
|
+
const { autoUpdateLock } = await import("./paths-A5GAR5PL.js");
|
|
366
372
|
let result = "skipped";
|
|
367
373
|
const install = async () => {
|
|
368
374
|
const platform = process.platform;
|
|
@@ -395,6 +401,7 @@ var installGlobally = (options) => {
|
|
|
395
401
|
};
|
|
396
402
|
|
|
397
403
|
export {
|
|
404
|
+
shellDoubleQuoted,
|
|
398
405
|
LATEST_TAG,
|
|
399
406
|
cleanNpmEnv,
|
|
400
407
|
npmErrorMessage,
|
|
@@ -2,10 +2,10 @@ import {
|
|
|
2
2
|
IDLE_PROMPT_NOTIFICATION,
|
|
3
3
|
NOTIFICATION_PUSH_TYPES,
|
|
4
4
|
POSTTOOLUSE_MIRROR_ONLY_TOOLS
|
|
5
|
-
} from "./chunk-
|
|
5
|
+
} from "./chunk-33OOEVPG.js";
|
|
6
6
|
import {
|
|
7
7
|
repoKeyFor
|
|
8
|
-
} from "./chunk-
|
|
8
|
+
} from "./chunk-YPD3MTFU.js";
|
|
9
9
|
import {
|
|
10
10
|
cancelQuestion,
|
|
11
11
|
clientErrorKindOf,
|
|
@@ -13,26 +13,26 @@ import {
|
|
|
13
13
|
reportClientError,
|
|
14
14
|
sendNotification,
|
|
15
15
|
waitForAnswer
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-RJHX66EY.js";
|
|
17
17
|
import {
|
|
18
18
|
withRetry
|
|
19
|
-
} from "./chunk-
|
|
19
|
+
} from "./chunk-XAO6EYGM.js";
|
|
20
20
|
import {
|
|
21
21
|
getMachineId
|
|
22
|
-
} from "./chunk-
|
|
22
|
+
} from "./chunk-SFAP4AJY.js";
|
|
23
23
|
import {
|
|
24
24
|
reportedInstallSource
|
|
25
|
-
} from "./chunk-
|
|
25
|
+
} from "./chunk-Y5VKZNFN.js";
|
|
26
26
|
import {
|
|
27
27
|
canonicalJson
|
|
28
|
-
} from "./chunk-
|
|
28
|
+
} from "./chunk-MWLTTLPK.js";
|
|
29
29
|
import {
|
|
30
30
|
writeFileAtomic
|
|
31
31
|
} from "./chunk-QENTGE75.js";
|
|
32
32
|
import {
|
|
33
33
|
getApiKey,
|
|
34
34
|
getBaseUrl
|
|
35
|
-
} from "./chunk-
|
|
35
|
+
} from "./chunk-BG4Y64FW.js";
|
|
36
36
|
import {
|
|
37
37
|
ACTION_BODY_MAX,
|
|
38
38
|
AGENTS,
|
|
@@ -66,7 +66,7 @@ import {
|
|
|
66
66
|
toToolLookup,
|
|
67
67
|
truncateLine,
|
|
68
68
|
unansweredRefusalReason
|
|
69
|
-
} from "./chunk-
|
|
69
|
+
} from "./chunk-AXJLJJ3M.js";
|
|
70
70
|
|
|
71
71
|
// ../hook-mapping/src/describe.ts
|
|
72
72
|
import { isAbsolute, relative, resolve } from "path";
|
|
@@ -224,6 +224,7 @@ var parseApplyPatchFiles = (command) => [...new Set(parseApplyPatchOps(command).
|
|
|
224
224
|
var patchDeletesFiles = (toolName, toolInput) => toolName === "apply_patch" && parseApplyPatchOps(toolInput.command).some((entry) => entry.op === "delete");
|
|
225
225
|
var OPENCODE_TOOL_NAMES = {
|
|
226
226
|
bash: "Bash",
|
|
227
|
+
shell: "Bash",
|
|
227
228
|
// A shell command reaching outside the worktree asks a second time under its
|
|
228
229
|
// own key. It is still the same command, and still Bash.
|
|
229
230
|
external_directory: "Bash",
|
|
@@ -236,7 +237,8 @@ var OPENCODE_TOOL_NAMES = {
|
|
|
236
237
|
grep: "Grep",
|
|
237
238
|
webfetch: "WebFetch",
|
|
238
239
|
websearch: "WebSearch",
|
|
239
|
-
task: "Task"
|
|
240
|
+
task: "Task",
|
|
241
|
+
subagent: "Task"
|
|
240
242
|
};
|
|
241
243
|
var PATCH_ARG_KEYS = ["command", "patch", "input"];
|
|
242
244
|
var patchedFilesIn = (input) => [...new Set(PATCH_ARG_KEYS.flatMap((key) => parseApplyPatchFiles(input[key])))];
|
|
@@ -3,11 +3,11 @@ import {
|
|
|
3
3
|
decodePublicKey,
|
|
4
4
|
generateSessionKey,
|
|
5
5
|
wrapSessionKey
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-2AELPDMT.js";
|
|
7
7
|
import {
|
|
8
8
|
fetchTranscriptRecipients,
|
|
9
9
|
uploadTranscriptRecords
|
|
10
|
-
} from "./chunk-
|
|
10
|
+
} from "./chunk-GAMVAORR.js";
|
|
11
11
|
|
|
12
12
|
// src/live-session.ts
|
|
13
13
|
var MAX_TRANSCRIPT_QUEUE = 100;
|