@pushary/agent-hooks 1.9.12 → 1.9.13

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 +12 -0
  2. package/data/cursor-plugin/scripts/pushary-gate.mjs +7 -2
  3. package/dist/bin/pushary-bell-hook.js +25 -25
  4. package/dist/bin/pushary-bell.js +9 -9
  5. package/dist/bin/pushary-claude.js +26 -25
  6. package/dist/bin/pushary-clean.js +52 -30
  7. package/dist/bin/pushary-codex-bridge.js +17 -17
  8. package/dist/bin/pushary-codex-hook.js +30 -30
  9. package/dist/bin/pushary-codex.js +12 -12
  10. package/dist/bin/pushary-connect.js +24 -24
  11. package/dist/bin/pushary-cowork.js +5 -5
  12. package/dist/bin/pushary-daemon.js +31 -31
  13. package/dist/bin/pushary-disconnect.js +39 -25
  14. package/dist/bin/pushary-doctor.js +33 -33
  15. package/dist/bin/pushary-elicitation-hook.js +25 -25
  16. package/dist/bin/pushary-gemini-bridge.js +13 -13
  17. package/dist/bin/pushary-gemini-hook.js +27 -27
  18. package/dist/bin/pushary-hook.js +29 -29
  19. package/dist/bin/pushary-login.js +12 -12
  20. package/dist/bin/pushary-logout.js +10 -10
  21. package/dist/bin/pushary-mcp.js +9 -9
  22. package/dist/bin/pushary-mode.js +12 -12
  23. package/dist/bin/pushary-notification-hook.js +24 -24
  24. package/dist/bin/pushary-opencode-hook.js +26 -26
  25. package/dist/bin/pushary-permission-denied-hook.js +29 -29
  26. package/dist/bin/pushary-permission-hook.js +28 -28
  27. package/dist/bin/pushary-post-hook.js +24 -24
  28. package/dist/bin/pushary-prompt-hook.js +24 -24
  29. package/dist/bin/pushary-session-end-hook.js +24 -24
  30. package/dist/bin/pushary-session-start-hook.js +28 -28
  31. package/dist/bin/pushary-setup.js +69 -41
  32. package/dist/bin/pushary-stats.js +5 -5
  33. package/dist/bin/pushary-status.js +26 -26
  34. package/dist/bin/pushary-stop-hook.js +24 -24
  35. package/dist/bin/pushary-stopfailure-hook.js +24 -24
  36. package/dist/bin/pushary-suggestions.js +12 -12
  37. package/dist/bin/pushary-transcript-register.js +17 -17
  38. package/dist/bin/pushary-transcripts.js +7 -7
  39. package/dist/bin/pushary-upgrade.js +30 -30
  40. package/dist/bin/pushary-wait.js +12 -12
  41. package/dist/bin/pushary.js +6 -6
  42. package/dist/{chunk-SJ7M37RL.js → chunk-226PID65.js} +5 -5
  43. package/dist/{chunk-ZHF4JDVE.js → chunk-3EOXZYUE.js} +1 -1
  44. package/dist/{chunk-FSCWOYK6.js → chunk-3LSJ7YVM.js} +3 -3
  45. package/dist/{chunk-BOHDM4T7.js → chunk-3VSMTCXV.js} +10 -5
  46. package/dist/{chunk-2QJ6K2SR.js → chunk-43IDNI4X.js} +5 -5
  47. package/dist/{chunk-2NKTEA42.js → chunk-43ORAXAL.js} +1 -1
  48. package/dist/{chunk-RYBAJXV4.js → chunk-4ATFPZ6X.js} +1 -1
  49. package/dist/{chunk-KXCWWHYO.js → chunk-4EAILOOQ.js} +3 -3
  50. package/dist/{chunk-2GBUL4NP.js → chunk-4ZSWBLVM.js} +6 -6
  51. package/dist/{chunk-5HPC3RNE.js → chunk-5QTQI3HL.js} +1 -1
  52. package/dist/{chunk-BX2R7SIY.js → chunk-6CM3B4PJ.js} +6 -6
  53. package/dist/{chunk-NDZKDJQU.js → chunk-6MGD24SH.js} +1 -1
  54. package/dist/{chunk-7U26QSMF.js → chunk-6NL3LYUM.js} +8 -8
  55. package/dist/{chunk-Z6VYZSVA.js → chunk-6QPQG3Q5.js} +5 -5
  56. package/dist/{chunk-ZC6EVOX6.js → chunk-7JM6TCMA.js} +1 -1
  57. package/dist/{chunk-5VUB6VVO.js → chunk-7VWIBIDK.js} +4 -4
  58. package/dist/{chunk-JNDELCH5.js → chunk-FWAXBC3P.js} +1 -1
  59. package/dist/{chunk-M2P3HQA3.js → chunk-G54VGPRX.js} +1 -1
  60. package/dist/{chunk-A2DW2RNT.js → chunk-G5K656XW.js} +2 -2
  61. package/dist/{chunk-CKUACXAX.js → chunk-GFAVGG3X.js} +5 -5
  62. package/dist/{chunk-CPUEZAE2.js → chunk-GYR4G4WO.js} +1 -1
  63. package/dist/{chunk-EYLQVCME.js → chunk-HHMMY6TB.js} +2 -2
  64. package/dist/{chunk-FLPXTN3Q.js → chunk-J2VNQSS6.js} +1 -1
  65. package/dist/{chunk-JKGTASA2.js → chunk-JRKUJOZL.js} +1 -1
  66. package/dist/{chunk-DWHCF4RH.js → chunk-JVUK5YFM.js} +5 -5
  67. package/dist/{chunk-RBBMGCSZ.js → chunk-LBNIISXH.js} +1 -1
  68. package/dist/{chunk-CXKY5FGY.js → chunk-LHLUKFJV.js} +8 -8
  69. package/dist/{chunk-WBSL4FBX.js → chunk-LUYAXSUS.js} +3 -3
  70. package/dist/{chunk-CATIBZQH.js → chunk-LYDO2SS6.js} +3 -3
  71. package/dist/{chunk-J5XCHLP4.js → chunk-MPDJJNGA.js} +2 -2
  72. package/dist/{chunk-GTM7C36Y.js → chunk-MWP65CZ3.js} +2 -2
  73. package/dist/{chunk-OBGZUD73.js → chunk-N6XFGVNW.js} +3 -3
  74. package/dist/{chunk-WKP2KRTU.js → chunk-NPRFA7YM.js} +2 -2
  75. package/dist/chunk-OOKRWBCG.js +111 -0
  76. package/dist/{chunk-MEHDBT5H.js → chunk-OOZ5RSEF.js} +2 -2
  77. package/dist/{chunk-BNQKHPEC.js → chunk-QIPDIZC5.js} +4 -4
  78. package/dist/{chunk-PKQ435Z2.js → chunk-RI5E5JQS.js} +1 -1
  79. package/dist/{chunk-YZWUTWDG.js → chunk-RJAPOB34.js} +2 -2
  80. package/dist/{chunk-UEQWLVJB.js → chunk-RYKU62ZI.js} +1 -1
  81. package/dist/{chunk-3VPS7JPH.js → chunk-S2LDTUHS.js} +2 -2
  82. package/dist/{chunk-VDPU4YQN.js → chunk-TCVFNLMM.js} +20 -14
  83. package/dist/{chunk-GP44LTXN.js → chunk-TDSLVFG6.js} +1 -1
  84. package/dist/{chunk-QOBOIFGG.js → chunk-TVDI7SX2.js} +26 -7
  85. package/dist/{chunk-DYQ5QIDN.js → chunk-U5SXTKZV.js} +2 -2
  86. package/dist/{chunk-CMZ4CW5J.js → chunk-U6QEHPEF.js} +3 -3
  87. package/dist/{chunk-SQJUXVLW.js → chunk-UUBEEKT6.js} +2 -2
  88. package/dist/{chunk-TSGQYARU.js → chunk-VUHT6NYV.js} +4 -4
  89. package/dist/{chunk-E2FGVADR.js → chunk-WIRM7ZLI.js} +2 -2
  90. package/dist/{chunk-LBDMCNQY.js → chunk-WL4PVINO.js} +2 -2
  91. package/dist/{chunk-AWD2SLNA.js → chunk-WP57USIT.js} +13 -4
  92. package/dist/{chunk-PNBJAYSL.js → chunk-Y25RH4VF.js} +1 -1
  93. package/dist/{chunk-TZCHW6KR.js → chunk-YI37QERZ.js} +4 -4
  94. package/dist/{chunk-4DWQNP52.js → chunk-ZAH3CCEV.js} +4 -4
  95. package/dist/{global-upgrade-OCZWEF3A.js → global-upgrade-NIFOQFV4.js} +6 -6
  96. package/dist/{paths-SOGZJICO.js → paths-QPBLO5Q2.js} +2 -2
  97. package/dist/{reapply-DFG5IE6N.js → reapply-TVMBJWJB.js} +20 -20
  98. package/dist/src/index.d.ts +1 -0
  99. package/dist/src/index.js +19 -19
  100. package/dist/{upgrade-lock-XLE5GVWS.js → upgrade-lock-Z3LYROGK.js} +3 -3
  101. package/package.json +1 -1
  102. package/dist/chunk-PMUOEEUE.js +0 -50
