@pushary/agent-hooks 0.95.4 → 0.95.6

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 (91) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/data/cursor-plugin/.cursor-plugin/plugin.json +1 -1
  3. package/data/cursor-plugin/CHANGELOG.md +5 -0
  4. package/data/cursor-plugin/README.md +1 -1
  5. package/data/cursor-plugin/scripts/pushary-gate.mjs +5 -2
  6. package/data/vscode-plugin/.claude-plugin/plugin.json +1 -1
  7. package/data/vscode-plugin/CHANGELOG.md +5 -0
  8. package/data/vscode-plugin/README.md +1 -1
  9. package/data/vscode-plugin/scripts/pushary-gate.mjs +14 -3
  10. package/dist/bin/pushary-bell-hook.js +20 -20
  11. package/dist/bin/pushary-bell.js +9 -9
  12. package/dist/bin/pushary-claude.js +29 -24
  13. package/dist/bin/pushary-clean.js +20 -20
  14. package/dist/bin/pushary-codex-bridge.js +10 -10
  15. package/dist/bin/pushary-codex-hook.js +24 -24
  16. package/dist/bin/pushary-codex.js +8 -8
  17. package/dist/bin/pushary-connect.js +8 -8
  18. package/dist/bin/pushary-cowork.js +5 -5
  19. package/dist/bin/pushary-daemon.js +26 -26
  20. package/dist/bin/pushary-disconnect.js +11 -10
  21. package/dist/bin/pushary-doctor.js +89 -35
  22. package/dist/bin/pushary-elicitation-hook.js +20 -20
  23. package/dist/bin/pushary-gemini-bridge.js +9 -9
  24. package/dist/bin/pushary-gemini-hook.js +23 -23
  25. package/dist/bin/pushary-hook.js +27 -27
  26. package/dist/bin/pushary-login.js +9 -9
  27. package/dist/bin/pushary-logout.js +6 -6
  28. package/dist/bin/pushary-mode.js +5 -5
  29. package/dist/bin/pushary-notification-hook.js +22 -22
  30. package/dist/bin/pushary-opencode-hook.js +23 -23
  31. package/dist/bin/pushary-permission-denied-hook.js +25 -25
  32. package/dist/bin/pushary-permission-hook.js +25 -25
  33. package/dist/bin/pushary-post-hook.js +22 -22
  34. package/dist/bin/pushary-prompt-hook.js +22 -22
  35. package/dist/bin/pushary-session-end-hook.js +22 -22
  36. package/dist/bin/pushary-session-start-hook.js +25 -25
  37. package/dist/bin/pushary-setup.js +62 -42
  38. package/dist/bin/pushary-stats.js +4 -4
  39. package/dist/bin/pushary-status.js +14 -10
  40. package/dist/bin/pushary-stop-hook.js +22 -22
  41. package/dist/bin/pushary-stopfailure-hook.js +22 -22
  42. package/dist/bin/pushary-suggestions.js +2 -2
  43. package/dist/bin/pushary-transcript-register.js +18 -18
  44. package/dist/bin/pushary-transcripts.js +7 -7
  45. package/dist/bin/pushary-upgrade.js +17 -17
  46. package/dist/bin/pushary-wait.js +5 -5
  47. package/dist/bin/pushary.js +1 -1
  48. package/dist/{chunk-EEJ6EQMI.js → chunk-32WFHA77.js} +1 -1
  49. package/dist/{chunk-YE37HYN3.js → chunk-32WWVRXN.js} +3 -14
  50. package/dist/{chunk-GGX5QTBG.js → chunk-3AJIK5AO.js} +4 -1
  51. package/dist/{chunk-PFRLYYF6.js → chunk-43TFQOAT.js} +1 -1
  52. package/dist/{chunk-MDDKA4QM.js → chunk-4XFBO3GW.js} +1 -1
  53. package/dist/{chunk-KT2CGUOE.js → chunk-6II5RBAS.js} +1 -1
  54. package/dist/{chunk-3N4FT4WQ.js → chunk-6MRPTYYH.js} +1 -1
  55. package/dist/{chunk-ND52YE7L.js → chunk-7N3D4GN7.js} +4 -4
  56. package/dist/{chunk-TMOCSYJK.js → chunk-A2M6FGUF.js} +3 -3
  57. package/dist/{chunk-HPM47TEO.js → chunk-AXECWTTZ.js} +2 -2
  58. package/dist/{chunk-MZOTKCNZ.js → chunk-BS5XR4J7.js} +4 -4
  59. package/dist/{chunk-O7ODXFII.js → chunk-C7BFOC35.js} +2 -2
  60. package/dist/{chunk-TKA2L2BU.js → chunk-CDBTCEKE.js} +5 -5
  61. package/dist/{chunk-JDNW6FTV.js → chunk-DH4INZW3.js} +1 -1
  62. package/dist/{chunk-6BNBW3M2.js → chunk-DSCGKZO5.js} +2 -2
  63. package/dist/{chunk-W5GH5GTX.js → chunk-FBO5WS3D.js} +1 -1
  64. package/dist/{chunk-U24ERDPE.js → chunk-FHIVWF4B.js} +13 -15
  65. package/dist/{chunk-HTWQH3VI.js → chunk-FVTFSYKB.js} +1 -1
  66. package/dist/{chunk-HJYGC7IR.js → chunk-GOPIMNVC.js} +1 -1
  67. package/dist/{chunk-DLLAWCQB.js → chunk-GOQHN2UH.js} +1 -1
  68. package/dist/{chunk-LVU3Q43J.js → chunk-HBBQO77U.js} +1 -1
  69. package/dist/{chunk-CVZP67ST.js → chunk-HHODMHTH.js} +4 -4
  70. package/dist/{chunk-3OXHYPZG.js → chunk-HKQ6CD32.js} +4 -1
  71. package/dist/{chunk-TGORRMOU.js → chunk-JZSWA3VT.js} +1 -1
  72. package/dist/{chunk-MNWDOXX6.js → chunk-KAWLZTRJ.js} +1 -1
  73. package/dist/{chunk-7W6E3C3I.js → chunk-KNIVXEW4.js} +1 -1
  74. package/dist/{chunk-D6PRC3YQ.js → chunk-LZQVAEWP.js} +2 -1
  75. package/dist/{chunk-JAKWHALW.js → chunk-O5RQ7RYJ.js} +90 -18
  76. package/dist/{chunk-TR6DBXO3.js → chunk-OIZVYUED.js} +1 -1
  77. package/dist/{chunk-V4G7BQZ6.js → chunk-R4MBUCPQ.js} +1 -1
  78. package/dist/{chunk-XDHJ4KZJ.js → chunk-RPHXG4HI.js} +2 -2
  79. package/dist/{chunk-J5KTLGO5.js → chunk-SLVXQOYU.js} +1 -1
  80. package/dist/{chunk-AGQA72IH.js → chunk-SRFA5BOO.js} +1 -1
  81. package/dist/{chunk-7VVX6HQG.js → chunk-VZADMT7R.js} +219 -17
  82. package/dist/{chunk-J6NAWJTQ.js → chunk-WRK6RAA5.js} +47 -4
  83. package/dist/{chunk-ZKDQ3QRP.js → chunk-WZ63WTAZ.js} +1 -1
  84. package/dist/{chunk-57NOPUBK.js → chunk-XJ6CXTSB.js} +8 -8
  85. package/dist/{chunk-4NJURLRP.js → chunk-XKIB2FQY.js} +8 -8
  86. package/dist/{chunk-2BE7ZVWP.js → chunk-XS33QBJA.js} +15 -3
  87. package/dist/{chunk-MQO7J2OJ.js → chunk-ZJ6QXXBC.js} +10 -7
  88. package/dist/{chunk-XIVPHGV4.js → chunk-ZQREURP6.js} +1 -1
  89. package/dist/src/index.d.ts +3 -0
  90. package/dist/src/index.js +11 -11
  91. package/package.json +1 -1
