@pushary/agent-hooks 1.9.73 → 1.9.76

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 (127) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/dist/{api-JVWXPKEW.js → api-YDCHRRA4.js} +10 -10
  3. package/dist/bin/pushary-bell-hook.js +27 -25
  4. package/dist/bin/pushary-bell.js +14 -14
  5. package/dist/bin/pushary-claude.js +55 -82
  6. package/dist/bin/pushary-clean.js +37 -37
  7. package/dist/bin/pushary-codex-bridge.js +24 -24
  8. package/dist/bin/pushary-codex-hook.js +36 -34
  9. package/dist/bin/pushary-codex-session.js +8 -8
  10. package/dist/bin/pushary-codex.js +15 -15
  11. package/dist/bin/pushary-connect.js +26 -26
  12. package/dist/bin/pushary-cowork.js +5 -5
  13. package/dist/bin/pushary-daemon.js +1293 -63
  14. package/dist/bin/pushary-disconnect.js +31 -31
  15. package/dist/bin/pushary-display-hook.d.ts +1 -0
  16. package/dist/bin/pushary-display-hook.js +58 -0
  17. package/dist/bin/pushary-doctor.js +50 -50
  18. package/dist/bin/pushary-elicitation-hook.js +29 -27
  19. package/dist/bin/pushary-gemini-bridge.js +16 -16
  20. package/dist/bin/pushary-gemini-hook.js +31 -29
  21. package/dist/bin/pushary-hook.js +31 -29
  22. package/dist/bin/pushary-login.js +20 -20
  23. package/dist/bin/pushary-logout.js +30 -30
  24. package/dist/bin/pushary-mcp.js +14 -14
  25. package/dist/bin/pushary-mode.js +18 -18
  26. package/dist/bin/pushary-notification-hook.js +26 -24
  27. package/dist/bin/pushary-opencode-hook.js +30 -28
  28. package/dist/bin/pushary-permission-denied-hook.js +31 -29
  29. package/dist/bin/pushary-permission-hook.js +31 -29
  30. package/dist/bin/pushary-post-hook.js +32 -29
  31. package/dist/bin/pushary-prompt-hook.js +32 -29
  32. package/dist/bin/pushary-session-end-hook.js +28 -26
  33. package/dist/bin/pushary-session-start-hook.js +36 -34
  34. package/dist/bin/pushary-setup.js +66 -282
  35. package/dist/bin/pushary-stats.js +6 -6
  36. package/dist/bin/pushary-status.js +31 -31
  37. package/dist/bin/pushary-stop-hook.js +32 -26
  38. package/dist/bin/pushary-stopfailure-hook.js +26 -24
  39. package/dist/bin/pushary-suggestions.js +18 -18
  40. package/dist/bin/pushary-transcript-register.js +18 -16
  41. package/dist/bin/pushary-transcripts.js +20 -20
  42. package/dist/bin/pushary-upgrade.js +45 -45
  43. package/dist/bin/pushary-wait.js +18 -18
  44. package/dist/bin/pushary.js +7 -7
  45. package/dist/{chunk-F3WI32HG.js → chunk-2BK2EQOB.js} +7 -7
  46. package/dist/{chunk-ZBZBYUNZ.js → chunk-2QFYEB3P.js} +5 -5
  47. package/dist/{chunk-UIF7HWHX.js → chunk-3YU6NIIL.js} +4 -4
  48. package/dist/{chunk-L2FQBHIR.js → chunk-47TIRGS5.js} +2 -2
  49. package/dist/{chunk-AXZ67XVN.js → chunk-4LX5QUFV.js} +1 -1
  50. package/dist/{chunk-YZ6DMGZZ.js → chunk-57MQNSM5.js} +1 -1
  51. package/dist/{chunk-BLX6KRK5.js → chunk-5FV472Q2.js} +1 -1
  52. package/dist/{chunk-VBSPP4QY.js → chunk-5KPMDLXB.js} +3 -3
  53. package/dist/{chunk-S63VIM7E.js → chunk-5M5F4IWR.js} +2 -2
  54. package/dist/{chunk-7FROPPIH.js → chunk-5NW7VM35.js} +2 -2
  55. package/dist/{chunk-EITOMPFB.js → chunk-74ONBRPF.js} +4 -4
  56. package/dist/{chunk-7S46LCKD.js → chunk-7KYQ24FI.js} +3 -2
  57. package/dist/{chunk-NGNBX3YH.js → chunk-7LLC4R66.js} +4 -4
  58. package/dist/{chunk-AC5TVOAH.js → chunk-7SFP6Y5U.js} +373 -93
  59. package/dist/{chunk-CMYFV3VC.js → chunk-7ZOWQBHQ.js} +5 -5
  60. package/dist/{chunk-2QB7HJVJ.js → chunk-B2PFCS72.js} +2 -2
  61. package/dist/{chunk-UUCRWEEU.js → chunk-BUR2LYQI.js} +2 -2
  62. package/dist/{chunk-W47XZJSH.js → chunk-C2AR7QXU.js} +2 -2
  63. package/dist/{chunk-FK3JSDH5.js → chunk-CHIOUBPB.js} +13 -13
  64. package/dist/{chunk-TTGBS5JB.js → chunk-CMNB4IZO.js} +3 -3
  65. package/dist/{chunk-4UIR25GA.js → chunk-CUD6SYDG.js} +1 -1
  66. package/dist/{chunk-WJJVCDEU.js → chunk-DB3NOEDW.js} +6 -6
  67. package/dist/{chunk-PGJMSREY.js → chunk-DZF2M3LM.js} +8 -8
  68. package/dist/{chunk-2NG3ANMT.js → chunk-E2VJ7B7D.js} +9 -9
  69. package/dist/{chunk-S7VMHSJW.js → chunk-E7U4YM4A.js} +5 -5
  70. package/dist/{chunk-XKQ7CQGG.js → chunk-F7R7M5MG.js} +1 -1
  71. package/dist/{chunk-FAKEKFCI.js → chunk-FAGQAR6I.js} +5 -3
  72. package/dist/{chunk-3JJI5O5N.js → chunk-GII565PB.js} +1 -1
  73. package/dist/{chunk-WXV7J3DG.js → chunk-GJVV2EUC.js} +3 -3
  74. package/dist/{chunk-Z7AIYWZ2.js → chunk-IRLHN5UP.js} +236 -20
  75. package/dist/{chunk-NJSW2REO.js → chunk-IRN6JLSM.js} +4 -4
  76. package/dist/{chunk-JC7XUZST.js → chunk-ITLWEGLE.js} +31 -5
  77. package/dist/{chunk-7M4AA7QF.js → chunk-JNV5LOZH.js} +4 -4
  78. package/dist/{chunk-IN3MPEFA.js → chunk-JZ5KV2FK.js} +5 -5
  79. package/dist/{chunk-QAWWTRDD.js → chunk-KGWLDNNT.js} +4 -4
  80. package/dist/{chunk-O4EAMVSC.js → chunk-KWGOKO4E.js} +5 -5
  81. package/dist/{chunk-KDQLKND5.js → chunk-M5VJ3HXB.js} +6 -6
  82. package/dist/{chunk-R5PZPROX.js → chunk-M7JFGDGP.js} +1 -1
  83. package/dist/{chunk-N4VRSFRZ.js → chunk-MAWC4PJV.js} +5 -5
  84. package/dist/chunk-MHUKYYYR.js +239 -0
  85. package/dist/{chunk-56GK65Z6.js → chunk-MMVIKXCP.js} +3 -3
  86. package/dist/{chunk-CGWUVEOB.js → chunk-MTRZQR2R.js} +3 -3
  87. package/dist/{chunk-JYOR57ZW.js → chunk-NFUV25JZ.js} +3 -3
  88. package/dist/{chunk-EUHTC7K5.js → chunk-NJTAUEW6.js} +1 -1
  89. package/dist/{chunk-2JFEMKDG.js → chunk-NQA56AMZ.js} +6 -6
  90. package/dist/{chunk-AJWGZJFS.js → chunk-NVLKH5FS.js} +131 -28
  91. package/dist/{chunk-2HFC4W6J.js → chunk-PPD64MZW.js} +4 -3
  92. package/dist/{chunk-3RAWW5DH.js → chunk-QUGP76DQ.js} +6 -6
  93. package/dist/{chunk-PPKIL4EL.js → chunk-R3HXGHRQ.js} +1 -1
  94. package/dist/{chunk-3QBKMSOZ.js → chunk-S7C5NY4R.js} +1 -1
  95. package/dist/{chunk-EUEGCEA7.js → chunk-SWRNJ3BP.js} +3 -3
  96. package/dist/{chunk-RZVWEDIS.js → chunk-T2EJ3H6Y.js} +3 -3
  97. package/dist/{chunk-DT6VCMXS.js → chunk-TFYFQM5C.js} +2 -2
  98. package/dist/{chunk-GBR6E7AY.js → chunk-UEY4SHY2.js} +1 -1
  99. package/dist/{chunk-TFDMJHAB.js → chunk-UMBVIFP5.js} +1 -1
  100. package/dist/{chunk-TQ2L3ECX.js → chunk-USMUW3LI.js} +2 -2
  101. package/dist/{chunk-VJUDBZGC.js → chunk-USZJJWZL.js} +2 -2
  102. package/dist/{chunk-4LAD5A2Q.js → chunk-VELPOV2F.js} +4 -4
  103. package/dist/{chunk-JNTYPMVU.js → chunk-VZSSL6US.js} +10 -10
  104. package/dist/{chunk-KSLBS3II.js → chunk-W5AUTVVL.js} +6 -5
  105. package/dist/{chunk-OJ3ZD5VX.js → chunk-WK2L3XVQ.js} +1 -1
  106. package/dist/{chunk-PM2MHBMF.js → chunk-WLHHDDVA.js} +9 -4
  107. package/dist/{chunk-U3EBM73X.js → chunk-WRCM4XGY.js} +2 -2
  108. package/dist/{chunk-SQ5XCMPB.js → chunk-XJ5DYPTM.js} +4 -4
  109. package/dist/{chunk-PNXNWZ5P.js → chunk-XLGD5LDG.js} +3 -3
  110. package/dist/{chunk-7RX5TOU3.js → chunk-Y2CYSVWU.js} +6 -6
  111. package/dist/{chunk-AVHL2ZTS.js → chunk-Y4OBAK4I.js} +459 -172
  112. package/dist/{chunk-JWBZUTYF.js → chunk-YDPGBBV7.js} +5 -5
  113. package/dist/{chunk-FB262EOM.js → chunk-YLB4AGZJ.js} +1 -1
  114. package/dist/{chunk-QMPM3CAN.js → chunk-ZY25SNFQ.js} +1 -1
  115. package/dist/{codex-app-cards-switch-M7VH7AZH.js → codex-app-cards-switch-3OUTABVU.js} +11 -11
  116. package/dist/{codex-desktop-launch-6DASTBBA.js → codex-desktop-launch-JH3E2CIA.js} +1 -1
  117. package/dist/{codex-session-launch-2XSMFA4K.js → codex-session-launch-GR363OQN.js} +18 -18
  118. package/dist/{config-7QQOIFTW.js → config-R43UFHX7.js} +3 -3
  119. package/dist/{global-upgrade-XAKX26AN.js → global-upgrade-73GP4MZM.js} +10 -10
  120. package/dist/{identity-7AS5MBNM.js → identity-CA7CZGDL.js} +4 -4
  121. package/dist/{live-capabilities-DV4F7MIB.js → live-capabilities-RCGMQIIZ.js} +5 -5
  122. package/dist/{paths-GSMXYKT5.js → paths-H7VNNB46.js} +3 -3
  123. package/dist/{reapply-MR7UWBXR.js → reapply-3UIA3CUO.js} +27 -27
  124. package/dist/src/index.js +32 -30
  125. package/dist/{upgrade-lock-6OTHLCBZ.js → upgrade-lock-ZTLX5PDF.js} +4 -4
  126. package/dist/{usage-H53PO3VQ.js → usage-C53NVWC2.js} +3 -3
  127. package/package.json +4 -2
