pushary 1.9.58 → 1.9.60

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 (126) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/data/cursor-plugin/.cursor-plugin/plugin.json +5 -1
  3. package/data/cursor-plugin/CHANGELOG.md +4 -0
  4. package/dist/{api-WVXBM4MR.js → api-ASQA5PZM.js} +11 -11
  5. package/dist/bin/pushary-bell-hook.js +29 -29
  6. package/dist/bin/pushary-bell.js +12 -12
  7. package/dist/bin/pushary-claude.js +31 -30
  8. package/dist/bin/pushary-clean.js +58 -53
  9. package/dist/bin/pushary-codex-bridge.js +22 -22
  10. package/dist/bin/pushary-codex-hook.js +34 -34
  11. package/dist/bin/pushary-codex-session.js +8 -8
  12. package/dist/bin/pushary-codex.js +15 -15
  13. package/dist/bin/pushary-connect.js +29 -29
  14. package/dist/bin/pushary-cowork.js +7 -7
  15. package/dist/bin/pushary-daemon.js +39 -39
  16. package/dist/bin/pushary-disconnect.js +42 -29
  17. package/dist/bin/pushary-doctor.js +51 -47
  18. package/dist/bin/pushary-elicitation-hook.js +29 -29
  19. package/dist/bin/pushary-gemini-bridge.js +15 -15
  20. package/dist/bin/pushary-gemini-hook.js +31 -31
  21. package/dist/bin/pushary-hook.js +33 -33
  22. package/dist/bin/pushary-login.js +22 -19
  23. package/dist/bin/pushary-logout.js +36 -31
  24. package/dist/bin/pushary-mcp.js +12 -12
  25. package/dist/bin/pushary-mode.js +41 -55
  26. package/dist/bin/pushary-notification-hook.js +28 -28
  27. package/dist/bin/pushary-opencode-hook.js +30 -30
  28. package/dist/bin/pushary-permission-denied-hook.js +33 -33
  29. package/dist/bin/pushary-permission-hook.js +32 -32
  30. package/dist/bin/pushary-post-hook.js +28 -28
  31. package/dist/bin/pushary-prompt-hook.js +28 -28
  32. package/dist/bin/pushary-session-end-hook.js +28 -28
  33. package/dist/bin/pushary-session-start-hook.js +35 -35
  34. package/dist/bin/pushary-setup.js +49 -46
  35. package/dist/bin/pushary-stats.js +5 -5
  36. package/dist/bin/pushary-status.js +41 -36
  37. package/dist/bin/pushary-stop-hook.js +28 -28
  38. package/dist/bin/pushary-stopfailure-hook.js +28 -28
  39. package/dist/bin/pushary-suggestions.js +33 -39
  40. package/dist/bin/pushary-transcript-register.js +20 -20
  41. package/dist/bin/pushary-transcripts.js +33 -20
  42. package/dist/bin/pushary-upgrade.js +71 -50
  43. package/dist/bin/pushary-wait.js +36 -42
  44. package/dist/bin/pushary.js +8 -8
  45. package/dist/{chunk-JSQOHMNJ.js → chunk-2AELPDMT.js} +1 -1
  46. package/dist/{chunk-WVP6UQG3.js → chunk-2QREHU4O.js} +11 -4
  47. package/dist/{chunk-QTCFEKLJ.js → chunk-33OOEVPG.js} +1 -1
  48. package/dist/{chunk-QDFLBTUP.js → chunk-4MUFZU2G.js} +1 -1
  49. package/dist/{chunk-5DZHKNBU.js → chunk-4MWRR5IT.js} +8 -7
  50. package/dist/{chunk-XEJV3QSS.js → chunk-4PZXI7WU.js} +3 -3
  51. package/dist/{chunk-UMVVQXAC.js → chunk-56JCQQLS.js} +2 -2
  52. package/dist/{chunk-JZKEC4XJ.js → chunk-5RU35K57.js} +3 -12
  53. package/dist/{chunk-HRHAZ3GE.js → chunk-625DZLT5.js} +6 -6
  54. package/dist/{chunk-3KOPY2UQ.js → chunk-6LOQE4J4.js} +3 -3
  55. package/dist/{chunk-K5CAURU5.js → chunk-6MC2XXFD.js} +4 -4
  56. package/dist/{chunk-MYBCXDIL.js → chunk-6MJWYYAS.js} +62 -49
  57. package/dist/chunk-7BHI3PZN.js +41 -0
  58. package/dist/{chunk-C3IWX6KU.js → chunk-7JXJJNQ5.js} +1 -1
  59. package/dist/{chunk-CK5BCFQF.js → chunk-7WFRY6OL.js} +2 -2
  60. package/dist/{chunk-4YNNAF53.js → chunk-ADR3KHOC.js} +2 -2
  61. package/dist/{chunk-XTZHUIGJ.js → chunk-ATKN4BJT.js} +1 -1
  62. package/dist/{chunk-GZL3KEPC.js → chunk-AXJLJJ3M.js} +147 -136
  63. package/dist/{chunk-LVDC3RUE.js → chunk-BG4Y64FW.js} +1 -1
  64. package/dist/{chunk-KSVCCSAO.js → chunk-CDQHQAS7.js} +9 -7
  65. package/dist/{chunk-TN74MUMB.js → chunk-CEQ2AZH4.js} +13 -13
  66. package/dist/{chunk-X6F4BQEE.js → chunk-CSOROFJY.js} +5 -5
  67. package/dist/{chunk-CZULJ647.js → chunk-DJ7EZIQA.js} +3 -3
  68. package/dist/{chunk-IUOUNRLH.js → chunk-ELLJPP6O.js} +2 -2
  69. package/dist/{chunk-5SFM6XB4.js → chunk-ERK24P76.js} +12 -2
  70. package/dist/{chunk-DQ565WFA.js → chunk-EZHY65QA.js} +21 -11
  71. package/dist/{chunk-4LUPZ347.js → chunk-FDWMG6NY.js} +2 -2
  72. package/dist/{chunk-S5LX25XE.js → chunk-FUZ5VYWD.js} +1 -1
  73. package/dist/{chunk-N3NSWWNU.js → chunk-GAMVAORR.js} +1 -1
  74. package/dist/{chunk-QP3XPS5U.js → chunk-HC3FHDKB.js} +6 -6
  75. package/dist/{chunk-ATUZX4K7.js → chunk-IF26ZGZ7.js} +3 -3
  76. package/dist/{chunk-CSQJCXPX.js → chunk-J4KQL7YZ.js} +5 -5
  77. package/dist/{chunk-M7NX25ZA.js → chunk-K4MBKXAE.js} +1 -1
  78. package/dist/{chunk-PZOFPAPG.js → chunk-L3AFVFGQ.js} +2 -2
  79. package/dist/{chunk-S54YLXWW.js → chunk-METMK3L4.js} +4 -4
  80. package/dist/{chunk-ZEHUWE3X.js → chunk-MUNL23WE.js} +6 -6
  81. package/dist/{chunk-3TJLPABQ.js → chunk-NKLNU577.js} +5 -5
  82. package/dist/{chunk-GMXKITVA.js → chunk-NMUI3ZWG.js} +1 -1
  83. package/dist/{chunk-IJ6XKKQW.js → chunk-O6IUZGWV.js} +1 -1
  84. package/dist/chunk-PPY5N2E6.js +58 -0
  85. package/dist/{chunk-XWY4UW62.js → chunk-PUHP4IBA.js} +4 -4
  86. package/dist/{chunk-T2AC5VFQ.js → chunk-QGSHV3WO.js} +5 -5
  87. package/dist/{chunk-RGQEULXD.js → chunk-QLMOU57V.js} +28 -17
  88. package/dist/{chunk-FAGDOPQI.js → chunk-QUBIEZXC.js} +3 -3
  89. package/dist/{chunk-XFUKCBPU.js → chunk-RLVJ6TVL.js} +23 -23
  90. package/dist/{chunk-VPZ5K72D.js → chunk-RPPXQNIA.js} +1 -1
  91. package/dist/{chunk-MCHOBQHE.js → chunk-S54C6TQC.js} +7 -6
  92. package/dist/{chunk-ZL3UR6M5.js → chunk-SEILUNWB.js} +3 -3
  93. package/dist/{chunk-4JJ3T7IE.js → chunk-SOCJ2N3E.js} +6 -6
  94. package/dist/{chunk-JYXIARGW.js → chunk-SVQWHV65.js} +1 -1
  95. package/dist/{chunk-T2BEIPK2.js → chunk-U7NR4JVD.js} +4 -4
  96. package/dist/{chunk-LVWXRXT7.js → chunk-USE5IEEW.js} +1 -1
  97. package/dist/{chunk-OHD35NPC.js → chunk-V57XLKZL.js} +2 -2
  98. package/dist/{chunk-KIH5BDH5.js → chunk-VIJIG5YL.js} +2 -2
  99. package/dist/{chunk-RF74KBF5.js → chunk-W2IVTHIG.js} +9 -9
  100. package/dist/{chunk-WXZN5CS3.js → chunk-WFSGCFXQ.js} +2 -2
  101. package/dist/{chunk-IRZ5FVWG.js → chunk-WN3RACVD.js} +3 -3
  102. package/dist/{chunk-3WNOO7BM.js → chunk-WXPVVXBU.js} +4 -4
  103. package/dist/{chunk-HUWLEVL2.js → chunk-WXZHQ3TT.js} +5 -5
  104. package/dist/chunk-X3YKQJCZ.js +36 -0
  105. package/dist/{chunk-I43PY5G3.js → chunk-XEJOPVCG.js} +1 -1
  106. package/dist/{chunk-ECJJKDP7.js → chunk-XV6S5PWW.js} +3 -3
  107. package/dist/{chunk-ZJNU32VE.js → chunk-Y5V4PA2Z.js} +155 -37
  108. package/dist/{chunk-7RZO6VWD.js → chunk-Y5VKZNFN.js} +2 -2
  109. package/dist/{chunk-VLJ5C6IT.js → chunk-YGE6ML3O.js} +4 -4
  110. package/dist/{chunk-XXNT4FGA.js → chunk-YPD3MTFU.js} +1 -1
  111. package/dist/{chunk-KW6EYFZV.js → chunk-ZGOJLNKS.js} +4 -4
  112. package/dist/{codex-app-cards-switch-TVKXJWXE.js → codex-app-cards-switch-ZO76D2NY.js} +11 -11
  113. package/dist/{codex-desktop-launch-ROTJEEGF.js → codex-desktop-launch-MJT5E3O3.js} +1 -1
  114. package/dist/{codex-session-launch-VL6ZQA3N.js → codex-session-launch-PTFCVIC7.js} +19 -19
  115. package/dist/{config-SYLUYZQE.js → config-SXV6XNVU.js} +3 -3
  116. package/dist/{global-upgrade-IPWV5PTM.js → global-upgrade-ETDP32LO.js} +9 -9
  117. package/dist/{identity-ARPAUNGN.js → identity-OOLIOSMR.js} +4 -4
  118. package/dist/{live-capabilities-EWTRY2HA.js → live-capabilities-2XIFA7YO.js} +4 -4
  119. package/dist/{paths-IZTNMJAQ.js → paths-IIOQZESZ.js} +3 -3
  120. package/dist/{reapply-ILKOYYKA.js → reapply-KFAJSKOQ.js} +28 -28
  121. package/dist/src/index.js +22 -22
  122. package/dist/{upgrade-lock-ML73QXIG.js → upgrade-lock-T6ILR644.js} +4 -4
  123. package/dist/{usage-OUV76AIY.js → usage-6TN7FVWS.js} +3 -3
  124. package/package.json +1 -1
  125. package/dist/chunk-7QLSKOSU.js +0 -19
  126. package/dist/chunk-EO23EUOK.js +0 -14
