@pushary/agent-hooks 1.6.4 → 1.7.1

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 (102) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/README.md +3 -2
  3. package/dist/bin/pushary-bell-hook.js +23 -24
  4. package/dist/bin/pushary-bell.js +10 -11
  5. package/dist/bin/pushary-claude.js +27 -28
  6. package/dist/bin/pushary-clean.js +173 -71
  7. package/dist/bin/pushary-codex-bridge.js +17 -18
  8. package/dist/bin/pushary-codex-hook.js +30 -31
  9. package/dist/bin/pushary-codex.js +12 -13
  10. package/dist/bin/pushary-connect.js +14 -15
  11. package/dist/bin/pushary-cowork.js +5 -6
  12. package/dist/bin/pushary-daemon.js +27 -28
  13. package/dist/bin/pushary-disconnect.js +17 -18
  14. package/dist/bin/pushary-doctor.js +104 -41
  15. package/dist/bin/pushary-elicitation-hook.js +24 -25
  16. package/dist/bin/pushary-gemini-bridge.js +12 -13
  17. package/dist/bin/pushary-gemini-hook.js +27 -28
  18. package/dist/bin/pushary-hook.js +31 -32
  19. package/dist/bin/pushary-login.js +14 -16
  20. package/dist/bin/pushary-logout.js +8 -9
  21. package/dist/bin/pushary-mcp.d.ts +1 -0
  22. package/dist/bin/pushary-mcp.js +56 -0
  23. package/dist/bin/pushary-mode.js +10 -11
  24. package/dist/bin/pushary-notification-hook.js +27 -28
  25. package/dist/bin/pushary-opencode-hook.js +26 -27
  26. package/dist/bin/pushary-permission-denied-hook.js +31 -32
  27. package/dist/bin/pushary-permission-hook.js +30 -31
  28. package/dist/bin/pushary-post-hook.js +27 -28
  29. package/dist/bin/pushary-prompt-hook.js +27 -28
  30. package/dist/bin/pushary-session-end-hook.js +27 -28
  31. package/dist/bin/pushary-session-start-hook.js +31 -32
  32. package/dist/bin/pushary-setup.js +235 -100
  33. package/dist/bin/pushary-stats.js +5 -6
  34. package/dist/bin/pushary-status.js +16 -17
  35. package/dist/bin/pushary-stop-hook.js +27 -28
  36. package/dist/bin/pushary-stopfailure-hook.js +27 -28
  37. package/dist/bin/pushary-suggestions.js +5 -5
  38. package/dist/bin/pushary-transcript-register.js +19 -20
  39. package/dist/bin/pushary-transcripts.js +7 -8
  40. package/dist/bin/pushary-upgrade.js +20 -21
  41. package/dist/bin/pushary-wait.js +10 -11
  42. package/dist/bin/pushary.js +6 -7
  43. package/dist/chunk-2FU43B5Q.js +120 -0
  44. package/dist/{chunk-6NLWK6ZV.js → chunk-3QE3BHBW.js} +2 -2
  45. package/dist/{chunk-NYMPLNV3.js → chunk-3QORH5EJ.js} +3 -3
  46. package/dist/{chunk-LFMOYHPY.js → chunk-3T35OE7C.js} +2 -2
  47. package/dist/{chunk-5U3FJ6YF.js → chunk-42XR73I2.js} +8 -8
  48. package/dist/{chunk-UGKDBJJX.js → chunk-43SSQCWO.js} +3 -3
  49. package/dist/{chunk-K32C2RGK.js → chunk-454KMJHF.js} +17 -9
  50. package/dist/{chunk-YUGGNZSF.js → chunk-4C4NRDIC.js} +1 -1
  51. package/dist/{chunk-HUB4Q35G.js → chunk-55RO62FV.js} +1 -1
  52. package/dist/{chunk-YQMFGWBD.js → chunk-62TEPRWQ.js} +1 -1
  53. package/dist/{chunk-P4BNYJ5Q.js → chunk-6PV2JQ64.js} +2 -2
  54. package/dist/{chunk-53DN77WB.js → chunk-6SJQ442W.js} +2 -2
  55. package/dist/{chunk-UAP556WK.js → chunk-7GI6QC3M.js} +2 -2
  56. package/dist/{chunk-D3K2FPPJ.js → chunk-7GYGVQBU.js} +8 -8
  57. package/dist/{chunk-OZE2TQX5.js → chunk-AAGLDXH4.js} +5 -5
  58. package/dist/{chunk-XJG2FUWS.js → chunk-AHWJHLG5.js} +9 -30
  59. package/dist/{chunk-P4UYILQK.js → chunk-BYVB3RX3.js} +2 -2
  60. package/dist/{chunk-EA3IELHP.js → chunk-EIZW73P5.js} +6 -2
  61. package/dist/{chunk-BY2CRWBO.js → chunk-H6JV44TE.js} +1 -1
  62. package/dist/{chunk-3LU74H52.js → chunk-IGBDOZUO.js} +1 -1
  63. package/dist/{chunk-N62KAMMY.js → chunk-JMBG47WV.js} +30 -1
  64. package/dist/{chunk-DESAUCH2.js → chunk-JTQDP4ZL.js} +4 -6
  65. package/dist/{chunk-LJEL7IB5.js → chunk-KBLIVEFJ.js} +5 -5
  66. package/dist/{chunk-VOCZHOXV.js → chunk-KSNAAMU5.js} +4 -4
  67. package/dist/{chunk-5UWV5GHM.js → chunk-MCNS4725.js} +1 -1
  68. package/dist/{chunk-I3XJATMR.js → chunk-MWVCDP64.js} +1 -1
  69. package/dist/chunk-NAAZCNKI.js +757 -0
  70. package/dist/{chunk-3VZX4NSP.js → chunk-NID4UZDN.js} +1 -1
  71. package/dist/{chunk-BJENQBMH.js → chunk-NQFGVAT6.js} +8 -4
  72. package/dist/{chunk-XOMH53NB.js → chunk-O5JD7UI5.js} +1 -1
  73. package/dist/{chunk-5RUIFDTP.js → chunk-O5PRIYFZ.js} +30 -2
  74. package/dist/{chunk-OSJEMXSR.js → chunk-OAL44FM2.js} +1 -1
  75. package/dist/{chunk-66H2QQAK.js → chunk-OTZHT34O.js} +1 -1
  76. package/dist/{chunk-DZTKLE7Q.js → chunk-P5CBNSYL.js} +1 -1
  77. package/dist/{chunk-GBL4BTG3.js → chunk-Q7QRR6YL.js} +2 -2
  78. package/dist/{chunk-YPONELWS.js → chunk-QPR33SHS.js} +6 -6
  79. package/dist/{chunk-LDRGVXLR.js → chunk-SNWNA3MQ.js} +1 -1
  80. package/dist/{chunk-5SWQZ6HY.js → chunk-SVEMF2VO.js} +4 -4
  81. package/dist/{chunk-VHNDE3ZD.js → chunk-UPKP67TA.js} +2 -2
  82. package/dist/{chunk-PJF7L7AA.js → chunk-VCMFKZON.js} +2 -2
  83. package/dist/{chunk-H6XU22TN.js → chunk-WM3U2RUK.js} +8 -8
  84. package/dist/{chunk-ZA5UXRNE.js → chunk-WSC53O7I.js} +3 -3
  85. package/dist/{chunk-7CLTSZOL.js → chunk-WZWXBTRF.js} +3 -3
  86. package/dist/{chunk-YXPGFRRW.js → chunk-XDASEYRS.js} +3 -3
  87. package/dist/{chunk-CAS7GFWI.js → chunk-XFNVG3OV.js} +75 -5
  88. package/dist/{chunk-I2YUMZLE.js → chunk-XMN37YJH.js} +1 -1
  89. package/dist/{chunk-LQI7W4RG.js → chunk-XPMOCJHN.js} +1 -1
  90. package/dist/{chunk-VA2R64I7.js → chunk-XPTCPU6V.js} +1 -1
  91. package/dist/{chunk-PBKEYMAO.js → chunk-Y6GKOZBT.js} +1 -1
  92. package/dist/{chunk-JOGA3TL2.js → chunk-YQN7S57T.js} +6 -6
  93. package/dist/{chunk-R4HVHTNA.js → chunk-YZKS3ME3.js} +2 -2
  94. package/dist/chunk-ZEMSCGDD.js +87 -0
  95. package/dist/{chunk-EREBZHN2.js → chunk-ZIIYTQHC.js} +4 -4
  96. package/dist/{reapply-4DAJKNVP.js → reapply-66GQIBXN.js} +9 -10
  97. package/dist/src/index.js +19 -20
  98. package/package.json +2 -1
  99. package/dist/chunk-GU3EJCVV.js +0 -43
  100. package/dist/chunk-HWJW3CPO.js +0 -65
  101. package/dist/chunk-NFH73H5B.js +0 -360
  102. package/dist/chunk-P32LPT2L.js +0 -6