@@ -10,7 +10,7 @@ import {
10
10
  isSetupConnectMode,
11
11
  isValidApiKey,
12
12
  normalizeAgentId
13
- } from "./chunk-AVHL2ZTS.js";
13
+ } from "./chunk-Y4OBAK4I.js";
14
14
 
15
15
  // src/setup/options.ts
16
16
  var AGENT_CHOICES = SETUP_AGENT_CHOICES;
@@ -35,9 +35,9 @@ var parseControlMode = (raw) => {
35
35
  };
36
36
  var effectiveVerify = (options, context) => {
37
37
  if (options.verifyExplicit) return options.verify;
38
- if (options.verify === "roundtrip") return "roundtrip";
39
- return context.paired ? "roundtrip" : options.verify;
38
+ return context.paired ? "push" : options.verify;
40
39
  };
40
+ var effectiveAgentSelection = (selection, context) => context.paired && selection.kind === "ask" ? { kind: "auto" } : selection;
41
41
  var SETUP_FLAGS = {
42
42
  bools: ["key-stdin", "skip-phone", "yes", "y", "json", "dry-run", "take-over-hooks", "help", "h"],
43
43
  values: ["key", "connect", "agents", "verify", "control", "transcripts"]
@@ -131,6 +131,7 @@ var parseSetupOptions = (input) => {
131
131
  export {
132
132
  AGENT_CHOICES,
133
133
  effectiveVerify,
134
+ effectiveAgentSelection,
134
135
  SETUP_FLAGS,
135
136
  effectiveControlMode,
136
137
  parseSetupOptions
@@ -1,15 +1,15 @@
1
1
  import {
2
2
  compatibleConfigFile
3
- } from "./chunk-UIF7HWHX.js";
3
+ } from "./chunk-3YU6NIIL.js";
4
4
  import {
5
5
  hookOwnerOf,
6
6
  hookOwnerOfCommands,
7
7
  liveBridgeProbe,
8
8
  resolveBridgeStub
9
- } from "./chunk-QAWWTRDD.js";
9
+ } from "./chunk-KGWLDNNT.js";
10
10
  import {
11
11
  AGENT_CHOICES
12
- } from "./chunk-2HFC4W6J.js";
12
+ } from "./chunk-PPD64MZW.js";
13
13
  import {
14
14
  claudeSettings,
15
15
  codexHooksJson,
@@ -18,10 +18,10 @@ import {
18
18
  guardedArgv,
19
19
  pusharyDir,
20
20
  vscodePluginDir
21
- } from "./chunk-7S46LCKD.js";
21
+ } from "./chunk-7KYQ24FI.js";
22
22
  import {
23
23
  readJsonSafe
24
- } from "./chunk-RZVWEDIS.js";
24
+ } from "./chunk-T2EJ3H6Y.js";
25
25
  import {
26
26
  HOOK_BUDGETS,
27
27
  HOOK_COMPATIBLE_PROFILES,
@@ -29,7 +29,7 @@ import {
29
29
  OPENCODE_APPROVAL_EVENT,
30
30
  hookCompatibleProfile,
31
31
  isRecord
32
- } from "./chunk-AVHL2ZTS.js";
32
+ } from "./chunk-Y4OBAK4I.js";
33
33
 