@@ -1,58 +1,58 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  handlePreToolUse
4
- } from "../chunk-RGQEULXD.js";
4
+ } from "../chunk-QLMOU57V.js";
5
5
  import {
6
6
  exitOnHelpFlag
7
- } from "../chunk-M7NX25ZA.js";
8
- import "../chunk-HRHAZ3GE.js";
9
- import "../chunk-JYXIARGW.js";
7
+ } from "../chunk-K4MBKXAE.js";
8
+ import "../chunk-625DZLT5.js";
9
+ import "../chunk-SVQWHV65.js";
10
10
  import {
11
11
  readToolHookCall
12
- } from "../chunk-K5CAURU5.js";
13
- import "../chunk-VPZ5K72D.js";
14
- import "../chunk-TN74MUMB.js";
12
+ } from "../chunk-6MC2XXFD.js";
13
+ import "../chunk-RPPXQNIA.js";
14
+ import "../chunk-CEQ2AZH4.js";
15
15
  import "../chunk-QW3FRUFB.js";
16
16
  import {
17
17
  activeHookSource,
18
18
  normalizeToolCall,
19
19
  profileFromArgv
20
- } from "../chunk-XWY4UW62.js";
21
- import "../chunk-QP3XPS5U.js";
22
- import "../chunk-KSVCCSAO.js";
23
- import "../chunk-ATUZX4K7.js";
24
- import "../chunk-ECJJKDP7.js";
25
- import "../chunk-QDFLBTUP.js";
26
- import "../chunk-GMXKITVA.js";
27
- import "../chunk-JSQOHMNJ.js";
28
- import "../chunk-N3NSWWNU.js";
29
- import "../chunk-C3IWX6KU.js";
20
+ } from "../chunk-PUHP4IBA.js";
21
+ import "../chunk-HC3FHDKB.js";
22
+ import "../chunk-CDQHQAS7.js";
23
+ import "../chunk-IF26ZGZ7.js";
24
+ import "../chunk-XV6S5PWW.js";
25
+ import "../chunk-4MUFZU2G.js";
26
+ import "../chunk-NMUI3ZWG.js";
27
+ import "../chunk-2AELPDMT.js";
28
+ import "../chunk-GAMVAORR.js";
29
+ import "../chunk-7JXJJNQ5.js";
30
30
  import "../chunk-XHKBHWLX.js";