@@ -2,47 +2,46 @@
2
2
  import {
3
3
  activeHookSource,
4
4
  activeIdentity
5
- } from "../chunk-LJEL7IB5.js";
6
- import "../chunk-ZA5UXRNE.js";
5
+ } from "../chunk-KBLIVEFJ.js";
6
+ import "../chunk-WSC53O7I.js";
7
7
  import {
8
8
  readHookInput
9
- } from "../chunk-UAP556WK.js";
10
- import "../chunk-D3K2FPPJ.js";
9
+ } from "../chunk-7GI6QC3M.js";
10
+ import "../chunk-7GYGVQBU.js";
11
11
  import "../chunk-SGZJ5LYH.js";
12
- import "../chunk-5SWQZ6HY.js";
13
- import "../chunk-I2YUMZLE.js";
14
- import "../chunk-I3XJATMR.js";
15
- import "../chunk-YXPGFRRW.js";
16
- import "../chunk-OZE2TQX5.js";
17
- import "../chunk-7CLTSZOL.js";
18
- import "../chunk-LQI7W4RG.js";
19
- import "../chunk-XOMH53NB.js";
20
- import "../chunk-66H2QQAK.js";
21
- import "../chunk-VA2R64I7.js";
12
+ import "../chunk-SVEMF2VO.js";
13
+ import "../chunk-XMN37YJH.js";
14
+ import "../chunk-MWVCDP64.js";
15
+ import "../chunk-XDASEYRS.js";
16
+ import "../chunk-AAGLDXH4.js";
17
+ import "../chunk-WZWXBTRF.js";
18
+ import "../chunk-XPMOCJHN.js";
19
+ import "../chunk-O5JD7UI5.js";
20
+ import "../chunk-OTZHT34O.js";
21
+ import "../chunk-XPTCPU6V.js";
22
22
  import "../chunk-XHKBHWLX.js";