@@ -1,53 +1,53 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  reapplyClaudeForVersion
4
- } from "../chunk-BX2R7SIY.js";
5
- import "../chunk-YZWUTWDG.js";
4
+ } from "../chunk-6CM3B4PJ.js";
5
+ import "../chunk-RJAPOB34.js";
6
6
  import "../chunk-RIVNNBEK.js";
7
7
  import {
8
8
  triggerAutoUpdate
9
- } from "../chunk-J5XCHLP4.js";
9
+ } from "../chunk-MPDJJNGA.js";
10
10
  import {
11
11
  readHookInput
12
- } from "../chunk-5VUB6VVO.js";
13
- import "../chunk-CXKY5FGY.js";
12
+ } from "../chunk-7VWIBIDK.js";
13
+ import "../chunk-LHLUKFJV.js";
14
14
  import "../chunk-SGZJ5LYH.js";
15
- import "../chunk-2QJ6K2SR.js";
16
- import "../chunk-PKQ435Z2.js";
17
- import "../chunk-ZHF4JDVE.js";
18
- import "../chunk-M2P3HQA3.js";
15
+ import "../chunk-43IDNI4X.js";
16
+ import "../chunk-RI5E5JQS.js";
17
+ import "../chunk-3EOXZYUE.js";
18
+ import "../chunk-G54VGPRX.js";
19
19
  import "../chunk-XHKBHWLX.js";
