@pushary/agent-hooks 1.9.7 → 1.9.8

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 (110) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/README.md +3 -3
  3. package/data/cursor-plugin/README.md +3 -7
  4. package/data/vscode-plugin/README.md +1 -1
  5. package/dist/bin/pushary-bell-hook.js +22 -23
  6. package/dist/bin/pushary-bell.js +9 -9
  7. package/dist/bin/pushary-claude.js +27 -28
  8. package/dist/bin/pushary-clean.js +101 -79
  9. package/dist/bin/pushary-codex-bridge.js +18 -18
  10. package/dist/bin/pushary-codex-hook.js +32 -33
  11. package/dist/bin/pushary-codex.js +13 -13
  12. package/dist/bin/pushary-connect.js +24 -21
  13. package/dist/bin/pushary-cowork.js +5 -5
  14. package/dist/bin/pushary-daemon.js +51 -39
  15. package/dist/bin/pushary-disconnect.js +189 -54
  16. package/dist/bin/pushary-doctor.js +67 -58
  17. package/dist/bin/pushary-elicitation-hook.js +24 -25
  18. package/dist/bin/pushary-gemini-bridge.js +13 -13
  19. package/dist/bin/pushary-gemini-hook.js +29 -30
  20. package/dist/bin/pushary-hook.js +30 -32
  21. package/dist/bin/pushary-login.js +12 -12
  22. package/dist/bin/pushary-logout.js +105 -42
  23. package/dist/bin/pushary-mcp.js +9 -9
  24. package/dist/bin/pushary-mode.js +28 -31
  25. package/dist/bin/pushary-notification-hook.js +26 -28
  26. package/dist/bin/pushary-opencode-hook.js +28 -29
  27. package/dist/bin/pushary-permission-denied-hook.js +30 -32
  28. package/dist/bin/pushary-permission-hook.js +29 -31
  29. package/dist/bin/pushary-post-hook.js +26 -28
  30. package/dist/bin/pushary-prompt-hook.js +26 -28
  31. package/dist/bin/pushary-session-end-hook.js +26 -28
  32. package/dist/bin/pushary-session-start-hook.js +31 -32
  33. package/dist/bin/pushary-setup.js +91 -101
  34. package/dist/bin/pushary-stats.js +5 -5
  35. package/dist/bin/pushary-status.js +34 -18
  36. package/dist/bin/pushary-stop-hook.js +26 -28
  37. package/dist/bin/pushary-stopfailure-hook.js +26 -28
  38. package/dist/bin/pushary-suggestions.js +19 -21
  39. package/dist/bin/pushary-transcript-register.js +18 -19
  40. package/dist/bin/pushary-transcripts.js +7 -7
  41. package/dist/bin/pushary-upgrade.js +55 -25
  42. package/dist/bin/pushary-wait.js +23 -19
  43. package/dist/bin/pushary.js +15 -14
  44. package/dist/{chunk-R3YW55MY.js → chunk-2A53H4S6.js} +17 -15
  45. package/dist/{chunk-4YO4T5FV.js → chunk-2QGYMY7A.js} +83 -3
  46. package/dist/{chunk-MBK7N46B.js → chunk-2QTO5YIT.js} +6 -6
  47. package/dist/{chunk-D6S5EKXA.js → chunk-2VZAALEJ.js} +5 -9
  48. package/dist/chunk-2WXF3QJR.js +49 -0
  49. package/dist/{chunk-JCWZ23MJ.js → chunk-3I6IVOZV.js} +3 -3
  50. package/dist/chunk-3Z3A37WD.js +77 -0
  51. package/dist/{chunk-Z6HPS67T.js → chunk-5QUPKDI5.js} +1 -1
  52. package/dist/{chunk-JWKBDSPF.js → chunk-6TE27XZR.js} +2 -2
  53. package/dist/{chunk-STQRUH3S.js → chunk-7DVNSQWF.js} +59 -15
  54. package/dist/{chunk-QTO6HEZD.js → chunk-7PT35RY2.js} +2 -2
  55. package/dist/{chunk-7OIWWZAD.js → chunk-B64KHETR.js} +3 -3
  56. package/dist/chunk-BEJRK4DF.js +94 -0
  57. package/dist/chunk-BXET3ALR.js +46 -0
  58. package/dist/{chunk-6DJTDHBI.js → chunk-CD47ZFFZ.js} +1 -1
  59. package/dist/{chunk-UFVGSEWH.js → chunk-CKV3UPMU.js} +2 -2
  60. package/dist/{chunk-4FK6RZVJ.js → chunk-CLOSJ4ES.js} +1 -1
  61. package/dist/{chunk-AVNKVF7N.js → chunk-DKMD6AWR.js} +4 -4
  62. package/dist/{chunk-SBLPHUEB.js → chunk-DL7XWKYV.js} +7 -5
  63. package/dist/{chunk-BTQGAXZ3.js → chunk-DPGSLWOS.js} +8 -8
  64. package/dist/{chunk-KYO45G5L.js → chunk-DUZVXBBU.js} +1 -1
  65. package/dist/{chunk-EB4XGVBG.js → chunk-EUW7JL2K.js} +0 -32
  66. package/dist/{chunk-4D2AYNSE.js → chunk-FQ2GORVG.js} +2 -2
  67. package/dist/{chunk-W2KI5KPD.js → chunk-HRULIYDU.js} +2 -2
  68. package/dist/{chunk-QR6VE5ME.js → chunk-I5IJRMNV.js} +58 -8
  69. package/dist/{chunk-T7Y5EADL.js → chunk-I6MJXLMY.js} +2 -2
  70. package/dist/{chunk-N4EUSDKX.js → chunk-IAD2RT4L.js} +14 -14
  71. package/dist/{chunk-H37L7TT3.js → chunk-IHFDPV7C.js} +2 -2
  72. package/dist/{chunk-3GNUXXDZ.js → chunk-IHO3YQAN.js} +2 -2
  73. package/dist/{chunk-JWQZSYCK.js → chunk-KF3UZLYI.js} +1 -1
  74. package/dist/chunk-KFF7G225.js +599 -0
  75. package/dist/{chunk-MZPXVH4A.js → chunk-KHNFLYJO.js} +204 -28
  76. package/dist/{chunk-QFEM7R6T.js → chunk-KRCR2CRQ.js} +9 -9
  77. package/dist/{chunk-VXRXFU6Q.js → chunk-LKLVTG3V.js} +14 -7
  78. package/dist/{chunk-KFKL3FHS.js → chunk-LWOO567I.js} +4 -3
  79. package/dist/{chunk-HPRZJKRO.js → chunk-M6BZZFVQ.js} +1 -1
  80. package/dist/{chunk-X5NXPCIC.js → chunk-MFF3ONG5.js} +16 -2
  81. package/dist/{chunk-H7MMU64M.js → chunk-MGRFDGWU.js} +2 -2
  82. package/dist/{chunk-L76HTPU6.js → chunk-MKTJEXZ3.js} +3 -3
  83. package/dist/{chunk-NIBFSARF.js → chunk-MXHTGVFZ.js} +33 -9
  84. package/dist/{chunk-ADSQDYYG.js → chunk-N4QSPI3B.js} +54 -5
  85. package/dist/{chunk-AQ55ZSSS.js → chunk-NWDG3MSW.js} +1 -1
  86. package/dist/chunk-OP7IHC2I.js +24 -0
  87. package/dist/{chunk-KT5E2RLS.js → chunk-QOLITCIP.js} +1 -1
  88. package/dist/{chunk-JXISQ7DT.js → chunk-TCQ43LSG.js} +3 -3
  89. package/dist/chunk-TCWKTUAE.js +50 -0
  90. package/dist/{chunk-RQGODFQN.js → chunk-V5HPPF3E.js} +1 -1
  91. package/dist/{chunk-7264S5HZ.js → chunk-WG3K4TCH.js} +1 -1
  92. package/dist/{chunk-GKI6LFAV.js → chunk-WS4H76EP.js} +2 -2
  93. package/dist/{chunk-XWAYAO3V.js → chunk-WWOHTTVP.js} +2 -2
  94. package/dist/{chunk-SD3272LS.js → chunk-YIG2R3BJ.js} +9 -7
  95. package/dist/{chunk-ZUTU43FT.js → chunk-ZBHUHJG6.js} +4 -4
  96. package/dist/{chunk-AUUXS44H.js → chunk-ZBK6E2OR.js} +1 -1
  97. package/dist/{chunk-QQ4HBXZC.js → chunk-ZN3C6GBG.js} +84 -673
  98. package/dist/{chunk-CBQACHKY.js → chunk-ZSTSEBG7.js} +1 -1
  99. package/dist/{chunk-3PVDOCFI.js → chunk-ZW3XZLJC.js} +5 -5
  100. package/dist/{global-upgrade-E2HUEB4B.js → global-upgrade-I56HNM23.js} +6 -6
  101. package/dist/{paths-QVTEGNZV.js → paths-AGY43CXS.js} +2 -2
  102. package/dist/reapply-IA5XUKWW.js +57 -0
  103. package/dist/src/index.d.ts +1 -0
  104. package/dist/src/index.js +19 -20
  105. package/dist/{upgrade-lock-JCIDZMHF.js → upgrade-lock-B34TAUKV.js} +3 -3
  106. package/package.json +1 -1
  107. package/dist/chunk-ANEAA37E.js +0 -197
  108. package/dist/chunk-MNWRUGMH.js +0 -86
  109. package/dist/chunk-RQSOEB4S.js +0 -44
  110. package/dist/reapply-5QVKM6LA.js +0 -38
