pushary 1.9.8 → 1.9.9

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.
Files changed (103) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/dist/bin/pushary-bell-hook.js +22 -23
  3. package/dist/bin/pushary-bell.js +13 -13
  4. package/dist/bin/pushary-claude.js +26 -27
  5. package/dist/bin/pushary-clean.js +48 -51
  6. package/dist/bin/pushary-codex-bridge.js +20 -20
  7. package/dist/bin/pushary-codex-hook.js +34 -35
  8. package/dist/bin/pushary-codex.js +13 -13
  9. package/dist/bin/pushary-connect.js +39 -16
  10. package/dist/bin/pushary-cowork.js +5 -5
  11. package/dist/bin/pushary-daemon.js +35 -37
  12. package/dist/bin/pushary-disconnect.js +29 -32
  13. package/dist/bin/pushary-doctor.js +83 -72
  14. package/dist/bin/pushary-elicitation-hook.js +25 -26
  15. package/dist/bin/pushary-gemini-bridge.js +13 -13
  16. package/dist/bin/pushary-gemini-hook.js +29 -30
  17. package/dist/bin/pushary-hook.js +36 -37
  18. package/dist/bin/pushary-login.js +12 -12
  19. package/dist/bin/pushary-logout.js +10 -10
  20. package/dist/bin/pushary-mcp.js +9 -9
  21. package/dist/bin/pushary-mode.js +12 -12
  22. package/dist/bin/pushary-notification-hook.js +29 -30
  23. package/dist/bin/pushary-opencode-hook.js +28 -29
  24. package/dist/bin/pushary-permission-denied-hook.js +30 -31
  25. package/dist/bin/pushary-permission-hook.js +33 -34
  26. package/dist/bin/pushary-post-hook.js +30 -31
  27. package/dist/bin/pushary-prompt-hook.js +29 -30
  28. package/dist/bin/pushary-session-end-hook.js +29 -30
  29. package/dist/bin/pushary-session-start-hook.js +33 -35
  30. package/dist/bin/pushary-setup.js +132 -114
  31. package/dist/bin/pushary-stats.js +5 -5
  32. package/dist/bin/pushary-status.js +48 -18
  33. package/dist/bin/pushary-stop-hook.js +29 -30
  34. package/dist/bin/pushary-stopfailure-hook.js +29 -30
  35. package/dist/bin/pushary-suggestions.js +12 -12
  36. package/dist/bin/pushary-transcript-register.js +18 -19
  37. package/dist/bin/pushary-transcripts.js +7 -7
  38. package/dist/bin/pushary-upgrade.js +38 -44
  39. package/dist/bin/pushary-wait.js +12 -12
  40. package/dist/bin/pushary.js +6 -6
  41. package/dist/{chunk-CLOSJ4ES.js → chunk-462EQA6K.js} +1 -1
  42. package/dist/{chunk-7DVNSQWF.js → chunk-5DCDQ5VW.js} +1 -1
  43. package/dist/{chunk-TCQ43LSG.js → chunk-5N5L6DNN.js} +3 -3
  44. package/dist/{chunk-I5IJRMNV.js → chunk-5RGA636G.js} +21 -9
  45. package/dist/{chunk-MKTJEXZ3.js → chunk-6AYSKVLL.js} +3 -3
  46. package/dist/{chunk-MXHTGVFZ.js → chunk-6EBGOHDJ.js} +16 -20
  47. package/dist/{chunk-ZN3C6GBG.js → chunk-6W5M3MSE.js} +4 -4
  48. package/dist/{chunk-2A53H4S6.js → chunk-AI7RMFVV.js} +22 -21
  49. package/dist/{chunk-ZBK6E2OR.js → chunk-APP43AW7.js} +1 -1
  50. package/dist/{chunk-V5HPPF3E.js → chunk-AZOKPWVI.js} +1 -1
  51. package/dist/{chunk-IHO3YQAN.js → chunk-B5NMSP3V.js} +2 -2
  52. package/dist/{chunk-FQ2GORVG.js → chunk-BNSKVIAW.js} +2 -2
  53. package/dist/{chunk-2QGYMY7A.js → chunk-BYLKCZ2G.js} +142 -4
  54. package/dist/{chunk-MFF3ONG5.js → chunk-BZLHTMT6.js} +76 -8
  55. package/dist/{chunk-DPGSLWOS.js → chunk-COQ64C4F.js} +10 -10
  56. package/dist/{chunk-IAD2RT4L.js → chunk-DCCSULXK.js} +4 -4
  57. package/dist/{chunk-6TE27XZR.js → chunk-DP3WX7FW.js} +2 -2
  58. package/dist/chunk-E5HOHIUV.js +52 -0
  59. package/dist/{chunk-GU3EJCVV.js → chunk-EA5NWDK7.js} +4 -0
  60. package/dist/{chunk-BXET3ALR.js → chunk-EIAEUG7G.js} +2 -2
  61. package/dist/{chunk-I6MJXLMY.js → chunk-F7R3SZ4Q.js} +2 -2
  62. package/dist/{chunk-IHFDPV7C.js → chunk-G7RIDXAT.js} +1 -1
  63. package/dist/{chunk-HRULIYDU.js → chunk-H5T27W7M.js} +2 -2
  64. package/dist/{chunk-BEJRK4DF.js → chunk-HBWYMRR5.js} +4 -4
  65. package/dist/{chunk-ZSTSEBG7.js → chunk-IIVZZMSO.js} +1 -1
  66. package/dist/{chunk-5QUPKDI5.js → chunk-IRHABAQT.js} +1 -1
  67. package/dist/{chunk-7PT35RY2.js → chunk-K545B734.js} +2 -2
  68. package/dist/{chunk-DUZVXBBU.js → chunk-KOWFRUIT.js} +1 -1
  69. package/dist/{chunk-KRCR2CRQ.js → chunk-KQFTBQ66.js} +11 -11
  70. package/dist/{chunk-TCWKTUAE.js → chunk-LENBKYRB.js} +2 -2
  71. package/dist/{chunk-3I6IVOZV.js → chunk-M3STIAGU.js} +3 -3
  72. package/dist/{chunk-CD47ZFFZ.js → chunk-MD4SVNT6.js} +1 -1
  73. package/dist/{chunk-WG3K4TCH.js → chunk-MLGIVVSG.js} +1 -1
  74. package/dist/{chunk-MGRFDGWU.js → chunk-NGKUXZID.js} +2 -2
  75. package/dist/{chunk-KF3UZLYI.js → chunk-NUVGDBZC.js} +1 -1
  76. package/dist/{chunk-NWDG3MSW.js → chunk-OAYWO5NP.js} +1 -1
  77. package/dist/{chunk-2WXF3QJR.js → chunk-Q6C6ILUS.js} +2 -2
  78. package/dist/{chunk-2QTO5YIT.js → chunk-QIOIO7VN.js} +6 -6
  79. package/dist/{chunk-LWOO567I.js → chunk-QRXPWW3M.js} +3 -3
  80. package/dist/{chunk-B64KHETR.js → chunk-QTIUJZRX.js} +3 -3
  81. package/dist/{chunk-WWOHTTVP.js → chunk-R5RIVOPL.js} +2 -2
  82. package/dist/{chunk-N4QSPI3B.js → chunk-REU2VQPH.js} +2 -2
  83. package/dist/{chunk-WS4H76EP.js → chunk-RQ32ADJP.js} +2 -2
  84. package/dist/{chunk-LKLVTG3V.js → chunk-SZ4Q6ZVS.js} +5 -5
  85. package/dist/{chunk-QOLITCIP.js → chunk-T6ZN4TEF.js} +1 -1
  86. package/dist/{chunk-CKV3UPMU.js → chunk-TO3PS646.js} +2 -2
  87. package/dist/{chunk-KFF7G225.js → chunk-UAP5DS6P.js} +3 -3
  88. package/dist/{chunk-KHNFLYJO.js → chunk-UF6RBP5V.js} +4 -4
  89. package/dist/{chunk-DKMD6AWR.js → chunk-UPIZSCYD.js} +4 -4
  90. package/dist/{chunk-ZW3XZLJC.js → chunk-VHPFNLRS.js} +5 -5
  91. package/dist/{chunk-M6BZZFVQ.js → chunk-VIIHC42X.js} +1 -1
  92. package/dist/{chunk-2VZAALEJ.js → chunk-WRPYCIV2.js} +8 -8
  93. package/dist/{chunk-ZBHUHJG6.js → chunk-Z23ZBYDW.js} +6 -4
  94. package/dist/{chunk-DL7XWKYV.js → chunk-ZGADIZDS.js} +2 -2
  95. package/dist/{global-upgrade-I56HNM23.js → global-upgrade-H272QOGD.js} +6 -6
  96. package/dist/{paths-AGY43CXS.js → paths-HMVOTFUN.js} +2 -2
  97. package/dist/{reapply-IA5XUKWW.js → reapply-Q5NHDTVU.js} +22 -24
  98. package/dist/src/index.js +19 -19
  99. package/dist/{upgrade-lock-B34TAUKV.js → upgrade-lock-L3GHFIRW.js} +3 -3
  100. package/package.json +1 -1
  101. package/dist/chunk-3Z3A37WD.js +0 -77
  102. package/dist/chunk-OP7IHC2I.js +0 -24
  103. package/dist/chunk-YIG2R3BJ.js +0 -145