20
- import "../chunk-Z6VYZSVA.js";
20
+ import "../chunk-6QPQG3Q5.js";
21
21
  import {
22
22
  activeHookSource,
23
23
  activeIdentity
24
- } from "../chunk-BOHDM4T7.js";
25
- import "../chunk-SJ7M37RL.js";
26
- import "../chunk-KXCWWHYO.js";
27
- import "../chunk-NDZKDJQU.js";
28
- import "../chunk-JNDELCH5.js";
24
+ } from "../chunk-3VSMTCXV.js";
25
+ import "../chunk-226PID65.js";
26
+ import "../chunk-4EAILOOQ.js";
27
+ import "../chunk-6MGD24SH.js";
28
+ import "../chunk-FWAXBC3P.js";
29
29
  import "../chunk-GMXKITVA.js";
30
30
  import "../chunk-6ICPEJY5.js";
31
- import "../chunk-3VPS7JPH.js";
31
+ import "../chunk-S2LDTUHS.js";
32
32
  import {
33
33
  CLAUDE_CODE_AGENT,
34
34
  handleSessionStart
35
- } from "../chunk-7U26QSMF.js";
36
- import "../chunk-JKGTASA2.js";
37
- import "../chunk-DWHCF4RH.js";
35
+ } from "../chunk-6NL3LYUM.js";
36
+ import "../chunk-JRKUJOZL.js";
37
+ import "../chunk-JVUK5YFM.js";
38
38
  import "../chunk-POFBE6ZY.js";
39
- import "../chunk-CATIBZQH.js";
40
- import "../chunk-CMZ4CW5J.js";
41
- import "../chunk-WBSL4FBX.js";
42
- import "../chunk-2NKTEA42.js";
39
+ import "../chunk-LYDO2SS6.js";
40
+ import "../chunk-U6QEHPEF.js";
41
+ import "../chunk-LUYAXSUS.js";
42
+ import "../chunk-43ORAXAL.js";
43
43
  import "../chunk-7QLSKOSU.js";
44
44
  import "../chunk-KZERVKTD.js";
45
- import "../chunk-WKP2KRTU.js";
46
- import "../chunk-AWD2SLNA.js";
45
+ import "../chunk-NPRFA7YM.js";
46
+ import "../chunk-WP57USIT.js";
47
47
  import "../chunk-T7E75EKA.js";
48
- import "../chunk-ZC6EVOX6.js";
49
- import "../chunk-RYBAJXV4.js";
50
- import "../chunk-QOBOIFGG.js";
48
+ import "../chunk-7JM6TCMA.js";
49
+ import "../chunk-4ATFPZ6X.js";
50
+ import "../chunk-TVDI7SX2.js";
51
51
 
52
52
  // bin/pushary-session-start-hook.ts
53
53
  var AGENT = activeIdentity(process.argv);
@@ -1,16 +1,16 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  runBrowserLogin
4
- } from "../chunk-FLPXTN3Q.js";
4
+ } from "../chunk-J2VNQSS6.js";
5
5
  import {
6
6
  coworkOutput,
7
7
  coworkSelection
8
- } from "../chunk-FSCWOYK6.js";
8
+ } from "../chunk-3LSJ7YVM.js";
9
9
  import "../chunk-PUZZELE6.js";
10
10
  import {
11
11
  clearDeclinedAgent,
12
12
  declinedAgentForSetupChoice
13
- } from "../chunk-A2DW2RNT.js";
13
+ } from "../chunk-G5K656XW.js";
14
14
  import {
15
15
  CURSOR_GATE_SCRIPT,
16
16
  describeVersionManagerPin,
@@ -20,17 +20,17 @@ import {
20
20
  codexTrustOutcome,
21
21
  describeCodexTrustConfirmation,
22
22
  needsCodexTrustStep
23
- } from "../chunk-MEHDBT5H.js";
23
+ } from "../chunk-OOZ5RSEF.js";
24
24
  import {
25
25
  writeStdoutFully
26
26
  } from "../chunk-EO23EUOK.js";
