@indigoai-us/hq-cli 5.345.141 → 5.345.143

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 CHANGED
@@ -2,6 +2,16 @@
2
2
 
3
3
  ## [Unreleased]
4
4
 
5
+ ## [5.345.143] — 2026-10-16
6
+ - The bundled sync engine now uses hq-cloud 6.18.82. Company Outposts can be signed in to Claude from the terminal: `hq outposts login --company <slug>` prints the sign-in link, `hq outposts login-code --company <slug> <code>` finishes it, and `hq outposts status --company <slug>` shows whether the box is signed in. Registering a job on a box that is not signed in now says so and shows the next step.
7
+
8
+ ## [5.345.142] — 2026-10-16
9
+ - `hq lanes questions show` accepts `--company <slug|uid>`, resolved the same
10
+ way as `hq lanes questions list --company`, so you can read one question's
11
+ body for a company. A question from another company fails with
12
+ `question_company_mismatch`.
13
+ - The bundled sync engine now uses hq-cloud 6.18.81. `hq outposts provision --company <slug> --yes` no longer reports "not created" while the box is being built: it waits and shows progress until the box is ready, or says plainly that the result could not be confirmed. `hq outposts jobs register --company <slug> --cron` accepts a standard five-field cron such as `"0 8,20 * * *"` and translates it to the schedule format the server runs; schedules the server cannot run are rejected with the accepted forms and an example.
14
+
5
15
  ## [5.345.141] — 2026-10-16
6
16
  - The bundled sync engine now uses hq-cloud 6.18.80. `hq outposts status --company <slug>` now shows real job health for company Outpost jobs instead of `unknown`; the client reads the live job status route.
7
17
 
@@ -15190,6 +15190,10 @@ export declare const COMMAND_CATALOG: readonly [{
15190
15190
  readonly description: "Question id";
15191
15191
  }];
15192
15192
  readonly options: readonly [{
15193
+ readonly flags: "--company <slug|uid>";
15194
+ readonly description: "Require the question to belong to this company";
15195
+ readonly hidden: false;
15196
+ }, {
15193
15197
  readonly flags: "--json";
15194
15198
  readonly description: "JSON on stdout (always)";
15195
15199
  readonly hidden: false;
@@ -18485,6 +18485,11 @@ export const COMMAND_CATALOG = [
18485
18485
  }
18486
18486
  ],
18487
18487
  "options": [
18488
+ {
18489
+ "flags": "--company <slug|uid>",
18490
+ "description": "Require the question to belong to this company",
18491
+ "hidden": false
18492
+ },
18488
18493
  {
18489
18494
  "flags": "--json",
18490
18495
  "description": "JSON on stdout (always)",
@@ -18,7 +18,9 @@ export declare function createLaneQuestionsHandlers(deps: LaneQuestionsHandlerDe
18
18
  story?: string;
19
19
  status?: string;
20
20
  }) => Promise<void>;
21
- runQuestionsShow: (ctx: Ctx, questionId: string) => Promise<void>;
21
+ runQuestionsShow: (ctx: Ctx, questionId: string, opts?: {
22
+ company?: string;
23
+ }) => Promise<void>;
22
24
  runQuestionsAnswer: (ctx: Ctx, questionId: string, opts: {
23
25
  choice?: string;
24
26
  notes?: string;
@@ -680,8 +680,11 @@ export function createLaneQuestionsHandlers(deps) {
680
680
  ...(outpostLoad.errors.length > 0 ? { errors: outpostLoad.errors } : {}),
681
681
  });
682
682
  }
683
- async function runQuestionsShow(ctx, questionId) {
683
+ async function runQuestionsShow(ctx, questionId, opts = {}) {
684
684
  const hqRoot = ctx.hqRoot();
685
+ // Same resolution as `questions list --company`: an explicit company is
686
+ // resolved through ctx.resolveCompany and the question must belong to it.
687
+ const explicitCompany = opts.company ? await ctx.resolveCompany(opts.company) : undefined;
685
688
  let question;
686
689
  try {
687
690
  question = readQuestion(hqRoot, questionId);
@@ -707,6 +710,9 @@ export function createLaneQuestionsHandlers(deps) {
707
710
  if (!owner) {
708
711
  throw new LanesError("outpost_question_ambiguous", `Question ${questionId} has no unique Outpost owner`, { question_id: questionId });
709
712
  }
713
+ if (explicitCompany) {
714
+ assertQuestionCompanyAccess(owner.question, owner.lane, explicitCompany, hqRoot);
715
+ }
710
716
  const detail = await readOutpostQuestionDetail(ctx, owner);
711
717
  printJson({
712
718
  ok: true,
@@ -718,6 +724,15 @@ export function createLaneQuestionsHandlers(deps) {
718
724
  });
719
725
  return;
720
726
  }
727
+ if (explicitCompany) {
728
+ const lane = loadAllLanes(hqRoot).find((entry) => entry.lane_id === question.lane_id);
729
+ if (lane) {
730
+ assertQuestionCompanyAccess(question, lane, explicitCompany, hqRoot);
731
+ }
732
+ else if (question.company !== null && !sameQuestionCompany(question.company, explicitCompany)) {
733
+ throw new LanesError("question_company_mismatch", `Question ${question.question_id} does not belong to the requested or active company`, { question_id: question.question_id, lane_id: question.lane_id });
734
+ }
735
+ }
721
736
  const body = readQuestionBody(hqRoot, question);
722
737
  printJson({
723
738
  ok: true,
@@ -10458,8 +10458,9 @@ export function registerLanesCommand(parent, deps = {}) {
10458
10458
  .command("show")
10459
10459
  .description("Show one question")
10460
10460
  .argument("<question-id>", "Question id")
10461
- .action(wrap(async (questionId) => {
10462
- await questionHandlers.runQuestionsShow(ctx, questionId);
10461
+ .option("--company <slug|uid>", "Require the question to belong to this company")
10462
+ .action(wrap(async (questionId, opts) => {
10463
+ await questionHandlers.runQuestionsShow(ctx, questionId, opts);
10463
10464
  }));
10464
10465
  questions
10465
10466
  .command("answer")
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@indigoai-us/hq-cli",
3
- "version": "5.345.141",
3
+ "version": "5.345.143",
4
4
  "description": "HQ by Indigo management CLI — modules and cloud sync",
5
5
  "main": "dist/index.js",
6
6
  "bin": {