31
31
  import "../chunk-6ICPEJY5.js";
32
- import "../chunk-IRZ5FVWG.js";
32
+ import "../chunk-WN3RACVD.js";
33
33
  import {
34
34
  canonicalGateInputs
35
- } from "../chunk-RF74KBF5.js";
36
- import "../chunk-QTCFEKLJ.js";
37
- import "../chunk-XXNT4FGA.js";
35
+ } from "../chunk-W2IVTHIG.js";
36
+ import "../chunk-33OOEVPG.js";
37
+ import "../chunk-YPD3MTFU.js";
38
38
  import {
39
39
  exitAfterClientReports
40
- } from "../chunk-DQ565WFA.js";
41
- import "../chunk-ZL3UR6M5.js";
40
+ } from "../chunk-EZHY65QA.js";
41
+ import "../chunk-SEILUNWB.js";
42
42
  import "../chunk-POFBE6ZY.js";
43
- import "../chunk-S54YLXWW.js";
44
- import "../chunk-5DZHKNBU.js";
45
- import "../chunk-IJ6XKKQW.js";
46
- import "../chunk-7QLSKOSU.js";
43
+ import "../chunk-METMK3L4.js";
44
+ import "../chunk-4MWRR5IT.js";
45
+ import "../chunk-O6IUZGWV.js";
46
+ import "../chunk-PPY5N2E6.js";
47
47
  import {
48
48
  EXIT
49
49
  } from "../chunk-KZERVKTD.js";