27
27
  import {
28
28
  ensureCodexTrustsPusharyHooks
29
- } from "../chunk-YZWUTWDG.js";
29
+ } from "../chunk-RJAPOB34.js";
30
30
  import {
31
31
  readManagedControlEvidence,
32
32
  waitForMachineReadiness
33
- } from "../chunk-2GBUL4NP.js";
33
+ } from "../chunk-4ZSWBLVM.js";
34
34
  import {
35
35
  describeSetupSideEffects,
36
36
  installAgentSkill,
@@ -39,8 +39,12 @@ import {
39
39
  import {
40
40
  CURSOR_PLUGIN_BACKUP_INFIX,
41
41
  CURSOR_PLUGIN_STAGING_PREFIX,
42
- registerCursorGate
43
- } from "../chunk-PMUOEEUE.js";
42
+ claimSoleGate,
43
+ registerCursorGate,
44
+ soleGateFile,
45
+ soleGateReceipt,
46
+ soleGateReceiptFile
47
+ } from "../chunk-OOKRWBCG.js";
44
48
  import {
45
49
  HERMES_PIP_PACKAGE,
46
50
  describeDetection,
@@ -53,7 +57,7 @@ import {
53
57
  runHermesConfigScript,
54
58
  shortenHome,
55
59
  vscodeSettingsTargets
56
- } from "../chunk-OBGZUD73.js";
60
+ } from "../chunk-N6XFGVNW.js";
57
61
  import {
58
62
  AgentConfigError,
59
63
  FX_PUSHARY_TOOLS_RULE,
@@ -77,10 +81,10 @@ import {
77
81
  withFxPusharyServer,
78
82
  writeFxProfile,
79
83
  writeInstructionBlock
80
- } from "../chunk-BNQKHPEC.js";
84
+ } from "../chunk-QIPDIZC5.js";
81
85
  import {
82
86
  MCP_BRIDGE_BINARY
83
- } from "../chunk-LBDMCNQY.js";
87
+ } from "../chunk-WL4PVINO.js";
84
88
  import {
85
89
  checkCodexInstall,
86
90
  detectProviderLiveCapabilities,
@@ -88,14 +92,14 @@ import {
88
92
  hasSpawnProvider,
89
93
  nodeCodexInstallProbe,
90
94
  resolveControlPolicy
91
- } from "../chunk-EYLQVCME.js";
95
+ } from "../chunk-HHMMY6TB.js";
92
96
  import {
93
97
  detectClaudeVersion
94
98
  } from "../chunk-RIVNNBEK.js";
95
99
  import {
96
100
  describeAutoUpdateAnnouncement,
97
101
  takeAutoUpdateAnnouncement
98
- } from "../chunk-J5XCHLP4.js";
102
+ } from "../chunk-MPDJJNGA.js";
99
103
  import {
100
104
  DAEMON_COLD_START_TIMEOUT_MS,
101
105
  clearDaemonNeedsLogin,
@@ -109,10 +113,10 @@ import {
109
113
  replaceDaemonService,
110
114
  stopDaemonService,
111
115
  waitForDaemonRemoteProof
112
- } from "../chunk-2QJ6K2SR.js";
116
+ } from "../chunk-43IDNI4X.js";
113
117
  import {
114
118
  transcriptPreferenceForSetup
115
- } from "../chunk-M2P3HQA3.js";
119
+ } from "../chunk-G54VGPRX.js";
116
120
  import "../chunk-XHKBHWLX.js";
117
121
  import {
118
122
  BROWSER_CONNECT_COMMAND,
@@ -124,14 +128,14 @@ import {
124
128
  printConnectInstructions,
125
129
  roundTripEvidence,
126
130
  verifyRoundTrip
127
- } from "../chunk-TSGQYARU.js";
131
+ } from "../chunk-VUHT6NYV.js";
128
132
  import "../chunk-3EGEA4KH.js";
129
133
  import {
130
134
  setHumanStream
131
135
  } from "../chunk-QCGNGEGE.js";
132
136
  import {
133
137
  readMacAppAgentKey
134
- } from "../chunk-TZCHW6KR.js";
138
+ } from "../chunk-YI37QERZ.js";
135
139
  import {
136
140
  OPENCODE_HOOK_BINARY,
137
141
  addOpenCodeMcpServer,
@@ -147,7 +151,7 @@ import {
147
151
  openCodePluginDir,
148
152
  openCodePluginFile,
149
153
  openCodeWired
150
- } from "../chunk-Z6VYZSVA.js";
154
+ } from "../chunk-6QPQG3Q5.js";
151
155
  import {
152
156
  ansiPainter,
153
157
  createIo,
@@ -169,7 +173,7 @@ import {
169
173
  hasCompatibleHooks,
170
174
  isClaudeMcpSnapshot,
171
175
  updateClaudeMcpSnapshot
172
- } from "../chunk-BOHDM4T7.js";
176
+ } from "../chunk-3VSMTCXV.js";
173
177
  import {
174
178
  KEEP_HINT,
175
179
  captureHookTakeover,
@@ -182,19 +186,19 @@ import {
182
186
  mcpBearerKey,
183
187
  planHooks,
184
188
  pusharyHookExecutable
185
- } from "../chunk-SJ7M37RL.js";
189
+ } from "../chunk-226PID65.js";
186
190
  import {
187
191
  GEMINI_HOOK_BINARY,
188
192
  addGeminiHooks,
189
193
  addGeminiMcpServer
190
- } from "../chunk-KXCWWHYO.js";
194
+ } from "../chunk-4EAILOOQ.js";
191
195
  import {
192
196
  AGENT_CHOICES,
193
197
  effectiveControlMode,
194
198
  effectiveVerify,
195
199
  parseSetupOptions
196
- } from "../chunk-NDZKDJQU.js";
197
- import "../chunk-JNDELCH5.js";
200
+ } from "../chunk-6MGD24SH.js";
201
+ import "../chunk-FWAXBC3P.js";
198
202
  import "../chunk-GMXKITVA.js";
