pushary 1.9.137 → 1.9.139

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 (135) hide show
  1. package/CHANGELOG.md +9 -0
  2. package/dist/{api-5H25QRNM.js → api-JY6EQT7A.js} +12 -12
  3. package/dist/bin/pushary-audit.js +6 -6
  4. package/dist/bin/pushary-bell-hook.js +30 -30
  5. package/dist/bin/pushary-bell.js +14 -14
  6. package/dist/bin/pushary-claude.js +36 -36
  7. package/dist/bin/pushary-clean.js +38 -38
  8. package/dist/bin/pushary-codex-bridge.js +26 -26
  9. package/dist/bin/pushary-codex-hook.js +43 -43
  10. package/dist/bin/pushary-codex-session.js +8 -8
  11. package/dist/bin/pushary-codex.js +18 -18
  12. package/dist/bin/pushary-connect.js +32 -32
  13. package/dist/bin/pushary-cowork.js +5 -5
  14. package/dist/bin/pushary-daemon-supervisor.js +91 -12
  15. package/dist/bin/pushary-daemon.js +48 -48
  16. package/dist/bin/pushary-disconnect.js +33 -33
  17. package/dist/bin/pushary-display-hook.js +22 -13
  18. package/dist/bin/pushary-doctor.js +52 -52
  19. package/dist/bin/pushary-elicitation-hook.js +31 -31
  20. package/dist/bin/pushary-gemini-bridge.js +17 -17
  21. package/dist/bin/pushary-gemini-hook.js +35 -35
  22. package/dist/bin/pushary-hook.js +37 -37
  23. package/dist/bin/pushary-login.js +26 -26
  24. package/dist/bin/pushary-logout.js +31 -31
  25. package/dist/bin/pushary-mcp.js +14 -14
  26. package/dist/bin/pushary-mode.js +19 -19
  27. package/dist/bin/pushary-notification-hook.js +29 -29
  28. package/dist/bin/pushary-opencode-hook.js +34 -34
  29. package/dist/bin/pushary-permission-denied-hook.js +37 -37
  30. package/dist/bin/pushary-permission-hook.js +37 -37
  31. package/dist/bin/pushary-post-hook.js +30 -30
  32. package/dist/bin/pushary-prompt-hook.js +29 -29
  33. package/dist/bin/pushary-session-end-hook.js +29 -29
  34. package/dist/bin/pushary-session-start-hook.js +38 -38
  35. package/dist/bin/pushary-setup.js +59 -59
  36. package/dist/bin/pushary-stats.js +5 -5
  37. package/dist/bin/pushary-status.js +37 -37
  38. package/dist/bin/pushary-stop-hook.js +29 -29
  39. package/dist/bin/pushary-stopfailure-hook.js +29 -29
  40. package/dist/bin/pushary-suggestions.js +19 -19
  41. package/dist/bin/pushary-transcript-register.js +19 -19
  42. package/dist/bin/pushary-transcripts.js +30 -30
  43. package/dist/bin/pushary-upgrade.js +47 -47
  44. package/dist/bin/pushary-wait.js +19 -19
  45. package/dist/bin/pushary.js +8 -8
  46. package/dist/{chunk-MENTZJHA.js → chunk-2MJMKM6D.js} +1 -1
  47. package/dist/{chunk-ZWIJJYN3.js → chunk-2X2JHX77.js} +4 -4
  48. package/dist/{chunk-D7AAAD6W.js → chunk-2YMVIBFT.js} +15 -15
  49. package/dist/{chunk-K7YJBVR3.js → chunk-3FNBN4JQ.js} +1 -1
  50. package/dist/{chunk-Y47BMZUR.js → chunk-3PQEUSPK.js} +1 -1
  51. package/dist/{chunk-B4UIRMOE.js → chunk-422KDIO5.js} +2 -2
  52. package/dist/{chunk-ZWLSXECG.js → chunk-4NLZUCPG.js} +2 -2
  53. package/dist/{chunk-3QBI5C6P.js → chunk-4RKB6X4S.js} +2 -2
  54. package/dist/{chunk-IRIXOH4U.js → chunk-6A6OSNC2.js} +1 -1
  55. package/dist/{chunk-62GD26OE.js → chunk-6RAHONLG.js} +2 -2
  56. package/dist/{chunk-3HXOR6E5.js → chunk-7MPKMLE3.js} +13 -13
  57. package/dist/{chunk-54TZGPZP.js → chunk-7Q6YKZY2.js} +3 -3
  58. package/dist/{chunk-MD63J3T7.js → chunk-AEC72YC3.js} +81 -27
  59. package/dist/{chunk-7XD56GXA.js → chunk-AOAIYHAP.js} +5 -5
  60. package/dist/{chunk-LAWI6NQK.js → chunk-BRXKVYTV.js} +1 -1
  61. package/dist/{chunk-KLV2NQVT.js → chunk-BURSH6SW.js} +4 -4
  62. package/dist/{chunk-2E46RALI.js → chunk-C4F5RUJL.js} +6 -6
  63. package/dist/{chunk-GS5FH3C2.js → chunk-CQLQFN6B.js} +3 -3
  64. package/dist/{chunk-R7KC57PC.js → chunk-CZH3JDVB.js} +2 -2
  65. package/dist/{chunk-UP5QXEUU.js → chunk-DF2CUKN4.js} +2 -2
  66. package/dist/{chunk-V7ZY7P2X.js → chunk-DTJZK3MN.js} +6 -6
  67. package/dist/{chunk-43DT3QWZ.js → chunk-FIQ7ND7P.js} +5 -5
  68. package/dist/{chunk-VO77WHK4.js → chunk-FMQBG2TD.js} +6 -6
  69. package/dist/{chunk-R7CQF2P3.js → chunk-FSTSLVZJ.js} +1 -1
  70. package/dist/{chunk-7VKW7OA5.js → chunk-GCOOOIBX.js} +3 -3
  71. package/dist/{chunk-NN43KGTN.js → chunk-GGTLV67J.js} +4 -4
  72. package/dist/{chunk-LNF36PTF.js → chunk-GVJWHTN2.js} +2 -2
  73. package/dist/{chunk-2XDVEBHI.js → chunk-H4O4IPWY.js} +5 -5
  74. package/dist/{chunk-VVN3RPV6.js → chunk-IAWFSD4Q.js} +1 -1
  75. package/dist/{chunk-N3VCBXI6.js → chunk-IDXCVT6W.js} +3 -3
  76. package/dist/{chunk-IKBTG3OT.js → chunk-IEHI64ZN.js} +1 -1
  77. package/dist/{chunk-YQQGIDBC.js → chunk-IHUXZGHB.js} +1 -1
  78. package/dist/{chunk-YOV3LHOL.js → chunk-INGRSQVC.js} +3 -3
  79. package/dist/{chunk-5XDFQ6E3.js → chunk-IOWB43KY.js} +1 -1
  80. package/dist/{chunk-KYD3LHFB.js → chunk-ISDMTGZ3.js} +1 -1
  81. package/dist/{chunk-JZJ5CM6X.js → chunk-J5SMCRIT.js} +5 -5
  82. package/dist/{chunk-WNT4JHK3.js → chunk-J6CNQ5UK.js} +1 -1
  83. package/dist/{chunk-R6N6FREL.js → chunk-KDQSPNPH.js} +16 -16
  84. package/dist/{chunk-DL67HX3D.js → chunk-KQVURVAP.js} +118 -24
  85. package/dist/{chunk-6SWFS4GU.js → chunk-KXHGEJVW.js} +2 -2
  86. package/dist/{chunk-PHA6AFOR.js → chunk-KYWH4XUR.js} +5 -5
  87. package/dist/{chunk-7NCI2DGB.js → chunk-LGIB72D7.js} +2 -2
  88. package/dist/{chunk-Q2VV77IY.js → chunk-LHUA6ADC.js} +5 -5
  89. package/dist/{chunk-ICCM3DLT.js → chunk-LHYBHWCK.js} +2 -2
  90. package/dist/{chunk-RRUP72V6.js → chunk-LKSFQTGQ.js} +1 -1
  91. package/dist/{chunk-2MVKT7KH.js → chunk-LSABM2ES.js} +2 -2
  92. package/dist/{chunk-CMAB4KQG.js → chunk-LVL7XAXK.js} +5 -5
  93. package/dist/{chunk-G73ACPR2.js → chunk-LYLADUYE.js} +2 -2
  94. package/dist/{chunk-H2RE3IPK.js → chunk-M4G4VWW6.js} +1 -1
  95. package/dist/{chunk-MQ3I5OIC.js → chunk-M6TJWXST.js} +8 -8
  96. package/dist/{chunk-EJHD44ZN.js → chunk-MAPC5KKZ.js} +2 -2
  97. package/dist/{chunk-VV7WRIQT.js → chunk-MNVBO6UO.js} +4 -4
  98. package/dist/{chunk-TLK5YLIE.js → chunk-OBKHLKKB.js} +4 -4
  99. package/dist/{chunk-HY4ATVCT.js → chunk-OBPBT6RG.js} +3 -3
  100. package/dist/{chunk-DBIPNY7J.js → chunk-OLJTUTD2.js} +3 -3
  101. package/dist/{chunk-L2GADKFL.js → chunk-P3UCAWUP.js} +8 -8
  102. package/dist/{chunk-2R4OVJHS.js → chunk-P6S4CALA.js} +5 -5
  103. package/dist/{chunk-A7R43KOX.js → chunk-Q5H5AFS7.js} +3 -3
  104. package/dist/{chunk-YHX5YF77.js → chunk-QG5MJ6NW.js} +4 -4
  105. package/dist/{chunk-WM7OY63L.js → chunk-QMKI5RGT.js} +1 -1
  106. package/dist/{chunk-A2YJ2FBR.js → chunk-QTR6KQEU.js} +1 -1
  107. package/dist/{chunk-VBWJ756P.js → chunk-RBPAUX6C.js} +5 -5
  108. package/dist/{chunk-IHAKBLW2.js → chunk-S63DCSH4.js} +4 -4
  109. package/dist/{chunk-6WT5OIRM.js → chunk-SKVPWXNK.js} +10 -10
  110. package/dist/{chunk-QXATIKHQ.js → chunk-SVKZKLEP.js} +1 -1
  111. package/dist/{chunk-A4YOXS24.js → chunk-T5FPA2JO.js} +3 -3
  112. package/dist/{chunk-4T72AHIA.js → chunk-U7Z53YWH.js} +4 -4
  113. package/dist/{chunk-NZD6ISCL.js → chunk-UTUR6WEA.js} +3 -3
  114. package/dist/{chunk-WXUEOHYY.js → chunk-UZZRSCFR.js} +7 -7
  115. package/dist/{chunk-KTVMIG32.js → chunk-WES6E62H.js} +4 -4
  116. package/dist/{chunk-PNVTPEO5.js → chunk-XKXOT2ZU.js} +3 -3
  117. package/dist/{chunk-ZWURBNA3.js → chunk-XQYBTRVW.js} +1 -1
  118. package/dist/{chunk-POV2TBFA.js → chunk-ZAZQHOBS.js} +11 -11
  119. package/dist/{chunk-U3OLXV5Z.js → chunk-ZNMLL2WN.js} +2 -2
  120. package/dist/{chunk-MQMVJDII.js → chunk-ZYLZCNOJ.js} +1 -1
  121. package/dist/{codex-app-cards-switch-JU236CG2.js → codex-app-cards-switch-TOHSGS5T.js} +11 -11
  122. package/dist/{codex-card-routing-LQJEJNTS.js → codex-card-routing-BPCOKSBO.js} +2 -2
  123. package/dist/{codex-desktop-launch-LRQ4LU64.js → codex-desktop-launch-6LD5GETH.js} +1 -1
  124. package/dist/{codex-session-launch-DTGH7ZKM.js → codex-session-launch-ZVFPD4ON.js} +22 -22
  125. package/dist/{config-34VUNHK6.js → config-3AFJSGM2.js} +3 -3
  126. package/dist/{global-upgrade-5UAH5DCG.js → global-upgrade-6SWFRW5G.js} +10 -10
  127. package/dist/{identity-UFJEWGEU.js → identity-K2VBL5PB.js} +4 -4
  128. package/dist/{live-capabilities-BL3SHFWX.js → live-capabilities-VQEG7TCE.js} +4 -4
  129. package/dist/{paths-YA5ROXGC.js → paths-ZAVMBGAQ.js} +3 -3
  130. package/dist/{reapply-OPQF4DPQ.js → reapply-BXMMOQXK.js} +31 -31
  131. package/dist/src/index.js +37 -37
  132. package/dist/{upgrade-lock-AZLOOGKV.js → upgrade-lock-UZN332AO.js} +4 -4
  133. package/dist/{usage-ZSV4LFDL.js → usage-EDDIN5YZ.js} +3 -3
  134. package/package.json +1 -1
  135. package/dist/bin/pushary-daemon-supervisor.d.ts +0 -1