@@ -1,14 +1,36 @@
1
1
  import {
2
- guardedArgv
3
- } from "./chunk-ZBHUHJG6.js";
2
+ compatibleConfigFile
3
+ } from "./chunk-UF6RBP5V.js";
4
+ import {
5
+ hookOwnerOf,
6
+ hookOwnerOfCommands,
7
+ liveBridgeProbe,
8
+ resolveBridgeStub
9
+ } from "./chunk-BYLKCZ2G.js";
10
+ import {
11
+ claudeSettings,
12
+ codexHooksJson,
13
+ cursorUserHooks,
14
+ geminiSettings,
15
+ guardedArgv,
16
+ pusharyDir,
17
+ vscodePluginDir
18
+ } from "./chunk-Z23ZBYDW.js";
19
+ import {
20
+ readJsonSafe
21
+ } from "./chunk-T7E75EKA.js";
4
22
  import {
5
23
  HOOK_BUDGETS,
6
- OPENCODE_APPROVAL_EVENT
7
- } from "./chunk-I5IJRMNV.js";
24
+ HOOK_COMPATIBLE_PROFILES,
25
+ HOOK_LOCATOR_BINARY,
26
+ OPENCODE_APPROVAL_EVENT,
27
+ hookCompatibleProfile
28
+ } from "./chunk-5RGA636G.js";
8
29
 