23
23
  import {
24
24
  handleStop,
25
25
  handleSubagentStop,
26
26
  isSubagentStop
27
- } from "../chunk-H6XU22TN.js";
28
- import "../chunk-YUGGNZSF.js";
29
- import "../chunk-EREBZHN2.js";
30
- import "../chunk-VOCZHOXV.js";
27
+ } from "../chunk-WM3U2RUK.js";
28
+ import "../chunk-4C4NRDIC.js";
29
+ import "../chunk-ZIIYTQHC.js";
30
+ import "../chunk-KSNAAMU5.js";
31
31
  import "../chunk-POFBE6ZY.js";
32
32
  import "../chunk-GMXKITVA.js";
33
- import "../chunk-R4HVHTNA.js";
34
- import "../chunk-BJENQBMH.js";
35
- import "../chunk-DESAUCH2.js";
36
- import "../chunk-DZTKLE7Q.js";
33
+ import "../chunk-YZKS3ME3.js";
34
+ import "../chunk-NQFGVAT6.js";
35
+ import "../chunk-JTQDP4ZL.js";
36
+ import "../chunk-P5CBNSYL.js";
37
37
  import "../chunk-7QLSKOSU.js";
38
38
  import "../chunk-KZERVKTD.js";
39
- import "../chunk-VHNDE3ZD.js";
40
- import "../chunk-K32C2RGK.js";
39
+ import "../chunk-UPKP67TA.js";
40
+ import "../chunk-454KMJHF.js";
41
41
  import "../chunk-T7E75EKA.js";
42
- import "../chunk-OSJEMXSR.js";
43
- import "../chunk-CAS7GFWI.js";
44
- import "../chunk-EA3IELHP.js";
45
- import "../chunk-HWJW3CPO.js";
42
+ import "../chunk-OAL44FM2.js";
43
+ import "../chunk-EIZW73P5.js";
44
+ import "../chunk-XFNVG3OV.js";
46
45
 
47
46
  // bin/pushary-stop-hook.ts
48
47
  var AGENT = activeIdentity(process.argv);
@@ -2,45 +2,44 @@
2
2
  import {
3
3
  activeHookSource,
4
4
  activeIdentity
5
- } from "../chunk-LJEL7IB5.js";
6
- import "../chunk-ZA5UXRNE.js";
5
+ } from "../chunk-KBLIVEFJ.js";
6
+ import "../chunk-WSC53O7I.js";
7
7
  import {
8
8
  readHookInput
9
- } from "../chunk-UAP556WK.js";
10
- import "../chunk-D3K2FPPJ.js";
9
+ } from "../chunk-7GI6QC3M.js";
10
+ import "../chunk-7GYGVQBU.js";
11
11
  import "../chunk-SGZJ5LYH.js";
12
- import "../chunk-5SWQZ6HY.js";
13
- import "../chunk-I2YUMZLE.js";
14
- import "../chunk-I3XJATMR.js";
15
- import "../chunk-YXPGFRRW.js";
16
- import "../chunk-OZE2TQX5.js";
17
- import "../chunk-7CLTSZOL.js";
18
- import "../chunk-LQI7W4RG.js";
19
- import "../chunk-XOMH53NB.js";
20
- import "../chunk-66H2QQAK.js";
21
- import "../chunk-VA2R64I7.js";
12
+ import "../chunk-SVEMF2VO.js";
13
+ import "../chunk-XMN37YJH.js";
14
+ import "../chunk-MWVCDP64.js";
15
+ import "../chunk-XDASEYRS.js";
16
+ import "../chunk-AAGLDXH4.js";
17
+ import "../chunk-WZWXBTRF.js";
18
+ import "../chunk-XPMOCJHN.js";
19
+ import "../chunk-O5JD7UI5.js";
20
+ import "../chunk-OTZHT34O.js";
21
+ import "../chunk-XPTCPU6V.js";
22
22
  import "../chunk-XHKBHWLX.js";
23
23
  import {
24
24
  handleStopFailure
25
- } from "../chunk-H6XU22TN.js";
26
- import "../chunk-YUGGNZSF.js";
27
- import "../chunk-EREBZHN2.js";
28
- import "../chunk-VOCZHOXV.js";
25
+ } from "../chunk-WM3U2RUK.js";
26
+ import "../chunk-4C4NRDIC.js";
27
+ import "../chunk-ZIIYTQHC.js";
28
+ import "../chunk-KSNAAMU5.js";
29
29
  import "../chunk-POFBE6ZY.js";