34
34
  // src/opencode-plugin.ts
35
35
  var OPENCODE_PLUGIN_MARKER = "pushary-opencode-plugin w1";
@@ -2,7 +2,7 @@ import {
2
2
  DISCONNECT_AGENT_IDS,
3
3
  SETUP_AGENT_CHOICES,
4
4
  isApprovalMode
5
- } from "./chunk-AVHL2ZTS.js";
5
+ } from "./chunk-Y4OBAK4I.js";
6
6
 
7
7
  // src/cli/mode-request.ts
8
8
  var parseDuration = (value) => {
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  HOOK_HOLD_BUDGET_ENV,
3
3
  hookHoldBudgetProof
4
- } from "./chunk-AVHL2ZTS.js";
4
+ } from "./chunk-Y4OBAK4I.js";
5
5
 
6
6
  // src/hold-budget.ts
7
7
  var takeHookHoldBudget = (args = process.argv.slice(2), env = process.env) => {
@@ -3,13 +3,13 @@ import {
3
3
  NpmMissingError,
4
4
  NpmPermissionError,
5
5
  writeFileAtomic
6
- } from "./chunk-RZVWEDIS.js";
6
+ } from "./chunk-T2EJ3H6Y.js";
7
7
  import {
8
8
  NPX_LATEST_COMMAND
9
- } from "./chunk-PPKIL4EL.js";
9
+ } from "./chunk-R3HXGHRQ.js";
10
10
  import {
11
11
  readSetupAgentFailures
12
- } from "./chunk-AVHL2ZTS.js";
12
+ } from "./chunk-Y4OBAK4I.js";
13
13
 