199
203
  import {
200
204
  compareVersion,
@@ -212,28 +216,28 @@ import {
212
216
  recordMacAppKeyPrefix,
213
217
  resolveShellRc,
214
218
  writeKey
215
- } from "../chunk-3VPS7JPH.js";
219
+ } from "../chunk-S2LDTUHS.js";
216
220
  import {
217
221
  reportEvent
218
- } from "../chunk-7U26QSMF.js";
219
- import "../chunk-JKGTASA2.js";
220
- import "../chunk-DWHCF4RH.js";
222
+ } from "../chunk-6NL3LYUM.js";
223
+ import "../chunk-JRKUJOZL.js";
224
+ import "../chunk-JVUK5YFM.js";
221
225
  import "../chunk-POFBE6ZY.js";
222
- import "../chunk-CATIBZQH.js";
226
+ import "../chunk-LYDO2SS6.js";
223
227
  import {
224
228
  checkApiKey,
225
229
  describeKeyCheck,
226
230
  samePusharyAccount
227
- } from "../chunk-CMZ4CW5J.js";
228
- import "../chunk-WBSL4FBX.js";
229
- import "../chunk-2NKTEA42.js";
231
+ } from "../chunk-U6QEHPEF.js";
232
+ import "../chunk-LUYAXSUS.js";
233
+ import "../chunk-43ORAXAL.js";
230
234
  import {
231
235
  UsageError
232
236
  } from "../chunk-7QLSKOSU.js";
233
237
  import {
234
238
  EXIT
235
239
  } from "../chunk-KZERVKTD.js";
236
- import "../chunk-WKP2KRTU.js";
240
+ import "../chunk-NPRFA7YM.js";
237
241
  import {
238
242
  NpmMissingError,
239
243
  addCodexHookTrust,
@@ -278,18 +282,18 @@ import {
278
282
  resolveGlobalBinary,
279
283
  vscodePluginDir,
280
284
  vscodePluginMcp
281
- } from "../chunk-AWD2SLNA.js";
285
+ } from "../chunk-WP57USIT.js";
282
286
  import {
283
287
  backupFile,
284
288
  readJsonSafe,
285
289
  writeFileAtomic,
286
290
  writeJsonAtomic
287
291
  } from "../chunk-T7E75EKA.js";
288
- import "../chunk-ZC6EVOX6.js";
292
+ import "../chunk-7JM6TCMA.js";
289
293
  import {
290
294
  NPX_LATEST_COMMAND,
291
295
  renderCommandHelp
292
- } from "../chunk-RYBAJXV4.js";
296
+ } from "../chunk-4ATFPZ6X.js";
293
297
  import {
294
298
  HOOK_COMPATIBLE_PROFILES,
295
299
  PRETOOLUSE_GATED_TOOLS,
@@ -303,7 +307,7 @@ import {
303
307
  isValidApiKey,
304
308
  launchedPackage,
305
309
  ownPackageName
306
- } from "../chunk-QOBOIFGG.js";
310
+ } from "../chunk-TVDI7SX2.js";
307
311
 
308
312
  // bin/pushary-setup.ts
309
313
  import { existsSync, readFileSync, writeFileSync, mkdirSync, cpSync, rmSync, renameSync, realpathSync, statSync, openSync, readSync, closeSync } from "fs";
@@ -1744,6 +1748,24 @@ var compatibleGateSummary = (profile) => {
1744
1748
  const gated = PRETOOLUSE_GATED_TOOLS.map((canonical) => Object.entries(profile.toolAliases).find(([, target]) => target === canonical)?.[0] ?? canonical);
1745
1749
  return gated.slice(0, 3).map((name) => bold(name)).join(", ");
1746
1750
  };
1751
+ var soleGateSettingText = (gate, value) => `"${gate.key}": "${value}"`;
1752
+ var reportSoleGate = (profile, gate, claim) => {
1753
+ const settings = shortenHome(soleGateFile(gate));
1754
+ switch (claim.kind) {
1755
+ case "claimed":
1756
+ console.log(` ${dim("\u2022")} Pushary is the only gate: set ${soleGateSettingText(gate, gate.value)} in ${settings}, so ${profile.label} no longer asks in its own prompt. ${dim(`pushary disconnect ${profile.source} puts it back.`)}`);
1757
+ return;
1758
+ case "already_sole_gate":
1759
+ console.log(` ${dim("\u2022")} ${profile.label} already has ${soleGateSettingText(gate, gate.value)}, so Pushary is its only gate`);
1760
+ return;
1761
+ case "agent_prompt_chosen": {
1762
+ const note = `${profile.label} is set to ${soleGateSettingText(gate, claim.current)}, so it still asks in its own prompt and ignores approvals from your phone. To make Pushary its only gate, set ${soleGateSettingText(gate, gate.value)} in ${settings}.`;
1763
+ console.log(`
1764
+ ${yellow("!")} ${note}`);
1765
+ noteManual(note);
1766
+ }
1767
+ }
1768
+ };
1747
1769
  var setupCompatibleAgent = (profile) => async (apiKey) => {
1748
1770
  const configFile = compatibleConfigFile(profile);
1749
1771
  const mcpFile = compatibleMcpFile(profile);
@@ -1801,6 +1823,16 @@ var setupCompatibleAgent = (profile) => async (apiKey) => {
1801
1823
  writeInstructionBlock(instructionsFile, renderAgentInstructions(profile.instructions.label));
1802
1824
  });
