@indigoai-us/hq-cli 5.345.191 → 5.345.194
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 +431 -0
- package/assets/bot-workers/setup/worker.yaml +91 -34
- package/dist/command-catalog.generated.d.ts +145 -19
- package/dist/command-catalog.generated.js +184 -21
- package/dist/commands/bot-jobs.d.ts +21 -18
- package/dist/commands/bot-jobs.js +127 -39
- package/dist/commands/bot.d.ts +4 -3
- package/dist/commands/bot.js +265 -140
- package/dist/commands/core-jobs-schedule.js +10 -0
- package/dist/commands/daemon.js +37 -0
- package/dist/commands/files.d.ts +41 -6
- package/dist/commands/files.js +108 -27
- package/dist/commands/pack-start-bot.d.ts +4 -6
- package/dist/commands/pack-start-bot.js +4 -8
- package/dist/commands/signals-run.d.ts +46 -0
- package/dist/commands/signals-run.js +180 -0
- package/dist/commands/signals.d.ts +1 -0
- package/dist/commands/signals.js +3 -0
- package/dist/commands/sources.d.ts +58 -0
- package/dist/commands/sources.js +294 -26
- package/dist/commands/staff/reset-test-account.d.ts +10 -0
- package/dist/commands/staff/reset-test-account.js +18 -2
- package/dist/commands/whoami.d.ts +7 -0
- package/dist/commands/whoami.js +35 -2
- package/dist/hq-cloud-sync-runner/bin/sync-runner.js +31171 -52512
- package/dist/hq-cloud-sync-runner/package.json +1 -1
- package/dist/lib/bot/api.d.ts +3 -2
- package/dist/lib/bot/config.d.ts +2 -0
- package/dist/lib/bot/fleet-cron.d.ts +121 -0
- package/dist/lib/bot/fleet-cron.js +319 -0
- package/dist/lib/bot/fleet-local.d.ts +93 -1
- package/dist/lib/bot/fleet-local.js +546 -34
- package/dist/lib/bot/fleet-owner-companies.d.ts +12 -0
- package/dist/lib/bot/fleet-owner-companies.js +30 -0
- package/dist/lib/bot/fleet-watch.d.ts +25 -0
- package/dist/lib/bot/fleet-watch.js +51 -0
- package/dist/lib/bot/index.d.ts +1 -1
- package/dist/lib/bot/index.js +1 -1
- package/dist/lib/bot/job-run.d.ts +5 -4
- package/dist/lib/bot/job-run.js +5 -4
- package/dist/lib/bot/jobs/hot-signal-sync.d.ts +57 -3
- package/dist/lib/bot/jobs/hot-signal-sync.js +163 -4
- package/dist/lib/bot/local-jobs.d.ts +13 -2
- package/dist/lib/bot/local-jobs.js +17 -4
- package/dist/lib/bot/progress.d.ts +14 -0
- package/dist/lib/bot/progress.js +47 -1
- package/dist/lib/bot/run.d.ts +55 -2
- package/dist/lib/bot/run.js +192 -10
- package/dist/lib/bot/setup-tool-offer.d.ts +1 -0
- package/dist/lib/bot/setup-tool-offer.js +16 -0
- package/dist/lib/bot/signals-engine-flag.d.ts +18 -0
- package/dist/lib/bot/signals-engine-flag.js +30 -0
- package/dist/lib/daemon/catalog.d.ts +4 -0
- package/dist/lib/daemon/catalog.js +29 -9
- package/dist/lib/daemon/legacy.d.ts +6 -0
- package/dist/lib/daemon/legacy.js +16 -10
- package/dist/lib/daemon/run.d.ts +1 -0
- package/dist/lib/daemon/run.js +10 -0
- 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/flag-registry.d.ts +13 -1
- package/dist/lib/flag-registry.js +46 -0
- package/dist/lib/hot-channels/adapters/attio.d.ts +75 -2
- package/dist/lib/hot-channels/adapters/attio.js +367 -29
- package/dist/lib/hot-channels/adapters/gmail.d.ts +14 -0
- package/dist/lib/hot-channels/adapters/gmail.js +59 -2
- package/dist/lib/hot-channels/adapters/linear.d.ts +24 -0
- package/dist/lib/hot-channels/adapters/linear.js +71 -1
- package/dist/lib/hot-channels/adapters/meetings.js +4 -1
- package/dist/lib/hot-channels/adapters/slack.js +7 -3
- package/dist/lib/hot-channels/alert.js +1 -1
- package/dist/lib/hot-channels/contract.d.ts +11 -0
- package/dist/lib/hot-channels/contract.js +1 -0
- package/dist/lib/hot-channels/cursors.js +1 -1
- package/dist/lib/hot-channels/landing.d.ts +6 -2
- package/dist/lib/hot-channels/landing.js +13 -6
- package/dist/lib/hot-channels/ledger.js +2 -0
- package/dist/lib/hot-channels/loop.d.ts +6 -0
- package/dist/lib/hot-channels/loop.js +19 -4
- package/dist/lib/hot-channels/registry.js +9 -1
- package/dist/lib/hot-channels/run.d.ts +18 -0
- package/dist/lib/hot-channels/run.js +15 -4
- package/dist/lib/hot-channels/signals-pass.d.ts +34 -2
- package/dist/lib/hot-channels/signals-pass.js +149 -38
- package/dist/lib/hot-channels/signals-redo.d.ts +60 -0
- package/dist/lib/hot-channels/signals-redo.js +207 -0
- package/dist/lib/hot-channels/sync-lock.js +22 -6
- package/dist/lib/mesh/live/daemon/install.d.ts +22 -0
- package/dist/lib/mesh/live/daemon/install.js +117 -30
- package/dist/lib/signals/adapters-catalog.d.ts +77 -0
- package/dist/lib/signals/adapters-catalog.js +194 -0
- package/dist/lib/signals/engine.d.ts +202 -0
- package/dist/lib/signals/engine.js +504 -0
- package/dist/lib/signals/failure-alert.d.ts +89 -0
- package/dist/lib/signals/failure-alert.js +175 -0
- package/dist/lib/signals/local-date.d.ts +3 -0
- package/dist/lib/signals/local-date.js +6 -0
- package/dist/lib/signals/projection.d.ts +42 -0
- package/dist/lib/signals/projection.js +67 -0
- package/dist/lib/signals/reply.d.ts +112 -0
- package/dist/lib/signals/reply.js +368 -0
- package/dist/lib/signals/run-lock.d.ts +36 -0
- package/dist/lib/signals/run-lock.js +148 -0
- package/dist/lib/signals/run-record.d.ts +24 -0
- package/dist/lib/signals/run-record.js +82 -0
- package/dist/lib/signals/sanitize.d.ts +105 -0
- package/dist/lib/signals/sanitize.js +439 -0
- package/dist/lib/signals/settings.d.ts +10 -0
- package/dist/lib/signals/settings.js +48 -0
- package/dist/lib/signals/steps/adapters.d.ts +14 -0
- package/dist/lib/signals/steps/adapters.js +156 -0
- package/dist/lib/signals/steps/entity-similarity.d.ts +10 -0
- package/dist/lib/signals/steps/entity-similarity.js +47 -0
- package/dist/lib/signals/steps/extract.d.ts +118 -0
- package/dist/lib/signals/steps/extract.js +793 -0
- package/dist/lib/signals/steps/garden.d.ts +24 -0
- package/dist/lib/signals/steps/garden.js +250 -0
- package/dist/lib/signals/steps/types.d.ts +117 -0
- package/dist/lib/signals/steps/types.js +4 -0
- package/dist/lib/signals/steps/upload.d.ts +43 -0
- package/dist/lib/signals/steps/upload.js +324 -0
- package/dist/lib/signals/write-guard.d.ts +63 -0
- package/dist/lib/signals/write-guard.js +287 -0
- package/dist/utils/resident-package-preload.js +16 -0
- package/dist/utils/vault-api.d.ts +1 -0
- package/dist/utils/vault-api.js +1 -1
- package/package.json +9 -9
- package/dist/lib/bot/fleet-default-flag.d.ts +0 -31
- package/dist/lib/bot/fleet-default-flag.js +0 -127
|
@@ -3245,7 +3245,7 @@ export declare const COMMAND_CATALOG: readonly [{
|
|
|
3245
3245
|
readonly subcommands: readonly [];
|
|
3246
3246
|
}, {
|
|
3247
3247
|
readonly name: "purge";
|
|
3248
|
-
readonly description: "
|
|
3248
|
+
readonly description: "Schedule permanent deletion of ONE retained (noncurrent) version of an exact vault key, for example a version that held data which must not live in HQ. The version is deleted 7 days later and can be cancelled until then with --cancel. Owner only; audited. Delete the file first if the version is current. Use --personal for your personal vault.";
|
|
3249
3249
|
readonly aliases: readonly [];
|
|
3250
3250
|
readonly hidden: false;
|
|
3251
3251
|
readonly helpOption: true;
|
|
@@ -3266,6 +3266,10 @@ export declare const COMMAND_CATALOG: readonly [{
|
|
|
3266
3266
|
readonly flags: "--version-id <id>";
|
|
3267
3267
|
readonly description: "Exact version ID to purge (see `hq files versions`)";
|
|
3268
3268
|
readonly hidden: false;
|
|
3269
|
+
}, {
|
|
3270
|
+
readonly flags: "--cancel";
|
|
3271
|
+
readonly description: "Cancel a scheduled purge of this version instead of scheduling one";
|
|
3272
|
+
readonly hidden: false;
|
|
3269
3273
|
}, {
|
|
3270
3274
|
readonly flags: "-y, --yes";
|
|
3271
3275
|
readonly description: "Skip the confirmation prompt (for scripts)";
|
|
@@ -5331,6 +5335,51 @@ export declare const COMMAND_CATALOG: readonly [{
|
|
|
5331
5335
|
readonly defaultValue: "<runtime-path>";
|
|
5332
5336
|
}];
|
|
5333
5337
|
readonly subcommands: readonly [];
|
|
5338
|
+
}, {
|
|
5339
|
+
readonly name: "signals";
|
|
5340
|
+
readonly description: "Process landed sources for signals again: queue them for the signals pass and run it now (the pass's document cap still applies)";
|
|
5341
|
+
readonly aliases: readonly [];
|
|
5342
|
+
readonly hidden: false;
|
|
5343
|
+
readonly helpOption: true;
|
|
5344
|
+
readonly helpCommand: false;
|
|
5345
|
+
readonly usage: "[options]";
|
|
5346
|
+
readonly helpText: readonly [];
|
|
5347
|
+
readonly arguments: readonly [];
|
|
5348
|
+
readonly options: readonly [{
|
|
5349
|
+
readonly flags: "--company <slug>";
|
|
5350
|
+
readonly description: "Company slug (defaults to .hq/config.json activeCompany)";
|
|
5351
|
+
readonly hidden: false;
|
|
5352
|
+
}, {
|
|
5353
|
+
readonly flags: "--since <date>";
|
|
5354
|
+
readonly description: "Landed documents from this date on (YYYY-MM-DD is local midnight) that have no signals yet";
|
|
5355
|
+
readonly hidden: false;
|
|
5356
|
+
}, {
|
|
5357
|
+
readonly flags: "--key <key>";
|
|
5358
|
+
readonly description: "A landed document to process again, signals or not (sources/<channel>/<id>.md; repeatable)";
|
|
5359
|
+
readonly hidden: false;
|
|
5360
|
+
}, {
|
|
5361
|
+
readonly flags: "--channel <channel>";
|
|
5362
|
+
readonly description: "Limit --since to one channel";
|
|
5363
|
+
readonly hidden: false;
|
|
5364
|
+
}, {
|
|
5365
|
+
readonly flags: "--max-docs <n>";
|
|
5366
|
+
readonly description: "Documents sent to claude in this run (default 20)";
|
|
5367
|
+
readonly hidden: false;
|
|
5368
|
+
}, {
|
|
5369
|
+
readonly flags: "--dry-run";
|
|
5370
|
+
readonly description: "Print what would be queued; queue nothing and call no model";
|
|
5371
|
+
readonly hidden: false;
|
|
5372
|
+
}, {
|
|
5373
|
+
readonly flags: "--json";
|
|
5374
|
+
readonly description: "Print the report as JSON";
|
|
5375
|
+
readonly hidden: false;
|
|
5376
|
+
}, {
|
|
5377
|
+
readonly flags: "--hq-root <path>";
|
|
5378
|
+
readonly description: "Local HQ tree root (default: <runtime-path>)";
|
|
5379
|
+
readonly hidden: false;
|
|
5380
|
+
readonly defaultValue: "<runtime-path>";
|
|
5381
|
+
}];
|
|
5382
|
+
readonly subcommands: readonly [];
|
|
5334
5383
|
}, {
|
|
5335
5384
|
readonly name: "sync";
|
|
5336
5385
|
readonly description: "Run every hot channel now: each adapter once per connection you can use";
|
|
@@ -5482,6 +5531,71 @@ export declare const COMMAND_CATALOG: readonly [{
|
|
|
5482
5531
|
readonly hidden: false;
|
|
5483
5532
|
}];
|
|
5484
5533
|
readonly subcommands: readonly [];
|
|
5534
|
+
}, {
|
|
5535
|
+
readonly name: "run";
|
|
5536
|
+
readonly description: "Run the local signals engine (garden, adapters, extract, garden, upload) for companies with capture on";
|
|
5537
|
+
readonly aliases: readonly [];
|
|
5538
|
+
readonly hidden: false;
|
|
5539
|
+
readonly helpOption: true;
|
|
5540
|
+
readonly helpCommand: false;
|
|
5541
|
+
readonly usage: "[options]";
|
|
5542
|
+
readonly helpText: readonly [];
|
|
5543
|
+
readonly arguments: readonly [];
|
|
5544
|
+
readonly options: readonly [{
|
|
5545
|
+
readonly flags: "--company <slug>";
|
|
5546
|
+
readonly description: "Run one company (default: every company listed in the companies manifest)";
|
|
5547
|
+
readonly hidden: false;
|
|
5548
|
+
}, {
|
|
5549
|
+
readonly flags: "--dry-run";
|
|
5550
|
+
readonly description: "Print what would run; run no mutating step and write nothing";
|
|
5551
|
+
readonly hidden: false;
|
|
5552
|
+
}, {
|
|
5553
|
+
readonly flags: "--step <step>";
|
|
5554
|
+
readonly description: "Run one step";
|
|
5555
|
+
readonly hidden: false;
|
|
5556
|
+
readonly choices: readonly ["garden", "extract", "adapters", "upload", "all"];
|
|
5557
|
+
readonly defaultValue: "all";
|
|
5558
|
+
}, {
|
|
5559
|
+
readonly flags: "--trigger <trigger>";
|
|
5560
|
+
readonly description: "What started the run";
|
|
5561
|
+
readonly hidden: false;
|
|
5562
|
+
readonly choices: readonly ["job", "chat", "manual", "brief"];
|
|
5563
|
+
readonly defaultValue: "manual";
|
|
5564
|
+
}, {
|
|
5565
|
+
readonly flags: "--force";
|
|
5566
|
+
readonly description: "Rerun a job trigger that already ran today";
|
|
5567
|
+
readonly hidden: false;
|
|
5568
|
+
}, {
|
|
5569
|
+
readonly flags: "--catch-up";
|
|
5570
|
+
readonly description: "Mark the run as a catch-up run (also HQ_SIGNALS_CATCH_UP=1)";
|
|
5571
|
+
readonly hidden: false;
|
|
5572
|
+
}, {
|
|
5573
|
+
readonly flags: "--max-turns <n>";
|
|
5574
|
+
readonly description: "Model turn cap for the extract step (default from core/settings/signals.yaml, else 40)";
|
|
5575
|
+
readonly hidden: false;
|
|
5576
|
+
}, {
|
|
5577
|
+
readonly flags: "--max-budget-usd <x>";
|
|
5578
|
+
readonly description: "Spend cap in USD for the extract step (default from core/settings/signals.yaml, else 2.00)";
|
|
5579
|
+
readonly hidden: false;
|
|
5580
|
+
}, {
|
|
5581
|
+
readonly flags: "--json";
|
|
5582
|
+
readonly description: "Print the run record as JSON";
|
|
5583
|
+
readonly hidden: false;
|
|
5584
|
+
}, {
|
|
5585
|
+
readonly flags: "--report-found";
|
|
5586
|
+
readonly description: "Print the owner's run reply only when the run found new signals; print nothing otherwise";
|
|
5587
|
+
readonly hidden: false;
|
|
5588
|
+
}, {
|
|
5589
|
+
readonly flags: "--redo <file>";
|
|
5590
|
+
readonly description: "Process a source item again (sources/<channel>/<file>.md; repeatable; needs --company): the extract step re-queues it in the ontology worklist before listing";
|
|
5591
|
+
readonly hidden: false;
|
|
5592
|
+
}, {
|
|
5593
|
+
readonly flags: "--hq-root <path>";
|
|
5594
|
+
readonly description: "HQ root (default: <runtime-path>)";
|
|
5595
|
+
readonly hidden: false;
|
|
5596
|
+
readonly defaultValue: "<runtime-path>";
|
|
5597
|
+
}];
|
|
5598
|
+
readonly subcommands: readonly [];
|
|
5485
5599
|
}];
|
|
5486
5600
|
}, {
|
|
5487
5601
|
readonly name: "integrations";
|
|
@@ -8277,7 +8391,7 @@ export declare const COMMAND_CATALOG: readonly [{
|
|
|
8277
8391
|
readonly subcommands: readonly [];
|
|
8278
8392
|
}, {
|
|
8279
8393
|
readonly name: "provision";
|
|
8280
|
-
readonly description: "Provision a new Outpost (
|
|
8394
|
+
readonly description: "Provision a new Outpost (priced by size: small, medium, large or xlarge; requires --yes)";
|
|
8281
8395
|
readonly aliases: readonly ["create"];
|
|
8282
8396
|
readonly hidden: false;
|
|
8283
8397
|
readonly helpOption: true;
|
|
@@ -8286,6 +8400,10 @@ export declare const COMMAND_CATALOG: readonly [{
|
|
|
8286
8400
|
readonly helpText: readonly [];
|
|
8287
8401
|
readonly arguments: readonly [];
|
|
8288
8402
|
readonly options: readonly [{
|
|
8403
|
+
readonly flags: "--size <size>";
|
|
8404
|
+
readonly description: "Outpost size: small | medium | large | xlarge. Without it, a terminal shows a menu with prices; the default is $100/month";
|
|
8405
|
+
readonly hidden: false;
|
|
8406
|
+
}, {
|
|
8289
8407
|
readonly flags: "--runtime <runtime>";
|
|
8290
8408
|
readonly description: "Agent runtime: claude | codex (default claude). Personal boxes only.";
|
|
8291
8409
|
readonly hidden: false;
|
|
@@ -8307,7 +8425,7 @@ export declare const COMMAND_CATALOG: readonly [{
|
|
|
8307
8425
|
readonly hidden: false;
|
|
8308
8426
|
}, {
|
|
8309
8427
|
readonly flags: "--yes";
|
|
8310
|
-
readonly description: "Confirm the monthly charge (required to provision or create)";
|
|
8428
|
+
readonly description: "Confirm the monthly charge for the chosen size (required to provision or create)";
|
|
8311
8429
|
readonly hidden: false;
|
|
8312
8430
|
}, {
|
|
8313
8431
|
readonly flags: "--json";
|
|
@@ -18637,6 +18755,18 @@ export declare const COMMAND_CATALOG: readonly [{
|
|
|
18637
18755
|
readonly arguments: readonly [];
|
|
18638
18756
|
readonly options: readonly [];
|
|
18639
18757
|
readonly subcommands: readonly [];
|
|
18758
|
+
}, {
|
|
18759
|
+
readonly name: "fleet-bots-update";
|
|
18760
|
+
readonly description: "Move each installed HQ Fleet bot to the current runtime release while it is idle, and restart it";
|
|
18761
|
+
readonly aliases: readonly [];
|
|
18762
|
+
readonly hidden: false;
|
|
18763
|
+
readonly helpOption: true;
|
|
18764
|
+
readonly helpCommand: false;
|
|
18765
|
+
readonly usage: "[options]";
|
|
18766
|
+
readonly helpText: readonly [];
|
|
18767
|
+
readonly arguments: readonly [];
|
|
18768
|
+
readonly options: readonly [];
|
|
18769
|
+
readonly subcommands: readonly [];
|
|
18640
18770
|
}, {
|
|
18641
18771
|
readonly name: "sync-core-reconcile";
|
|
18642
18772
|
readonly description: "Read each company's new-sync-engine switch and write this machine's engine homes and legacy off-switches";
|
|
@@ -19015,31 +19145,27 @@ export declare const COMMAND_CATALOG: readonly [{
|
|
|
19015
19145
|
readonly defaultValue: readonly [];
|
|
19016
19146
|
}, {
|
|
19017
19147
|
readonly flags: "--runtime <runtime>";
|
|
19018
|
-
readonly description: "Model
|
|
19148
|
+
readonly description: "Model provider the bot answers with: claude|codex|grok (same as --provider; default claude)";
|
|
19019
19149
|
readonly hidden: false;
|
|
19020
19150
|
}, {
|
|
19021
19151
|
readonly flags: "--provider <provider>";
|
|
19022
|
-
readonly description: "HQ Fleet provider: claude|codex|grok (
|
|
19152
|
+
readonly description: "HQ Fleet provider: claude|codex|grok (default claude)";
|
|
19023
19153
|
readonly hidden: false;
|
|
19024
19154
|
}, {
|
|
19025
19155
|
readonly flags: "--hq-fleet-runtime";
|
|
19026
|
-
readonly description: "
|
|
19156
|
+
readonly description: "Accepted for compatibility; every new bot runs on the HQ Fleet Runtime";
|
|
19027
19157
|
readonly hidden: false;
|
|
19028
19158
|
}, {
|
|
19029
19159
|
readonly flags: "--legacy-runtime";
|
|
19030
|
-
readonly description: "
|
|
19160
|
+
readonly description: "No longer supported; new bots always run on the HQ Fleet Runtime";
|
|
19031
19161
|
readonly hidden: false;
|
|
19032
19162
|
}, {
|
|
19033
19163
|
readonly flags: "--model <model>";
|
|
19034
|
-
readonly description: "Model
|
|
19035
|
-
readonly hidden: false;
|
|
19036
|
-
}, {
|
|
19037
|
-
readonly flags: "--effort <level>";
|
|
19038
|
-
readonly description: "Thinking level: claude low|medium|high|xhigh|max; codex minimal|low|medium|high|xhigh; grok low|medium|high|xhigh (default medium)";
|
|
19164
|
+
readonly description: "Model the bot answers with";
|
|
19039
19165
|
readonly hidden: false;
|
|
19040
19166
|
}, {
|
|
19041
|
-
readonly flags: "--
|
|
19042
|
-
readonly description: "
|
|
19167
|
+
readonly flags: "--auto-approve";
|
|
19168
|
+
readonly description: "Turn the runtime's command approval prompts off for every sender (default: prompts stay on; the owner's own turns are always allowed)";
|
|
19043
19169
|
readonly hidden: false;
|
|
19044
19170
|
}, {
|
|
19045
19171
|
readonly flags: "--worker <workerId>";
|
|
@@ -19062,13 +19188,9 @@ export declare const COMMAND_CATALOG: readonly [{
|
|
|
19062
19188
|
readonly description: "Where the bot keeps its memory: synced (personal/workers/<name>/memory in HQ) or local (~/.hq/bots/<name>/memory, this computer only)";
|
|
19063
19189
|
readonly hidden: false;
|
|
19064
19190
|
readonly defaultValue: "synced";
|
|
19065
|
-
}, {
|
|
19066
|
-
readonly flags: "--lean";
|
|
19067
|
-
readonly description: "Claude bots: run each turn without this computer's plugins, MCP servers and HQ's session hooks (HQ's tool hooks still run), so replies take seconds";
|
|
19068
|
-
readonly hidden: false;
|
|
19069
19191
|
}, {
|
|
19070
19192
|
readonly flags: "--no-daemon";
|
|
19071
|
-
readonly description: "
|
|
19193
|
+
readonly description: "Accepted for compatibility; HQ Fleet bots run under their own background service";
|
|
19072
19194
|
readonly hidden: false;
|
|
19073
19195
|
}, {
|
|
19074
19196
|
readonly flags: "--no-start";
|
|
@@ -20430,6 +20552,10 @@ export declare const COMMAND_CATALOG: readonly [{
|
|
|
20430
20552
|
readonly flags: "-y, --yes";
|
|
20431
20553
|
readonly description: "Skip the typed-email confirmation prompt (still sends confirmEmail).";
|
|
20432
20554
|
readonly hidden: false;
|
|
20555
|
+
}, {
|
|
20556
|
+
readonly flags: "--handoff-shared-companies";
|
|
20557
|
+
readonly description: "Keep a company with real members and hand it to one, instead of refusing the reset.";
|
|
20558
|
+
readonly hidden: false;
|
|
20433
20559
|
}];
|
|
20434
20560
|
readonly subcommands: readonly [];
|
|
20435
20561
|
}, {
|
|
@@ -3914,7 +3914,7 @@ export const COMMAND_CATALOG = [
|
|
|
3914
3914
|
},
|
|
3915
3915
|
{
|
|
3916
3916
|
"name": "purge",
|
|
3917
|
-
"description": "
|
|
3917
|
+
"description": "Schedule permanent deletion of ONE retained (noncurrent) version of an exact vault key, for example a version that held data which must not live in HQ. The version is deleted 7 days later and can be cancelled until then with --cancel. Owner only; audited. Delete the file first if the version is current. Use --personal for your personal vault.",
|
|
3918
3918
|
"aliases": [],
|
|
3919
3919
|
"hidden": false,
|
|
3920
3920
|
"helpOption": true,
|
|
@@ -3940,6 +3940,11 @@ export const COMMAND_CATALOG = [
|
|
|
3940
3940
|
"description": "Exact version ID to purge (see `hq files versions`)",
|
|
3941
3941
|
"hidden": false
|
|
3942
3942
|
},
|
|
3943
|
+
{
|
|
3944
|
+
"flags": "--cancel",
|
|
3945
|
+
"description": "Cancel a scheduled purge of this version instead of scheduling one",
|
|
3946
|
+
"hidden": false
|
|
3947
|
+
},
|
|
3943
3948
|
{
|
|
3944
3949
|
"flags": "-y, --yes",
|
|
3945
3950
|
"description": "Skip the confirmation prompt (for scripts)",
|
|
@@ -6466,6 +6471,61 @@ export const COMMAND_CATALOG = [
|
|
|
6466
6471
|
],
|
|
6467
6472
|
"subcommands": []
|
|
6468
6473
|
},
|
|
6474
|
+
{
|
|
6475
|
+
"name": "signals",
|
|
6476
|
+
"description": "Process landed sources for signals again: queue them for the signals pass and run it now (the pass's document cap still applies)",
|
|
6477
|
+
"aliases": [],
|
|
6478
|
+
"hidden": false,
|
|
6479
|
+
"helpOption": true,
|
|
6480
|
+
"helpCommand": false,
|
|
6481
|
+
"usage": "[options]",
|
|
6482
|
+
"helpText": [],
|
|
6483
|
+
"arguments": [],
|
|
6484
|
+
"options": [
|
|
6485
|
+
{
|
|
6486
|
+
"flags": "--company <slug>",
|
|
6487
|
+
"description": "Company slug (defaults to .hq/config.json activeCompany)",
|
|
6488
|
+
"hidden": false
|
|
6489
|
+
},
|
|
6490
|
+
{
|
|
6491
|
+
"flags": "--since <date>",
|
|
6492
|
+
"description": "Landed documents from this date on (YYYY-MM-DD is local midnight) that have no signals yet",
|
|
6493
|
+
"hidden": false
|
|
6494
|
+
},
|
|
6495
|
+
{
|
|
6496
|
+
"flags": "--key <key>",
|
|
6497
|
+
"description": "A landed document to process again, signals or not (sources/<channel>/<id>.md; repeatable)",
|
|
6498
|
+
"hidden": false
|
|
6499
|
+
},
|
|
6500
|
+
{
|
|
6501
|
+
"flags": "--channel <channel>",
|
|
6502
|
+
"description": "Limit --since to one channel",
|
|
6503
|
+
"hidden": false
|
|
6504
|
+
},
|
|
6505
|
+
{
|
|
6506
|
+
"flags": "--max-docs <n>",
|
|
6507
|
+
"description": "Documents sent to claude in this run (default 20)",
|
|
6508
|
+
"hidden": false
|
|
6509
|
+
},
|
|
6510
|
+
{
|
|
6511
|
+
"flags": "--dry-run",
|
|
6512
|
+
"description": "Print what would be queued; queue nothing and call no model",
|
|
6513
|
+
"hidden": false
|
|
6514
|
+
},
|
|
6515
|
+
{
|
|
6516
|
+
"flags": "--json",
|
|
6517
|
+
"description": "Print the report as JSON",
|
|
6518
|
+
"hidden": false
|
|
6519
|
+
},
|
|
6520
|
+
{
|
|
6521
|
+
"flags": "--hq-root <path>",
|
|
6522
|
+
"description": "Local HQ tree root (default: <runtime-path>)",
|
|
6523
|
+
"hidden": false,
|
|
6524
|
+
"defaultValue": "<runtime-path>"
|
|
6525
|
+
}
|
|
6526
|
+
],
|
|
6527
|
+
"subcommands": []
|
|
6528
|
+
},
|
|
6469
6529
|
{
|
|
6470
6530
|
"name": "sync",
|
|
6471
6531
|
"description": "Run every hot channel now: each adapter once per connection you can use",
|
|
@@ -6646,6 +6706,96 @@ export const COMMAND_CATALOG = [
|
|
|
6646
6706
|
}
|
|
6647
6707
|
],
|
|
6648
6708
|
"subcommands": []
|
|
6709
|
+
},
|
|
6710
|
+
{
|
|
6711
|
+
"name": "run",
|
|
6712
|
+
"description": "Run the local signals engine (garden, adapters, extract, garden, upload) for companies with capture on",
|
|
6713
|
+
"aliases": [],
|
|
6714
|
+
"hidden": false,
|
|
6715
|
+
"helpOption": true,
|
|
6716
|
+
"helpCommand": false,
|
|
6717
|
+
"usage": "[options]",
|
|
6718
|
+
"helpText": [],
|
|
6719
|
+
"arguments": [],
|
|
6720
|
+
"options": [
|
|
6721
|
+
{
|
|
6722
|
+
"flags": "--company <slug>",
|
|
6723
|
+
"description": "Run one company (default: every company listed in the companies manifest)",
|
|
6724
|
+
"hidden": false
|
|
6725
|
+
},
|
|
6726
|
+
{
|
|
6727
|
+
"flags": "--dry-run",
|
|
6728
|
+
"description": "Print what would run; run no mutating step and write nothing",
|
|
6729
|
+
"hidden": false
|
|
6730
|
+
},
|
|
6731
|
+
{
|
|
6732
|
+
"flags": "--step <step>",
|
|
6733
|
+
"description": "Run one step",
|
|
6734
|
+
"hidden": false,
|
|
6735
|
+
"choices": [
|
|
6736
|
+
"garden",
|
|
6737
|
+
"extract",
|
|
6738
|
+
"adapters",
|
|
6739
|
+
"upload",
|
|
6740
|
+
"all"
|
|
6741
|
+
],
|
|
6742
|
+
"defaultValue": "all"
|
|
6743
|
+
},
|
|
6744
|
+
{
|
|
6745
|
+
"flags": "--trigger <trigger>",
|
|
6746
|
+
"description": "What started the run",
|
|
6747
|
+
"hidden": false,
|
|
6748
|
+
"choices": [
|
|
6749
|
+
"job",
|
|
6750
|
+
"chat",
|
|
6751
|
+
"manual",
|
|
6752
|
+
"brief"
|
|
6753
|
+
],
|
|
6754
|
+
"defaultValue": "manual"
|
|
6755
|
+
},
|
|
6756
|
+
{
|
|
6757
|
+
"flags": "--force",
|
|
6758
|
+
"description": "Rerun a job trigger that already ran today",
|
|
6759
|
+
"hidden": false
|
|
6760
|
+
},
|
|
6761
|
+
{
|
|
6762
|
+
"flags": "--catch-up",
|
|
6763
|
+
"description": "Mark the run as a catch-up run (also HQ_SIGNALS_CATCH_UP=1)",
|
|
6764
|
+
"hidden": false
|
|
6765
|
+
},
|
|
6766
|
+
{
|
|
6767
|
+
"flags": "--max-turns <n>",
|
|
6768
|
+
"description": "Model turn cap for the extract step (default from core/settings/signals.yaml, else 40)",
|
|
6769
|
+
"hidden": false
|
|
6770
|
+
},
|
|
6771
|
+
{
|
|
6772
|
+
"flags": "--max-budget-usd <x>",
|
|
6773
|
+
"description": "Spend cap in USD for the extract step (default from core/settings/signals.yaml, else 2.00)",
|
|
6774
|
+
"hidden": false
|
|
6775
|
+
},
|
|
6776
|
+
{
|
|
6777
|
+
"flags": "--json",
|
|
6778
|
+
"description": "Print the run record as JSON",
|
|
6779
|
+
"hidden": false
|
|
6780
|
+
},
|
|
6781
|
+
{
|
|
6782
|
+
"flags": "--report-found",
|
|
6783
|
+
"description": "Print the owner's run reply only when the run found new signals; print nothing otherwise",
|
|
6784
|
+
"hidden": false
|
|
6785
|
+
},
|
|
6786
|
+
{
|
|
6787
|
+
"flags": "--redo <file>",
|
|
6788
|
+
"description": "Process a source item again (sources/<channel>/<file>.md; repeatable; needs --company): the extract step re-queues it in the ontology worklist before listing",
|
|
6789
|
+
"hidden": false
|
|
6790
|
+
},
|
|
6791
|
+
{
|
|
6792
|
+
"flags": "--hq-root <path>",
|
|
6793
|
+
"description": "HQ root (default: <runtime-path>)",
|
|
6794
|
+
"hidden": false,
|
|
6795
|
+
"defaultValue": "<runtime-path>"
|
|
6796
|
+
}
|
|
6797
|
+
],
|
|
6798
|
+
"subcommands": []
|
|
6649
6799
|
}
|
|
6650
6800
|
]
|
|
6651
6801
|
},
|
|
@@ -10092,7 +10242,7 @@ export const COMMAND_CATALOG = [
|
|
|
10092
10242
|
},
|
|
10093
10243
|
{
|
|
10094
10244
|
"name": "provision",
|
|
10095
|
-
"description": "Provision a new Outpost (
|
|
10245
|
+
"description": "Provision a new Outpost (priced by size: small, medium, large or xlarge; requires --yes)",
|
|
10096
10246
|
"aliases": [
|
|
10097
10247
|
"create"
|
|
10098
10248
|
],
|
|
@@ -10103,6 +10253,11 @@ export const COMMAND_CATALOG = [
|
|
|
10103
10253
|
"helpText": [],
|
|
10104
10254
|
"arguments": [],
|
|
10105
10255
|
"options": [
|
|
10256
|
+
{
|
|
10257
|
+
"flags": "--size <size>",
|
|
10258
|
+
"description": "Outpost size: small | medium | large | xlarge. Without it, a terminal shows a menu with prices; the default is $100/month",
|
|
10259
|
+
"hidden": false
|
|
10260
|
+
},
|
|
10106
10261
|
{
|
|
10107
10262
|
"flags": "--runtime <runtime>",
|
|
10108
10263
|
"description": "Agent runtime: claude | codex (default claude). Personal boxes only.",
|
|
@@ -10130,7 +10285,7 @@ export const COMMAND_CATALOG = [
|
|
|
10130
10285
|
},
|
|
10131
10286
|
{
|
|
10132
10287
|
"flags": "--yes",
|
|
10133
|
-
"description": "Confirm the monthly charge (required to provision or create)",
|
|
10288
|
+
"description": "Confirm the monthly charge for the chosen size (required to provision or create)",
|
|
10134
10289
|
"hidden": false
|
|
10135
10290
|
},
|
|
10136
10291
|
{
|
|
@@ -22712,6 +22867,19 @@ export const COMMAND_CATALOG = [
|
|
|
22712
22867
|
"options": [],
|
|
22713
22868
|
"subcommands": []
|
|
22714
22869
|
},
|
|
22870
|
+
{
|
|
22871
|
+
"name": "fleet-bots-update",
|
|
22872
|
+
"description": "Move each installed HQ Fleet bot to the current runtime release while it is idle, and restart it",
|
|
22873
|
+
"aliases": [],
|
|
22874
|
+
"hidden": false,
|
|
22875
|
+
"helpOption": true,
|
|
22876
|
+
"helpCommand": false,
|
|
22877
|
+
"usage": "[options]",
|
|
22878
|
+
"helpText": [],
|
|
22879
|
+
"arguments": [],
|
|
22880
|
+
"options": [],
|
|
22881
|
+
"subcommands": []
|
|
22882
|
+
},
|
|
22715
22883
|
{
|
|
22716
22884
|
"name": "sync-core-reconcile",
|
|
22717
22885
|
"description": "Read each company's new-sync-engine switch and write this machine's engine homes and legacy off-switches",
|
|
@@ -23171,37 +23339,32 @@ export const COMMAND_CATALOG = [
|
|
|
23171
23339
|
},
|
|
23172
23340
|
{
|
|
23173
23341
|
"flags": "--runtime <runtime>",
|
|
23174
|
-
"description": "Model
|
|
23342
|
+
"description": "Model provider the bot answers with: claude|codex|grok (same as --provider; default claude)",
|
|
23175
23343
|
"hidden": false
|
|
23176
23344
|
},
|
|
23177
23345
|
{
|
|
23178
23346
|
"flags": "--provider <provider>",
|
|
23179
|
-
"description": "HQ Fleet provider: claude|codex|grok (
|
|
23347
|
+
"description": "HQ Fleet provider: claude|codex|grok (default claude)",
|
|
23180
23348
|
"hidden": false
|
|
23181
23349
|
},
|
|
23182
23350
|
{
|
|
23183
23351
|
"flags": "--hq-fleet-runtime",
|
|
23184
|
-
"description": "
|
|
23352
|
+
"description": "Accepted for compatibility; every new bot runs on the HQ Fleet Runtime",
|
|
23185
23353
|
"hidden": false
|
|
23186
23354
|
},
|
|
23187
23355
|
{
|
|
23188
23356
|
"flags": "--legacy-runtime",
|
|
23189
|
-
"description": "
|
|
23357
|
+
"description": "No longer supported; new bots always run on the HQ Fleet Runtime",
|
|
23190
23358
|
"hidden": false
|
|
23191
23359
|
},
|
|
23192
23360
|
{
|
|
23193
23361
|
"flags": "--model <model>",
|
|
23194
|
-
"description": "Model
|
|
23195
|
-
"hidden": false
|
|
23196
|
-
},
|
|
23197
|
-
{
|
|
23198
|
-
"flags": "--effort <level>",
|
|
23199
|
-
"description": "Thinking level: claude low|medium|high|xhigh|max; codex minimal|low|medium|high|xhigh; grok low|medium|high|xhigh (default medium)",
|
|
23362
|
+
"description": "Model the bot answers with",
|
|
23200
23363
|
"hidden": false
|
|
23201
23364
|
},
|
|
23202
23365
|
{
|
|
23203
|
-
"flags": "--
|
|
23204
|
-
"description": "
|
|
23366
|
+
"flags": "--auto-approve",
|
|
23367
|
+
"description": "Turn the runtime's command approval prompts off for every sender (default: prompts stay on; the owner's own turns are always allowed)",
|
|
23205
23368
|
"hidden": false
|
|
23206
23369
|
},
|
|
23207
23370
|
{
|
|
@@ -23230,14 +23393,9 @@ export const COMMAND_CATALOG = [
|
|
|
23230
23393
|
"hidden": false,
|
|
23231
23394
|
"defaultValue": "synced"
|
|
23232
23395
|
},
|
|
23233
|
-
{
|
|
23234
|
-
"flags": "--lean",
|
|
23235
|
-
"description": "Claude bots: run each turn without this computer's plugins, MCP servers and HQ's session hooks (HQ's tool hooks still run), so replies take seconds",
|
|
23236
|
-
"hidden": false
|
|
23237
|
-
},
|
|
23238
23396
|
{
|
|
23239
23397
|
"flags": "--no-daemon",
|
|
23240
|
-
"description": "
|
|
23398
|
+
"description": "Accepted for compatibility; HQ Fleet bots run under their own background service",
|
|
23241
23399
|
"hidden": false
|
|
23242
23400
|
},
|
|
23243
23401
|
{
|
|
@@ -24913,6 +25071,11 @@ export const COMMAND_CATALOG = [
|
|
|
24913
25071
|
"flags": "-y, --yes",
|
|
24914
25072
|
"description": "Skip the typed-email confirmation prompt (still sends confirmEmail).",
|
|
24915
25073
|
"hidden": false
|
|
25074
|
+
},
|
|
25075
|
+
{
|
|
25076
|
+
"flags": "--handoff-shared-companies",
|
|
25077
|
+
"description": "Keep a company with real members and hand it to one, instead of refusing the reset.",
|
|
25078
|
+
"hidden": false
|
|
24916
25079
|
}
|
|
24917
25080
|
],
|
|
24918
25081
|
"subcommands": []
|
|
@@ -10,13 +10,16 @@
|
|
|
10
10
|
* The schedule lives with the bot: its jobs sit in the bot's own folder
|
|
11
11
|
* (lib/bot/local-jobs.ts) and the bot's inbox loop fires them while it runs
|
|
12
12
|
* (see lib/bot/job-run.ts). Nothing here writes a crontab, a launchd plist, or
|
|
13
|
-
* a systemd unit — by rule.
|
|
14
|
-
*
|
|
13
|
+
* a systemd unit — by rule. A schedule is stored as a six-field
|
|
14
|
+
* `cron(m h dom mon dow year)` string (Sunday = 1, `?` in one day field), the
|
|
15
|
+
* same string format hosted agent jobs use, and lib/bot/local-jobs.ts reads it
|
|
16
|
+
* back when it checks what is due.
|
|
15
17
|
*/
|
|
16
18
|
import type { Command } from "commander";
|
|
17
19
|
import { type LocalJobsApi } from "../lib/bot/local-jobs.js";
|
|
18
20
|
import { type BotJobRecord, type CreateJobInput } from "../lib/bot/api.js";
|
|
19
21
|
import { type BotConfig, type BotKind } from "../lib/bot/config.js";
|
|
22
|
+
import { type FleetCronJob, type FleetCronOps } from "../lib/bot/fleet-cron.js";
|
|
20
23
|
/** Mirrors hq-pro-agents `MIN_RECURRING_INTERVAL_SECONDS`. */
|
|
21
24
|
export declare const MIN_RECURRING_INTERVAL_SECONDS: number;
|
|
22
25
|
/** Mirrors hq-pro-agents `DEFAULT_MAX_ACTIVE_JOBS_PER_AGENT`. */
|
|
@@ -29,9 +32,11 @@ export declare class BotJobsError extends Error {
|
|
|
29
32
|
/** The machine's own IANA zone, so "9am" means 9am where the owner lives. */
|
|
30
33
|
export declare function machineTimezone(): string;
|
|
31
34
|
/**
|
|
32
|
-
* Standard 5-field cron → the
|
|
35
|
+
* Standard 5-field cron → the six-field `cron(...)` string a job is stored as.
|
|
33
36
|
*
|
|
34
|
-
*
|
|
37
|
+
* The stored form (the six-field cron syntax hosted agent jobs also use, so
|
|
38
|
+
* local and hosted jobs share one format; the function keeps its historical
|
|
39
|
+
* name) has SIX fields (a trailing year), numbers its days of week
|
|
35
40
|
* 1–7 with SUNDAY = 1 (standard cron uses 0–6 with SUNDAY = 0), and refuses
|
|
36
41
|
* `*` in BOTH the day-of-month and day-of-week fields — exactly one must be
|
|
37
42
|
* `?`. An expression that is already `cron(...)` or `rate(...)` is passed
|
|
@@ -45,7 +50,7 @@ export declare function toEventBridgeCron(expr: string): string;
|
|
|
45
50
|
* the server's own reason instead of a round-trip and a raw 400.
|
|
46
51
|
*/
|
|
47
52
|
export declare function recurringIntervalSeconds(expr: string): number | null;
|
|
48
|
-
/** Refuse a schedule
|
|
53
|
+
/** Refuse a schedule that fires more often than the recurring floor (the same floor hosted agent jobs use). */
|
|
49
54
|
export declare function assertScheduleWithinFloor(expr: string): void;
|
|
50
55
|
export interface ParsedSchedule {
|
|
51
56
|
/** Standard 5-field cron, as the HQ helper emits it. */
|
|
@@ -58,7 +63,7 @@ export interface ParsedSchedule {
|
|
|
58
63
|
export declare function parseScheduleText(text: string, opts: {
|
|
59
64
|
timezone: string;
|
|
60
65
|
}): ParsedSchedule;
|
|
61
|
-
/** The create body
|
|
66
|
+
/** The create body for a new job, with the schedule limits enforced first. */
|
|
62
67
|
export declare function buildCreateJobBody(input: {
|
|
63
68
|
prompt: string;
|
|
64
69
|
cron: string;
|
|
@@ -66,27 +71,24 @@ export declare function buildCreateJobBody(input: {
|
|
|
66
71
|
context?: Record<string, unknown>;
|
|
67
72
|
quiet?: boolean;
|
|
68
73
|
}): CreateJobInput;
|
|
74
|
+
export declare function fromEventBridgeCron(expr: string): string;
|
|
75
|
+
export declare function fleetJobRecord(job: FleetCronJob, timezone: string): BotJobRecord;
|
|
76
|
+
export declare function fleetJobsClient(config: Pick<BotConfig, "ownerUid" | "hqRoot">, ops: FleetCronOps, timezone: string): Required<LocalJobsApi>;
|
|
69
77
|
/** A schedule in plain words, falling back to the raw expression. */
|
|
70
78
|
export declare function describeSchedule(job: BotJobRecord): string;
|
|
71
79
|
/** A small humaniser for the shapes `--every` actually produces. */
|
|
72
80
|
export declare function cronInWords(expr: string): string | null;
|
|
81
|
+
export declare function utcMinute(iso: string): string;
|
|
73
82
|
/** "never run yet" / "succeeded 2026-09-15 09:00 UTC". */
|
|
74
83
|
export declare function describeLastRun(job: BotJobRecord): string;
|
|
75
84
|
export declare function formatJobsList(botName: string, jobs: BotJobRecord[], showQuietOption?: boolean): string;
|
|
76
85
|
/**
|
|
77
|
-
* Turn a jobs
|
|
86
|
+
* Turn a jobs failure into one plain line.
|
|
78
87
|
*
|
|
79
|
-
*
|
|
80
|
-
*
|
|
81
|
-
*
|
|
82
|
-
*
|
|
83
|
-
* refusal must read as "not available yet for this kind of bot", not as a raw 403.
|
|
84
|
-
* Once the server accepts personal bots the refusal simply stops happening — no
|
|
85
|
-
* client change needed.
|
|
86
|
-
*
|
|
87
|
-
* ONLY that exact code is rewritten. Every other 403, and every 404, keeps its
|
|
88
|
-
* real message: masking them would hide a genuinely missing job or a different
|
|
89
|
-
* permission problem behind copy about the wrong thing.
|
|
88
|
+
* `hq bot jobs` answers from the bot's own jobs.json (localJobsClient), for
|
|
89
|
+
* personal and company bots alike, so there is no cloud refusal to explain
|
|
90
|
+
* here. Only the local client's own errors (quota, unknown job, validation)
|
|
91
|
+
* get rewritten; anything else keeps its real message.
|
|
90
92
|
*/
|
|
91
93
|
export declare function jobsErrorMessage(err: unknown, ctx: {
|
|
92
94
|
botName: string;
|
|
@@ -106,6 +108,7 @@ export interface BotJobsDeps {
|
|
|
106
108
|
out?: (line: string) => void;
|
|
107
109
|
/** Test seam for the default-off quiet-job rollout gate. */
|
|
108
110
|
quietOptionEnabled?: () => boolean | Promise<boolean>;
|
|
111
|
+
fleetCron?: (agentUid: string) => FleetCronOps;
|
|
109
112
|
}
|
|
110
113
|
export interface BotJobsOptions {
|
|
111
114
|
add?: string;
|