9
30
  // src/opencode-plugin.ts
10
31
  var OPENCODE_PLUGIN_MARKER = "pushary-opencode-plugin w1";
11
32
  var OPENCODE_PLUGIN_PLACEHOLDER = "__PUSHARY_COMMAND__";
33
+ var OPENCODE_APPROVAL_EVENTS_PLACEHOLDER = "__PUSHARY_APPROVAL_EVENTS__";
12
34
  var OPENCODE_PLUGIN_FILE = "pushary.js";
13
35
  var OPENCODE_PLUGIN_DIR = "plugins";
14
36
  var OPENCODE_PLUGIN_SIBLING = "package.json";
@@ -262,7 +284,7 @@ export const PusharyPlugin = async ({ client, directory, worktree }) => {
262
284
  try {
263
285
  const type = event && event.type
264
286
  const properties = event && event.properties
265
- if (${JSON.stringify(OPENCODE_ASKED_EVENTS)}.includes(type)) {
287
+ if (${OPENCODE_APPROVAL_EVENTS_PLACEHOLDER}.includes(type)) {
266
288
  const asked = askedFrom(properties)
267
289
  if (asked) void gate(asked)
268
290
  return
@@ -295,12 +317,16 @@ var openCodePluginModule = () => ({
295
317
  marker: OPENCODE_PLUGIN_MARKER,
296
318
  source: openCodePluginSource(),
297
319
  placeholder: OPENCODE_PLUGIN_PLACEHOLDER,
320
+ approvalEvents: {
321
+ placeholder: OPENCODE_APPROVAL_EVENTS_PLACEHOLDER,
322
+ events: OPENCODE_ASKED_EVENTS
323
+ },
298
324
  sibling: {
299
325
  path: OPENCODE_PLUGIN_SIBLING,
300
326
  contents: OPENCODE_PLUGIN_SIBLING_CONTENTS
301
327
  }
302
328
  });
303
- var renderOpenCodePlugin = (module, argv) => module.source.replace(module.placeholder, JSON.stringify(argv));
329
+ var renderOpenCodePlugin = (module, argv, holdsApprovals = true) => module.source.replace(module.placeholder, JSON.stringify(argv)).replace(module.approvalEvents.placeholder, JSON.stringify(holdsApprovals ? module.approvalEvents.events : []));
304
330
  var COMMAND_LINE = /^const COMMAND = (.*)$/m;
305
331
  var isArgv = (value) => Array.isArray(value) && value.every((item) => typeof item === "string");
306
332
  var openCodePluginArgv = (contents) => {
@@ -375,11 +401,50 @@ var removeOpenCodeMcpServer = (config) => {
375
401
  return true;
376
402
  };
377
403
 
404
+ // src/setup/agent-hook-owner.ts
405
+ import { readFileSync as readFileSync2 } from "fs";
406
+ import { join as join2 } from "path";
407
+ var COMPATIBLE_HOOK_FILES = Object.fromEntries(
408
+ HOOK_COMPATIBLE_PROFILES.map((profile) => [profile.agentType, () => compatibleConfigFile(profile)])
409
+ );
410
+ var HOOK_FILES = {
411
+ claude_code: claudeSettings,
412
+ codex: codexHooksJson,
413
+ gemini_cli: geminiSettings,
414
+ cursor: cursorUserHooks,
415
+ vscode: () => join2(vscodePluginDir(), "hooks", "hooks.json"),
416
+ ...COMPATIBLE_HOOK_FILES
417
+ };
418
+ var agentHookFile = (agent) => HOOK_FILES[agent]?.() ?? null;
419
+ var readTextOrNull = (path) => {
420
+ try {
421
+ return readFileSync2(path, "utf-8");
422
+ } catch {
423
+ return null;
424
+ }
425
+ };
426
+ var openCodePluginOwner = (appAvailable) => {
427
+ const contents = readTextOrNull(openCodePluginFile());
428
+ return hookOwnerOfCommands(contents === null ? [] : openCodePluginArgv(contents) ?? [], appAvailable);
429
+ };
430
+ var agentHookOwner = (agent, appAvailable) => {
431
+ if (agent === "opencode") return openCodePluginOwner(appAvailable);
432
+ const file = agentHookFile(agent);
433
+ if (!file) return "none";
434
+ const document = readJsonSafe(file);
435
+ const profile = hookCompatibleProfile(agent);
436
+ return hookOwnerOf(
437
+ document.kind === "ok" ? document.value : null,
438
+ appAvailable,
439
+ profile ? profile.hooksKeyPath : void 0
440
+ );
441
+ };
442
+ var macAppBridgeAvailable = () => resolveBridgeStub(join2(pusharyDir(), "bin", HOOK_LOCATOR_BINARY), liveBridgeProbe()).kind === "bundle";
443
+
378
444
  export {
379
445
  OPENCODE_PLUGIN_PLACEHOLDER,
380
446
  OPENCODE_PLUGIN_SIBLING,
381
447
  OPENCODE_PLUGIN_SIBLING_CONTENTS,
382
- openCodePluginArgv,
383
448
  isOpenCodePluginOurs,
384
449
  OPENCODE_HOOK_BINARY,
385
450
  openCodeHookArgv,
@@ -393,5 +458,8 @@ export {
393
458
  openCodeConfigFile,
394
459
  openCodeInstructionsFile,
395
460
  addOpenCodeMcpServer,
396
- removeOpenCodeMcpServer
461
+ removeOpenCodeMcpServer,
462
+ agentHookFile,
463
+ agentHookOwner,
464
+ macAppBridgeAvailable
397
465
  };
@@ -4,40 +4,40 @@ import {
4
4
  savePin,
5
5
  verifyRecipients
6
6
  } from "./chunk-SGZJ5LYH.js";
7
- import {
8
- hookOwnerOf
9
- } from "./chunk-YIG2R3BJ.js";
10
7
  import {
11
8
  ensureDaemonRunning
12
- } from "./chunk-LKLVTG3V.js";
9
+ } from "./chunk-SZ4Q6ZVS.js";
13
10
  import {
14
11
  buildTranscriptRecords,
15
12
  decodePublicKey,
16
13
  generateSessionKey,
17
14
  wrapSessionKey
18
- } from "./chunk-ZBK6E2OR.js";
15
+ } from "./chunk-APP43AW7.js";
19
16
  import {
20
17
  fetchTranscriptRecipients,
21
18
  uploadTranscriptRecords
22
- } from "./chunk-CLOSJ4ES.js";
19
+ } from "./chunk-462EQA6K.js";
23
20
  import {
24
21
  transcriptEnvironmentPreference,
25
22
  transcriptsEnabled
26
- } from "./chunk-M6BZZFVQ.js";
23
+ } from "./chunk-VIIHC42X.js";
24
+ import {
25
+ hookOwnerOf
26
+ } from "./chunk-BYLKCZ2G.js";
27
27
  import {
28
28
  readTranscriptPreference
29
- } from "./chunk-N4QSPI3B.js";
29
+ } from "./chunk-REU2VQPH.js";
30
30
  import {
31
31
  codexHome,
32
32
  pusharyDir
33
- } from "./chunk-ZBHUHJG6.js";
33
+ } from "./chunk-Z23ZBYDW.js";
34
34
  import {
35
35
  writeJsonAtomic
36
36
  } from "./chunk-T7E75EKA.js";