50
- import "../chunk-7RZO6VWD.js";
51
- import "../chunk-MYBCXDIL.js";
52
- import "../chunk-WVP6UQG3.js";
50
+ import "../chunk-Y5VKZNFN.js";
51
+ import "../chunk-6MJWYYAS.js";
52
+ import "../chunk-2QREHU4O.js";
53
53
  import "../chunk-QENTGE75.js";
54
- import "../chunk-LVDC3RUE.js";
55
- import "../chunk-5SFM6XB4.js";
54
+ import "../chunk-BG4Y64FW.js";
55
+ import "../chunk-ERK24P76.js";
56
56
  import "../chunk-QTOLNRET.js";
57
57
  import {
58
58
  GROK_UNREADABLE_CALL,
@@ -60,7 +60,7 @@ import {
60
60
  isPusharyOwnTool,
61
61
  refusalOutput,
62
62
  renderPreToolUseVerdict
63
- } from "../chunk-GZL3KEPC.js";
63
+ } from "../chunk-AXJLJJ3M.js";
64
64
 
65
65
  // bin/pushary-hook.ts
66
66
  exitOnHelpFlag("hook");
@@ -1,55 +1,56 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  runBrowserLogin
4
- } from "../chunk-S5LX25XE.js";
4
+ } from "../chunk-FUZ5VYWD.js";
5
5
  import "../chunk-PUZZELE6.js";
6
6
  import {
7
+ writeJsonError,
7
8
  writeStdoutFully
8
- } from "../chunk-EO23EUOK.js";
9
+ } from "../chunk-7BHI3PZN.js";
9
10
  import "../chunk-3EGEA4KH.js";
10
11
  import {
11
12
  createIo
12
13
  } from "../chunk-FO3MDD26.js";
13
14
  import {
14
15
  exitOnHelpFlag
15
- } from "../chunk-M7NX25ZA.js";
16
+ } from "../chunk-K4MBKXAE.js";
16
17
  import {
17
18
  recoverDaemonAfterLogin
18
- } from "../chunk-QP3XPS5U.js";
19
+ } from "../chunk-HC3FHDKB.js";
19
20
  import {
20
21
  parseFlags
21
- } from "../chunk-GMXKITVA.js";
22
+ } from "../chunk-NMUI3ZWG.js";
22
23
  import "../chunk-XHKBHWLX.js";
23
24
  import {
24
25
  readConfigFileKey,
25
26
  readControlMode,
26
27
  readKeySource,
27
28
  writeKey
28
- } from "../chunk-IRZ5FVWG.js";
29
+ } from "../chunk-WN3RACVD.js";
29
30
  import {
30
31
  checkApiKey,
31
32
  describeKeyCheck
32
- } from "../chunk-S54YLXWW.js";
33
- import "../chunk-5DZHKNBU.js";
34
- import "../chunk-IJ6XKKQW.js";
33
+ } from "../chunk-METMK3L4.js";
34
+ import "../chunk-4MWRR5IT.js";
35
+ import "../chunk-O6IUZGWV.js";
35
36
  import {
36
37
  UsageError
37
- } from "../chunk-7QLSKOSU.js";
38
+ } from "../chunk-PPY5N2E6.js";
38
39
  import {
39
40
  EXIT
40
41
  } from "../chunk-KZERVKTD.js";
41
- import "../chunk-7RZO6VWD.js";
42
- import "../chunk-MYBCXDIL.js";
43
- import "../chunk-WVP6UQG3.js";
42
+ import "../chunk-Y5VKZNFN.js";
43
+ import "../chunk-6MJWYYAS.js";
44
+ import "../chunk-2QREHU4O.js";
44
45
  import "../chunk-QENTGE75.js";
45
- import "../chunk-LVDC3RUE.js";
46
- import "../chunk-5SFM6XB4.js";
46
+ import "../chunk-BG4Y64FW.js";
47
+ import "../chunk-ERK24P76.js";
47
48
  import {
48
49
  getPackageVersion
49
50
  } from "../chunk-QTOLNRET.js";
50
51
  import {
51
52
  isValidApiKey
52
- } from "../chunk-GZL3KEPC.js";
53
+ } from "../chunk-AXJLJJ3M.js";
53
54
 
54
55
  // bin/pushary-login.ts
55
56
  exitOnHelpFlag("login");
@@ -72,10 +73,11 @@ var options;
72
73
  try {
73
74
  options = parseLoginOptions(process.argv.slice(2));
74
75
  } catch (err) {
76
+ const { exitCode } = await writeJsonError("login", err);
75
77
  process.stderr.write(` ! ${err instanceof Error ? err.message : String(err)}
76
78
  `);
77
79
  process.stderr.write(" Run `pushary login --help` for the full list.\n");
78
- process.exit(EXIT.USAGE);
80
+ process.exit(exitCode);
79
81
  }
80
82
  var { bold, dim, green, cyan, yellow } = createIo();
81
83
  var check = green("\u2713");
@@ -197,8 +199,9 @@ var main = async () => {
197
199
  await emit({ ok: false, reason: "expired" });
198
200
  process.exit(EXIT.NOT_CONFIGURED);
199
201
  };
