@openrig/cli 0.3.1 → 0.3.2

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 (264) hide show
  1. package/daemon/assets/plugins/openrig-core/skills/forming-an-openrig-mental-model/SKILL.md +1 -1
  2. package/daemon/dist/adapters/codex-runtime-adapter.d.ts.map +1 -1
  3. package/daemon/dist/adapters/codex-runtime-adapter.js +2 -1
  4. package/daemon/dist/adapters/codex-runtime-adapter.js.map +1 -1
  5. package/daemon/dist/adapters/tmux.d.ts +36 -0
  6. package/daemon/dist/adapters/tmux.d.ts.map +1 -1
  7. package/daemon/dist/adapters/tmux.js +66 -0
  8. package/daemon/dist/adapters/tmux.js.map +1 -1
  9. package/daemon/dist/db/migrations/037_mission_control_actions.d.ts +5 -1
  10. package/daemon/dist/db/migrations/037_mission_control_actions.d.ts.map +1 -1
  11. package/daemon/dist/db/migrations/037_mission_control_actions.js +5 -1
  12. package/daemon/dist/db/migrations/037_mission_control_actions.js.map +1 -1
  13. package/daemon/dist/db/migrations/041_rig_policy.d.ts +32 -0
  14. package/daemon/dist/db/migrations/041_rig_policy.d.ts.map +1 -0
  15. package/daemon/dist/db/migrations/041_rig_policy.js +47 -0
  16. package/daemon/dist/db/migrations/041_rig_policy.js.map +1 -0
  17. package/daemon/dist/domain/agent-images/resume-token-discovery.js +1 -1
  18. package/daemon/dist/domain/agent-images/resume-token-discovery.js.map +1 -1
  19. package/daemon/dist/domain/agent-images/snapshot-capturer.d.ts.map +1 -1
  20. package/daemon/dist/domain/agent-images/snapshot-capturer.js +2 -1
  21. package/daemon/dist/domain/agent-images/snapshot-capturer.js.map +1 -1
  22. package/daemon/dist/domain/agent-manifest.js +27 -0
  23. package/daemon/dist/domain/agent-manifest.js.map +1 -1
  24. package/daemon/dist/domain/bootstrap-orchestrator.d.ts.map +1 -1
  25. package/daemon/dist/domain/bootstrap-orchestrator.js +86 -6
  26. package/daemon/dist/domain/bootstrap-orchestrator.js.map +1 -1
  27. package/daemon/dist/domain/bundle-agent-images-router.d.ts +95 -0
  28. package/daemon/dist/domain/bundle-agent-images-router.d.ts.map +1 -0
  29. package/daemon/dist/domain/bundle-agent-images-router.js +140 -0
  30. package/daemon/dist/domain/bundle-agent-images-router.js.map +1 -0
  31. package/daemon/dist/domain/bundle-assembler.d.ts +18 -1
  32. package/daemon/dist/domain/bundle-assembler.d.ts.map +1 -1
  33. package/daemon/dist/domain/bundle-assembler.js +11 -1
  34. package/daemon/dist/domain/bundle-assembler.js.map +1 -1
  35. package/daemon/dist/domain/bundle-audit.d.ts +89 -0
  36. package/daemon/dist/domain/bundle-audit.d.ts.map +1 -0
  37. package/daemon/dist/domain/bundle-audit.js +87 -0
  38. package/daemon/dist/domain/bundle-audit.js.map +1 -0
  39. package/daemon/dist/domain/bundle-conflict-detector.d.ts +57 -0
  40. package/daemon/dist/domain/bundle-conflict-detector.d.ts.map +1 -0
  41. package/daemon/dist/domain/bundle-conflict-detector.js +49 -0
  42. package/daemon/dist/domain/bundle-conflict-detector.js.map +1 -0
  43. package/daemon/dist/domain/bundle-context-packs-router.d.ts +100 -0
  44. package/daemon/dist/domain/bundle-context-packs-router.d.ts.map +1 -0
  45. package/daemon/dist/domain/bundle-context-packs-router.js +158 -0
  46. package/daemon/dist/domain/bundle-context-packs-router.js.map +1 -0
  47. package/daemon/dist/domain/bundle-plugins-router.d.ts +69 -0
  48. package/daemon/dist/domain/bundle-plugins-router.d.ts.map +1 -0
  49. package/daemon/dist/domain/bundle-plugins-router.js +87 -0
  50. package/daemon/dist/domain/bundle-plugins-router.js.map +1 -0
  51. package/daemon/dist/domain/bundle-skills-router.d.ts +62 -0
  52. package/daemon/dist/domain/bundle-skills-router.d.ts.map +1 -0
  53. package/daemon/dist/domain/bundle-skills-router.js +90 -0
  54. package/daemon/dist/domain/bundle-skills-router.js.map +1 -0
  55. package/daemon/dist/domain/bundle-types.d.ts +106 -0
  56. package/daemon/dist/domain/bundle-types.d.ts.map +1 -1
  57. package/daemon/dist/domain/bundle-types.js +375 -0
  58. package/daemon/dist/domain/bundle-types.js.map +1 -1
  59. package/daemon/dist/domain/bundle-workflow-specs-router.d.ts +94 -0
  60. package/daemon/dist/domain/bundle-workflow-specs-router.d.ts.map +1 -0
  61. package/daemon/dist/domain/bundle-workflow-specs-router.js +144 -0
  62. package/daemon/dist/domain/bundle-workflow-specs-router.js.map +1 -0
  63. package/daemon/dist/domain/context-monitor.d.ts +5 -1
  64. package/daemon/dist/domain/context-monitor.d.ts.map +1 -1
  65. package/daemon/dist/domain/context-monitor.js +28 -15
  66. package/daemon/dist/domain/context-monitor.js.map +1 -1
  67. package/daemon/dist/domain/graph-projection.d.ts +6 -0
  68. package/daemon/dist/domain/graph-projection.d.ts.map +1 -1
  69. package/daemon/dist/domain/graph-projection.js +6 -0
  70. package/daemon/dist/domain/graph-projection.js.map +1 -1
  71. package/daemon/dist/domain/native-resume-probe.js +7 -7
  72. package/daemon/dist/domain/native-resume-probe.js.map +1 -1
  73. package/daemon/dist/domain/node-inventory.d.ts +18 -0
  74. package/daemon/dist/domain/node-inventory.d.ts.map +1 -1
  75. package/daemon/dist/domain/node-inventory.js +98 -0
  76. package/daemon/dist/domain/node-inventory.js.map +1 -1
  77. package/daemon/dist/domain/node-launcher.d.ts +12 -0
  78. package/daemon/dist/domain/node-launcher.d.ts.map +1 -1
  79. package/daemon/dist/domain/node-launcher.js +25 -1
  80. package/daemon/dist/domain/node-launcher.js.map +1 -1
  81. package/daemon/dist/domain/pod-bundle-assembler.d.ts +16 -1
  82. package/daemon/dist/domain/pod-bundle-assembler.d.ts.map +1 -1
  83. package/daemon/dist/domain/pod-bundle-assembler.js +11 -1
  84. package/daemon/dist/domain/pod-bundle-assembler.js.map +1 -1
  85. package/daemon/dist/domain/profile-resolver.d.ts +10 -0
  86. package/daemon/dist/domain/profile-resolver.d.ts.map +1 -1
  87. package/daemon/dist/domain/profile-resolver.js +4 -0
  88. package/daemon/dist/domain/profile-resolver.js.map +1 -1
  89. package/daemon/dist/domain/ps-projection.d.ts +22 -0
  90. package/daemon/dist/domain/ps-projection.d.ts.map +1 -1
  91. package/daemon/dist/domain/ps-projection.js +57 -0
  92. package/daemon/dist/domain/ps-projection.js.map +1 -1
  93. package/daemon/dist/domain/queue-repository.d.ts +37 -1
  94. package/daemon/dist/domain/queue-repository.d.ts.map +1 -1
  95. package/daemon/dist/domain/queue-repository.js +99 -2
  96. package/daemon/dist/domain/queue-repository.js.map +1 -1
  97. package/daemon/dist/domain/restore-check-service.d.ts +4 -0
  98. package/daemon/dist/domain/restore-check-service.d.ts.map +1 -1
  99. package/daemon/dist/domain/restore-check-service.js +16 -7
  100. package/daemon/dist/domain/restore-check-service.js.map +1 -1
  101. package/daemon/dist/domain/rig-policy/rig-policy-defaults.d.ts +48 -0
  102. package/daemon/dist/domain/rig-policy/rig-policy-defaults.d.ts.map +1 -0
  103. package/daemon/dist/domain/rig-policy/rig-policy-defaults.js +96 -0
  104. package/daemon/dist/domain/rig-policy/rig-policy-defaults.js.map +1 -0
  105. package/daemon/dist/domain/rig-policy/rig-policy-store.d.ts +46 -0
  106. package/daemon/dist/domain/rig-policy/rig-policy-store.d.ts.map +1 -0
  107. package/daemon/dist/domain/rig-policy/rig-policy-store.js +171 -0
  108. package/daemon/dist/domain/rig-policy/rig-policy-store.js.map +1 -0
  109. package/daemon/dist/domain/rig-policy/rig-policy-types.d.ts +145 -0
  110. package/daemon/dist/domain/rig-policy/rig-policy-types.d.ts.map +1 -0
  111. package/daemon/dist/domain/rig-policy/rig-policy-types.js +52 -0
  112. package/daemon/dist/domain/rig-policy/rig-policy-types.js.map +1 -0
  113. package/daemon/dist/domain/rig-policy/rig-policy-validator.d.ts +58 -0
  114. package/daemon/dist/domain/rig-policy/rig-policy-validator.d.ts.map +1 -0
  115. package/daemon/dist/domain/rig-policy/rig-policy-validator.js +211 -0
  116. package/daemon/dist/domain/rig-policy/rig-policy-validator.js.map +1 -0
  117. package/daemon/dist/domain/rigspec-instantiator.d.ts +1 -1
  118. package/daemon/dist/domain/rigspec-instantiator.d.ts.map +1 -1
  119. package/daemon/dist/domain/rigspec-instantiator.js +109 -18
  120. package/daemon/dist/domain/rigspec-instantiator.js.map +1 -1
  121. package/daemon/dist/domain/seat-activity-service.d.ts +79 -0
  122. package/daemon/dist/domain/seat-activity-service.d.ts.map +1 -0
  123. package/daemon/dist/domain/seat-activity-service.js +123 -0
  124. package/daemon/dist/domain/seat-activity-service.js.map +1 -0
  125. package/daemon/dist/domain/slices/slice-indexer.d.ts +12 -0
  126. package/daemon/dist/domain/slices/slice-indexer.d.ts.map +1 -1
  127. package/daemon/dist/domain/slices/slice-indexer.js +23 -0
  128. package/daemon/dist/domain/slices/slice-indexer.js.map +1 -1
  129. package/daemon/dist/domain/spec-library-service.d.ts.map +1 -1
  130. package/daemon/dist/domain/spec-library-service.js +19 -0
  131. package/daemon/dist/domain/spec-library-service.js.map +1 -1
  132. package/daemon/dist/domain/types.d.ts +79 -3
  133. package/daemon/dist/domain/types.d.ts.map +1 -1
  134. package/daemon/dist/domain/types.js.map +1 -1
  135. package/daemon/dist/domain/workflow-spec-cache.d.ts +22 -0
  136. package/daemon/dist/domain/workflow-spec-cache.d.ts.map +1 -1
  137. package/daemon/dist/domain/workflow-spec-cache.js +37 -0
  138. package/daemon/dist/domain/workflow-spec-cache.js.map +1 -1
  139. package/daemon/dist/domain/workspace/default-workspace-scaffold.d.ts +7 -0
  140. package/daemon/dist/domain/workspace/default-workspace-scaffold.d.ts.map +1 -1
  141. package/daemon/dist/domain/workspace/default-workspace-scaffold.js +156 -3
  142. package/daemon/dist/domain/workspace/default-workspace-scaffold.js.map +1 -1
  143. package/daemon/dist/domain/workspace/workspace-doctor.d.ts +197 -0
  144. package/daemon/dist/domain/workspace/workspace-doctor.d.ts.map +1 -0
  145. package/daemon/dist/domain/workspace/workspace-doctor.js +448 -0
  146. package/daemon/dist/domain/workspace/workspace-doctor.js.map +1 -0
  147. package/daemon/dist/index.d.ts.map +1 -1
  148. package/daemon/dist/index.js +11 -0
  149. package/daemon/dist/index.js.map +1 -1
  150. package/daemon/dist/routes/bundles.d.ts.map +1 -1
  151. package/daemon/dist/routes/bundles.js +966 -7
  152. package/daemon/dist/routes/bundles.js.map +1 -1
  153. package/daemon/dist/routes/config.d.ts.map +1 -1
  154. package/daemon/dist/routes/config.js +19 -2
  155. package/daemon/dist/routes/config.js.map +1 -1
  156. package/daemon/dist/routes/info.d.ts +3 -0
  157. package/daemon/dist/routes/info.d.ts.map +1 -0
  158. package/daemon/dist/routes/info.js +20 -0
  159. package/daemon/dist/routes/info.js.map +1 -0
  160. package/daemon/dist/routes/queue.d.ts +18 -0
  161. package/daemon/dist/routes/queue.d.ts.map +1 -1
  162. package/daemon/dist/routes/queue.js +97 -5
  163. package/daemon/dist/routes/queue.js.map +1 -1
  164. package/daemon/dist/routes/rig-policy.d.ts +9 -0
  165. package/daemon/dist/routes/rig-policy.d.ts.map +1 -0
  166. package/daemon/dist/routes/rig-policy.js +174 -0
  167. package/daemon/dist/routes/rig-policy.js.map +1 -0
  168. package/daemon/dist/routes/rigs.d.ts.map +1 -1
  169. package/daemon/dist/routes/rigs.js +10 -2
  170. package/daemon/dist/routes/rigs.js.map +1 -1
  171. package/daemon/dist/routes/sessions.d.ts.map +1 -1
  172. package/daemon/dist/routes/sessions.js +26 -3
  173. package/daemon/dist/routes/sessions.js.map +1 -1
  174. package/daemon/dist/routes/up.d.ts +25 -0
  175. package/daemon/dist/routes/up.d.ts.map +1 -1
  176. package/daemon/dist/routes/up.js +70 -3
  177. package/daemon/dist/routes/up.js.map +1 -1
  178. package/daemon/dist/routes/workspace.d.ts.map +1 -1
  179. package/daemon/dist/routes/workspace.js +80 -1
  180. package/daemon/dist/routes/workspace.js.map +1 -1
  181. package/daemon/dist/server.d.ts +10 -0
  182. package/daemon/dist/server.d.ts.map +1 -1
  183. package/daemon/dist/server.js +11 -0
  184. package/daemon/dist/server.js.map +1 -1
  185. package/daemon/dist/startup.d.ts.map +1 -1
  186. package/daemon/dist/startup.js +45 -4
  187. package/daemon/dist/startup.js.map +1 -1
  188. package/daemon/specs/agents/orchestration/orchestrator/guidance/role.md +28 -4
  189. package/daemon/specs/agents/shared/skills/core/openrig-user/SKILL.md +285 -8
  190. package/daemon/specs/agents/shared/skills/core/rig-lifecycle/SKILL.md +2 -2
  191. package/daemon/specs/rigs/launch/conveyor/rig.yaml +1 -1
  192. package/dist/client.d.ts +3 -0
  193. package/dist/client.d.ts.map +1 -1
  194. package/dist/client.js +13 -1
  195. package/dist/client.js.map +1 -1
  196. package/dist/commands/bundle.d.ts.map +1 -1
  197. package/dist/commands/bundle.js +123 -2
  198. package/dist/commands/bundle.js.map +1 -1
  199. package/dist/commands/config-init-workspace.d.ts.map +1 -1
  200. package/dist/commands/config-init-workspace.js +40 -5
  201. package/dist/commands/config-init-workspace.js.map +1 -1
  202. package/dist/commands/ps.d.ts.map +1 -1
  203. package/dist/commands/ps.js +51 -8
  204. package/dist/commands/ps.js.map +1 -1
  205. package/dist/commands/queue.d.ts +6 -0
  206. package/dist/commands/queue.d.ts.map +1 -1
  207. package/dist/commands/queue.js +103 -5
  208. package/dist/commands/queue.js.map +1 -1
  209. package/dist/commands/rig-policy.d.ts +48 -0
  210. package/dist/commands/rig-policy.d.ts.map +1 -0
  211. package/dist/commands/rig-policy.js +429 -0
  212. package/dist/commands/rig-policy.js.map +1 -0
  213. package/dist/commands/scope.d.ts +6 -0
  214. package/dist/commands/scope.d.ts.map +1 -0
  215. package/dist/commands/scope.js +659 -0
  216. package/dist/commands/scope.js.map +1 -0
  217. package/dist/commands/up.d.ts.map +1 -1
  218. package/dist/commands/up.js +47 -0
  219. package/dist/commands/up.js.map +1 -1
  220. package/dist/commands/workflow.d.ts +9 -0
  221. package/dist/commands/workflow.d.ts.map +1 -1
  222. package/dist/commands/workflow.js +139 -1
  223. package/dist/commands/workflow.js.map +1 -1
  224. package/dist/commands/workspace.d.ts +20 -0
  225. package/dist/commands/workspace.d.ts.map +1 -1
  226. package/dist/commands/workspace.js +138 -7
  227. package/dist/commands/workspace.js.map +1 -1
  228. package/dist/daemon-lifecycle.d.ts +25 -1
  229. package/dist/daemon-lifecycle.d.ts.map +1 -1
  230. package/dist/daemon-lifecycle.js +33 -2
  231. package/dist/daemon-lifecycle.js.map +1 -1
  232. package/dist/index.d.ts +2 -0
  233. package/dist/index.d.ts.map +1 -1
  234. package/dist/index.js +5 -0
  235. package/dist/index.js.map +1 -1
  236. package/dist/lib/scope/dot-id.d.ts +43 -0
  237. package/dist/lib/scope/dot-id.d.ts.map +1 -0
  238. package/dist/lib/scope/dot-id.js +165 -0
  239. package/dist/lib/scope/dot-id.js.map +1 -0
  240. package/dist/lib/scope/scope-fs.d.ts +79 -0
  241. package/dist/lib/scope/scope-fs.d.ts.map +1 -0
  242. package/dist/lib/scope/scope-fs.js +468 -0
  243. package/dist/lib/scope/scope-fs.js.map +1 -0
  244. package/dist/lib/scope/templates.d.ts +38 -0
  245. package/dist/lib/scope/templates.d.ts.map +1 -0
  246. package/dist/lib/scope/templates.js +109 -0
  247. package/dist/lib/scope/templates.js.map +1 -0
  248. package/dist/lib/scope/types.d.ts +61 -0
  249. package/dist/lib/scope/types.d.ts.map +1 -0
  250. package/dist/lib/scope/types.js +38 -0
  251. package/dist/lib/scope/types.js.map +1 -0
  252. package/dist/lib/scope-templates/backlog-deprecation.md +26 -0
  253. package/dist/lib/scope-templates/backlog-tech-debt.md +22 -0
  254. package/dist/lib/scope-templates/bug-fix.md +30 -0
  255. package/dist/lib/scope-templates/mission-notes.md +97 -0
  256. package/dist/lib/scope-templates/mission-placeholder.md +20 -0
  257. package/dist/lib/scope-templates/mission-release.md +25 -0
  258. package/dist/lib/scope-templates/placeholder.md +30 -0
  259. package/dist/lib/scope-templates/release-feature.md +26 -0
  260. package/dist/lib/scope-templates/research.md +22 -0
  261. package/package.json +2 -2
  262. package/ui/dist/assets/index-GjTxfi9S.js +547 -0
  263. package/ui/dist/index.html +1 -1
  264. package/ui/dist/assets/index-Rl3ZBrUg.js +0 -547