@@ -1,40 +1,40 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  takeHookHoldBudget
4
- } from "../chunk-QXATIKHQ.js";
4
+ } from "../chunk-SVKZKLEP.js";
5
+ import {
6
+ askAgentQuestions,
7
+ defersToNativeMode
8
+ } from "../chunk-P6S4CALA.js";
5
9
  import {
6
10
  parseCodexHookInput,
7
11
  pushQuestionAndWait,
8
12
  scopeQuestionOf
9
- } from "../chunk-VV7WRIQT.js";
10
- import {
11
- askAgentQuestions,
12
- defersToNativeMode
13
- } from "../chunk-2R4OVJHS.js";
13
+ } from "../chunk-MNVBO6UO.js";
14
14
  import {
15
15
  reportMachineDenial
16
- } from "../chunk-HY4ATVCT.js";
16
+ } from "../chunk-OBPBT6RG.js";
17
17
  import {
18
18
  isGatingMoment,
19
19
  recordKeylessMoment
20
- } from "../chunk-YQQGIDBC.js";
20
+ } from "../chunk-IHUXZGHB.js";
21
21
  import {
22
22
  triggerAutoUpdate
23
- } from "../chunk-ICCM3DLT.js";
23
+ } from "../chunk-LHYBHWCK.js";
24
24
  import {
25
25
  readHookInput
26
- } from "../chunk-7XD56GXA.js";
27
- import "../chunk-NN43KGTN.js";
26
+ } from "../chunk-AOAIYHAP.js";
27
+ import "../chunk-GGTLV67J.js";
28
28
  import {
29
29
  announceSubscriptionRequired,
30
30
  isDeferAnswer
31
- } from "../chunk-H2RE3IPK.js";
32
- import "../chunk-6WT5OIRM.js";
31
+ } from "../chunk-M4G4VWW6.js";
32
+ import "../chunk-SKVPWXNK.js";
33
33
  import "../chunk-VAE5JBR5.js";