14
14
  // src/setup/config-write.ts
15
15
  var AgentConfigWriteError = class extends Error {
@@ -443,9 +443,9 @@ var installGlobally = (options) => {
443
443
  }
444
444
  const started = (async () => {
445
445
  if (!npmIsOnPath()) throw new NpmMissingError();
446
- const { withUpgradeLock } = await import("./global-upgrade-XAKX26AN.js");
447
- const { installWithUpgradeLock, ownsUpgradeLock } = await import("./upgrade-lock-6OTHLCBZ.js");
448
- const { autoUpdateLock } = await import("./paths-GSMXYKT5.js");
446
+ const { withUpgradeLock } = await import("./global-upgrade-73GP4MZM.js");
447
+ const { installWithUpgradeLock, ownsUpgradeLock } = await import("./upgrade-lock-ZTLX5PDF.js");
448
+ const { autoUpdateLock } = await import("./paths-H7VNNB46.js");
449
449
  let result = "skipped";
450
450
  const install = async () => {
451
451
  const platform = process.platform;
@@ -1,11 +1,11 @@
1
1
  import {
2
2
  autoUpdateLock
3
- } from "./chunk-7S46LCKD.js";
3
+ } from "./chunk-7KYQ24FI.js";
4
4
  import {
5
5
  installPackageGlobally,
6
6
  npmErrorMessage,
7
7
  writeJsonAtomic
8
- } from "./chunk-RZVWEDIS.js";
8
+ } from "./chunk-T2EJ3H6Y.js";
9
9
 
10
10
  // src/upgrade-lock.ts
11
11
  import { fork } from "child_process";
@@ -7,7 +7,7 @@ import {
7
7
  recordSealerFor,
8
8
  uploadTranscriptRecords,
9
9
  wrapSessionKey
10
- } from "./chunk-JC7XUZST.js";
10
+ } from "./chunk-ITLWEGLE.js";
11
11
 
12
12
  // src/live-session.ts
13
13
  var MAX_TRANSCRIPT_QUEUE = 100;
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  isFile
3
- } from "./chunk-RZVWEDIS.js";
3
+ } from "./chunk-T2EJ3H6Y.js";
4
4
 