200
- main().catch((err) => {
202
+ main().catch(async (err) => {
203
+ const { exitCode } = await writeJsonError("login", err);
201
204
  process.stderr.write(` ! login failed: ${err instanceof Error ? err.message : String(err)}
202
205
  `);
203
- process.exit(EXIT.FAILED);
206
+ process.exit(exitCode);
204
207
  });
@@ -1,4 +1,7 @@
1
1
  #!/usr/bin/env node
2
+ import {
3
+ writeJsonError
4
+ } from "../chunk-7BHI3PZN.js";
2
5
  import {
3
6
  describeCliKeyRevocation,
4
7
  keyNoLongerAccepted,
@@ -8,69 +11,69 @@ import {
8
11
  readCliHeldKeys,
9
12
  revokeOwnKey,
10
13
  sparedKeys
11
- } from "../chunk-X6F4BQEE.js";
14
+ } from "../chunk-CSOROFJY.js";
12
15
  import {
13
16
  APPROVAL_SETTINGS_PATH
14
- } from "../chunk-VLJ5C6IT.js";
15
- import "../chunk-T2BEIPK2.js";
16
- import "../chunk-4YNNAF53.js";
17
- import "../chunk-T2AC5VFQ.js";
17
+ } from "../chunk-YGE6ML3O.js";
18
+ import "../chunk-U7NR4JVD.js";
19
+ import "../chunk-ADR3KHOC.js";
20
+ import "../chunk-QGSHV3WO.js";
18
21
  import {
19
22
  createIo
20
23
  } from "../chunk-FO3MDD26.js";
21
24
  import {
22
25
  exitOnHelpFlag
23
- } from "../chunk-M7NX25ZA.js";
24
- import "../chunk-XWY4UW62.js";
25
- import "../chunk-KSVCCSAO.js";
26
- import "../chunk-ATUZX4K7.js";
27
- import "../chunk-ECJJKDP7.js";
28
- import "../chunk-QDFLBTUP.js";
26
+ } from "../chunk-K4MBKXAE.js";
27
+ import "../chunk-PUHP4IBA.js";
28
+ import "../chunk-CDQHQAS7.js";
29
+ import "../chunk-IF26ZGZ7.js";
30
+ import "../chunk-XV6S5PWW.js";
31
+ import "../chunk-4MUFZU2G.js";
29
32
  import {
30
33
  parseFlags
31
- } from "../chunk-GMXKITVA.js";
34
+ } from "../chunk-NMUI3ZWG.js";
32
35
  import "../chunk-6ICPEJY5.js";
33
36
  import {
34
37
  clearKey,
35
38
  keyPrefix,
36
39
  readKeySource,
37
40
  resolveRcTarget
38
- } from "../chunk-IRZ5FVWG.js";
39
- import "../chunk-RF74KBF5.js";
40
- import "../chunk-QTCFEKLJ.js";
41
- import "../chunk-XXNT4FGA.js";
42
- import "../chunk-DQ565WFA.js";
43
- import "../chunk-ZL3UR6M5.js";
41
+ } from "../chunk-WN3RACVD.js";
42
+ import "../chunk-W2IVTHIG.js";
43
+ import "../chunk-33OOEVPG.js";
44
+ import "../chunk-YPD3MTFU.js";
45
+ import "../chunk-EZHY65QA.js";
46
+ import "../chunk-SEILUNWB.js";
44
47
  import "../chunk-POFBE6ZY.js";
45
48
  import {
46
49
  absoluteUrl,
47
50
  checkApiKey
48
- } from "../chunk-S54YLXWW.js";
49
- import "../chunk-5DZHKNBU.js";
50
- import "../chunk-IJ6XKKQW.js";
51
+ } from "../chunk-METMK3L4.js";
52
+ import "../chunk-4MWRR5IT.js";
53
+ import "../chunk-O6IUZGWV.js";
51
54
  import {
52
55
  UsageError
53
- } from "../chunk-7QLSKOSU.js";
56
+ } from "../chunk-PPY5N2E6.js";
54
57
  import {
55
58
  EXIT
56
59
  } from "../chunk-KZERVKTD.js";
57
- import "../chunk-7RZO6VWD.js";
60
+ import "../chunk-Y5VKZNFN.js";
58
61
  import {
59
62
  claudeJson,
60
63
  codexConfigToml,
61
64
  cursorUserMcp,
62
65
  geminiSettings
63
- } from "../chunk-MYBCXDIL.js";
64
- import "../chunk-WVP6UQG3.js";
66
+ } from "../chunk-6MJWYYAS.js";
67
+ import "../chunk-2QREHU4O.js";
65
68
  import "../chunk-QENTGE75.js";
66
69
  import {
67
70
  getBaseUrl
68
- } from "../chunk-LVDC3RUE.js";
71
+ } from "../chunk-BG4Y64FW.js";
69
72
  import {
70
73
  isInvocationOf
71
- } from "../chunk-5SFM6XB4.js";
74
+ } from "../chunk-ERK24P76.js";
72
75
  import "../chunk-QTOLNRET.js";
73
- import "../chunk-GZL3KEPC.js";
76
+ import "../chunk-AXJLJJ3M.js";
74
77
 
75
78
  // bin/pushary-logout.ts
76
79
  import { existsSync } from "fs";