34
34
  import "../chunk-G66WIAST.js";
35
- import "../chunk-43DT3QWZ.js";
36
- import "../chunk-MD63J3T7.js";
37
- import "../chunk-TLK5YLIE.js";
35
+ import "../chunk-FIQ7ND7P.js";
36
+ import "../chunk-AEC72YC3.js";
37
+ import "../chunk-OBKHLKKB.js";
38
38
  import {
39
39
  CODEX_AGENT,
40
40
  DEFAULT_SESSION,
@@ -65,7 +65,7 @@ import {
65
65
  toPolicyLookup,
66
66
  toPolicyLookups,
67
67
  userScope
68
- } from "../chunk-D7AAAD6W.js";
68
+ } from "../chunk-2YMVIBFT.js";
69
69
  import {
70
70
  codexReviewerDenialsSince,
71
71
  deriveActionBody,
@@ -78,18 +78,17 @@ import {
78
78
  scanCodexGuardianReviews,
79
79
  scopePathFor,
80
80
  sessionIdentityOf
81
- } from "../chunk-A2YJ2FBR.js";
82
- import "../chunk-5XDFQ6E3.js";
83
- import "../chunk-LAWI6NQK.js";
81
+ } from "../chunk-QTR6KQEU.js";
82
+ import "../chunk-IOWB43KY.js";
83
+ import "../chunk-BRXKVYTV.js";
84
84
  import "../chunk-YPY4YCIZ.js";