30
30
  import "../chunk-GMXKITVA.js";
31
- import "../chunk-R4HVHTNA.js";
32
- import "../chunk-BJENQBMH.js";
33
- import "../chunk-DESAUCH2.js";
34
- import "../chunk-DZTKLE7Q.js";
31
+ import "../chunk-YZKS3ME3.js";
32
+ import "../chunk-NQFGVAT6.js";
33
+ import "../chunk-JTQDP4ZL.js";
34
+ import "../chunk-P5CBNSYL.js";
35
35
  import "../chunk-7QLSKOSU.js";
36
36
  import "../chunk-KZERVKTD.js";
37
- import "../chunk-VHNDE3ZD.js";
38
- import "../chunk-K32C2RGK.js";
37
+ import "../chunk-UPKP67TA.js";
38
+ import "../chunk-454KMJHF.js";
39
39
  import "../chunk-T7E75EKA.js";
40
- import "../chunk-OSJEMXSR.js";
41
- import "../chunk-CAS7GFWI.js";
42
- import "../chunk-EA3IELHP.js";
43
- import "../chunk-HWJW3CPO.js";
40
+ import "../chunk-OAL44FM2.js";
41
+ import "../chunk-EIZW73P5.js";
42
+ import "../chunk-XFNVG3OV.js";
44
43
 
45
44
  // bin/pushary-stopfailure-hook.ts
46
45
  var AGENT = activeIdentity(process.argv);
@@ -1,10 +1,10 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  createIo
4
- } from "../chunk-5RUIFDTP.js";
4
+ } from "../chunk-O5PRIYFZ.js";
5
5
  import {
6
6
  exitOnHelpFlag
7
- } from "../chunk-P4BNYJ5Q.js";
7
+ } from "../chunk-6PV2JQ64.js";
8
8
  import {
9
9
  rejectUnknownFlags
10
10
  } from "../chunk-GMXKITVA.js";
@@ -17,9 +17,9 @@ import {
17
17
  import {
18
18
  getApiKey,
19
19
  getBaseUrl
20
- } from "../chunk-OSJEMXSR.js";
21
- import "../chunk-EA3IELHP.js";
22
- import "../chunk-HWJW3CPO.js";
20
+ } from "../chunk-OAL44FM2.js";
21
+ import "../chunk-EIZW73P5.js";
22
+ import "../chunk-XFNVG3OV.js";
23
23
 
24
24
  // bin/pushary-suggestions.ts
25
25
  exitOnHelpFlag("suggestions");
@@ -1,32 +1,31 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  registerTranscript
4
- } from "../chunk-D3K2FPPJ.js";
4
+ } from "../chunk-7GYGVQBU.js";
5
5
  import "../chunk-SGZJ5LYH.js";
6
- import "../chunk-5SWQZ6HY.js";
7
- import "../chunk-I2YUMZLE.js";
8
- import "../chunk-I3XJATMR.js";
9
- import "../chunk-YXPGFRRW.js";
10
- import "../chunk-OZE2TQX5.js";
11
- import "../chunk-7CLTSZOL.js";
12
- import "../chunk-LQI7W4RG.js";
13
- import "../chunk-XOMH53NB.js";
14
- import "../chunk-66H2QQAK.js";
15
- import "../chunk-VA2R64I7.js";
6
+ import "../chunk-SVEMF2VO.js";
7
+ import "../chunk-XMN37YJH.js";
8
+ import "../chunk-MWVCDP64.js";
9
+ import "../chunk-XDASEYRS.js";
10
+ import "../chunk-AAGLDXH4.js";
11
+ import "../chunk-WZWXBTRF.js";
12
+ import "../chunk-XPMOCJHN.js";
13
+ import "../chunk-O5JD7UI5.js";
14
+ import "../chunk-OTZHT34O.js";
15
+ import "../chunk-XPTCPU6V.js";
16
16
  import "../chunk-XHKBHWLX.js";
17
- import "../chunk-YUGGNZSF.js";
17
+ import "../chunk-4C4NRDIC.js";
18
18
  import "../chunk-GMXKITVA.js";
19
- import "../chunk-R4HVHTNA.js";
20
- import "../chunk-DZTKLE7Q.js";
19
+ import "../chunk-YZKS3ME3.js";
20
+ import "../chunk-P5CBNSYL.js";
21
21
  import "../chunk-7QLSKOSU.js";
22
22
  import "../chunk-KZERVKTD.js";
23
- import "../chunk-VHNDE3ZD.js";
24
- import "../chunk-K32C2RGK.js";
23
+ import "../chunk-UPKP67TA.js";
24
+ import "../chunk-454KMJHF.js";
25
25
  import "../chunk-T7E75EKA.js";
26
- import "../chunk-OSJEMXSR.js";
27
- import "../chunk-CAS7GFWI.js";
28
- import "../chunk-EA3IELHP.js";
29
- import "../chunk-HWJW3CPO.js";
26
+ import "../chunk-OAL44FM2.js";
27
+ import "../chunk-EIZW73P5.js";
28
+ import "../chunk-XFNVG3OV.js";
30
29
 
31
30
  // bin/pushary-transcript-register.ts