@@ -1,4 +1,316 @@
1
1
  import { parse as parseYaml, stringify as stringifyYaml } from "yaml";
2
+ const PROVENANCE_STRING_FIELDS = [
3
+ "created_at",
4
+ "source_host",
5
+ "author_session",
6
+ "source_rig_id",
7
+ "source_rig_name",
8
+ "daemon_version",
9
+ "cli_version",
10
+ "notes",
11
+ ];
12
+ /** Validate optional provenance block. Appends to errors if present-but-malformed. */
13
+ function validateProvenanceBlock(raw, errors) {
14
+ if (raw === undefined)
15
+ return;
16
+ if (raw === null || typeof raw !== "object" || Array.isArray(raw)) {
17
+ errors.push("provenance must be an object");
18
+ return;
19
+ }
20
+ const p = raw;
21
+ for (const field of PROVENANCE_STRING_FIELDS) {
22
+ if (field in p && typeof p[field] !== "string") {
23
+ errors.push(`provenance.${field} must be a string`);
24
+ }
25
+ }
26
+ }
27
+ /** Serialize a typed BundleProvenance to the snake_case YAML record shape. */
28
+ function provenanceToYamlRecord(p) {
29
+ const out = {};
30
+ if (p.createdAt !== undefined)
31
+ out["created_at"] = p.createdAt;
32
+ if (p.sourceHost !== undefined)
33
+ out["source_host"] = p.sourceHost;
34
+ if (p.authorSession !== undefined)
35
+ out["author_session"] = p.authorSession;
36
+ if (p.sourceRigId !== undefined)
37
+ out["source_rig_id"] = p.sourceRigId;
38
+ if (p.sourceRigName !== undefined)
39
+ out["source_rig_name"] = p.sourceRigName;
40
+ if (p.daemonVersion !== undefined)
41
+ out["daemon_version"] = p.daemonVersion;
42
+ if (p.cliVersion !== undefined)
43
+ out["cli_version"] = p.cliVersion;
44
+ if (p.notes !== undefined)
45
+ out["notes"] = p.notes;
46
+ return out;
47
+ }
48
+ /** Validate optional plugins[] block. Appends to errors if present-but-malformed. */
49
+ function validatePluginsBlock(raw, errors) {
50
+ if (raw === undefined)
51
+ return;
52
+ if (!Array.isArray(raw)) {
53
+ errors.push("plugins must be an array");
54
+ return;
55
+ }
56
+ for (let i = 0; i < raw.length; i++) {
57
+ const entry = raw[i];
58
+ if (!entry || typeof entry !== "object" || Array.isArray(entry)) {
59
+ errors.push(`plugins[${i}] must be an object`);
60
+ continue;
61
+ }
62
+ const p = entry;
63
+ if (typeof p["id"] !== "string" || !p["id"]) {
64
+ errors.push(`plugins[${i}].id is required`);
65
+ }
66
+ const source = p["source"];
67
+ if (!source || typeof source !== "object" || Array.isArray(source)) {
68
+ errors.push(`plugins[${i}].source must be an object`);
69
+ continue;
70
+ }
71
+ const s = source;
72
+ if (s["kind"] !== "local") {
73
+ errors.push(`plugins[${i}].source.kind must be 'local' (other kinds reserved for future)`);
74
+ }
75
+ if (typeof s["path"] !== "string" || !s["path"]) {
76
+ errors.push(`plugins[${i}].source.path is required`);
77
+ }
78
+ else if (!isRelativeSafePath(s["path"])) {
79
+ errors.push(`plugins[${i}].source.path is not safe: '${s["path"]}'`);
80
+ }
81
+ }
82
+ }
83
+ /** Normalize raw plugins[] block (defensive copy). */
84
+ function normalizePluginsBlock(raw) {
85
+ if (!Array.isArray(raw))
86
+ return undefined;
87
+ const result = [];
88
+ for (const entry of raw) {
89
+ if (!entry || typeof entry !== "object" || Array.isArray(entry))
90
+ continue;
91
+ const p = entry;
92
+ const s = p["source"];
93
+ if (typeof p["id"] !== "string" || !p["id"])
94
+ continue;
95
+ if (!s || typeof s !== "object" || Array.isArray(s))
96
+ continue;
97
+ const src = s;
98
+ if (src["kind"] !== "local" || typeof src["path"] !== "string" || !src["path"])
99
+ continue;
100
+ result.push({ id: p["id"], source: { kind: "local", path: src["path"] } });
101
+ }
102
+ return result.length > 0 ? result : undefined;
103
+ }
104
+ /** Validate optional skills[] block. Appends to errors if present-but-malformed. */
105
+ function validateSkillsBlock(raw, errors) {
106
+ if (raw === undefined)
107
+ return;
108
+ if (!Array.isArray(raw)) {
109
+ errors.push("skills must be an array");
110
+ return;
111
+ }
112
+ for (let i = 0; i < raw.length; i++) {
113
+ const entry = raw[i];
114
+ if (typeof entry !== "string") {
115
+ errors.push(`skills[${i}] must be a string`);
116
+ continue;
117
+ }
118
+ if (!isRelativeSafePath(entry)) {
119
+ errors.push(`skills[${i}] path is not safe: '${entry}'`);
120
+ }
121
+ }
122
+ }
123
+ /** Normalize raw skills[] block (defensive copy + string filter). */
124
+ function normalizeSkillsBlock(raw) {
125
+ if (!Array.isArray(raw))
126
+ return undefined;
127
+ const result = [];
128
+ for (const entry of raw) {
129
+ if (typeof entry === "string" && entry.length > 0)
130
+ result.push(entry);
131
+ }
132
+ return result.length > 0 ? result : undefined;
133
+ }
134
+ /** Validate optional workflow_specs[] block. Appends to errors if present-but-malformed.
135
+ * Item 6 / slice-05 Checkpoint 7.3e. Same shape as skills[]: array of relative-safe paths
136
+ * to workflow spec YAML files inside the bundle. */
137
+ function validateWorkflowSpecsBlock(raw, errors) {
138
+ if (raw === undefined)
139
+ return;
140
+ if (!Array.isArray(raw)) {
141
+ errors.push("workflow_specs must be an array");
142
+ return;
143
+ }
144
+ for (let i = 0; i < raw.length; i++) {
145
+ const entry = raw[i];
146
+ if (typeof entry !== "string") {
147
+ errors.push(`workflow_specs[${i}] must be a string`);
148
+ continue;
149
+ }
150
+ if (!isRelativeSafePath(entry)) {
151
+ errors.push(`workflow_specs[${i}] path is not safe: '${entry}'`);
152
+ }
153
+ }
154
+ }
155
+ /** Normalize raw workflow_specs[] block (defensive copy + string filter). */
156
+ function normalizeWorkflowSpecsBlock(raw) {
157
+ if (!Array.isArray(raw))
158
+ return undefined;
159
+ const result = [];
160
+ for (const entry of raw) {
161
+ if (typeof entry === "string" && entry.length > 0)
162
+ result.push(entry);
163
+ }
164
+ return result.length > 0 ? result : undefined;
165
+ }
166
+ /** Validate optional context_packs[] block. Item 6 / slice-05 Checkpoint 7.3f.
167
+ * Each entry is a relative-safe path to a context-pack's manifest.yaml inside
168
+ * the bundle (per PRD §Item 6). The router copies the parent directory of
169
+ * each manifest path to the operator context-packs library on install. */
170
+ function validateContextPacksBlock(raw, errors) {
171
+ if (raw === undefined)
172
+ return;
173
+ if (!Array.isArray(raw)) {
174
+ errors.push("context_packs must be an array");
175
+ return;
176
+ }
177
+ for (let i = 0; i < raw.length; i++) {
178
+ const entry = raw[i];
179
+ if (typeof entry !== "string") {
180
+ errors.push(`context_packs[${i}] must be a string`);
181
+ continue;
182
+ }
183
+ if (!isRelativeSafePath(entry)) {
184
+ errors.push(`context_packs[${i}] path is not safe: '${entry}'`);
185
+ }
186
+ }
187
+ }
188
+ /** Normalize raw context_packs[] block (defensive copy + string filter). */
189
+ function normalizeContextPacksBlock(raw) {
190
+ if (!Array.isArray(raw))
191
+ return undefined;
192
+ const result = [];
193
+ for (const entry of raw) {
194
+ if (typeof entry === "string" && entry.length > 0)
195
+ result.push(entry);
196
+ }
197
+ return result.length > 0 ? result : undefined;
198
+ }
199
+ /** Validate optional agent_images[] block. Item 6 / slice-05 Checkpoint 7.3g.
200
+ * Each entry is a relative-safe path to an agent-image DIRECTORY inside the
201
+ * bundle (per PRD §Item 6 line 197: agent_images: [path/to/agent-image-name/,
202
+ * ...]). The router copies the declared directory itself to the operator
203
+ * agent-images library on install. The consumer
204
+ * (agent-image-library-service.ts:77-95) requires manifest.yaml to exist
205
+ * inside each routed image dir; the router enforces that at copy time. */
206
+ function validateAgentImagesBlock(raw, errors) {
207
+ if (raw === undefined)
208
+ return;
209
+ if (!Array.isArray(raw)) {
210
+ errors.push("agent_images must be an array");
211
+ return;
212
+ }
213
+ for (let i = 0; i < raw.length; i++) {
214
+ const entry = raw[i];
215
+ if (typeof entry !== "string") {
216
+ errors.push(`agent_images[${i}] must be a string`);
217
+ continue;
218
+ }
219
+ if (!isRelativeSafePath(entry)) {
220
+ errors.push(`agent_images[${i}] path is not safe: '${entry}'`);
221
+ }
222
+ }
223
+ }
224
+ /** Normalize raw agent_images[] block (defensive copy + string filter). */
225
+ function normalizeAgentImagesBlock(raw) {
226
+ if (!Array.isArray(raw))
227
+ return undefined;
228
+ const result = [];
229
+ for (const entry of raw) {
230
+ if (typeof entry === "string" && entry.length > 0)
231
+ result.push(entry);
232
+ }
233
+ return result.length > 0 ? result : undefined;
234
+ }
235
+ /** Validate optional compatibility block. Appends to errors if present-but-malformed. */
236
+ function validateCompatibilityBlock(raw, errors) {
237
+ if (raw === undefined)
238
+ return;
239
+ if (raw === null || typeof raw !== "object" || Array.isArray(raw)) {
240
+ errors.push("compatibility must be an object");
241
+ return;
242
+ }
243
+ const c = raw;
244
+ if ("min_daemon_version" in c && typeof c["min_daemon_version"] !== "string") {
245
+ errors.push("compatibility.min_daemon_version must be a string");
246
+ }
247
+ if ("min_cli_version" in c && typeof c["min_cli_version"] !== "string") {
248
+ errors.push("compatibility.min_cli_version must be a string");
249
+ }
250
+ if ("schema_version" in c && typeof c["schema_version"] !== "number") {
251
+ errors.push("compatibility.schema_version must be a number");
252
+ }
253
+ }
254
+ /** Serialize a typed BundleCompatibility to the snake_case YAML record shape. */
255
+ function compatibilityToYamlRecord(c) {
256
+ const out = {};
257
+ if (c.minDaemonVersion !== undefined)
258
+ out["min_daemon_version"] = c.minDaemonVersion;
259
+ if (c.minCliVersion !== undefined)
260
+ out["min_cli_version"] = c.minCliVersion;
261
+ if (c.schemaVersion !== undefined)
262
+ out["schema_version"] = c.schemaVersion;
263
+ return out;
264
+ }
265
+ /**
266
+ * Normalize raw snake_case compatibility to typed camelCase BundleCompatibility.
267
+ * Returns undefined when absent or empty. Exported alongside the provenance
268
+ * normalizer so the v2 inspect-route projection can produce a single
269
+ * camelCase shape for both manifest schemas.
270
+ */
271
+ export function normalizeCompatibilityBlock(raw) {
272
+ if (!raw || typeof raw !== "object" || Array.isArray(raw))
273
+ return undefined;
274
+ const c = raw;
275
+ const result = {};
276
+ if (typeof c["min_daemon_version"] === "string")
277
+ result.minDaemonVersion = c["min_daemon_version"];
278
+ if (typeof c["min_cli_version"] === "string")
279
+ result.minCliVersion = c["min_cli_version"];
280
+ if (typeof c["schema_version"] === "number")
281
+ result.schemaVersion = c["schema_version"];
282
+ return Object.keys(result).length > 0 ? result : undefined;
283
+ }
284
+ /**
285
+ * Normalize raw snake_case provenance (as parsed from YAML or received from
286
+ * a request body) to typed camelCase BundleProvenance. Returns undefined when
287
+ * absent or empty. Exported so both the v1 normalizer pipeline and the v2
288
+ * inspect-route projection produce identical camelCase shapes — the
289
+ * /api/bundles/inspect contract is one shape regardless of schema version.
290
+ */
291
+ export function normalizeProvenanceBlock(raw) {
292
+ if (!raw || typeof raw !== "object" || Array.isArray(raw))
293
+ return undefined;
294
+ const p = raw;
295
+ const result = {};
296
+ if (typeof p["created_at"] === "string")
297
+ result.createdAt = p["created_at"];
298
+ if (typeof p["source_host"] === "string")
299
+ result.sourceHost = p["source_host"];
300
+ if (typeof p["author_session"] === "string")
301
+ result.authorSession = p["author_session"];
302
+ if (typeof p["source_rig_id"] === "string")
303
+ result.sourceRigId = p["source_rig_id"];
304
+ if (typeof p["source_rig_name"] === "string")
305
+ result.sourceRigName = p["source_rig_name"];
306
+ if (typeof p["daemon_version"] === "string")
307
+ result.daemonVersion = p["daemon_version"];
308
+ if (typeof p["cli_version"] === "string")
309
+ result.cliVersion = p["cli_version"];
310
+ if (typeof p["notes"] === "string")
311
+ result.notes = p["notes"];
312
+ return Object.keys(result).length > 0 ? result : undefined;
313
+ }
2
314
  export function validatePodBundleManifest(raw) {
3
315
  const errors = [];
4
316
  if (!raw || typeof raw !== "object")
@@ -32,6 +344,13 @@ export function validatePodBundleManifest(raw) {
32
344
  errors.push(`agents[${i}].hash is required`);
33
345
  }
34
346
  }