37
37
  import {
38
38
  getApiKey,
39
39
  getBaseUrl
40
- } from "./chunk-5QUPKDI5.js";
40
+ } from "./chunk-IRHABAQT.js";
41
41
 
42
42
  // src/transcript-registration.ts
43
43
  import { createHash } from "crypto";
@@ -14,19 +14,19 @@ import {
14
14
  } from "./chunk-U4TMAANR.js";
15
15
  import {
16
16
  callMcpTool
17
- } from "./chunk-MKTJEXZ3.js";
17
+ } from "./chunk-6AYSKVLL.js";
18
18
  import {
19
19
  reportedInstallSource
20
- } from "./chunk-FQ2GORVG.js";
20
+ } from "./chunk-BNSKVIAW.js";
21
21
  import {
22
22
  NPX_LATEST_COMMAND
23
- } from "./chunk-7DVNSQWF.js";
23
+ } from "./chunk-5DCDQ5VW.js";
24
24
  import {
25
25
  NO_PAIRING_COMPUTER,
26
26
  PAIR_TTL_SECONDS,
27
27
  classifyConfirmResponse,
28
28
  isAnswerSource
29
- } from "./chunk-I5IJRMNV.js";
29
+ } from "./chunk-5RGA636G.js";
30
30
 
31
31
  // src/reach.ts
32
32
  var reachVerdict = (channels) => {
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  CODEX_HOOK_STATUS
3
- } from "./chunk-MGRFDGWU.js";
3
+ } from "./chunk-NGKUXZID.js";
4
4
  import {
5
5
  NPX_LATEST_COMMAND
6
- } from "./chunk-7DVNSQWF.js";
6
+ } from "./chunk-5DCDQ5VW.js";
7
7
 