5
5
  // src/claude-native-install.ts
6
6
  import { accessSync, constants } from "fs";
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  absoluteUrl
3
- } from "./chunk-S7VMHSJW.js";
3
+ } from "./chunk-E7U4YM4A.js";
4
4
  import {
5
5
  KEY_SCOPE
6
- } from "./chunk-AVHL2ZTS.js";
6
+ } from "./chunk-Y4OBAK4I.js";
7
7
 
8
8
  // src/cli/approval-settings-pages.ts
9
9
  var API_KEYS_PATH = "/dashboard/agent/settings";
@@ -7,10 +7,10 @@ import {
7
7
  codexHome,
8
8
  codexHooksJsonIn,
9
9
  isPusharyCodexCommand
10
- } from "./chunk-7S46LCKD.js";
10
+ } from "./chunk-7KYQ24FI.js";
11
11
  import {
12
12
  resolvePathBinary
13
- } from "./chunk-RZVWEDIS.js";
13
+ } from "./chunk-T2EJ3H6Y.js";
14
14
  import {
15
15
  getPackageVersion
16
16
  } from "./chunk-QTOLNRET.js";
@@ -1,17 +1,17 @@
1
1
  import {
2
2
  compatibleConfigFile,
3
3
  hasCompatibleHooks
4
- } from "./chunk-UIF7HWHX.js";
4
+ } from "./chunk-3YU6NIIL.js";
5
5
  import {
6
6
  pusharyHookExecutable
7
- } from "./chunk-QAWWTRDD.js";
7
+ } from "./chunk-KGWLDNNT.js";
8
8
  import {
9
9
  isProtectedByScope,
10
10
  registerHookEntry
11
- } from "./chunk-7S46LCKD.js";
11
+ } from "./chunk-7KYQ24FI.js";
12
12
  import {
13
13
  isRecord
14
- } from "./chunk-AVHL2ZTS.js";
14
+ } from "./chunk-Y4OBAK4I.js";
15
15
 
