@indigoai-us/hq-cli 5.157.0 → 5.159.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.
@@ -460,6 +460,18 @@ export function parseLaneRecord(raw, filePath) {
460
460
  path: filePath,
461
461
  });
462
462
  }
463
+ if (raw.placement_default !== undefined) {
464
+ const placement = raw.placement_default;
465
+ if (!isPlainObject(placement) ||
466
+ (placement.kind !== "local" && placement.kind !== "auto" && placement.kind !== "outpost") ||
467
+ (placement.kind === "outpost" && (typeof placement.id !== "string" || placement.id.trim() === "")) ||
468
+ (placement.kind !== "outpost" && "id" in placement)) {
469
+ throw new LaneSchemaError("placement_default must be local, auto, or a pinned Outpost", {
470
+ path: filePath,
471
+ field: "placement_default",
472
+ });
473
+ }
474
+ }
463
475
  if (!Array.isArray(raw.attribution_history)) {
464
476
  throw new LaneSchemaError("attribution_history must be an array", {
465
477
  path: filePath,
@@ -314,6 +314,7 @@ export interface LaneRecord {
314
314
  * recorded session with this turn instead of starting fresh from the brief.
315
315
  */
316
316
  pending_resume?: PendingResume;
317
+ placement_default?: LanePlacementPolicy;
317
318
  host: LaneHost;
318
319
  /**
319
320
  * Creating machine's identity when `host.kind` is `outpost` (spec §5.2).
@@ -448,6 +449,15 @@ export interface PendingResume {
448
449
  compact?: boolean;
449
450
  at: string;
450
451
  }
452
+ /** Where child lanes created by this manager should be placed by default. */
453
+ export type LanePlacementPolicy = {
454
+ kind: "local";
455
+ } | {
456
+ kind: "auto";
457
+ } | {
458
+ kind: "outpost";
459
+ id: string;
460
+ };
451
461
  export interface LaneResumeRecord {
452
462
  session_id: string;
453
463
  at: string;
@@ -220,7 +220,7 @@ export const LANE_FIELD_WRITERS = {
220
220
  pickup_validation_pending: ["creator", "command", "spawn", "reconcile"],
221
221
  pickup_validation_pending_since: ["creator", "command", "spawn", "reconcile"],
222
222
  priority: ["command"], worker: ["creator"], worker_path: ["creator"], worker_pack: ["creator"], worker_profile: ["creator"], worker_profile_hash: ["creator", "spawn"], worker_profile_ignored: ["creator", "spawn"],
223
- provider: ["creator"], account: ["creator", "spawn", "command", "watcher", "reconcile"], admission_accounts: ["creator", "command"], account_history: ["command", "spawn", "watcher", "reconcile"], pending_resume: ["command", "spawn", "watcher", "reconcile"], host: ["creator"], origin_host: ["creator"], origin_host_source: ["creator"],
223
+ provider: ["creator"], account: ["creator", "spawn", "command", "watcher", "reconcile"], admission_accounts: ["creator", "command"], account_history: ["command", "spawn", "watcher", "reconcile"], pending_resume: ["command", "spawn", "watcher", "reconcile"], placement_default: ["creator"], host: ["creator", "command"], origin_host: ["creator"], origin_host_source: ["creator"],
224
224
  version: ["creator"], created_at: ["creator"], updated_at: ["creator"], attribution_history: ["command"],
225
225
  last_envelope: ["watcher", "reconcile"], model: ["creator", "spawn", "command"], model_source: ["creator", "spawn", "command"], effort: ["creator", "spawn"], effort_source: ["creator", "spawn"], fast_mode: ["spawn"],
226
226
  last_message_at: ["command"], last_compaction: ["spawn"], story_complete: ["watcher", "reconcile"], story_complete_reason: ["watcher", "reconcile"], story_status: ["watcher", "reconcile"],
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@indigoai-us/hq-cli",
3
- "version": "5.157.0",
3
+ "version": "5.159.0",
4
4
  "description": "HQ by Indigo management CLI — modules and cloud sync",
5
5
  "main": "dist/index.js",
6
6
  "bin": {