@@ -5,10 +5,10 @@ import {
5
5
  postLiveSession,
6
6
  postLiveSessionUntilAccepted,
7
7
  startLiveSessionHeartbeat
8
- } from "../chunk-GKI6LFAV.js";
8
+ } from "../chunk-WS4H76EP.js";
9
9
  import {
10
10
  resolveProviderBinary
11
- } from "../chunk-T7Y5EADL.js";
11
+ } from "../chunk-I6MJXLMY.js";
12
12
  import "../chunk-RIVNNBEK.js";
13
13
  import {
14
14
  SESSION_IDLE_TIMEOUT_MS,
@@ -16,12 +16,12 @@ import {
16
16
  idleDeadlinePassed,
17
17
  startProcessOwnership,
18
18
  withSpawnProcessOwnership
19
- } from "../chunk-JWQZSYCK.js";
20
- import "../chunk-AUUXS44H.js";
21
- import "../chunk-4FK6RZVJ.js";
19
+ } from "../chunk-KF3UZLYI.js";
20
+ import "../chunk-ZBK6E2OR.js";
21
+ import "../chunk-CLOSJ4ES.js";
22
22
  import {
23
23
  transcriptsEnabled
24
- } from "../chunk-HPRZJKRO.js";
24
+ } from "../chunk-M6BZZFVQ.js";
25
25
  import {
26
26
  spawnClaude
27
27
  } from "../chunk-XHKBHWLX.js";