85
- import "../chunk-YOV3LHOL.js";
85
+ import "../chunk-INGRSQVC.js";
86
86
  import "../chunk-XMSDA5WA.js";
87
- import "../chunk-ZWURBNA3.js";
88
- import "../chunk-H6CL3T2S.js";
87
+ import "../chunk-XQYBTRVW.js";
89
88
  import {
90
89
  repoKeyFor,
91
90
  repositoryScopeFor
92
- } from "../chunk-IRIXOH4U.js";
91
+ } from "../chunk-6A6OSNC2.js";
93
92
  import {
94
93
  cancelQuestion,
95
94
  claimBlockedAction,
@@ -99,35 +98,36 @@ import {
99
98
  pollForAnswer,
100
99
  requestGate,
101
100
  sendNotification
102
- } from "../chunk-L2GADKFL.js";
103
- import "../chunk-Y47BMZUR.js";
101
+ } from "../chunk-P3UCAWUP.js";
104
102
  import "../chunk-POFBE6ZY.js";
105
103
  import {
106
104
  SubscriptionRequiredError
107
- } from "../chunk-WXUEOHYY.js";
108
- import "../chunk-VVN3RPV6.js";
109
- import "../chunk-Q2VV77IY.js";
110
- import "../chunk-PHA6AFOR.js";
105
+ } from "../chunk-UZZRSCFR.js";
106
+ import "../chunk-LHUA6ADC.js";
107
+ import "../chunk-KYWH4XUR.js";
108
+ import "../chunk-H6CL3T2S.js";
109
+ import "../chunk-3PQEUSPK.js";
110
+ import "../chunk-IAWFSD4Q.js";
111
111
  import {
112
112
  getMachineId
113
- } from "../chunk-WNT4JHK3.js";
114
- import "../chunk-PNVTPEO5.js";
115
- import "../chunk-LNF36PTF.js";
113
+ } from "../chunk-J6CNQ5UK.js";
114
+ import "../chunk-YU2EUD7O.js";
115
+ import "../chunk-XKXOT2ZU.js";
116
+ import "../chunk-GVJWHTN2.js";
116
117
  import {
117
118
  canonicalJson
118
- } from "../chunk-R7KC57PC.js";
119
- import "../chunk-GS5FH3C2.js";
119
+ } from "../chunk-CZH3JDVB.js";
120
+ import "../chunk-CQLQFN6B.js";
120
121
  import {
121
122
  getApiKey
122
- } from "../chunk-IKBTG3OT.js";
123
- import "../chunk-YU2EUD7O.js";
124
- import {
125
- writeFileAtomic
126
- } from "../chunk-TODDEIYG.js";
123
+ } from "../chunk-IEHI64ZN.js";
127
124
  import {
128
125
  EXIT
129
126
  } from "../chunk-BG4HHB7E.js";
130
- import "../chunk-MQMVJDII.js";
127
+ import {
128
+ writeFileAtomic
129
+ } from "../chunk-TODDEIYG.js";
130
+ import "../chunk-ZYLZCNOJ.js";
131
131
  import "../chunk-WIIMW5YO.js";