1803
1825
  }
1826
+ const gate = profile.soleGate;
1827
+ const settingsPath = gate ? soleGateFile(gate) : null;
1828
+ const settings = settingsPath ? readAgentJson(settingsPath) : null;
1829
+ const soleGateClaim = gate && settings ? claimSoleGate(settings, gate) : null;
1830
+ if (gate && settingsPath && settings && soleGateClaim?.kind === "claimed") {
1831
+ await spinner(`Making Pushary the only gate (${shortenHome(settingsPath)})`, async () => {
1832
+ writeJsonAtomic(soleGateReceiptFile(gate), soleGateReceipt(gate), KEY_FILE_MODE);
1833
+ writeJsonAtomic(settingsPath, settings);
1834
+ });
1835
+ }
1804
1836
  console.log();
1805
1837
  console.log(` ${dim("What this configured:")}`);
1806
1838
  console.log(` ${dim("\u2022")} Hooks: phone approvals, policy enforcement, kill switch, session tracking`);
@@ -1808,11 +1840,7 @@ var setupCompatibleAgent = (profile) => async (apiKey) => {
1808
1840
  if (mcpFile) console.log(` ${dim("\u2022")} MCP server: ${profile.label} can send notifications and ask questions`);
1809
1841
  else console.log(` ${dim("\u2022")} ${dim(`No MCP server: ${profile.label} documents no remote-server config shape, so approvals work and agent-initiated questions do not`)}`);
1810
1842
  if (instructionsFile) console.log(` ${dim("\u2022")} Proactive instructions: ${shortenHome(instructionsFile)}`);
1811
- if (profile.setupNote) {
1812
- console.log(`
1813
- ${yellow("!")} ${profile.setupNote}`);
1814
- noteManual(profile.setupNote);
1815
- }
1843
+ if (gate && soleGateClaim) reportSoleGate(profile, gate, soleGateClaim);
1816
1844
  console.log(` ${dim(`Restart ${profile.label} to load the new config.`)}`);
1817
1845
  noteManual(`Restart ${profile.label} to load the new config.`);
1818
1846
  return "configured";
@@ -1,16 +1,16 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  readLedgerSummary
4
- } from "../chunk-RBBMGCSZ.js";
4
+ } from "../chunk-LBNIISXH.js";
5
5
  import {
6
6
  exitOnHelpFlag
7
- } from "../chunk-GTM7C36Y.js";
7
+ } from "../chunk-MWP65CZ3.js";
8
8
  import "../chunk-KZERVKTD.js";
9
9
  import {
10
10
  getApiKey
11
- } from "../chunk-ZC6EVOX6.js";
12
- import "../chunk-RYBAJXV4.js";
13
- import "../chunk-QOBOIFGG.js";
11
+ } from "../chunk-7JM6TCMA.js";
12
+ import "../chunk-4ATFPZ6X.js";
13
+ import "../chunk-TVDI7SX2.js";
14
14
 
15
15
  // bin/pushary-stats.ts
16
16
  exitOnHelpFlag("stats");
@@ -2,70 +2,70 @@
2
2
  import {
3
3
  describeLastSeen,
4
4
  listMachines
5
- } from "../chunk-2GBUL4NP.js";
6
- import "../chunk-EYLQVCME.js";
5
+ } from "../chunk-4ZSWBLVM.js";
6
+ import "../chunk-HHMMY6TB.js";
7
7
  import "../chunk-RIVNNBEK.js";
8
- import "../chunk-2QJ6K2SR.js";
8
+ import "../chunk-43IDNI4X.js";
9
9
  import "../chunk-XHKBHWLX.js";
10
10
  import {
11
11
  describeReach,
12
12
  fetchChannels,
13
13
  reachVerdict
14
- } from "../chunk-TSGQYARU.js";
14
+ } from "../chunk-VUHT6NYV.js";
15
15
  import "../chunk-3EGEA4KH.js";
16
16
  import "../chunk-QCGNGEGE.js";
17
17
  import {
18
18
  CONNECTED_THROUGH_MAC_APP,
19
19
  readMacAppConnectionWhenKeyless
20
- } from "../chunk-TZCHW6KR.js";
20
+ } from "../chunk-YI37QERZ.js";
21
21
  import {
22
22
  SIGNED_OUT_ON_MAC_MESSAGE,
23
23
  activeKeyVerdictOf,
24
24
  describeSignedOutKey,
25
25
  readSignedOutDiagnosis
26
- } from "../chunk-SQJUXVLW.js";
27
- import "../chunk-Z6VYZSVA.js";
26
+ } from "../chunk-UUBEEKT6.js";
27
+ import "../chunk-6QPQG3Q5.js";
28
28
  import {
29
29
  createIo
30
30
  } from "../chunk-U4TMAANR.js";