8
8
  // src/setup/codex-trust.ts
9
9
  var CODEX_TRUST_TELEMETRY = {
@@ -0,0 +1,52 @@
1
+ import {
2
+ macAppBridgeAvailable
3
+ } from "./chunk-BZLHTMT6.js";
4
+ import {
5
+ keyPrefix
6
+ } from "./chunk-REU2VQPH.js";
7
+ import {
8
+ bridgeAgentKey
9
+ } from "./chunk-Z23ZBYDW.js";
10
+ import {
11
+ readJsonSafe
12
+ } from "./chunk-T7E75EKA.js";
13
+ import {
14
+ isValidApiKey
15
+ } from "./chunk-5RGA636G.js";
16
+
17
+ // src/shared-mcp-key.ts
18
+ var asRecord = (value) => value !== null && typeof value === "object" && !Array.isArray(value) ? value : void 0;
19
+ var pusharyKey = (value) => typeof value === "string" && isValidApiKey(value.trim()) ? value.trim() : null;
20
+ var bearerKey = (authorization) => typeof authorization === "string" && authorization.startsWith("Bearer ") ? pusharyKey(authorization.slice("Bearer ".length)) : null;
21
+ var mcpServerBearer = (mcpServers) => bearerKey(asRecord(asRecord(asRecord(mcpServers)?.pushary)?.headers)?.Authorization);
22
+ var appAgentKey = (bridgeAgentKey2) => pusharyKey(asRecord(bridgeAgentKey2)?.key);
23
+ var setupReceiptKey = (claudeMcpReceipt) => bearerKey(asRecord(asRecord(asRecord(claudeMcpReceipt)?.installedPushary)?.headers)?.Authorization);
24
+ var macAppKeepsMcpEntry = (entryKey, keys) => {
25
+ if (!entryKey) return true;
26
+ if (keys.appKey) return entryKey === keys.appKey;
27
+ return entryKey !== keys.setupKey;
28
+ };
29
+
30
+ // src/mac-app-key.ts
31
+ var NOT_CONNECTED = { kind: "not_connected" };
32
+ var CONNECTED_THROUGH_MAC_APP = "This computer is connected through the Pushary Mac app";
33
+ var PAIR_FROM_MAC_APP = "Pair a phone from the Pushary Mac app: Settings > Phone > Pair.";
34
+ var readMacAppAgentKey = () => {
35
+ const stored = readJsonSafe(bridgeAgentKey());
36
+ return stored.kind === "ok" ? appAgentKey(stored.value) : null;
37
+ };
38
+ var macAppConnectionOf = (appKey, appInstalled) => appKey !== null && appInstalled() ? { kind: "connected", keyPrefix: keyPrefix(appKey) } : NOT_CONNECTED;
39
+ var readMacAppConnection = () => macAppConnectionOf(readMacAppAgentKey(), macAppBridgeAvailable);
40
+ var readMacAppConnectionWhenKeyless = (cliKey) => cliKey ? NOT_CONNECTED : readMacAppConnection();
41
+
42
+ export {
43
+ pusharyKey,
44
+ mcpServerBearer,
45
+ setupReceiptKey,
46
+ macAppKeepsMcpEntry,
47
+ CONNECTED_THROUGH_MAC_APP,
48
+ PAIR_FROM_MAC_APP,
49
+ readMacAppAgentKey,
50
+ readMacAppConnection,
51
+ readMacAppConnectionWhenKeyless
52
+ };
@@ -1,3 +1,6 @@
1
+ // src/hooks-spec.ts
2
+ var CURSOR_GATE_SCRIPT = "pushary-gate.mjs";
3
+
1
4
  // src/diagnostics/service-runtime.ts
2
5
  var unescapeXml = (value) => value.replaceAll("&quot;", '"').replaceAll("&apos;", "'").replaceAll("&lt;", "<").replaceAll("&gt;", ">").replaceAll("&amp;", "&");
3
6
  var unquoteSystemd = (value) => value.replaceAll('\\"', '"').replaceAll("\\\\", "\\").replaceAll("%%", "%");
@@ -37,6 +40,7 @@ var versionManagerOf = (execPath) => {
37
40
  var describeVersionManagerPin = (execPath, manager) => `The background service is pinned to ${execPath}, which ${manager} manages. Switching Node versions strands it; run pushary daemon install afterwards.`;
38
41
 
39
42
  export {
43
+ CURSOR_GATE_SCRIPT,
40
44
  readServiceExecPath,
41
45
  versionManagerOf,
42
46
  describeVersionManagerPin
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  pusharyDir
3
- } from "./chunk-ZBHUHJG6.js";
3
+ } from "./chunk-Z23ZBYDW.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-I5IJRMNV.js";
16
+ } from "./chunk-5RGA636G.js";
17
17
 