347
+ validateProvenanceBlock(m["provenance"], errors);
348
+ validateCompatibilityBlock(m["compatibility"], errors);
349
+ validateSkillsBlock(m["skills"], errors);
350
+ validatePluginsBlock(m["plugins"], errors);
351
+ validateWorkflowSpecsBlock(m["workflow_specs"], errors);
352
+ validateContextPacksBlock(m["context_packs"], errors);
353
+ validateAgentImagesBlock(m["agent_images"], errors);
35
354
  return { valid: errors.length === 0, errors };
36
355
  }
37
356
  export function serializePodBundleManifest(manifest) {
@@ -60,6 +379,20 @@ export function serializePodBundleManifest(manifest) {
60
379
  doc["culture_file"] = manifest.cultureFile;
61
380
  if (manifest.integrity)
62
381
  doc["integrity"] = { algorithm: manifest.integrity.algorithm, files: manifest.integrity.files };
382
+ if (manifest.provenance)
383
+ doc["provenance"] = provenanceToYamlRecord(manifest.provenance);
384
+ if (manifest.compatibility)
385
+ doc["compatibility"] = compatibilityToYamlRecord(manifest.compatibility);
386
+ if (manifest.skills && manifest.skills.length > 0)
387
+ doc["skills"] = manifest.skills;
388
+ if (manifest.plugins && manifest.plugins.length > 0)
389
+ doc["plugins"] = manifest.plugins.map((p) => ({ id: p.id, source: { kind: p.source.kind, path: p.source.path } }));
390
+ if (manifest.workflowSpecs && manifest.workflowSpecs.length > 0)
391
+ doc["workflow_specs"] = manifest.workflowSpecs;
392
+ if (manifest.contextPacks && manifest.contextPacks.length > 0)
393
+ doc["context_packs"] = manifest.contextPacks;
394
+ if (manifest.agentImages && manifest.agentImages.length > 0)
395
+ doc["agent_images"] = manifest.agentImages;
63
396
  return stringifyYaml(doc);
64
397
  }
65
398
  export function parsePodBundleManifest(yaml) {
@@ -153,6 +486,13 @@ export function validateLegacyBundleManifest(raw, opts) {
153
486
  }
154
487
  }
155
488
  }