132
132
  import {
133
133
  CODEX_RESCUE_STOP_RESERVE_SECONDS,
@@ -156,7 +156,7 @@ import {
156
156
  refusesWhenUnanswered,
157
157
  resolveGate,
158
158
  unapprovedScopeReason
159
- } from "../chunk-DL67HX3D.js";
159
+ } from "../chunk-KQVURVAP.js";
160
160
  import "../chunk-MLKGABMK.js";
161
161
 
162
162
  // bin/pushary-codex-hook.ts
@@ -823,7 +823,7 @@ var decidePreToolUse = async (input) => {
823
823
  };
824
824
  var repairCodexHoldsQuietly = async () => {
825
825
  try {
826
- const { repairCodexHolds } = await import("../reapply-OPQF4DPQ.js");
826
+ const { repairCodexHolds } = await import("../reapply-BXMMOQXK.js");
827
827
  repairCodexHolds();
828
828
  } catch {
829
829
  return;
@@ -8,8 +8,8 @@ import "../chunk-MLKGABMK.js";
8
8
  var args = process.argv.slice(2);
9
9
  if (args[0] === "codex") args.shift();
10
10
  var appBehindTheProxy = args[0] === "--desktop-proxy" && args[2] === "--" ? args[1] : void 0;
11
- if (args[0] !== "--desktop-proxy") (await import("../usage-ZSV4LFDL.js")).exitOnHelpFlag("codex");
12
- var loadWhatReadsTheAccount = () => Promise.all([import("../config-34VUNHK6.js"), import("../identity-UFJEWGEU.js")]);
11
+ if (args[0] !== "--desktop-proxy") (await import("../usage-EDDIN5YZ.js")).exitOnHelpFlag("codex");
12
+ var loadWhatReadsTheAccount = () => Promise.all([import("../config-3AFJSGM2.js"), import("../identity-K2VBL5PB.js")]);
13
13
  var loadedWhenThePassThroughStarted = appBehindTheProxy === void 0 ? null : loadWhatReadsTheAccount().catch(() => null);
14
14
  var desktopAccount = async () => {
15
15
  try {
@@ -19,7 +19,7 @@ var desktopAccount = async () => {
19
19
  return null;
20
20
  }
21
21
  };
22
- var desktopLaunch = await import("../codex-desktop-launch-LRQ4LU64.js").catch(() => null);
22
+ var desktopLaunch = await import("../codex-desktop-launch-6LD5GETH.js").catch(() => null);
23
23
  if (desktopLaunch === null && appBehindTheProxy !== void 0) {
24
24
  process.exitCode = await letCodexRunWithoutPushary(appBehindTheProxy, args.slice(3));
25
25
  } else {
@@ -27,15 +27,15 @@ if (desktopLaunch === null && appBehindTheProxy !== void 0) {
27
27
  const stop = () => abort.abort();
28
28
  if (!args[0]?.startsWith("--desktop")) for (const signal of ["SIGINT", "SIGTERM", "SIGHUP"]) process.on(signal, stop);
29
29
  try {
30
- const { codexDesktopCommand } = desktopLaunch ?? await import("../codex-desktop-launch-LRQ4LU64.js");
30
+ const { codexDesktopCommand } = desktopLaunch ?? await import("../codex-desktop-launch-6LD5GETH.js");
31
31
  const desktop = await codexDesktopCommand(args, [process.execPath, ...process.execArgv, process.argv[1], "codex"], desktopAccount);
32
32
  if (desktop !== null) process.exitCode = desktop;
33
33
  else {
34
34
  const [{ getApiKey, getBaseUrl }, { getMachineId }, { resolveProviderBinary }, { codexSessionDirectory, launchCodexSession }] = await Promise.all([
35
- import("../config-34VUNHK6.js"),
36
- import("../identity-UFJEWGEU.js"),
37
- import("../live-capabilities-BL3SHFWX.js"),
38
- import("../codex-session-launch-DTGH7ZKM.js")
35
+ import("../config-3AFJSGM2.js"),
36
+ import("../identity-K2VBL5PB.js"),
37
+ import("../live-capabilities-VQEG7TCE.js"),
38
+ import("../codex-session-launch-ZVFPD4ON.js")
39
39
  ]);
40
40
  const binary = resolveProviderBinary("codex");
41
41
  if (!binary) throw new Error("Install Codex first, then run pushary codex");
@@ -1,37 +1,37 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  reportEvent
4
- } from "../chunk-D7AAAD6W.js";
5
- import "../chunk-A2YJ2FBR.js";
6
- import "../chunk-IRIXOH4U.js";
4
+ } from "../chunk-2YMVIBFT.js";
5
+ import "../chunk-QTR6KQEU.js";
6
+ import "../chunk-6A6OSNC2.js";
7
7
  import {
8
8
  askUser,
9
9
  isDecisionStopped,
10
10
  waitForAnswer
11
- } from "../chunk-L2GADKFL.js";
12
- import "../chunk-Y47BMZUR.js";
11
+ } from "../chunk-P3UCAWUP.js";
13
12
  import "../chunk-POFBE6ZY.js";
14
- import "../chunk-WXUEOHYY.js";
15
- import "../chunk-VVN3RPV6.js";
16
- import "../chunk-Q2VV77IY.js";
17
- import "../chunk-PHA6AFOR.js";
13
+ import "../chunk-UZZRSCFR.js";
14
+ import "../chunk-LHUA6ADC.js";
15
+ import "../chunk-KYWH4XUR.js";
16
+ import "../chunk-3PQEUSPK.js";
17
+ import "../chunk-IAWFSD4Q.js";
18
18
  import {
19
19
  getMachineId
20
- } from "../chunk-WNT4JHK3.js";
21
- import "../chunk-LNF36PTF.js";
22
- import "../chunk-R7KC57PC.js";
23
- import "../chunk-GS5FH3C2.js";
20
+ } from "../chunk-J6CNQ5UK.js";
21
+ import "../chunk-YU2EUD7O.js";
22
+ import "../chunk-GVJWHTN2.js";
23
+ import "../chunk-CZH3JDVB.js";
24
+ import "../chunk-CQLQFN6B.js";
24
25
  import {
25
26
  getApiKey
26
- } from "../chunk-IKBTG3OT.js";
27
- import "../chunk-YU2EUD7O.js";
28
- import "../chunk-TODDEIYG.js";
27
+ } from "../chunk-IEHI64ZN.js";
29
28
  import "../chunk-BG4HHB7E.js";
29
+ import "../chunk-TODDEIYG.js";
30
30
  import {
31
31
  NPX_LATEST_COMMAND
32
- } from "../chunk-MQMVJDII.js";
32
+ } from "../chunk-ZYLZCNOJ.js";
33
33
  import "../chunk-WIIMW5YO.js";
34
- import "../chunk-DL67HX3D.js";
34
+ import "../chunk-KQVURVAP.js";
35
35
  import "../chunk-MLKGABMK.js";
36
36
 
37
37
  // bin/pushary-codex.ts
@@ -1,68 +1,68 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  printKeyCheck
4
- } from "../chunk-2E46RALI.js";
4
+ } from "../chunk-C4F5RUJL.js";
5
5
  import {
6
6
  connectDevice,
7
7
  connectExistingApp,
8
8
  printConnectInstructions
9
- } from "../chunk-4T72AHIA.js";
9
+ } from "../chunk-U7Z53YWH.js";
10
10
  import "../chunk-3EGEA4KH.js";