@@ -1,42 +1,42 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  readHookInput
4
- } from "../chunk-V4G7BQZ6.js";
5
- import "../chunk-4NJURLRP.js";
6
- import "../chunk-ZKDQ3QRP.js";
7
- import "../chunk-MZOTKCNZ.js";
8
- import "../chunk-MDDKA4QM.js";
9
- import "../chunk-HTWQH3VI.js";
10
- import "../chunk-TMOCSYJK.js";
11
- import "../chunk-ND52YE7L.js";
12
- import "../chunk-TKA2L2BU.js";
13
- import "../chunk-HJYGC7IR.js";
14
- import "../chunk-GGX5QTBG.js";
15
- import "../chunk-JDNW6FTV.js";
4
+ } from "../chunk-R4MBUCPQ.js";
5
+ import "../chunk-XKIB2FQY.js";
6
+ import "../chunk-WZ63WTAZ.js";
7
+ import "../chunk-BS5XR4J7.js";
8
+ import "../chunk-4XFBO3GW.js";
9
+ import "../chunk-FVTFSYKB.js";
10
+ import "../chunk-A2M6FGUF.js";
11
+ import "../chunk-7N3D4GN7.js";
12
+ import "../chunk-CDBTCEKE.js";
13
+ import "../chunk-GOPIMNVC.js";
14
+ import "../chunk-3AJIK5AO.js";
15
+ import "../chunk-DH4INZW3.js";
16
16
  import "../chunk-EQRS3SGM.js";
17
- import "../chunk-TGORRMOU.js";
17
+ import "../chunk-JZSWA3VT.js";
18
18
  import "../chunk-XHKBHWLX.js";
19
19
  import "../chunk-L4ZCFMWW.js";