32
31
  var raw = "";
@@ -6,18 +6,17 @@ import {
6
6
  } from "../chunk-SGZJ5LYH.js";
7
7
  import {
8
8
  transcriptsEnabled
9
- } from "../chunk-VA2R64I7.js";
9
+ } from "../chunk-XPTCPU6V.js";
10
10
  import {
11
11
  exitOnHelpFlag
12
- } from "../chunk-P4BNYJ5Q.js";
13
- import "../chunk-R4HVHTNA.js";
12
+ } from "../chunk-6PV2JQ64.js";
13
+ import "../chunk-YZKS3ME3.js";
14
14
  import "../chunk-KZERVKTD.js";
15
- import "../chunk-VHNDE3ZD.js";
15
+ import "../chunk-UPKP67TA.js";
16
16
  import "../chunk-T7E75EKA.js";
17
- import "../chunk-OSJEMXSR.js";
18
- import "../chunk-CAS7GFWI.js";
19
- import "../chunk-EA3IELHP.js";
20
- import "../chunk-HWJW3CPO.js";
17
+ import "../chunk-OAL44FM2.js";
18
+ import "../chunk-EIZW73P5.js";
19
+ import "../chunk-XFNVG3OV.js";
21
20
 
22
21
  // bin/pushary-transcripts.ts
23
22
  exitOnHelpFlag("transcripts");
@@ -1,22 +1,22 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  describeCodexTrustConfirmation
4
- } from "../chunk-BY2CRWBO.js";
4
+ } from "../chunk-H6JV44TE.js";
5
5
  import {
6
6
  ensureCodexTrustAfterReapply,
7
7
  reapplyAllAgents
8
- } from "../chunk-YPONELWS.js";
9
- import "../chunk-PBKEYMAO.js";
10
- import "../chunk-53DN77WB.js";
8
+ } from "../chunk-QPR33SHS.js";
9
+ import "../chunk-Y6GKOZBT.js";
10
+ import "../chunk-6SJQ442W.js";
11
11
  import {
12
12
  waitForMachineReadiness
13
- } from "../chunk-JOGA3TL2.js";
14
- import "../chunk-ZA5UXRNE.js";
13
+ } from "../chunk-YQN7S57T.js";
14
+ import "../chunk-WSC53O7I.js";
15
15
  import {
16
16
  detectProviderLiveCapabilities,
17
17
  hasSpawnProvider,
18
18
  resolveControlPolicy
19
- } from "../chunk-GBL4BTG3.js";
19
+ } from "../chunk-Q7QRR6YL.js";
20
20
  import {
21
21
  AUTO_UPDATE_DISABLE_ENV,
22
22
  describeAutoUpdateCheck,
@@ -27,8 +27,8 @@ import {
27
27
  readAutoUpdateState,
28
28
  updateAutoUpdateState,
29
29
  upgradeEntryFor
30
- } from "../chunk-P4UYILQK.js";
31
- import "../chunk-YXPGFRRW.js";
30
+ } from "../chunk-BYVB3RX3.js";
31
+ import "../chunk-XDASEYRS.js";
32
32
  import {
33
33
  daemonHasRemoteProof,
34
34
  daemonServiceManagerAvailable,
@@ -39,24 +39,24 @@ import {
39
39
  replaceDaemonService,
40
40
  stopDaemonService,
41
41
  waitForDaemonRemoteProof
42
- } from "../chunk-OZE2TQX5.js";
43
- import "../chunk-7CLTSZOL.js";
42
+ } from "../chunk-AAGLDXH4.js";
43
+ import "../chunk-WZWXBTRF.js";
44
44
  import {
45
45
  needsShell
46
46
  } from "../chunk-XHKBHWLX.js";
47
- import "../chunk-YUGGNZSF.js";
47
+ import "../chunk-4C4NRDIC.js";
48
48
  import "../chunk-POFBE6ZY.js";
49
49
  import {
50
50
  exitOnHelpFlag
51
- } from "../chunk-P4BNYJ5Q.js";
51
+ } from "../chunk-6PV2JQ64.js";
52
52
  import {
53
53
  readControlMode
54
- } from "../chunk-R4HVHTNA.js";
55
- import "../chunk-DZTKLE7Q.js";
54
+ } from "../chunk-YZKS3ME3.js";
55
+ import "../chunk-P5CBNSYL.js";
56
56
  import {
57
57
  EXIT
58
58
  } from "../chunk-KZERVKTD.js";
59
- import "../chunk-VHNDE3ZD.js";
59
+ import "../chunk-UPKP67TA.js";
60
60
  import {
61
61
  LATEST_TAG,
62
62
  autoUpdateLock,
@@ -72,22 +72,21 @@ import {
72
72
  npmErrorMessage,
73
73
  resolveGlobalBinary,
74
74
  vscodePluginDir
75
- } from "../chunk-K32C2RGK.js";
75
+ } from "../chunk-454KMJHF.js";
76
76
  import "../chunk-T7E75EKA.js";