11
- import "../chunk-V7ZY7P2X.js";
12
- import "../chunk-U3OLXV5Z.js";
11
+ import "../chunk-DTJZK3MN.js";
12
+ import "../chunk-ZNMLL2WN.js";
13
13
  import {
14
14
  CONNECTED_THROUGH_MAC_APP,
15
15
  PAIR_FROM_MAC_APP,
16
16
  readMacAppConnection
17
- } from "../chunk-KLV2NQVT.js";
18
- import "../chunk-3QBI5C6P.js";
17
+ } from "../chunk-BURSH6SW.js";
18
+ import "../chunk-4RKB6X4S.js";
19
19
  import "../chunk-QCGNGEGE.js";
20
- import "../chunk-VBWJ756P.js";
20
+ import "../chunk-RBPAUX6C.js";
21
21
  import {
22
22
  createIo
23
23
  } from "../chunk-FO3MDD26.js";
24
24
  import {
25
25
  exitOnHelpFlag
26
- } from "../chunk-K7YJBVR3.js";
27
- import "../chunk-43DT3QWZ.js";
28
- import "../chunk-TLK5YLIE.js";
29
- import "../chunk-D7AAAD6W.js";
30
- import "../chunk-A2YJ2FBR.js";
31
- import "../chunk-5XDFQ6E3.js";
32
- import "../chunk-LAWI6NQK.js";
26
+ } from "../chunk-3FNBN4JQ.js";
27
+ import "../chunk-FIQ7ND7P.js";
28
+ import "../chunk-OBKHLKKB.js";
29
+ import "../chunk-2YMVIBFT.js";
30
+ import "../chunk-QTR6KQEU.js";
31
+ import "../chunk-IOWB43KY.js";
32
+ import "../chunk-BRXKVYTV.js";
33
33
  import {
34
34
  parseFlags
35
35
  } from "../chunk-YPY4YCIZ.js";
36
- import "../chunk-IRIXOH4U.js";
37
- import "../chunk-L2GADKFL.js";
38
- import "../chunk-Y47BMZUR.js";
36
+ import "../chunk-6A6OSNC2.js";
37
+ import "../chunk-P3UCAWUP.js";
39
38
  import "../chunk-POFBE6ZY.js";