20
20
  import {
21
21
  handleCompaction,
22
22
  handlePostToolUse,
23
23
  isCompactionEvent
24
- } from "../chunk-MQO7J2OJ.js";
25
- import "../chunk-2BE7ZVWP.js";
26
- import "../chunk-LVU3Q43J.js";
27
- import "../chunk-YE37HYN3.js";
28
- import "../chunk-O7ODXFII.js";
29
- import "../chunk-W5GH5GTX.js";
24
+ } from "../chunk-ZJ6QXXBC.js";
25
+ import "../chunk-XS33QBJA.js";
26
+ import "../chunk-HBBQO77U.js";
27
+ import "../chunk-32WWVRXN.js";
28
+ import "../chunk-C7BFOC35.js";
29
+ import "../chunk-FBO5WS3D.js";
30
30
  import "../chunk-GMXKITVA.js";
31
31
  import "../chunk-DINDL2CF.js";
32
- import "../chunk-3N4FT4WQ.js";
32
+ import "../chunk-6MRPTYYH.js";
33
33
  import "../chunk-EYRGBYZG.js";
34
34
  import "../chunk-SAF6HGAA.js";
35
35
  import "../chunk-7QLSKOSU.js";
36
36
  import "../chunk-KZERVKTD.js";
37
- import "../chunk-MNWDOXX6.js";
37
+ import "../chunk-KAWLZTRJ.js";
38
38
  import "../chunk-2UMNXADU.js";
39
- import "../chunk-7VVX6HQG.js";
39
+ import "../chunk-VZADMT7R.js";
40
40
 
41
41
  // bin/pushary-post-hook.ts
42
42
  var main = async () => {
@@ -1,40 +1,40 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  readHookInput
4
- } from "../chunk-V4G7BQZ6.js";
5
- import "../chunk-4NJURLRP.js";
6
- import "../chunk-ZKDQ3QRP.js";
7
- import "../chunk-MZOTKCNZ.js";
8
- import "../chunk-MDDKA4QM.js";
9
- import "../chunk-HTWQH3VI.js";
10
- import "../chunk-TMOCSYJK.js";
11
- import "../chunk-ND52YE7L.js";
12
- import "../chunk-TKA2L2BU.js";
13
- import "../chunk-HJYGC7IR.js";
14
- import "../chunk-GGX5QTBG.js";
15
- import "../chunk-JDNW6FTV.js";
4
+ } from "../chunk-R4MBUCPQ.js";
5
+ import "../chunk-XKIB2FQY.js";
6
+ import "../chunk-WZ63WTAZ.js";
7
+ import "../chunk-BS5XR4J7.js";
8
+ import "../chunk-4XFBO3GW.js";
9
+ import "../chunk-FVTFSYKB.js";
10
+ import "../chunk-A2M6FGUF.js";
11
+ import "../chunk-7N3D4GN7.js";
12
+ import "../chunk-CDBTCEKE.js";
13
+ import "../chunk-GOPIMNVC.js";
14
+ import "../chunk-3AJIK5AO.js";
15
+ import "../chunk-DH4INZW3.js";
16
16
  import "../chunk-EQRS3SGM.js";
17
- import "../chunk-TGORRMOU.js";
17
+ import "../chunk-JZSWA3VT.js";
18
18
  import "../chunk-XHKBHWLX.js";
19
19
  import "../chunk-L4ZCFMWW.js";
20
20
  import {
21
21
  handleUserPrompt
22
- } from "../chunk-MQO7J2OJ.js";
23
- import "../chunk-2BE7ZVWP.js";
24
- import "../chunk-LVU3Q43J.js";
25
- import "../chunk-YE37HYN3.js";
26
- import "../chunk-O7ODXFII.js";
27
- import "../chunk-W5GH5GTX.js";
22
+ } from "../chunk-ZJ6QXXBC.js";
23
+ import "../chunk-XS33QBJA.js";
24
+ import "../chunk-HBBQO77U.js";
25
+ import "../chunk-32WWVRXN.js";
26
+ import "../chunk-C7BFOC35.js";
27
+ import "../chunk-FBO5WS3D.js";
28
28
  import "../chunk-GMXKITVA.js";
29
29
  import "../chunk-DINDL2CF.js";
30
- import "../chunk-3N4FT4WQ.js";
30
+ import "../chunk-6MRPTYYH.js";
31
31
  import "../chunk-EYRGBYZG.js";
32
32
  import "../chunk-SAF6HGAA.js";
33
33
  import "../chunk-7QLSKOSU.js";
34
34
  import "../chunk-KZERVKTD.js";
35
- import "../chunk-MNWDOXX6.js";
35
+ import "../chunk-KAWLZTRJ.js";
36
36
  import "../chunk-2UMNXADU.js";
37
- import "../chunk-7VVX6HQG.js";
37
+ import "../chunk-VZADMT7R.js";
38
38
 
39
39
  // bin/pushary-prompt-hook.ts
