@indigoai-us/hq-cli 5.295.0 → 5.296.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.
- package/CHANGELOG.md +8 -0
- package/dist/command-catalog.generated.d.ts +58 -0
- package/dist/command-catalog.generated.js +73 -0
- package/dist/commands/core-job-native.d.ts +7 -0
- package/dist/commands/core-job-native.js +20 -0
- package/dist/commands/core-job-probe-native.d.ts +45 -0
- package/dist/commands/core-job-probe-native.js +564 -0
- package/dist/commands/core-job-remote-launcher.d.ts +7 -0
- package/dist/commands/core-job-remote-launcher.js +51 -0
- package/dist/commands/core-job-run-native.d.ts +47 -0
- package/dist/commands/core-job-run-native.js +1215 -0
- package/dist/commands/core.js +1 -1
- package/dist/commands/lanes-message.js +1 -0
- package/dist/commands/lanes-resume.js +1 -0
- package/dist/commands/lanes-stories.d.ts +1 -0
- package/dist/commands/lanes-stories.js +40 -1
- package/dist/commands/lanes.js +20 -2
- package/dist/commands/run.js +5 -0
- package/dist/lib/lanes/mesh-events.js +3 -0
- package/dist/lib/lanes/reconcile.js +23 -19
- package/dist/lib/lanes/spawn.js +39 -0
- package/dist/lib/lanes/store.js +32 -0
- package/dist/lib/lanes/stories.d.ts +7 -1
- package/dist/lib/lanes/stories.js +16 -0
- package/dist/lib/lanes/types.d.ts +12 -0
- package/dist/lib/lanes/types.js +1 -1
- package/dist/lib/lanes/watcher.js +20 -22
- package/dist/run/env-graph-guard.d.ts +2 -2
- package/dist/run/env-graph-guard.js +5 -2
- package/dist/run/hq-plugin.js +6 -5
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -2,9 +2,17 @@
|
|
|
2
2
|
|
|
3
3
|
## [Unreleased]
|
|
4
4
|
|
|
5
|
+
## [5.296.0] — 2026-09-30
|
|
6
|
+
- Upgrade varlock to 1.21.1. `hq run` skips Varlock cache setup and reports malformed env files promptly without sending them to Sentry.
|
|
7
|
+
- Record bounded actor and trigger history for lane worker starts and expose it through `hq lanes show --json`. Preserve history through conflict merges and envelope repair, and record answered-question callers for immediate and queued resumes.
|
|
8
|
+
- `hq lanes` no longer lets a late terminal lane envelope change a story the senior already marked done or dropped, and `hq lanes story review <lane> <story>` moves a carried story to review before senior verification (feedback_d0164732-22b0-4426-9b66-c9758ba205e3).
|
|
9
|
+
|
|
5
10
|
## [5.295.0] — 2026-09-30
|
|
11
|
+
- Add native `hq core job run` behind the default-off `core-native-jobs` gate, retaining its bundled shell rollback companion.
|
|
12
|
+
|
|
6
13
|
- Remove the unused direct client-health Sentry route; the existing server-side reporting path remains unchanged.
|
|
7
14
|
|
|
15
|
+
- Add native `hq core job probe` behind the existing default-off `core-native-jobs` gate.
|
|
8
16
|
- Self-update supervisor copy and cleanup failures now log their error class.
|
|
9
17
|
- Report failed and ineffective self-updates to Sentry with bounded context.
|
|
10
18
|
|
|
@@ -5618,6 +5618,41 @@ export declare const COMMAND_CATALOG: readonly [{
|
|
|
5618
5618
|
readonly options: readonly [];
|
|
5619
5619
|
readonly subcommands: readonly [];
|
|
5620
5620
|
}];
|
|
5621
|
+
}, {
|
|
5622
|
+
readonly name: "job";
|
|
5623
|
+
readonly description: "Run or inspect one scheduled job";
|
|
5624
|
+
readonly aliases: readonly [];
|
|
5625
|
+
readonly hidden: false;
|
|
5626
|
+
readonly usage: "[options] [command]";
|
|
5627
|
+
readonly arguments: readonly [];
|
|
5628
|
+
readonly options: readonly [];
|
|
5629
|
+
readonly subcommands: readonly [{
|
|
5630
|
+
readonly name: "probe";
|
|
5631
|
+
readonly description: "Check scheduled-job requirements and report readiness";
|
|
5632
|
+
readonly aliases: readonly [];
|
|
5633
|
+
readonly hidden: false;
|
|
5634
|
+
readonly usage: "[args...]";
|
|
5635
|
+
readonly arguments: readonly [{
|
|
5636
|
+
readonly name: "args";
|
|
5637
|
+
readonly required: false;
|
|
5638
|
+
readonly variadic: true;
|
|
5639
|
+
}];
|
|
5640
|
+
readonly options: readonly [];
|
|
5641
|
+
readonly subcommands: readonly [];
|
|
5642
|
+
}, {
|
|
5643
|
+
readonly name: "run";
|
|
5644
|
+
readonly description: "Run a scheduled job";
|
|
5645
|
+
readonly aliases: readonly [];
|
|
5646
|
+
readonly hidden: false;
|
|
5647
|
+
readonly usage: "[args...]";
|
|
5648
|
+
readonly arguments: readonly [{
|
|
5649
|
+
readonly name: "args";
|
|
5650
|
+
readonly required: false;
|
|
5651
|
+
readonly variadic: true;
|
|
5652
|
+
}];
|
|
5653
|
+
readonly options: readonly [];
|
|
5654
|
+
readonly subcommands: readonly [];
|
|
5655
|
+
}];
|
|
5621
5656
|
}, {
|
|
5622
5657
|
readonly name: "jobs";
|
|
5623
5658
|
readonly description: "Scheduled jobs helpers";
|
|
@@ -8382,6 +8417,29 @@ export declare const COMMAND_CATALOG: readonly [{
|
|
|
8382
8417
|
readonly description: "JSON on stdout (always)";
|
|
8383
8418
|
}];
|
|
8384
8419
|
readonly subcommands: readonly [];
|
|
8420
|
+
}, {
|
|
8421
|
+
readonly name: "review";
|
|
8422
|
+
readonly description: "Move a carried story to review";
|
|
8423
|
+
readonly aliases: readonly [];
|
|
8424
|
+
readonly hidden: false;
|
|
8425
|
+
readonly usage: "[options] <lane-id> <story-id>";
|
|
8426
|
+
readonly arguments: readonly [{
|
|
8427
|
+
readonly name: "lane-id";
|
|
8428
|
+
readonly required: true;
|
|
8429
|
+
readonly variadic: false;
|
|
8430
|
+
}, {
|
|
8431
|
+
readonly name: "story-id";
|
|
8432
|
+
readonly required: true;
|
|
8433
|
+
readonly variadic: false;
|
|
8434
|
+
}];
|
|
8435
|
+
readonly options: readonly [{
|
|
8436
|
+
readonly flags: "--project <slug>";
|
|
8437
|
+
readonly description: "Project id; defaults to the lane's current project";
|
|
8438
|
+
}, {
|
|
8439
|
+
readonly flags: "--json";
|
|
8440
|
+
readonly description: "JSON on stdout (always)";
|
|
8441
|
+
}];
|
|
8442
|
+
readonly subcommands: readonly [];
|
|
8385
8443
|
}, {
|
|
8386
8444
|
readonly name: "block";
|
|
8387
8445
|
readonly description: "Mark one carried story blocked";
|
|
@@ -7244,6 +7244,49 @@ export const COMMAND_CATALOG = [
|
|
|
7244
7244
|
}
|
|
7245
7245
|
]
|
|
7246
7246
|
},
|
|
7247
|
+
{
|
|
7248
|
+
"name": "job",
|
|
7249
|
+
"description": "Run or inspect one scheduled job",
|
|
7250
|
+
"aliases": [],
|
|
7251
|
+
"hidden": false,
|
|
7252
|
+
"usage": "[options] [command]",
|
|
7253
|
+
"arguments": [],
|
|
7254
|
+
"options": [],
|
|
7255
|
+
"subcommands": [
|
|
7256
|
+
{
|
|
7257
|
+
"name": "probe",
|
|
7258
|
+
"description": "Check scheduled-job requirements and report readiness",
|
|
7259
|
+
"aliases": [],
|
|
7260
|
+
"hidden": false,
|
|
7261
|
+
"usage": "[args...]",
|
|
7262
|
+
"arguments": [
|
|
7263
|
+
{
|
|
7264
|
+
"name": "args",
|
|
7265
|
+
"required": false,
|
|
7266
|
+
"variadic": true
|
|
7267
|
+
}
|
|
7268
|
+
],
|
|
7269
|
+
"options": [],
|
|
7270
|
+
"subcommands": []
|
|
7271
|
+
},
|
|
7272
|
+
{
|
|
7273
|
+
"name": "run",
|
|
7274
|
+
"description": "Run a scheduled job",
|
|
7275
|
+
"aliases": [],
|
|
7276
|
+
"hidden": false,
|
|
7277
|
+
"usage": "[args...]",
|
|
7278
|
+
"arguments": [
|
|
7279
|
+
{
|
|
7280
|
+
"name": "args",
|
|
7281
|
+
"required": false,
|
|
7282
|
+
"variadic": true
|
|
7283
|
+
}
|
|
7284
|
+
],
|
|
7285
|
+
"options": [],
|
|
7286
|
+
"subcommands": []
|
|
7287
|
+
}
|
|
7288
|
+
]
|
|
7289
|
+
},
|
|
7247
7290
|
{
|
|
7248
7291
|
"name": "jobs",
|
|
7249
7292
|
"description": "Scheduled jobs helpers",
|
|
@@ -10809,6 +10852,36 @@ export const COMMAND_CATALOG = [
|
|
|
10809
10852
|
],
|
|
10810
10853
|
"subcommands": []
|
|
10811
10854
|
},
|
|
10855
|
+
{
|
|
10856
|
+
"name": "review",
|
|
10857
|
+
"description": "Move a carried story to review",
|
|
10858
|
+
"aliases": [],
|
|
10859
|
+
"hidden": false,
|
|
10860
|
+
"usage": "[options] <lane-id> <story-id>",
|
|
10861
|
+
"arguments": [
|
|
10862
|
+
{
|
|
10863
|
+
"name": "lane-id",
|
|
10864
|
+
"required": true,
|
|
10865
|
+
"variadic": false
|
|
10866
|
+
},
|
|
10867
|
+
{
|
|
10868
|
+
"name": "story-id",
|
|
10869
|
+
"required": true,
|
|
10870
|
+
"variadic": false
|
|
10871
|
+
}
|
|
10872
|
+
],
|
|
10873
|
+
"options": [
|
|
10874
|
+
{
|
|
10875
|
+
"flags": "--project <slug>",
|
|
10876
|
+
"description": "Project id; defaults to the lane's current project"
|
|
10877
|
+
},
|
|
10878
|
+
{
|
|
10879
|
+
"flags": "--json",
|
|
10880
|
+
"description": "JSON on stdout (always)"
|
|
10881
|
+
}
|
|
10882
|
+
],
|
|
10883
|
+
"subcommands": []
|
|
10884
|
+
},
|
|
10812
10885
|
{
|
|
10813
10886
|
"name": "block",
|
|
10814
10887
|
"description": "Mark one carried story blocked",
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/** Native `hq core job <name>` command group. */
|
|
2
|
+
import type { Command } from "commander";
|
|
3
|
+
export declare function registerCoreJobNativeCommand(core: Command): void;
|
|
4
|
+
export declare function registerCoreJobCommand(core: Command): void;
|
|
5
|
+
/** Keep eager `core` registration complete while the jobs fast route loads only its own module. */
|
|
6
|
+
export declare function registerCoreJobsNativeCommand(core: Command): void;
|
|
7
|
+
//# sourceMappingURL=core-job-native.d.ts.map
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { registerCoreJobProbeCommand } from "./core-job-probe-native.js";
|
|
2
|
+
import { registerCoreJobRunCommand } from "./core-job-run-native.js";
|
|
3
|
+
import { registerCoreJobsNativeCommand as registerPluralJobsCommand } from "./core-jobs-native.js";
|
|
4
|
+
const JOB_GROUP_DESCRIPTION = "Run or inspect one scheduled job";
|
|
5
|
+
export function registerCoreJobNativeCommand(core) {
|
|
6
|
+
const job = core.command("job").description(JOB_GROUP_DESCRIPTION);
|
|
7
|
+
registerCoreJobProbeCommand(job);
|
|
8
|
+
}
|
|
9
|
+
export function registerCoreJobCommand(core) {
|
|
10
|
+
const job = core.command("job").description(JOB_GROUP_DESCRIPTION);
|
|
11
|
+
registerCoreJobRunCommand(job);
|
|
12
|
+
}
|
|
13
|
+
/** Keep eager `core` registration complete while the jobs fast route loads only its own module. */
|
|
14
|
+
export function registerCoreJobsNativeCommand(core) {
|
|
15
|
+
const job = core.command("job").description(JOB_GROUP_DESCRIPTION);
|
|
16
|
+
registerCoreJobProbeCommand(job);
|
|
17
|
+
registerCoreJobRunCommand(job);
|
|
18
|
+
registerPluralJobsCommand(core);
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=core-job-native.js.map
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import type { Command } from "commander";
|
|
2
|
+
export declare const JOB_PROBE_ASSET = "core/scripts/hq-job-probe.sh";
|
|
3
|
+
export declare const JOB_PROBE_USAGE: string;
|
|
4
|
+
export type Checks = {
|
|
5
|
+
runtime: string;
|
|
6
|
+
auth: string;
|
|
7
|
+
secrets: {
|
|
8
|
+
status: string;
|
|
9
|
+
missing: string[];
|
|
10
|
+
};
|
|
11
|
+
cwd: string;
|
|
12
|
+
company: {
|
|
13
|
+
status: string;
|
|
14
|
+
slug?: string;
|
|
15
|
+
};
|
|
16
|
+
};
|
|
17
|
+
export type ProbeResult = {
|
|
18
|
+
code: number;
|
|
19
|
+
stdout: string;
|
|
20
|
+
stderr: string;
|
|
21
|
+
};
|
|
22
|
+
export type ProbeDeps = {
|
|
23
|
+
root: string;
|
|
24
|
+
home: string;
|
|
25
|
+
env: Record<string, string | undefined>;
|
|
26
|
+
now: () => Date;
|
|
27
|
+
sleep: (seconds: number) => Promise<void>;
|
|
28
|
+
statSize: (file: string) => number | undefined;
|
|
29
|
+
isFile: (file: string) => boolean;
|
|
30
|
+
isDirectory: (file: string) => boolean;
|
|
31
|
+
realpath: (file: string) => string | undefined;
|
|
32
|
+
readText: (file: string) => string;
|
|
33
|
+
writeState: (file: string, body: string) => void;
|
|
34
|
+
writeStderr: (line: string) => void;
|
|
35
|
+
listSecrets: (company?: string) => Promise<{
|
|
36
|
+
code: number;
|
|
37
|
+
stdout: string;
|
|
38
|
+
}>;
|
|
39
|
+
commandExists: (name: string) => boolean;
|
|
40
|
+
fetcher: (url: string, init: RequestInit) => Promise<Response>;
|
|
41
|
+
};
|
|
42
|
+
export declare function defaultProbeDeps(root: string, env?: Record<string, string | undefined>): ProbeDeps;
|
|
43
|
+
export declare function runJobProbe(argv: string[], injected?: ProbeDeps): Promise<ProbeResult>;
|
|
44
|
+
export declare function registerCoreJobProbeCommand(job: Command): void;
|
|
45
|
+
//# sourceMappingURL=core-job-probe-native.d.ts.map
|