40
- import "../chunk-WXUEOHYY.js";
41
- import "../chunk-VVN3RPV6.js";
39
+ import "../chunk-UZZRSCFR.js";
42
40
  import {
43
41
  checkApiKey
44
- } from "../chunk-Q2VV77IY.js";
45
- import "../chunk-PHA6AFOR.js";
46
- import "../chunk-WNT4JHK3.js";
47
- import {
48
- readKeySource
49
- } from "../chunk-PNVTPEO5.js";
50
- import "../chunk-LNF36PTF.js";
51
- import "../chunk-R7KC57PC.js";
52
- import "../chunk-GS5FH3C2.js";
53
- import "../chunk-IKBTG3OT.js";
42
+ } from "../chunk-LHUA6ADC.js";
43
+ import "../chunk-KYWH4XUR.js";
44
+ import "../chunk-3PQEUSPK.js";
45
+ import "../chunk-IAWFSD4Q.js";
46
+ import "../chunk-J6CNQ5UK.js";
54
47
  import {
55
48
  UsageError
56
49
  } from "../chunk-YU2EUD7O.js";
57
- import "../chunk-TODDEIYG.js";
50
+ import {
51
+ readKeySource
52
+ } from "../chunk-XKXOT2ZU.js";
53
+ import "../chunk-GVJWHTN2.js";
54
+ import "../chunk-CZH3JDVB.js";
55
+ import "../chunk-CQLQFN6B.js";
56
+ import "../chunk-IEHI64ZN.js";
58
57
  import {
59
58
  EXIT
60
59
  } from "../chunk-BG4HHB7E.js";
60
+ import "../chunk-TODDEIYG.js";
61
61
  import {
62
62
  isInvocationOf
63
- } from "../chunk-MQMVJDII.js";
63
+ } from "../chunk-ZYLZCNOJ.js";
64
64
  import "../chunk-WIIMW5YO.js";
65
- import "../chunk-DL67HX3D.js";
65
+ import "../chunk-KQVURVAP.js";
66
66
  import "../chunk-MLKGABMK.js";
67
67
 
68
68
  // bin/pushary-connect.ts
@@ -2,15 +2,15 @@
2
2
  import {
3
3
  coworkOutput,
4
4
  parseCoworkOptions
5
- } from "../chunk-N3VCBXI6.js";
5
+ } from "../chunk-IDXCVT6W.js";
6
6
  import {
7
7
  canOpenBrowser,
8
8
  openInBrowser
9
9
  } from "../chunk-PUZZELE6.js";
10
10
  import {
11
11
  exitOnHelpFlag
12
- } from "../chunk-K7YJBVR3.js";
13
- import "../chunk-5XDFQ6E3.js";
12
+ } from "../chunk-3FNBN4JQ.js";
13
+ import "../chunk-IOWB43KY.js";
14
14
  import "../chunk-YPY4YCIZ.js";
