@lumenflow/packs-software-delivery 4.24.0 → 5.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (286) hide show
  1. package/dist/manifest-schema.d.ts +12 -0
  2. package/dist/manifest-schema.d.ts.map +1 -1
  3. package/dist/manifest-schema.js +10 -0
  4. package/dist/manifest-schema.js.map +1 -1
  5. package/dist/manifest.d.ts +21 -0
  6. package/dist/manifest.d.ts.map +1 -1
  7. package/dist/manifest.js +92 -1
  8. package/dist/manifest.js.map +1 -1
  9. package/dist/src/commands/index.d.ts +2 -0
  10. package/dist/src/commands/index.d.ts.map +1 -0
  11. package/dist/src/commands/index.js +5 -0
  12. package/dist/src/commands/index.js.map +1 -0
  13. package/dist/src/config/delivery-review-contract.d.ts +17 -0
  14. package/dist/src/config/delivery-review-contract.d.ts.map +1 -0
  15. package/dist/src/config/delivery-review-contract.js +19 -0
  16. package/dist/src/config/delivery-review-contract.js.map +1 -0
  17. package/dist/src/config/env-accessors.d.ts +16 -0
  18. package/dist/src/config/env-accessors.d.ts.map +1 -0
  19. package/dist/src/config/env-accessors.js +18 -0
  20. package/dist/src/config/env-accessors.js.map +1 -0
  21. package/dist/src/config/index.d.ts +3 -0
  22. package/dist/src/config/index.d.ts.map +1 -0
  23. package/dist/src/config/index.js +8 -0
  24. package/dist/src/config/index.js.map +1 -0
  25. package/dist/src/config/normalize-config-keys.d.ts +16 -0
  26. package/dist/src/config/normalize-config-keys.d.ts.map +1 -0
  27. package/dist/src/config/normalize-config-keys.js +18 -0
  28. package/dist/src/config/normalize-config-keys.js.map +1 -0
  29. package/dist/src/config/schemas/lumenflow-config-schema-types.d.ts +190 -0
  30. package/dist/src/config/schemas/lumenflow-config-schema-types.d.ts.map +1 -0
  31. package/dist/src/config/schemas/lumenflow-config-schema-types.js +182 -0
  32. package/dist/src/config/schemas/lumenflow-config-schema-types.js.map +1 -0
  33. package/dist/src/config/schemas/lumenflow-config-schema.d.ts +190 -0
  34. package/dist/src/config/schemas/lumenflow-config-schema.d.ts.map +1 -0
  35. package/dist/src/config/schemas/lumenflow-config-schema.js +182 -0
  36. package/dist/src/config/schemas/lumenflow-config-schema.js.map +1 -0
  37. package/dist/src/config/workspace-reader.d.ts +56 -0
  38. package/dist/src/config/workspace-reader.d.ts.map +1 -0
  39. package/dist/src/config/workspace-reader.js +209 -0
  40. package/dist/src/config/workspace-reader.js.map +1 -0
  41. package/dist/src/constants/backlog-patterns.d.ts +21 -0
  42. package/dist/src/constants/backlog-patterns.d.ts.map +1 -0
  43. package/dist/src/constants/backlog-patterns.js +26 -0
  44. package/dist/src/constants/backlog-patterns.js.map +1 -0
  45. package/dist/src/constants/client-ids.d.ts +16 -0
  46. package/dist/src/constants/client-ids.d.ts.map +1 -0
  47. package/dist/src/constants/client-ids.js +16 -0
  48. package/dist/src/constants/client-ids.js.map +1 -0
  49. package/dist/src/constants/config-contract.d.ts +2 -0
  50. package/dist/src/constants/config-contract.d.ts.map +1 -0
  51. package/dist/src/constants/config-contract.js +7 -0
  52. package/dist/src/constants/config-contract.js.map +1 -0
  53. package/dist/src/constants/docs-layout-presets.d.ts +31 -0
  54. package/dist/src/constants/docs-layout-presets.d.ts.map +1 -0
  55. package/dist/src/constants/docs-layout-presets.js +41 -0
  56. package/dist/src/constants/docs-layout-presets.js.map +1 -0
  57. package/dist/src/constants/duration-constants.d.ts +11 -0
  58. package/dist/src/constants/duration-constants.d.ts.map +1 -0
  59. package/dist/src/constants/duration-constants.js +13 -0
  60. package/dist/src/constants/duration-constants.js.map +1 -0
  61. package/dist/src/constants/gate-constants.d.ts +24 -0
  62. package/dist/src/constants/gate-constants.d.ts.map +1 -0
  63. package/dist/src/constants/gate-constants.js +26 -0
  64. package/dist/src/constants/gate-constants.js.map +1 -0
  65. package/dist/src/constants/index.d.ts +18 -0
  66. package/dist/src/constants/index.d.ts.map +1 -0
  67. package/dist/src/constants/index.js +29 -0
  68. package/dist/src/constants/index.js.map +1 -0
  69. package/dist/src/constants/lock-constants.d.ts +29 -0
  70. package/dist/src/constants/lock-constants.d.ts.map +1 -0
  71. package/dist/src/constants/lock-constants.js +31 -0
  72. package/dist/src/constants/lock-constants.js.map +1 -0
  73. package/dist/src/constants/object-guards.d.ts +9 -0
  74. package/dist/src/constants/object-guards.d.ts.map +1 -0
  75. package/dist/src/constants/object-guards.js +11 -0
  76. package/dist/src/constants/object-guards.js.map +1 -0
  77. package/dist/src/constants/section-headings.d.ts +35 -0
  78. package/dist/src/constants/section-headings.d.ts.map +1 -0
  79. package/dist/src/constants/section-headings.js +82 -0
  80. package/dist/src/constants/section-headings.js.map +1 -0
  81. package/dist/src/constants/wu-cli-constants.d.ts +434 -0
  82. package/dist/src/constants/wu-cli-constants.d.ts.map +1 -0
  83. package/dist/src/constants/wu-cli-constants.js +439 -0
  84. package/dist/src/constants/wu-cli-constants.js.map +1 -0
  85. package/dist/src/constants/wu-domain-constants.d.ts +296 -0
  86. package/dist/src/constants/wu-domain-constants.d.ts.map +1 -0
  87. package/dist/src/constants/wu-domain-constants.js +400 -0
  88. package/dist/src/constants/wu-domain-constants.js.map +1 -0
  89. package/dist/src/constants/wu-git-constants.d.ts +2 -0
  90. package/dist/src/constants/wu-git-constants.d.ts.map +1 -0
  91. package/dist/src/constants/wu-git-constants.js +7 -0
  92. package/dist/src/constants/wu-git-constants.js.map +1 -0
  93. package/dist/src/constants/wu-id-format.d.ts +138 -0
  94. package/dist/src/constants/wu-id-format.d.ts.map +1 -0
  95. package/dist/src/constants/wu-id-format.js +265 -0
  96. package/dist/src/constants/wu-id-format.js.map +1 -0
  97. package/dist/src/constants/wu-paths-constants.d.ts +254 -0
  98. package/dist/src/constants/wu-paths-constants.d.ts.map +1 -0
  99. package/dist/src/constants/wu-paths-constants.js +276 -0
  100. package/dist/src/constants/wu-paths-constants.js.map +1 -0
  101. package/dist/src/constants/wu-statuses.d.ts +209 -0
  102. package/dist/src/constants/wu-statuses.d.ts.map +1 -0
  103. package/dist/src/constants/wu-statuses.js +245 -0
  104. package/dist/src/constants/wu-statuses.js.map +1 -0
  105. package/dist/src/constants/wu-type-helpers.d.ts +28 -0
  106. package/dist/src/constants/wu-type-helpers.d.ts.map +1 -0
  107. package/dist/src/constants/wu-type-helpers.js +49 -0
  108. package/dist/src/constants/wu-type-helpers.js.map +1 -0
  109. package/dist/src/constants/wu-ui-constants.d.ts +236 -0
  110. package/dist/src/constants/wu-ui-constants.d.ts.map +1 -0
  111. package/dist/src/constants/wu-ui-constants.js +238 -0
  112. package/dist/src/constants/wu-ui-constants.js.map +1 -0
  113. package/dist/src/constants/wu-validation-constants.d.ts +61 -0
  114. package/dist/src/constants/wu-validation-constants.d.ts.map +1 -0
  115. package/dist/src/constants/wu-validation-constants.js +69 -0
  116. package/dist/src/constants/wu-validation-constants.js.map +1 -0
  117. package/dist/src/domain/index.d.ts +4 -0
  118. package/dist/src/domain/index.d.ts.map +1 -0
  119. package/dist/src/domain/index.js +6 -0
  120. package/dist/src/domain/index.js.map +1 -0
  121. package/dist/src/domain/orchestration.constants.d.ts +111 -0
  122. package/dist/src/domain/orchestration.constants.d.ts.map +1 -0
  123. package/dist/src/domain/orchestration.constants.js +130 -0
  124. package/dist/src/domain/orchestration.constants.js.map +1 -0
  125. package/dist/src/domain/orchestration.schemas.d.ts +307 -0
  126. package/dist/src/domain/orchestration.schemas.d.ts.map +1 -0
  127. package/dist/src/domain/orchestration.schemas.js +214 -0
  128. package/dist/src/domain/orchestration.schemas.js.map +1 -0
  129. package/dist/src/domain/orchestration.types.d.ts +134 -0
  130. package/dist/src/domain/orchestration.types.d.ts.map +1 -0
  131. package/dist/src/domain/orchestration.types.js +5 -0
  132. package/dist/src/domain/orchestration.types.js.map +1 -0
  133. package/dist/src/methodology/incremental-test.d.ts +33 -0
  134. package/dist/src/methodology/incremental-test.d.ts.map +1 -0
  135. package/dist/src/methodology/incremental-test.js +73 -0
  136. package/dist/src/methodology/incremental-test.js.map +1 -0
  137. package/dist/src/methodology/index.d.ts +3 -0
  138. package/dist/src/methodology/index.d.ts.map +1 -0
  139. package/dist/src/methodology/index.js +6 -0
  140. package/dist/src/methodology/index.js.map +1 -0
  141. package/dist/src/methodology/manual-test-validator.d.ts +97 -0
  142. package/dist/src/methodology/manual-test-validator.d.ts.map +1 -0
  143. package/dist/src/methodology/manual-test-validator.js +248 -0
  144. package/dist/src/methodology/manual-test-validator.js.map +1 -0
  145. package/dist/src/policy/coverage-gate.d.ts +127 -0
  146. package/dist/src/policy/coverage-gate.d.ts.map +1 -0
  147. package/dist/src/policy/coverage-gate.js +211 -0
  148. package/dist/src/policy/coverage-gate.js.map +1 -0
  149. package/dist/src/policy/gates-agent-mode.d.ts +107 -0
  150. package/dist/src/policy/gates-agent-mode.d.ts.map +1 -0
  151. package/dist/src/policy/gates-agent-mode.js +138 -0
  152. package/dist/src/policy/gates-agent-mode.js.map +1 -0
  153. package/dist/src/policy/gates-config-internal.d.ts +54 -0
  154. package/dist/src/policy/gates-config-internal.d.ts.map +1 -0
  155. package/dist/src/policy/gates-config-internal.js +108 -0
  156. package/dist/src/policy/gates-config-internal.js.map +1 -0
  157. package/dist/src/policy/gates-config.d.ts +67 -0
  158. package/dist/src/policy/gates-config.d.ts.map +1 -0
  159. package/dist/src/policy/gates-config.js +193 -0
  160. package/dist/src/policy/gates-config.js.map +1 -0
  161. package/dist/src/policy/gates-coverage.d.ts +48 -0
  162. package/dist/src/policy/gates-coverage.d.ts.map +1 -0
  163. package/dist/src/policy/gates-coverage.js +182 -0
  164. package/dist/src/policy/gates-coverage.js.map +1 -0
  165. package/dist/src/policy/gates-presets.d.ts +51 -0
  166. package/dist/src/policy/gates-presets.d.ts.map +1 -0
  167. package/dist/src/policy/gates-presets.js +117 -0
  168. package/dist/src/policy/gates-presets.js.map +1 -0
  169. package/dist/src/policy/gates-schemas.d.ts +142 -0
  170. package/dist/src/policy/gates-schemas.d.ts.map +1 -0
  171. package/dist/src/policy/gates-schemas.js +67 -0
  172. package/dist/src/policy/gates-schemas.js.map +1 -0
  173. package/dist/src/policy/index.d.ts +19 -0
  174. package/dist/src/policy/index.d.ts.map +1 -0
  175. package/dist/src/policy/index.js +21 -0
  176. package/dist/src/policy/index.js.map +1 -0
  177. package/dist/src/policy/package-manager-resolver.d.ts +79 -0
  178. package/dist/src/policy/package-manager-resolver.d.ts.map +1 -0
  179. package/dist/src/policy/package-manager-resolver.js +245 -0
  180. package/dist/src/policy/package-manager-resolver.js.map +1 -0
  181. package/dist/src/policy/resolve-policy.d.ts +337 -0
  182. package/dist/src/policy/resolve-policy.d.ts.map +1 -0
  183. package/dist/src/policy/resolve-policy.js +353 -0
  184. package/dist/src/policy/resolve-policy.js.map +1 -0
  185. package/dist/src/ports/config.ports.d.ts +83 -0
  186. package/dist/src/ports/config.ports.d.ts.map +1 -0
  187. package/dist/src/ports/config.ports.js +4 -0
  188. package/dist/src/ports/config.ports.js.map +1 -0
  189. package/dist/src/ports/dashboard-renderer.port.d.ts +113 -0
  190. package/dist/src/ports/dashboard-renderer.port.d.ts.map +1 -0
  191. package/dist/src/ports/dashboard-renderer.port.js +4 -0
  192. package/dist/src/ports/dashboard-renderer.port.js.map +1 -0
  193. package/dist/src/ports/index.d.ts +5 -0
  194. package/dist/src/ports/index.d.ts.map +1 -0
  195. package/dist/src/ports/index.js +10 -0
  196. package/dist/src/ports/index.js.map +1 -0
  197. package/dist/src/ports/sync-validator.ports.d.ts +52 -0
  198. package/dist/src/ports/sync-validator.ports.d.ts.map +1 -0
  199. package/dist/src/ports/sync-validator.ports.js +4 -0
  200. package/dist/src/ports/sync-validator.ports.js.map +1 -0
  201. package/dist/src/ports/wu-helpers.ports.d.ts +157 -0
  202. package/dist/src/ports/wu-helpers.ports.d.ts.map +1 -0
  203. package/dist/src/ports/wu-helpers.ports.js +4 -0
  204. package/dist/src/ports/wu-helpers.ports.js.map +1 -0
  205. package/dist/src/ports/wu-state.ports.d.ts +209 -0
  206. package/dist/src/ports/wu-state.ports.d.ts.map +1 -0
  207. package/dist/src/ports/wu-state.ports.js +4 -0
  208. package/dist/src/ports/wu-state.ports.js.map +1 -0
  209. package/dist/src/primitives/index.d.ts +2 -0
  210. package/dist/src/primitives/index.d.ts.map +1 -0
  211. package/dist/src/primitives/index.js +5 -0
  212. package/dist/src/primitives/index.js.map +1 -0
  213. package/dist/src/runtime/index.d.ts +2 -0
  214. package/dist/src/runtime/index.d.ts.map +1 -0
  215. package/dist/src/runtime/index.js +6 -0
  216. package/dist/src/runtime/index.js.map +1 -0
  217. package/dist/src/runtime/work-classifier.d.ts +103 -0
  218. package/dist/src/runtime/work-classifier.d.ts.map +1 -0
  219. package/dist/src/runtime/work-classifier.js +427 -0
  220. package/dist/src/runtime/work-classifier.js.map +1 -0
  221. package/dist/src/sandbox/index.d.ts +6 -0
  222. package/dist/src/sandbox/index.d.ts.map +1 -0
  223. package/dist/src/sandbox/index.js +10 -0
  224. package/dist/src/sandbox/index.js.map +1 -0
  225. package/dist/src/sandbox/sandbox-allowlist.d.ts +16 -0
  226. package/dist/src/sandbox/sandbox-allowlist.d.ts.map +1 -0
  227. package/dist/src/sandbox/sandbox-allowlist.js +77 -0
  228. package/dist/src/sandbox/sandbox-allowlist.js.map +1 -0
  229. package/dist/src/sandbox/sandbox-backend-linux.d.ts +6 -0
  230. package/dist/src/sandbox/sandbox-backend-linux.d.ts.map +1 -0
  231. package/dist/src/sandbox/sandbox-backend-linux.js +67 -0
  232. package/dist/src/sandbox/sandbox-backend-linux.js.map +1 -0
  233. package/dist/src/sandbox/sandbox-backend-macos.d.ts +6 -0
  234. package/dist/src/sandbox/sandbox-backend-macos.d.ts.map +1 -0
  235. package/dist/src/sandbox/sandbox-backend-macos.js +112 -0
  236. package/dist/src/sandbox/sandbox-backend-macos.js.map +1 -0
  237. package/dist/src/sandbox/sandbox-backend-windows.d.ts +6 -0
  238. package/dist/src/sandbox/sandbox-backend-windows.d.ts.map +1 -0
  239. package/dist/src/sandbox/sandbox-backend-windows.js +30 -0
  240. package/dist/src/sandbox/sandbox-backend-windows.js.map +1 -0
  241. package/dist/src/sandbox/sandbox-profile.d.ts +58 -0
  242. package/dist/src/sandbox/sandbox-profile.d.ts.map +1 -0
  243. package/dist/src/sandbox/sandbox-profile.js +69 -0
  244. package/dist/src/sandbox/sandbox-profile.js.map +1 -0
  245. package/dist/src/schemas/index.d.ts +2 -0
  246. package/dist/src/schemas/index.d.ts.map +1 -0
  247. package/dist/src/schemas/index.js +5 -0
  248. package/dist/src/schemas/index.js.map +1 -0
  249. package/dist/src/state/date-utils.d.ts +66 -0
  250. package/dist/src/state/date-utils.d.ts.map +1 -0
  251. package/dist/src/state/date-utils.js +143 -0
  252. package/dist/src/state/date-utils.js.map +1 -0
  253. package/dist/src/state/index.d.ts +8 -0
  254. package/dist/src/state/index.d.ts.map +1 -0
  255. package/dist/src/state/index.js +15 -0
  256. package/dist/src/state/index.js.map +1 -0
  257. package/dist/src/state/state-machine.d.ts +14 -0
  258. package/dist/src/state/state-machine.d.ts.map +1 -0
  259. package/dist/src/state/state-machine.js +92 -0
  260. package/dist/src/state/state-machine.js.map +1 -0
  261. package/dist/src/state/wu-doc-types.d.ts +48 -0
  262. package/dist/src/state/wu-doc-types.d.ts.map +1 -0
  263. package/dist/src/state/wu-doc-types.js +4 -0
  264. package/dist/src/state/wu-doc-types.js.map +1 -0
  265. package/dist/src/state/wu-paths.d.ts +275 -0
  266. package/dist/src/state/wu-paths.d.ts.map +1 -0
  267. package/dist/src/state/wu-paths.js +335 -0
  268. package/dist/src/state/wu-paths.js.map +1 -0
  269. package/dist/src/state/wu-schema.d.ts +831 -0
  270. package/dist/src/state/wu-schema.d.ts.map +1 -0
  271. package/dist/src/state/wu-schema.js +934 -0
  272. package/dist/src/state/wu-schema.js.map +1 -0
  273. package/dist/src/state/wu-state-schema.d.ts +292 -0
  274. package/dist/src/state/wu-state-schema.d.ts.map +1 -0
  275. package/dist/src/state/wu-state-schema.js +215 -0
  276. package/dist/src/state/wu-state-schema.js.map +1 -0
  277. package/dist/src/state/wu-yaml.d.ts +113 -0
  278. package/dist/src/state/wu-yaml.d.ts.map +1 -0
  279. package/dist/src/state/wu-yaml.js +307 -0
  280. package/dist/src/state/wu-yaml.js.map +1 -0
  281. package/dist/tool-impl/wu-lifecycle-tools.d.ts +11 -0
  282. package/dist/tool-impl/wu-lifecycle-tools.d.ts.map +1 -1
  283. package/dist/tool-impl/wu-lifecycle-tools.js +17 -0
  284. package/dist/tool-impl/wu-lifecycle-tools.js.map +1 -1
  285. package/manifest.yaml +46 -0
  286. package/package.json +88 -3
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolve-policy.js","sourceRoot":"","sources":["../../../src/policy/resolve-policy.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,83 @@
1
+ /**
2
+ * Configuration Ports (WU-2020)
3
+ *
4
+ * Focused interfaces for injecting configuration sections into command
5
+ * handlers and service functions. These replace module-level getConfig()
6
+ * calls with explicit parameter injection (DIP compliance).
7
+ *
8
+ * Each interface extracts the minimum config surface needed by its
9
+ * consumers, following the Interface Segregation Principle (ISP).
10
+ *
11
+ * @module ports/config
12
+ */
13
+ /**
14
+ * Git-related configuration for branch checks and worktree operations.
15
+ *
16
+ * Consumers: branch-check.ts, micro-worktree-shared.ts, micro-worktree.ts
17
+ */
18
+ export interface IGitConfig {
19
+ readonly mainBranch: string;
20
+ readonly defaultRemote: string;
21
+ readonly requireRemote: boolean;
22
+ readonly laneBranchPrefix?: string;
23
+ readonly agentBranchPatterns?: string[];
24
+ readonly agentBranchPatternsOverride?: string[];
25
+ readonly disableAgentPatternRegistry?: boolean;
26
+ readonly pushRetry?: {
27
+ readonly enabled: boolean;
28
+ readonly retries: number;
29
+ readonly min_delay_ms: number;
30
+ readonly max_delay_ms: number;
31
+ readonly jitter: boolean;
32
+ };
33
+ }
34
+ /**
35
+ * Directory paths configuration for WU file resolution.
36
+ *
37
+ * Consumers: wu-paths.ts, wu-list.ts, spawn-task-builder.ts
38
+ */
39
+ export interface IDirectoriesConfig {
40
+ readonly wuDir: string;
41
+ readonly initiativesDir: string;
42
+ readonly backlogPath: string;
43
+ readonly statusPath: string;
44
+ readonly worktrees: string;
45
+ readonly stampsDir?: string;
46
+ readonly plansDir: string;
47
+ readonly templatesDir: string;
48
+ readonly onboardingDir: string;
49
+ readonly skillsDir: string;
50
+ readonly agentsDir: string;
51
+ readonly memoryBank: string;
52
+ readonly safeGitPath: string;
53
+ }
54
+ /**
55
+ * State paths configuration for store directory resolution.
56
+ *
57
+ * Consumers: wu-paths.ts, wu-backlog-updater.ts
58
+ */
59
+ export interface IStateConfig {
60
+ readonly base: string;
61
+ readonly stampsDir: string;
62
+ readonly stateDir: string;
63
+ }
64
+ /**
65
+ * Minimal config interface for path-resolution consumers.
66
+ *
67
+ * Consumers that only need directory and state paths should depend
68
+ * on this interface rather than the full LumenFlowConfig.
69
+ */
70
+ export interface IPathsConfig {
71
+ readonly directories: IDirectoriesConfig;
72
+ readonly state: IStateConfig;
73
+ }
74
+ /**
75
+ * Minimal config interface for git-operation consumers.
76
+ *
77
+ * Consumers that only need git configuration should depend on this
78
+ * interface rather than the full LumenFlowConfig.
79
+ */
80
+ export interface IGitOperationConfig {
81
+ readonly git: IGitConfig;
82
+ }
83
+ //# sourceMappingURL=config.ports.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.ports.d.ts","sourceRoot":"","sources":["../../../src/ports/config.ports.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;GAWG;AAEH;;;;GAIG;AACH,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,aAAa,EAAE,OAAO,CAAC;IAChC,QAAQ,CAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IACnC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;IACxC,QAAQ,CAAC,2BAA2B,CAAC,EAAE,MAAM,EAAE,CAAC;IAChD,QAAQ,CAAC,2BAA2B,CAAC,EAAE,OAAO,CAAC;IAC/C,QAAQ,CAAC,SAAS,CAAC,EAAE;QACnB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;QAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;QACzB,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;QAC9B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;QAC9B,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;KAC1B,CAAC;CACH;AAED;;;;GAIG;AACH,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IAC9B,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC;IAC/B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;CAC9B;AAED;;;;GAIG;AACH,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;CAC3B;AAED;;;;;GAKG;AACH,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,WAAW,EAAE,kBAAkB,CAAC;IACzC,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;CAC9B;AAED;;;;;GAKG;AACH,MAAM,WAAW,mBAAmB;IAClC,QAAQ,CAAC,GAAG,EAAE,UAAU,CAAC;CAC1B"}
@@ -0,0 +1,4 @@
1
+ // Copyright (c) 2026 Hellmai Ltd
2
+ // SPDX-License-Identifier: AGPL-3.0-only
3
+ export {};
4
+ //# sourceMappingURL=config.ports.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.ports.js","sourceRoot":"","sources":["../../../src/ports/config.ports.ts"],"names":[],"mappings":"AAAA,iCAAiC;AACjC,yCAAyC"}
@@ -0,0 +1,113 @@
1
+ /**
2
+ * Dashboard Renderer Port
3
+ *
4
+ * Hexagonal Architecture - Output Port
5
+ * Defines the contract for rendering orchestration dashboard data to UnsafeAny UI.
6
+ * This abstraction allows the application layer to remain independent of
7
+ * specific rendering implementations.
8
+ *
9
+ * Current Implementations:
10
+ * - TerminalDashboardRenderer (WU-1322) - ASCII/ANSI terminal output
11
+ *
12
+ * Future Implementations:
13
+ * - WebDashboardRenderer - Browser-based UI
14
+ * - VSCodeWebviewRenderer - VS Code extension panel
15
+ *
16
+ * SOLID Principles:
17
+ * - Dependency Inversion: Use cases depend on this abstraction, not concrete renderers
18
+ * - Interface Segregation: Focused on rendering, no data fetching concerns
19
+ * - Open/Closed: New renderers can be added without modifying existing code
20
+ *
21
+ * @module dashboard-renderer.port
22
+ * @see {@link ../domain/orchestration.types.ts} - Types used in this interface
23
+ * @see {@link ../../adapters/terminal-renderer.adapter.ts} - Terminal implementation (WU-1322)
24
+ */
25
+ import type { DashboardData, Suggestion, ExecutionPlan, UserChoice } from '../domain/orchestration.types.js';
26
+ /**
27
+ * Dashboard Renderer Port Interface
28
+ *
29
+ * Implementers must provide methods to render all dashboard sections
30
+ * and handle user interactions for execution plan approval.
31
+ *
32
+ * @example
33
+ * // Implementing a custom renderer
34
+ * class CustomRenderer implements IDashboardRenderer {
35
+ * render(data: DashboardData): void {
36
+ * // Render global status, agent metrics, WU progress, timeline, alerts
37
+ * }
38
+ *
39
+ * renderSuggestions(suggestions: Suggestion[]): void {
40
+ * // Display prioritised suggestions
41
+ * }
42
+ *
43
+ * renderPlan(plan: ExecutionPlan): Promise<UserChoice> {
44
+ * // Show plan and get user approval
45
+ * }
46
+ *
47
+ * clear(): void {
48
+ * // Clear previous output
49
+ * }
50
+ * }
51
+ *
52
+ * @example
53
+ * // Using in a use case
54
+ * class GetDashboardDataUseCase {
55
+ * constructor(
56
+ * private readonly renderer: IDashboardRenderer,
57
+ * private readonly collector: IMetricsCollector,
58
+ * ) {}
59
+ *
60
+ * async execute(): Promise<void> {
61
+ * const data = await this.collectData();
62
+ * this.renderer.render(data);
63
+ * }
64
+ * }
65
+ */
66
+ export interface IDashboardRenderer {
67
+ /**
68
+ * Render the complete dashboard with all sections.
69
+ *
70
+ * Sections to render:
71
+ * 1. Global Status - Active WUs, completed, blocked, gates failing
72
+ * 2. Agent Small Multiples - Per-agent metrics comparison
73
+ * 3. WU Progress - DoD progress bars with agent status
74
+ * 4. Timeline - Recent orchestration events
75
+ * 5. Alerts - Items requiring attention
76
+ *
77
+ * @param data - Complete dashboard data from metrics collector
78
+ */
79
+ render(data: DashboardData): void;
80
+ /**
81
+ * Render a list of prioritised suggestions.
82
+ *
83
+ * Suggestions should be displayed with:
84
+ * - Priority indicator (HIGH/MEDIUM/LOW)
85
+ * - Action description
86
+ * - Reason for suggestion
87
+ * - Command to execute
88
+ *
89
+ * @param suggestions - Ordered list of suggestions (highest priority first)
90
+ */
91
+ renderSuggestions(suggestions: Suggestion[]): void;
92
+ /**
93
+ * Render an execution plan and get user approval.
94
+ *
95
+ * Should display:
96
+ * - WU being executed
97
+ * - Ordered list of steps
98
+ * - Estimated token cost
99
+ * - Approval prompt (approve/reject/edit)
100
+ *
101
+ * @param plan - Proposed execution plan
102
+ * @returns User's choice (approve, reject, or edit with modifications)
103
+ */
104
+ renderPlan(plan: ExecutionPlan): Promise<UserChoice>;
105
+ /**
106
+ * Clear UnsafeAny previous dashboard output.
107
+ *
108
+ * Used before re-rendering to prevent stale data display.
109
+ * Implementation depends on output medium (e.g., clear terminal, DOM update).
110
+ */
111
+ clear(): void;
112
+ }
113
+ //# sourceMappingURL=dashboard-renderer.port.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dashboard-renderer.port.d.ts","sourceRoot":"","sources":["../../../src/ports/dashboard-renderer.port.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,OAAO,KAAK,EACV,aAAa,EACb,UAAU,EACV,aAAa,EACb,UAAU,EACX,MAAM,kCAAkC,CAAC;AAE1C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,MAAM,WAAW,kBAAkB;IACjC;;;;;;;;;;;OAWG;IACH,MAAM,CAAC,IAAI,EAAE,aAAa,GAAG,IAAI,CAAC;IAElC;;;;;;;;;;OAUG;IACH,iBAAiB,CAAC,WAAW,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC;IAEnD;;;;;;;;;;;OAWG;IACH,UAAU,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IAErD;;;;;OAKG;IACH,KAAK,IAAI,IAAI,CAAC;CACf"}
@@ -0,0 +1,4 @@
1
+ // Copyright (c) 2026 Hellmai Ltd
2
+ // SPDX-License-Identifier: AGPL-3.0-only
3
+ export {};
4
+ //# sourceMappingURL=dashboard-renderer.port.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dashboard-renderer.port.js","sourceRoot":"","sources":["../../../src/ports/dashboard-renderer.port.ts"],"names":[],"mappings":"AAAA,iCAAiC;AACjC,yCAAyC"}
@@ -0,0 +1,5 @@
1
+ export * from './wu-state.ports.js';
2
+ export * from './sync-validator.ports.js';
3
+ export * from './wu-helpers.ports.js';
4
+ export * from './config.ports.js';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ports/index.ts"],"names":[],"mappings":"AAMA,cAAc,qBAAqB,CAAC;AACpC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC"}
@@ -0,0 +1,10 @@
1
+ // Copyright (c) 2026 Hellmai Ltd
2
+ // SPDX-License-Identifier: AGPL-3.0-only
3
+ // Barrel for pack-local port contracts. Populated by Layer 4 of INIT-058.
4
+ // WU-2699: moved wu-state.ports, sync-validator.ports from @lumenflow/core.
5
+ // WU-2716: moved wu-helpers.ports, config.ports from @lumenflow/core.
6
+ export * from './wu-state.ports.js';
7
+ export * from './sync-validator.ports.js';
8
+ export * from './wu-helpers.ports.js';
9
+ export * from './config.ports.js';
10
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ports/index.ts"],"names":[],"mappings":"AAAA,iCAAiC;AACjC,yCAAyC;AAEzC,0EAA0E;AAC1E,4EAA4E;AAC5E,sEAAsE;AACtE,cAAc,qBAAqB,CAAC;AACpC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,uBAAuB,CAAC;AACtC,cAAc,mBAAmB,CAAC"}
@@ -0,0 +1,52 @@
1
+ /**
2
+ * Sync Validator Port Interfaces
3
+ *
4
+ * Canonical git adapter contract for main-branch sync validation helpers.
5
+ *
6
+ * @module ports/sync-validator
7
+ */
8
+ import type { IGitAdapter } from '@lumenflow/host/git/git-validator.ports';
9
+ /**
10
+ * Canonical git adapter shape for sync validation operations.
11
+ */
12
+ export interface ISyncValidatorGitAdapter {
13
+ fetch: IGitAdapter['fetch'];
14
+ getCommitHash: IGitAdapter['getCommitHash'];
15
+ revList: IGitAdapter['revList'];
16
+ }
17
+ /**
18
+ * WU-2208: Git adapter shape for remote-aware WU ID generation.
19
+ *
20
+ * Extends the sync validator contract with tree listing and file content
21
+ * retrieval at a specific git ref (e.g., origin/main). Designed to
22
+ * accommodate future cloud `allocateWuId()` by keeping the interface
23
+ * narrow and async.
24
+ */
25
+ export interface IWuIdGitAdapter {
26
+ /** Fetch remote refs (e.g., origin main). */
27
+ fetch: IGitAdapter['fetch'];
28
+ /**
29
+ * List file/directory names at a given ref and tree path.
30
+ *
31
+ * Equivalent to: git ls-tree --name-only <ref> <path>/
32
+ * Returns an array of filenames (not full paths) within the directory.
33
+ * Returns empty array if the path does not exist at the given ref.
34
+ *
35
+ * @param ref - Git ref (e.g., 'origin/main')
36
+ * @param path - Directory path relative to repo root (e.g., 'docs/operations/tasks/wu')
37
+ * @returns Array of filenames in the directory at the given ref
38
+ */
39
+ listTreeAtRef(ref: string, path: string): Promise<string[]>;
40
+ /**
41
+ * Show a file's content at a given ref.
42
+ *
43
+ * Equivalent to: git show <ref>:<path>
44
+ * Returns empty string if the file does not exist at the given ref.
45
+ *
46
+ * @param ref - Git ref (e.g., 'origin/main')
47
+ * @param path - File path relative to repo root
48
+ * @returns File content as string, or empty string if not found
49
+ */
50
+ showFileAtRef(ref: string, path: string): Promise<string>;
51
+ }
52
+ //# sourceMappingURL=sync-validator.ports.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sync-validator.ports.d.ts","sourceRoot":"","sources":["../../../src/ports/sync-validator.ports.ts"],"names":[],"mappings":"AAGA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,yCAAyC,CAAC;AAE3E;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,KAAK,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;IAC5B,aAAa,EAAE,WAAW,CAAC,eAAe,CAAC,CAAC;IAC5C,OAAO,EAAE,WAAW,CAAC,SAAS,CAAC,CAAC;CACjC;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,eAAe;IAC9B,6CAA6C;IAC7C,KAAK,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;IAE5B;;;;;;;;;;OAUG;IACH,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAE5D;;;;;;;;;OASG;IACH,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CAC3D"}
@@ -0,0 +1,4 @@
1
+ // Copyright (c) 2026 Hellmai Ltd
2
+ // SPDX-License-Identifier: AGPL-3.0-only
3
+ export {};
4
+ //# sourceMappingURL=sync-validator.ports.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sync-validator.ports.js","sourceRoot":"","sources":["../../../src/ports/sync-validator.ports.ts"],"names":[],"mappings":"AAAA,iCAAiC;AACjC,yCAAyC"}
@@ -0,0 +1,157 @@
1
+ /**
2
+ * WU Helpers Port Interfaces
3
+ *
4
+ * WU-1102: INIT-003 Phase 2b - Port interfaces for WU helper modules
5
+ *
6
+ * Hexagonal Architecture - Input Ports:
7
+ * These abstractions allow external users to inject custom implementations
8
+ * for WU lifecycle operations.
9
+ *
10
+ * @module ports/wu-helpers
11
+ */
12
+ import type { ISyncValidatorGitAdapter } from './sync-validator.ports.js';
13
+ /**
14
+ * Git adapter interface for ensureOnMain and ensureMainUpToDate operations
15
+ */
16
+ export interface IWuGitAdapter extends Pick<ISyncValidatorGitAdapter, 'fetch' | 'getCommitHash'> {
17
+ /**
18
+ * Get the current git branch name
19
+ * @returns Promise resolving to branch name
20
+ */
21
+ getCurrentBranch(): Promise<string>;
22
+ }
23
+ /**
24
+ * WU status check result
25
+ */
26
+ export interface IWuStatusCheckResult {
27
+ /** Whether the operation is allowed */
28
+ allowed: boolean;
29
+ /** Current WU status */
30
+ status: string | null;
31
+ /** Error message if not allowed */
32
+ error: string | null;
33
+ }
34
+ /**
35
+ * Branch validation result
36
+ */
37
+ export interface IBranchValidationResult {
38
+ /** Whether the branch name is valid */
39
+ valid: boolean;
40
+ /** Lane name (kebab-case) or null */
41
+ lane: string | null;
42
+ /** WU ID (uppercase) or null */
43
+ wuid: string | null;
44
+ /** Error message if invalid */
45
+ error: string | null;
46
+ }
47
+ /**
48
+ * WU YAML reader interface
49
+ */
50
+ export interface IWuYamlReader {
51
+ /**
52
+ * Read and parse WU YAML file
53
+ * @param wuPath - Path to WU YAML file
54
+ * @param expectedId - Expected WU ID for validation
55
+ * @returns Parsed WU document
56
+ */
57
+ readWU(wuPath: string, expectedId: string): unknown;
58
+ /**
59
+ * Read YAML file without ID validation
60
+ * @param yamlPath - Path to YAML file
61
+ * @returns Parsed document
62
+ */
63
+ readWURaw(yamlPath: string): unknown;
64
+ }
65
+ /**
66
+ * WU YAML writer interface
67
+ */
68
+ export interface IWuYamlWriter {
69
+ /**
70
+ * Write WU document to file
71
+ * @param wuPath - Path to WU YAML file
72
+ * @param doc - Document to write
73
+ */
74
+ writeWU(wuPath: string, doc: unknown): void;
75
+ }
76
+ export type { IWuStateStore } from './wu-state.ports.js';
77
+ /**
78
+ * WU checkpoint interface
79
+ */
80
+ export interface IWuCheckpointManager {
81
+ /**
82
+ * Create a pre-gates checkpoint
83
+ */
84
+ createPreGatesCheckpoint(params: {
85
+ wuId: string;
86
+ worktreePath: string;
87
+ branchName: string;
88
+ gatesPassed?: boolean;
89
+ }, options?: {
90
+ baseDir?: string;
91
+ }): Promise<{
92
+ checkpointId: string;
93
+ gatesPassed: boolean;
94
+ }>;
95
+ /**
96
+ * Mark checkpoint as gates passed
97
+ * @param wuId - WU identifier
98
+ * @returns True if updated
99
+ */
100
+ markGatesPassed(wuId: string, options?: {
101
+ baseDir?: string;
102
+ }): boolean;
103
+ /**
104
+ * Get checkpoint for a WU
105
+ * @param wuId - WU identifier
106
+ * @returns Checkpoint or null
107
+ */
108
+ getCheckpoint(wuId: string, options?: {
109
+ baseDir?: string;
110
+ }): {
111
+ gatesPassed: boolean;
112
+ worktreeHeadSha: string;
113
+ } | null;
114
+ /**
115
+ * Clear checkpoint
116
+ * @param wuId - WU identifier
117
+ */
118
+ clearCheckpoint(wuId: string, options?: {
119
+ baseDir?: string;
120
+ }): void;
121
+ /**
122
+ * Check if gates can be skipped
123
+ */
124
+ canSkipGates(wuId: string, options?: {
125
+ baseDir?: string;
126
+ currentHeadSha?: string;
127
+ }): {
128
+ canSkip: boolean;
129
+ reason?: string;
130
+ };
131
+ }
132
+ /**
133
+ * WU paths interface
134
+ */
135
+ export interface IWuPaths {
136
+ /** Get path to WU YAML file */
137
+ WU(id: string): string;
138
+ /** Get path to WU directory */
139
+ WU_DIR(): string;
140
+ /** Get path to status.md */
141
+ STATUS(): string;
142
+ /** Get path to backlog.md */
143
+ BACKLOG(): string;
144
+ /** Get path to stamps directory */
145
+ STAMPS_DIR(): string;
146
+ /** Get path to WU done stamp file */
147
+ STAMP(id: string): string;
148
+ /** Get path to state directory */
149
+ STATE_DIR(): string;
150
+ /** Get path to initiatives directory */
151
+ INITIATIVES_DIR(): string;
152
+ /** Get path to initiative YAML file */
153
+ INITIATIVE(id: string): string;
154
+ /** Get path to worktrees directory */
155
+ WORKTREES_DIR(): string;
156
+ }
157
+ //# sourceMappingURL=wu-helpers.ports.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wu-helpers.ports.d.ts","sourceRoot":"","sources":["../../../src/ports/wu-helpers.ports.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ // Copyright (c) 2026 Hellmai Ltd
2
+ // SPDX-License-Identifier: AGPL-3.0-only
3
+ export {};
4
+ //# sourceMappingURL=wu-helpers.ports.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wu-helpers.ports.js","sourceRoot":"","sources":["../../../src/ports/wu-helpers.ports.ts"],"names":[],"mappings":"AAAA,iCAAiC;AACjC,yCAAyC"}