@openrig/cli 0.3.2 → 0.3.3

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 (146) hide show
  1. package/daemon/assets/plugins/openrig-core/skills/openrig-user/SKILL.md +8 -8
  2. package/daemon/dist/adapters/cmux-transport.d.ts.map +1 -1
  3. package/daemon/dist/adapters/cmux-transport.js +51 -9
  4. package/daemon/dist/adapters/cmux-transport.js.map +1 -1
  5. package/daemon/dist/adapters/codex-runtime-adapter.d.ts.map +1 -1
  6. package/daemon/dist/adapters/codex-runtime-adapter.js +32 -4
  7. package/daemon/dist/adapters/codex-runtime-adapter.js.map +1 -1
  8. package/daemon/dist/adapters/tmux.d.ts +32 -1
  9. package/daemon/dist/adapters/tmux.d.ts.map +1 -1
  10. package/daemon/dist/adapters/tmux.js +75 -2
  11. package/daemon/dist/adapters/tmux.js.map +1 -1
  12. package/daemon/dist/db/migrations/042_rig_archive.d.ts +16 -0
  13. package/daemon/dist/db/migrations/042_rig_archive.d.ts.map +1 -0
  14. package/daemon/dist/db/migrations/042_rig_archive.js +21 -0
  15. package/daemon/dist/db/migrations/042_rig_archive.js.map +1 -0
  16. package/daemon/dist/domain/ps-projection.d.ts +6 -1
  17. package/daemon/dist/domain/ps-projection.d.ts.map +1 -1
  18. package/daemon/dist/domain/ps-projection.js +10 -1
  19. package/daemon/dist/domain/ps-projection.js.map +1 -1
  20. package/daemon/dist/domain/rig-expansion-service.d.ts +1 -1
  21. package/daemon/dist/domain/rig-expansion-service.d.ts.map +1 -1
  22. package/daemon/dist/domain/rig-expansion-service.js +12 -10
  23. package/daemon/dist/domain/rig-expansion-service.js.map +1 -1
  24. package/daemon/dist/domain/rig-repository.d.ts +28 -2
  25. package/daemon/dist/domain/rig-repository.d.ts.map +1 -1
  26. package/daemon/dist/domain/rig-repository.js +40 -3
  27. package/daemon/dist/domain/rig-repository.js.map +1 -1
  28. package/daemon/dist/domain/rigspec-instantiator.d.ts +176 -0
  29. package/daemon/dist/domain/rigspec-instantiator.d.ts.map +1 -1
  30. package/daemon/dist/domain/rigspec-instantiator.js +305 -37
  31. package/daemon/dist/domain/rigspec-instantiator.js.map +1 -1
  32. package/daemon/dist/domain/rigspec-preflight.d.ts +19 -1
  33. package/daemon/dist/domain/rigspec-preflight.d.ts.map +1 -1
  34. package/daemon/dist/domain/rigspec-preflight.js +30 -12
  35. package/daemon/dist/domain/rigspec-preflight.js.map +1 -1
  36. package/daemon/dist/domain/rigspec-schema.d.ts +1 -0
  37. package/daemon/dist/domain/rigspec-schema.d.ts.map +1 -1
  38. package/daemon/dist/domain/rigspec-schema.js +4 -1
  39. package/daemon/dist/domain/rigspec-schema.js.map +1 -1
  40. package/daemon/dist/domain/session-transport.d.ts +15 -0
  41. package/daemon/dist/domain/session-transport.d.ts.map +1 -1
  42. package/daemon/dist/domain/session-transport.js +8 -3
  43. package/daemon/dist/domain/session-transport.js.map +1 -1
  44. package/daemon/dist/domain/topology-converge.d.ts +97 -0
  45. package/daemon/dist/domain/topology-converge.d.ts.map +1 -0
  46. package/daemon/dist/domain/topology-converge.js +70 -0
  47. package/daemon/dist/domain/topology-converge.js.map +1 -0
  48. package/daemon/dist/domain/types.d.ts +6 -0
  49. package/daemon/dist/domain/types.d.ts.map +1 -1
  50. package/daemon/dist/domain/types.js.map +1 -1
  51. package/daemon/dist/domain/whoami-service.d.ts +8 -0
  52. package/daemon/dist/domain/whoami-service.d.ts.map +1 -1
  53. package/daemon/dist/domain/whoami-service.js +1 -0
  54. package/daemon/dist/domain/whoami-service.js.map +1 -1
  55. package/daemon/dist/domain/workflow-runtime.d.ts.map +1 -1
  56. package/daemon/dist/domain/workflow-runtime.js +9 -1
  57. package/daemon/dist/domain/workflow-runtime.js.map +1 -1
  58. package/daemon/dist/domain/workflow-spec-cache.d.ts +19 -0
  59. package/daemon/dist/domain/workflow-spec-cache.d.ts.map +1 -1
  60. package/daemon/dist/domain/workflow-spec-cache.js +26 -0
  61. package/daemon/dist/domain/workflow-spec-cache.js.map +1 -1
  62. package/daemon/dist/routes/ps.js +4 -1
  63. package/daemon/dist/routes/ps.js.map +1 -1
  64. package/daemon/dist/routes/rigs.d.ts.map +1 -1
  65. package/daemon/dist/routes/rigs.js +124 -2
  66. package/daemon/dist/routes/rigs.js.map +1 -1
  67. package/daemon/dist/startup.d.ts.map +1 -1
  68. package/daemon/dist/startup.js +2 -1
  69. package/daemon/dist/startup.js.map +1 -1
  70. package/daemon/docs/reference/getting-started.md +69 -0
  71. package/daemon/specs/agents/shared/skills/core/openrig-user/SKILL.md +79 -9
  72. package/dist/commands/add.d.ts +4 -0
  73. package/dist/commands/add.d.ts.map +1 -0
  74. package/dist/commands/add.js +115 -0
  75. package/dist/commands/add.js.map +1 -0
  76. package/dist/commands/archive.d.ts +10 -0
  77. package/dist/commands/archive.d.ts.map +1 -0
  78. package/dist/commands/archive.js +68 -0
  79. package/dist/commands/archive.js.map +1 -0
  80. package/dist/commands/bootstrap.js +2 -2
  81. package/dist/commands/bootstrap.js.map +1 -1
  82. package/dist/commands/discover.js +2 -2
  83. package/dist/commands/discover.js.map +1 -1
  84. package/dist/commands/down.d.ts +1 -1
  85. package/dist/commands/down.d.ts.map +1 -1
  86. package/dist/commands/down.js +91 -3
  87. package/dist/commands/down.js.map +1 -1
  88. package/dist/commands/ps.d.ts.map +1 -1
  89. package/dist/commands/ps.js +22 -3
  90. package/dist/commands/ps.js.map +1 -1
  91. package/dist/commands/send.d.ts.map +1 -1
  92. package/dist/commands/send.js +11 -0
  93. package/dist/commands/send.js.map +1 -1
  94. package/dist/commands/setup.d.ts +7 -0
  95. package/dist/commands/setup.d.ts.map +1 -1
  96. package/dist/commands/setup.js +28 -1
  97. package/dist/commands/setup.js.map +1 -1
  98. package/dist/commands/status.d.ts.map +1 -1
  99. package/dist/commands/status.js +35 -2
  100. package/dist/commands/status.js.map +1 -1
  101. package/dist/commands/unarchive.d.ts +10 -0
  102. package/dist/commands/unarchive.d.ts.map +1 -0
  103. package/dist/commands/unarchive.js +53 -0
  104. package/dist/commands/unarchive.js.map +1 -0
  105. package/dist/commands/up.d.ts.map +1 -1
  106. package/dist/commands/up.js +50 -0
  107. package/dist/commands/up.js.map +1 -1
  108. package/dist/commands/whoami.d.ts.map +1 -1
  109. package/dist/commands/whoami.js +4 -1
  110. package/dist/commands/whoami.js.map +1 -1
  111. package/dist/commands/workflow.d.ts.map +1 -1
  112. package/dist/commands/workflow.js +2 -3
  113. package/dist/commands/workflow.js.map +1 -1
  114. package/dist/commands/workspace.d.ts.map +1 -1
  115. package/dist/commands/workspace.js +2 -3
  116. package/dist/commands/workspace.js.map +1 -1
  117. package/dist/daemon-lifecycle.d.ts +23 -0
  118. package/dist/daemon-lifecycle.d.ts.map +1 -1
  119. package/dist/daemon-lifecycle.js +24 -0
  120. package/dist/daemon-lifecycle.js.map +1 -1
  121. package/dist/index.d.ts +3 -0
  122. package/dist/index.d.ts.map +1 -1
  123. package/dist/index.js +7 -0
  124. package/dist/index.js.map +1 -1
  125. package/dist/mcp-server.d.ts.map +1 -1
  126. package/dist/mcp-server.js +29 -0
  127. package/dist/mcp-server.js.map +1 -1
  128. package/dist/release-surface/affected-skills.d.ts +49 -0
  129. package/dist/release-surface/affected-skills.d.ts.map +1 -0
  130. package/dist/release-surface/affected-skills.js +153 -0
  131. package/dist/release-surface/affected-skills.js.map +1 -0
  132. package/dist/release-surface/extract-surface.d.ts +23 -0
  133. package/dist/release-surface/extract-surface.d.ts.map +1 -0
  134. package/dist/release-surface/extract-surface.js +193 -0
  135. package/dist/release-surface/extract-surface.js.map +1 -0
  136. package/dist/release-surface/generate.d.ts +2 -0
  137. package/dist/release-surface/generate.d.ts.map +1 -0
  138. package/dist/release-surface/generate.js +51 -0
  139. package/dist/release-surface/generate.js.map +1 -0
  140. package/dist/release-surface/surface-diff.d.ts +40 -0
  141. package/dist/release-surface/surface-diff.d.ts.map +1 -0
  142. package/dist/release-surface/surface-diff.js +212 -0
  143. package/dist/release-surface/surface-diff.js.map +1 -0
  144. package/package.json +1 -1
  145. package/ui/dist/assets/{index-GjTxfi9S.js → index-CrJgCmkX.js} +146 -141
  146. package/ui/dist/index.html +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"042_rig_archive.js","sourceRoot":"","sources":["../../../src/db/migrations/042_rig_archive.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAc;IACzC,IAAI,EAAE,qBAAqB;IAC3B,GAAG,EAAE;;;GAGJ;CACF,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import type Database from "better-sqlite3";
2
2
  import type { NodeLifecycleState, RigLifecycleState } from "./types.js";
3
+ import { type RigArchiveFilter } from "./rig-repository.js";
3
4
  import type { SeatActivityService } from "./seat-activity-service.js";
4
5
  export interface PsEntry {
5
6
  rigId: string;
@@ -36,6 +37,10 @@ export interface PsEntry {
36
37
  lifecycleState: RigLifecycleState;
37
38
  uptime: string | null;
38
39
  latestSnapshot: string | null;
40
+ /** OPR.0.3.3.19 - ISO timestamp when the rig was archived, or null if active. */
41
+ archivedAt: string | null;
42
+ /** OPR.0.3.3.19 - convenience flag; true iff `archivedAt !== null`. */
43
+ isArchived: boolean;
39
44
  }
40
45
  /**
41
46
  * Folds per-node lifecycle states into a rig-level lifecycle state.
@@ -65,7 +70,7 @@ export declare class PsProjectionService {
65
70
  db: Database.Database;
66
71
  seatActivity?: SeatActivityService;
67
72
  });
68
- getEntries(): PsEntry[];
73
+ getEntries(filter?: RigArchiveFilter): PsEntry[];
69
74
  }
70
75
  /**
71
76
  * Slice 15 — count of pending qitems assigned to a specific canonical
@@ -1 +1 @@
1
- {"version":3,"file":"ps-projection.d.ts","sourceRoot":"","sources":["../../src/domain/ps-projection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAC3C,OAAO,KAAK,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAExE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAEtE,MAAM,WAAW,OAAO;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb;;;;;;;;OAQG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB;;;;;OAKG;IACH,WAAW,EAAE,MAAM,CAAC;IACpB;;;;;OAKG;IACH,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,SAAS,CAAC;IAC1C;+DAC2D;IAC3D,cAAc,EAAE,iBAAiB,CAAC;IAClC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;CAC/B;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,uBAAuB,CAAC,UAAU,EAAE,kBAAkB,EAAE,GAAG,iBAAiB,CAa3F;AAED;;;GAGG;AACH,qBAAa,mBAAmB;IAC9B,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,CAAC;IAC/B,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA6B;gBAE9C,IAAI,EAAE;QAAE,EAAE,EAAE,QAAQ,CAAC,QAAQ,CAAC;QAAC,YAAY,CAAC,EAAE,mBAAmB,CAAA;KAAE;IAK/E,UAAU,IAAI,OAAO,EAAE;CA2ExB;AAwBD;;;GAGG;AACH,wBAAgB,0BAA0B,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,EAAE,oBAAoB,EAAE,MAAM,GAAG,MAAM,CAMtG"}
1
+ {"version":3,"file":"ps-projection.d.ts","sourceRoot":"","sources":["../../src/domain/ps-projection.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAC3C,OAAO,KAAK,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAExE,OAAO,EAAsB,KAAK,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAChF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAEtE,MAAM,WAAW,OAAO;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb;;;;;;;;OAQG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB;;;;;OAKG;IACH,WAAW,EAAE,MAAM,CAAC;IACpB;;;;;OAKG;IACH,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,SAAS,CAAC;IAC1C;+DAC2D;IAC3D,cAAc,EAAE,iBAAiB,CAAC;IAClC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,iFAAiF;IACjF,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,uEAAuE;IACvE,UAAU,EAAE,OAAO,CAAC;CACrB;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,uBAAuB,CAAC,UAAU,EAAE,kBAAkB,EAAE,GAAG,iBAAiB,CAa3F;AAED;;;GAGG;AACH,qBAAa,mBAAmB;IAC9B,QAAQ,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,CAAC;IAC/B,OAAO,CAAC,QAAQ,CAAC,YAAY,CAA6B;gBAE9C,IAAI,EAAE;QAAE,EAAE,EAAE,QAAQ,CAAC,QAAQ,CAAC;QAAC,YAAY,CAAC,EAAE,mBAAmB,CAAA;KAAE;IAK/E,UAAU,CAAC,MAAM,CAAC,EAAE,gBAAgB,GAAG,OAAO,EAAE;CAoFjD;AAwBD;;;GAGG;AACH,wBAAgB,0BAA0B,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,EAAE,oBAAoB,EAAE,MAAM,GAAG,MAAM,CAMtG"}
@@ -1,4 +1,5 @@
1
1
  import { getNodeInventory } from "./node-inventory.js";
2
+ import { archiveWhereClause } from "./rig-repository.js";
2
3
  /**
3
4
  * Folds per-node lifecycle states into a rig-level lifecycle state.
4
5
  *
@@ -41,11 +42,16 @@ export class PsProjectionService {
41
42
  this.db = deps.db;
42
43
  this.seatActivity = deps.seatActivity ?? null;
43
44
  }
44
- getEntries() {
45
+ getEntries(filter) {
46
+ // OPR.0.3.3.19 - default excludes archived rigs at the projection layer
47
+ // (NOT client-side). Explicit includeArchived/archivedOnly opt in.
48
+ const cond = archiveWhereClause("r.archived_at", filter);
49
+ const where = cond ? `WHERE ${cond}` : "";
45
50
  const rows = this.db.prepare(`
46
51
  SELECT
47
52
  r.id as rig_id,
48
53
  r.name,
54
+ r.archived_at as archived_at,
49
55
  (SELECT COUNT(*) FROM nodes n WHERE n.rig_id = r.id) as node_count,
50
56
  (SELECT COUNT(*) FROM nodes n WHERE n.rig_id = r.id AND
51
57
  (SELECT status FROM sessions s WHERE s.node_id = n.id ORDER BY s.created_at DESC, s.id DESC LIMIT 1) = 'running'
@@ -57,6 +63,7 @@ export class PsProjectionService {
57
63
  ) as earliest_running_at,
58
64
  (SELECT snap.created_at FROM snapshots snap WHERE snap.rig_id = r.id ORDER BY snap.created_at DESC, snap.id DESC LIMIT 1) as latest_snapshot_at
59
65
  FROM rigs r
66
+ ${where}
60
67
  ORDER BY r.name
61
68
  `).all();
62
69
  const now = Date.now();
@@ -102,6 +109,8 @@ export class PsProjectionService {
102
109
  lifecycleState,
103
110
  uptime: r.earliest_running_at ? formatDuration(now - new Date(r.earliest_running_at + "Z").getTime()) : null,
104
111
  latestSnapshot: r.latest_snapshot_at ? formatAge(now - new Date(r.latest_snapshot_at + "Z").getTime()) : null,
112
+ archivedAt: r.archived_at,
113
+ isArchived: r.archived_at !== null,
105
114
  };
106
115
  });
107
116
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ps-projection.js","sourceRoot":"","sources":["../../src/domain/ps-projection.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAwCvD;;;;;;;;;;;;;;;GAeG;AACH,MAAM,UAAU,uBAAuB,CAAC,UAAgC;IACtE,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAC9C,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,oBAAoB,CAAC;QAAE,OAAO,oBAAoB,CAAC;IAEpF,MAAM,YAAY,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC,MAAM,CAAC;IACtE,MAAM,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC;IAErC,IAAI,YAAY,KAAK,UAAU;QAAE,OAAO,SAAS,CAAC;IAClD,IAAI,YAAY,KAAK,CAAC,EAAE,CAAC;QACvB,MAAM,cAAc,GAAG,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,aAAa,CAAC,CAAC;QACnE,OAAO,cAAc,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC;IACpD,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED;;;GAGG;AACH,MAAM,OAAO,mBAAmB;IACrB,EAAE,CAAoB;IACd,YAAY,CAA6B;IAE1D,YAAY,IAAmE;QAC7E,IAAI,CAAC,EAAE,GAAG,IAAI,CAAC,EAAE,CAAC;QAClB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC;IAChD,CAAC;IAED,UAAU;QACR,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;;;;;;;;;;;;;;;KAgB5B,CAAC,CAAC,GAAG,EAOJ,CAAC;QAEH,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAEvB,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YACpB,MAAM,MAAM,GACV,CAAC,CAAC,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS;gBAC9B,CAAC,CAAC,CAAC,CAAC,aAAa,KAAK,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS;oBAC9C,CAAC,CAAC,CAAC,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS;wBACjC,CAAC,CAAC,SAAS,CAAC;YAEd,8EAA8E;YAC9E,oFAAoF;YACpF,MAAM,SAAS,GAAG,gBAAgB,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;YACtD,MAAM,cAAc,GAAG,uBAAuB,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC;YAEvF,mEAAmE;YACnE,mDAAmD;YACnD,kEAAkE;YAClE,2CAA2C;YAC3C,IAAI,WAAW,GAAG,CAAC,CAAC;YACpB,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;gBACtB,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;oBAC7B,IAAI,IAAI,CAAC,aAAa,KAAK,SAAS;wBAAE,SAAS;oBAC/C,IAAI,CAAC,IAAI,CAAC,oBAAoB;wBAAE,SAAS;oBACzC,MAAM,GAAG,GAAG,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;oBACzE,IAAI,GAAG,EAAE,oBAAoB,KAAK,IAAI;wBAAE,WAAW,EAAE,CAAC;gBACxD,CAAC;YACH,CAAC;YAED,6DAA6D;YAC7D,kEAAkE;YAClE,6DAA6D;YAC7D,sCAAsC;YACtC,MAAM,YAAY,GAAG,yBAAyB,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;YAElE,OAAO;gBACL,KAAK,EAAE,CAAC,CAAC,MAAM;gBACf,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,OAAO,EAAE,CAAC,CAAC,IAAI;gBACf,SAAS,EAAE,CAAC,CAAC,UAAU;gBACvB,YAAY,EAAE,CAAC,CAAC,aAAa;gBAC7B,WAAW;gBACX,YAAY;gBACZ,MAAM;gBACN,cAAc;gBACd,MAAM,EAAE,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,cAAc,CAAC,GAAG,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,mBAAmB,GAAG,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI;gBAC5G,cAAc,EAAE,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,kBAAkB,GAAG,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI;aAC9G,CAAC;QACJ,CAAC,CAAC,CAAC;IACL,CAAC;CACF;AAED;;;;;GAKG;AACH,SAAS,yBAAyB,CAAC,EAAqB,EAAE,KAAa;IACrE,MAAM,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC;;;;;;;;;;;GAWtB,CAAC,CAAC,GAAG,CAAC,KAAK,CAA8B,CAAC;IAC3C,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;AACrB,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,0BAA0B,CAAC,EAAqB,EAAE,oBAA4B;IAC5F,MAAM,GAAG,GAAG,EAAE,CAAC,OAAO,CAAC;;;GAGtB,CAAC,CAAC,GAAG,CAAC,oBAAoB,CAA8B,CAAC;IAC1D,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;AACrB,CAAC;AAED,SAAS,cAAc,CAAC,EAAU;IAChC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC;IACtC,IAAI,OAAO,GAAG,EAAE;QAAE,OAAO,GAAG,OAAO,GAAG,CAAC;IACvC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC;IACzC,IAAI,OAAO,GAAG,EAAE;QAAE,OAAO,GAAG,OAAO,GAAG,CAAC;IACvC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,GAAG,EAAE,CAAC,CAAC;IACvC,MAAM,aAAa,GAAG,OAAO,GAAG,EAAE,CAAC;IACnC,IAAI,KAAK,GAAG,EAAE;QAAE,OAAO,GAAG,KAAK,KAAK,aAAa,GAAG,CAAC;IACrD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,EAAE,CAAC,CAAC;IACpC,MAAM,WAAW,GAAG,KAAK,GAAG,EAAE,CAAC;IAC/B,OAAO,GAAG,IAAI,KAAK,WAAW,GAAG,CAAC;AACpC,CAAC;AAED,SAAS,SAAS,CAAC,EAAU;IAC3B,MAAM,GAAG,GAAG,cAAc,CAAC,EAAE,CAAC,CAAC;IAC/B,OAAO,GAAG,GAAG,MAAM,CAAC;AACtB,CAAC"}
1
+ {"version":3,"file":"ps-projection.js","sourceRoot":"","sources":["../../src/domain/ps-projection.ts"],"names":[],"mappings":"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"}
@@ -21,7 +21,7 @@ export declare class RigExpansionService {
21
21
  private deps;
22
22
  constructor(deps: RigExpansionServiceDeps);
23
23
  expand(request: ExpansionRequest): Promise<ExpansionResult>;
24
- private buildSyntheticSpec;
24
+ private buildExpansionSpecObject;
25
25
  }
26
26
  export {};
27
27
  //# sourceMappingURL=rig-expansion-service.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"rig-expansion-service.d.ts","sourceRoot":"","sources":["../../src/domain/rig-expansion-service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAC3C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAwB,MAAM,YAAY,CAAC;AAG1F,UAAU,uBAAuB;IAC/B,EAAE,EAAE,QAAQ,CAAC,QAAQ,CAAC;IACtB,OAAO,EAAE,aAAa,CAAC;IACvB,QAAQ,EAAE,QAAQ,CAAC;IACnB,YAAY,EAAE,YAAY,CAAC;IAC3B,eAAe,EAAE,kBAAkB,CAAC;IACpC,eAAe,EAAE,eAAe,CAAC;CAClC;AAED;;;GAGG;AACH,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,IAAI,CAA0B;gBAE1B,IAAI,EAAE,uBAAuB;IAInC,MAAM,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,eAAe,CAAC;IA4FjE,OAAO,CAAC,kBAAkB;CAsD3B"}
1
+ {"version":3,"file":"rig-expansion-service.d.ts","sourceRoot":"","sources":["../../src/domain/rig-expansion-service.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,QAAQ,MAAM,gBAAgB,CAAC;AAC3C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAwB,MAAM,YAAY,CAAC;AAG1F,UAAU,uBAAuB;IAC/B,EAAE,EAAE,QAAQ,CAAC,QAAQ,CAAC;IACtB,OAAO,EAAE,aAAa,CAAC;IACvB,QAAQ,EAAE,QAAQ,CAAC;IACnB,YAAY,EAAE,YAAY,CAAC;IAC3B,eAAe,EAAE,kBAAkB,CAAC;IACpC,eAAe,EAAE,eAAe,CAAC;CAClC;AAED;;;GAGG;AACH,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,IAAI,CAA0B;gBAE1B,IAAI,EAAE,uBAAuB;IAInC,MAAM,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO,CAAC,eAAe,CAAC;IAgGjE,OAAO,CAAC,wBAAwB;CAoDjC"}
@@ -1,4 +1,4 @@
1
- import { stringify as stringifyYaml } from "yaml";
1
+ import { RigSpecSchema as PodRigSpecSchema } from "./rigspec-schema.js";
2
2
  /**
3
3
  * Orchestrates live rig expansion by composing PodRigInstantiator.materialize()
4
4
  * for topology persistence and NodeLauncher for launching new nodes.
@@ -14,11 +14,14 @@ export class RigExpansionService {
14
14
  if (!rig) {
15
15
  return { ok: false, code: "rig_not_found", error: `Rig "${request.rigId}" not found` };
16
16
  }
17
- // 2. Build synthetic rig spec YAML for the new pod
17
+ // 2. Build the one-pod spec as a structured OBJECT (OPR.0.3.3.24: no
18
+ // synthetic-spec YAML round-trip). It flows through the materialize
19
+ // structured-front (validate + preflight + persistence core) and the launch
20
+ // core directly.
18
21
  const pod = request.pod;
19
- const syntheticSpec = this.buildSyntheticSpec(rig.rig.name, pod, request.crossPodEdges);
22
+ const specObject = this.buildExpansionSpecObject(rig.rig.name, pod, request.crossPodEdges);
20
23
  // 3. Materialize topology (suppress rig.imported event)
21
- const materializeResult = await this.deps.podInstantiator.materialize(syntheticSpec, request.rigRoot ?? ".", { targetRigId: request.rigId, suppressSummaryEvent: true });
24
+ const materializeResult = await this.deps.podInstantiator.materializeStructured(specObject, request.rigRoot ?? ".", { targetRigId: request.rigId, suppressSummaryEvent: true });
22
25
  if (!materializeResult.ok) {
23
26
  const code = materializeResult.code;
24
27
  const message = "message" in materializeResult
@@ -37,8 +40,9 @@ export class RigExpansionService {
37
40
  .find((id) => id !== null);
38
41
  const podId = newPod ?? "";
39
42
  const podNamespace = pod.id;
40
- // 5. Launch and fully start the newly created nodes via the pod-aware seam
41
- const launchOutcome = await this.deps.podInstantiator.launchMaterialized(syntheticSpec, request.rigRoot ?? ".", request.rigId);
43
+ // 5. Launch and fully start the newly created nodes via the launch core on
44
+ // the structured spec (no YAML round-trip; normalize is pure).
45
+ const launchOutcome = await this.deps.podInstantiator.launchValidatedSpec(PodRigSpecSchema.normalize(specObject), request.rigRoot ?? ".", request.rigId);
42
46
  if (!launchOutcome.ok) {
43
47
  const message = "message" in launchOutcome
44
48
  ? launchOutcome.message
@@ -81,7 +85,7 @@ export class RigExpansionService {
81
85
  retryTargets,
82
86
  };
83
87
  }
84
- buildSyntheticSpec(rigName, pod, crossPodEdges) {
88
+ buildExpansionSpecObject(rigName, pod, crossPodEdges) {
85
89
  const syntheticSpec = {
86
90
  version: "0.2",
87
91
  name: rigName,
@@ -126,9 +130,7 @@ export class RigExpansionService {
126
130
  to: edge.to,
127
131
  })),
128
132
  };
129
- return stringifyYaml(syntheticSpec, {
130
- lineWidth: 0,
131
- });
133
+ return syntheticSpec;
132
134
  }
133
135
  }
134
136
  //# sourceMappingURL=rig-expansion-service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"rig-expansion-service.js","sourceRoot":"","sources":["../../src/domain/rig-expansion-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rig-expansion-service.js","sourceRoot":"","sources":["../../src/domain/rig-expansion-service.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,23 @@ import type { Rig, Node, Edge, RigWithRelations, RigServicesRecord, RigServicesR
8
8
  * post-L1 cold-start. Distinct from `findLatestAutoPreDown`, which filters by kind.
9
9
  */
10
10
  export declare function findLatestUsableSnapshot(db: Database.Database, rigId: string): Snapshot | null;
11
+ /**
12
+ * OPR.0.3.3.19 - rig archive read filter. Default daemon reads EXCLUDE archived
13
+ * rigs; explicit modes opt in. Mirrors the stream-items `--include-archived`
14
+ * precedent (stream-store.list).
15
+ */
16
+ export interface RigArchiveFilter {
17
+ /** include both active and archived rigs */
18
+ includeArchived?: boolean;
19
+ /** return ONLY archived rigs */
20
+ archivedOnly?: boolean;
21
+ }
22
+ /**
23
+ * SQL condition fragment for the archive filter on a column (e.g. "archived_at"
24
+ * or the aliased "r.archived_at"). Returns null when no filter applies
25
+ * (includeArchived = include everything). Default (no filter) excludes archived.
26
+ */
27
+ export declare function archiveWhereClause(col: string, filter?: RigArchiveFilter): string | null;
11
28
  interface NodeOptions {
12
29
  role?: string;
13
30
  runtime?: string;
@@ -47,7 +64,7 @@ export declare class RigRepository {
47
64
  addNode(rigId: string, logicalId: string, opts?: NodeOptions): Node;
48
65
  addEdge(rigId: string, sourceId: string, targetId: string, kind: string): Edge;
49
66
  getRig(rigId: string): RigWithRelations | null;
50
- listRigs(): Rig[];
67
+ listRigs(filter?: RigArchiveFilter): Rig[];
51
68
  /**
52
69
  * Returns the latest snapshot for this rig with at least one non-null resume token,
53
70
  * or null if no usable snapshot exists. Used by the lifecycle projection to derive
@@ -55,14 +72,23 @@ export declare class RigRepository {
55
72
  */
56
73
  findLatestUsableSnapshot(rigId: string): Snapshot | null;
57
74
  findRigsByName(name: string): Rig[];
58
- getRigSummaries(): Array<{
75
+ getRigSummaries(filter?: RigArchiveFilter): Array<{
59
76
  id: string;
60
77
  name: string;
61
78
  nodeCount: number;
62
79
  latestSnapshotAt: string | null;
63
80
  latestSnapshotId: string | null;
64
81
  hasServices: boolean;
82
+ archivedAt: string | null;
65
83
  }>;
84
+ /**
85
+ * OPR.0.3.3.19 - soft-archive a rig: sets `archived_at`. The rigs row,
86
+ * topology rows, and snapshots are all RETAINED (this is NOT the delete
87
+ * path - contrast deleteRig). Returns false if the rig was already archived.
88
+ */
89
+ archiveRig(rigId: string): boolean;
90
+ /** OPR.0.3.3.19 - reverse archive: clears `archived_at`. Returns false if not archived. */
91
+ unarchiveRig(rigId: string): boolean;
66
92
  deleteRig(rigId: string): void;
67
93
  deleteNode(nodeId: string): void;
68
94
  setServicesRecord(rigId: string, record: RigServicesRecordInput): RigServicesRecord;
@@ -1 +1 @@
1
- {"version":3,"file":"rig-repository.d.ts","sourceRoot":"","sources":["../../src/domain/rig-repository.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rig-repository.d.ts","sourceRoot":"","sources":["../../src/domain/rig-repository.ts"],"names":[],"mappings":"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"}
@@ -32,6 +32,18 @@ export function findLatestUsableSnapshot(db, rigId) {
32
32
  createdAt: row.created_at,
33
33
  };
34
34
  }
35
+ /**
36
+ * SQL condition fragment for the archive filter on a column (e.g. "archived_at"
37
+ * or the aliased "r.archived_at"). Returns null when no filter applies
38
+ * (includeArchived = include everything). Default (no filter) excludes archived.
39
+ */
40
+ export function archiveWhereClause(col, filter) {
41
+ if (filter?.archivedOnly)
42
+ return `${col} IS NOT NULL`;
43
+ if (filter?.includeArchived)
44
+ return null;
45
+ return `${col} IS NULL`;
46
+ }
35
47
  export class RigRepository {
36
48
  db;
37
49
  constructor(db) {
@@ -145,9 +157,11 @@ export class RigRepository {
145
157
  edges: edgeRows.map((r) => this.rowToEdge(r)),
146
158
  };
147
159
  }
148
- listRigs() {
160
+ listRigs(filter) {
161
+ const cond = archiveWhereClause("archived_at", filter);
162
+ const where = cond ? `WHERE ${cond}` : "";
149
163
  const rows = this.db
150
- .prepare("SELECT * FROM rigs ORDER BY created_at")
164
+ .prepare(`SELECT * FROM rigs ${where} ORDER BY created_at`)
151
165
  .all();
152
166
  return rows.map((r) => this.rowToRig(r));
153
167
  }
@@ -165,11 +179,14 @@ export class RigRepository {
165
179
  .all(name);
166
180
  return rows.map((r) => this.rowToRig(r));
167
181
  }
168
- getRigSummaries() {
182
+ getRigSummaries(filter) {
183
+ const cond = archiveWhereClause("r.archived_at", filter);
184
+ const where = cond ? `WHERE ${cond}` : "";
169
185
  const rows = this.db.prepare(`
170
186
  SELECT
171
187
  r.id,
172
188
  r.name,
189
+ r.archived_at AS archived_at,
173
190
  (SELECT COUNT(*) FROM nodes n WHERE n.rig_id = r.id) AS node_count,
174
191
  EXISTS(SELECT 1 FROM rig_services rs WHERE rs.rig_id = r.id) AS has_services,
175
192
  ls.id AS latest_snapshot_id,
@@ -181,6 +198,7 @@ export class RigRepository {
181
198
  ORDER BY s2.created_at DESC, s2.id DESC
182
199
  LIMIT 1
183
200
  )
201
+ ${where}
184
202
  ORDER BY r.created_at
185
203
  `).all();
186
204
  return rows.map((r) => ({
@@ -190,8 +208,27 @@ export class RigRepository {
190
208
  hasServices: r.has_services === 1,
191
209
  latestSnapshotAt: r.latest_snapshot_at,
192
210
  latestSnapshotId: r.latest_snapshot_id,
211
+ archivedAt: r.archived_at,
193
212
  }));
194
213
  }
214
+ /**
215
+ * OPR.0.3.3.19 - soft-archive a rig: sets `archived_at`. The rigs row,
216
+ * topology rows, and snapshots are all RETAINED (this is NOT the delete
217
+ * path - contrast deleteRig). Returns false if the rig was already archived.
218
+ */
219
+ archiveRig(rigId) {
220
+ const result = this.db
221
+ .prepare("UPDATE rigs SET archived_at = datetime('now'), updated_at = datetime('now') WHERE id = ? AND archived_at IS NULL")
222
+ .run(rigId);
223
+ return result.changes > 0;
224
+ }
225
+ /** OPR.0.3.3.19 - reverse archive: clears `archived_at`. Returns false if not archived. */
226
+ unarchiveRig(rigId) {
227
+ const result = this.db
228
+ .prepare("UPDATE rigs SET archived_at = NULL, updated_at = datetime('now') WHERE id = ? AND archived_at IS NOT NULL")
229
+ .run(rigId);
230
+ return result.changes > 0;
231
+ }
195
232
  deleteRig(rigId) {
196
233
  this.db.prepare("DELETE FROM rigs WHERE id = ?").run(rigId);
197
234
  }
@@ -1 +1 @@
1
- {"version":3,"file":"rig-repository.js","sourceRoot":"","sources":["../../src/domain/rig-repository.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,wBAAwB,EAAE,MAAM,2BAA2B,CAAC;AAcrE;;;;;;GAMG;AACH,MAAM,UAAU,wBAAwB,CAAC,EAAqB,EAAE,KAAa;IAC3E,MAAM,GAAG,GAAG,EAAE,CAAC,OAAO,CACpB,oFAAoF,CACrF,CAAC,GAAG,CAAC,KAAK,CAA+G,CAAC;IAC3H,IAAI,CAAC,GAAG;QAAE,OAAO,IAAI,CAAC;IAEtB,IAAI,IAAkB,CAAC;IACvB,IAAI,CAAC;QACH,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAiB,CAAC;IAC9C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC;IACrC,MAAM,iBAAiB,GAAG,QAAQ,CAAC,IAAI,CACrC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,WAAW,KAAK,QAAQ,IAAI,CAAC,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CACrE,CAAC;IACF,IAAI,CAAC,iBAAiB;QAAE,OAAO,IAAI,CAAC;IAEpC,OAAO;QACL,EAAE,EAAE,GAAG,CAAC,EAAE;QACV,KAAK,EAAE,GAAG,CAAC,MAAM;QACjB,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,IAAI;QACJ,SAAS,EAAE,GAAG,CAAC,UAAU;KAC1B,CAAC;AACJ,CAAC;AAqBD,MAAM,OAAO,aAAa;IACf,EAAE,CAAoB;IAC/B,YAAY,EAAqB;QAC/B,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;IACf,CAAC;IAED,SAAS,CAAC,IAAY;QACpB,MAAM,EAAE,GAAG,IAAI,EAAE,CAAC;QAClB,IAAI,CAAC,EAAE;aACJ,OAAO,CAAC,2CAA2C,CAAC;aACpD,GAAG,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QAEjB,OAAO,IAAI,CAAC,QAAQ,CAClB,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,iCAAiC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAW,CACrE,CAAC;IACJ,CAAC;IAED;;;;;;;OAOG;IACH,eAAe,CAAC,KAAa,EAAE,SAAoD;QACjF,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC;YAAE,OAAO;QACjD,MAAM,IAAI,GAAG,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAC1D,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,iEAAiE,CAAC;aAC/E,GAAG,CAAC,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE,KAAK,CAAC,CAAC;IAChD,CAAC;IAED,6DAA6D;IAC7D,eAAe,CAAC,KAAa;QAC3B,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC;YAAE,OAAO,IAAI,CAAC;QACtD,MAAM,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,8CAA8C,CAAC;aACxE,GAAG,CAAC,KAAK,CAAkD,CAAC;QAC/D,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,cAAc;YAAE,OAAO,IAAI,CAAC;QAC7C,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,cAAc,CAAuC,CAAC;QAC9E,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,IAAI,CAAC;QACd,CAAC;IACH,CAAC;IAED;6DACyD;IACjD,YAAY,CAAC,UAAkB;QACrC,IAAI,CAAC;YACH,OAAO,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,yBAAyB,CAAC,CAAC,GAAG,EAAE;iBACpD,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAE,GAAyB,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC;QACnE,CAAC;QAAC,MAAM,CAAC;YACP,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED,OAAO,CAAC,KAAa,EAAE,SAAiB,EAAE,IAAkB;QAC1D,2BAA2B;QAC3B,IAAI,IAAI,EAAE,KAAK,EAAE,CAAC;YAChB,MAAM,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,sCAAsC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAmC,CAAC;YACtH,IAAI,CAAC,GAAG;gBAAE,MAAM,IAAI,KAAK,CAAC,kBAAkB,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;YAC1D,IAAI,GAAG,CAAC,MAAM,KAAK,KAAK;gBAAE,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;QAC9E,CAAC;QAED,MAAM,EAAE,GAAG,IAAI,EAAE,CAAC;QAClB,IAAI,IAAI,CAAC,aAAa,CAAC,sBAAsB,CAAC,EAAE,CAAC;YAC/C,IAAI,CAAC,EAAE;iBACJ,OAAO,CACN;;4EAEkE,CACnE;iBACA,GAAG,CACF,EAAE,EACF,KAAK,EACL,SAAS,EACT,IAAI,EAAE,IAAI,IAAI,IAAI,EAClB,IAAI,EAAE,OAAO,IAAI,IAAI,EACrB,IAAI,EAAE,KAAK,IAAI,IAAI,EACnB,IAAI,EAAE,kBAAkB,IAAI,IAAI,EAChC,IAAI,EAAE,GAAG,IAAI,IAAI,EACjB,IAAI,EAAE,WAAW,IAAI,IAAI,EACzB,IAAI,EAAE,SAAS,IAAI,IAAI,EACvB,IAAI,EAAE,aAAa,IAAI,IAAI,EAC3B,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,EAC3D,IAAI,EAAE,KAAK,IAAI,IAAI,EACnB,IAAI,EAAE,QAAQ,IAAI,IAAI,EACtB,IAAI,EAAE,OAAO,IAAI,IAAI,EACrB,IAAI,EAAE,KAAK,IAAI,IAAI,EACnB,IAAI,EAAE,gBAAgB,IAAI,IAAI,EAC9B,IAAI,EAAE,mBAAmB,IAAI,IAAI,EACjC,IAAI,EAAE,gBAAgB,IAAI,IAAI,CAC/B,CAAC;QACN,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,EAAE;iBACJ,OAAO,CACN;;yEAE+D,CAChE;iBACA,GAAG,CACF,EAAE,EACF,KAAK,EACL,SAAS,EACT,IAAI,EAAE,IAAI,IAAI,IAAI,EAClB,IAAI,EAAE,OAAO,IAAI,IAAI,EACrB,IAAI,EAAE,KAAK,IAAI,IAAI,EACnB,IAAI,EAAE,GAAG,IAAI,IAAI,EACjB,IAAI,EAAE,WAAW,IAAI,IAAI,EACzB,IAAI,EAAE,SAAS,IAAI,IAAI,EACvB,IAAI,EAAE,aAAa,IAAI,IAAI,EAC3B,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,EAC3D,IAAI,EAAE,KAAK,IAAI,IAAI,EACnB,IAAI,EAAE,QAAQ,IAAI,IAAI,EACtB,IAAI,EAAE,OAAO,IAAI,IAAI,EACrB,IAAI,EAAE,KAAK,IAAI,IAAI,EACnB,IAAI,EAAE,gBAAgB,IAAI,IAAI,EAC9B,IAAI,EAAE,mBAAmB,IAAI,IAAI,EACjC,IAAI,EAAE,gBAAgB,IAAI,IAAI,CAC/B,CAAC;QACN,CAAC;QAED,OAAO,IAAI,CAAC,SAAS,CACnB,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,kCAAkC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAY,CACvE,CAAC;IACJ,CAAC;IAED,OAAO,CAAC,KAAa,EAAE,QAAgB,EAAE,QAAgB,EAAE,IAAY;QACrE,MAAM,EAAE,GAAG,IAAI,EAAE,CAAC;QAClB,IAAI,CAAC,EAAE;aACJ,OAAO,CACN,mFAAmF,CACpF;aACA,GAAG,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,CAAC;QAE5C,OAAO,IAAI,CAAC,SAAS,CACnB,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,kCAAkC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAY,CACvE,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,KAAa;QAClB,MAAM,MAAM,GAAG,IAAI,CAAC,EAAE;aACnB,OAAO,CAAC,iCAAiC,CAAC;aAC1C,GAAG,CAAC,KAAK,CAAuB,CAAC;QAEpC,IAAI,CAAC,MAAM;YAAE,OAAO,IAAI,CAAC;QAEzB,MAAM,QAAQ,GAAG,IAAI,CAAC,EAAE;aACrB,OAAO,CAAC,0DAA0D,CAAC;aACnE,GAAG,CAAC,KAAK,CAAc,CAAC;QAE3B,MAAM,QAAQ,GAAG,IAAI,CAAC,EAAE;aACrB,OAAO,CAAC,sCAAsC,CAAC;aAC/C,GAAG,CAAC,KAAK,CAAc,CAAC;QAE3B,MAAM,KAAK,GAAsB,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;YACpD,MAAM,UAAU,GAAG,IAAI,CAAC,EAAE;iBACvB,OAAO,CAAC,0CAA0C,CAAC;iBACnD,GAAG,CAAC,GAAG,CAAC,EAAE,CAA2B,CAAC;YAEzC,OAAO;gBACL,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC;gBACtB,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI;aAC3D,CAAC;QACJ,CAAC,CAAC,CAAC;QAEH,OAAO;YACL,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;YAC1B,KAAK;YACL,KAAK,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;SAC9C,CAAC;IACJ,CAAC;IAED,QAAQ;QACN,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE;aACjB,OAAO,CAAC,wCAAwC,CAAC;aACjD,GAAG,EAAc,CAAC;QACrB,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3C,CAAC;IAED;;;;OAIG;IACH,wBAAwB,CAAC,KAAa;QACpC,OAAO,wBAAwB,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;IAClD,CAAC;IAED,cAAc,CAAC,IAAY;QACzB,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE;aACjB,OAAO,CAAC,uDAAuD,CAAC;aAChE,GAAG,CAAC,IAAI,CAAa,CAAC;QACzB,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3C,CAAC;IAED,eAAe;QACb,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;;;;;;;;;;;;;;;KAgB5B,CAAC,CAAC,GAAG,EAAyJ,CAAC;QAEhK,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACtB,EAAE,EAAE,CAAC,CAAC,EAAE;YACR,IAAI,EAAE,CAAC,CAAC,IAAI;YACZ,SAAS,EAAE,CAAC,CAAC,UAAU;YACvB,WAAW,EAAE,CAAC,CAAC,YAAY,KAAK,CAAC;YACjC,gBAAgB,EAAE,CAAC,CAAC,kBAAkB;YACtC,gBAAgB,EAAE,CAAC,CAAC,kBAAkB;SACvC,CAAC,CAAC,CAAC;IACN,CAAC;IAED,SAAS,CAAC,KAAa;QACrB,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,+BAA+B,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IAC9D,CAAC;IAED,UAAU,CAAC,MAAc;QACvB,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,gCAAgC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAChE,CAAC;IAED,iBAAiB,CAAC,KAAa,EAAE,MAA8B;QAC7D,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACrC,MAAM,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;QAChE,MAAM,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,oCAAoC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAiC,CAAC;QAC7G,IAAI,CAAC,GAAG;YAAE,MAAM,IAAI,KAAK,CAAC,kBAAkB,KAAK,EAAE,CAAC,CAAC;QACrD,MAAM,WAAW,GAAG,MAAM,CAAC,WAAW,IAAI,wBAAwB,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC7E,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;;;;;;;;;;;;;;;;;;;KAoBf,CAAC,CAAC,GAAG,CACJ,KAAK,EACL,MAAM,CAAC,IAAI,EACX,MAAM,CAAC,QAAQ,EACf,MAAM,CAAC,OAAO,EACd,WAAW,EACX,WAAW,EACX,MAAM,CAAC,iBAAiB,IAAI,IAAI,EAChC,GAAG,EACH,GAAG,CACJ,CAAC;QAEF,MAAM,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,6CAA6C,CAAC,CAAC,GAAG,CAAC,KAAK,CAA+B,CAAC;QACvH,IAAI,CAAC,MAAM;YAAE,MAAM,IAAI,KAAK,CAAC,6CAA6C,KAAK,EAAE,CAAC,CAAC;QACnF,OAAO,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;IAC1C,CAAC;IAED,iBAAiB,CAAC,KAAa;QAC7B,MAAM,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,6CAA6C,CAAC,CAAC,GAAG,CAAC,KAAK,CAA+B,CAAC;QACpH,OAAO,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IACpD,CAAC;IAED,qBAAqB,CAAC,KAAa,EAAE,iBAAgC;QACnE,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QACrC,MAAM,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC;;;;KAI9B,CAAC,CAAC,GAAG,CAAC,iBAAiB,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;QAEtC,IAAI,MAAM,CAAC,OAAO,KAAK,CAAC;YAAE,OAAO,IAAI,CAAC;QACtC,OAAO,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;IACvC,CAAC;IAED,8BAA8B;IAEtB,QAAQ,CAAC,GAAW;QAC1B,OAAO;YACL,EAAE,EAAE,GAAG,CAAC,EAAE;YACV,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,SAAS,EAAE,GAAG,CAAC,UAAU;YACzB,SAAS,EAAE,GAAG,CAAC,UAAU;SAC1B,CAAC;IACJ,CAAC;IAEO,SAAS,CAAC,GAAY;QAC5B,OAAO;YACL,EAAE,EAAE,GAAG,CAAC,EAAE;YACV,KAAK,EAAE,GAAG,CAAC,MAAM;YACjB,SAAS,EAAE,GAAG,CAAC,UAAU;YACzB,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,OAAO,EAAE,GAAG,CAAC,OAAO;YACpB,KAAK,EAAE,GAAG,CAAC,KAAK;YAChB,kBAAkB,EAAE,GAAG,CAAC,oBAAoB,IAAI,IAAI;YACpD,GAAG,EAAE,GAAG,CAAC,GAAG;YACZ,WAAW,EAAE,GAAG,CAAC,YAAY,IAAI,IAAI;YACrC,SAAS,EAAE,GAAG,CAAC,SAAS,IAAI,IAAI;YAChC,aAAa,EAAE,GAAG,CAAC,cAAc,IAAI,IAAI;YACzC,WAAW,EAAE,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,YAAY,CAAa,CAAC,CAAC,CAAC,EAAE;YAC7E,KAAK,EAAE,GAAG,CAAC,MAAM,IAAI,IAAI;YACzB,QAAQ,EAAE,GAAG,CAAC,SAAS,IAAI,IAAI;YAC/B,OAAO,EAAE,GAAG,CAAC,OAAO,IAAI,IAAI;YAC5B,KAAK,EAAE,GAAG,CAAC,KAAK,IAAI,IAAI;YACxB,gBAAgB,EAAE,GAAG,CAAC,kBAAkB,IAAI,IAAI;YAChD,mBAAmB,EAAE,GAAG,CAAC,qBAAqB,IAAI,IAAI;YACtD,gBAAgB,EAAE,GAAG,CAAC,kBAAkB,IAAI,IAAI;YAChD,iBAAiB,EAAE,GAAG,CAAC,kBAA+C,IAAI,IAAI;YAC9E,iBAAiB,EAAE,GAAG,CAAC,kBAA+C,IAAI,IAAI;YAC9E,cAAc,EAAE,GAAG,CAAC,eAAyC,IAAI,IAAI;YACrE,gBAAgB,EAAE,GAAG,CAAC,iBAAiB,IAAI,IAAI;YAC/C,UAAU,EAAE,GAAG,CAAC,WAAW,IAAI,IAAI;YACnC,SAAS,EAAE,GAAG,CAAC,UAAU;SAC1B,CAAC;IACJ,CAAC;IAEO,SAAS,CAAC,GAAY;QAC5B,OAAO;YACL,EAAE,EAAE,GAAG,CAAC,EAAE;YACV,KAAK,EAAE,GAAG,CAAC,MAAM;YACjB,QAAQ,EAAE,GAAG,CAAC,SAAS;YACvB,QAAQ,EAAE,GAAG,CAAC,SAAS;YACvB,IAAI,EAAE,GAAG,CAAC,IAAI;YACd,SAAS,EAAE,GAAG,CAAC,UAAU;SAC1B,CAAC;IACJ,CAAC;IAEO,YAAY,CAAC,GAAe;QAClC,OAAO;YACL,EAAE,EAAE,GAAG,CAAC,EAAE;YACV,MAAM,EAAE,GAAG,CAAC,OAAO;YACnB,cAAc,EAAG,GAAG,CAAC,eAA6C,IAAI,MAAM;YAC5E,WAAW,EAAE,GAAG,CAAC,YAAY;YAC7B,UAAU,EAAE,GAAG,CAAC,WAAW;YAC3B,QAAQ,EAAE,GAAG,CAAC,SAAS;YACvB,mBAAmB,EAAE,GAAG,CAAC,qBAAqB,IAAI,IAAI;YACtD,aAAa,EAAE,GAAG,CAAC,cAAc;YACjC,WAAW,EAAE,GAAG,CAAC,YAAY;YAC7B,SAAS,EAAE,GAAG,CAAC,UAAU;SAC1B,CAAC;IACJ,CAAC;IAEO,mBAAmB,CAAC,GAAmB;QAC7C,OAAO;YACL,KAAK,EAAE,GAAG,CAAC,MAAM;YACjB,IAAI,EAAE,GAAG,CAAC,IAAiB;YAC3B,QAAQ,EAAE,GAAG,CAAC,SAAS;YACvB,OAAO,EAAE,GAAG,CAAC,QAAQ;YACrB,WAAW,EAAE,GAAG,CAAC,YAAY;YAC7B,WAAW,EAAE,GAAG,CAAC,YAAY;YAC7B,iBAAiB,EAAE,GAAG,CAAC,mBAAmB,IAAI,IAAI;YAClD,SAAS,EAAE,GAAG,CAAC,UAAU;YACzB,SAAS,EAAE,GAAG,CAAC,UAAU;SAC1B,CAAC;IACJ,CAAC;IAEO,aAAa,CAAC,UAAkB;QACtC,OAAO,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,0BAA0B,CAAC,CAAC,GAAG,EAAE;aACrD,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAE,GAAyB,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC;IACnE,CAAC;CACF"}
1
+ {"version":3,"file":"rig-repository.js","sourceRoot":"","sources":["../../src/domain/rig-repository.ts"],"names":[],"mappings":"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"}
@@ -29,6 +29,7 @@ export declare class RigInstantiator {
29
29
  import { type AgentResolverFsOps } from "./agent-resolver.js";
30
30
  import { StartupOrchestrator } from "./startup-orchestrator.js";
31
31
  import { PodRepository } from "./pod-repository.js";
32
+ import type { RigSpec as PodRigSpec, RigSpecPod, RigSpecPodMember } from "./types.js";
32
33
  import type { RuntimeAdapter } from "./runtime-adapter.js";
33
34
  import type { TmuxAdapter } from "../adapters/tmux.js";
34
35
  interface PodInstantiatorDeps {
@@ -109,6 +110,70 @@ export type LaunchMaterializedOutcome = {
109
110
  code: "target_rig_not_found";
110
111
  message: string;
111
112
  };
113
+ /** A pod-local edge declared alongside an added member (from/to are member ids
114
+ * within the pod; resolved against the new member + existing pod-mates). */
115
+ export interface AddMemberEdge {
116
+ from: string;
117
+ to: string;
118
+ kind: string;
119
+ }
120
+ export interface AddMemberResult {
121
+ podId: string;
122
+ podNamespace: string;
123
+ node: {
124
+ logicalId: string;
125
+ nodeId: string;
126
+ status: "launched" | "failed" | "attention_required";
127
+ error?: string;
128
+ sessionName?: string;
129
+ };
130
+ /** Pod-local edges persisted with the add (empty when none declared). The
131
+ * endpoints are qualified logical ids. Edges carry no runtime behavior yet
132
+ * (OPR.0.3.3.24 fence) - they record declared topology intent. */
133
+ edges: Array<{
134
+ from: string;
135
+ to: string;
136
+ kind: string;
137
+ }>;
138
+ warnings?: string[];
139
+ }
140
+ /**
141
+ * Outcome of the `add_member` converge op (OPR.0.3.3.24). Mirrors the
142
+ * MaterializeOutcome error vocabulary where it overlaps (validation_failed /
143
+ * preflight_failed) and adds the add-member-specific honest codes
144
+ * (rig_not_found / pod_not_found / member_conflict / edge_unresolved). Every
145
+ * failure carries a human-actionable message or error list (the 3-part
146
+ * honest-error contract that the converge interface surfaces to CLI + MCP).
147
+ */
148
+ export type AddMemberOutcome = {
149
+ ok: true;
150
+ result: AddMemberResult;
151
+ } | {
152
+ ok: false;
153
+ code: "rig_not_found";
154
+ message: string;
155
+ } | {
156
+ ok: false;
157
+ code: "pod_not_found";
158
+ message: string;
159
+ } | {
160
+ ok: false;
161
+ code: "member_conflict";
162
+ message: string;
163
+ } | {
164
+ ok: false;
165
+ code: "edge_unresolved";
166
+ message: string;
167
+ } | {
168
+ ok: false;
169
+ code: "validation_failed";
170
+ errors: string[];
171
+ } | {
172
+ ok: false;
173
+ code: "preflight_failed";
174
+ errors: string[];
175
+ warnings: string[];
176
+ };
112
177
  /**
113
178
  * Pod-aware rig instantiator. Creates pods, nodes, edges, and runs
114
179
  * startup orchestration per node with resolved agent specs.
@@ -122,7 +187,73 @@ export declare class PodRigInstantiator {
122
187
  suppressSummaryEvent?: boolean;
123
188
  cwdOverride?: string;
124
189
  }): Promise<MaterializeOutcome>;
190
+ /**
191
+ * materialize with a STRUCTURED front (OPR.0.3.3.24): the YAML-free sibling of
192
+ * materialize(). Runs the SAME front-end (validate + preflight, via the
193
+ * preflight CORE using this adapter's fsOps) on an already-built raw spec
194
+ * OBJECT, then the persistence core - so `expand` (and the add_member op) drop
195
+ * the synthetic-spec YAML round-trip. Byte-identical to materialize(yaml): same
196
+ * validate(externalQualifiedIds), same preflight checks, same MaterializeOutcome
197
+ * error codes (validation_failed / preflight_failed / target_rig_not_found /
198
+ * materialize_conflict). fsOps stays encapsulated here (the expansion service
199
+ * has none) - this wrapper is mechanics only, no behaviour/layering change.
200
+ */
201
+ materializeStructured(raw: unknown, rigRoot: string, opts?: {
202
+ targetRigId?: string;
203
+ suppressSummaryEvent?: boolean;
204
+ cwdOverride?: string;
205
+ }): Promise<MaterializeOutcome>;
206
+ /**
207
+ * materialize CORE (OPR.0.3.3.24): the persistence body of materialize, taking
208
+ * an already-parsed + validated + preflighted PodRigSpec. Creates pods +
209
+ * member nodes (via the create-node primitive) + edges + events in one
210
+ * transaction. Parse/validate/preflight is the caller's separable front-end
211
+ * (materialize() for YAML; expand/add_member build + validate a structured
212
+ * spec). This is the cut that lets `expand` drop its synthetic-spec hack and
213
+ * `add_member` reuse the exact create path — create+launch only, no identity
214
+ * migration.
215
+ */
216
+ materializeValidatedSpec(rigSpec: PodRigSpec, rigRoot: string, opts?: {
217
+ targetRigId?: string;
218
+ suppressSummaryEvent?: boolean;
219
+ cwdOverride?: string;
220
+ }): Promise<MaterializeOutcome>;
125
221
  launchMaterialized(rigSpecYaml: string, rigRoot: string, targetRigId: string): Promise<LaunchMaterializedOutcome>;
222
+ /**
223
+ * launch CORE (OPR.0.3.3.24): given an already-parsed+validated spec whose
224
+ * nodes are already materialized, compute launch order and bring each node
225
+ * live via the launch-binding primitive. Extracted from launchMaterialized so
226
+ * `expand` (and the add_member op) launch a structured spec WITHOUT a YAML
227
+ * round-trip; launchMaterialized(yaml) is the parse/validate/normalize front
228
+ * over it. Behaviour identical (loop body relocated verbatim).
229
+ */
230
+ launchValidatedSpec(rigSpec: PodRigSpec, rigRoot: string, targetRigId: string): Promise<LaunchMaterializedOutcome>;
231
+ /**
232
+ * add_member converge op (OPR.0.3.3.24): add a single MEMBER to an EXISTING
233
+ * pod in a live rig, composing the two extracted primitives — createMemberNode
234
+ * (create-node) + launchBinding (launch-binding) — WITHOUT createPod and
235
+ * WITHOUT fabricating a synthetic rig spec.
236
+ *
237
+ * Identity-migration-FREE: the new node mints a fresh node id + fresh logical
238
+ * id + fresh `@rigged_*` at launch; no existing seat's logical id,
239
+ * continuity_state, queue routing, or session is re-keyed. This is the
240
+ * source-visible fault line that lets add_member ship while move/fork wait for
241
+ * the 0.4.0 identity stack.
242
+ *
243
+ * Versus materialize: this does NOT call materializeValidatedSpec (which always
244
+ * createPods and carries the pod-exists conflict guard). It resolves the
245
+ * EXISTING pod's DB id via `podRepo.getPodByNamespace` and creates the one node
246
+ * directly under it. The pod-exists guard is lifted (adding to a live pod is
247
+ * not a conflict); the per-member duplicate-logical-id guard is KEPT (AC-3).
248
+ */
249
+ addMemberToPod(rigId: string, podNamespace: string, memberFragment: Record<string, unknown>, rigRoot: string, opts?: {
250
+ cwdOverride?: string;
251
+ edges?: Array<{
252
+ from: string;
253
+ to: string;
254
+ kind: string;
255
+ }>;
256
+ }): Promise<AddMemberOutcome>;
126
257
  instantiate(rigSpecYaml: string, rigRoot: string, opts?: {
127
258
  cwdOverride?: string;
128
259
  prelaunchHook?: (rigId: string) => Promise<{
@@ -136,6 +267,51 @@ export declare class PodRigInstantiator {
136
267
  private computePodLaunchOrder;
137
268
  private processTerminalMember;
138
269
  private findMemberContext;
270
+ /**
271
+ * create-node primitive (OPR.0.3.3.24): mint a fresh node row for one member
272
+ * (fresh stable id + fresh qualified logical id, `pod_id` = the given pod) plus
273
+ * the matching `node.added` event. Extracted from materialize's loop so the
274
+ * `add_member` converge op and a de-YAML'd `expand` create a member node
275
+ * WITHOUT fabricating a synthetic rig spec. Identity-migration-FREE: addNode
276
+ * mints a brand-new identity; nothing existing re-keys. The caller pushes the
277
+ * returned `event` into its transaction's persisted-events list.
278
+ */
279
+ createMemberNode(input: {
280
+ rigId: string;
281
+ qualifiedId: string;
282
+ member: RigSpecPodMember;
283
+ podId: string;
284
+ rigRoot: string;
285
+ cwdOverride?: string;
286
+ }): {
287
+ node: import("./types.js").Node;
288
+ event: import("./types.js").PersistedEvent;
289
+ };
290
+ /**
291
+ * launch-binding primitive (OPR.0.3.3.24): given an already-created node and
292
+ * its member context, bring it fully live — harness launch + startup
293
+ * projection + delivery + readiness + `@rigged_*` metadata. Dispatches the
294
+ * terminal vs agent launch path. Extracted as an independently-callable
295
+ * primitive so launchMaterialized's loop, `expand`, and the `add_member`
296
+ * converge op all launch a node WITHOUT fabricating a synthetic rig spec.
297
+ * Behaviour is identical to the prior inline dispatch.
298
+ */
299
+ launchBinding(input: {
300
+ rigId: string;
301
+ rigSpec: PodRigSpec;
302
+ rigRoot: string;
303
+ pod: RigSpecPod;
304
+ member: RigSpecPodMember;
305
+ qualifiedId: string;
306
+ nodeId: string;
307
+ cwdOverride?: string;
308
+ }): Promise<{
309
+ status: "launched" | "failed" | "attention_required";
310
+ error?: string;
311
+ evidence?: string;
312
+ sessionName?: string;
313
+ warnings?: string[];
314
+ }>;
139
315
  private launchExistingAgentMember;
140
316
  private launchExistingTerminalMember;
141
317
  private updateNodeResolvedConfig;