@indigoai-us/hq-cli 5.115.6 → 5.117.0

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 (76) hide show
  1. package/CHANGELOG.md +169 -11
  2. package/dist/command-catalog.generated.d.ts +220 -2
  3. package/dist/command-catalog.generated.js +281 -2
  4. package/dist/command-registration-plan.d.ts +6 -0
  5. package/dist/command-registration-plan.js +1 -0
  6. package/dist/commands/agent-enroll.d.ts +105 -0
  7. package/dist/commands/agent-enroll.js +273 -0
  8. package/dist/commands/agent-kit.d.ts +53 -0
  9. package/dist/commands/agent-kit.js +260 -0
  10. package/dist/commands/agent-mcp.d.ts +22 -0
  11. package/dist/commands/agent-mcp.js +104 -0
  12. package/dist/commands/agent-probe.d.ts +71 -0
  13. package/dist/commands/agent-probe.js +294 -0
  14. package/dist/commands/agent.d.ts +12 -0
  15. package/dist/commands/agent.js +23 -0
  16. package/dist/commands/agents.d.ts +27 -0
  17. package/dist/commands/agents.js +280 -6
  18. package/dist/commands/bot.d.ts +140 -1
  19. package/dist/commands/bot.js +757 -22
  20. package/dist/commands/secrets.js +17 -5
  21. package/dist/lib/agent-kit/creds.d.ts +60 -0
  22. package/dist/lib/agent-kit/creds.js +123 -0
  23. package/dist/lib/agent-kit/kit-config.d.ts +29 -0
  24. package/dist/lib/agent-kit/kit-config.js +54 -0
  25. package/dist/lib/agent-kit/log.d.ts +17 -0
  26. package/dist/lib/agent-kit/log.js +46 -0
  27. package/dist/lib/agent-kit/mcp/jsonrpc.d.ts +84 -0
  28. package/dist/lib/agent-kit/mcp/jsonrpc.js +164 -0
  29. package/dist/lib/agent-kit/mcp/tools.d.ts +45 -0
  30. package/dist/lib/agent-kit/mcp/tools.js +280 -0
  31. package/dist/lib/agent-kit/paths.d.ts +42 -0
  32. package/dist/lib/agent-kit/paths.js +56 -0
  33. package/dist/lib/agent-kit/run/heartbeat.d.ts +52 -0
  34. package/dist/lib/agent-kit/run/heartbeat.js +97 -0
  35. package/dist/lib/agent-kit/run/inbox.d.ts +59 -0
  36. package/dist/lib/agent-kit/run/inbox.js +152 -0
  37. package/dist/lib/agent-kit/run/mesh-listener.d.ts +58 -0
  38. package/dist/lib/agent-kit/run/mesh-listener.js +193 -0
  39. package/dist/lib/agent-kit/run/sync.d.ts +33 -0
  40. package/dist/lib/agent-kit/run/sync.js +58 -0
  41. package/dist/lib/agent-kit/services.d.ts +21 -0
  42. package/dist/lib/agent-kit/services.js +46 -0
  43. package/dist/lib/agent-kit/skills.d.ts +18 -0
  44. package/dist/lib/agent-kit/skills.js +149 -0
  45. package/dist/lib/bot/api.d.ts +51 -0
  46. package/dist/lib/bot/api.js +32 -0
  47. package/dist/lib/bot/daemon.d.ts +17 -0
  48. package/dist/lib/bot/daemon.js +44 -3
  49. package/dist/lib/bot/index.d.ts +4 -0
  50. package/dist/lib/bot/index.js +4 -0
  51. package/dist/lib/bot/inflight.d.ts +14 -0
  52. package/dist/lib/bot/local-config.d.ts +70 -0
  53. package/dist/lib/bot/local-config.js +147 -0
  54. package/dist/lib/bot/local-name.d.ts +54 -0
  55. package/dist/lib/bot/local-name.js +114 -0
  56. package/dist/lib/bot/run.d.ts +9 -0
  57. package/dist/lib/bot/run.js +117 -24
  58. package/dist/lib/bot/runnable.d.ts +51 -0
  59. package/dist/lib/bot/runnable.js +65 -0
  60. package/dist/lib/bot/self-heal.d.ts +52 -0
  61. package/dist/lib/bot/self-heal.js +79 -0
  62. package/dist/lib/bot/split.d.ts +32 -0
  63. package/dist/lib/bot/split.js +241 -0
  64. package/dist/lib/service-manager/index.d.ts +43 -0
  65. package/dist/lib/service-manager/index.js +114 -0
  66. package/dist/lib/service-manager/launchd.d.ts +23 -0
  67. package/dist/lib/service-manager/launchd.js +81 -0
  68. package/dist/lib/service-manager/systemd.d.ts +19 -0
  69. package/dist/lib/service-manager/systemd.js +72 -0
  70. package/dist/lib/service-manager/types.d.ts +32 -0
  71. package/dist/lib/service-manager/types.js +26 -0
  72. package/dist/utils/self-update.js +2 -30
  73. package/dist/utils/update-command-supervisor.cjs +194 -0
  74. package/dist/utils/version-gate.d.ts +18 -0
  75. package/dist/utils/version-gate.js +126 -7
  76. package/package.json +2 -2