@@ -31,37 +31,37 @@ import {
31
31
  isDecisionStopped,
32
32
  isWaitForAnswerResponse,
33
33
  withdrawQuestion
34
- } from "../chunk-D6S5EKXA.js";
34
+ } from "../chunk-2VZAALEJ.js";
35
35
  import {
36
36
  writeDegraded
37
- } from "../chunk-AVNKVF7N.js";
37
+ } from "../chunk-DKMD6AWR.js";
38
38
  import "../chunk-POFBE6ZY.js";
39
- import "../chunk-ADSQDYYG.js";
39
+ import "../chunk-N4QSPI3B.js";
40
40
  import {
41
41
  callMcpTool
42
- } from "../chunk-L76HTPU6.js";
43
- import "../chunk-KFKL3FHS.js";
44
- import "../chunk-JXISQ7DT.js";
42
+ } from "../chunk-MKTJEXZ3.js";
43
+ import "../chunk-LWOO567I.js";
44
+ import "../chunk-TCQ43LSG.js";
45
45
  import {
46
46
  getMachineId
47
- } from "../chunk-KYO45G5L.js";
47
+ } from "../chunk-DUZVXBBU.js";
48
48
  import "../chunk-7QLSKOSU.js";
49
49
  import "../chunk-KZERVKTD.js";
50
- import "../chunk-4D2AYNSE.js";
51
- import "../chunk-ZUTU43FT.js";
50
+ import "../chunk-FQ2GORVG.js";
51
+ import "../chunk-ZBHUHJG6.js";
52
52
  import "../chunk-T7E75EKA.js";
53
53
  import {
54
54
  getApiKey,
55
55
  getBaseUrl
56
- } from "../chunk-Z6HPS67T.js";
57
- import "../chunk-STQRUH3S.js";
56
+ } from "../chunk-5QUPKDI5.js";
57
+ import "../chunk-7DVNSQWF.js";
58
58
  import {
59
59
  elicitationContent,
60
60
  parseAgentQuestion,
61
61
  parseAgentQuestionAnswers,
62
62
  planElicitationAsk,
63
63
  readElicitationFields
64
- } from "../chunk-QR6VE5ME.js";
64
+ } from "../chunk-I5IJRMNV.js";
65
65
 
66
66
  // bin/pushary-codex-bridge.ts
67
67
  import { existsSync } from "fs";
@@ -1,38 +1,37 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  takeHookHoldBudget
4
- } from "../chunk-KT5E2RLS.js";
4
+ } from "../chunk-QOLITCIP.js";
5
5
  import {
6
6
  defersToNativeMode,
7
7
  reportMachineDenial
8
- } from "../chunk-3GNUXXDZ.js";
8
+ } from "../chunk-IHO3YQAN.js";
9
9
  import {
10
10
  triggerAutoUpdate
11
- } from "../chunk-QTO6HEZD.js";
11
+ } from "../chunk-7PT35RY2.js";
12
12
  import {
13
13
  isGatingMoment,
14
14
  recordKeylessMoment
15
- } from "../chunk-CBQACHKY.js";
15
+ } from "../chunk-ZSTSEBG7.js";
16
16
  import {
17
17
  readHookInput
18
- } from "../chunk-XWAYAO3V.js";
18
+ } from "../chunk-WWOHTTVP.js";
19
19
  import {
20
20
  announceSubscriptionRequired,
21
21
  denyReasonFrom,
22
22
  isDeferAnswer
23
23
  } from "../chunk-5OP5MQI7.js";
