@indigoai-us/hq-cli 5.279.0 → 5.281.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.
@@ -27,7 +27,7 @@ export interface OutpostDispatchResult {
27
27
  stderr: string;
28
28
  }
29
29
  export interface OutpostLaneCommand {
30
- action: "message" | "resume" | "stop" | "show" | "grant" | "grant-target" | "reparent-target" | "approve-target";
30
+ action: "message" | "resume" | "stop" | "show" | "logs" | "grant" | "grant-target" | "reparent-target" | "approve-target";
31
31
  laneId: string;
32
32
  hqBinary?: string;
33
33
  text?: string;
@@ -47,6 +47,8 @@ export interface OutpostLaneCommand {
47
47
  senior?: string;
48
48
  reason?: string;
49
49
  compact?: boolean;
50
+ tail?: string;
51
+ json?: boolean;
50
52
  }
51
53
  export declare function buildOutpostQuestionAnswerCommand(input: {
52
54
  questionId: string;
@@ -174,6 +174,10 @@ export function buildOutpostLaneCommand(input) {
174
174
  args.push("--keep-alive");
175
175
  if (input.compact === false)
176
176
  args.push("--no-compact");
177
+ if (input.action === "logs" && input.tail !== undefined)
178
+ args.push("--tail", input.tail);
179
+ if (input.action === "logs" && input.json === true)
180
+ args.push("--json");
177
181
  return withRemoteHqDir(joinCommandParts(args));
178
182
  }
179
183
  /** True when a remote CLI exited after rejecting the forwarded effort flag. */
@@ -416,6 +416,17 @@ export function parseLaneRecord(raw, filePath) {
416
416
  requireInt(raw.version, "version");
417
417
  requireInt(raw.depth, "depth");
418
418
  requireInt(raw.priority, "priority");
419
+ if (raw.ended_at !== undefined) {
420
+ requireTimestamp(raw.ended_at, "ended_at", filePath);
421
+ }
422
+ if (raw.envelope_summary !== undefined &&
423
+ (typeof raw.envelope_summary !== "string" || raw.envelope_summary.trim() === "")) {
424
+ throw new LaneSchemaError("envelope_summary must be a non-empty string when present", {
425
+ path: filePath,
426
+ field: "envelope_summary",
427
+ value: raw.envelope_summary,
428
+ });
429
+ }
419
430
  if (raw.hire_grant !== undefined &&
420
431
  (typeof raw.hire_grant !== "number" || !Number.isSafeInteger(raw.hire_grant) || raw.hire_grant < 0)) {
421
432
  throw new LaneSchemaError("Expected non-negative safe integer for hire_grant", {
@@ -526,6 +526,10 @@ export interface LaneRecord {
526
526
  version: number;
527
527
  created_at: string;
528
528
  updated_at: string;
529
+ /** Owner-host completion time copied to a primary mirror during reconcile. */
530
+ ended_at?: string;
531
+ /** Summary from the owner's latest terminal envelope, copied to a mirror. */
532
+ envelope_summary?: string;
529
533
  attribution_history: AttributionHistoryEntry[];
530
534
  last_envelope?: LastEnvelopeRef;
531
535
  /** Effective model id recorded at create/spawn. Omitted when the provider chooses. */
@@ -226,7 +226,7 @@ export const LANE_FIELD_WRITERS = {
226
226
  priority: ["command"], worker: ["creator", "command"], worker_path: ["creator", "command"], worker_pack: ["creator", "command"], worker_profile: ["creator", "command"], worker_profile_hash: ["creator", "command", "spawn"], registry_worker: ["creator", "command", "spawn"], registry_worker_approval_history: ["command", "watcher", "reconcile"], worker_profile_repin_history: ["command"], worker_profile_ignored: ["creator", "command", "spawn"], worker_policy_delivery: ["command", "spawn"],
227
227
  keep_alive: ["creator", "command"], keep_alive_standing: ["command"], keep_alive_opted_in_at: ["creator", "command"], keep_alive_blocked_reason: ["command", "reconcile"], keep_alive_resume_count: ["command", "reconcile"], keep_alive_last_resume_at: ["command", "reconcile"], keep_alive_next_eligible_at: ["command", "reconcile"], keep_alive_exhausted_at: ["command", "reconcile"],
228
228
  provider: ["creator"], account: ["creator", "spawn", "command", "watcher", "reconcile"], account_selection: ["creator", "command"], admission_accounts: ["creator", "command"], account_history: ["command", "spawn", "watcher", "reconcile"], failed_resume_history: ["command"], pending_resume: ["command", "spawn", "watcher", "reconcile"], placement_default: ["creator"], host: ["creator", "command"], origin_host: ["creator"], origin_host_source: ["creator"],
229
- version: ["creator"], created_at: ["creator"], updated_at: ["creator"], attribution_history: ["command"],
229
+ version: ["creator"], created_at: ["creator"], updated_at: ["creator"], ended_at: ["reconcile"], envelope_summary: ["reconcile"], attribution_history: ["command"],
230
230
  last_envelope: ["watcher", "reconcile"], model: ["creator", "spawn", "command"], model_source: ["creator", "spawn", "command"], effort: ["creator", "spawn", "command"], effort_source: ["creator", "spawn", "command"], fast_mode: ["spawn"],
231
231
  last_message_at: ["command"], status_gate: ["spawn", "watcher"], status_gate_history: ["watcher"], blocker_freshness_state: ["watcher"], kr_freshness_state: ["watcher"], last_compaction: ["spawn"], story_complete: ["watcher", "reconcile"], story_complete_reason: ["watcher", "reconcile"], story_status: ["watcher", "reconcile"],
232
232
  overdue: ["reconcile"], overdue_at: ["reconcile"], last_host_report_at: ["watcher", "spawn", "reconcile"], stalled: ["watcher"], stalled_at: ["watcher"], stalled_reason: ["watcher"],
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@indigoai-us/hq-cli",
3
- "version": "5.279.0",
3
+ "version": "5.281.0",
4
4
  "description": "HQ by Indigo management CLI — modules and cloud sync",
5
5
  "main": "dist/index.js",
6
6
  "bin": {