@indigoai-us/hq-cli 5.345.179 → 5.345.181
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.
- package/CHANGELOG.md +23 -0
- package/dist/command-catalog.generated.d.ts +126 -0
- package/dist/command-catalog.generated.js +155 -0
- package/dist/commands/bot.d.ts +29 -1
- package/dist/commands/bot.js +282 -22
- package/dist/commands/channels.d.ts +18 -1
- package/dist/commands/channels.js +185 -1
- package/dist/commands/lanes.d.ts +1 -1
- package/dist/commands/lanes.js +6 -2
- package/dist/commands/mesh.js +19 -0
- package/dist/hq-cloud-sync-runner/bin/sync-runner.js +2285 -1743
- package/dist/hq-cloud-sync-runner/package.json +1 -1
- package/dist/lib/bot/config.d.ts +8 -0
- package/dist/lib/bot/fleet-local.d.ts +7 -3
- package/dist/lib/bot/fleet-local.js +234 -64
- package/dist/lib/bot/run.js +39 -2
- package/dist/lib/bot/runtime-auth.d.ts +119 -0
- package/dist/lib/bot/runtime-auth.js +251 -0
- package/dist/lib/daemon/catalog.d.ts +1 -0
- package/dist/lib/daemon/catalog.js +1 -1
- package/dist/lib/daemon/run.d.ts +2 -0
- package/dist/lib/daemon/run.js +64 -16
- package/dist/lib/flag-registry-worker-source.generated.d.ts +1 -1
- package/dist/lib/flag-registry-worker-source.generated.js +1 -1
- package/dist/lib/hot-channels/adapters/meetings.js +3 -1
- package/dist/lib/hot-channels/contract.d.ts +6 -0
- package/dist/lib/hot-channels/ledger.js +17 -0
- package/dist/lib/hot-channels/loop.js +2 -0
- package/dist/lib/lanes/accounts.d.ts +1 -17
- package/dist/lib/lanes/accounts.js +5 -45
- package/dist/lib/lanes/provider-home.d.ts +24 -0
- package/dist/lib/lanes/provider-home.js +52 -0
- package/dist/lib/lanes/spawn.d.ts +12 -0
- package/dist/lib/lanes/spawn.js +27 -0
- package/dist/lib/mesh/live/daemon/doctor.d.ts +3 -0
- package/dist/lib/mesh/live/daemon/doctor.js +13 -0
- package/dist/lib/mesh/live/daemon/owner-inbox-push.d.ts +94 -0
- package/dist/lib/mesh/live/daemon/owner-inbox-push.js +273 -0
- package/dist/lib/mesh/live/daemon/run.js +31 -0
- package/dist/lib/mesh/live/daemon/work-subscribe.d.ts +14 -0
- package/dist/lib/mesh/live/daemon/work-subscribe.js +210 -3
- package/dist/lib/mesh/live/paths.d.ts +2 -0
- package/dist/lib/mesh/live/paths.js +2 -0
- package/dist/lib/sync-core/flag.d.ts +1 -1
- package/dist/lib/sync-core/flag.js +1 -1
- package/dist/lib/sync-core/reconcile.d.ts +1 -1
- package/dist/lib/sync-core/reconcile.js +9 -7
- package/dist/lib/sync-core/release.d.ts +3 -3
- package/dist/lib/sync-core/release.js +4 -4
- package/dist/lib/sync-core/rollout-state.d.ts +1 -0
- package/dist/lib/sync-core/rollout-state.js +1 -0
- package/package.json +8 -8
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,29 @@
|
|
|
2
2
|
|
|
3
3
|
## [Unreleased]
|
|
4
4
|
|
|
5
|
+
## [5.345.181] — 2026-10-30
|
|
6
|
+
- Local personal and company bots now share one HQ Fleet runtime installation while keeping isolated native profiles and gateway services. Existing local Fleet bots migrate in place without losing profile state.
|
|
7
|
+
|
|
8
|
+
## [5.345.180] — 2026-10-30
|
|
9
|
+
- New `hq channels add <channel> <member...>` and `hq channels remove <channel> <member>`. An owner can now add a personal bot (or a teammate) to a channel from the CLI by @handle, email, or prs_/agt_ uid, so everyone in the channel can @mention it. Before this there was no verb for it, and posting "@bot" into the channel was refused with "No channel member matches". The server's join-first refusal and the owner-or-company-admin rule for adding and removing members are explained in plain words. Feedback e165b286-b059-4d5c-bd44-ac344f00c821.
|
|
10
|
+
- A local bot can now have a model login of its own, so it no longer has to use yours. `hq bot login <name> [--runtime claude|codex]` runs the runtime's own sign-in into `~/.hq/bots/<name>/auth/<runtime>/` (`CLAUDE_CONFIG_DIR` or `CODEX_HOME`). `hq bot logout <name>` signs that login out and deletes the folder. `hq bot set <name> --account <id|default>` points the bot at an existing `hq capacity` account instead. Every model turn uses the chosen login. When that login is missing or its account is gone, the turn does not fall back to your login: the bot replies in the DM saying so, keeps the message pending, and `hq bot status` shows the problem. `hq bot status` now has a `login:` line (default, own, or the account name) and never shows a token.
|
|
11
|
+
- `hq bot set <name> --runtime <claude|codex|grok>` switches a bot's model CLI. It first runs one test turn on the new runtime with the bot's login, and changes nothing if that fails. It then stops a running bot, backs up `bot.json` and moves the old runtime's session files to `~/.hq/bots/<name>/session-archive/`, saves the new runtime, and starts the bot again. If the bot does not come back, the old runtime, settings and sessions are restored. A model or thinking level that does not fit the new runtime is reset to the default. DM history, memory and the bot's HQ identity are not touched.
|
|
12
|
+
- Pins hq-fleet-local v0.4.14 so Grok browser sign-in returns valid machine-readable authentication results while retaining the first-start delivery fix.
|
|
13
|
+
- Personal fleet bots now share one runtime installation per engine version on the same computer. Creating another bot keeps its own profile and credentials without reinstalling the runtime. Upgrades reuse a downloaded runtime archive only when its SHA-256 matches the new release pin.
|
|
14
|
+
- The bot's daily hot-channel sync now skips a run, writing nothing, when the bot's `bot.json` is missing or cannot be read. It no longer falls back to the company the bot started with. The job stays in place and tries again at its next run.
|
|
15
|
+
- A hot-channel sync that loses its lock now stops before writing meeting notes, moving a cursor, or adding a run ledger line. Only the ledger line that records the lost lock is still written.
|
|
16
|
+
- Fixed (hq-cloud): bump hq-cloud to 6.18.105 so company sync keeps downloading when the server refuses some uploads.
|
|
17
|
+
- Lane self-review. `hq lanes create` adds a self-review rule to every lane brief (claude, codex and grok), right after the temp-home rule. Before reporting done on work that opens or updates a PR, the lane runs the paranoid /review on its own final diff, fixes every critical and re-runs until there are 0 criticals. It puts the report in the PR body under a "Self-review" heading with the head SHA, and saves it under `workspace/reviews/` in the `hq-pr-review.v1` format that the core-pr-reviews channel guard reads. The lane never posts to core-pr-reviews, and if it cannot produce the report, the lane marks the PR as draft. A resumed lane carries the rule once.
|
|
18
|
+
- On a person (`prs_`) account the mesh daemon now also subscribes to the owner's `hq/{prs}/dm` realtime topic. From each wake it reads only `type`, `channelId` and `eventId`. A channel event counts only when that channel's company is in the allowed set (the device default company plus companies from recent sessions); an unknown channel or a channel with no company is dropped. Each kept event bumps a counter in `~/.hq/work-mesh/owner-inbox-push.json` (count, last event time and type, heartbeat), which is written atomically with mode 0600. Message text, poster name and email are never stored, logged or forwarded. New `hq mesh push-status [--json]` reports whether the signal is live or stale with the last event time, and exits 1 when stale. `hq mesh daemon doctor` shows the same line and reports a stale push as unhealthy while the daemon runs. The owner subscription is best-effort: if the broker rejects it, the work topic keeps running and the daemon retries the owner subscribe with backoff, up to 6 times per connection. On an account that is not a person account, push-status reports `off` and doctor skips the check. Agent (`agt_`) accounts are unchanged.
|
|
19
|
+
- Updates the new sync engine to 0.1.23, fixing concurrent rename/edit stalls
|
|
20
|
+
and delayed recovery after delete confirmations.
|
|
21
|
+
- Requires version 0.1.23 or newer for full sync of both personal and company
|
|
22
|
+
vaults. If an engine update fails, an older engine cannot join the rollout.
|
|
23
|
+
- Avoids full local filesystem scans for remote-only wake events when local
|
|
24
|
+
watcher coverage is complete, while preserving full scans after local changes.
|
|
25
|
+
- Receive files from the new sync engine while a computer uses legacy sync, including personal vaults and rollback, with current access and single-owner checks.
|
|
26
|
+
- Use a separate rollout switch for the new sync engine generation so older CLI installations stay on legacy sync until updated. This generation requires engine 0.1.23 and does not inherit approval from the previous switch when the new switch is missing or unavailable.
|
|
27
|
+
|
|
5
28
|
## [5.345.179] — 2026-10-29
|
|
6
29
|
- Conduct loop lanes now count a phase's absolute `deadline` from when the lane starts the phase, so time the envelope spent waiting in the queue no longer eats its run budget. An unparsable `deadline` now falls back to the phase's normal budget instead of an invalid one.
|
|
7
30
|
- Pins hq-fleet-local v0.4.13 so a personal bot's first-start kickoff waits for HQ Fleet Runtime to attach before delivery instead of being dropped during startup.
|
|
@@ -4394,6 +4394,58 @@ export declare const COMMAND_CATALOG: readonly [{
|
|
|
4394
4394
|
readonly hidden: false;
|
|
4395
4395
|
}];
|
|
4396
4396
|
readonly subcommands: readonly [];
|
|
4397
|
+
}, {
|
|
4398
|
+
readonly name: "add";
|
|
4399
|
+
readonly description: "Add people or your own bots to a channel, by @handle, email, or prs_/agt_ uid.";
|
|
4400
|
+
readonly aliases: readonly [];
|
|
4401
|
+
readonly hidden: false;
|
|
4402
|
+
readonly helpOption: true;
|
|
4403
|
+
readonly helpCommand: false;
|
|
4404
|
+
readonly usage: "[options] <channel> <member...>";
|
|
4405
|
+
readonly helpText: readonly [];
|
|
4406
|
+
readonly arguments: readonly [{
|
|
4407
|
+
readonly name: "channel";
|
|
4408
|
+
readonly required: true;
|
|
4409
|
+
readonly variadic: false;
|
|
4410
|
+
readonly description: "";
|
|
4411
|
+
}, {
|
|
4412
|
+
readonly name: "member";
|
|
4413
|
+
readonly required: true;
|
|
4414
|
+
readonly variadic: true;
|
|
4415
|
+
readonly description: "";
|
|
4416
|
+
}];
|
|
4417
|
+
readonly options: readonly [{
|
|
4418
|
+
readonly flags: "--json";
|
|
4419
|
+
readonly description: "Output the per-member results as JSON.";
|
|
4420
|
+
readonly hidden: false;
|
|
4421
|
+
}];
|
|
4422
|
+
readonly subcommands: readonly [];
|
|
4423
|
+
}, {
|
|
4424
|
+
readonly name: "remove";
|
|
4425
|
+
readonly description: "Remove a member or bot from a channel (owner or company admin), or leave it yourself.";
|
|
4426
|
+
readonly aliases: readonly [];
|
|
4427
|
+
readonly hidden: false;
|
|
4428
|
+
readonly helpOption: true;
|
|
4429
|
+
readonly helpCommand: false;
|
|
4430
|
+
readonly usage: "[options] <channel> <member>";
|
|
4431
|
+
readonly helpText: readonly [];
|
|
4432
|
+
readonly arguments: readonly [{
|
|
4433
|
+
readonly name: "channel";
|
|
4434
|
+
readonly required: true;
|
|
4435
|
+
readonly variadic: false;
|
|
4436
|
+
readonly description: "";
|
|
4437
|
+
}, {
|
|
4438
|
+
readonly name: "member";
|
|
4439
|
+
readonly required: true;
|
|
4440
|
+
readonly variadic: false;
|
|
4441
|
+
readonly description: "";
|
|
4442
|
+
}];
|
|
4443
|
+
readonly options: readonly [{
|
|
4444
|
+
readonly flags: "--json";
|
|
4445
|
+
readonly description: "Output the result as JSON.";
|
|
4446
|
+
readonly hidden: false;
|
|
4447
|
+
}];
|
|
4448
|
+
readonly subcommands: readonly [];
|
|
4397
4449
|
}];
|
|
4398
4450
|
}, {
|
|
4399
4451
|
readonly name: "onboard";
|
|
@@ -14009,6 +14061,22 @@ export declare const COMMAND_CATALOG: readonly [{
|
|
|
14009
14061
|
}];
|
|
14010
14062
|
readonly subcommands: readonly [];
|
|
14011
14063
|
}];
|
|
14064
|
+
}, {
|
|
14065
|
+
readonly name: "push-status";
|
|
14066
|
+
readonly description: "Report whether the owner DM push signal is live or stale, with the last event time";
|
|
14067
|
+
readonly aliases: readonly [];
|
|
14068
|
+
readonly hidden: false;
|
|
14069
|
+
readonly helpOption: true;
|
|
14070
|
+
readonly helpCommand: false;
|
|
14071
|
+
readonly usage: "[options]";
|
|
14072
|
+
readonly helpText: readonly [];
|
|
14073
|
+
readonly arguments: readonly [];
|
|
14074
|
+
readonly options: readonly [{
|
|
14075
|
+
readonly flags: "--json";
|
|
14076
|
+
readonly description: "Print machine-readable JSON";
|
|
14077
|
+
readonly hidden: false;
|
|
14078
|
+
}];
|
|
14079
|
+
readonly subcommands: readonly [];
|
|
14012
14080
|
}];
|
|
14013
14081
|
}, {
|
|
14014
14082
|
readonly name: "lanes";
|
|
@@ -19273,6 +19341,14 @@ export declare const COMMAND_CATALOG: readonly [{
|
|
|
19273
19341
|
readonly description: "";
|
|
19274
19342
|
}];
|
|
19275
19343
|
readonly options: readonly [{
|
|
19344
|
+
readonly flags: "--runtime <runtime>";
|
|
19345
|
+
readonly description: "Switch the model CLI: claude|codex|grok. Checked with one test turn first; the old runtime's sessions are set aside (backed up), DM history and memory stay";
|
|
19346
|
+
readonly hidden: false;
|
|
19347
|
+
}, {
|
|
19348
|
+
readonly flags: "--account <id>";
|
|
19349
|
+
readonly description: "Use this hq capacity account's login for the bot's runtime, or default for your own sign-in";
|
|
19350
|
+
readonly hidden: false;
|
|
19351
|
+
}, {
|
|
19276
19352
|
readonly flags: "--model <model>";
|
|
19277
19353
|
readonly description: "Model id for the runtime CLI, or default for the CLI's own default";
|
|
19278
19354
|
readonly hidden: false;
|
|
@@ -19290,6 +19366,56 @@ export declare const COMMAND_CATALOG: readonly [{
|
|
|
19290
19366
|
readonly hidden: false;
|
|
19291
19367
|
}];
|
|
19292
19368
|
readonly subcommands: readonly [];
|
|
19369
|
+
}, {
|
|
19370
|
+
readonly name: "login";
|
|
19371
|
+
readonly description: "Give the bot a model login of its own, so it does not use yours: runs the runtime's own sign-in into ~/.hq/bots/<name>/auth/<runtime>";
|
|
19372
|
+
readonly aliases: readonly [];
|
|
19373
|
+
readonly hidden: false;
|
|
19374
|
+
readonly helpOption: true;
|
|
19375
|
+
readonly helpCommand: false;
|
|
19376
|
+
readonly usage: "[options] <name>";
|
|
19377
|
+
readonly helpText: readonly [];
|
|
19378
|
+
readonly arguments: readonly [{
|
|
19379
|
+
readonly name: "name";
|
|
19380
|
+
readonly required: true;
|
|
19381
|
+
readonly variadic: false;
|
|
19382
|
+
readonly description: "";
|
|
19383
|
+
}];
|
|
19384
|
+
readonly options: readonly [{
|
|
19385
|
+
readonly flags: "--runtime <runtime>";
|
|
19386
|
+
readonly description: "claude|codex (default: the bot's runtime)";
|
|
19387
|
+
readonly hidden: false;
|
|
19388
|
+
}, {
|
|
19389
|
+
readonly flags: "--json";
|
|
19390
|
+
readonly description: "Print machine-readable JSON";
|
|
19391
|
+
readonly hidden: false;
|
|
19392
|
+
}];
|
|
19393
|
+
readonly subcommands: readonly [];
|
|
19394
|
+
}, {
|
|
19395
|
+
readonly name: "logout";
|
|
19396
|
+
readonly description: "Sign the bot's own model login out and delete it; the bot goes back to your default sign-in";
|
|
19397
|
+
readonly aliases: readonly [];
|
|
19398
|
+
readonly hidden: false;
|
|
19399
|
+
readonly helpOption: true;
|
|
19400
|
+
readonly helpCommand: false;
|
|
19401
|
+
readonly usage: "[options] <name>";
|
|
19402
|
+
readonly helpText: readonly [];
|
|
19403
|
+
readonly arguments: readonly [{
|
|
19404
|
+
readonly name: "name";
|
|
19405
|
+
readonly required: true;
|
|
19406
|
+
readonly variadic: false;
|
|
19407
|
+
readonly description: "";
|
|
19408
|
+
}];
|
|
19409
|
+
readonly options: readonly [{
|
|
19410
|
+
readonly flags: "--runtime <runtime>";
|
|
19411
|
+
readonly description: "claude|codex (default: both)";
|
|
19412
|
+
readonly hidden: false;
|
|
19413
|
+
}, {
|
|
19414
|
+
readonly flags: "--json";
|
|
19415
|
+
readonly description: "Print machine-readable JSON";
|
|
19416
|
+
readonly hidden: false;
|
|
19417
|
+
}];
|
|
19418
|
+
readonly subcommands: readonly [];
|
|
19293
19419
|
}, {
|
|
19294
19420
|
readonly name: "set-model";
|
|
19295
19421
|
readonly description: "Set the model this bot asks its runtime for (stored in the bot's own settings; the runtime's own config is never changed), or default to clear it";
|
|
@@ -5326,6 +5326,70 @@ export const COMMAND_CATALOG = [
|
|
|
5326
5326
|
}
|
|
5327
5327
|
],
|
|
5328
5328
|
"subcommands": []
|
|
5329
|
+
},
|
|
5330
|
+
{
|
|
5331
|
+
"name": "add",
|
|
5332
|
+
"description": "Add people or your own bots to a channel, by @handle, email, or prs_/agt_ uid.",
|
|
5333
|
+
"aliases": [],
|
|
5334
|
+
"hidden": false,
|
|
5335
|
+
"helpOption": true,
|
|
5336
|
+
"helpCommand": false,
|
|
5337
|
+
"usage": "[options] <channel> <member...>",
|
|
5338
|
+
"helpText": [],
|
|
5339
|
+
"arguments": [
|
|
5340
|
+
{
|
|
5341
|
+
"name": "channel",
|
|
5342
|
+
"required": true,
|
|
5343
|
+
"variadic": false,
|
|
5344
|
+
"description": ""
|
|
5345
|
+
},
|
|
5346
|
+
{
|
|
5347
|
+
"name": "member",
|
|
5348
|
+
"required": true,
|
|
5349
|
+
"variadic": true,
|
|
5350
|
+
"description": ""
|
|
5351
|
+
}
|
|
5352
|
+
],
|
|
5353
|
+
"options": [
|
|
5354
|
+
{
|
|
5355
|
+
"flags": "--json",
|
|
5356
|
+
"description": "Output the per-member results as JSON.",
|
|
5357
|
+
"hidden": false
|
|
5358
|
+
}
|
|
5359
|
+
],
|
|
5360
|
+
"subcommands": []
|
|
5361
|
+
},
|
|
5362
|
+
{
|
|
5363
|
+
"name": "remove",
|
|
5364
|
+
"description": "Remove a member or bot from a channel (owner or company admin), or leave it yourself.",
|
|
5365
|
+
"aliases": [],
|
|
5366
|
+
"hidden": false,
|
|
5367
|
+
"helpOption": true,
|
|
5368
|
+
"helpCommand": false,
|
|
5369
|
+
"usage": "[options] <channel> <member>",
|
|
5370
|
+
"helpText": [],
|
|
5371
|
+
"arguments": [
|
|
5372
|
+
{
|
|
5373
|
+
"name": "channel",
|
|
5374
|
+
"required": true,
|
|
5375
|
+
"variadic": false,
|
|
5376
|
+
"description": ""
|
|
5377
|
+
},
|
|
5378
|
+
{
|
|
5379
|
+
"name": "member",
|
|
5380
|
+
"required": true,
|
|
5381
|
+
"variadic": false,
|
|
5382
|
+
"description": ""
|
|
5383
|
+
}
|
|
5384
|
+
],
|
|
5385
|
+
"options": [
|
|
5386
|
+
{
|
|
5387
|
+
"flags": "--json",
|
|
5388
|
+
"description": "Output the result as JSON.",
|
|
5389
|
+
"hidden": false
|
|
5390
|
+
}
|
|
5391
|
+
],
|
|
5392
|
+
"subcommands": []
|
|
5329
5393
|
}
|
|
5330
5394
|
]
|
|
5331
5395
|
},
|
|
@@ -17043,6 +17107,25 @@ export const COMMAND_CATALOG = [
|
|
|
17043
17107
|
"subcommands": []
|
|
17044
17108
|
}
|
|
17045
17109
|
]
|
|
17110
|
+
},
|
|
17111
|
+
{
|
|
17112
|
+
"name": "push-status",
|
|
17113
|
+
"description": "Report whether the owner DM push signal is live or stale, with the last event time",
|
|
17114
|
+
"aliases": [],
|
|
17115
|
+
"hidden": false,
|
|
17116
|
+
"helpOption": true,
|
|
17117
|
+
"helpCommand": false,
|
|
17118
|
+
"usage": "[options]",
|
|
17119
|
+
"helpText": [],
|
|
17120
|
+
"arguments": [],
|
|
17121
|
+
"options": [
|
|
17122
|
+
{
|
|
17123
|
+
"flags": "--json",
|
|
17124
|
+
"description": "Print machine-readable JSON",
|
|
17125
|
+
"hidden": false
|
|
17126
|
+
}
|
|
17127
|
+
],
|
|
17128
|
+
"subcommands": []
|
|
17046
17129
|
}
|
|
17047
17130
|
]
|
|
17048
17131
|
},
|
|
@@ -23489,6 +23572,16 @@ export const COMMAND_CATALOG = [
|
|
|
23489
23572
|
}
|
|
23490
23573
|
],
|
|
23491
23574
|
"options": [
|
|
23575
|
+
{
|
|
23576
|
+
"flags": "--runtime <runtime>",
|
|
23577
|
+
"description": "Switch the model CLI: claude|codex|grok. Checked with one test turn first; the old runtime's sessions are set aside (backed up), DM history and memory stay",
|
|
23578
|
+
"hidden": false
|
|
23579
|
+
},
|
|
23580
|
+
{
|
|
23581
|
+
"flags": "--account <id>",
|
|
23582
|
+
"description": "Use this hq capacity account's login for the bot's runtime, or default for your own sign-in",
|
|
23583
|
+
"hidden": false
|
|
23584
|
+
},
|
|
23492
23585
|
{
|
|
23493
23586
|
"flags": "--model <model>",
|
|
23494
23587
|
"description": "Model id for the runtime CLI, or default for the CLI's own default",
|
|
@@ -23512,6 +23605,68 @@ export const COMMAND_CATALOG = [
|
|
|
23512
23605
|
],
|
|
23513
23606
|
"subcommands": []
|
|
23514
23607
|
},
|
|
23608
|
+
{
|
|
23609
|
+
"name": "login",
|
|
23610
|
+
"description": "Give the bot a model login of its own, so it does not use yours: runs the runtime's own sign-in into ~/.hq/bots/<name>/auth/<runtime>",
|
|
23611
|
+
"aliases": [],
|
|
23612
|
+
"hidden": false,
|
|
23613
|
+
"helpOption": true,
|
|
23614
|
+
"helpCommand": false,
|
|
23615
|
+
"usage": "[options] <name>",
|
|
23616
|
+
"helpText": [],
|
|
23617
|
+
"arguments": [
|
|
23618
|
+
{
|
|
23619
|
+
"name": "name",
|
|
23620
|
+
"required": true,
|
|
23621
|
+
"variadic": false,
|
|
23622
|
+
"description": ""
|
|
23623
|
+
}
|
|
23624
|
+
],
|
|
23625
|
+
"options": [
|
|
23626
|
+
{
|
|
23627
|
+
"flags": "--runtime <runtime>",
|
|
23628
|
+
"description": "claude|codex (default: the bot's runtime)",
|
|
23629
|
+
"hidden": false
|
|
23630
|
+
},
|
|
23631
|
+
{
|
|
23632
|
+
"flags": "--json",
|
|
23633
|
+
"description": "Print machine-readable JSON",
|
|
23634
|
+
"hidden": false
|
|
23635
|
+
}
|
|
23636
|
+
],
|
|
23637
|
+
"subcommands": []
|
|
23638
|
+
},
|
|
23639
|
+
{
|
|
23640
|
+
"name": "logout",
|
|
23641
|
+
"description": "Sign the bot's own model login out and delete it; the bot goes back to your default sign-in",
|
|
23642
|
+
"aliases": [],
|
|
23643
|
+
"hidden": false,
|
|
23644
|
+
"helpOption": true,
|
|
23645
|
+
"helpCommand": false,
|
|
23646
|
+
"usage": "[options] <name>",
|
|
23647
|
+
"helpText": [],
|
|
23648
|
+
"arguments": [
|
|
23649
|
+
{
|
|
23650
|
+
"name": "name",
|
|
23651
|
+
"required": true,
|
|
23652
|
+
"variadic": false,
|
|
23653
|
+
"description": ""
|
|
23654
|
+
}
|
|
23655
|
+
],
|
|
23656
|
+
"options": [
|
|
23657
|
+
{
|
|
23658
|
+
"flags": "--runtime <runtime>",
|
|
23659
|
+
"description": "claude|codex (default: both)",
|
|
23660
|
+
"hidden": false
|
|
23661
|
+
},
|
|
23662
|
+
{
|
|
23663
|
+
"flags": "--json",
|
|
23664
|
+
"description": "Print machine-readable JSON",
|
|
23665
|
+
"hidden": false
|
|
23666
|
+
}
|
|
23667
|
+
],
|
|
23668
|
+
"subcommands": []
|
|
23669
|
+
},
|
|
23515
23670
|
{
|
|
23516
23671
|
"name": "set-model",
|
|
23517
23672
|
"description": "Set the model this bot asks its runtime for (stored in the bot's own settings; the runtime's own config is never changed), or default to clear it",
|
package/dist/commands/bot.d.ts
CHANGED
|
@@ -2,6 +2,7 @@ import { Command } from "commander";
|
|
|
2
2
|
import { type RuntimeSignInCheck, type RuntimeSignInIssue } from "../lib/bot/runtime-sign-in.js";
|
|
3
3
|
import type { BotStatusFile } from "../lib/bot/status.js";
|
|
4
4
|
import { probeBotRuntime, type RuntimeProbeResult } from "../lib/bot/probe.js";
|
|
5
|
+
import { type SpawnInteractive } from "../lib/bot/runtime-auth.js";
|
|
5
6
|
import { type BotLocalConfig, type MyLocalBot, type BotKind, type BotMemoryMode, type BotNotRunnableReason, type RuntimeCrash, type BotConfig, type BotRuntimeId, type LaunchctlExec, type BotRole } from "../lib/bot/index.js";
|
|
6
7
|
/** Real launchctl; every failure is a non-ok result, never a throw. */
|
|
7
8
|
export declare const defaultLaunchctl: LaunchctlExec;
|
|
@@ -193,12 +194,39 @@ export declare function runBotWorkers(opts: {
|
|
|
193
194
|
* from HQ changes nothing and fails.
|
|
194
195
|
*/
|
|
195
196
|
export interface BotSetOptions {
|
|
197
|
+
runtime?: string;
|
|
198
|
+
/** A capacity account id for the bot's runtime, or "default" for the owner's own sign-in. */
|
|
199
|
+
account?: string;
|
|
196
200
|
model?: string;
|
|
197
201
|
effort?: string;
|
|
198
202
|
displayName?: string;
|
|
199
203
|
json?: boolean;
|
|
200
204
|
}
|
|
201
|
-
export
|
|
205
|
+
export interface BotSetDeps {
|
|
206
|
+
probe?: typeof probeBotRuntime;
|
|
207
|
+
/** Test seam: stop and start the bot process. */
|
|
208
|
+
lifecycle?: {
|
|
209
|
+
isRunning: (dir: string) => boolean;
|
|
210
|
+
stop: (name: string, dir: string, config: BotConfig) => Promise<boolean>;
|
|
211
|
+
start: (name: string, dir: string, config: BotConfig) => Promise<boolean>;
|
|
212
|
+
};
|
|
213
|
+
}
|
|
214
|
+
export declare function runBotSet(nameArg: string, opts: BotSetOptions, deps?: BotSetDeps): Promise<void>;
|
|
215
|
+
/** `hq bot login <name>`: sign the bot in with a login of its own. */
|
|
216
|
+
export declare function runBotLogin(nameArg: string, opts: {
|
|
217
|
+
runtime?: string;
|
|
218
|
+
json?: boolean;
|
|
219
|
+
}, deps?: {
|
|
220
|
+
spawn?: SpawnInteractive;
|
|
221
|
+
interactive?: boolean;
|
|
222
|
+
}): Promise<void>;
|
|
223
|
+
/** `hq bot logout <name>`: sign the bot's own login out and delete it. */
|
|
224
|
+
export declare function runBotLogout(nameArg: string, opts: {
|
|
225
|
+
runtime?: string;
|
|
226
|
+
json?: boolean;
|
|
227
|
+
}, deps?: {
|
|
228
|
+
spawn?: SpawnInteractive;
|
|
229
|
+
}): Promise<void>;
|
|
202
230
|
/** `hq bot probe`: exit code 0 when the runtime answered, 1 when it did not. */
|
|
203
231
|
export declare function runBotProbe(opts: {
|
|
204
232
|
runtime?: string;
|