40
40
  var main = async () => {
@@ -4,40 +4,40 @@ import {
4
4
  } from "../chunk-PQ4K74WL.js";
5
5
  import {
6
6
  readHookInput
7
- } from "../chunk-V4G7BQZ6.js";
8
- import "../chunk-4NJURLRP.js";
9
- import "../chunk-ZKDQ3QRP.js";
10
- import "../chunk-MZOTKCNZ.js";
11
- import "../chunk-MDDKA4QM.js";
12
- import "../chunk-HTWQH3VI.js";
13
- import "../chunk-TMOCSYJK.js";
14
- import "../chunk-ND52YE7L.js";
15
- import "../chunk-TKA2L2BU.js";
16
- import "../chunk-HJYGC7IR.js";
17
- import "../chunk-GGX5QTBG.js";
18
- import "../chunk-JDNW6FTV.js";
7
+ } from "../chunk-R4MBUCPQ.js";
8
+ import "../chunk-XKIB2FQY.js";
9
+ import "../chunk-WZ63WTAZ.js";
10
+ import "../chunk-BS5XR4J7.js";
11
+ import "../chunk-4XFBO3GW.js";
12
+ import "../chunk-FVTFSYKB.js";
13
+ import "../chunk-A2M6FGUF.js";
14
+ import "../chunk-7N3D4GN7.js";
15
+ import "../chunk-CDBTCEKE.js";
16
+ import "../chunk-GOPIMNVC.js";
17
+ import "../chunk-3AJIK5AO.js";
18
+ import "../chunk-DH4INZW3.js";
19
19
  import "../chunk-EQRS3SGM.js";
20
- import "../chunk-TGORRMOU.js";
20
+ import "../chunk-JZSWA3VT.js";
21
21
  import "../chunk-XHKBHWLX.js";
22
22
  import "../chunk-L4ZCFMWW.js";
23
23
  import {
24
24
  handleSessionEnd
25
- } from "../chunk-MQO7J2OJ.js";
26
- import "../chunk-2BE7ZVWP.js";
27
- import "../chunk-LVU3Q43J.js";
28
- import "../chunk-YE37HYN3.js";
29
- import "../chunk-O7ODXFII.js";
30
- import "../chunk-W5GH5GTX.js";
25
+ } from "../chunk-ZJ6QXXBC.js";
26
+ import "../chunk-XS33QBJA.js";
27
+ import "../chunk-HBBQO77U.js";
28
+ import "../chunk-32WWVRXN.js";
29
+ import "../chunk-C7BFOC35.js";
30
+ import "../chunk-FBO5WS3D.js";
31
31
  import "../chunk-GMXKITVA.js";
32
32
  import "../chunk-DINDL2CF.js";
33
- import "../chunk-3N4FT4WQ.js";
33
+ import "../chunk-6MRPTYYH.js";
34
34
  import "../chunk-EYRGBYZG.js";
35
35
  import "../chunk-SAF6HGAA.js";
36
36
  import "../chunk-7QLSKOSU.js";
37
37
  import "../chunk-KZERVKTD.js";
38
- import "../chunk-MNWDOXX6.js";
38
+ import "../chunk-KAWLZTRJ.js";
39
39
  import "../chunk-2UMNXADU.js";
40
- import "../chunk-7VVX6HQG.js";
40
+ import "../chunk-VZADMT7R.js";
41
41
 
42
42
  // bin/pushary-session-end-hook.ts
43
43
  var main = async () => {
@@ -1,45 +1,45 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  reapplyClaudeForVersion
4
- } from "../chunk-57NOPUBK.js";
5
- import "../chunk-TR6DBXO3.js";
6
- import "../chunk-CVZP67ST.js";
4
+ } from "../chunk-XJ6CXTSB.js";
5
+ import "../chunk-OIZVYUED.js";
6
+ import "../chunk-HHODMHTH.js";
7
7
  import {
8
8
  readHookInput
9
- } from "../chunk-V4G7BQZ6.js";
10
- import "../chunk-4NJURLRP.js";
11
- import "../chunk-ZKDQ3QRP.js";
12
- import "../chunk-MZOTKCNZ.js";
13
- import "../chunk-MDDKA4QM.js";
14
- import "../chunk-HTWQH3VI.js";
15
- import "../chunk-TMOCSYJK.js";
16
- import "../chunk-ND52YE7L.js";
17
- import "../chunk-TKA2L2BU.js";
18
- import "../chunk-HJYGC7IR.js";
19
- import "../chunk-GGX5QTBG.js";
20
- import "../chunk-JDNW6FTV.js";
9
+ } from "../chunk-R4MBUCPQ.js";
10
+ import "../chunk-XKIB2FQY.js";
11
+ import "../chunk-WZ63WTAZ.js";
12
+ import "../chunk-BS5XR4J7.js";
13
+ import "../chunk-4XFBO3GW.js";
14
+ import "../chunk-FVTFSYKB.js";
15
+ import "../chunk-A2M6FGUF.js";
16
+ import "../chunk-7N3D4GN7.js";
17
+ import "../chunk-CDBTCEKE.js";
18
+ import "../chunk-GOPIMNVC.js";
19
+ import "../chunk-3AJIK5AO.js";
20
+ import "../chunk-DH4INZW3.js";
21
21
  import "../chunk-EQRS3SGM.js";
22
- import "../chunk-TGORRMOU.js";
22
+ import "../chunk-JZSWA3VT.js";
23
23
  import "../chunk-XHKBHWLX.js";
24
24
  import "../chunk-L4ZCFMWW.js";