24
- import "../chunk-BTQGAXZ3.js";
24
+ import "../chunk-DPGSLWOS.js";
25
25
  import "../chunk-SGZJ5LYH.js";
26
- import "../chunk-SD3272LS.js";
27
- import "../chunk-SBLPHUEB.js";
28
- import "../chunk-MNWRUGMH.js";
29
- import "../chunk-4YO4T5FV.js";
30
- import "../chunk-VXRXFU6Q.js";
31
- import "../chunk-JCWZ23MJ.js";
32
- import "../chunk-7264S5HZ.js";
33
- import "../chunk-AUUXS44H.js";
34
- import "../chunk-4FK6RZVJ.js";
35
- import "../chunk-HPRZJKRO.js";
26
+ import "../chunk-YIG2R3BJ.js";
27
+ import "../chunk-DL7XWKYV.js";
28
+ import "../chunk-LKLVTG3V.js";
29
+ import "../chunk-2QGYMY7A.js";
30
+ import "../chunk-3I6IVOZV.js";
31
+ import "../chunk-WG3K4TCH.js";
32
+ import "../chunk-ZBK6E2OR.js";
33
+ import "../chunk-CLOSJ4ES.js";
34
+ import "../chunk-M6BZZFVQ.js";
36
35
  import "../chunk-XHKBHWLX.js";
37
36
  import "../chunk-6ICPEJY5.js";
38
37
  import {
@@ -77,14 +76,12 @@ import {
77
76
  toPolicyLookup,
78
77
  toPolicyLookups,
79
78
  userScope
80
- } from "../chunk-QFEM7R6T.js";
79
+ } from "../chunk-KRCR2CRQ.js";
81
80
  import {
82
81
  DEFAULT_SESSION
83
82
  } from "../chunk-N6IOSZOE.js";
84
- import "../chunk-6DJTDHBI.js";
83
+ import "../chunk-CD47ZFFZ.js";
85
84
  import {
86
- DECISION_STOP_REASON,
87
- UNVERIFIABLE_APPROVAL_REASON,
88
85
  askUser,
89
86
  cancelQuestion,
90
87
  claimBlockedAction,
@@ -95,41 +92,43 @@ import {
95
92
  sendNotification,
96
93
  unavailableQuestionUnlessSubscriptionRequired,
97
94
  waitForQuestion
98
- } from "../chunk-D6S5EKXA.js";
95
+ } from "../chunk-2VZAALEJ.js";
99
96
  import {
100
97
  exitAfterClientReports
101
- } from "../chunk-AVNKVF7N.js";
98
+ } from "../chunk-DKMD6AWR.js";
102
99
  import "../chunk-POFBE6ZY.js";
103
100
  import "../chunk-GMXKITVA.js";
104
- import "../chunk-ADSQDYYG.js";
101
+ import "../chunk-N4QSPI3B.js";
105
102
  import {
106
103
  SubscriptionRequiredError
107
- } from "../chunk-L76HTPU6.js";
108
- import "../chunk-KFKL3FHS.js";
109
- import "../chunk-JXISQ7DT.js";
104
+ } from "../chunk-MKTJEXZ3.js";
105
+ import "../chunk-LWOO567I.js";
106
+ import "../chunk-TCQ43LSG.js";
110
107
  import {
111
108
  getMachineId
112
- } from "../chunk-KYO45G5L.js";
109
+ } from "../chunk-DUZVXBBU.js";
113
110
  import "../chunk-7QLSKOSU.js";
114
111
  import {
115
112
  EXIT
116
113
  } from "../chunk-KZERVKTD.js";
117
- import "../chunk-4D2AYNSE.js";
114
+ import "../chunk-FQ2GORVG.js";
118
115
  import {
119
116
  canonicalJson
120
- } from "../chunk-ZUTU43FT.js";
117
+ } from "../chunk-ZBHUHJG6.js";
121
118
  import {
122
119
  writeFileAtomic
123
120
  } from "../chunk-T7E75EKA.js";
124
121
  import {
125
122
  getApiKey
126
- } from "../chunk-Z6HPS67T.js";
127
- import "../chunk-STQRUH3S.js";
123
+ } from "../chunk-5QUPKDI5.js";
124
+ import "../chunk-7DVNSQWF.js";
128
125
  import {
129
126
  CODEX_RESCUE_TOOL_NAME,
127
+ DECISION_STOP_REASON,
130
128
  GATE_BLOCK_REASON_MAX_LENGTH,
131
129
  GATE_WIRE,
132
130
  KILL_REASON,
131
+ UNVERIFIABLE_APPROVAL_REASON,
133
132
  codexStopRescueOutput,
134
133
  editAsksAtTheAgentsPrompt,
135
134
  effectiveWaitSeconds,
@@ -137,7 +136,7 @@ import {
137
136
  hookWaitClamped,
138
137
  hookWaitDeadline,
139
138
  resolveGate
140
- } from "../chunk-QR6VE5ME.js";
139
+ } from "../chunk-I5IJRMNV.js";
141
140
 