16
16
  // src/cursor-config.ts
17
17
  var hookCommandOf = (entry) => {
@@ -1,13 +1,13 @@
1
1
  import {
2
2
  ensureCodexTrustsPusharyHooks
3
- } from "./chunk-VJUDBZGC.js";
3
+ } from "./chunk-USZJJWZL.js";
4
4
  import {
5
5
  hermesReceiptPaths,
6
6
  hermesSetupPredatesThePluginFolder,
7
7
  installHermesPlugin,
8
8
  refreshHermesPluginFiles,
9
9
  shippedHermesPlugin
10
- } from "./chunk-FAKEKFCI.js";
10
+ } from "./chunk-FAGQAR6I.js";
11
11
  import {
12
12
  fxIgnoresInstructionsFile,
13
13
  fxInstructionsBody,
@@ -16,7 +16,7 @@ import {
16
16
  macAppFxBridge,
17
17
  refreshClineKey,
18
18
  switchFxHttpEntryToBridge
19
- } from "./chunk-KSLBS3II.js";
19
+ } from "./chunk-W5AUTVVL.js";
20
20
  import {
21
21
  OPENCODE_HOOK_BINARY,
22
22
  agentHookOwner,
@@ -28,16 +28,16 @@ import {
28
28
  openCodePluginDir,
29
29
  openCodeWired,
30
30
  withOpenCodeAskRules
31
- } from "./chunk-3RAWW5DH.js";
31
+ } from "./chunk-QUGP76DQ.js";
32
32
  import {
33
33
  detectClaudeVersion
34
- } from "./chunk-JYOR57ZW.js";
34
+ } from "./chunk-NFUV25JZ.js";
35
35
  import {
36
36
  addCompatibleHooks,
37
37
  compatibleConfigFile,
38
38
  compatibleInstructionsFile,
39
39
  hasCompatibleHooks
40
- } from "./chunk-UIF7HWHX.js";
40
+ } from "./chunk-3YU6NIIL.js";
41
41
  import {
42
42
  GEMINI_HOOK_BINARY,
43
43
  addGeminiHooks,
@@ -49,7 +49,7 @@ import {
49
49
  geminiWired,
50
50
  hasGeminiHooks,
51
51
  planHooks
52
- } from "./chunk-QAWWTRDD.js";
52
+ } from "./chunk-KGWLDNNT.js";
53
53
  import {
54
54
  CLAUDE_HOOK_BINARY,
55
55
  CLAUDE_HOOK_EVENTS,
@@ -94,7 +94,7 @@ import {
94
94
  renderAgentInstructions,
95
95
  supportedClaudeEvents,
96
96
  vscodePluginMcp
97
- } from "./chunk-7S46LCKD.js";
97
+ } from "./chunk-7KYQ24FI.js";
98
98
  import {
99
99
  formatVersion,
100
100
  readJsonSafe,
@@ -102,12 +102,12 @@ import {
102
102
  resolveGlobalBinary,
103
103
  writeFileAtomic,
104
104
  writeJsonAtomic
105
- } from "./chunk-RZVWEDIS.js";
105
+ } from "./chunk-T2EJ3H6Y.js";
106
106
  import {
107
107
  HOOK_COMPATIBLE_PROFILES,
108
108
  isCompatibleAgentType,
109
109
  isRecord
110
- } from "./chunk-AVHL2ZTS.js";
110
+ } from "./chunk-Y4OBAK4I.js";
111
111
 
112
112
  // src/reapply.ts
113
113
  import { dirname, join } from "path";