25
25
  import {
26
26
  handleSessionStart
27
- } from "../chunk-MQO7J2OJ.js";
28
- import "../chunk-2BE7ZVWP.js";
29
- import "../chunk-LVU3Q43J.js";
30
- import "../chunk-YE37HYN3.js";
31
- import "../chunk-O7ODXFII.js";
32
- import "../chunk-W5GH5GTX.js";
27
+ } from "../chunk-ZJ6QXXBC.js";
28
+ import "../chunk-XS33QBJA.js";
29
+ import "../chunk-HBBQO77U.js";
30
+ import "../chunk-32WWVRXN.js";
31
+ import "../chunk-C7BFOC35.js";
32
+ import "../chunk-FBO5WS3D.js";
33
33
  import "../chunk-GMXKITVA.js";
34
34
  import "../chunk-DINDL2CF.js";
35
- import "../chunk-3N4FT4WQ.js";
35
+ import "../chunk-6MRPTYYH.js";
36
36
  import "../chunk-EYRGBYZG.js";
37
37
  import "../chunk-SAF6HGAA.js";
38
38
  import "../chunk-7QLSKOSU.js";
39
39
  import "../chunk-KZERVKTD.js";
40
- import "../chunk-MNWDOXX6.js";
40
+ import "../chunk-KAWLZTRJ.js";
41
41
  import "../chunk-2UMNXADU.js";
42
- import "../chunk-7VVX6HQG.js";
42
+ import "../chunk-VZADMT7R.js";
43
43
 
44
44
  // bin/pushary-session-start-hook.ts
45
45
  var main = async () => {
@@ -5,18 +5,19 @@ import {
5
5
  import {
6
6
  coworkOutput,
7
7
  coworkSelection
8
- } from "../chunk-HPM47TEO.js";
8
+ } from "../chunk-AXECWTTZ.js";
9
9
  import "../chunk-PUZZELE6.js";
10
10
  import {
11
11
  detectClaudeVersion
12
- } from "../chunk-TR6DBXO3.js";
12
+ } from "../chunk-OIZVYUED.js";
13
13
  import {
14
14
  describeVersionManagerPin,
15
15
  versionManagerOf
16
16
  } from "../chunk-GU3EJCVV.js";
17
17
  import {
18
+ readManagedControlEvidence,
18
19
  waitForMachineReadiness
19
- } from "../chunk-J6NAWJTQ.js";
20
+ } from "../chunk-WRK6RAA5.js";
20
21
  import {
21
22
  HERMES_CONFIG_SCRIPT,
22
23
  HERMES_PIP_PACKAGE,
@@ -36,7 +37,7 @@ import {
36
37
  shortenHome,
37
38
  vscodeSettingsTargets,
38
39
  writeInstructionBlock
39
- } from "../chunk-XDHJ4KZJ.js";
40
+ } from "../chunk-RPHXG4HI.js";
40
41
  import {
41
42
  OPENCODE_HOOK_BINARY,
42
43
  addOpenCodeMcpServer,
@@ -47,7 +48,7 @@ import {
47
48
  openCodePluginDir,
48
49
  openCodePluginFile,
49
50
  openCodeWired
50
- } from "../chunk-PFRLYYF6.js";
51
+ } from "../chunk-43TFQOAT.js";
51
52
  import {
52
53
  addClaudeMcpServer,
53
54
  addPusharyHooks,
@@ -55,12 +56,12 @@ import {
55
56
  captureClaudeMcpServer,
56
57
  isClaudeMcpSnapshot,
57
58
  updateClaudeMcpSnapshot
58
- } from "../chunk-CVZP67ST.js";
59
+ } from "../chunk-HHODMHTH.js";
59
60
  import {
60
61
  detectProviderLiveCapabilities,
61
62
  hasSpawnProvider,
62
63
  resolveControlPolicy
63
- } from "../chunk-3OXHYPZG.js";
64
+ } from "../chunk-HKQ6CD32.js";
64
65
  import {
65
66
  KEEP_HINT,
66
67
  captureHookTakeover,
@@ -70,23 +71,23 @@ import {
70
71
  hookOwnerOf,
71
72
  mcpBearerKey,
72
73
  planHooks
73
- } from "../chunk-MZOTKCNZ.js";
74
+ } from "../chunk-BS5XR4J7.js";
74
75
  import {
75
76
  AGENT_CHOICES,
76
77
  effectiveControlMode,
77
78
  effectiveVerify,
78
79
  parseSetupOptions
79
- } from "../chunk-MDDKA4QM.js";
80
+ } from "../chunk-4XFBO3GW.js";
80
81
  import {
81
82
  liveBridgeProbe,
82
83
  resolveBridgeStub
83
- } from "../chunk-HTWQH3VI.js";
84
+ } from "../chunk-FVTFSYKB.js";
84
85
  import {
85
86
  claudeWired,
86
87
  codexWired,
87
88
  geminiWired,
88
89
  pusharyHookExecutable
89
- } from "../chunk-TMOCSYJK.js";
90
+ } from "../chunk-A2M6FGUF.js";
90
91
  import {
91
92
  clearDaemonNeedsLogin,
92
93
  daemonHasRemoteProof,
@@ -99,23 +100,23 @@ import {
99
100
  replaceDaemonService,
100
101
  stopDaemonService,
101
102
  waitForDaemonRemoteProof
102
- } from "../chunk-ND52YE7L.js";
103
+ } from "../chunk-7N3D4GN7.js";
103
104
  import {
104
105
  GEMINI_HOOK_BINARY,
105
106
  addGeminiHooks,
106
107
  addGeminiMcpServer,
107
108
  compareVersion,
108
109
  parseVersion
109
- } from "../chunk-TKA2L2BU.js";
110
- import "../chunk-HJYGC7IR.js";
110
+ } from "../chunk-CDBTCEKE.js";
111
+ import "../chunk-GOPIMNVC.js";
111
112
  import {
112
113
  guardBinary,
113
114
  guardCursorGate,
114
115
  guardedArgv
115
- } from "../chunk-GGX5QTBG.js";
116
+ } from "../chunk-3AJIK5AO.js";
116
117
  import {
117
118
  transcriptPreferenceForSetup
118
- } from "../chunk-TGORRMOU.js";
119
+ } from "../chunk-JZSWA3VT.js";
119
120
  import "../chunk-XHKBHWLX.js";