31
31
  import {
32
32
  exitOnHelpFlag
33
- } from "../chunk-GTM7C36Y.js";
34
- import "../chunk-BOHDM4T7.js";
35
- import "../chunk-SJ7M37RL.js";
36
- import "../chunk-KXCWWHYO.js";
37
- import "../chunk-NDZKDJQU.js";
38
- import "../chunk-JNDELCH5.js";
33
+ } from "../chunk-MWP65CZ3.js";
34
+ import "../chunk-3VSMTCXV.js";
35
+ import "../chunk-226PID65.js";
36
+ import "../chunk-4EAILOOQ.js";
37
+ import "../chunk-6MGD24SH.js";
38
+ import "../chunk-FWAXBC3P.js";
39
39
  import {
40
40
  rejectUnknownFlags
41
41
  } from "../chunk-GMXKITVA.js";
42
42
  import "../chunk-6ICPEJY5.js";
43
43
  import {
44
44
  readKeySource
45
- } from "../chunk-3VPS7JPH.js";
46
- import "../chunk-7U26QSMF.js";
47
- import "../chunk-JKGTASA2.js";
48
- import "../chunk-DWHCF4RH.js";
45
+ } from "../chunk-S2LDTUHS.js";
46
+ import "../chunk-6NL3LYUM.js";
47
+ import "../chunk-JRKUJOZL.js";
48
+ import "../chunk-JVUK5YFM.js";
49
49
  import "../chunk-POFBE6ZY.js";
50
- import "../chunk-CATIBZQH.js";
50
+ import "../chunk-LYDO2SS6.js";
51
51
  import {
52
52
  checkApiKey,
53
53
  describeKeyCheck
54
- } from "../chunk-CMZ4CW5J.js";
55
- import "../chunk-WBSL4FBX.js";
56
- import "../chunk-2NKTEA42.js";
54
+ } from "../chunk-U6QEHPEF.js";
55
+ import "../chunk-LUYAXSUS.js";
56
+ import "../chunk-43ORAXAL.js";
57
57
  import {
58
58
  UsageError
59
59
  } from "../chunk-7QLSKOSU.js";
60
60
  import {
61
61
  EXIT
62
62
  } from "../chunk-KZERVKTD.js";
63
- import "../chunk-WKP2KRTU.js";
64
- import "../chunk-AWD2SLNA.js";
63
+ import "../chunk-NPRFA7YM.js";
64
+ import "../chunk-WP57USIT.js";
65
65
  import "../chunk-T7E75EKA.js";
66
- import "../chunk-ZC6EVOX6.js";
67
- import "../chunk-RYBAJXV4.js";
68
- import "../chunk-QOBOIFGG.js";
66
+ import "../chunk-7JM6TCMA.js";
67
+ import "../chunk-4ATFPZ6X.js";
68
+ import "../chunk-TVDI7SX2.js";
69
69
 
70
70
  // src/status.ts
71
71
  var signedOutReport = (facts, lines) => {
@@ -1,45 +1,45 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  readHookInput
4
- } from "../chunk-5VUB6VVO.js";
5
- import "../chunk-CXKY5FGY.js";
4
+ } from "../chunk-7VWIBIDK.js";
5
+ import "../chunk-LHLUKFJV.js";
6
6
  import "../chunk-SGZJ5LYH.js";
7
- import "../chunk-2QJ6K2SR.js";
8
- import "../chunk-PKQ435Z2.js";
9
- import "../chunk-ZHF4JDVE.js";
10
- import "../chunk-M2P3HQA3.js";
7
+ import "../chunk-43IDNI4X.js";
8
+ import "../chunk-RI5E5JQS.js";
9
+ import "../chunk-3EOXZYUE.js";
10
+ import "../chunk-G54VGPRX.js";
11
11
  import "../chunk-XHKBHWLX.js";
12
12
  import {
13
13
  activeHookSource,
14
14
  activeIdentity
15
- } from "../chunk-BOHDM4T7.js";
16
- import "../chunk-SJ7M37RL.js";
17
- import "../chunk-KXCWWHYO.js";
18
- import "../chunk-NDZKDJQU.js";
19
- import "../chunk-JNDELCH5.js";
15
+ } from "../chunk-3VSMTCXV.js";
16
+ import "../chunk-226PID65.js";
17
+ import "../chunk-4EAILOOQ.js";
18
+ import "../chunk-6MGD24SH.js";
19
+ import "../chunk-FWAXBC3P.js";
20
20
  import "../chunk-GMXKITVA.js";
21
21
  import "../chunk-6ICPEJY5.js";
22
- import "../chunk-3VPS7JPH.js";
22
+ import "../chunk-S2LDTUHS.js";
23
23
  import {
24
24
  handleStop,
25
25
  handleSubagentStop,
26
26
  isSubagentStop
27
- } from "../chunk-7U26QSMF.js";
28
- import "../chunk-JKGTASA2.js";
29
- import "../chunk-DWHCF4RH.js";
27
+ } from "../chunk-6NL3LYUM.js";
28
+ import "../chunk-JRKUJOZL.js";
29
+ import "../chunk-JVUK5YFM.js";
30
30
  import "../chunk-POFBE6ZY.js";