18
18
  // src/declined-agents-file.ts
19
19
  import { join } from "path";
@@ -10,10 +10,10 @@ import {
10
10
  resolvePackageVersionFromBinary,
11
11
  resolvePathBinary,
12
12
  resolvePathBinaryAsync
13
- } from "./chunk-ZBHUHJG6.js";
13
+ } from "./chunk-Z23ZBYDW.js";
14
14
  import {
15
15
  MANAGED_PROVIDERS
16
- } from "./chunk-I5IJRMNV.js";
16
+ } from "./chunk-5RGA636G.js";
17
17
 
18
18
  // src/setup/codex-install.ts
19
19
  var NATIVE_BINARY_MIN_BYTES = 20 * 1024 * 1024;
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  readConfigFileKey
3
- } from "./chunk-N4QSPI3B.js";
3
+ } from "./chunk-REU2VQPH.js";
4
4
 
5
5
  // src/bell/fleet.ts
6
6
  import { closeSync, constants, futimesSync, lstatSync, mkdirSync, openSync, readdirSync, unlinkSync } from "fs";
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  parseSseMessages
3
- } from "./chunk-MKTJEXZ3.js";
3
+ } from "./chunk-6AYSKVLL.js";
4
4
  import {
5
5
  NPX_LATEST_COMMAND
6
- } from "./chunk-7DVNSQWF.js";
6
+ } from "./chunk-5DCDQ5VW.js";
7
7
 
8
8
  // src/mcp-stdio-bridge.ts
9
9
  var MCP_BRIDGE_BINARY = "pushary-mcp";
@@ -2,25 +2,25 @@ import {
2
2
  SIGNED_OUT_ON_MAC_MESSAGE,
3
3
  describeSignedOutKey,
4
4
  readSignedOutDiagnosis
5
- } from "./chunk-2WXF3QJR.js";
5
+ } from "./chunk-Q6C6ILUS.js";
6
6
  import {
7
7
  createIo
8
8
  } from "./chunk-U4TMAANR.js";
9
9
  import {
10
10
  readKeySource
11
- } from "./chunk-N4QSPI3B.js";
11
+ } from "./chunk-REU2VQPH.js";
12
12
  import {
13
13
  absoluteUrl,
14
14
  checkApiKey,
15
15
  describeKeyCheck,
16
16
  keyCheckFromResponse
17
- } from "./chunk-LWOO567I.js";
17
+ } from "./chunk-QRXPWW3M.js";
18
18
  import {
19
19
  EXIT
20
20
  } from "./chunk-KZERVKTD.js";
21
21
  import {
22
22
  getBaseUrl
23
- } from "./chunk-5QUPKDI5.js";
23
+ } from "./chunk-IRHABAQT.js";
24
24
 
25
25
  // src/cli/report-key.ts
26
26
  var { dim, yellow } = createIo();
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  isSafeReadOnlyCommand
3
- } from "./chunk-I5IJRMNV.js";
3
+ } from "./chunk-5RGA636G.js";
4
4
 
5
5
  // src/ledger.ts
6
6
  import { appendFileSync, existsSync, mkdirSync, readFileSync, renameSync, rmSync, statSync } from "fs";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  NPX_LATEST_COMMAND
3
- } from "./chunk-7DVNSQWF.js";
3
+ } from "./chunk-5DCDQ5VW.js";
4
4
 
5
5
  // src/config.ts
6
6
  import { readFileSync } from "fs";
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-POFBE6ZY.js";
4
4
  import {
5
5
  autoUpdateState
6
- } from "./chunk-ZBHUHJG6.js";
6
+ } from "./chunk-Z23ZBYDW.js";
7
7
  import {
8
8
  readJsonSafe,
9
9
  writeJsonAtomic
@@ -14,7 +14,7 @@ import {
14
14
  cliPackagePathSegments,
15
15
  globalUpgradeEntry,
16
16
  ownPackageRoot
17
- } from "./chunk-I5IJRMNV.js";
17
+ } from "./chunk-5RGA636G.js";
18
18
 
19
19
  // src/auto-update.ts
20
20
  import { spawn } from "child_process";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  pusharyDir
3
- } from "./chunk-ZBHUHJG6.js";
3
+ } from "./chunk-Z23ZBYDW.js";
4
4
  import {
5
5
  writeFileAtomic
6
6
  } from "./chunk-T7E75EKA.js";