120
121
  import {
121
122
  installGlobally,
@@ -125,11 +126,11 @@ import {
125
126
  } from "../chunk-L4ZCFMWW.js";
126
127
  import {
127
128
  reportEvent
128
- } from "../chunk-MQO7J2OJ.js";
129
- import "../chunk-2BE7ZVWP.js";
130
- import "../chunk-LVU3Q43J.js";
131
- import "../chunk-YE37HYN3.js";
132
- import "../chunk-O7ODXFII.js";
129
+ } from "../chunk-ZJ6QXXBC.js";
130
+ import "../chunk-XS33QBJA.js";
131
+ import "../chunk-HBBQO77U.js";
132
+ import "../chunk-32WWVRXN.js";
133
+ import "../chunk-C7BFOC35.js";
133
134
  import {
134
135
  addCodexHookTrust,
135
136
  addCodexHooks,
@@ -157,7 +158,7 @@ import {
157
158
  readCodexMcpAuth,
158
159
  vscodePluginDir,
159
160
  vscodePluginMcp
160
- } from "../chunk-W5GH5GTX.js";
161
+ } from "../chunk-FBO5WS3D.js";
161
162
  import {
162
163
  confirmAppConnection,
163
164
  connectDevice,
@@ -165,14 +166,15 @@ import {
165
166
  describeRoundTrip,
166
167
  pairingEscapeApplies,
167
168
  printConnectInstructions,
169
+ roundTripEvidence,
168
170
  verifyRoundTrip
169
- } from "../chunk-JAKWHALW.js";
171
+ } from "../chunk-O5RQ7RYJ.js";
170
172
  import "../chunk-3EGEA4KH.js";
171
173
  import {
172
174
  checkApiKey,
173
175
  describeKeyCheck,
174
176
  samePusharyAccount
175
- } from "../chunk-KT2CGUOE.js";
177
+ } from "../chunk-6II5RBAS.js";
176
178
  import {
177
179
  setHumanStream
178
180
  } from "../chunk-QCGNGEGE.js";
@@ -181,7 +183,7 @@ import {
181
183
  } from "../chunk-5RUIFDTP.js";
182
184
  import {
183
185
  renderCommandHelp
184
- } from "../chunk-D6PRC3YQ.js";
186
+ } from "../chunk-LZQVAEWP.js";
185
187
  import "../chunk-GMXKITVA.js";
186
188
  import {
187
189
  getPackageVersion,
@@ -197,7 +199,7 @@ import {
197
199
  readKeySource,
198
200
  resolveShellRc,
199
201
  writeKey
200
- } from "../chunk-3N4FT4WQ.js";
202
+ } from "../chunk-6MRPTYYH.js";
201
203
  import "../chunk-EYRGBYZG.js";
202
204
  import "../chunk-SAF6HGAA.js";
203
205
  import {
@@ -211,12 +213,12 @@ import {
211
213
  readJsonSafe,
212
214
  writeFileAtomic,
213
215
  writeJsonAtomic
214
- } from "../chunk-MNWDOXX6.js";
216
+ } from "../chunk-KAWLZTRJ.js";
215
217
  import "../chunk-2UMNXADU.js";
216
218
  import {
217
219
  HOOK_LOCATOR_BINARY,
218
220
  isValidApiKey
219
- } from "../chunk-7VVX6HQG.js";
221
+ } from "../chunk-VZADMT7R.js";
220
222
 
221
223
  // bin/pushary-setup.ts
222
224
  import { existsSync, readFileSync, writeFileSync, mkdirSync, cpSync, rmSync, renameSync, realpathSync, readdirSync, statSync, openSync, readSync, closeSync } from "fs";