142
141
  // bin/pushary-codex-hook.ts
143
142
  import { basename } from "path";
@@ -764,7 +763,7 @@ var decidePreToolUse = async (input) => {
764
763
  };
765
764
  var repairCodexHoldsQuietly = async () => {
766
765
  try {
767
- const { repairCodexHolds } = await import("../reapply-5QVKM6LA.js");
766
+ const { repairCodexHolds } = await import("../reapply-IA5XUKWW.js");
768
767
  repairCodexHolds();
769
768
  } catch {
770
769
  return;
@@ -1,34 +1,34 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  reportEvent
4
- } from "../chunk-QFEM7R6T.js";
4
+ } from "../chunk-KRCR2CRQ.js";
5
5
  import "../chunk-N6IOSZOE.js";
6
- import "../chunk-6DJTDHBI.js";
6
+ import "../chunk-CD47ZFFZ.js";
7
7
  import {
8
8
  askUser,
9
9
  isDecisionStopped,
10
10
  waitForAnswer
11
- } from "../chunk-D6S5EKXA.js";
12
- import "../chunk-AVNKVF7N.js";
11
+ } from "../chunk-2VZAALEJ.js";
12
+ import "../chunk-DKMD6AWR.js";
13
13
  import "../chunk-POFBE6ZY.js";
14
- import "../chunk-L76HTPU6.js";
15
- import "../chunk-KFKL3FHS.js";
16
- import "../chunk-JXISQ7DT.js";
14
+ import "../chunk-MKTJEXZ3.js";
15
+ import "../chunk-LWOO567I.js";
16
+ import "../chunk-TCQ43LSG.js";
17
17
  import {
18
18
  getMachineId
19
- } from "../chunk-KYO45G5L.js";
19
+ } from "../chunk-DUZVXBBU.js";
20
20
  import "../chunk-7QLSKOSU.js";
21
21
  import "../chunk-KZERVKTD.js";
22
- import "../chunk-4D2AYNSE.js";
23
- import "../chunk-ZUTU43FT.js";
22
+ import "../chunk-FQ2GORVG.js";
23
+ import "../chunk-ZBHUHJG6.js";
24
24
  import "../chunk-T7E75EKA.js";
25
25
  import {
26
26
  getApiKey
27
- } from "../chunk-Z6HPS67T.js";
27
+ } from "../chunk-5QUPKDI5.js";
28
28
  import {
29
29
  NPX_LATEST_COMMAND
30
- } from "../chunk-STQRUH3S.js";
31
- import "../chunk-QR6VE5ME.js";
30
+ } from "../chunk-7DVNSQWF.js";
31
+ import "../chunk-I5IJRMNV.js";
32
32
 
33
33
  // bin/pushary-codex.ts
34
34
  import { basename } from "path";
@@ -1,51 +1,54 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  printKeyCheck
4
- } from "../chunk-RQSOEB4S.js";
4
+ } from "../chunk-BEJRK4DF.js";
5
5
  import {
6
6
  connectDevice,
7
7
  connectExistingApp,
8
8
  printConnectInstructions
9
- } from "../chunk-N4EUSDKX.js";
9
+ } from "../chunk-IAD2RT4L.js";
10
10
  import "../chunk-3EGEA4KH.js";
11
11
  import "../chunk-QCGNGEGE.js";
12
+ import "../chunk-2WXF3QJR.js";
12
13
  import {
13
14
  createIo
14
15
  } from "../chunk-U4TMAANR.js";
15
16
  import {
16
17
  exitOnHelpFlag
17
- } from "../chunk-UFVGSEWH.js";
18
+ } from "../chunk-CKV3UPMU.js";
18
19
  import {
19
20
  parseFlags
20
21
  } from "../chunk-GMXKITVA.js";
21
22
  import {
22
23
  readKeySource
23
- } from "../chunk-ADSQDYYG.js";
24
- import "../chunk-L76HTPU6.js";
24
+ } from "../chunk-N4QSPI3B.js";
25
+ import "../chunk-MKTJEXZ3.js";
25
26
  import {
26
27
  checkApiKey
27
- } from "../chunk-KFKL3FHS.js";
28
- import "../chunk-JXISQ7DT.js";
29
- import "../chunk-KYO45G5L.js";
28
+ } from "../chunk-LWOO567I.js";
29
+ import "../chunk-TCQ43LSG.js";
30
+ import "../chunk-DUZVXBBU.js";
30
31
  import {
31
32
  UsageError
32
33
  } from "../chunk-7QLSKOSU.js";