489
+ validateProvenanceBlock(m["provenance"], errors);
490
+ validateCompatibilityBlock(m["compatibility"], errors);
491
+ validateSkillsBlock(m["skills"], errors);
492
+ validatePluginsBlock(m["plugins"], errors);
493
+ validateWorkflowSpecsBlock(m["workflow_specs"], errors);
494
+ validateContextPacksBlock(m["context_packs"], errors);
495
+ validateAgentImagesBlock(m["agent_images"], errors);
156
496
  return { valid: errors.length === 0, errors };
157
497
  }
158
498
  /** Parse bundle.yaml YAML string to unknown */
@@ -189,6 +529,27 @@ export function normalizeLegacyBundleManifest(raw) {
189
529
  files: integ["files"] ?? {},
190
530
  };
191
531
  }
532
+ const provenance = normalizeProvenanceBlock(m["provenance"]);
533
+ if (provenance)
534
+ result.provenance = provenance;
535
+ const compatibility = normalizeCompatibilityBlock(m["compatibility"]);
536
+ if (compatibility)
537
+ result.compatibility = compatibility;
538
+ const skills = normalizeSkillsBlock(m["skills"]);
539
+ if (skills)
540
+ result.skills = skills;
541
+ const plugins = normalizePluginsBlock(m["plugins"]);
542
+ if (plugins)
543
+ result.plugins = plugins;
544
+ const workflowSpecs = normalizeWorkflowSpecsBlock(m["workflow_specs"]);
545
+ if (workflowSpecs)
546
+ result.workflowSpecs = workflowSpecs;
547
+ const contextPacks = normalizeContextPacksBlock(m["context_packs"]);
548
+ if (contextPacks)
549
+ result.contextPacks = contextPacks;
550
+ const agentImages = normalizeAgentImagesBlock(m["agent_images"]);
551
+ if (agentImages)
552
+ result.agentImages = agentImages;
192
553
  return result;