@@ -86,9 +89,10 @@ var options;
86
89
  try {
87
90
  options = parseLogoutOptions(process.argv.slice(2));
88
91
  } catch (err) {
92
+ const { exitCode } = await writeJsonError("sign-out", err);
89
93
  process.stderr.write(` ! ${err instanceof Error ? err.message : String(err)}
90
94
  `);
91
- process.exit(EXIT.USAGE);
95
+ process.exit(exitCode);
92
96
  }
93
97
  var { bold, dim, green, cyan, yellow } = createIo();
94
98
  var say = options.json ? (line) => process.stderr.write(`${line}
@@ -213,8 +217,9 @@ var main = async () => {
213
217
  }
214
218
  process.exit(EXIT.OK);
215
219
  };
216
- main().catch((err) => {
220
+ main().catch(async (err) => {
221
+ const { exitCode } = await writeJsonError("sign-out", err);
217
222
  process.stderr.write(` ! sign-out failed: ${err instanceof Error ? err.message : String(err)}
218
223
  `);
219
- process.exit(EXIT.FAILED);
224
+ process.exit(exitCode);
220
225
  });
@@ -4,31 +4,31 @@ import {
4
4
  bridgeError,
5
5
  createMcpStdioBridge,
6
6
  parseBridgeLine
7
- } from "../chunk-4LUPZ347.js";
7
+ } from "../chunk-FDWMG6NY.js";
8
8
  import {
9
9
  triggerAutoUpdate
10
- } from "../chunk-JZKEC4XJ.js";
11
- import "../chunk-ZL3UR6M5.js";
10
+ } from "../chunk-5RU35K57.js";
11
+ import "../chunk-SEILUNWB.js";
12
12
  import "../chunk-POFBE6ZY.js";
13
- import "../chunk-S54YLXWW.js";
13
+ import "../chunk-METMK3L4.js";
14
14
  import {
15
15
  installNetworkDefaults
16
- } from "../chunk-5DZHKNBU.js";
17
- import "../chunk-IJ6XKKQW.js";
18
- import "../chunk-7QLSKOSU.js";
16
+ } from "../chunk-4MWRR5IT.js";
17
+ import "../chunk-O6IUZGWV.js";
18
+ import "../chunk-PPY5N2E6.js";
19
19
  import {
20
20
  EXIT
21
21
  } from "../chunk-KZERVKTD.js";
22
- import "../chunk-MYBCXDIL.js";
23
- import "../chunk-WVP6UQG3.js";
22
+ import "../chunk-6MJWYYAS.js";
23
+ import "../chunk-2QREHU4O.js";
24
24
  import "../chunk-QENTGE75.js";
25
25
  import {
26
26
  getApiKey,
27
27
  getBaseUrl
28
- } from "../chunk-LVDC3RUE.js";
29
- import "../chunk-5SFM6XB4.js";
28
+ } from "../chunk-BG4Y64FW.js";
29
+ import "../chunk-ERK24P76.js";
30
30
  import "../chunk-QTOLNRET.js";
31
- import "../chunk-GZL3KEPC.js";
31
+ import "../chunk-AXJLJJ3M.js";
32
32
 
33
33
  // src/mcp-stdio-stream.ts
34
34
  var MCP_MAX_IN_FLIGHT = 16;
@@ -1,76 +1,78 @@
1
1
  #!/usr/bin/env node
2
+ import {
3
+ modeResponse
4
+ } from "../chunk-X3YKQJCZ.js";
2
5
  import {
3
6
  exitOnFailedSettingsRequest
4
- } from "../chunk-VLJ5C6IT.js";
5
- import "../chunk-4YNNAF53.js";
7
+ } from "../chunk-YGE6ML3O.js";
8
+ import "../chunk-ADR3KHOC.js";
6
9
  import {
7
10
  createIo
8
11
  } from "../chunk-FO3MDD26.js";
9
12
  import {
10
13
  exitOnHelpFlag
11
- } from "../chunk-M7NX25ZA.js";
14
+ } from "../chunk-K4MBKXAE.js";
15
+ import {
16
+ parseFlags
17
+ } from "../chunk-NMUI3ZWG.js";
18
+ import "../chunk-WN3RACVD.js";
19
+ import "../chunk-METMK3L4.js";
12
20
  import {
13
- rejectUnknownFlags
14
- } from "../chunk-GMXKITVA.js";
15
- import "../chunk-IRZ5FVWG.js";
16
- import "../chunk-S54YLXWW.js";
17
- import "../chunk-5DZHKNBU.js";
18
- import "../chunk-IJ6XKKQW.js";
21
+ pusharyFetch
22
+ } from "../chunk-4MWRR5IT.js";
23
+ import "../chunk-O6IUZGWV.js";
19
24
  import {
20
- UsageError
21
- } from "../chunk-7QLSKOSU.js";
25
+ UsageError,
26
+ exitCodeFor
27
+ } from "../chunk-PPY5N2E6.js";
22
28
  import {
23
29
  EXIT
24
30
  } from "../chunk-KZERVKTD.js";
25
- import "../chunk-7RZO6VWD.js";
26
- import "../chunk-MYBCXDIL.js";
27
- import "../chunk-WVP6UQG3.js";
31
+ import "../chunk-Y5VKZNFN.js";
32
+ import "../chunk-6MJWYYAS.js";
33
+ import "../chunk-2QREHU4O.js";
28
34
  import "../chunk-QENTGE75.js";
29
35
  import {
30
36
  getApiKey,
31
37
  getBaseUrl
32
- } from "../chunk-LVDC3RUE.js";
38
+ } from "../chunk-BG4Y64FW.js";
33
39
  import {
34
40
  UPDATES_ONLY_MODE_INPUTS,
35
41
  describeMode,
36
42
  modeRequestBody,
37
43
  resolveModeInput
38
- } from "../chunk-5SFM6XB4.js";
44
+ } from "../chunk-ERK24P76.js";
39
45
  import "../chunk-QTOLNRET.js";
40
- import "../chunk-GZL3KEPC.js";
46
+ import "../chunk-AXJLJJ3M.js";
41
47
 
42
48
  // bin/pushary-mode.ts
43
49
  exitOnHelpFlag("mode");
44
50
  var VALID_MODES = ["push_only", "push_first", "terminal_only", "notify_only"];
45
51
  var VALID_MODES_LINE = `${VALID_MODES.join(", ")}. ${UPDATES_ONLY_MODE_INPUTS.join(" or ")} sets ${describeMode("notify_only")}`;
46
52
  var { dim, green, cyan, yellow } = createIo();
47
- {
53
+ var main = async () => {
48
54
  const raw = process.argv.slice(2);
49
- const positional = raw[0] === "mode" ? raw.slice(1) : raw;
50
- try {
51
- rejectUnknownFlags(positional, ["--for"]);
52
- } catch (err) {
53
- process.stderr.write(` ! ${err instanceof Error ? err.message : String(err)}
54
- `);
55
- process.exit(EXIT.USAGE);
55
+ const flags = parseFlags(raw[0] === "mode" ? raw.slice(1) : raw, { bools: [], values: ["for"] });
56
+ if (flags.rest.length > 0) throw new UsageError("Expected one mode");
57
+ const mode = flags.command;
58
+ const forValue = flags.values.get("for");
59
+ const requestedMode = mode === void 0 ? null : resolveModeInput(mode);
60
+ if (mode !== void 0 && !["status", "clear", "reset"].includes(mode) && requestedMode === null) {
61
+ throw new UsageError(`Invalid mode: ${mode}. Valid modes: ${VALID_MODES_LINE}`);
56
62
  }
57
- }
58
- var main = async () => {
63
+ if (forValue !== void 0 && requestedMode === null) throw new UsageError("--for requires an approval mode");
64
+ const request = requestedMode === null ? null : modeRequestBody(requestedMode, forValue);
65
+ if (requestedMode !== null && request === null) throw new UsageError(`Invalid duration: ${forValue} (use e.g. 30m, 1h)`);
59
66
  const apiKey = getApiKey();
60
67
  const baseUrl = getBaseUrl();
61
- const rest = process.argv.slice(2);
62
- const args = rest[0] === "mode" ? rest.slice(1) : rest;
63
- const mode = args[0];
64
- const forFlag = args[1];
65
- const forValue = args[2];
66
68
  const headers = {
67
69
  "Authorization": `Bearer ${apiKey}`,
68
70
  "Content-Type": "application/json"
69
71
  };
70
72
  if (!mode || mode === "status") {
71
- const res2 = await fetch(`${baseUrl}/api/mcp/mode`, { headers });
73
+ const res2 = await pusharyFetch(`${baseUrl}/api/mcp/mode`, { headers });
72
74
  if (!res2.ok) await exitOnFailedSettingsRequest(res2, { request: "mode", apiKey, baseUrl });
73
- const data2 = await res2.json();
75
+ const data2 = modeResponse(await res2.json());
74
76
  if (!data2.override) {
75
77
  console.log(` Mode: ${cyan("default")} ${dim("(using per-tool policies)")}`);
76
78
  } else {
@@ -84,35 +86,19 @@ var main = async () => {
84
86
  return;
85
87
  }
86
88
  if (mode === "clear" || mode === "reset") {
87
- const res2 = await fetch(`${baseUrl}/api/mcp/mode`, { method: "DELETE", headers });
89
+ const res2 = await pusharyFetch(`${baseUrl}/api/mcp/mode`, { method: "DELETE", headers });
88
90
  if (!res2.ok) await exitOnFailedSettingsRequest(res2, { request: "mode", apiKey, baseUrl });
89
91
  console.log(` ${green("\u2713")} Mode override cleared \u2014 using per-tool policies`);
90
92
  return;
91
93
  }
92
- const requestedMode = resolveModeInput(mode);
93
- if (requestedMode === null) {
94
- console.log(` ${yellow("!")} Invalid mode: ${mode}`);
95
- console.log(` Valid modes: ${VALID_MODES_LINE}`);
96
- console.log(` ${dim("Usage: pushary mode <mode> [--for <duration>]")}`);
97
- console.log(` ${dim("Example: pushary mode push_only --for 30m")}`);
98
- process.exit(EXIT.USAGE);
99
- }
100
- if (forFlag === "--for" && !forValue) {
101
- console.log(` ${yellow("!")} --for needs a duration ${dim("(use e.g. 30m, 1h)")}`);
102
- process.exit(EXIT.USAGE);
103
- }
104
- const request = modeRequestBody(requestedMode, forFlag === "--for" ? forValue : void 0);
105
- if (!request) {
106
- console.log(` ${yellow("!")} Invalid duration: ${forValue} ${dim("(use e.g. 30m, 1h)")}`);
107
- process.exit(EXIT.USAGE);
108
- }
109
- const res = await fetch(`${baseUrl}/api/mcp/mode`, {
94
+ const res = await pusharyFetch(`${baseUrl}/api/mcp/mode`, {
110
95
  method: "PUT",
111
96
  headers,
112
97
  body: JSON.stringify(request)
113
98
  });
114
99
  if (!res.ok) await exitOnFailedSettingsRequest(res, { request: "mode", apiKey, baseUrl });
115
- const data = await res.json();
100
+ const data = modeResponse(await res.json());
101
+ if (data.override === null) throw new Error("Invalid mode response");
116
102
  console.log(` ${green("\u2713")} Mode set to ${cyan(describeMode(data.override.mode))}${data.permanent ? dim(" (until you change it)") : ""}`);
117
103
  if (data.override.expiresAt) {
118
104
  console.log(` Expires: ${new Date(data.override.expiresAt).toLocaleString()}`);
@@ -125,5 +111,5 @@ main().catch((err) => {
125
111
  process.exit(EXIT.USAGE);
126
112
  }
127
113
  console.error(` ${yellow("!")} ${err instanceof Error ? err.message : err}`);
128
- process.exit(1);
114
+ process.exit(exitCodeFor(err));
129
115
  });
@@ -1,46 +1,46 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  readHookInput
4
- } from "../chunk-K5CAURU5.js";
5
- import "../chunk-TN74MUMB.js";
4
+ } from "../chunk-6MC2XXFD.js";
5
+ import "../chunk-CEQ2AZH4.js";
6
6
  import "../chunk-QW3FRUFB.js";
7
7
  import {
8
8
  activeHookSource,
9
9
  activeIdentity
10
- } from "../chunk-XWY4UW62.js";
11
- import "../chunk-QP3XPS5U.js";
12
- import "../chunk-KSVCCSAO.js";
13
- import "../chunk-ATUZX4K7.js";
14
- import "../chunk-ECJJKDP7.js";
15
- import "../chunk-QDFLBTUP.js";
16
- import "../chunk-GMXKITVA.js";
17
- import "../chunk-JSQOHMNJ.js";
18
- import "../chunk-N3NSWWNU.js";
19
- import "../chunk-C3IWX6KU.js";
10
+ } from "../chunk-PUHP4IBA.js";
11
+ import "../chunk-HC3FHDKB.js";
12
+ import "../chunk-CDQHQAS7.js";
13
+ import "../chunk-IF26ZGZ7.js";
14
+ import "../chunk-XV6S5PWW.js";
15
+ import "../chunk-4MUFZU2G.js";
16
+ import "../chunk-NMUI3ZWG.js";
17
+ import "../chunk-2AELPDMT.js";
18
+ import "../chunk-GAMVAORR.js";
19
+ import "../chunk-7JXJJNQ5.js";
20
20
  import "../chunk-XHKBHWLX.js";
21
21
  import "../chunk-6ICPEJY5.js";
22
- import "../chunk-IRZ5FVWG.js";
22
+ import "../chunk-WN3RACVD.js";
23
23
  import {
24
24
  handleNotification
25
- } from "../chunk-RF74KBF5.js";
26
- import "../chunk-QTCFEKLJ.js";
27
- import "../chunk-XXNT4FGA.js";
28
- import "../chunk-DQ565WFA.js";
29
- import "../chunk-ZL3UR6M5.js";
25
+ } from "../chunk-W2IVTHIG.js";
26
+ import "../chunk-33OOEVPG.js";
27
+ import "../chunk-YPD3MTFU.js";
28
+ import "../chunk-EZHY65QA.js";
29
+ import "../chunk-SEILUNWB.js";
30
30
  import "../chunk-POFBE6ZY.js";
31
- import "../chunk-S54YLXWW.js";
32
- import "../chunk-5DZHKNBU.js";
33
- import "../chunk-IJ6XKKQW.js";
34
- import "../chunk-7QLSKOSU.js";
31
+ import "../chunk-METMK3L4.js";
32
+ import "../chunk-4MWRR5IT.js";
33
+ import "../chunk-O6IUZGWV.js";
34
+ import "../chunk-PPY5N2E6.js";
35
35
  import "../chunk-KZERVKTD.js";
36
- import "../chunk-7RZO6VWD.js";
37
- import "../chunk-MYBCXDIL.js";
38
- import "../chunk-WVP6UQG3.js";
36
+ import "../chunk-Y5VKZNFN.js";
37
+ import "../chunk-6MJWYYAS.js";
38
+ import "../chunk-2QREHU4O.js";
39
39
  import "../chunk-QENTGE75.js";
40
- import "../chunk-LVDC3RUE.js";
41
- import "../chunk-5SFM6XB4.js";
40
+ import "../chunk-BG4Y64FW.js";
41
+ import "../chunk-ERK24P76.js";
42
42
  import "../chunk-QTOLNRET.js";
43
- import "../chunk-GZL3KEPC.js";
43
+ import "../chunk-AXJLJJ3M.js";
44
44
 
45
45
  // bin/pushary-notification-hook.ts
46
46
  var AGENT = activeIdentity(process.argv);