77
77
  import {
78
78
  getApiKey
79
- } from "../chunk-OSJEMXSR.js";
80
- import "../chunk-CAS7GFWI.js";
79
+ } from "../chunk-OAL44FM2.js";
81
80
  import {
82
81
  NPX_LATEST_COMMAND
83
- } from "../chunk-EA3IELHP.js";
82
+ } from "../chunk-EIZW73P5.js";
84
83
  import {
85
84
  isNewerVersion,
86
85
  isReleaseVersion,
87
86
  isSameMajorVersion,
88
87
  ownPackageRoot,
89
88
  packageVersionAt
90
- } from "../chunk-HWJW3CPO.js";
89
+ } from "../chunk-XFNVG3OV.js";
91
90
 
92
91
  // bin/pushary-upgrade.ts
93
92
  import { existsSync } from "fs";
@@ -4,34 +4,33 @@ import {
4
4
  } from "../chunk-CVWG2N3Y.js";
5
5
  import {
6
6
  exitOnFailedResponse
7
- } from "../chunk-LFMOYHPY.js";
8
- import "../chunk-UGKDBJJX.js";
7
+ } from "../chunk-3T35OE7C.js";
8
+ import "../chunk-43SSQCWO.js";
9
9
  import {
10
10
  createIo
11
- } from "../chunk-5RUIFDTP.js";
11
+ } from "../chunk-O5PRIYFZ.js";
12
12
  import {
13
13
  exitOnHelpFlag
14
- } from "../chunk-P4BNYJ5Q.js";
14
+ } from "../chunk-6PV2JQ64.js";
15
15
  import {
16
16
  rejectUnknownFlags
17
17
  } from "../chunk-GMXKITVA.js";
18
- import "../chunk-DESAUCH2.js";
19
- import "../chunk-DZTKLE7Q.js";
18
+ import "../chunk-JTQDP4ZL.js";
19
+ import "../chunk-P5CBNSYL.js";
20
20
  import {
21
21
  UsageError
22
22
  } from "../chunk-7QLSKOSU.js";
23
23
  import {
24
24
  EXIT
25
25
  } from "../chunk-KZERVKTD.js";
26
- import "../chunk-K32C2RGK.js";
26
+ import "../chunk-454KMJHF.js";
27
27
  import "../chunk-T7E75EKA.js";
28
28
  import {
29
29
  getApiKey,
30
30
  getBaseUrl
31
- } from "../chunk-OSJEMXSR.js";
32
- import "../chunk-CAS7GFWI.js";
33
- import "../chunk-EA3IELHP.js";
34
- import "../chunk-HWJW3CPO.js";
31
+ } from "../chunk-OAL44FM2.js";
32
+ import "../chunk-EIZW73P5.js";
33
+ import "../chunk-XFNVG3OV.js";
35
34
 
36
35
  // bin/pushary-wait.ts
37
36
  exitOnHelpFlag("wait");
@@ -1,24 +1,23 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  installNetworkDefaults
4
- } from "../chunk-DESAUCH2.js";
5
- import "../chunk-DZTKLE7Q.js";
4
+ } from "../chunk-JTQDP4ZL.js";
5
+ import "../chunk-P5CBNSYL.js";
6
6
  import "../chunk-7QLSKOSU.js";
7
7
  import {
8
8
  EXIT
9
9
  } from "../chunk-KZERVKTD.js";
10
- import "../chunk-K32C2RGK.js";
10
+ import "../chunk-454KMJHF.js";
11
11
  import "../chunk-T7E75EKA.js";
12
- import "../chunk-OSJEMXSR.js";
13
- import "../chunk-CAS7GFWI.js";
12
+ import "../chunk-OAL44FM2.js";
14
13
  import {
15
14
  COMMANDS,
16
15
  isCommandName,
17
16
  renderHelp
18
- } from "../chunk-EA3IELHP.js";
17
+ } from "../chunk-EIZW73P5.js";
19
18
  import {
20
19
  getPackageVersion
21
- } from "../chunk-HWJW3CPO.js";
20
+ } from "../chunk-XFNVG3OV.js";
22
21
 
23
22
  // src/cli/runtime.ts
