@indigoai-us/hq-cli 5.280.0 → 5.282.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.
Files changed (35) hide show
  1. package/CHANGELOG.md +31 -0
  2. package/assets/scaffold/core/scripts/knowledge-prefs.sh +55 -0
  3. package/assets/scaffold/core/scripts/ontology-audience-grant.sh +81 -0
  4. package/assets/scaffold/core/scripts/ontology-brief.mjs +93 -0
  5. package/assets/scaffold/core/scripts/ontology-candidate.sh +100 -0
  6. package/assets/scaffold/core/scripts/ontology-garden.mjs +238 -0
  7. package/assets/scaffold/core/scripts/ontology-source-worklist.sh +79 -0
  8. package/assets/scaffold/core/scripts/source-yaml-validate.sh +36 -0
  9. package/dist/command-catalog.generated.d.ts +80 -2
  10. package/dist/command-catalog.generated.js +98 -2
  11. package/dist/commands/auth.js +40 -2
  12. package/dist/commands/core-ontology-native.d.ts +16 -0
  13. package/dist/commands/core-ontology-native.js +924 -0
  14. package/dist/commands/core-ontology.js +11 -0
  15. package/dist/commands/core.js +9 -0
  16. package/dist/commands/group-grants.js +3 -2
  17. package/dist/commands/lanes-message.js +1 -0
  18. package/dist/commands/lanes-move.js +2 -0
  19. package/dist/commands/lanes-resume.js +1 -0
  20. package/dist/commands/lanes-shared.d.ts +6 -0
  21. package/dist/commands/lanes.d.ts +1 -0
  22. package/dist/commands/lanes.js +283 -13
  23. package/dist/lib/lanes/keep-alive.js +1 -0
  24. package/dist/lib/lanes/outpost-dispatch.d.ts +3 -1
  25. package/dist/lib/lanes/outpost-dispatch.js +4 -0
  26. package/dist/lib/lanes/reconcile.d.ts +7 -1
  27. package/dist/lib/lanes/reconcile.js +88 -16
  28. package/dist/lib/lanes/spawn.js +5 -0
  29. package/dist/lib/lanes/store.js +38 -0
  30. package/dist/lib/lanes/throttle.d.ts +29 -2
  31. package/dist/lib/lanes/throttle.js +145 -5
  32. package/dist/lib/lanes/types.d.ts +12 -1
  33. package/dist/lib/lanes/types.js +3 -2
  34. package/dist/lib/lanes/watcher.js +1 -0
  35. package/package.json +1 -1