@@ -4,13 +4,13 @@ import {
4
4
  configFailureKind,
5
5
  retryAgentCommand,
6
6
  writeSetupConfigFile
7
- } from "./chunk-EUEGCEA7.js";
7
+ } from "./chunk-SWRNJ3BP.js";
8
8
  import {
9
9
  MCP_BRIDGE_BINARY
10
- } from "./chunk-W47XZJSH.js";
10
+ } from "./chunk-C2AR7QXU.js";
11
11
  import {
12
12
  KEY_FILE_MODE
13
- } from "./chunk-NGNBX3YH.js";
13
+ } from "./chunk-7LLC4R66.js";
14
14
  import {
15
15
  CLINE_SERVER_NAME_TAKEN,
16
16
  CLINE_SETTINGS_REFUSALS,
@@ -32,13 +32,13 @@ import {
32
32
  withClinePusharyServer,
33
33
  withRefreshedClineKey,
34
34
  withoutClinePusharyServer
35
- } from "./chunk-7S46LCKD.js";
35
+ } from "./chunk-7KYQ24FI.js";
36
36
  import {
37
37
  readJsonSafe,
38
38
  resolveGlobalBinary,
39
39
  writeFileAtomic,
40
40
  writeJsonAtomic
41
- } from "./chunk-RZVWEDIS.js";
41
+ } from "./chunk-T2EJ3H6Y.js";
42
42
 
43
43
  // src/fx-config.ts
44
44
  var FX_SERVER_NAME = "pushary";
@@ -639,6 +639,7 @@ var tryTakeLock = (lockDirectory, token) => {
639
639
  return true;
640
640
  } catch (error) {
641
641
  rmSync(staging, { recursive: true, force: true });
642
+ if (error instanceof Error && "code" in error && (error.code === "EEXIST" || error.code === "ENOTEMPTY")) return false;
642
643
  if (existsSync3(lockDirectory)) return false;
643
644
  throw error;
644
645
  }
@@ -3,7 +3,7 @@ import {
3
3
  } from "./chunk-KZERVKTD.js";
4
4
  import {
5
5
  renderCommandHelp
6
- } from "./chunk-PPKIL4EL.js";
6
+ } from "./chunk-R3HXGHRQ.js";
7
7
  import {
8
8
  getPackageVersion
9
9
  } from "./chunk-QTOLNRET.js";
@@ -7,21 +7,22 @@ import {
7
7
  desktopProxyScript,
8
8
  everyProgramFileIsThere,
9
9
  installedCodexApp,
10
+ readCodexAppRuntime,
10
11
  shellQuoted
11
- } from "./chunk-Z7AIYWZ2.js";
12
+ } from "./chunk-IRLHN5UP.js";
12
13
  import {
13
14
  writeHuman
14
15
  } from "./chunk-QCGNGEGE.js";
15
16
  import {
16
17
  xml
17
- } from "./chunk-WJJVCDEU.js";
18
+ } from "./chunk-DB3NOEDW.js";
18
19
  import {
19
20
  CODEX_APP_LAUNCH_AT_LOGIN_VERB,
20
21
  CODEX_APP_LAUNCH_VARIABLE
21
22
  } from "./chunk-E46NE7FB.js";
22
23
  import {
23
24
  writeFileAtomic
24
- } from "./chunk-RZVWEDIS.js";
25
+ } from "./chunk-T2EJ3H6Y.js";
25
26
 
26
27
  // src/codex-app-cards-switch.ts
27
28
  import { execFileSync as execFileSync2 } from "child_process";
@@ -442,6 +443,7 @@ var fileContents = (path) => {
442
443
  }
443
444
  };