24
23
  var supportsRuntime = (version) => {
@@ -0,0 +1,120 @@
1
+ import {
2
+ parseSseMessages
3
+ } from "./chunk-NQFGVAT6.js";
4
+ import {
5
+ NPX_LATEST_COMMAND
6
+ } from "./chunk-EIZW73P5.js";
7
+
8
+ // src/mcp-stdio-bridge.ts
9
+ var MCP_BRIDGE_BINARY = "pushary-mcp";
10
+ var MCP_BRIDGE_PATH = "/api/mcp/mcp";
11
+ var MCP_BRIDGE_REQUEST_TIMEOUT_MS = 9e4;
12
+ var JSON_RPC_PARSE_ERROR = -32700;
13
+ var MCP_BRIDGE_ERROR = -32e3;
14
+ var MCP_SESSION_HEADER = "mcp-session-id";
15
+ var MCP_PROTOCOL_HEADER = "mcp-protocol-version";
16
+ var INITIALIZE_METHOD = "initialize";
17
+ var MISSING_KEY_MESSAGE = `Pushary has no API key for this machine. Run \`${NPX_LATEST_COMMAND} setup\`.`;
18
+ var REJECTED_KEY_MESSAGE = `Pushary rejected this machine's API key. Run \`${NPX_LATEST_COMMAND} setup\` to sign in again.`;
19
+ var PARSE_ERROR_MESSAGE = "Parse error";
20
+ var NO_RESPONSE_MESSAGE = "Pushary sent no response.";
21
+ var unreachableMessage = (err) => `Pushary is unreachable: ${err instanceof Error ? err.message : String(err)}`;
22
+ var asRecord = (value) => value && typeof value === "object" && !Array.isArray(value) ? value : void 0;
23
+ var isJsonRpcId = (value) => typeof value === "string" || typeof value === "number";
24
+ var messagesOf = (payload) => Array.isArray(payload) ? payload : [payload];
25
+ var requestOf = (message) => {
26
+ const record = asRecord(message);
27
+ return record && typeof record.method === "string" && isJsonRpcId(record.id) ? [{ id: record.id, method: record.method }] : [];
28
+ };
29
+ var requestsIn = (payload) => messagesOf(payload).flatMap(requestOf);
30
+ var isJsonRpcMessage = (message) => asRecord(message)?.jsonrpc === "2.0";
31
+ var responseIdOf = (message) => {
32
+ const record = asRecord(message);
33
+ return record && !("method" in record) && isJsonRpcId(record.id) ? record.id : void 0;
34
+ };
35
+ var bridgeError = (id, message, code = MCP_BRIDGE_ERROR) => ({
36
+ jsonrpc: "2.0",
37
+ id,
38
+ error: { code, message }
39
+ });
40
+ var parseBridgeLine = (line) => {
41
+ try {
42
+ return { ok: true, payload: JSON.parse(line) };
43
+ } catch {
44
+ return { ok: false };
45
+ }
46
+ };
47
+ var parseMcpMessages = (body, contentType) => {
48
+ if (!body.trim()) return [];
49
+ if (contentType?.includes("text/event-stream")) return parseSseMessages(body);
50
+ const parsed = parseBridgeLine(body);
51
+ return parsed.ok ? messagesOf(parsed.payload) : [];
52
+ };
53
+ var httpFailureMessage = (status, hasKey, body) => {
54
+ if (status === 401) return hasKey ? REJECTED_KEY_MESSAGE : MISSING_KEY_MESSAGE;
55
+ const detail = body.trim().slice(0, 300);
56
+ return detail ? `Pushary returned ${status}: ${detail}` : `Pushary returned ${status}.`;
57
+ };
58
+ var negotiatedProtocolOf = (messages, initializeIds) => {
59
+ for (const message of messages) {
60
+ const id = responseIdOf(message);
61
+ const version = asRecord(asRecord(message)?.result)?.protocolVersion;
62
+ if (id !== void 0 && initializeIds.has(id) && typeof version === "string") return version;
63
+ }
64
+ return void 0;
65
+ };
66
+ var createMcpStdioBridge = (deps) => {
67
+ let sessionId = null;
68
+ let protocolVersion = null;
69
+ const headersFor = (apiKey) => ({
70
+ "Content-Type": "application/json",
71
+ "Accept": "application/json, text/event-stream",
72
+ ...apiKey ? { Authorization: `Bearer ${apiKey}` } : {},
73
+ ...sessionId ? { [MCP_SESSION_HEADER]: sessionId } : {},
74
+ ...protocolVersion ? { [MCP_PROTOCOL_HEADER]: protocolVersion } : {}
75
+ });
76
+ const failRequests = (requests, message, answered = /* @__PURE__ */ new Set()) => {
77
+ for (const request of requests) {
78
+ if (!answered.has(request.id)) deps.emit(bridgeError(request.id, message));
79
+ }
80
+ };
81
+ const post = async (line, apiKey) => deps.fetchImpl(deps.endpoint, {
82
+ method: "POST",
83
+ headers: headersFor(apiKey),
84
+ body: line,
85
+ signal: AbortSignal.timeout(deps.timeoutMs ?? MCP_BRIDGE_REQUEST_TIMEOUT_MS)
86
+ });
87
+ const forward = async (line) => {
88
+ const parsed = parseBridgeLine(line);
89
+ if (!parsed.ok) {
90
+ deps.emit(bridgeError(null, PARSE_ERROR_MESSAGE, JSON_RPC_PARSE_ERROR));
91
+ return;
92
+ }
93
+ const requests = requestsIn(parsed.payload);
94
+ const apiKey = deps.apiKey();
95
+ let response;
96
+ let body;
97
+ try {
98
+ response = await post(line, apiKey);
99
+ body = await response.text();
100
+ } catch (err) {
101
+ failRequests(requests, unreachableMessage(err));
102
+ return;
103
+ }
104
+ sessionId = response.headers.get(MCP_SESSION_HEADER) ?? sessionId;
105
+ const messages = parseMcpMessages(body, response.headers.get("content-type")).filter(isJsonRpcMessage);
106
+ const initializeIds = new Set(requests.filter((request) => request.method === INITIALIZE_METHOD).map((request) => request.id));
107
+ protocolVersion = negotiatedProtocolOf(messages, initializeIds) ?? protocolVersion;
108
+ for (const message of messages) deps.emit(message);
109
+ const answered = new Set(messages.map(responseIdOf).filter(isJsonRpcId));
110
+ const failure = response.ok ? NO_RESPONSE_MESSAGE : httpFailureMessage(response.status, apiKey !== null, body);
111
+ failRequests(requests, failure, answered);
112
+ };
113
+ return { forward };
114
+ };
115
+
116
+ export {
117
+ MCP_BRIDGE_BINARY,
118
+ MCP_BRIDGE_PATH,
119
+ createMcpStdioBridge
120
+ };
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  SETUP_FLAGS
3
- } from "./chunk-I2YUMZLE.js";
3
+ } from "./chunk-XMN37YJH.js";
4
4
  import {
5
5
  parseFlags
6
6
  } from "./chunk-GMXKITVA.js";