@@ -173,8 +173,14 @@ export declare const TERMINAL_LANE_STATES: readonly ["done", "failed", "interrup
173
173
  export type TerminalLaneState = (typeof TERMINAL_LANE_STATES)[number];
174
174
  export declare const LANE_PROVIDERS: readonly ["claude", "codex", "grok"];
175
175
  export type LaneProvider = (typeof LANE_PROVIDERS)[number];
176
- export declare const QUEUED_REASONS: readonly ["cap", "provider_cap", "account_cap", "profile_cap", "queue_position", "throttle", "provider_binary_missing", "account_retry"];
176
+ export declare const QUEUED_REASONS: readonly ["cap", "provider_cap", "account_cap", "profile_cap", "queue_position", "throttle", "provider_binary_missing", "account_retry", "worker_profile_changed"];
177
177
  export type QueuedReason = (typeof QUEUED_REASONS)[number];
178
+ export interface QueuedDetails {
179
+ reason: "worker_profile_changed";
180
+ expected_hash: string | null;
181
+ actual_hash: string;
182
+ recovery_command: string;
183
+ }
178
184
  export declare function isQueuedReason(value: unknown): value is QueuedReason;
179
185
  export declare const HOST_KINDS: readonly ["local", "outpost"];
180
186
  export type HostKind = (typeof HOST_KINDS)[number];
@@ -442,6 +448,7 @@ export interface LaneRecord {
442
448
  senior_history: SeniorHistoryEntry[];
443
449
  state: LaneState;
444
450
  queued_reason?: QueuedReason;
451
+ queued_details?: QueuedDetails;
445
452
  /** Time the current queue turn began; old records fall back to created_at. */
446
453
  queued_at?: string;
447
454
  /** Short-lived slot reservation between create persistence and worker spawn. */
@@ -526,6 +533,10 @@ export interface LaneRecord {
526
533
  version: number;
527
534
  created_at: string;
528
535
  updated_at: string;
536
+ /** Owner-host completion time copied to a primary mirror during reconcile. */
537
+ ended_at?: string;
538
+ /** Summary from the owner's latest terminal envelope, copied to a mirror. */
539
+ envelope_summary?: string;
529
540
  attribution_history: AttributionHistoryEntry[];
530
541
  last_envelope?: LastEnvelopeRef;
531
542
  /** Effective model id recorded at create/spawn. Omitted when the provider chooses. */
@@ -107,6 +107,7 @@ export const QUEUED_REASONS = [
107
107
  "throttle",
108
108
  "provider_binary_missing",
109
109
  "account_retry",
110
+ "worker_profile_changed",
110
111
  ];
111
112
  export function isQueuedReason(value) {
112
113
  return typeof value === "string" && QUEUED_REASONS.includes(value);
@@ -220,13 +221,13 @@ export const LANE_FIELD_WRITERS = {
220
221
  project_id: ["command"], story_id: ["command"], no_story_reason: ["creator", "command"], ledger_sync_error: ["story-ledger"], pending_question_ids: ["story-ledger"], stories: ["creator", "command", "watcher", "reconcile", "spawn"], thread_id: ["creator", "command", "spawn"], mesh_company: ["creator", "command"],
221
222
  depth: ["command"], senior: ["command"], senior_history: ["command"],
222
223
  hire_grant: ["creator", "command"],
223
- state: ["creator", "command", "watcher", "reconcile", "spawn"], queued_reason: ["creator", "command", "spawn", "watcher", "reconcile"], queued_at: ["creator", "command", "spawn", "watcher", "reconcile"], admission_reserved_at: ["creator", "command", "reconcile", "spawn", "watcher"],
224
+ state: ["creator", "command", "watcher", "reconcile", "spawn"], queued_reason: ["creator", "command", "spawn", "watcher", "reconcile"], queued_details: ["command", "reconcile", "spawn", "watcher"], queued_at: ["creator", "command", "spawn", "watcher", "reconcile"], admission_reserved_at: ["creator", "command", "reconcile", "spawn", "watcher"],
224
225
  pickup_validation_pending: ["creator", "command", "spawn", "reconcile"],
225
226
  pickup_validation_pending_since: ["creator", "command", "spawn", "reconcile"],
226
227
  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
228
  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
229
  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"],
230
+ version: ["creator"], created_at: ["creator"], updated_at: ["creator"], ended_at: ["reconcile"], envelope_summary: ["reconcile"], attribution_history: ["command"],
230
231
  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
232
  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
233
  overdue: ["reconcile"], overdue_at: ["reconcile"], last_host_report_at: ["watcher", "spawn", "reconcile"], stalled: ["watcher"], stalled_at: ["watcher"], stalled_reason: ["watcher"],
@@ -380,6 +380,7 @@ export function applyTerminalToLaneWithResult(hqRoot, laneId, classification, op
380
380
  ...runResultFields(hqRoot, current, at),
381
381
  state: effectiveClassification.state,
382
382
  queued_reason: undefined,
383
+ queued_details: undefined,
383
384
  stalled: undefined,
384
385
  stalled_at: undefined,
385
386
  stalled_reason: undefined,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@indigoai-us/hq-cli",
3
- "version": "5.280.0",
3
+ "version": "5.282.0",
4
4
  "description": "HQ by Indigo management CLI — modules and cloud sync",
5
5
  "main": "dist/index.js",
6
6
  "bin": {