@@ -254,7 +256,10 @@ var COMMAND_SURFACE = [
254
256
  var SURFACE_COLUMN = Math.max(...COMMAND_SURFACE.map((entry) => entry.command.length)) + 2;
255
257
  var renderCommandSurface = () => COMMAND_SURFACE.map((entry) => `${entry.command.padEnd(SURFACE_COLUMN)}${entry.summary}`);
256
258
  var nextSteps = (facts, reachable) => {
257
- const lines = [];
259
+ const lines = ["Delivery follows the current approval mode, recipient rules and presence. pushary mode status shows the workspace setting.", facts.managedControlReady === true ? "Phone-start and steering: local and server checks passed just now. Recheck after sleep or network changes." : "Phone-start and steering: unverified. Run pushary doctor to check the provider, background service and server route."];
260
+ if (facts.staleEnvironmentKey) {
261
+ lines.push("Open a new terminal or unset PUSHARY_API_KEY, then run pushary doctor before starting an agent.");
262
+ }
258
263
  if (facts.transcriptSync === false) {
259
264
  lines.push("Transcripts: disabled on this machine.");
260
265
  lines.push("pushary setup --transcripts on enable encrypted transcript sync");
@@ -263,7 +268,7 @@ var nextSteps = (facts, reachable) => {
263
268
  lines.push("pushary setup --transcripts off disable transcript sync on this machine");
264
269
  }
265
270
  if (facts.completed.includes("claude_code")) {
266
- lines.push("pushary claude run Claude Code so your phone can start and steer it");
271
+ lines.push("pushary claude launch a managed Claude Code session");
267
272
  }
268
273
  if (!reachable) {
269
274
  lines.push("pushary connect connect a phone without re-running setup");
@@ -294,12 +299,20 @@ var describeClosing = (facts) => {
294
299
  exitCode: EXIT.PROBLEMS_FOUND
295
300
  };
296
301
  }
302
+ if (facts.staleEnvironmentKey) {
303
+ return {
304
+ ok: false,
305
+ headline: "Agents configured. This terminal still selects the previous key.",
306
+ next: nextSteps(facts, reachable),
307
+ exitCode: EXIT.PROBLEMS_FOUND
308
+ };
309
+ }
297
310
  if (facts.daemonReady === false) {
298
311
  return {
299
312
  ok: false,
300
313
  headline: "Setup finished with 1 problem.",
301
314
  next: [
302
- "Approvals are configured, but this machine cannot start an agent from your phone.",
315
+ "Agent configuration and managed control are separate. Phone-start and steering could not be verified.",
303
316
  "pushary daemon install install or repair the background service",
304
317
  "pushary doctor verify it became reachable"
305
318
  ],
@@ -309,17 +322,17 @@ var describeClosing = (facts) => {
309
322
  if (facts.roundTripAnswered === true) {
310
323
  return {
311
324
  ok: true,
312
- headline: "Setup complete, and proven.",
313
- next: [...nextSteps(facts, true), "", `Approvals: ${ACTIVITY_URL}`],
325
+ headline: "Agents configured. Synthetic answer returned.",
326
+ next: ["Agent hook activation remains unverified.", ...nextSteps(facts, reachable), "", `Approvals: ${ACTIVITY_URL}`],
314
327
  exitCode: EXIT.OK
315
328
  };
316
329
  }
317
330
  if (facts.reachChecked && !facts.reachesYou) {
318
331
  return {
319
332
  ok: false,
320
- headline: "Agents configured. Your phone is not connected yet.",
333
+ headline: "Agents configured. Phone delivery is unverified.",
321
334
  next: [
322
- "Approvals fall back to the terminal until a device of yours can answer.",
335
+ "Approval routing depends on your mode, presence and recipients. Check the phone and its notification settings.",
323
336
  "",
324
337
  ...nextSteps(facts, false)
325
338
  ],
@@ -331,8 +344,7 @@ var describeClosing = (facts) => {
331
344
  ok: false,
332
345
  headline: "Agents configured. Nobody answered the test question.",
333
346
  next: [
334
- "The push reached a device and no answer came back, which is the failure that usually",
335
- "goes unnoticed: approvals will keep arriving and keep going unanswered.",
347
+ "No answer returned from the synthetic test. Delivery acceptance does not prove a visible notification.",
336
348
  "",
337
349
  "Check the notification opened something you could tap, then:",
338
350
  "pushary doctor --roundtrip send another one",
@@ -2002,7 +2014,8 @@ var main = async () => {
2002
2014
  ]);
2003
2015
  return samePusharyAccount(cliAccount, appAccount);
2004
2016
  };
2005
- if (envKey && envKey !== trimmedKey) {
2017
+ const staleEnvironmentKey = Boolean(envKey && envKey !== trimmedKey);
2018
+ if (envKey && staleEnvironmentKey) {
2006
2019
  noteManual(
2007
2020
  `This shell still exports the previous key (${keyPrefix(envKey)}), and it wins over the one just saved. Open a new terminal before starting an agent here, or re-export PUSHARY_API_KEY.`
2008
2021
  );
@@ -2136,7 +2149,7 @@ var main = async () => {
2136
2149
  // being a thing they have to know to run.
2137
2150
  (phone?.reachesYou || phone?.outcome?.kind === "unattributable")) {
2138
2151
  console.log();
2139
- console.log(` ${dim("One last check. Answering it is the proof.")}`);
2152
+ console.log(` ${dim("Test delivery and answer return. Agent hooks are a separate check.")}`);
2140
2153
  await spinner("Waiting for you to tap the notification", async () => {
2141
2154
  roundTrip = await verifyRoundTrip(trimmedKey);
2142
2155
  });
@@ -2192,9 +2205,10 @@ var main = async () => {
2192
2205
  const keyIsTrusted = keyCheck.kind === "ok";
2193
2206
  const managedControlAgents = ["claude_code", "codex", "gemini_cli"];
2194
2207
  const configuredControlAgents = managedControlAgents.filter((agent) => agentIsWired(agent));
2195
- const controlCapabilities = detectProviderLiveCapabilities(configuredControlAgents.map(
2208
+ const configuredControlProviders = configuredControlAgents.map(
2196
2209
  (agent) => agent === "claude_code" ? "claude" : agent === "gemini_cli" ? "gemini" : agent
2197
- ));
2210
+ );
2211
+ const controlCapabilities = detectProviderLiveCapabilities(configuredControlProviders);
2198
2212
  const providerAvailable = hasSpawnProvider(controlCapabilities);
2199
2213
  const managerAvailable = daemonServiceManagerAvailable();
2200
2214
  const servicePresent = readDaemonStatus().kind !== "absent" || hasDaemonServiceDefinition();
@@ -2235,7 +2249,7 @@ var main = async () => {
2235
2249
  if (!retired && stopped.kind === "ok") warnVersionManagerPin(process.execPath);
2236
2250
  }
2237
2251
  if (controlMode === "on" && controlPolicy !== "enabled") {
2238
- console.log(` ${yellow("!")} Phone-start was required, but this machine has no supported provider or native background-service manager.`);
2252
+ console.log(` ${yellow("!")} Phone-start was required: ${!providerAvailable ? "install a supported Claude Code, Codex or Gemini provider" : "no native background-service manager is available in this OS session"}.`);
2239
2253
  } else if (controlPolicy === "legacy") {
2240
2254
  console.log(` ${yellow("!")} A legacy phone-start service cannot be safely adopted in this session. Disable it with --control off or restore its provider and native service manager.`);
2241
2255
  }
@@ -2258,13 +2272,16 @@ var main = async () => {
2258
2272
  } else if (serverControlProof && serverControlProof.kind !== "ready") {
2259
2273
  console.log(` ${yellow("!")} Managed control could not be verified by the server: ${serverControlProof.detail}`);
2260
2274
  }
2275
+ const managedControl = readManagedControlEvidence(trimmedKey, configuredControlProviders, controlLifecycleFailure ? null : serverControlProof);
2261
2276
  const closing = describeClosing({
2277
+ staleEnvironmentKey,
2262
2278
  agentsOk,
2263
2279
  configuredNothing,
2264
2280
  completed,
2265
2281
  failed,
2266
2282
  reachChecked,
2267
2283
  reachesYou,
2284
+ managedControlReady: !controlLifecycleFailure && managedControl.ready,
2268
2285
  daemonReady: controlLifecycleFailure ? false : daemonReady,
2269
2286
  transcriptSync,
2270
2287
  // null when the check did not run, so it changes nothing. Only an outright
@@ -2312,12 +2329,15 @@ var main = async () => {
2312
2329
  // "a person answered" without inferring it. 'skipped' means the check did
2313
2330
  // not run, never that it failed.
2314
2331
  roundTrip: roundTrip === null ? "skipped" : roundTrip.kind,
2332
+ roundTripEvidence: roundTripEvidence(roundTrip),
2333
+ hookActivation: "unverified",
2315
2334
  rc: rc.kind,
2316
2335
  rcPath: rc.path,
2317
2336
  daemon: controlLifecycleFailure ? "unavailable" : daemon?.kind ?? "skipped",
2318
2337
  control: controlMode,
2319
2338
  controlPolicy,
2320
2339
  controlCapabilities,
2340
+ managedControl,
2321
2341
  exitCode
2322
2342
  });
2323
2343
  if (exitCode !== EXIT.OK) {
@@ -1,17 +1,17 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  readLedgerSummary
4
- } from "../chunk-EEJ6EQMI.js";
4
+ } from "../chunk-32WFHA77.js";
5
5
  import {
6
6
  exitOnHelpFlag
7
- } from "../chunk-DLLAWCQB.js";
8
- import "../chunk-D6PRC3YQ.js";
7
+ } from "../chunk-GOQHN2UH.js";
8
+ import "../chunk-LZQVAEWP.js";
9
9
  import "../chunk-DINDL2CF.js";
10
10
  import "../chunk-KZERVKTD.js";
11
11
  import {
12
12
  getApiKey
13
13
  } from "../chunk-2UMNXADU.js";
14
- import "../chunk-7VVX6HQG.js";
14
+ import "../chunk-VZADMT7R.js";
15
15
 
16
16
  // bin/pushary-stats.ts
17
17
  exitOnHelpFlag("stats");