@lumenflow/packs-software-delivery 4.23.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,236 @@
1
+ /**
2
+ * UI and Display Constants
3
+ *
4
+ * WU-1549: Extracted from wu-constants.ts for domain-specific modularity.
5
+ * Contains backlog sections, status sections, log prefixes, emoji, box drawing,
6
+ * display limits, string literals, YAML options, and readiness UI.
7
+ *
8
+ * @module wu-ui-constants
9
+ */
10
+ /**
11
+ * Backlog section headings (with emojis)
12
+ *
13
+ * These match the frontmatter config in backlog.md
14
+ */
15
+ export declare const BACKLOG_SECTIONS: {
16
+ READY: string;
17
+ IN_PROGRESS: string;
18
+ BLOCKED: string;
19
+ DONE: string;
20
+ };
21
+ /**
22
+ * Backlog bullet format types (WU-1444)
23
+ *
24
+ * Used by BacklogManager to format list items in each section.
25
+ * Each format produces a different markdown bullet style.
26
+ */
27
+ export declare const BACKLOG_BULLET_FORMAT: {
28
+ /** Ready format: '- [ ] [WU-ID -- Title](link)' */
29
+ READY: string;
30
+ /** Progress format: '- [WU-ID -- Title](link)' */
31
+ PROGRESS: string;
32
+ /** Blocked format: '- [ ] [WU-ID -- Title](link) -- Reason' */
33
+ BLOCKED: string;
34
+ /** Done format: '- [x] [WU-ID -- Title](link) (YYYY-MM-DD)' */
35
+ DONE: string;
36
+ };
37
+ /**
38
+ * Status.md section headings (simpler format)
39
+ */
40
+ export declare const STATUS_SECTIONS: {
41
+ IN_PROGRESS: string;
42
+ BLOCKED: string;
43
+ COMPLETED: string;
44
+ };
45
+ /**
46
+ * Log prefixes for wu- scripts
47
+ *
48
+ * Consistent prefixes for console output
49
+ */
50
+ export declare const LOG_PREFIX: {
51
+ DONE: string;
52
+ CLAIM: string;
53
+ CREATE: string;
54
+ EDIT: string;
55
+ DELETE: string;
56
+ BLOCK: string;
57
+ UNBLOCK: string;
58
+ UNLOCK_LANE: string;
59
+ CLEANUP: string;
60
+ PRUNE: string;
61
+ REPAIR: string;
62
+ CONSISTENCY: string;
63
+ PREFLIGHT: string;
64
+ INITIATIVE_PLAN: string;
65
+ PLAN_CREATE: string;
66
+ PLAN_LINK: string;
67
+ PLAN_EDIT: string;
68
+ PLAN_PROMOTE: string;
69
+ ESCALATE: string;
70
+ };
71
+ /**
72
+ * Emoji constants for consistent console output
73
+ *
74
+ * WU-1281: Centralized from hardcoded emojis across wu-* scripts
75
+ */
76
+ export declare const EMOJI: {
77
+ SUCCESS: string;
78
+ FAILURE: string;
79
+ WARNING: string;
80
+ INFO: string;
81
+ BLOCKED: string;
82
+ ROCKET: string;
83
+ WRENCH: string;
84
+ TARGET: string;
85
+ MEMO: string;
86
+ FOLDER: string;
87
+ };
88
+ /**
89
+ * Box drawing characters for console output
90
+ *
91
+ * Emergency fix (Session 2): Centralized to eliminate sonarjs/no-duplicate-string errors
92
+ * Used for recovery dialogs and error boxes in wu-* scripts
93
+ */
94
+ export declare const BOX: {
95
+ /** Top border: ╔══...══╗ (66 chars inside + corners = 68 total) */
96
+ TOP: string;
97
+ /** Middle separator: ╠══...══╣ */
98
+ MID: string;
99
+ /** Bottom border: ╚══...══╝ */
100
+ BOT: string;
101
+ /** Side border for content lines */
102
+ SIDE: string;
103
+ };
104
+ /**
105
+ * UI display constants
106
+ *
107
+ * WU-1281: Centralized from hardcoded values in wu-done.ts
108
+ */
109
+ export declare const UI: {
110
+ /** Width for error/info boxes in console output */
111
+ ERROR_BOX_WIDTH: number;
112
+ /** Number of lines to show in status file preview */
113
+ STATUS_PREVIEW_LINES: number;
114
+ };
115
+ /**
116
+ * Display limits for CLI output (WU-1068)
117
+ *
118
+ * Centralized limits for truncating display strings to avoid magic numbers.
119
+ */
120
+ export declare const DISPLAY_LIMITS: {
121
+ /** Maximum items to show in lists before truncating */
122
+ LIST_ITEMS: number;
123
+ /** Maximum items to show in short lists */
124
+ SHORT_LIST: number;
125
+ /** Maximum characters for content preview */
126
+ CONTENT_PREVIEW: number;
127
+ /** Maximum characters for short preview */
128
+ SHORT_PREVIEW: number;
129
+ /** Maximum characters for title display */
130
+ TITLE: number;
131
+ /** Maximum characters for truncated title */
132
+ TRUNCATED_TITLE: number;
133
+ /** Maximum characters for command preview */
134
+ CMD_PREVIEW: number;
135
+ /** Maximum lines to preview from files */
136
+ FILE_LINES: number;
137
+ /** Maximum commits to show in lists */
138
+ COMMITS: number;
139
+ /** Maximum overlaps to display */
140
+ OVERLAPS: number;
141
+ };
142
+ /**
143
+ * YAML serialization options
144
+ *
145
+ * Centralized from duplicated { lineWidth: 100 } across wu-* scripts (WU-1256).
146
+ * Use with yaml stringify() options.
147
+ */
148
+ export declare const YAML_OPTIONS: {
149
+ /** Standard line width for YAML dump (100 chars) */
150
+ LINE_WIDTH: number;
151
+ /** No line wrapping (-1 disables wrapping) */
152
+ NO_WRAP: number;
153
+ };
154
+ /**
155
+ * Process argv indices (WU-1068)
156
+ *
157
+ * Centralized indices for process.argv access to eliminate magic numbers.
158
+ * In Node.js: argv[0] = node, argv[1] = script, argv[2+] = args
159
+ */
160
+ export declare const ARGV_INDICES: {
161
+ /** Node executable path */
162
+ NODE: number;
163
+ /** Script path */
164
+ SCRIPT: number;
165
+ /** First user argument */
166
+ FIRST_ARG: number;
167
+ /** Second user argument */
168
+ SECOND_ARG: number;
169
+ };
170
+ /**
171
+ * String formatting constants
172
+ *
173
+ * Centralized string literals for consistent formatting across scripts.
174
+ * Eliminates hardcoded '\n', ' ', etc. throughout the codebase.
175
+ */
176
+ export declare const STRING_LITERALS: {
177
+ /** Newline character */
178
+ NEWLINE: string;
179
+ /** Double newline (paragraph separator) */
180
+ DOUBLE_NEWLINE: string;
181
+ /** Space character */
182
+ SPACE: string;
183
+ /** Empty string */
184
+ EMPTY: string;
185
+ /** Tab character */
186
+ TAB: string;
187
+ /** Comma separator */
188
+ COMMA: string;
189
+ /** Colon separator */
190
+ COLON: string;
191
+ /** Dash/hyphen */
192
+ DASH: string;
193
+ /** Forward slash */
194
+ SLASH: string;
195
+ };
196
+ /**
197
+ * Readiness summary UI constants (WU-1620)
198
+ *
199
+ * Constants for the readiness summary box displayed after wu:create and wu:edit.
200
+ * Provides visual feedback on whether WU is ready for wu:claim.
201
+ *
202
+ * @see tools/wu-create.ts - displayReadinessSummary()
203
+ * @see tools/wu-edit.ts - displayReadinessSummary()
204
+ */
205
+ export declare const READINESS_UI: {
206
+ /** Box width (inner content area) */
207
+ BOX_WIDTH: number;
208
+ /** Box drawing characters */
209
+ BOX: {
210
+ TOP_LEFT: string;
211
+ TOP_RIGHT: string;
212
+ BOTTOM_LEFT: string;
213
+ BOTTOM_RIGHT: string;
214
+ HORIZONTAL: string;
215
+ VERTICAL: string;
216
+ };
217
+ /** Status messages */
218
+ MESSAGES: {
219
+ READY_YES: string;
220
+ READY_NO: string;
221
+ MISSING_HEADER: string;
222
+ BULLET: string;
223
+ };
224
+ /** Error truncation length */
225
+ ERROR_MAX_LENGTH: number;
226
+ ERROR_TRUNCATE_LENGTH: number;
227
+ TRUNCATION_SUFFIX: string;
228
+ /** Padding calculations (relative to BOX_WIDTH) */
229
+ PADDING: {
230
+ READY_YES: number;
231
+ READY_NO: number;
232
+ MISSING_HEADER: number;
233
+ ERROR_BULLET: number;
234
+ };
235
+ };
236
+ //# sourceMappingURL=wu-ui-constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wu-ui-constants.d.ts","sourceRoot":"","sources":["../../../src/constants/wu-ui-constants.ts"],"names":[],"mappings":"AAGA;;;;;;;;GAQG;AAEH;;;;GAIG;AACH,eAAO,MAAM,gBAAgB;;;;;CAK5B,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB;IAChC,mDAAmD;;IAEnD,kDAAkD;;IAElD,+DAA+D;;IAE/D,+DAA+D;;CAEhE,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,eAAe;;;;CAI3B,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;CAoBtB,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,KAAK;;;;;;;;;;;CAWjB,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,GAAG;IACd,mEAAmE;;IAGnE,kCAAkC;;IAGlC,+BAA+B;;IAG/B,oCAAoC;;CAErC,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,EAAE;IACb,mDAAmD;;IAGnD,qDAAqD;;CAEtD,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,cAAc;IACzB,uDAAuD;;IAEvD,2CAA2C;;IAE3C,6CAA6C;;IAE7C,2CAA2C;;IAE3C,2CAA2C;;IAE3C,6CAA6C;;IAE7C,6CAA6C;;IAE7C,0CAA0C;;IAE1C,uCAAuC;;IAEvC,kCAAkC;;CAEnC,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,YAAY;IACvB,oDAAoD;;IAGpD,8CAA8C;;CAE/C,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,YAAY;IACvB,2BAA2B;;IAE3B,kBAAkB;;IAElB,0BAA0B;;IAE1B,2BAA2B;;CAE5B,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,eAAe;IAC1B,wBAAwB;;IAGxB,2CAA2C;;IAG3C,sBAAsB;;IAGtB,mBAAmB;;IAGnB,oBAAoB;;IAGpB,sBAAsB;;IAGtB,sBAAsB;;IAGtB,kBAAkB;;IAGlB,oBAAoB;;CAErB,CAAC;AAEF;;;;;;;;GAQG;AACH,eAAO,MAAM,YAAY;IACvB,qCAAqC;;IAGrC,6BAA6B;;;;;;;;;IAU7B,sBAAsB;;;;;;;IAQtB,8BAA8B;;;;IAK9B,mDAAmD;;;;;;;CAOpD,CAAC"}
@@ -0,0 +1,238 @@
1
+ // Copyright (c) 2026 Hellmai Ltd
2
+ // SPDX-License-Identifier: AGPL-3.0-only
3
+ /**
4
+ * UI and Display Constants
5
+ *
6
+ * WU-1549: Extracted from wu-constants.ts for domain-specific modularity.
7
+ * Contains backlog sections, status sections, log prefixes, emoji, box drawing,
8
+ * display limits, string literals, YAML options, and readiness UI.
9
+ *
10
+ * @module wu-ui-constants
11
+ */
12
+ /**
13
+ * Backlog section headings (with emojis)
14
+ *
15
+ * These match the frontmatter config in backlog.md
16
+ */
17
+ export const BACKLOG_SECTIONS = {
18
+ READY: '## 🚀 Ready (pull from here)',
19
+ IN_PROGRESS: '## 🔧 In progress',
20
+ BLOCKED: '## ⛔ Blocked',
21
+ DONE: '## ✅ Done',
22
+ };
23
+ /**
24
+ * Backlog bullet format types (WU-1444)
25
+ *
26
+ * Used by BacklogManager to format list items in each section.
27
+ * Each format produces a different markdown bullet style.
28
+ */
29
+ export const BACKLOG_BULLET_FORMAT = {
30
+ /** Ready format: '- [ ] [WU-ID -- Title](link)' */
31
+ READY: 'ready',
32
+ /** Progress format: '- [WU-ID -- Title](link)' */
33
+ PROGRESS: 'progress',
34
+ /** Blocked format: '- [ ] [WU-ID -- Title](link) -- Reason' */
35
+ BLOCKED: 'blocked',
36
+ /** Done format: '- [x] [WU-ID -- Title](link) (YYYY-MM-DD)' */
37
+ DONE: 'done',
38
+ };
39
+ /**
40
+ * Status.md section headings (simpler format)
41
+ */
42
+ export const STATUS_SECTIONS = {
43
+ IN_PROGRESS: '## In Progress',
44
+ BLOCKED: '## Blocked',
45
+ COMPLETED: '## Completed',
46
+ };
47
+ /**
48
+ * Log prefixes for wu- scripts
49
+ *
50
+ * Consistent prefixes for console output
51
+ */
52
+ export const LOG_PREFIX = {
53
+ DONE: '[wu-done]',
54
+ CLAIM: '[wu-claim]',
55
+ CREATE: '[wu:create]',
56
+ EDIT: '[wu:edit]',
57
+ DELETE: '[wu:delete]',
58
+ BLOCK: '[wu-block]',
59
+ UNBLOCK: '[wu-unblock]',
60
+ UNLOCK_LANE: '[wu-unlock-lane]',
61
+ CLEANUP: '[wu-cleanup]',
62
+ PRUNE: '[wu-prune]',
63
+ REPAIR: '[wu:repair]',
64
+ CONSISTENCY: '[wu-consistency]',
65
+ PREFLIGHT: '[wu-preflight]',
66
+ INITIATIVE_PLAN: '[initiative:plan]',
67
+ PLAN_CREATE: '[plan:create]',
68
+ PLAN_LINK: '[plan:link]',
69
+ PLAN_EDIT: '[plan:edit]',
70
+ PLAN_PROMOTE: '[plan:promote]',
71
+ ESCALATE: '[wu:escalate]',
72
+ };
73
+ /**
74
+ * Emoji constants for consistent console output
75
+ *
76
+ * WU-1281: Centralized from hardcoded emojis across wu-* scripts
77
+ */
78
+ export const EMOJI = {
79
+ SUCCESS: '✅',
80
+ FAILURE: '❌',
81
+ WARNING: '⚠️',
82
+ INFO: 'ℹ️',
83
+ BLOCKED: '⛔',
84
+ ROCKET: '🚀',
85
+ WRENCH: '🔧',
86
+ TARGET: '🎯',
87
+ MEMO: '📝',
88
+ FOLDER: '📍',
89
+ };
90
+ /**
91
+ * Box drawing characters for console output
92
+ *
93
+ * Emergency fix (Session 2): Centralized to eliminate sonarjs/no-duplicate-string errors
94
+ * Used for recovery dialogs and error boxes in wu-* scripts
95
+ */
96
+ export const BOX = {
97
+ /** Top border: ╔══...══╗ (66 chars inside + corners = 68 total) */
98
+ TOP: '╔══════════════════════════════════════════════════════════════════╗',
99
+ /** Middle separator: ╠══...══╣ */
100
+ MID: '╠══════════════════════════════════════════════════════════════════╣',
101
+ /** Bottom border: ╚══...══╝ */
102
+ BOT: '╚══════════════════════════════════════════════════════════════════╝',
103
+ /** Side border for content lines */
104
+ SIDE: '║',
105
+ };
106
+ /**
107
+ * UI display constants
108
+ *
109
+ * WU-1281: Centralized from hardcoded values in wu-done.ts
110
+ */
111
+ export const UI = {
112
+ /** Width for error/info boxes in console output */
113
+ ERROR_BOX_WIDTH: 70,
114
+ /** Number of lines to show in status file preview */
115
+ STATUS_PREVIEW_LINES: 5,
116
+ };
117
+ /**
118
+ * Display limits for CLI output (WU-1068)
119
+ *
120
+ * Centralized limits for truncating display strings to avoid magic numbers.
121
+ */
122
+ export const DISPLAY_LIMITS = {
123
+ /** Maximum items to show in lists before truncating */
124
+ LIST_ITEMS: 5,
125
+ /** Maximum items to show in short lists */
126
+ SHORT_LIST: 3,
127
+ /** Maximum characters for content preview */
128
+ CONTENT_PREVIEW: 200,
129
+ /** Maximum characters for short preview */
130
+ SHORT_PREVIEW: 60,
131
+ /** Maximum characters for title display */
132
+ TITLE: 50,
133
+ /** Maximum characters for truncated title */
134
+ TRUNCATED_TITLE: 40,
135
+ /** Maximum characters for command preview */
136
+ CMD_PREVIEW: 60,
137
+ /** Maximum lines to preview from files */
138
+ FILE_LINES: 10,
139
+ /** Maximum commits to show in lists */
140
+ COMMITS: 50,
141
+ /** Maximum overlaps to display */
142
+ OVERLAPS: 3,
143
+ };
144
+ /**
145
+ * YAML serialization options
146
+ *
147
+ * Centralized from duplicated { lineWidth: 100 } across wu-* scripts (WU-1256).
148
+ * Use with yaml stringify() options.
149
+ */
150
+ export const YAML_OPTIONS = {
151
+ /** Standard line width for YAML dump (100 chars) */
152
+ LINE_WIDTH: 100,
153
+ /** No line wrapping (-1 disables wrapping) */
154
+ NO_WRAP: -1,
155
+ };
156
+ /**
157
+ * Process argv indices (WU-1068)
158
+ *
159
+ * Centralized indices for process.argv access to eliminate magic numbers.
160
+ * In Node.js: argv[0] = node, argv[1] = script, argv[2+] = args
161
+ */
162
+ export const ARGV_INDICES = {
163
+ /** Node executable path */
164
+ NODE: 0,
165
+ /** Script path */
166
+ SCRIPT: 1,
167
+ /** First user argument */
168
+ FIRST_ARG: 2,
169
+ /** Second user argument */
170
+ SECOND_ARG: 3,
171
+ };
172
+ /**
173
+ * String formatting constants
174
+ *
175
+ * Centralized string literals for consistent formatting across scripts.
176
+ * Eliminates hardcoded '\n', ' ', etc. throughout the codebase.
177
+ */
178
+ export const STRING_LITERALS = {
179
+ /** Newline character */
180
+ NEWLINE: '\n',
181
+ /** Double newline (paragraph separator) */
182
+ DOUBLE_NEWLINE: '\n\n',
183
+ /** Space character */
184
+ SPACE: ' ',
185
+ /** Empty string */
186
+ EMPTY: '',
187
+ /** Tab character */
188
+ TAB: '\t',
189
+ /** Comma separator */
190
+ COMMA: ',',
191
+ /** Colon separator */
192
+ COLON: ':',
193
+ /** Dash/hyphen */
194
+ DASH: '-',
195
+ /** Forward slash */
196
+ SLASH: '/',
197
+ };
198
+ /**
199
+ * Readiness summary UI constants (WU-1620)
200
+ *
201
+ * Constants for the readiness summary box displayed after wu:create and wu:edit.
202
+ * Provides visual feedback on whether WU is ready for wu:claim.
203
+ *
204
+ * @see tools/wu-create.ts - displayReadinessSummary()
205
+ * @see tools/wu-edit.ts - displayReadinessSummary()
206
+ */
207
+ export const READINESS_UI = {
208
+ /** Box width (inner content area) */
209
+ BOX_WIDTH: 50,
210
+ /** Box drawing characters */
211
+ BOX: {
212
+ TOP_LEFT: '┌',
213
+ TOP_RIGHT: '┐',
214
+ BOTTOM_LEFT: '└',
215
+ BOTTOM_RIGHT: '┘',
216
+ HORIZONTAL: '─',
217
+ VERTICAL: '│',
218
+ },
219
+ /** Status messages */
220
+ MESSAGES: {
221
+ READY_YES: '✅ Ready to claim: YES',
222
+ READY_NO: '⚠️ Ready to claim: NO',
223
+ MISSING_HEADER: 'Missing:',
224
+ BULLET: '•',
225
+ },
226
+ /** Error truncation length */
227
+ ERROR_MAX_LENGTH: 46,
228
+ ERROR_TRUNCATE_LENGTH: 43,
229
+ TRUNCATION_SUFFIX: '...',
230
+ /** Padding calculations (relative to BOX_WIDTH) */
231
+ PADDING: {
232
+ READY_YES: 27, // 50 - len("... Ready to claim: YES") - 1
233
+ READY_NO: 28, // 50 - len("... Ready to claim: NO") - 1
234
+ MISSING_HEADER: 41, // 50 - len("Missing:") - 1
235
+ ERROR_BULLET: 45, // 50 - len(" ... ") - 1
236
+ },
237
+ };
238
+ //# sourceMappingURL=wu-ui-constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wu-ui-constants.js","sourceRoot":"","sources":["../../../src/constants/wu-ui-constants.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,61 @@
1
+ /**
2
+ * WU Validation Constants (WU-1243)
3
+ *
4
+ * Centralizes magic numbers for lane inference and incident validation.
5
+ * Extracted from lane-inference.ts and agent-incidents.ts for DRY compliance.
6
+ *
7
+ * @module wu-validation-constants
8
+ */
9
+ /**
10
+ * Lane inference scoring weights.
11
+ * Code path matches are weighted higher than keywords because
12
+ * file paths are more reliable signals for lane classification.
13
+ *
14
+ * The 10:3 ratio (~3.3x) reflects that a code path match is approximately
15
+ * 3x more indicative of the correct lane than a keyword match.
16
+ */
17
+ export declare const WEIGHTS: {
18
+ /** Weight for code path pattern matches (more reliable signal) */
19
+ CODE_PATH_MATCH: number;
20
+ /** Weight for keyword matches in description (less specific signal) */
21
+ KEYWORD_MATCH: number;
22
+ };
23
+ /**
24
+ * Confidence score configuration for lane inference.
25
+ *
26
+ * WU-2438: Changed from percentage-based (0-100) to absolute scoring.
27
+ * Raw scores (sum of WEIGHTS) are now returned directly.
28
+ * Higher score = better match, regardless of config size.
29
+ */
30
+ export declare const CONFIDENCE: {
31
+ /** Minimum confidence value (no matches) */
32
+ MIN: number;
33
+ /** Maximum confidence value (legacy, kept for backward compatibility) */
34
+ MAX: number;
35
+ /**
36
+ * Minimum confidence threshold to return a suggestion.
37
+ * Set to 0 to always return best match (even low confidence).
38
+ * Note: With absolute scoring, this threshold is compared against raw scores.
39
+ */
40
+ THRESHOLD: number;
41
+ };
42
+ /**
43
+ * String length validation limits for incident logging.
44
+ * Prevents abuse while allowing meaningful content.
45
+ */
46
+ export declare const VALIDATION_LIMITS: {
47
+ /** Minimum title length (prevents truncated/empty titles) */
48
+ TITLE_MIN: number;
49
+ /** Maximum title length (keeps logs readable) */
50
+ TITLE_MAX: number;
51
+ /** Minimum description length (prevents one-liners) */
52
+ DESCRIPTION_MIN: number;
53
+ /** Maximum description length (prevents unbounded logging) */
54
+ DESCRIPTION_MAX: number;
55
+ };
56
+ /**
57
+ * Valid incident categories for agent issue logging.
58
+ * Duplicated from agent-incidents.ts z.enum for use in default arrays.
59
+ */
60
+ export declare const INCIDENT_CATEGORIES: readonly ["workflow", "tooling", "confusion", "violation", "error"];
61
+ //# sourceMappingURL=wu-validation-constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wu-validation-constants.d.ts","sourceRoot":"","sources":["../../../src/constants/wu-validation-constants.ts"],"names":[],"mappings":"AAGA;;;;;;;GAOG;AAEH;;;;;;;GAOG;AACH,eAAO,MAAM,OAAO;IAClB,kEAAkE;;IAElE,uEAAuE;;CAExE,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,UAAU;IACrB,4CAA4C;;IAE5C,yEAAyE;;IAEzE;;;;OAIG;;CAEJ,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,iBAAiB;IAC5B,6DAA6D;;IAE7D,iDAAiD;;IAEjD,uDAAuD;;IAEvD,8DAA8D;;CAE/D,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,mBAAmB,qEAMtB,CAAC"}
@@ -0,0 +1,69 @@
1
+ // Copyright (c) 2026 Hellmai Ltd
2
+ // SPDX-License-Identifier: AGPL-3.0-only
3
+ /**
4
+ * WU Validation Constants (WU-1243)
5
+ *
6
+ * Centralizes magic numbers for lane inference and incident validation.
7
+ * Extracted from lane-inference.ts and agent-incidents.ts for DRY compliance.
8
+ *
9
+ * @module wu-validation-constants
10
+ */
11
+ /**
12
+ * Lane inference scoring weights.
13
+ * Code path matches are weighted higher than keywords because
14
+ * file paths are more reliable signals for lane classification.
15
+ *
16
+ * The 10:3 ratio (~3.3x) reflects that a code path match is approximately
17
+ * 3x more indicative of the correct lane than a keyword match.
18
+ */
19
+ export const WEIGHTS = {
20
+ /** Weight for code path pattern matches (more reliable signal) */
21
+ CODE_PATH_MATCH: 10,
22
+ /** Weight for keyword matches in description (less specific signal) */
23
+ KEYWORD_MATCH: 3,
24
+ };
25
+ /**
26
+ * Confidence score configuration for lane inference.
27
+ *
28
+ * WU-2438: Changed from percentage-based (0-100) to absolute scoring.
29
+ * Raw scores (sum of WEIGHTS) are now returned directly.
30
+ * Higher score = better match, regardless of config size.
31
+ */
32
+ export const CONFIDENCE = {
33
+ /** Minimum confidence value (no matches) */
34
+ MIN: 0,
35
+ /** Maximum confidence value (legacy, kept for backward compatibility) */
36
+ MAX: 100,
37
+ /**
38
+ * Minimum confidence threshold to return a suggestion.
39
+ * Set to 0 to always return best match (even low confidence).
40
+ * Note: With absolute scoring, this threshold is compared against raw scores.
41
+ */
42
+ THRESHOLD: 0,
43
+ };
44
+ /**
45
+ * String length validation limits for incident logging.
46
+ * Prevents abuse while allowing meaningful content.
47
+ */
48
+ export const VALIDATION_LIMITS = {
49
+ /** Minimum title length (prevents truncated/empty titles) */
50
+ TITLE_MIN: 5,
51
+ /** Maximum title length (keeps logs readable) */
52
+ TITLE_MAX: 100,
53
+ /** Minimum description length (prevents one-liners) */
54
+ DESCRIPTION_MIN: 10,
55
+ /** Maximum description length (prevents unbounded logging) */
56
+ DESCRIPTION_MAX: 2000,
57
+ };
58
+ /**
59
+ * Valid incident categories for agent issue logging.
60
+ * Duplicated from agent-incidents.ts z.enum for use in default arrays.
61
+ */
62
+ export const INCIDENT_CATEGORIES = [
63
+ 'workflow',
64
+ 'tooling',
65
+ 'confusion',
66
+ 'violation',
67
+ 'error',
68
+ ];
69
+ //# sourceMappingURL=wu-validation-constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wu-validation-constants.js","sourceRoot":"","sources":["../../../src/constants/wu-validation-constants.ts"],"names":[],"mappings":"AAAA,iCAAiC;AACjC,yCAAyC;AAEzC;;;;;;;GAOG;AAEH;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG;IACrB,kEAAkE;IAClE,eAAe,EAAE,EAAE;IACnB,uEAAuE;IACvE,aAAa,EAAE,CAAC;CACjB,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,4CAA4C;IAC5C,GAAG,EAAE,CAAC;IACN,yEAAyE;IACzE,GAAG,EAAE,GAAG;IACR;;;;OAIG;IACH,SAAS,EAAE,CAAC;CACb,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,6DAA6D;IAC7D,SAAS,EAAE,CAAC;IACZ,iDAAiD;IACjD,SAAS,EAAE,GAAG;IACd,uDAAuD;IACvD,eAAe,EAAE,EAAE;IACnB,8DAA8D;IAC9D,eAAe,EAAE,IAAI;CACtB,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,UAAU;IACV,SAAS;IACT,WAAW;IACX,WAAW;IACX,OAAO;CACC,CAAC"}
@@ -0,0 +1,4 @@
1
+ export * from './orchestration.types.js';
2
+ export * from './orchestration.schemas.js';
3
+ export * from './orchestration.constants.js';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/domain/index.ts"],"names":[],"mappings":"AAEA,cAAc,0BAA0B,CAAC;AACzC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,8BAA8B,CAAC"}
@@ -0,0 +1,6 @@
1
+ // Copyright (c) 2026 Hellmai Ltd
2
+ // SPDX-License-Identifier: Apache-2.0
3
+ export * from './orchestration.types.js';
4
+ export * from './orchestration.schemas.js';
5
+ export * from './orchestration.constants.js';
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/domain/index.ts"],"names":[],"mappings":"AAAA,iCAAiC;AACjC,sCAAsC;AACtC,cAAc,0BAA0B,CAAC;AACzC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,8BAA8B,CAAC"}