31
- import "../chunk-CATIBZQH.js";
32
- import "../chunk-CMZ4CW5J.js";
33
- import "../chunk-WBSL4FBX.js";
34
- import "../chunk-2NKTEA42.js";
31
+ import "../chunk-LYDO2SS6.js";
32
+ import "../chunk-U6QEHPEF.js";
33
+ import "../chunk-LUYAXSUS.js";
34
+ import "../chunk-43ORAXAL.js";
35
35
  import "../chunk-7QLSKOSU.js";
36
36
  import "../chunk-KZERVKTD.js";
37
- import "../chunk-WKP2KRTU.js";
38
- import "../chunk-AWD2SLNA.js";
37
+ import "../chunk-NPRFA7YM.js";
38
+ import "../chunk-WP57USIT.js";
39
39
  import "../chunk-T7E75EKA.js";
40
- import "../chunk-ZC6EVOX6.js";
41
- import "../chunk-RYBAJXV4.js";
42
- import "../chunk-QOBOIFGG.js";
40
+ import "../chunk-7JM6TCMA.js";
41
+ import "../chunk-4ATFPZ6X.js";
42
+ import "../chunk-TVDI7SX2.js";
43
43
 
44
44
  // bin/pushary-stop-hook.ts
45
45
  var AGENT = activeIdentity(process.argv);
@@ -1,43 +1,43 @@
1
1
  #!/usr/bin/env node
2
2
  import {
3
3
  readHookInput
4
- } from "../chunk-5VUB6VVO.js";
5
- import "../chunk-CXKY5FGY.js";
4
+ } from "../chunk-7VWIBIDK.js";
5
+ import "../chunk-LHLUKFJV.js";
6
6
  import "../chunk-SGZJ5LYH.js";
7
- import "../chunk-2QJ6K2SR.js";
8
- import "../chunk-PKQ435Z2.js";
9
- import "../chunk-ZHF4JDVE.js";
10
- import "../chunk-M2P3HQA3.js";
7
+ import "../chunk-43IDNI4X.js";
8
+ import "../chunk-RI5E5JQS.js";
9
+ import "../chunk-3EOXZYUE.js";
10
+ import "../chunk-G54VGPRX.js";
11
11
  import "../chunk-XHKBHWLX.js";
12
12
  import {
13
13
  activeHookSource,
14
14
  activeIdentity
15
- } from "../chunk-BOHDM4T7.js";
16
- import "../chunk-SJ7M37RL.js";
17
- import "../chunk-KXCWWHYO.js";
18
- import "../chunk-NDZKDJQU.js";
19
- import "../chunk-JNDELCH5.js";
15
+ } from "../chunk-3VSMTCXV.js";
16
+ import "../chunk-226PID65.js";
17
+ import "../chunk-4EAILOOQ.js";
18
+ import "../chunk-6MGD24SH.js";
19
+ import "../chunk-FWAXBC3P.js";
20
20
  import "../chunk-GMXKITVA.js";
21
21
  import "../chunk-6ICPEJY5.js";
22
- import "../chunk-3VPS7JPH.js";
22
+ import "../chunk-S2LDTUHS.js";
23
23
  import {
24
24
  handleStopFailure
25
- } from "../chunk-7U26QSMF.js";
26
- import "../chunk-JKGTASA2.js";
27
- import "../chunk-DWHCF4RH.js";
25
+ } from "../chunk-6NL3LYUM.js";
26
+ import "../chunk-JRKUJOZL.js";
27
+ import "../chunk-JVUK5YFM.js";
28
28
  import "../chunk-POFBE6ZY.js";
29
- import "../chunk-CATIBZQH.js";
30
- import "../chunk-CMZ4CW5J.js";
31
- import "../chunk-WBSL4FBX.js";
32
- import "../chunk-2NKTEA42.js";
29
+ import "../chunk-LYDO2SS6.js";
30
+ import "../chunk-U6QEHPEF.js";
31
+ import "../chunk-LUYAXSUS.js";
32
+ import "../chunk-43ORAXAL.js";
33
33
  import "../chunk-7QLSKOSU.js";
34
34
  import "../chunk-KZERVKTD.js";
35
- import "../chunk-WKP2KRTU.js";
36
- import "../chunk-AWD2SLNA.js";
35
+ import "../chunk-NPRFA7YM.js";
36
+ import "../chunk-WP57USIT.js";
37
37
  import "../chunk-T7E75EKA.js";
38
- import "../chunk-ZC6EVOX6.js";
39
- import "../chunk-RYBAJXV4.js";
40
- import "../chunk-QOBOIFGG.js";
38
+ import "../chunk-7JM6TCMA.js";
39
+ import "../chunk-4ATFPZ6X.js";
40
+ import "../chunk-TVDI7SX2.js";
41
41
 
42
42
  // bin/pushary-stopfailure-hook.ts
43
43
  var AGENT = activeIdentity(process.argv);