444
445
  var thisMacsCodexAppCardsMachine = () => ({
446
+ runtime: readCodexAppRuntime,
445
447
  codexApp: codexAppOnThisMac,
446
448
  launchVariable: launchVariableOnThisMac,
447
449
  setLaunchVariable: (value) => {
@@ -501,11 +503,14 @@ var codexAppCardsCommand = async (args, entry, readAccount, machine, say) => {
501
503
  if (uid === void 0) throw new Error("Codex app cards need macOS");
502
504
  const paths = codexAppCardsPaths(homedir2(), uid);
503
505
  if (action === "status" && chosenApp === AS_JSON && rest.length === 0) {
504
- say(JSON.stringify(codexAppCardsReport(paths, machine)));
506
+ const report = codexAppCardsReport(paths, machine);
507
+ const runtime = await machine.runtime?.(report.codexApp);
508
+ say(JSON.stringify({ ...report, ...runtime === void 0 ? {} : { runtime } }));
505
509
  return 0;
506
510
  }
507
511
  if (action === "status" && chosenApp === void 0) {
508
512
  say(codexAppCardsStatusLine(codexAppCardsStatus(paths, machine)));
513
+ if (machine.runtime) say(`Running Codex connection: ${await machine.runtime(machine.codexApp())}`);
509
514
  return 0;
510
515
  }
511
516
  if (action === "off" && chosenApp === void 0) {
@@ -1,9 +1,9 @@
1
1
  import {
2
2
  findNativeClaudeInstall
3
- } from "./chunk-TFDMJHAB.js";
3
+ } from "./chunk-UMBVIFP5.js";
4
4
  import {
5
5
  isFile
6
- } from "./chunk-RZVWEDIS.js";
6
+ } from "./chunk-T2EJ3H6Y.js";
7
7
 
8
8
  // src/wrapper/claudeBinary.ts
9
9
  import { homedir } from "os";
@@ -12,7 +12,7 @@ import {
12
12
  reachVerdict,
13
13
  reachesYou,
14
14
  verifyDelivery
15
- } from "./chunk-7RX5TOU3.js";
15
+ } from "./chunk-Y2CYSVWU.js";
16
16
  import {
17
17
  humanIsTty,
18
18
  writeHuman
@@ -24,14 +24,14 @@ import {
24
24
  } from "./chunk-FO3MDD26.js";
25
25
  import {
26
26
  reportedInstallSource
27
- } from "./chunk-7FROPPIH.js";
27
+ } from "./chunk-5NW7VM35.js";
28
28
  import {
29
29
  NPX_LATEST_COMMAND
30
- } from "./chunk-PPKIL4EL.js";
30
+ } from "./chunk-R3HXGHRQ.js";
31
31
  import {
32
32
  NO_PAIRING_COMPUTER,
33
33
  PAIR_TTL_SECONDS
34
- } from "./chunk-AVHL2ZTS.js";
34
+ } from "./chunk-Y4OBAK4I.js";
35
35
 
36
36
  // src/onboarding.ts
37
37
  import qrcodeTerminal from "qrcode-terminal";
@@ -1,12 +1,12 @@
1
1
  import {
2
2
  pusharyDir
3
- } from "./chunk-7S46LCKD.js";
3
+ } from "./chunk-7KYQ24FI.js";
4
4
  import {
5
5
  readJsonSafe
6
- } from "./chunk-RZVWEDIS.js";
6
+ } from "./chunk-T2EJ3H6Y.js";
7
7
  import {
8
8
  isRecord
9
- } from "./chunk-AVHL2ZTS.js";
9
+ } from "./chunk-Y4OBAK4I.js";
10
10
 
11
11
  // src/process-ownership.ts
12
12
  import { createHash, randomUUID } from "crypto";
@@ -1,24 +1,24 @@
1
1
  import {
2
2
  APPROVAL_RULES_PATH,
3
3
  canChangeApprovalSettings
4
- } from "./chunk-TQ2L3ECX.js";
4
+ } from "./chunk-USMUW3LI.js";
5
5
  import {
6
6
  callMcpTool
7
- } from "./chunk-7M4AA7QF.js";
7
+ } from "./chunk-JNV5LOZH.js";
8
8
  import {
9
9
  absoluteUrl
10
- } from "./chunk-S7VMHSJW.js";
10
+ } from "./chunk-E7U4YM4A.js";
11
11
  import {
12
12
  getBaseUrl
13
- } from "./chunk-R5PZPROX.js";
13
+ } from "./chunk-M7JFGDGP.js";
14
14
  import {
15
15
  NPX_LATEST_COMMAND
16
- } from "./chunk-PPKIL4EL.js";
16
+ } from "./chunk-R3HXGHRQ.js";
17
17
  import {
18
18
  APPROVAL_MODE_META,
19
19
  classifyConfirmResponse,
20
20
  isAnswerSource
21
- } from "./chunk-AVHL2ZTS.js";
21
+ } from "./chunk-Y4OBAK4I.js";
22
22
 
23
23
  // src/reach.ts
24
24
  var reachVerdict = (channels) => {