package/CHANGELOG.md CHANGED
@@ -2,20 +2,163 @@
2
2
 
3
3
  ## [Unreleased]
4
4
 
5
- ## [5.115.6] — 2026-09-16
5
+ ## [5.117.0] — 2026-09-16
6
+
7
+ ### Added
8
+
9
+ - Your local bots can come back after a reinstall. A bot is an identity HQ
10
+ keeps for you plus the state that runs it on one computer; wiping that
11
+ computer's HQ folder, or moving to a new Mac, used to leave every bot dead
12
+ with no way back — making a new one was refused, because the old one still
13
+ existed. Now `hq bot restore` brings back every bot you own that is missing
14
+ from this computer, with its own settings, memory folder and startup agent,
15
+ keeping the same identity and the same conversation. `hq bot adopt <name>`
16
+ does one bot, `hq bot list --remote` shows every bot you own and which of
17
+ them are set up here, and trying to create a bot you already own now says so
18
+ and points at adopting it instead. Bots made before this shipped come back on
19
+ sensible defaults, and HQ tells you it did that.
20
+
21
+ ### Fixed
22
+
23
+ - `hq bot restore` no longer brings back a bot this Mac cannot run. A company
24
+ bot — one that acts for a company rather than as you — was being set up here
25
+ as a personal bot: it got credentials, a folder, a memory folder and a startup
26
+ entry, was counted as restored with nothing reported as failed, and then died
27
+ at every start and at every login, while the Mac offered "check that Claude
28
+ Code is signed in" as the remedy, which could never help. Restore, `hq bot
29
+ adopt` and `hq bot list --remote` now ask exactly the question the bot's own
30
+ startup asks, before anything is written or any password is rotated. A bot
31
+ that cannot run here is listed plainly, counted as skipped rather than
32
+ restored, and refused by adopt with one sentence saying where it does run —
33
+ and nothing is left behind on this computer.
34
+ - Bringing a bot back no longer leaves a second copy of it. A bot you created
35
+ here as `qa-x` is `qa-x-<your suffix>` in HQ, and bringing it back built a
36
+ whole second folder under that longer name: a second startup entry, a second
37
+ memory folder, and the original folder left behind holding the live password
38
+ of a bot nothing could reach any more. HQ now recognises the folder a bot
39
+ already has on this computer — by the identity inside it, even when a wipe
40
+ left only its credentials — and repairs that one in place. A bot that is not
41
+ here at all comes back under the name you created it with. If that name
42
+ already belongs to a different bot, both are kept, under names that tell them
43
+ apart.
44
+ - `hq bot list --remote --json` now says `ok: true` when it worked. Every
45
+ failure said `ok: false`, and the success document had no `ok` at all, so
46
+ anything that learned to check it read a good listing as a failure.
47
+ - A bot's long answer now reaches you, in several messages. HQ Cloud refuses any
48
+ single message over 4000 characters, and nothing split one up: an answer over
49
+ that length was refused, saved, and sent again unchanged on every check — a
50
+ test machine recorded the same rejection 231 times in eight minutes while the
51
+ person saw no reply and no error at all, and the bot's 44 seconds of work was
52
+ thrown away. A reply that is too long is now cut into numbered parts — on
53
+ paragraph breaks where it can, on sentences otherwise, and never leaving a
54
+ block of code half-open — and posted in order. If something goes wrong partway
55
+ through, only the parts you have not seen are sent again. And if a message
56
+ truly cannot be delivered, the bot stops after five tries and tells you so in
57
+ one short line, instead of asking the server to do the impossible for as long
58
+ as it runs.
59
+ - A bot's startup entry no longer outlives the bot. When a bot's local setup was
60
+ gone, the startup entry macOS keeps for it relaunched it every five seconds,
61
+ forever, filling its log with the same failure (one test machine recorded 267
62
+ of them in a row). HQ now says once what happened, tells you how to bring the
63
+ bot back, removes the startup entry it no longer needs, and stops cleanly so
64
+ nothing relaunches it. This works when macOS itself is the one running the
65
+ bot, which is the case that matters: the first version did its tidying in an
66
+ order that had macOS shut the bot down before it could finish, so the startup
67
+ entry survived and brought the same dead bot back at every login, and the
68
+ explanation never reached the bot's log. HQ now writes the explanation and
69
+ removes the entry first, and lets go of itself last.
70
+
71
+ - You can remove a bot whose settings this computer has already lost. A wiped
72
+ HQ folder could leave a bot half-here — a folder and a startup entry, no
73
+ settings — and nothing could clear it: removing it said there was no such
74
+ bot and suggested creating one, and creating one said you already had it.
75
+ `hq bot rm <name>` now clears whatever is actually left on this computer, and
76
+ `hq bot rm <name> --remote` also removes the bot HQ still holds under that
77
+ name. It checks with HQ before it deletes anything local, so a service that
78
+ cannot answer leaves nothing half-done.
79
+
80
+ - Removing a bot now tells the truth when HQ only gets part of the way. When
81
+ HQ's own teardown of a bot's cloud identity stopped half-way, the
82
+ machine-readable form said the removal had failed but gave no reason and no
83
+ explanation, reported success to anything checking the exit code, and printed
84
+ the raw cloud error — including internal infrastructure addresses — straight
85
+ at you. It now says one plain sentence, names the reason in the same
86
+ vocabulary as everything else, and exits non-zero, and no internal detail is
87
+ repeated anywhere. It also stops making you run the command twice for
88
+ nothing: when the part HQ could not finish would fail the same way every
89
+ time, the bot is removed from this computer and you are told the leftover is
90
+ HQ's to clear; when it is something HQ may yet finish, your settings are kept
91
+ exactly as they were so running the same command again picks the job back up.
92
+
93
+ - Bringing bots back now fails in plain language when HQ Cloud is too old for
94
+ it. `hq bot adopt`, `hq bot restore`, and `hq bot list --remote` all ask HQ
95
+ which bots you own; against an HQ Cloud without that capability, the raw
96
+ network error was printed at you, and the machine-readable form printed
97
+ nothing at all — so the desktop app had nothing it could read. Each now says
98
+ one plain sentence, and `--json` always returns a result naming the reason,
99
+ so the app can quietly fall back to showing the bots that are on this
100
+ computer.
101
+
102
+ ## [5.116.0] — 2026-09-16
103
+
104
+ ### Added
105
+
106
+ - External bots as team members (host side). `hq agent enroll <code>`
107
+ redeems a one-time enrollment code from the console: it generates an
108
+ Ed25519 host key at `~/.hq-agent/host-key` (0600), POSTs the public half to
109
+ `POST /v1/agents/enroll`, and writes `~/.hq-agent/machine-creds.json` (0600)
110
+ with `runtime: "external"`. It refuses to run on a host that already holds a
111
+ human session file or another machine identity unless `--replace`, and
112
+ never reads `~/.hq/cognito-tokens.json`. Every contract error (expired,
113
+ already redeemed, invalid, revoked, plan-gated, throttled, unreachable) maps
114
+ to a message that names the fix.
115
+ - `hq agent kit install|status|uninstall|run <service>`: user-level services
116
+ (LaunchAgent on macOS, systemd `--user` on Linux) for the company-vault sync
117
+ loop, a work-mesh doorbell listener (ids-only MQTT → REST refetch into
118
+ `~/.hq/work-mesh/cache`), an inbox poller that mirrors new items to
119
+ `~/.hq-agent/inbox/` (server ack opt-in via `--inbox-ack`), and a 60 s
120
+ heartbeat posting `{ components: { sync, mesh, inbox } }`. Each unit just
121
+ runs `hq agent kit run <service>`; logs land in `~/.hq-agent/logs/`. The
122
+ install also ships `~/.hq-agent/skills/{dm,search,files,secrets-exec,work-mesh-status}/SKILL.md`
123
+ (agentskills.io format). `docker/hq-agent-kit/` runs the same four
124
+ processes from a mounted creds volume.
125
+ - `hq agent probe`: whoami → vault sync → mesh presence → DM round trip to
126
+ self → secrets list, one PASS/FAIL line each, non-zero exit on any failure,
127
+ a final `heartbeat <age>` line (the recipe format), and the result POSTed to
128
+ `POST /v1/agents/{uid}/probe-result` so the console flips to Enrolled.
129
+ - `hq agent mcp`: a stdio MCP server (no SDK dependency; initialize / ping /
130
+ tools/list / tools/call) backed by the enrolled machine identity, exposing
131
+ `hq_whoami`, `hq_search`, `hq_files_list`, `hq_files_read`,
132
+ `hq_secrets_list`, `hq_secrets_exec` (exit code + output only, never
133
+ values), `hq_dm_send`, `hq_inbox_read`, `hq_work_mesh_status`. Console
134
+ recipes register it as `command: hq, args: [agent, mcp]`.
135
+ - `hq agents rotate <uid>` (fresh enrollment code, shown once) and
136
+ `hq agents revoke <uid> [--remove] --yes` for external agents. Both fail
137
+ closed under `HQ_API_KEY` (JWT-only routes).
138
+
139
+ ### Changed
140
+
141
+ - `@indigoai-us/hq-cloud` pinned to `~6.16.48`, whose machine mint signs the
142
+ server's nonce with the host key when creds carry `runtime: "external"`.
6
143
 
7
144
  ### Fixed
8
145
 
9
- - `hq doctor --fix` can now refresh a company sync journal that is stale or
10
- has never synced, when that company still has a folder under `companies/`.
11
- It pulls that company only, keeps your local copy if there is a conflict,
12
- and does not push. Company journals left over from memberships you do not
13
- keep locally are reported as unused rather than broken, so a session-start
14
- health check no longer files "could not repair" reports for folders that
15
- were never on this machine. Personal journals are unchanged: they still
16
- warn when stale, and `--fix` will not pull your personal vault on its own.
17
- The repair pass also skips the integrations inventory, which it cannot
18
- repair, so a slow connection check cannot stall the fix.
146
+ - When a new agent needs an owner action, `hq agents provision` prints the
147
+ current Codex sign-in code or a link to finish setting up the Slack app. `hq agents status
148
+ <slug>` gets the current action again. The `--json` output adds a
149
+ `pendingActions` array, plus `slackInstallPending` and `slackInstallUrl` for
150
+ Slack installs.
151
+
152
+ - `hq secrets` now fails promptly instead of waiting for a browser sign-in
153
+ that cannot be completed when stdin or stderr is not a terminal, or in CI.
154
+ Run `hq login` from an interactive shell first if no valid session exists.
155
+
156
+ - hq gives both visible and quiet version-gated updates 30 minutes to finish.
157
+ When that limit expires, it tries to terminate the updater's process group
158
+ on POSIX or process tree on Windows. If the operating system denies that
159
+ request, hq reports it instead of waiting forever. Set `HQ_UPDATE_TIMEOUT_MS`
160
+ to another whole number of milliseconds up to 2,147,483,647. hq ignores an
161
+ invalid value and tells you it is using the 30-minute limit.
19
162
 
20
163
  - HQ's housekeeping pass now clears out add-on shortcuts that lead nowhere,
21
164
  instead of warning about them forever. A pack that stops shipping one of its
@@ -37,6 +180,21 @@
37
180
  that leads to real content. Repairing a tree this way fixed a batch of
38
181
  long-broken pack shortcuts in one pass.
39
182
 
183
+ ## [5.115.6] — 2026-09-16
184
+
185
+ ### Fixed
186
+
187
+ - `hq doctor --fix` can now refresh a company sync journal that is stale or
188
+ has never synced, when that company still has a folder under `companies/`.
189
+ It pulls that company only, keeps your local copy if there is a conflict,
190
+ and does not push. Company journals left over from memberships you do not
191
+ keep locally are reported as unused rather than broken, so a session-start
192
+ health check no longer files "could not repair" reports for folders that
193
+ were never on this machine. Personal journals are unchanged: they still
194
+ warn when stale, and `--fix` will not pull your personal vault on its own.
195
+ The repair pass also skips the integrations inventory, which it cannot
196
+ repair, so a slow connection check cannot stall the fix.
197
+
40
198
  ## [5.115.5] — 2026-09-15
41
199
 
42
200
  ### Fixed
@@ -3853,9 +3853,9 @@ export declare const COMMAND_CATALOG: readonly [{
3853
3853
  readonly description: "Show an agent's setup state and runtime detail";
3854
3854
  readonly aliases: readonly [];
3855
3855
  readonly hidden: false;
3856
- readonly usage: "[options] <agentUid>";
3856
+ readonly usage: "[options] <agent>";
3857
3857
  readonly arguments: readonly [{
3858
- readonly name: "agentUid";
3858
+ readonly name: "agent";
3859
3859
  readonly required: true;
3860
3860
  readonly variadic: false;
3861
3861
  }];
@@ -4022,6 +4022,47 @@ export declare const COMMAND_CATALOG: readonly [{
4022
4022
  readonly description: "Confirm the irreversible teardown (required)";
4023
4023
  }];
4024
4024
  readonly subcommands: readonly [];
4025
+ }, {
4026
+ readonly name: "rotate";
4027
+ readonly description: "Issue a fresh enrollment code for an external agent (old secret + host key stop minting)";
4028
+ readonly aliases: readonly [];
4029
+ readonly hidden: false;
4030
+ readonly usage: "[options] <agentUid>";
4031
+ readonly arguments: readonly [{
4032
+ readonly name: "agentUid";
4033
+ readonly required: true;
4034
+ readonly variadic: false;
4035
+ }];
4036
+ readonly options: readonly [{
4037
+ readonly flags: "--company <slug>";
4038
+ readonly description: "Company slug (resolves to companyUid)";
4039
+ }, {
4040
+ readonly flags: "--json";
4041
+ readonly description: "Emit raw JSON (code included — pipe carefully)";
4042
+ }];
4043
+ readonly subcommands: readonly [];
4044
+ }, {
4045
+ readonly name: "revoke";
4046
+ readonly description: "Revoke an external agent: disable its login and drop it from the team";
4047
+ readonly aliases: readonly [];
4048
+ readonly hidden: false;
4049
+ readonly usage: "[options] <agentUid>";
4050
+ readonly arguments: readonly [{
4051
+ readonly name: "agentUid";
4052
+ readonly required: true;
4053
+ readonly variadic: false;
4054
+ }];
4055
+ readonly options: readonly [{
4056
+ readonly flags: "--company <slug>";
4057
+ readonly description: "Company slug (resolves to companyUid)";
4058
+ }, {
4059
+ readonly flags: "--remove";
4060
+ readonly description: "Also delete the agent entity (it disappears from the roster)";
4061
+ }, {
4062
+ readonly flags: "--yes";
4063
+ readonly description: "Confirm the revoke (required)";
4064
+ }];
4065
+ readonly subcommands: readonly [];
4025
4066
  }, {
4026
4067
  readonly name: "jobs";
4027
4068
  readonly description: "List, pause, or cancel an agent's scheduled jobs";
@@ -4091,6 +4132,125 @@ export declare const COMMAND_CATALOG: readonly [{
4091
4132
  readonly subcommands: readonly [];
4092
4133
  }];
4093
4134
  }];
4135
+ }, {
4136
+ readonly name: "agent";
4137
+ readonly description: "Enroll and run this host as an external HQ agent";
4138
+ readonly aliases: readonly [];
4139
+ readonly hidden: false;
4140
+ readonly usage: "[options] [command]";
4141
+ readonly arguments: readonly [];
4142
+ readonly options: readonly [];
4143
+ readonly subcommands: readonly [{
4144
+ readonly name: "enroll";
4145
+ readonly description: "Enroll this host as an external HQ agent using a one-time code";
4146
+ readonly aliases: readonly [];
4147
+ readonly hidden: false;
4148
+ readonly usage: "[options] <code>";
4149
+ readonly arguments: readonly [{
4150
+ readonly name: "code";
4151
+ readonly required: true;
4152
+ readonly variadic: false;
4153
+ }];
4154
+ readonly options: readonly [{
4155
+ readonly flags: "--company <slug>";
4156
+ readonly description: "Expected company slug (warns when the code belongs elsewhere)";
4157
+ }, {
4158
+ readonly flags: "--replace";
4159
+ readonly description: "Overwrite an existing machine identity on this host";
4160
+ }, {
4161
+ readonly flags: "--api-base-url <url>";
4162
+ readonly description: "hq-pro control plane (default: HQ_VAULT_API_URL or production)";
4163
+ }];
4164
+ readonly subcommands: readonly [];
4165
+ }, {
4166
+ readonly name: "kit";
4167
+ readonly description: "Install, inspect, or run the external-agent background services";
4168
+ readonly aliases: readonly [];
4169
+ readonly hidden: false;
4170
+ readonly usage: "[options] [command]";
4171
+ readonly arguments: readonly [];
4172
+ readonly options: readonly [];
4173
+ readonly subcommands: readonly [{
4174
+ readonly name: "install";
4175
+ readonly description: "Install sync, work-mesh, inbox and heartbeat services plus the skills directory";
4176
+ readonly aliases: readonly [];
4177
+ readonly hidden: false;
4178
+ readonly usage: "[options]";
4179
+ readonly arguments: readonly [];
4180
+ readonly options: readonly [{
4181
+ readonly flags: "--hq-root <path>";
4182
+ readonly description: "Local HQ tree to sync the company vault into (default: ~/.hq-agent/hq)";
4183
+ }, {
4184
+ readonly flags: "--inbox-ack";
4185
+ readonly description: "Ack mirrored inbox items on the server (default: leave acking to the bot)";
4186
+ }, {
4187
+ readonly flags: "--no-activate";
4188
+ readonly description: "Write unit files but do not load them";
4189
+ }, {
4190
+ readonly flags: "--json";
4191
+ readonly description: "Print machine-readable JSON";
4192
+ }];
4193
+ readonly subcommands: readonly [];
4194
+ }, {
4195
+ readonly name: "status";
4196
+ readonly description: "Show whether each kit service is installed and running";
4197
+ readonly aliases: readonly [];
4198
+ readonly hidden: false;
4199
+ readonly usage: "[options]";
4200
+ readonly arguments: readonly [];
4201
+ readonly options: readonly [{
4202
+ readonly flags: "--json";
4203
+ readonly description: "Print machine-readable JSON";
4204
+ }];
4205
+ readonly subcommands: readonly [];
4206
+ }, {
4207
+ readonly name: "uninstall";
4208
+ readonly description: "Stop and remove the kit services (credentials and skills are kept)";
4209
+ readonly aliases: readonly [];
4210
+ readonly hidden: false;
4211
+ readonly usage: "[options]";
4212
+ readonly arguments: readonly [];
4213
+ readonly options: readonly [{
4214
+ readonly flags: "--json";
4215
+ readonly description: "Print machine-readable JSON";
4216
+ }];
4217
+ readonly subcommands: readonly [];
4218
+ }, {
4219
+ readonly name: "run";
4220
+ readonly description: "Run one kit service in the foreground (sync|mesh|inbox|heartbeat)";
4221
+ readonly aliases: readonly [];
4222
+ readonly hidden: false;
4223
+ readonly usage: "[options] <service>";
4224
+ readonly arguments: readonly [{
4225
+ readonly name: "service";
4226
+ readonly required: true;
4227
+ readonly variadic: false;
4228
+ }];
4229
+ readonly options: readonly [];
4230
+ readonly subcommands: readonly [];
4231
+ }];
4232
+ }, {
4233
+ readonly name: "probe";
4234
+ readonly description: "Verify identity, vault sync, work-mesh presence, DMs and secrets; report to the console";
4235
+ readonly aliases: readonly [];
4236
+ readonly hidden: false;
4237
+ readonly usage: "[options]";
4238
+ readonly arguments: readonly [];
4239
+ readonly options: readonly [{
4240
+ readonly flags: "--json";
4241
+ readonly description: "Print machine-readable JSON";
4242
+ }];
4243
+ readonly subcommands: readonly [];
4244
+ }, {
4245
+ readonly name: "mcp";
4246
+ readonly description: "Serve HQ as a stdio MCP server for the bot framework (whoami, search, files, secrets-exec, dm, inbox, work-mesh)";
4247
+ readonly aliases: readonly [];
4248
+ readonly hidden: false;
4249
+ readonly usage: "[options]";
4250
+ readonly arguments: readonly [];
4251
+ readonly options: readonly [];
4252
+ readonly subcommands: readonly [];
4253
+ }];
4094
4254
  }, {
4095
4255
  readonly name: "outposts";
4096
4256
  readonly description: "Manage your personal HQ Outposts (EC2 boxes)";
@@ -6214,6 +6374,61 @@ export declare const COMMAND_CATALOG: readonly [{
6214
6374
  readonly usage: "[options]";
6215
6375
  readonly arguments: readonly [];
6216
6376
  readonly options: readonly [{
6377
+ readonly flags: "--remote";
6378
+ readonly description: "List the local bots your HQ account owns instead, with a here column saying which are set up on this computer";
6379
+ }, {
6380
+ readonly flags: "--json";
6381
+ readonly description: "Print machine-readable JSON";
6382
+ }];
6383
+ readonly subcommands: readonly [];
6384
+ }, {
6385
+ readonly name: "adopt";
6386
+ readonly description: "Bring a bot you already own back to this computer: new machine credentials, its saved settings, worker folder, and startup agent";
6387
+ readonly aliases: readonly [];
6388
+ readonly hidden: false;
6389
+ readonly usage: "[options] <name>";
6390
+ readonly arguments: readonly [{
6391
+ readonly name: "name";
6392
+ readonly required: true;
6393
+ readonly variadic: false;
6394
+ }];
6395
+ readonly options: readonly [{
6396
+ readonly flags: "--runtime <runtime>";
6397
+ readonly description: "Model CLI to run it with, overriding its saved one: claude|codex|grok";
6398
+ }, {
6399
+ readonly flags: "--model <model>";
6400
+ readonly description: "Model override passed to the runtime CLI, replacing its saved one";
6401
+ }, {
6402
+ readonly flags: "--no-daemon";
6403
+ readonly description: "Do not install the launchd agent (macOS)";
6404
+ }, {
6405
+ readonly flags: "--no-start";
6406
+ readonly description: "Bring it back without starting it";
6407
+ }, {
6408
+ readonly flags: "--json";
6409
+ readonly description: "Print machine-readable JSON";
6410
+ }];
6411
+ readonly subcommands: readonly [];
6412
+ }, {
6413
+ readonly name: "restore";
6414
+ readonly description: "Bring back every local bot your HQ account owns that is not set up on this computer (after a reinstall, or on a new Mac)";
6415
+ readonly aliases: readonly [];
6416
+ readonly hidden: false;
6417
+ readonly usage: "[options]";
6418
+ readonly arguments: readonly [];
6419
+ readonly options: readonly [{
6420
+ readonly flags: "--all";
6421
+ readonly description: "Also re-issue credentials and reinstall the startup agent for the bots already set up here";
6422
+ }, {
6423
+ readonly flags: "--dry-run";
6424
+ readonly description: "Show what would be brought back, change nothing";
6425
+ }, {
6426
+ readonly flags: "--no-daemon";
6427
+ readonly description: "Do not install the launchd agents (macOS)";
6428
+ }, {
6429
+ readonly flags: "--no-start";
6430
+ readonly description: "Bring them back without starting them";
6431
+ }, {
6217
6432
  readonly flags: "--json";
6218
6433
  readonly description: "Print machine-readable JSON";
6219
6434
  }];
@@ -6328,6 +6543,9 @@ export declare const COMMAND_CATALOG: readonly [{
6328
6543
  readonly options: readonly [{
6329
6544
  readonly flags: "-y, --yes";
6330
6545
  readonly description: "Skip the confirmation prompt";
6546
+ }, {
6547
+ readonly flags: "--remote";
6548
+ readonly description: "When the bot's local settings are already gone, also delete the bot HQ still has under that name";
6331
6549
  }, {
6332
6550
  readonly flags: "--json";
6333
6551
  readonly description: "Print machine-readable JSON";