33
34
  import {
34
35
  EXIT
35
36
  } from "../chunk-KZERVKTD.js";
36
- import "../chunk-4D2AYNSE.js";
37
- import "../chunk-ZUTU43FT.js";
37
+ import "../chunk-FQ2GORVG.js";
38
+ import "../chunk-ZBHUHJG6.js";
38
39
  import "../chunk-T7E75EKA.js";
39
- import "../chunk-Z6HPS67T.js";
40
- import "../chunk-STQRUH3S.js";
41
- import "../chunk-QR6VE5ME.js";
40
+ import "../chunk-5QUPKDI5.js";
41
+ import {
42
+ isInvocationOf
43
+ } from "../chunk-7DVNSQWF.js";
44
+ import "../chunk-I5IJRMNV.js";
42
45
 
43
46
  // bin/pushary-connect.ts
44
- exitOnHelpFlag("connect");
47
+ exitOnHelpFlag("pair");
45
48
  var parseConnectOptions = (argv) => {
46
49
  const flags = parseFlags(argv, { bools: ["app", "browser", "help", "h"], values: [] });
47
- if (flags.command !== void 0 && flags.command !== "connect") {
48
- throw new UsageError(`connect takes no positional arguments (got ${flags.command})`);
50
+ if (flags.command !== void 0 && !isInvocationOf(flags.command, "pair")) {
51
+ throw new UsageError(`pair takes no positional arguments (got ${flags.command})`);
49
52
  }
50
53
  if (flags.bools.has("app") && flags.bools.has("browser")) {
51
54
  throw new UsageError("pass either --app or --browser, not both");
@@ -58,7 +61,7 @@ try {
58
61
  } catch (err) {
59
62
  process.stderr.write(` ! ${err instanceof Error ? err.message : String(err)}
60
63
  `);
61
- process.stderr.write(" Run `pushary connect --help` for the full list.\n");
64
+ process.stderr.write(" Run `pushary pair --help` for the full list.\n");
62
65
  process.exit(EXIT.USAGE);
63
66
  }
64
67
  var { bold, dim, cyan, yellow } = createIo();
@@ -66,13 +69,13 @@ var main = async () => {
66
69
  const source = readKeySource();
67
70
  if (!source.key) {
68
71
  console.log();
69
- console.log(` ${yellow("!")} No API key on this machine, so there is no site to connect a phone to.`);
72
+ console.log(` ${yellow("!")} No API key on this machine, so there is no site to pair a phone with.`);
70
73
  console.log(` ${dim("Run")} ${cyan("pushary setup")} ${dim("first.")}`);
71
74
  console.log();
72
75
  process.exit(EXIT.NOT_CONFIGURED);
73
76
  }
74
77
  console.log();
75
- console.log(` ${bold("Pushary")} ${dim("connect a phone")}`);
78
+ console.log(` ${bold("Pushary")} ${dim("pair a phone")}`);
76
79
  console.log();
77
80
  const keyCheck = await checkApiKey(source.key);
78
81
  if (keyCheck.kind !== "ok") {
@@ -89,12 +92,12 @@ var main = async () => {
89
92
  }
90
93
  console.log(` ${dim("No device of yours can answer yet.")}`);
91
94
  for (const line of result.repair ?? []) console.log(` ${dim(line)}`);
92
- console.log(` ${dim("Then run")} ${cyan("pushary connect")} ${dim("again.")}`);
95
+ console.log(` ${dim("Then run")} ${cyan("pushary pair")} ${dim("again.")}`);
93
96
  console.log();
94
97
  process.exit(EXIT.NO_DEVICE);
95
98
  };
96
99
  main().catch((err) => {
97
- process.stderr.write(` ! connect failed: ${err instanceof Error ? err.message : String(err)}
100
+ process.stderr.write(` ! pair failed: ${err instanceof Error ? err.message : String(err)}
98
101
  `);
99
102
  process.exit(EXIT.FAILED);
100
103
  });
@@ -2,15 +2,15 @@
2
2
  import {
3
3
  coworkOutput,
4
4
  parseCoworkOptions
5
- } from "../chunk-7OIWWZAD.js";
5
+ } from "../chunk-B64KHETR.js";
6
6
  import {
7
7
  canOpenBrowser,
8
8
  openInBrowser
9
9
  } from "../chunk-PUZZELE6.js";
10
- import "../chunk-SBLPHUEB.js";
10
+ import "../chunk-DL7XWKYV.js";
11
11
  import {
12
12
  exitOnHelpFlag
13
- } from "../chunk-UFVGSEWH.js";
13
+ } from "../chunk-CKV3UPMU.js";
14
14
  import "../chunk-GMXKITVA.js";
15
15
  import {
16
16
  UsageError
@@ -18,10 +18,10 @@ import {
18
18
  import {
19
19
  EXIT
20
20
  } from "../chunk-KZERVKTD.js";
21
- import "../chunk-STQRUH3S.js";
21
+ import "../chunk-7DVNSQWF.js";
22
22
  import {
23
23
  CLAUDE_CONNECTOR_GUIDE
24
- } from "../chunk-QR6VE5ME.js";
24
+ } from "../chunk-I5IJRMNV.js";
25
25
 
26
26
  // bin/pushary-cowork.ts
27
27
  exitOnHelpFlag("cowork");
@@ -1,14 +1,15 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  inspectConfiguredManagedProviders
4
- } from "../chunk-NIBFSARF.js";
5
- import "../chunk-H7MMU64M.js";
4
+ } from "../chunk-MXHTGVFZ.js";
5
+ import "../chunk-3Z3A37WD.js";
6
+ import "../chunk-MGRFDGWU.js";
6
7
  import {
7
8
  HEARTBEAT_INTERVAL_MS,
8
9
  sendHeartbeat
9
- } from "../chunk-MBK7N46B.js";
10
- import "../chunk-X5NXPCIC.js";
11
- import "../chunk-ANEAA37E.js";
10
+ } from "../chunk-2QTO5YIT.js";
11
+ import "../chunk-MFF3ONG5.js";
12
+ import "../chunk-KHNFLYJO.js";
12
13
  import {
13
14
  codexBinaryIsBroken,
14
15
  detectProviderLiveCapabilities,
@@ -17,7 +18,7 @@ import {
17
18
  launchableProviders,
18
19
  resolveControlPolicy,
19
20
  trackProviderInventory
20
- } from "../chunk-T7Y5EADL.js";
21
+ } from "../chunk-I6MJXLMY.js";
21
22
  import "../chunk-RIVNNBEK.js";
22
23
  import {
23
24
  SESSION_REAP_SILENCE_MS,
@@ -26,15 +27,13 @@ import {
26
27
  listProcessProofs,
27
28
  ownsLiveProcess,
28
29
  silentSpawnedProofs
29
- } from "../chunk-JWQZSYCK.js";
30
+ } from "../chunk-KF3UZLYI.js";
30
31
  import {
31
32
  startRegisteredTranscripts
32
- } from "../chunk-BTQGAXZ3.js";
33
+ } from "../chunk-DPGSLWOS.js";
33
34
  import "../chunk-SGZJ5LYH.js";
34
- import "../chunk-SD3272LS.js";
35
- import "../chunk-SBLPHUEB.js";
36
- import "../chunk-MNWRUGMH.js";
37
- import "../chunk-4YO4T5FV.js";
35
+ import "../chunk-YIG2R3BJ.js";
36
+ import "../chunk-DL7XWKYV.js";
38
37
  import {
39
38
  DAEMON_LEASE_RENEW_INTERVAL_MS,
40
39
  acquireDaemonLease,
@@ -51,47 +50,57 @@ import {
51
50
  requestDaemonHandoff,
52
51
  stopDaemonRunning,
53
52
  writeDaemonNeedsLogin
54
- } from "../chunk-VXRXFU6Q.js";
55
- import "../chunk-JCWZ23MJ.js";
56
- import "../chunk-7264S5HZ.js";
57
- import "../chunk-AUUXS44H.js";
58
- import "../chunk-4FK6RZVJ.js";
59
- import "../chunk-HPRZJKRO.js";
53
+ } from "../chunk-LKLVTG3V.js";
54
+ import "../chunk-2QGYMY7A.js";
55
+ import "../chunk-3I6IVOZV.js";
56
+ import "../chunk-WG3K4TCH.js";
57
+ import "../chunk-ZBK6E2OR.js";
58
+ import "../chunk-CLOSJ4ES.js";
59
+ import "../chunk-M6BZZFVQ.js";
60
60
  import {
61
61
  spawnClaude
62
62
  } from "../chunk-XHKBHWLX.js";
63
63
  import "../chunk-6ICPEJY5.js";
64
- import "../chunk-6DJTDHBI.js";
64
+ import "../chunk-KRCR2CRQ.js";
65
+ import "../chunk-N6IOSZOE.js";
66
+ import "../chunk-CD47ZFFZ.js";
67
+ import "../chunk-2VZAALEJ.js";
68
+ import "../chunk-DKMD6AWR.js";
69
+ import "../chunk-POFBE6ZY.js";
65
70
  import {
66
71
  writeHuman
67
72
  } from "../chunk-QCGNGEGE.js";
73
+ import {
74
+ readSignedOutDiagnosis
75
+ } from "../chunk-2WXF3QJR.js";
68
76
  import {
69
77
  exitOnHelpFlag
70
- } from "../chunk-UFVGSEWH.js";
78
+ } from "../chunk-CKV3UPMU.js";
71
79
  import "../chunk-GMXKITVA.js";
72
80
  import {
73
81
  readControlMode
74
- } from "../chunk-ADSQDYYG.js";
82
+ } from "../chunk-N4QSPI3B.js";
83
+ import "../chunk-MKTJEXZ3.js";
84
+ import "../chunk-LWOO567I.js";
85
+ import "../chunk-TCQ43LSG.js";
75
86
  import {
76
87
  getMachineId
77
- } from "../chunk-KYO45G5L.js";
88
+ } from "../chunk-DUZVXBBU.js";
78
89
  import "../chunk-7QLSKOSU.js";
79
90
  import {
80
91
  EXIT
81
92
  } from "../chunk-KZERVKTD.js";
82
- import "../chunk-4D2AYNSE.js";
93
+ import "../chunk-FQ2GORVG.js";
83
94
  import {
84
95
  resolveBinary
85
- } from "../chunk-ZUTU43FT.js";
96
+ } from "../chunk-ZBHUHJG6.js";
86
97
  import "../chunk-T7E75EKA.js";
87
98
  import {
88
99
  getApiKey,
89
100
  getBaseUrl
90
- } from "../chunk-Z6HPS67T.js";
91
- import {
92
- NPX_LATEST_COMMAND
93
- } from "../chunk-STQRUH3S.js";
94
- import "../chunk-QR6VE5ME.js";
101
+ } from "../chunk-5QUPKDI5.js";
102
+ import "../chunk-7DVNSQWF.js";
103
+ import "../chunk-I5IJRMNV.js";
95
104
 
96
105
  // src/spawn-daemon.ts
97
106
  import { execFileSync, spawn } from "child_process";
@@ -340,15 +349,9 @@ var trackFailureStreak = (name, sinks) => {
340
349
  }
341
350
  };
342
351
  };
352
+ var rejectedKeyReason = (apiKey) => readSignedOutDiagnosis(apiKey, "rejected").kind === "signed_out_on_mac" ? "mac_signed_out" : "key_rejected";
353
+ var missingKeyReason = () => readSignedOutDiagnosis(null, "unchecked").kind === "signed_out_on_mac" ? "mac_signed_out" : "key_missing";
343
354
  var runSpawnDaemon = async () => {
344
- let apiKey;
345
- try {
346
- apiKey = getApiKey();
347
- } catch {
348
- stderr(`[pushary] daemon needs an API key. Run \`${NPX_LATEST_COMMAND} setup\`.
349
- `);
350
- return 1;
351
- }
352
355
  const loginBlock = readDaemonNeedsLogin();
353
356
  if (loginBlock.kind === "blocked") {
354
357
  stderr(`[pushary] daemon not starting: ${describeDaemonLoginBlock(loginBlock.record)}
@@ -356,6 +359,15 @@ var runSpawnDaemon = async () => {
356
359
  return 0;
357
360
  }
358
361
  if (loginBlock.kind === "stale") clearDaemonNeedsLogin();
362
+ let apiKey;
363
+ try {
364
+ apiKey = getApiKey();
365
+ } catch {
366
+ const record = writeDaemonNeedsLogin(missingKeyReason());
367
+ stderr(`[pushary] daemon stopping: ${describeDaemonLoginBlock(record)}
368
+ `);
369
+ return 0;
370
+ }
359
371
  const machineId = getMachineId();
360
372
  const baseUrl = getBaseUrl();
361
373
  const pusharyBin = resolveBinary("pushary") ?? "pushary";
@@ -707,7 +719,7 @@ var runSpawnDaemon = async () => {
707
719
  } catch (err) {
708
720
  if (isAuthFailure(err)) {
709
721
  const status = err.status;
710
- writeDaemonNeedsLogin(status === 401 ? "key_rejected" : "plan_inactive");
722
+ writeDaemonNeedsLogin(status === 401 ? rejectedKeyReason(apiKey) : "plan_inactive");
711
723
  log(
712
724
  status === 401 ? "daemon stopping: this machine's key was rejected. Run `pushary login` to sign in again." : "daemon stopping: this workspace has no active plan, so the queue is closed. Pick one at pushary.com/dashboard/settings?tab=billing"
713
725
  );
@@ -760,7 +772,7 @@ var runSpawnDaemon = async () => {
760
772
  }
761
773
  if (result.kind === "failed") heartbeatHealth.fail(result.detail);
762
774
  if (result.kind === "unauthorized" && !stopped) {
763
- writeDaemonNeedsLogin("key_rejected");
775
+ writeDaemonNeedsLogin(rejectedKeyReason(apiKey));
764
776
  log("daemon stopping: this machine's key was rejected. Run `pushary login` to sign in again.");
765
777
  finish();
766
778
  }