@@ -14,36 +14,36 @@ import {
14
14
  IDLE_PROMPT_NOTIFICATION,
15
15
  NOTIFICATION_PUSH_TYPES,
16
16
  POSTTOOLUSE_MIRROR_ONLY_TOOLS
17
- } from "./chunk-CD47ZFFZ.js";
17
+ } from "./chunk-MD4SVNT6.js";
18
18
  import {
19
19
  cancelQuestion,
20
20
  isPolicyConfig,
21
21
  sendNotification,
22
22
  waitForAnswer
23
- } from "./chunk-2VZAALEJ.js";
23
+ } from "./chunk-WRPYCIV2.js";
24
+ import {
25
+ withRetry
26
+ } from "./chunk-6AYSKVLL.js";
24
27
  import {
25
28
  clientErrorKindOf,
26
29
  reportClientError
27
- } from "./chunk-DKMD6AWR.js";
28
- import {
29
- withRetry
30
- } from "./chunk-MKTJEXZ3.js";
30
+ } from "./chunk-UPIZSCYD.js";
31
31
  import {
32
32
  getMachineId
33
- } from "./chunk-DUZVXBBU.js";
33
+ } from "./chunk-KOWFRUIT.js";
34
34
  import {
35
35
  reportedInstallSource
36
- } from "./chunk-FQ2GORVG.js";
36
+ } from "./chunk-BNSKVIAW.js";
37
37
  import {
38
38
  canonicalJson
39
- } from "./chunk-ZBHUHJG6.js";
39
+ } from "./chunk-Z23ZBYDW.js";
40
40
  import {
41
41
  writeFileAtomic
42
42
  } from "./chunk-T7E75EKA.js";
43
43
  import {
44
44
  getApiKey,
45
45
  getBaseUrl
46
- } from "./chunk-5QUPKDI5.js";
46
+ } from "./chunk-IRHABAQT.js";
47
47
  import {
48
48
  ACTION_BODY_MAX,
49
49
  AGENT_LABELS_BY_TYPE,
@@ -70,7 +70,7 @@ import {
70
70
  resolvePolicy,
71
71
  toToolLookup,
72
72
  truncateLine
73
- } from "./chunk-I5IJRMNV.js";
73
+ } from "./chunk-5RGA636G.js";
74
74
 
75
75
  // src/policy.ts
76
76
  import { createHash } from "crypto";
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  pusharyHookExecutable
3
- } from "./chunk-2QGYMY7A.js";
3
+ } from "./chunk-BYLKCZ2G.js";
4
4
  import {
5
5
  isProtectedByScope,
6
6
  registerHookEntry
7
- } from "./chunk-ZBHUHJG6.js";
7
+ } from "./chunk-Z23ZBYDW.js";
8
8
 
9
9
  // src/cursor-config.ts
10
10
  var hookCommandOf = (entry) => {
@@ -5,16 +5,16 @@ import {
5
5
  import {
6
6
  NOTIFICATION_MATCHED_TYPES,
7
7
  POSTTOOLUSE_MIRRORED_TOOLS
8
- } from "./chunk-CD47ZFFZ.js";
8
+ } from "./chunk-MD4SVNT6.js";
9
9
  import {
10
10
  isProtectedByScope,
11
11
  registerHookEntry
12
- } from "./chunk-ZBHUHJG6.js";
12
+ } from "./chunk-Z23ZBYDW.js";
13
13
  import {
14
14
  CLAUDE_PRETOOLUSE_MATCHER,
15
15
  HOOK_BUDGETS,
16
16
  HOOK_LOCATOR_BINARY
17
- } from "./chunk-I5IJRMNV.js";
17
+ } from "./chunk-5RGA636G.js";
18
18
 
19
19
  // src/gemini-config.ts
20
20
  var GEMINI_HOOK_BINARY = "pushary-gemini-hook";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  PRETOOLUSE_GATED_TOOLS
3
- } from "./chunk-I5IJRMNV.js";
3
+ } from "./chunk-5RGA636G.js";
4
4
 
5
5
  // src/claude-tools.ts
6
6
  var POSTTOOLUSE_MIRROR_ONLY_TOOLS = ["TodoWrite", "Task", "WebFetch", "WebSearch"];
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  guardBinary
3
- } from "./chunk-ZBHUHJG6.js";
3
+ } from "./chunk-Z23ZBYDW.js";
4
4
 
5
5
  // src/bell/install.ts
6
6
  import { join } from "path";
@@ -8,10 +8,10 @@ import {
8
8
  codexHooksJsonIn,
9
9
  isPusharyCodexCommand,
10
10
  resolvePathBinary
11
- } from "./chunk-ZBHUHJG6.js";
11
+ } from "./chunk-Z23ZBYDW.js";
12
12
  import {
13
13
  getPackageVersion
14
- } from "./chunk-I5IJRMNV.js";
14
+ } from "./chunk-5RGA636G.js";
15
15
 
16
16
  // src/codex-app-server.ts
17
17
  import { existsSync, realpathSync } from "fs";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  pusharyDir
3
- } from "./chunk-ZBHUHJG6.js";
3
+ } from "./chunk-Z23ZBYDW.js";
4
4
  import {
5
5
  readJsonSafe
6
6
  } from "./chunk-T7E75EKA.js";
@@ -9,7 +9,7 @@ import {
9
9
  } from "./chunk-3EGEA4KH.js";
10
10
  import {
11
11
  getBaseUrl
12
- } from "./chunk-5QUPKDI5.js";
12
+ } from "./chunk-IRHABAQT.js";
13
13
 