193
554
  }
194
555
  /** Serialize a LegacyBundleManifest to YAML */
@@ -213,6 +574,20 @@ export function serializeLegacyBundleManifest(manifest) {
213
574
  files: manifest.integrity.files,
214
575
  };
215
576
  }
577
+ if (manifest.provenance)
578
+ doc["provenance"] = provenanceToYamlRecord(manifest.provenance);
579
+ if (manifest.compatibility)
580
+ doc["compatibility"] = compatibilityToYamlRecord(manifest.compatibility);
581
+ if (manifest.skills && manifest.skills.length > 0)
582
+ doc["skills"] = manifest.skills;
583
+ if (manifest.plugins && manifest.plugins.length > 0)
584
+ doc["plugins"] = manifest.plugins.map((p) => ({ id: p.id, source: { kind: p.source.kind, path: p.source.path } }));
585
+ if (manifest.workflowSpecs && manifest.workflowSpecs.length > 0)
586
+ doc["workflow_specs"] = manifest.workflowSpecs;
587
+ if (manifest.contextPacks && manifest.contextPacks.length > 0)
588
+ doc["context_packs"] = manifest.contextPacks;
589
+ if (manifest.agentImages && manifest.agentImages.length > 0)
590
+ doc["agent_images"] = manifest.agentImages;
216
591
  return stringifyYaml(doc);