@@ -14,7 +14,7 @@ import {
14
14
  CLAUDE_CONNECTOR_URL,
15
15
  COWORK_CONNECTOR_LIMIT,
16
16
  COWORK_STANDING_INSTRUCTIONS
17
- } from "./chunk-CAS7GFWI.js";
17
+ } from "./chunk-XFNVG3OV.js";
18
18
 
19
19
  // src/cli/cowork.ts
20
20
  import { readFileSync } from "fs";
@@ -7,10 +7,10 @@ import {
7
7
  permissionDeniedAction,
8
8
  releaseThrottle,
9
9
  reportEvent
10
- } from "./chunk-H6XU22TN.js";
10
+ } from "./chunk-WM3U2RUK.js";
11
11
  import {
12
12
  canonicalJson
13
- } from "./chunk-K32C2RGK.js";
13
+ } from "./chunk-454KMJHF.js";
14
14
  import {
15
15
  writeFileAtomic
16
16
  } from "./chunk-T7E75EKA.js";
@@ -20,7 +20,7 @@ import {
20
20
  machineDecisionFor,
21
21
  shouldDeferToNativeMode,
22
22
  wireVerdictFor
23
- } from "./chunk-CAS7GFWI.js";
23
+ } from "./chunk-XFNVG3OV.js";
24
24
 
25
25
  // src/machine-decision-audit.ts
26
26
  import { basename } from "path";
@@ -1,10 +1,10 @@
1
1
  import {
2
2
  describeKeyCheck,
3
3
  keyCheckFromResponse
4
- } from "./chunk-UGKDBJJX.js";
4
+ } from "./chunk-43SSQCWO.js";
5
5
  import {
6
6
  createIo
7
- } from "./chunk-5RUIFDTP.js";
7
+ } from "./chunk-O5PRIYFZ.js";
8
8
  import {
9
9
  EXIT
10
10
  } from "./chunk-KZERVKTD.js";
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  activeHookSource,
3
3
  activeIdentity
4
- } from "./chunk-LJEL7IB5.js";
4
+ } from "./chunk-KBLIVEFJ.js";
5
5
  import {
6
6
  blockedActionFingerprint,
7
7
  defersToNativeMode,
@@ -9,11 +9,11 @@ import {
9
9
  hasBlockedActionHint,
10
10
  recordBlockedActionHint,
11
11
  reportMachineDenial
12
- } from "./chunk-NYMPLNV3.js";
12
+ } from "./chunk-3QORH5EJ.js";
13
13
  import {
14
14
  isGatingMoment,
15
15
  recordKeylessMoment
16
- } from "./chunk-5UWV5GHM.js";
16
+ } from "./chunk-MCNS4725.js";
17
17
  import {
18
18
  denyReasonFrom,
19
19
  isDeferAnswer
@@ -36,7 +36,7 @@ import {
36
36
  reportEvent,
37
37
  scopePathFor,
38
38
  settleQuestionsForToolUse
39
- } from "./chunk-H6XU22TN.js";
39
+ } from "./chunk-WM3U2RUK.js";
40
40
  import {
41
41
  DECISION_STOP_REASON,
42
42
  askUser,
@@ -48,14 +48,14 @@ import {
48
48
  requestGate,
49
49
  sendNotification,
50
50
  waitForQuestion
51
- } from "./chunk-EREBZHN2.js";
51
+ } from "./chunk-ZIIYTQHC.js";
52
52
  import {
53
53
  getMachineId
54
- } from "./chunk-DZTKLE7Q.js";
54
+ } from "./chunk-P5CBNSYL.js";
55
55
  import {
56
56
  getApiKey,
57
57
  getBaseUrl
58
- } from "./chunk-OSJEMXSR.js";
58
+ } from "./chunk-OAL44FM2.js";
59
59
  import {
60
60
  AGENT_QUESTION_STRATEGY,
61
61
  GATE_BLOCK_REASON_MAX_LENGTH,
@@ -83,7 +83,7 @@ import {
83
83
  parseAgentQuestions,
84
84
  resolveGate,
85
85
  stoppedOutput
86
- } from "./chunk-CAS7GFWI.js";
86
+ } from "./chunk-XFNVG3OV.js";
87
87
 
88
88
  // src/claude-permission-rules.ts
89
89
  import { readFileSync, statSync } from "fs";