14
14
  // src/cli/login-ui.ts
15
15
  import { hostname } from "os";
@@ -3,10 +3,10 @@ import {
3
3
  keyPrefix,
4
4
  readConfigFileKey,
5
5
  readMacAppKeyPrefix
6
- } from "./chunk-N4QSPI3B.js";
6
+ } from "./chunk-REU2VQPH.js";
7
7
  import {
8
8
  NPX_LATEST_COMMAND
9
- } from "./chunk-7DVNSQWF.js";
9
+ } from "./chunk-5DCDQ5VW.js";
10
10
 
11
11
  // src/key-signed-out.ts
12
12
  var VERDICT_BY_CHECK = {
@@ -3,27 +3,27 @@ import {
3
3
  expectedLaunchCapabilities,
4
4
  hasSpawnProvider,
5
5
  resolveControlPolicy
6
- } from "./chunk-I6MJXLMY.js";
6
+ } from "./chunk-F7R3SZ4Q.js";
7
7
  import {
8
8
  daemonHasRemoteProof,
9
9
  daemonServiceManagerAvailable,
10
10
  hasDaemonServiceDefinition,
11
11
  readDaemonNeedsLogin,
12
12
  readDaemonStatus
13
- } from "./chunk-LKLVTG3V.js";
13
+ } from "./chunk-SZ4Q6ZVS.js";
14
14
  import {
15
15
  readControlMode,
16
16
  readKeySource
17
- } from "./chunk-N4QSPI3B.js";
17
+ } from "./chunk-REU2VQPH.js";
18
18
  import {
19
19
  getMachineId
20
- } from "./chunk-DUZVXBBU.js";
20
+ } from "./chunk-KOWFRUIT.js";
21
21
  import {
22
22
  getBaseUrl
23
- } from "./chunk-5QUPKDI5.js";
23
+ } from "./chunk-IRHABAQT.js";
24
24
  import {
25
25
  getPackageVersion
26
- } from "./chunk-I5IJRMNV.js";
26
+ } from "./chunk-5RGA636G.js";
27
27
 
28
28
  // src/machines.ts
29
29
  import { hostname } from "os";
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  pusharyFetch
3
- } from "./chunk-TCQ43LSG.js";
3
+ } from "./chunk-5N5L6DNN.js";
4
4
  import {
5
5
  NetworkError
6
6
  } from "./chunk-7QLSKOSU.js";
@@ -9,11 +9,11 @@ import {
9
9
  } from "./chunk-KZERVKTD.js";
10
10
  import {
11
11
  getBaseUrl
12
- } from "./chunk-5QUPKDI5.js";
12
+ } from "./chunk-IRHABAQT.js";
13
13
  import {
14
14
  isValidApiKey,
15
15
  normalizeKeyScope
16
- } from "./chunk-I5IJRMNV.js";
16
+ } from "./chunk-5RGA636G.js";
17
17
 
18
18
  // src/session.ts
19
19
  var samePusharyAccount = (left, right) => left.kind === "ok" && right.kind === "ok" && left.identity.workspaceId !== "" && left.identity.workspaceId === right.identity.workspaceId && left.identity.siteId === right.identity.siteId;
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  SETUP_FLAGS
3
- } from "./chunk-DL7XWKYV.js";
3
+ } from "./chunk-ZGADIZDS.js";
4
4
  import {
5
5
  parseFlags
6
6
  } from "./chunk-GMXKITVA.js";
@@ -9,7 +9,7 @@ import {
9
9
  } from "./chunk-7QLSKOSU.js";
10
10
  import {
11
11
  NPX_LATEST_COMMAND
12
- } from "./chunk-7DVNSQWF.js";
12
+ } from "./chunk-5DCDQ5VW.js";
13
13
  import {
14
14
  CLAUDE_CONNECTOR_GUIDE,
15
15
  CLAUDE_CONNECTOR_STEPS,
@@ -17,7 +17,7 @@ import {
17
17
  CLAUDE_CONNECTOR_URL,
18
18
  COWORK_CONNECTOR_LIMIT,
19
19
  COWORK_STANDING_INSTRUCTIONS
20
- } from "./chunk-I5IJRMNV.js";
20
+ } from "./chunk-5RGA636G.js";
21
21
 
22
22
  // src/cli/cowork.ts
23
23
  import { readFileSync } from "fs";
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  registerTranscript
3
- } from "./chunk-DPGSLWOS.js";
3
+ } from "./chunk-COQ64C4F.js";
4
4
  import {
5
5
  writeDegraded
6
- } from "./chunk-DKMD6AWR.js";
6
+ } from "./chunk-UPIZSCYD.js";
7
7
 
8
8
  // src/tool-hook-input.ts
9
9
  var OPTIONAL_TEXT_FIELDS = ["hook_event_name", "session_id", "cwd", "transcript_path", "tool_use_id", "permission_mode"];