15
15
  import {
16
16
  UsageError
@@ -18,11 +18,11 @@ import {
18
18
  import {
19
19
  EXIT
20
20
  } from "../chunk-BG4HHB7E.js";
21
- import "../chunk-MQMVJDII.js";
21
+ import "../chunk-ZYLZCNOJ.js";
22
22
  import "../chunk-WIIMW5YO.js";
23
23
  import {
24
24
  CLAUDE_CONNECTOR_GUIDE
25
- } from "../chunk-DL67HX3D.js";
25
+ } from "../chunk-KQVURVAP.js";
26
26
  import "../chunk-MLKGABMK.js";
27
27
 
28
28
  // bin/pushary-cowork.ts
@@ -2,26 +2,105 @@
2
2
 
3
3
  // bin/pushary-daemon-supervisor.ts
4
4
  import { spawn } from "child_process";
5
+ import { appendFileSync, mkdirSync } from "fs";
6
+
7
+ // src/daemon-supervisor.ts
8
+ import { join } from "path";
9
+ var SUPERVISOR_LAUNCH_FLAG = "--launch";
10
+ var DAEMON_LOG_FILE = "daemon.log";
11
+ var DAEMON_ERROR_LOG_FILE = "daemon-error.log";
12
+ var STDIO_FOR_OUTPUT = {
13
+ "shared-console": "inherit",
14
+ "log-files": ["ignore", "pipe", "pipe"],
15
+ discarded: "ignore"
16
+ };
17
+ var parseSupervisorInvocation = (args) => {
18
+ const launching = args.length > 1 && args[args.length - 1] === SUPERVISOR_LAUNCH_FLAG;
19
+ const [daemonEntry, stateDir] = launching ? args.slice(0, -1) : args;
20
+ if (!daemonEntry || daemonEntry === SUPERVISOR_LAUNCH_FLAG) return { kind: "missing-entry" };
21
+ return { kind: launching ? "launch" : "supervise", daemonEntry, stateDir: stateDir || null };
22
+ };
23
+ var supervisorRelaunch = (execPath, supervisorScript, daemon) => ({
24
+ command: execPath,
25
+ args: [supervisorScript, daemon.daemonEntry, ...daemon.stateDir === null ? [] : [daemon.stateDir]],
26
+ options: { detached: true, windowsHide: true, stdio: "ignore" }
27
+ });
28
+ var daemonLogPaths = (stateDir) => ({
29
+ output: join(stateDir, DAEMON_LOG_FILE),
30
+ errors: join(stateDir, DAEMON_ERROR_LOG_FILE)
31
+ });
32
+ var daemonOutputFor = (stateDir, preparedLogs2) => {
33
+ if (stateDir === null) return { kind: "shared-console" };
34
+ if (preparedLogs2 === null) return { kind: "discarded" };
35
+ return { kind: "log-files", paths: preparedLogs2 };
36
+ };
37
+ var supervisedDaemonLaunch = (execPath, daemonEntry, output) => ({
38
+ command: execPath,
39
+ args: [daemonEntry],
40
+ options: { windowsHide: true, stdio: STDIO_FOR_OUTPUT[output.kind] }
41
+ });
42
+
43
+ // bin/pushary-daemon-supervisor.ts
5
44
  var FIRST_DELAY_MS = 1e4;
6
45
  var MAX_DELAY_MS = 5 * 6e4;
7
46
  var HEALTHY_RUN_MS = 6e4;
8
- var daemonEntry = process.argv[2];
9
- if (!daemonEntry) {
10
- process.stderr.write("Missing daemon entry.\n");
11
- process.exitCode = 64;
12
- } else {
13
- const wait = (ms) => new Promise((resolve) => setTimeout(resolve, ms));
14
- const run = () => new Promise((resolve) => {
15
- const child = spawn(process.execPath, [daemonEntry], { stdio: "inherit", windowsHide: true });
16
- child.once("error", () => resolve(1));
17
- child.once("exit", (code) => resolve(code ?? 1));
18
- });
47
+ var wait = (ms) => new Promise((resolve) => setTimeout(resolve, ms));
48
+ var appendQuietly = (path, chunk) => {
49
+ try {
50
+ appendFileSync(path, chunk);
51
+ } catch {
52
+ return;
53
+ }
54
+ };
55
+ var preparedLogs = (stateDir) => {
56
+ try {
57
+ mkdirSync(stateDir, { recursive: true });
58
+ } catch {
59
+ return null;
60
+ }
61
+ return daemonLogPaths(stateDir);
62
+ };
63
+ var outputOf = (daemon) => daemonOutputFor(daemon.stateDir, daemon.stateDir === null ? null : preparedLogs(daemon.stateDir));
64
+ var runDaemonOnce = (daemonEntry, output) => new Promise((resolve) => {
65
+ const launch = supervisedDaemonLaunch(process.execPath, daemonEntry, output);
66
+ const child = spawn(launch.command, [...launch.args], launch.options);
67
+ if (output.kind === "log-files") {
68
+ child.stdout?.on("data", (chunk) => appendQuietly(output.paths.output, chunk));
69
+ child.stderr?.on("data", (chunk) => appendQuietly(output.paths.errors, chunk));
70
+ }
71
+ child.once("error", () => resolve(1));
72
+ child.once("exit", (code) => resolve(code ?? 1));
73
+ });
74
+ var supervise = async (daemon) => {
75
+ const output = outputOf(daemon);
19
76
  let delay = FIRST_DELAY_MS;
20
77
  for (; ; ) {
21
78
  const startedAt = Date.now();
22
- if (await run() === 0) break;
79
+ if (await runDaemonOnce(daemon.daemonEntry, output) === 0) return;
23
80
  if (Date.now() - startedAt >= HEALTHY_RUN_MS) delay = FIRST_DELAY_MS;
24
81
  await wait(delay);
25
82
  delay = Math.min(delay * 2, MAX_DELAY_MS);
26
83
  }
84
+ };
85
+ var launchHiddenSupervisor = (daemon) => {
86
+ const supervisorScript = process.argv[1];
87
+ if (!supervisorScript) {
88
+ process.exitCode = 64;
89
+ return;
90
+ }
91
+ const relaunch = supervisorRelaunch(process.execPath, supervisorScript, daemon);
92
+ const child = spawn(relaunch.command, [...relaunch.args], relaunch.options);
93
+ child.once("error", () => {
94
+ process.exitCode = 1;
95
+ });
96
+ child.unref();
97
+ };
98
+ var invocation = parseSupervisorInvocation(process.argv.slice(2));
99
+ if (invocation.kind === "missing-entry") {
100
+ process.stderr.write("Missing daemon entry.\n");
101
+ process.exitCode = 64;
102
+ } else if (invocation.kind === "launch") {
103
+ launchHiddenSupervisor(invocation);
104
+ } else {
105
+ await supervise(invocation);
27
106
  }