217
592
  }
218
593
  //# sourceMappingURL=bundle-types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"bundle-types.js","sourceRoot":"","sources":["../../src/domain/bundle-types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"bundle-types.js","sourceRoot":"","sources":["../../src/domain/bundle-types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,94 @@
1
+ /**
2
+ * Bundle workflow_specs router (Item 6 / slice-05 Checkpoint 7.3e step 2).
3
+ *
4
+ * Pure function. Copies workflow spec YAML files declared in a bundle
5
+ * manifest's workflow_specs[] block from the bundle's extracted tree to the
6
+ * operator workflow-specs library. No daemon dependencies — fully
7
+ * unit-testable via FsOps injection.
8
+ *
9
+ * Mirrors the bundle-skills-router pattern (file-paths, single-file copy
10
+ * preserving directory layout, leading-prefix strip). Per orch-ratified
11
+ * Candidate A on Item-6 completeness: workflow_specs is the 3rd v0
12
+ * cross-primitive kind (after skills + plugins). Source primitive
13
+ * reachable on main (WorkflowSpecCache + workflow-runtime + scanner).
14
+ *
15
+ * Safety (banked feedback_pre_existing_trust_boundary_reuse_canonical_helper
16
+ * addendum): both-sides containment — declared source path must stay
17
+ * inside bundleRoot; resolved target path (after leading "workflows/"
18
+ * strip) must stay inside targetWorkflowSpecsDir. The leading-prefix
19
+ * strip can promote intermediate ../ segments that bypass source check
20
+ * but escape target.
21
+ *
22
+ * Honest-scoping: missing source files surface as warnings in the
23
+ * result (NOT thrown errors) so the install lifecycle can continue
24
+ * with what's available. Same as bundle-skills-router.
25
+ *
26
+ * /install handler integration lands at Checkpoint 7.3e step 3.
27
+ */
28
+ /** Filesystem injection point — real impl wraps node:fs. Tests substitute in-memory. */
29
+ export interface WorkflowSpecsRouterFsOps {
30
+ exists: (path: string) => boolean;
31
+ readFile: (path: string) => string;
32
+ writeFile: (path: string, content: string) => void;
33
+ mkdirp: (path: string) => void;
34
+ }
35
+ /** Inputs to routeWorkflowSpecs. */
36
+ export interface RouteWorkflowSpecsInput {
37
+ /** Absolute path to the bundle's extracted root (tmp dir from unpack). */
38
+ bundleRoot: string;
39
+ /** Relative workflow_spec paths declared in the manifest's workflow_specs[] block. */
40
+ declaredWorkflowSpecs: string[];
41
+ /**
42
+ * Absolute path to the operator workflow-specs library that the
43
+ * spec-library-workflow-scanner ACTUALLY reads from. **CALLER CONTRACT**:
44
+ * this MUST be exactly
45
+ * `nodePath.join(ContextPackSettingsStore.resolveConfig().workspaceSpecsRoot, "workflows")`
46
+ * — the folder discovered by `scanWorkflowSpecFolder` in
47
+ * `packages/daemon/src/domain/spec-library-workflow-scanner.ts:320-342`
48
+ * and exposed via `deps.workflowsFolderDir` in
49
+ * `packages/daemon/src/startup.ts:903-916`. SettingsStore is the sole
50
+ * authority for the actual operator-host path; do NOT hardcode a default
51
+ * here — settings layering (env > config > workspace-default) can shift
52
+ * the resolved root, so any literal default repeated in this comment
53
+ * would be a drift hazard. Writing anywhere else will succeed silently
54
+ * but be invisible to the live workflow scanner — operator dead-end.
55
+ * The /install integration helper (Checkpoint 7.3e step 3) MUST resolve
56
+ * this path via the SettingsStore call shown above before invoking
57
+ * routeWorkflowSpecs.
58
+ */
59
+ targetWorkflowSpecsDir: string;
60
+ }
61
+ /** One routed workflow_spec (or one rejection). */
62
+ export interface RoutedWorkflowSpecRecord {
63
+ /** Declared path from manifest.workflow_specs[]. */
64
+ declaredPath: string;
65
+ /** "routed" = copied successfully and scanner-visible.
66
+ * "missing" = source not in bundle (honest skip).
67
+ * "unsafe" = source escapes bundleRoot OR declared path has a non-YAML
68
+ * suffix the scanner will ignore (operator-invisible-by-construction).
69
+ * "conflict" = basename collision with an earlier routed entry — only
70
+ * the first such declared path is written; later ones flagged so the
71
+ * routed count stays truthful at the scanner-visible boundary (mirror
72
+ * of the slice's broader 3-part collision-error posture). */
73
+ status: "routed" | "missing" | "unsafe" | "conflict";
74
+ /** Where the workflow_spec landed in the target library (absolute path), if routed. */
75
+ installedAt?: string;
76
+ /** Human-readable detail (3-part error shape input for caller). */
77
+ detail?: string;
78
+ }
79
+ /** Aggregate routing result. */
80
+ export interface RouteWorkflowSpecsResult {
81
+ records: RoutedWorkflowSpecRecord[];
82
+ routedCount: number;
83
+ rejectedCount: number;
84
+ }
85
+ /**
86
+ * Route each declared workflow_spec from the bundle tree to the operator
87
+ * workflow-specs library. Per-entry safety: BOTH source path (under
88
+ * bundleRoot) AND target path (under targetWorkflowSpecsDir, post leading-
89
+ * prefix strip) are containment-checked. Banked both-sides-trust-boundary
90
+ * lesson applied. Caller writes the install audit record using the records
91
+ * returned here.
92
+ */
93
+ export declare function routeWorkflowSpecs(input: RouteWorkflowSpecsInput, fs: WorkflowSpecsRouterFsOps): RouteWorkflowSpecsResult;
94
+ //# sourceMappingURL=bundle-workflow-specs-router.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bundle-workflow-specs-router.d.ts","sourceRoot":"","sources":["../../src/domain/bundle-workflow-specs-router.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AAIH,wFAAwF;AACxF,MAAM,WAAW,wBAAwB;IACvC,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;IAClC,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;IACnC,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACnD,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CAChC;AAED,oCAAoC;AACpC,MAAM,WAAW,uBAAuB;IACtC,0EAA0E;IAC1E,UAAU,EAAE,MAAM,CAAC;IACnB,sFAAsF;IACtF,qBAAqB,EAAE,MAAM,EAAE,CAAC;IAChC;;;;;;;;;;;;;;;;;OAiBG;IACH,sBAAsB,EAAE,MAAM,CAAC;CAChC;AAED,mDAAmD;AACnD,MAAM,WAAW,wBAAwB;IACvC,oDAAoD;IACpD,YAAY,EAAE,MAAM,CAAC;IACrB;;;;;;;iEAO6D;IAC7D,MAAM,EAAE,QAAQ,GAAG,SAAS,GAAG,QAAQ,GAAG,UAAU,CAAC;IACrD,uFAAuF;IACvF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mEAAmE;IACnE,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,gCAAgC;AAChC,MAAM,WAAW,wBAAwB;IACvC,OAAO,EAAE,wBAAwB,EAAE,CAAC;IACpC,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,uBAAuB,EAC9B,EAAE,EAAE,wBAAwB,GAC3B,wBAAwB,CA4G1B"}