wingfoil 0.2.2 → 0.3.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 (454) hide show
  1. package/README.md +83 -43
  2. package/dist/agent/discovery.d.ts +72 -0
  3. package/dist/agent/discovery.d.ts.map +1 -0
  4. package/dist/agent/discovery.js +210 -0
  5. package/dist/agent/discovery.js.map +1 -0
  6. package/dist/agent/execute.d.ts +206 -0
  7. package/dist/agent/execute.d.ts.map +1 -0
  8. package/dist/agent/execute.js +581 -0
  9. package/dist/agent/execute.js.map +1 -0
  10. package/dist/agent/index.d.ts +23 -0
  11. package/dist/agent/index.d.ts.map +1 -0
  12. package/dist/agent/index.js +85 -0
  13. package/dist/agent/index.js.map +1 -0
  14. package/dist/agent/launch.d.ts +133 -0
  15. package/dist/agent/launch.d.ts.map +1 -0
  16. package/dist/agent/launch.js +380 -0
  17. package/dist/agent/launch.js.map +1 -0
  18. package/dist/agent/manifest.d.ts +30 -0
  19. package/dist/agent/manifest.d.ts.map +1 -0
  20. package/dist/agent/manifest.js +93 -0
  21. package/dist/agent/manifest.js.map +1 -0
  22. package/dist/agent/placeholders.d.ts +49 -0
  23. package/dist/agent/placeholders.d.ts.map +1 -0
  24. package/dist/agent/placeholders.js +177 -0
  25. package/dist/agent/placeholders.js.map +1 -0
  26. package/dist/agent/run-log.d.ts +254 -0
  27. package/dist/agent/run-log.d.ts.map +1 -0
  28. package/dist/agent/run-log.js +612 -0
  29. package/dist/agent/run-log.js.map +1 -0
  30. package/dist/agent/schema.d.ts +100 -0
  31. package/dist/agent/schema.d.ts.map +1 -0
  32. package/dist/agent/schema.js +89 -0
  33. package/dist/agent/schema.js.map +1 -0
  34. package/dist/agent/step.d.ts +41 -0
  35. package/dist/agent/step.d.ts.map +1 -0
  36. package/dist/agent/step.js +95 -0
  37. package/dist/agent/step.js.map +1 -0
  38. package/dist/build-info.json +4 -0
  39. package/dist/cli/error.d.ts +11 -2
  40. package/dist/cli/error.d.ts.map +1 -1
  41. package/dist/cli/error.js +27 -6
  42. package/dist/cli/error.js.map +1 -1
  43. package/dist/cli/exit.d.ts +33 -3
  44. package/dist/cli/exit.d.ts.map +1 -1
  45. package/dist/cli/exit.js +54 -3
  46. package/dist/cli/exit.js.map +1 -1
  47. package/dist/cli/index.d.ts +1 -1
  48. package/dist/cli/index.d.ts.map +1 -1
  49. package/dist/cli/index.js +2 -1
  50. package/dist/cli/index.js.map +1 -1
  51. package/dist/cli/init-command.d.ts.map +1 -1
  52. package/dist/cli/init-command.js +4 -2
  53. package/dist/cli/init-command.js.map +1 -1
  54. package/dist/cli/mcp-command.d.ts +13 -4
  55. package/dist/cli/mcp-command.d.ts.map +1 -1
  56. package/dist/cli/mcp-command.js +25 -8
  57. package/dist/cli/mcp-command.js.map +1 -1
  58. package/dist/cli/output.d.ts +12 -4
  59. package/dist/cli/output.d.ts.map +1 -1
  60. package/dist/cli/output.js +15 -4
  61. package/dist/cli/output.js.map +1 -1
  62. package/dist/cli/program.d.ts +1 -1
  63. package/dist/cli/program.d.ts.map +1 -1
  64. package/dist/cli/program.js +162 -40
  65. package/dist/cli/program.js.map +1 -1
  66. package/dist/cli/registrar.d.ts +1 -1
  67. package/dist/cli/registrar.d.ts.map +1 -1
  68. package/dist/cli/registrar.js +67 -6
  69. package/dist/cli/registrar.js.map +1 -1
  70. package/dist/cli/suggest.d.ts +20 -0
  71. package/dist/cli/suggest.d.ts.map +1 -0
  72. package/dist/cli/suggest.js +49 -0
  73. package/dist/cli/suggest.js.map +1 -0
  74. package/dist/cli/warning.d.ts +26 -0
  75. package/dist/cli/warning.d.ts.map +1 -0
  76. package/dist/cli/warning.js +66 -0
  77. package/dist/cli/warning.js.map +1 -0
  78. package/dist/cli.js +11 -2
  79. package/dist/cli.js.map +1 -1
  80. package/dist/core/agent-execute.d.ts +44 -0
  81. package/dist/core/agent-execute.d.ts.map +1 -0
  82. package/dist/core/agent-execute.js +71 -0
  83. package/dist/core/agent-execute.js.map +1 -0
  84. package/dist/core/agent-list.d.ts +95 -0
  85. package/dist/core/agent-list.d.ts.map +1 -0
  86. package/dist/core/agent-list.js +207 -0
  87. package/dist/core/agent-list.js.map +1 -0
  88. package/dist/core/agent-show.d.ts +44 -0
  89. package/dist/core/agent-show.d.ts.map +1 -0
  90. package/dist/core/agent-show.js +188 -0
  91. package/dist/core/agent-show.js.map +1 -0
  92. package/dist/core/approval-authority.d.ts +17 -14
  93. package/dist/core/approval-authority.d.ts.map +1 -1
  94. package/dist/core/approval-authority.js +9 -9
  95. package/dist/core/approval-authority.js.map +1 -1
  96. package/dist/core/builtin-asset.d.ts +18 -15
  97. package/dist/core/builtin-asset.d.ts.map +1 -1
  98. package/dist/core/builtin-asset.js +17 -14
  99. package/dist/core/builtin-asset.js.map +1 -1
  100. package/dist/core/builtin-integrity.d.ts +12 -2
  101. package/dist/core/builtin-integrity.d.ts.map +1 -1
  102. package/dist/core/builtin-integrity.js +85 -9
  103. package/dist/core/builtin-integrity.js.map +1 -1
  104. package/dist/core/confinement.d.ts +3 -1
  105. package/dist/core/confinement.d.ts.map +1 -1
  106. package/dist/core/confinement.js +7 -4
  107. package/dist/core/confinement.js.map +1 -1
  108. package/dist/core/context.d.ts +150 -98
  109. package/dist/core/context.d.ts.map +1 -1
  110. package/dist/core/context.js +602 -66
  111. package/dist/core/context.js.map +1 -1
  112. package/dist/core/directive-assign.d.ts +33 -7
  113. package/dist/core/directive-assign.d.ts.map +1 -1
  114. package/dist/core/directive-assign.js +67 -27
  115. package/dist/core/directive-assign.js.map +1 -1
  116. package/dist/core/directive-scope.d.ts +36 -0
  117. package/dist/core/directive-scope.d.ts.map +1 -0
  118. package/dist/core/directive-scope.js +34 -0
  119. package/dist/core/directive-scope.js.map +1 -0
  120. package/dist/core/directives-list.d.ts +13 -3
  121. package/dist/core/directives-list.d.ts.map +1 -1
  122. package/dist/core/directives-list.js +18 -6
  123. package/dist/core/directives-list.js.map +1 -1
  124. package/dist/core/dry-run.d.ts +33 -0
  125. package/dist/core/dry-run.d.ts.map +1 -0
  126. package/dist/core/dry-run.js +45 -0
  127. package/dist/core/dry-run.js.map +1 -0
  128. package/dist/core/element-ref.d.ts +23 -0
  129. package/dist/core/element-ref.d.ts.map +1 -0
  130. package/dist/core/element-ref.js +24 -0
  131. package/dist/core/element-ref.js.map +1 -0
  132. package/dist/core/error-details.d.ts +20 -0
  133. package/dist/core/error-details.d.ts.map +1 -0
  134. package/dist/core/error-details.js +65 -0
  135. package/dist/core/error-details.js.map +1 -0
  136. package/dist/core/exit-code.d.ts.map +1 -1
  137. package/dist/core/exit-code.js +6 -7
  138. package/dist/core/exit-code.js.map +1 -1
  139. package/dist/core/git-identity.d.ts +46 -11
  140. package/dist/core/git-identity.d.ts.map +1 -1
  141. package/dist/core/git-identity.js +140 -27
  142. package/dist/core/git-identity.js.map +1 -1
  143. package/dist/core/index.d.ts +184 -10
  144. package/dist/core/index.d.ts.map +1 -1
  145. package/dist/core/index.js +1045 -185
  146. package/dist/core/index.js.map +1 -1
  147. package/dist/core/init.d.ts +45 -5
  148. package/dist/core/init.d.ts.map +1 -1
  149. package/dist/core/init.js +134 -24
  150. package/dist/core/init.js.map +1 -1
  151. package/dist/core/loaders.d.ts +170 -14
  152. package/dist/core/loaders.d.ts.map +1 -1
  153. package/dist/core/loaders.js +570 -89
  154. package/dist/core/loaders.js.map +1 -1
  155. package/dist/core/memory-add-link.d.ts +28 -0
  156. package/dist/core/memory-add-link.d.ts.map +1 -0
  157. package/dist/core/memory-add-link.js +67 -0
  158. package/dist/core/memory-add-link.js.map +1 -0
  159. package/dist/core/memory-add-type.d.ts +25 -1
  160. package/dist/core/memory-add-type.d.ts.map +1 -1
  161. package/dist/core/memory-add-type.js +59 -1
  162. package/dist/core/memory-add-type.js.map +1 -1
  163. package/dist/core/memory-amend.d.ts +80 -0
  164. package/dist/core/memory-amend.d.ts.map +1 -0
  165. package/dist/core/memory-amend.js +160 -0
  166. package/dist/core/memory-amend.js.map +1 -0
  167. package/dist/core/memory-supersede.d.ts +28 -0
  168. package/dist/core/memory-supersede.d.ts.map +1 -0
  169. package/dist/core/memory-supersede.js +79 -0
  170. package/dist/core/memory-supersede.js.map +1 -0
  171. package/dist/core/memory-transition.d.ts +190 -30
  172. package/dist/core/memory-transition.d.ts.map +1 -1
  173. package/dist/core/memory-transition.js +480 -59
  174. package/dist/core/memory-transition.js.map +1 -1
  175. package/dist/core/registry.d.ts +82 -10
  176. package/dist/core/registry.d.ts.map +1 -1
  177. package/dist/core/registry.js +50 -0
  178. package/dist/core/registry.js.map +1 -1
  179. package/dist/core/relevance.d.ts +74 -12
  180. package/dist/core/relevance.d.ts.map +1 -1
  181. package/dist/core/relevance.js +45 -27
  182. package/dist/core/relevance.js.map +1 -1
  183. package/dist/core/require-reason.d.ts.map +1 -1
  184. package/dist/core/require-reason.js +6 -5
  185. package/dist/core/require-reason.js.map +1 -1
  186. package/dist/core/required-fields.d.ts +28 -0
  187. package/dist/core/required-fields.d.ts.map +1 -0
  188. package/dist/core/required-fields.js +60 -0
  189. package/dist/core/required-fields.js.map +1 -0
  190. package/dist/core/revision.d.ts +82 -0
  191. package/dist/core/revision.d.ts.map +1 -0
  192. package/dist/core/revision.js +144 -0
  193. package/dist/core/revision.js.map +1 -0
  194. package/dist/core/types.d.ts +28 -2
  195. package/dist/core/types.d.ts.map +1 -1
  196. package/dist/core/types.js +12 -3
  197. package/dist/core/types.js.map +1 -1
  198. package/dist/core/workflow-core-checks.d.ts +34 -0
  199. package/dist/core/workflow-core-checks.d.ts.map +1 -0
  200. package/dist/core/workflow-core-checks.js +403 -0
  201. package/dist/core/workflow-core-checks.js.map +1 -0
  202. package/dist/core/workflow-create-remove.d.ts +65 -0
  203. package/dist/core/workflow-create-remove.d.ts.map +1 -0
  204. package/dist/core/workflow-create-remove.js +277 -0
  205. package/dist/core/workflow-create-remove.js.map +1 -0
  206. package/dist/core/workflow-deduction.d.ts +48 -0
  207. package/dist/core/workflow-deduction.d.ts.map +1 -0
  208. package/dist/core/workflow-deduction.js +523 -0
  209. package/dist/core/workflow-deduction.js.map +1 -0
  210. package/dist/core/workflow-diagnostics.d.ts +83 -0
  211. package/dist/core/workflow-diagnostics.d.ts.map +1 -0
  212. package/dist/core/workflow-diagnostics.js +375 -0
  213. package/dist/core/workflow-diagnostics.js.map +1 -0
  214. package/dist/core/workflow-exit-state.d.ts +125 -0
  215. package/dist/core/workflow-exit-state.d.ts.map +1 -0
  216. package/dist/core/workflow-exit-state.js +243 -0
  217. package/dist/core/workflow-exit-state.js.map +1 -0
  218. package/dist/core/workflow-finalize.d.ts +37 -0
  219. package/dist/core/workflow-finalize.d.ts.map +1 -0
  220. package/dist/core/workflow-finalize.js +153 -0
  221. package/dist/core/workflow-finalize.js.map +1 -0
  222. package/dist/core/workflow-list-show.d.ts +176 -0
  223. package/dist/core/workflow-list-show.d.ts.map +1 -0
  224. package/dist/core/workflow-list-show.js +268 -0
  225. package/dist/core/workflow-list-show.js.map +1 -0
  226. package/dist/core/workflow-next.d.ts +268 -0
  227. package/dist/core/workflow-next.d.ts.map +1 -0
  228. package/dist/core/workflow-next.js +503 -0
  229. package/dist/core/workflow-next.js.map +1 -0
  230. package/dist/core/workflow-registry.d.ts +52 -0
  231. package/dist/core/workflow-registry.d.ts.map +1 -0
  232. package/dist/core/workflow-registry.js +158 -0
  233. package/dist/core/workflow-registry.js.map +1 -0
  234. package/dist/core/workflow-start-end.d.ts +71 -0
  235. package/dist/core/workflow-start-end.d.ts.map +1 -0
  236. package/dist/core/workflow-start-end.js +298 -0
  237. package/dist/core/workflow-start-end.js.map +1 -0
  238. package/dist/core/workflow-status.d.ts +83 -0
  239. package/dist/core/workflow-status.d.ts.map +1 -0
  240. package/dist/core/workflow-status.js +125 -0
  241. package/dist/core/workflow-status.js.map +1 -0
  242. package/dist/core/write-guard.d.ts +51 -8
  243. package/dist/core/write-guard.d.ts.map +1 -1
  244. package/dist/core/write-guard.js +139 -9
  245. package/dist/core/write-guard.js.map +1 -1
  246. package/dist/directives/index.d.ts +3 -2
  247. package/dist/directives/index.d.ts.map +1 -1
  248. package/dist/directives/index.js +5 -3
  249. package/dist/directives/index.js.map +1 -1
  250. package/dist/directives/schema.d.ts +34 -29
  251. package/dist/directives/schema.d.ts.map +1 -1
  252. package/dist/directives/schema.js +35 -29
  253. package/dist/directives/schema.js.map +1 -1
  254. package/dist/directives/version.d.ts +28 -0
  255. package/dist/directives/version.d.ts.map +1 -0
  256. package/dist/directives/version.js +51 -0
  257. package/dist/directives/version.js.map +1 -0
  258. package/dist/dna/edit.d.ts +7 -6
  259. package/dist/dna/edit.d.ts.map +1 -1
  260. package/dist/dna/edit.js +96 -41
  261. package/dist/dna/edit.js.map +1 -1
  262. package/dist/dna/mutate.js +18 -3
  263. package/dist/dna/mutate.js.map +1 -1
  264. package/dist/dna/path.d.ts +2 -2
  265. package/dist/dna/roles.d.ts +1 -1
  266. package/dist/dna/schema.d.ts +61 -3
  267. package/dist/dna/schema.d.ts.map +1 -1
  268. package/dist/dna/schema.js +121 -6
  269. package/dist/dna/schema.js.map +1 -1
  270. package/dist/mcp/dna-resource.d.ts.map +1 -1
  271. package/dist/mcp/dna-resource.js +4 -4
  272. package/dist/mcp/dna-resource.js.map +1 -1
  273. package/dist/mcp/index.d.ts +8 -4
  274. package/dist/mcp/index.d.ts.map +1 -1
  275. package/dist/mcp/index.js +13 -2
  276. package/dist/mcp/index.js.map +1 -1
  277. package/dist/mcp/memory-resource.d.ts.map +1 -1
  278. package/dist/mcp/memory-resource.js +30 -19
  279. package/dist/mcp/memory-resource.js.map +1 -1
  280. package/dist/mcp/prompt.d.ts +61 -24
  281. package/dist/mcp/prompt.d.ts.map +1 -1
  282. package/dist/mcp/prompt.js +176 -47
  283. package/dist/mcp/prompt.js.map +1 -1
  284. package/dist/mcp/read-only.d.ts +39 -0
  285. package/dist/mcp/read-only.d.ts.map +1 -1
  286. package/dist/mcp/read-only.js +61 -0
  287. package/dist/mcp/read-only.js.map +1 -1
  288. package/dist/mcp/registrar.d.ts +10 -0
  289. package/dist/mcp/registrar.d.ts.map +1 -1
  290. package/dist/mcp/registrar.js +48 -12
  291. package/dist/mcp/registrar.js.map +1 -1
  292. package/dist/mcp/server.d.ts +21 -14
  293. package/dist/mcp/server.d.ts.map +1 -1
  294. package/dist/mcp/server.js +41 -15
  295. package/dist/mcp/server.js.map +1 -1
  296. package/dist/mcp/session-resource.d.ts +13 -0
  297. package/dist/mcp/session-resource.d.ts.map +1 -0
  298. package/dist/mcp/session-resource.js +65 -0
  299. package/dist/mcp/session-resource.js.map +1 -0
  300. package/dist/mcp/workflow-resource.d.ts +18 -0
  301. package/dist/mcp/workflow-resource.d.ts.map +1 -1
  302. package/dist/mcp/workflow-resource.js +37 -8
  303. package/dist/mcp/workflow-resource.js.map +1 -1
  304. package/dist/memory/add.d.ts +110 -24
  305. package/dist/memory/add.d.ts.map +1 -1
  306. package/dist/memory/add.js +251 -64
  307. package/dist/memory/add.js.map +1 -1
  308. package/dist/memory/audit.d.ts +152 -39
  309. package/dist/memory/audit.d.ts.map +1 -1
  310. package/dist/memory/audit.js +257 -103
  311. package/dist/memory/audit.js.map +1 -1
  312. package/dist/memory/commit-message.d.ts +60 -38
  313. package/dist/memory/commit-message.d.ts.map +1 -1
  314. package/dist/memory/commit-message.js +167 -21
  315. package/dist/memory/commit-message.js.map +1 -1
  316. package/dist/memory/entry.d.ts.map +1 -1
  317. package/dist/memory/entry.js +1 -2
  318. package/dist/memory/entry.js.map +1 -1
  319. package/dist/memory/frontmatter-edit.d.ts +16 -4
  320. package/dist/memory/frontmatter-edit.d.ts.map +1 -1
  321. package/dist/memory/frontmatter-edit.js +13 -1
  322. package/dist/memory/frontmatter-edit.js.map +1 -1
  323. package/dist/memory/git-log.d.ts +18 -6
  324. package/dist/memory/git-log.d.ts.map +1 -1
  325. package/dist/memory/git-log.js +40 -13
  326. package/dist/memory/git-log.js.map +1 -1
  327. package/dist/memory/history.d.ts +73 -12
  328. package/dist/memory/history.d.ts.map +1 -1
  329. package/dist/memory/history.js +128 -44
  330. package/dist/memory/history.js.map +1 -1
  331. package/dist/memory/index.d.ts +13 -11
  332. package/dist/memory/index.d.ts.map +1 -1
  333. package/dist/memory/index.js +34 -3
  334. package/dist/memory/index.js.map +1 -1
  335. package/dist/memory/query.d.ts +161 -19
  336. package/dist/memory/query.d.ts.map +1 -1
  337. package/dist/memory/query.js +435 -55
  338. package/dist/memory/query.js.map +1 -1
  339. package/dist/memory/schema.d.ts +52 -3
  340. package/dist/memory/schema.d.ts.map +1 -1
  341. package/dist/memory/schema.js +132 -8
  342. package/dist/memory/schema.js.map +1 -1
  343. package/dist/memory/state-machine.d.ts +65 -10
  344. package/dist/memory/state-machine.d.ts.map +1 -1
  345. package/dist/memory/state-machine.js +134 -46
  346. package/dist/memory/state-machine.js.map +1 -1
  347. package/dist/memory/submit.d.ts +52 -3
  348. package/dist/memory/submit.d.ts.map +1 -1
  349. package/dist/memory/submit.js +118 -11
  350. package/dist/memory/submit.js.map +1 -1
  351. package/dist/storage/build-stamp.d.ts +18 -0
  352. package/dist/storage/build-stamp.d.ts.map +1 -0
  353. package/dist/storage/build-stamp.js +68 -0
  354. package/dist/storage/build-stamp.js.map +1 -0
  355. package/dist/storage/builtin-adapters.d.ts +32 -0
  356. package/dist/storage/builtin-adapters.d.ts.map +1 -0
  357. package/dist/storage/builtin-adapters.js +100 -0
  358. package/dist/storage/builtin-adapters.js.map +1 -0
  359. package/dist/storage/builtin-directives.d.ts +0 -29
  360. package/dist/storage/builtin-directives.d.ts.map +1 -1
  361. package/dist/storage/builtin-directives.js +9 -4
  362. package/dist/storage/builtin-directives.js.map +1 -1
  363. package/dist/storage/commit.d.ts +310 -3
  364. package/dist/storage/commit.d.ts.map +1 -1
  365. package/dist/storage/commit.js +807 -33
  366. package/dist/storage/commit.js.map +1 -1
  367. package/dist/storage/document.d.ts +6 -0
  368. package/dist/storage/document.d.ts.map +1 -1
  369. package/dist/storage/document.js +10 -1
  370. package/dist/storage/document.js.map +1 -1
  371. package/dist/storage/dry-run.d.ts +65 -0
  372. package/dist/storage/dry-run.d.ts.map +1 -0
  373. package/dist/storage/dry-run.js +150 -0
  374. package/dist/storage/dry-run.js.map +1 -0
  375. package/dist/storage/errors.d.ts +26 -0
  376. package/dist/storage/errors.d.ts.map +1 -1
  377. package/dist/storage/errors.js +27 -1
  378. package/dist/storage/errors.js.map +1 -1
  379. package/dist/storage/frontmatter.d.ts +1 -1
  380. package/dist/storage/frontmatter.js +1 -1
  381. package/dist/storage/git-read.d.ts +64 -0
  382. package/dist/storage/git-read.d.ts.map +1 -0
  383. package/dist/storage/git-read.js +107 -0
  384. package/dist/storage/git-read.js.map +1 -0
  385. package/dist/storage/index.d.ts +13 -5
  386. package/dist/storage/index.d.ts.map +1 -1
  387. package/dist/storage/index.js +39 -2
  388. package/dist/storage/index.js.map +1 -1
  389. package/dist/storage/layout.d.ts +2 -2
  390. package/dist/storage/layout.d.ts.map +1 -1
  391. package/dist/storage/layout.js +2 -7
  392. package/dist/storage/layout.js.map +1 -1
  393. package/dist/storage/memory-path.d.ts +18 -5
  394. package/dist/storage/memory-path.d.ts.map +1 -1
  395. package/dist/storage/memory-path.js +41 -5
  396. package/dist/storage/memory-path.js.map +1 -1
  397. package/dist/storage/snapshot.js +1 -1
  398. package/dist/storage/templates.d.ts +33 -6
  399. package/dist/storage/templates.d.ts.map +1 -1
  400. package/dist/storage/templates.js +170 -16
  401. package/dist/storage/templates.js.map +1 -1
  402. package/dist/validation/config-version.d.ts +19 -0
  403. package/dist/validation/config-version.d.ts.map +1 -0
  404. package/dist/validation/config-version.js +53 -0
  405. package/dist/validation/config-version.js.map +1 -0
  406. package/dist/validation/diagnostic.d.ts +40 -0
  407. package/dist/validation/diagnostic.d.ts.map +1 -0
  408. package/dist/validation/diagnostic.js +41 -0
  409. package/dist/validation/diagnostic.js.map +1 -0
  410. package/dist/validation/format.d.ts +74 -0
  411. package/dist/validation/format.d.ts.map +1 -0
  412. package/dist/validation/format.js +104 -0
  413. package/dist/validation/format.js.map +1 -0
  414. package/dist/validation/id.d.ts +14 -0
  415. package/dist/validation/id.d.ts.map +1 -1
  416. package/dist/validation/id.js +35 -11
  417. package/dist/validation/id.js.map +1 -1
  418. package/dist/validation/identity.d.ts +40 -0
  419. package/dist/validation/identity.d.ts.map +1 -0
  420. package/dist/validation/identity.js +78 -0
  421. package/dist/validation/identity.js.map +1 -0
  422. package/dist/validation/index.d.ts +9 -3
  423. package/dist/validation/index.d.ts.map +1 -1
  424. package/dist/validation/index.js +30 -1
  425. package/dist/validation/index.js.map +1 -1
  426. package/dist/validation/secret-scan.d.ts +3 -2
  427. package/dist/validation/secret-scan.d.ts.map +1 -1
  428. package/dist/validation/secret-scan.js +32 -11
  429. package/dist/validation/secret-scan.js.map +1 -1
  430. package/dist/validation/warning.d.ts +30 -16
  431. package/dist/validation/warning.d.ts.map +1 -1
  432. package/dist/validation/warning.js +74 -7
  433. package/dist/validation/warning.js.map +1 -1
  434. package/dist/workflow/bindings.d.ts +152 -0
  435. package/dist/workflow/bindings.d.ts.map +1 -0
  436. package/dist/workflow/bindings.js +249 -0
  437. package/dist/workflow/bindings.js.map +1 -0
  438. package/dist/workflow/create.d.ts +13 -0
  439. package/dist/workflow/create.d.ts.map +1 -0
  440. package/dist/workflow/create.js +41 -0
  441. package/dist/workflow/create.js.map +1 -0
  442. package/dist/workflow/deduce.d.ts +400 -0
  443. package/dist/workflow/deduce.d.ts.map +1 -0
  444. package/dist/workflow/deduce.js +1109 -0
  445. package/dist/workflow/deduce.js.map +1 -0
  446. package/dist/workflow/manifest-edit.d.ts +19 -0
  447. package/dist/workflow/manifest-edit.d.ts.map +1 -0
  448. package/dist/workflow/manifest-edit.js +124 -0
  449. package/dist/workflow/manifest-edit.js.map +1 -0
  450. package/dist/workflow/schema.d.ts +158 -19
  451. package/dist/workflow/schema.d.ts.map +1 -1
  452. package/dist/workflow/schema.js +163 -15
  453. package/dist/workflow/schema.js.map +1 -1
  454. package/package.json +18 -8
@@ -17,6 +17,7 @@ exports.createReadlinePrompt = createReadlinePrompt;
17
17
  */
18
18
  const node_readline_1 = require("node:readline");
19
19
  const core_1 = require("../core");
20
+ const error_details_1 = require("../core/error-details");
20
21
  const storage_1 = require("../storage");
21
22
  const error_1 = require("./error");
22
23
  const exit_1 = require("./exit");
@@ -68,7 +69,7 @@ async function selectTemplate(options, deps, format) {
68
69
  async function runInit(options, deps) {
69
70
  // Usage error first (pre-core), same as the registrar: an invalid --format never reaches core.
70
71
  if (!(0, output_1.isValidFormat)(options.format)) {
71
- (0, exit_1.exitWith)(2, `error: invalid --format value "${options.format}", expected one of: console, json, yaml`);
72
+ (0, exit_1.exitWith)(2, `error: ${(0, output_1.invalidFormatReason)(options.format)}`);
72
73
  return;
73
74
  }
74
75
  const format = options.format;
@@ -81,7 +82,8 @@ async function runInit(options, deps) {
81
82
  process.stdout.write((0, output_1.renderSuccess)(result.value, format));
82
83
  }
83
84
  else {
84
- (0, error_1.emitError)(result.error.message, { format });
85
+ // `details` too, as every derived command does (task-130 review, spec-005 §3.1).
86
+ (0, error_1.emitError)(result.error.message, { format, details: (0, error_details_1.errorDetails)(result.error) });
85
87
  }
86
88
  (0, exit_1.exitWith)((0, core_1.exitCodeForResult)(result));
87
89
  }
@@ -1 +1 @@
1
- {"version":3,"file":"init-command.js","sourceRoot":"","sources":["../../src/cli/init-command.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init-command.js","sourceRoot":"","sources":["../../src/cli/init-command.ts"],"names":[],"mappings":"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"}
@@ -10,15 +10,24 @@ export interface McpCliDeps {
10
10
  /** Start the server; defaults to {@link startMcpServer} (overridden in tests to avoid real stdio). */
11
11
  readonly start?: (options: {
12
12
  resolveRoot: () => string;
13
+ roles: readonly string[];
13
14
  name: string;
14
15
  version: string;
15
16
  }) => Promise<unknown>;
16
17
  }
17
18
  /**
18
- * Execute `wingfoil mcp`. Resolves the project root once, up front (fail-fast: an unresolvable root
19
- * emits `error: <reason>` on stderr and exits `1`, never starting the server), then hands the server
20
- * start a closure returning that already-resolved root. On success it does not exit — the server runs
21
- * over stdio until the transport closes.
19
+ * Execute `wingfoil mcp`. The pre-flight runs up front, fail-fast, and never starts the server on a
20
+ * failure — each one emits `error: <reason>` on stderr and exits `1`:
21
+ *
22
+ * 1. resolve the project root once (no git root);
23
+ * 2. read the DNA role set (`loadDnaRoleSet`): refused when the root has no `.wingfoil/`, with the
24
+ * shared not-initialized message, which names no path (`bug-035`), or when `dna.yaml` cannot be
25
+ * loaded, with the loader's reason and details. This is the one start-time read spec-014 §2
26
+ * allows (`dl-049` (b)); `createMcpServer` itself still reads nothing.
27
+ *
28
+ * It then hands the server start a closure returning the already-resolved root and the role set. On
29
+ * success it does not exit — the server runs over stdio until the transport closes, and stdout carries
30
+ * only the protocol.
22
31
  */
23
32
  export declare function runMcp(deps: McpCliDeps): Promise<void>;
24
33
  //# sourceMappingURL=mcp-command.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-command.d.ts","sourceRoot":"","sources":["../../src/cli/mcp-command.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAiB,KAAK,YAAY,EAAE,MAAM,UAAU,CAAC;AAE5D,yGAAyG;AACzG,MAAM,WAAW,UAAU;IACzB,yGAAyG;IACzG,QAAQ,CAAC,WAAW,EAAE,MAAM,MAAM,CAAC;IACnC,sGAAsG;IACtG,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,8EAA8E;IAC9E,QAAQ,CAAC,MAAM,CAAC,EAAE,YAAY,CAAC;IAC/B,sGAAsG;IACtG,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE;QAAE,WAAW,EAAE,MAAM,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;CAC9G;AAED;;;;;GAKG;AACH,wBAAsB,MAAM,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAc5D"}
1
+ {"version":3,"file":"mcp-command.d.ts","sourceRoot":"","sources":["../../src/cli/mcp-command.ts"],"names":[],"mappings":"AAqBA,OAAO,EAAiB,KAAK,YAAY,EAAE,MAAM,UAAU,CAAC;AAE5D,yGAAyG;AACzG,MAAM,WAAW,UAAU;IACzB,yGAAyG;IACzG,QAAQ,CAAC,WAAW,EAAE,MAAM,MAAM,CAAC;IACnC,sGAAsG;IACtG,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,8EAA8E;IAC9E,QAAQ,CAAC,MAAM,CAAC,EAAE,YAAY,CAAC;IAC/B,sGAAsG;IACtG,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC,OAAO,EAAE;QACzB,WAAW,EAAE,MAAM,MAAM,CAAC;QAC1B,KAAK,EAAE,SAAS,MAAM,EAAE,CAAC;QACzB,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;KACjB,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;CACxB;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,MAAM,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAqB5D"}
@@ -8,22 +8,33 @@ exports.runMcp = runMcp;
8
8
  * lifecycle, starting the production MCP server over stdio. It is wired directly onto the program
9
9
  * (see ./program.ts), exactly like `wingfoil init` (task-029).
10
10
  *
11
- * `runMcp` owns the spec-014 §1 pre-flight: resolve the project root, and on failure emit the standard
12
- * `error: <reason>` line and exit `1` (a user/logic error — not inside a WingFoil project) WITHOUT
13
- * starting a partially-wired server. The side-effecting server start (`startMcpServer`, which opens a
11
+ * `runMcp` owns the spec-014 §1 pre-flight: resolve the project root, refuse a root with no
12
+ * `.wingfoil/` (`bug-035`), and read the DNA role set the Prompts channel serves for the server's whole
13
+ * life (`dl-049` (b), task-174). On any failure it emits the standard `error: <reason>` line and exits
14
+ * `1` (a user/logic error) WITHOUT starting a partially-wired server. The side-effecting server start (`startMcpServer`, which opens a
14
15
  * real `StdioServerTransport`) is injected as `deps.start`, so this whole pre-flight is unit-testable
15
16
  * without ever opening a real stdio channel against a repo — the same seam `init-command.ts`'s
16
17
  * injectable `runInit` uses.
17
18
  */
19
+ const core_1 = require("../core");
20
+ const error_details_1 = require("../core/error-details");
18
21
  const server_1 = require("../mcp/server");
19
22
  const error_1 = require("./error");
20
23
  const exit_1 = require("./exit");
21
24
  const output_1 = require("./output");
22
25
  /**
23
- * Execute `wingfoil mcp`. Resolves the project root once, up front (fail-fast: an unresolvable root
24
- * emits `error: <reason>` on stderr and exits `1`, never starting the server), then hands the server
25
- * start a closure returning that already-resolved root. On success it does not exit — the server runs
26
- * over stdio until the transport closes.
26
+ * Execute `wingfoil mcp`. The pre-flight runs up front, fail-fast, and never starts the server on a
27
+ * failure — each one emits `error: <reason>` on stderr and exits `1`:
28
+ *
29
+ * 1. resolve the project root once (no git root);
30
+ * 2. read the DNA role set (`loadDnaRoleSet`): refused when the root has no `.wingfoil/`, with the
31
+ * shared not-initialized message, which names no path (`bug-035`), or when `dna.yaml` cannot be
32
+ * loaded, with the loader's reason and details. This is the one start-time read spec-014 §2
33
+ * allows (`dl-049` (b)); `createMcpServer` itself still reads nothing.
34
+ *
35
+ * It then hands the server start a closure returning the already-resolved root and the role set. On
36
+ * success it does not exit — the server runs over stdio until the transport closes, and stdout carries
37
+ * only the protocol.
27
38
  */
28
39
  async function runMcp(deps) {
29
40
  const format = deps.format && (0, output_1.isValidFormat)(deps.format) ? deps.format : 'console';
@@ -36,7 +47,13 @@ async function runMcp(deps) {
36
47
  (0, exit_1.exitWith)(1);
37
48
  return;
38
49
  }
50
+ const roles = (0, core_1.loadDnaRoleSet)(root);
51
+ if (!roles.ok) {
52
+ (0, error_1.emitError)(roles.error.message, { format, details: (0, error_details_1.errorDetails)(roles.error) });
53
+ (0, exit_1.exitWith)(1);
54
+ return;
55
+ }
39
56
  const start = deps.start ?? server_1.startMcpServer;
40
- await start({ resolveRoot: () => root, name: 'wingfoil', version: deps.version });
57
+ await start({ resolveRoot: () => root, roles: roles.value, name: 'wingfoil', version: deps.version });
41
58
  }
42
59
  //# sourceMappingURL=mcp-command.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-command.js","sourceRoot":"","sources":["../../src/cli/mcp-command.ts"],"names":[],"mappings":";;AAsCA,wBAcC;AApDD;;;;;;;;;;;;;GAaG;AACH,0CAA+C;AAE/C,mCAAoC;AACpC,iCAAkC;AAClC,qCAA4D;AAc5D;;;;;GAKG;AACI,KAAK,UAAU,MAAM,CAAC,IAAgB;IAC3C,MAAM,MAAM,GAAiB,IAAI,CAAC,MAAM,IAAI,IAAA,sBAAa,EAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;IAEjG,IAAI,IAAY,CAAC;IACjB,IAAI,CAAC;QACH,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;IAC5B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAA,iBAAS,EAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;QAC9E,IAAA,eAAQ,EAAC,CAAC,CAAC,CAAC;QACZ,OAAO;IACT,CAAC;IAED,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,uBAAc,CAAC;IAC3C,MAAM,KAAK,CAAC,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;AACpF,CAAC"}
1
+ {"version":3,"file":"mcp-command.js","sourceRoot":"","sources":["../../src/cli/mcp-command.ts"],"names":[],"mappings":";;AAsDA,wBAqBC;AA3ED;;;;;;;;;;;;;;GAcG;AACH,kCAAyC;AACzC,yDAAqD;AACrD,0CAA+C;AAE/C,mCAAoC;AACpC,iCAAkC;AAClC,qCAA4D;AAmB5D;;;;;;;;;;;;;GAaG;AACI,KAAK,UAAU,MAAM,CAAC,IAAgB;IAC3C,MAAM,MAAM,GAAiB,IAAI,CAAC,MAAM,IAAI,IAAA,sBAAa,EAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;IAEjG,IAAI,IAAY,CAAC;IACjB,IAAI,CAAC;QACH,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;IAC5B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAA,iBAAS,EAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;QAC9E,IAAA,eAAQ,EAAC,CAAC,CAAC,CAAC;QACZ,OAAO;IACT,CAAC;IAED,MAAM,KAAK,GAAG,IAAA,qBAAc,EAAC,IAAI,CAAC,CAAC;IACnC,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC;QACd,IAAA,iBAAS,EAAC,KAAK,CAAC,KAAK,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,IAAA,4BAAY,EAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC/E,IAAA,eAAQ,EAAC,CAAC,CAAC,CAAC;QACZ,OAAO;IACT,CAAC;IAED,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,IAAI,uBAAc,CAAC;IAC3C,MAAM,KAAK,CAAC,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;AACxG,CAAC"}
@@ -2,12 +2,20 @@
2
2
  export type OutputFormat = 'console' | 'json' | 'yaml';
3
3
  /** Type guard: `true` (narrowing to {@link OutputFormat}) when `value` is one of the accepted `--format` values. */
4
4
  export declare function isValidFormat(value: string): value is OutputFormat;
5
+ /**
6
+ * The reason an unrecognised `--format` value is refused with (spec-005 §2), without the `error: `
7
+ * prefix: one composer for every command, the derived ones (`./registrar.ts`) and the bootstrap ones
8
+ * (`./program.ts`, `./init-command.ts`), so the line cannot drift between them (task-179, `bug-226`).
9
+ */
10
+ export declare function invalidFormatReason(value: string): string;
5
11
  /**
6
12
  * Render a successful `CoreResult.value` to stdout text, per the envelope rules in spec-005 §2:
7
- * `json`/`yaml` carry only the structured payload (no banners/colour); `console` payload *shape*
8
- * is otherwise owned by each command's own spec (none exists yet for today's read-only pillar
9
- * queries — see task-006 Execution Notes — so `console` falls back to pretty-printed JSON, the
10
- * same structure as `json`/`yaml`, until a command-specific spec defines a human-facing rendering).
13
+ * `json`/`yaml` carry only the structured payload (no banners/colour). `console` has no human
14
+ * rendering yet: it prints `json`'s payload indented by two spaces, with no colour, as spec-008 §2
15
+ * declares, until P5.1.4 gives it one (`dl-043`, v0.4; task-156, `bug-152`). That change is meant to
16
+ * be visible: `test/cli/console-format-fallback.integration.test.ts` pins today's bytes. The one
17
+ * exception is a command whose spec defines its own console text (`agent show`, spec-016 §6): the
18
+ * registrar prints its `CoreOperation.renderConsole` instead and never calls this for `console`.
11
19
  */
12
20
  export declare function renderSuccess(value: unknown, format: OutputFormat): string;
13
21
  //# sourceMappingURL=output.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"output.d.ts","sourceRoot":"","sources":["../../src/cli/output.ts"],"names":[],"mappings":"AAMA,uGAAuG;AACvG,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,MAAM,GAAG,MAAM,CAAC;AAEvD,oHAAoH;AACpH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,YAAY,CAElE;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,GAAG,MAAM,CAI1E"}
1
+ {"version":3,"file":"output.d.ts","sourceRoot":"","sources":["../../src/cli/output.ts"],"names":[],"mappings":"AAMA,uGAAuG;AACvG,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,MAAM,GAAG,MAAM,CAAC;AAEvD,oHAAoH;AACpH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,KAAK,IAAI,YAAY,CAElE;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEzD;AAED;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,GAAG,MAAM,CAI1E"}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.isValidFormat = isValidFormat;
4
+ exports.invalidFormatReason = invalidFormatReason;
4
5
  exports.renderSuccess = renderSuccess;
5
6
  /**
6
7
  * Machine-readable output formats (spec-005-cli-command-contract §2, REQ-INT-05). `console` is the
@@ -11,12 +12,22 @@ const js_yaml_1 = require("js-yaml");
11
12
  function isValidFormat(value) {
12
13
  return value === 'console' || value === 'json' || value === 'yaml';
13
14
  }
15
+ /**
16
+ * The reason an unrecognised `--format` value is refused with (spec-005 §2), without the `error: `
17
+ * prefix: one composer for every command, the derived ones (`./registrar.ts`) and the bootstrap ones
18
+ * (`./program.ts`, `./init-command.ts`), so the line cannot drift between them (task-179, `bug-226`).
19
+ */
20
+ function invalidFormatReason(value) {
21
+ return `invalid --format value "${value}", expected one of: console, json, yaml`;
22
+ }
14
23
  /**
15
24
  * Render a successful `CoreResult.value` to stdout text, per the envelope rules in spec-005 §2:
16
- * `json`/`yaml` carry only the structured payload (no banners/colour); `console` payload *shape*
17
- * is otherwise owned by each command's own spec (none exists yet for today's read-only pillar
18
- * queries — see task-006 Execution Notes — so `console` falls back to pretty-printed JSON, the
19
- * same structure as `json`/`yaml`, until a command-specific spec defines a human-facing rendering).
25
+ * `json`/`yaml` carry only the structured payload (no banners/colour). `console` has no human
26
+ * rendering yet: it prints `json`'s payload indented by two spaces, with no colour, as spec-008 §2
27
+ * declares, until P5.1.4 gives it one (`dl-043`, v0.4; task-156, `bug-152`). That change is meant to
28
+ * be visible: `test/cli/console-format-fallback.integration.test.ts` pins today's bytes. The one
29
+ * exception is a command whose spec defines its own console text (`agent show`, spec-016 §6): the
30
+ * registrar prints its `CoreOperation.renderConsole` instead and never calls this for `console`.
20
31
  */
21
32
  function renderSuccess(value, format) {
22
33
  if (format === 'json')
@@ -1 +1 @@
1
- {"version":3,"file":"output.js","sourceRoot":"","sources":["../../src/cli/output.ts"],"names":[],"mappings":";;AAUA,sCAEC;AASD,sCAIC;AAzBD;;;GAGG;AACH,qCAA2C;AAK3C,oHAAoH;AACpH,SAAgB,aAAa,CAAC,KAAa;IACzC,OAAO,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,MAAM,CAAC;AACrE,CAAC;AAED;;;;;;GAMG;AACH,SAAgB,aAAa,CAAC,KAAc,EAAE,MAAoB;IAChE,IAAI,MAAM,KAAK,MAAM;QAAE,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;IAC3D,IAAI,MAAM,KAAK,MAAM;QAAE,OAAO,IAAA,cAAQ,EAAC,KAAK,CAAC,CAAC;IAC9C,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC;AAC/C,CAAC"}
1
+ {"version":3,"file":"output.js","sourceRoot":"","sources":["../../src/cli/output.ts"],"names":[],"mappings":";;AAUA,sCAEC;AAOD,kDAEC;AAWD,sCAIC;AApCD;;;GAGG;AACH,qCAA2C;AAK3C,oHAAoH;AACpH,SAAgB,aAAa,CAAC,KAAa;IACzC,OAAO,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,MAAM,IAAI,KAAK,KAAK,MAAM,CAAC;AACrE,CAAC;AAED;;;;GAIG;AACH,SAAgB,mBAAmB,CAAC,KAAa;IAC/C,OAAO,2BAA2B,KAAK,yCAAyC,CAAC;AACnF,CAAC;AAED;;;;;;;;GAQG;AACH,SAAgB,aAAa,CAAC,KAAc,EAAE,MAAoB;IAChE,IAAI,MAAM,KAAK,MAAM;QAAE,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;IAC3D,IAAI,MAAM,KAAK,MAAM;QAAE,OAAO,IAAA,cAAQ,EAAC,KAAK,CAAC,CAAC;IAC9C,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC;AAC/C,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import type { Command } from 'commander' with { 'resolution-mode': 'import' };
2
- import type { CoreModule } from '../core/registry';
2
+ import { type CoreModule } from '../core/registry';
3
3
  import { type BuildCommandsOptions } from './registrar';
4
4
  /**
5
5
  * Build the root `commander` program: register the global flags, the special `init`/`mcp` bootstrap
@@ -1 +1 @@
1
- {"version":3,"file":"program.d.ts","sourceRoot":"","sources":["../../src/cli/program.ts"],"names":[],"mappings":"AAuCA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC,OAAO,iBAAiB,EAAE,QAAQ,EAAE,CAAC;AAE9E,OAAO,KAAK,EAAE,UAAU,EAAkB,MAAM,kBAAkB,CAAC;AAMnE,OAAO,EAAoB,KAAK,oBAAoB,EAAmB,MAAM,aAAa,CAAC;AAkB3F;;;;;;GAMG;AACH,wBAAsB,YAAY,CAAC,OAAO,EAAE,SAAS,UAAU,EAAE,EAAE,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,OAAO,CAAC,CAgKlH"}
1
+ {"version":3,"file":"program.d.ts","sourceRoot":"","sources":["../../src/cli/program.ts"],"names":[],"mappings":"AAuCA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC,OAAO,iBAAiB,EAAE,QAAQ,EAAE,CAAC;AAE9E,OAAO,EAA6C,KAAK,UAAU,EAAuB,MAAM,kBAAkB,CAAC;AAMnH,OAAO,EAAoB,KAAK,oBAAoB,EAAmB,MAAM,aAAa,CAAC;AAmB3F;;;;;;GAMG;AACH,wBAAsB,YAAY,CAAC,OAAO,EAAE,SAAS,UAAU,EAAE,EAAE,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,OAAO,CAAC,CAmMlH"}
@@ -38,6 +38,7 @@ exports.buildProgram = buildProgram;
38
38
  */
39
39
  const node_fs_1 = require("node:fs");
40
40
  const node_path_1 = require("node:path");
41
+ const registry_1 = require("../core/registry");
41
42
  // Direct module import, not the `../core` barrel — the same path `./registrar.ts` already uses for the
42
43
  // other two exit-code mappings (task-101; keeps this file out of the barrel's merge surface).
43
44
  const exit_code_1 = require("../core/exit-code");
@@ -48,6 +49,7 @@ const mcp_command_1 = require("./mcp-command");
48
49
  const error_1 = require("./error");
49
50
  const exit_1 = require("./exit");
50
51
  const output_1 = require("./output");
52
+ const suggest_1 = require("./suggest");
51
53
  /**
52
54
  * The CLI version, read from `package.json` deterministically (REQ-SYS-07 — no wall-clock, no
53
55
  * inference): the manifest sits two levels up from this module in both the `src/cli/` source layout
@@ -78,8 +80,9 @@ async function buildProgram(modules, options) {
78
80
  // and the process ends through `exitWith`, the single exit seam of `./exit.ts`, like every other
79
81
  // outcome.
80
82
  //
81
- // COMMANDER'S OWN MESSAGES ARE UNAFFECTED: for every error it raises, Commander has already written
82
- // its `error: …` line before calling this, so nothing is added on top of it. The ONE outcome where
83
+ // COMMANDER'S OWN MESSAGES ARE NOT REPEATED: for every error it raises, Commander has already written
84
+ // its message before calling this — in the active `--format` since task-130, through the
85
+ // `configureOutput` hooks below — so nothing is added on top of it. The ONE outcome where
83
86
  // it writes no error message at all is an invocation it found incomplete — a noun with no verb —
84
87
  // where it prints help to stderr and nothing else; `spec-005` §1 requires a non-zero exit to carry
85
88
  // an error message *always*, so that outcome (and only that one, flagged by `needsErrorLine`) gets
@@ -95,9 +98,37 @@ async function buildProgram(modules, options) {
95
98
  // set before it dispatches) with the global options removed.
96
99
  program.exitOverride((error) => {
97
100
  const termination = (0, exit_code_1.classifyParseOutcome)(error);
98
- if (termination.needsErrorLine)
99
- (0, error_1.emitError)(incompleteInvocationReason(program.args), { format: 'console' });
100
- (0, exit_1.exitWith)(termination.exitCode);
101
+ if (termination.needsErrorLine) {
102
+ const { reason, hint } = incompleteInvocationReason(program.args);
103
+ (0, error_1.emitError)(reason, { format: activeFormat(program), ...(hint !== undefined ? { hint } : {}) });
104
+ }
105
+ const deferred = (0, exit_1.exitWith)(termination.exitCode);
106
+ // Commander ends the process itself, at ITS code, as soon as this callback returns. When the exit
107
+ // is waiting for queued output to drain (task-249, `bug-222` — e.g. a long `--help` into a pipe),
108
+ // returning would let Commander cut that output short at the wrong code; throwing hands control
109
+ // back to the entry point, which leaves the deferred exit to happen.
110
+ if (deferred)
111
+ throw new exit_1.DeferredExit(termination.exitCode);
112
+ });
113
+ // Commander's own refusals in the active `--format` (task-130, `bug-114`, spec-005 §3.2). Commander
114
+ // writes an error through `outputError` and the help it prints for an incomplete invocation through
115
+ // `writeErr`, so these two hooks are the whole parse path's stderr. Every error goes through
116
+ // `emitError` (`src/cli/error.ts`) in every format, so it has spec-005 §3's shape: the `error:` line,
117
+ // then a `hint:` line when a suggestion applies (task-179, `bug-104`; `commanderRefusal`). Under
118
+ // `json`/`yaml` the message becomes the same `{error, hint?}` object a WingFoil refusal is, and the
119
+ // help text — which would bury that object — is not written: `--help` itself writes to stdout and is
120
+ // unaffected.
121
+ // `--format` is read when the error fires; Commander has parsed the root program's options by then,
122
+ // wherever on the command line they stand. Installed before the first `.command()`, like the callback
123
+ // above, because `copyInheritedSettings` copies the output configuration at registration time.
124
+ program.configureOutput({
125
+ writeErr: (text) => {
126
+ if (activeFormat(program) === 'console')
127
+ process.stderr.write(text);
128
+ },
129
+ outputError: (text) => {
130
+ (0, error_1.emitError)(...commanderRefusal(program, text, activeFormat(program)));
131
+ },
101
132
  });
102
133
  // How a command is listed under its parent (task-120, `bug-128`). Commander's own `subcommandTerm`
103
134
  // renders each registered argument from the flag Commander ENFORCES, which is why every derived verb
@@ -109,11 +140,15 @@ async function buildProgram(modules, options) {
109
140
  program.configureHelp({ subcommandTerm: (command) => subcommandTerm(command, declaredPositionals.get(command)) });
110
141
  // Register `-V, --version` so `wingfoil --version` prints the version and exits 0
111
142
  // (spec-008-cli-grammar §1, bug-001-cli-version-flag) — Commander handles it before any command.
112
- program.version(readPackageVersion());
143
+ // It prints the build stamp `<semver> (<sha>)`, the value every commit's `WingFoil-Version:` trailer
144
+ // carries (task-192, `dl-111` Action 3); the MCP server keeps announcing the bare semver below.
145
+ program.version((0, storage_1.readBuildStamp)());
113
146
  program
114
- .option('--format <format>', 'output format (console|json|yaml)', 'console')
147
+ // Until P5.1.4 gives `console` a human rendering (`dl-043`), the help says what the default prints
148
+ // and that no output is coloured (spec-008 §2, task-156, `bug-152`, `bug-203`).
149
+ .option('--format <format>', 'output format (console|json|yaml); console prints indented JSON for now, unless the command defines its own', 'console')
115
150
  .option('--verbose', 'emit diagnostic logs to stderr')
116
- .option('--no-color', 'disable ANSI colors')
151
+ .option('--no-color', 'disable ANSI colors (accepted; no output is colored yet)')
117
152
  .option('--no-interactive', 'fail on missing args instead of prompting');
118
153
  // `wingfoil init` is a SPECIAL bootstrap command (task-029, P5.1.1): it runs BEFORE config exists,
119
154
  // so it is NOT a `CORE_MODULES` noun-verb op — it is wired directly here and drives `runInit`
@@ -127,14 +162,17 @@ async function buildProgram(modules, options) {
127
162
  // against and the missing-argument error names (./init-command.ts).
128
163
  .option('--template <name>', `methodology template, one of: ${storage_1.TEMPLATE_NAMES.join(', ')} (required without a terminal or with --no-interactive)`)
129
164
  .addHelpText('after', leafHelpFooter(`wingfoil init --template ${storage_1.TEMPLATE_NAMES[0] ?? '<name>'}`))
130
- .action(async (localOpts) => {
165
+ .allowExcessArguments(true)
166
+ .action(async (localOpts, command) => {
167
+ if (refusedInvalidFormat(program) || refusedSurplus(program, 'init', command.args))
168
+ return;
131
169
  const globalOpts = program.opts();
132
170
  let root;
133
171
  try {
134
172
  root = options.resolveRoot();
135
173
  }
136
174
  catch (error) {
137
- (0, error_1.emitError)(error instanceof Error ? error.message : String(error), { format: 'console' });
175
+ (0, error_1.emitError)(error instanceof Error ? error.message : String(error), { format: activeFormat(program) });
138
176
  (0, exit_1.exitWith)(1);
139
177
  return;
140
178
  }
@@ -150,10 +188,11 @@ async function buildProgram(modules, options) {
150
188
  .command('mcp')
151
189
  .description('start the WingFoil MCP server (read-only Resources and role Prompts) over stdio')
152
190
  .addHelpText('after', leafHelpFooter('wingfoil mcp'))
153
- .action(async () => {
154
- const globalOpts = program.opts();
155
- const format = (0, output_1.isValidFormat)(globalOpts.format) ? globalOpts.format : 'console';
156
- await (0, mcp_command_1.runMcp)({ resolveRoot: options.resolveRoot, version: readPackageVersion(), format });
191
+ .allowExcessArguments(true)
192
+ .action(async (_localOpts, command) => {
193
+ if (refusedInvalidFormat(program) || refusedSurplus(program, 'mcp', command.args))
194
+ return;
195
+ await (0, mcp_command_1.runMcp)({ resolveRoot: options.resolveRoot, version: readPackageVersion(), format: activeFormat(program) });
157
196
  });
158
197
  const nounCommands = new Map();
159
198
  for (const command of (0, registrar_1.buildCliCommands)(modules, options)) {
@@ -164,15 +203,16 @@ async function buildProgram(modules, options) {
164
203
  if (command.description !== undefined)
165
204
  target.description(command.description);
166
205
  // The operand (task-025's `positionals` seam, named by task-120). PARSING is the same for every
167
- // derived command whatever it declares: Commander accepts any number of operands and core decides
168
- // what to refuse, with its own message — `dl-082-cli-parameter-shape` gives each command at most
169
- // ONE positional, the identity of its target, and an operation refuses an extra one itself
170
- // (`dna set`'s migration message) rather than leave it to a Commander arity error. A declared
171
- // positional is registered as an OPTIONAL variadic argument under its declared name: marking it
172
- // required to Commander would replace core's `missing required argument: memory submit <id>` with
173
- // Commander's own refusal, so required-ness is RENDERED (the usage line below, `subcommandTerm`)
174
- // and never enforced here. A command that declares none registers no argument — so `--help` shows
175
- // none — and allows excess arguments, which accepts exactly what the variadic list accepted.
206
+ // derived command whatever it declares: Commander accepts any number of operands and WingFoil
207
+ // decides what to refuse, with its own message — `dl-082-cli-parameter-shape` gives each command at
208
+ // most ONE positional, the identity of its target, and `./registrar.ts` refuses a surplus operand,
209
+ // and a missing required one, at exit `2` before anything is read (task-129, `bug-171`, `bug-131`;
210
+ // task-179, `bug-180`, `bug-168`), rather than leave it to a Commander arity error, whose wording
211
+ // would differ from command to command. A declared positional is registered as an OPTIONAL variadic
212
+ // argument under its declared name: marking it required to Commander would replace WingFoil's
213
+ // `missing required argument: <id>` with Commander's own refusal, so required-ness is RENDERED here
214
+ // (the usage line below, `subcommandTerm`) and enforced by the registrar. A command that declares none registers no argument — so `--help` shows
215
+ // none — and allows excess arguments, so that the surplus reaches the registrar's refusal.
176
216
  if (command.positional) {
177
217
  target.argument(`[${command.positional.name}...]`, command.positional.description);
178
218
  declaredPositionals.set(target, command.positional);
@@ -262,26 +302,108 @@ function leafHelpFooter(example) {
262
302
  ].join('\n');
263
303
  }
264
304
  /**
265
- * The `error: <reason>` text (spec-005 §3.1) for an invocation Commander found incomplete —
305
+ * The invalid-`--format` refusal of the two hand-wired bootstrap commands (task-179, `bug-226`): checked
306
+ * FIRST, before the surplus operand, as the registrar checks it first for every derived command — the
307
+ * value decides how every later error is rendered, so one order holds for every command
308
+ * (`spec-008-cli-grammar` §1). Console text at exit `2`, the same {@link invalidFormatReason} line
309
+ * (`spec-005` §2). `mcp` used to fall back to `console` and start; it is refused like any command.
310
+ *
311
+ * @returns `true` when the invocation was refused (the caller returns).
312
+ */
313
+ function refusedInvalidFormat(program) {
314
+ const value = program.opts().format;
315
+ if ((0, output_1.isValidFormat)(value))
316
+ return false;
317
+ (0, exit_1.exitWith)(2, `error: ${(0, output_1.invalidFormatReason)(value)}`);
318
+ return true;
319
+ }
320
+ /**
321
+ * The surplus-operand refusal of the two hand-wired bootstrap commands (`bug-179`, task-165). `init`
322
+ * and `mcp` declare no positional, so any operand is a surplus (`spec-008-cli-grammar` §1): refused at
323
+ * exit `2` with the same {@link extraOperandsReason} wording the registrar gives every `CORE_MODULES`
324
+ * command (task-129), in the active `--format`, before the project root is resolved — so nothing is
325
+ * read or written. Both commands allow excess arguments so the surplus reaches this check instead of
326
+ * Commander's own `too many arguments` refusal, whose wording differs.
327
+ *
328
+ * @returns `true` when the invocation was refused (the caller returns), `false` when it had no operand.
329
+ */
330
+ function refusedSurplus(program, name, operands) {
331
+ if (operands.length === 0)
332
+ return false;
333
+ (0, error_1.emitError)((0, registry_1.extraOperandsReason)(name, undefined, operands.length), { format: activeFormat(program) });
334
+ (0, exit_1.exitWith)(2);
335
+ return true;
336
+ }
337
+ /**
338
+ * The `--format` an error is rendered in: the parsed global option when it is a valid format, else
339
+ * `console` — an invalid value is itself refused in console text by the registrar (spec-005 §2), and a
340
+ * parse error can fire before `--format` has a usable value at all (task-130, `bug-114`).
341
+ */
342
+ function activeFormat(program) {
343
+ const value = program.getOptionValue('format');
344
+ return typeof value === 'string' && (0, output_1.isValidFormat)(value) ? value : 'console';
345
+ }
346
+ /**
347
+ * Commander's error text as {@link emitError} arguments (task-130, `bug-114`; task-179, `bug-104`).
348
+ * Commander writes `error: <reason>\n`, and for an unknown command or option its closest match on a
349
+ * line of its own, `(Did you mean <name>?)`. The first line without its `error: ` prefix is the reason.
350
+ * The `hint` is spec-005 §3.1's `did you mean "<name>"?`:
351
+ *
352
+ * - for an **unknown command**, WingFoil's own match (`./suggest.ts`, Levenshtein distance ≤ 2,
353
+ * `spec-008` §1) against the commands of the level the token was typed at; Commander's suggestion,
354
+ * from a different algorithm, is dropped;
355
+ * - for an **unknown option**, Commander's match, re-worded into the same `hint:` shape — `spec-008` §1
356
+ * fixes the algorithm for commands only, and Commander knows every option a command inherits.
357
+ *
358
+ * Any other line is kept, joined to the reason, so nothing Commander said is dropped.
359
+ */
360
+ function commanderRefusal(program, text, format) {
361
+ const [first = '', ...rest] = text.split('\n').map((line) => line.trim()).filter((line) => line !== '');
362
+ const suggestion = /^\(Did you mean (.*)\?\)$/;
363
+ const reason = [first.replace(/^error: /, ''), ...rest.filter((line) => !suggestion.test(line))].join(' ');
364
+ const unknownCommand = /^unknown command '(.*)'$/.exec(reason)?.[1];
365
+ const suggested = unknownCommand !== undefined
366
+ ? (0, suggest_1.closestCommand)(unknownCommand, commandsBeside(program))
367
+ : rest.map((line) => suggestion.exec(line)?.[1]).find((match) => match !== undefined);
368
+ return [reason, { format, ...(suggested !== undefined ? { hint: (0, suggest_1.unknownCommandHint)(suggested) } : {}) }];
369
+ }
370
+ /**
371
+ * The names (and aliases) of the commands an unknown command was typed among: walk the root program's
372
+ * operands from the top, descending into each known command, and stop at the first operand no command
373
+ * at that level answers to — the one Commander refused. The list is the one Commander itself would
374
+ * consider there (`Help#visibleCommands`, its built-in `help` included).
375
+ */
376
+ function commandsBeside(program) {
377
+ let level = program;
378
+ for (const operand of program.args) {
379
+ const next = level.commands.find((command) => command.name() === operand || command.aliases().includes(operand));
380
+ if (next === undefined)
381
+ break;
382
+ level = next;
383
+ }
384
+ return program
385
+ .createHelp()
386
+ .visibleCommands(level)
387
+ .flatMap((command) => [command.name(), ...command.aliases()]);
388
+ }
389
+ /**
390
+ * The refusal (spec-005 §3.1) for an invocation Commander found incomplete —
266
391
  * task-103-a-missing-verb-exits-2-with-an-error-line (`bug-103`). Commander supplies no message on
267
392
  * this path, so the wording is a **ruling**, recorded here rather than left to the reader:
268
393
  *
269
- * - `wingfoil dna`, `wingfoil memory`, and `wingfoil` with no arguments at all →
270
- * `missing required argument: wingfoil dna <command>` / `missing required argument: wingfoil
271
- * <command>`. The key is the one `spec-005` §1 already lists among its malformed invocations, and
272
- * the shape is the one WingFoil already emits for a missing positional (`src/core/index.ts`'s
273
- * `missing required argument: wingfoil dna set <path> --value <value>`, task-093): the incomplete
274
- * invocation echoed back with the token that would complete it. `<command>` rather than `<verb>`
275
- * matches Commander's own placeholder in the usage line printed directly above it.
276
- * - `wingfoil help nosuchnoun` → `unknown command 'nosuchnoun'`, byte-for-byte what `wingfoil
277
- * nosuchnoun` already emits (Commander's `unknownCommand()`), because asking about an unknown noun
278
- * through `help` is the same mistake and a script should have one shape to grep. The single quotes
279
- * are Commander's; `spec-005` §4's example shows double ones, and reconciling the two spellings
280
- * (along with the missing `hint:` suggestion) is `bug-104`'s, which owns both lines at once. Picking
281
- * a third spelling here would make that reconciliation harder, not easier.
394
+ * - `wingfoil dna`, `wingfoil memory`, and `wingfoil` with no arguments at all → the one
395
+ * missing-operand shape every command uses (task-179, `bug-168`; `missingOperandReason`):
396
+ * `missing required argument: <command>`, with the incomplete invocation and the token that would
397
+ * complete it as the `hint:` line, `usage: wingfoil dna <command>`. `<command>` rather than `<verb>`
398
+ * matches Commander's own placeholder in the usage line it prints above, under `console`.
399
+ * - `wingfoil help nosuchnoun` → `unknown command 'nosuchnoun'`, byte-for-byte the reason `wingfoil
400
+ * nosuchnoun` emits, because asking about an unknown noun through `help` is the same mistake and a
401
+ * script should have one shape to grep. It carries no `hint:` line: the suggestion on this path is
402
+ * `bug-115`'s (v0.4), out of task-179's scope.
282
403
  *
283
404
  * @param operands - the root program's `args`: the invocation's operands, global options already
284
405
  * removed by Commander itself. This function never re-parses argv.
406
+ * @returns the reason, and the hint when there is one.
285
407
  */
286
408
  function incompleteInvocationReason(operands) {
287
409
  const [first, second] = operands;
@@ -289,8 +411,8 @@ function incompleteInvocationReason(operands) {
289
411
  // `Command#_dispatchHelpCommand` falls through to `_dispatchSubcommand`, whose `if (!subCommand)`
290
412
  // raises it. `help` alone and `help <known-noun>` exit 0 and never arrive here.
291
413
  if (first === 'help' && second !== undefined)
292
- return `unknown command '${second}'`;
293
- return `missing required argument: ${['wingfoil', ...operands].join(' ')} <command>`;
414
+ return { reason: `unknown command '${second}'` };
415
+ return { reason: (0, registry_1.missingOperandReason)('command'), hint: `usage: ${['wingfoil', ...operands, '<command>'].join(' ')}` };
294
416
  }
295
417
  /**
296
418
  * The Commander `Command` a `CliCommand` registers itself on: a flat, no-verb command
@@ -322,7 +444,7 @@ function buildFlagValues(command, options) {
322
444
  return undefined;
323
445
  const flagValues = {};
324
446
  for (const name of flagNames) {
325
- flagValues[name] = Boolean(options[name]);
447
+ flagValues[name] = Boolean(options[commanderKey(name)]);
326
448
  }
327
449
  return flagValues;
328
450
  }
@@ -1 +1 @@
1
- {"version":3,"file":"program.js","sourceRoot":"","sources":["../../src/cli/program.ts"],"names":[],"mappings":";;AAwEA,oCAgKC;AAxOD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,qCAAuC;AACvC,yCAAiC;AAMjC,uGAAuG;AACvG,8FAA8F;AAC9F,iDAAyD;AACzD,wCAA4C;AAE5C,2CAA2F;AAC3F,iDAA+D;AAC/D,+CAAuC;AACvC,mCAAoC;AACpC,iCAAkC;AAClC,qCAAyC;AAEzC;;;;;GAKG;AACH,SAAS,kBAAkB;IACzB,MAAM,YAAY,GAAG,IAAA,gBAAI,EAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC;IACjE,OAAQ,IAAI,CAAC,KAAK,CAAC,IAAA,sBAAY,EAAC,YAAY,EAAE,OAAO,CAAC,CAAyB,CAAC,OAAO,CAAC;AAC1F,CAAC;AAED;;;;;;GAMG;AACI,KAAK,UAAU,YAAY,CAAC,OAA8B,EAAE,OAA6B;IAC9F,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,CAAC;IAC3D,MAAM,OAAO,GAAG,IAAI,WAAW,CAAC,UAAU,CAAC,CAAC;IAC5C,gFAAgF;IAChF,+FAA+F;IAC/F,iGAAiG;IACjG,oGAAoG;IACpG,+FAA+F;IAC/F,qFAAqF;IACrF,qGAAqG;IACrG,iGAAiG;IACjG,WAAW;IACX,EAAE;IACF,oGAAoG;IACpG,mGAAmG;IACnG,iGAAiG;IACjG,mGAAmG;IACnG,mGAAmG;IACnG,yDAAyD;IACzD,mEAAmE;IACnE,EAAE;IACF,0FAA0F;IAC1F,qGAAqG;IACrG,iGAAiG;IACjG,+FAA+F;IAC/F,oGAAoG;IACpG,qGAAqG;IACrG,6DAA6D;IAC7D,OAAO,CAAC,YAAY,CAAC,CAAC,KAAK,EAAE,EAAE;QAC7B,MAAM,WAAW,GAAG,IAAA,gCAAoB,EAAC,KAAK,CAAC,CAAC;QAChD,IAAI,WAAW,CAAC,cAAc;YAAE,IAAA,iBAAS,EAAC,0BAA0B,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;QAC3G,IAAA,eAAQ,EAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IACjC,CAAC,CAAC,CAAC;IACH,mGAAmG;IACnG,qGAAqG;IACrG,+FAA+F;IAC/F,oGAAoG;IACpG,kGAAkG;IAClG,sCAAsC;IACtC,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAA2B,CAAC;IAC/D,OAAO,CAAC,aAAa,CAAC,EAAE,cAAc,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,cAAc,CAAC,OAAO,EAAE,mBAAmB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;IAClH,kFAAkF;IAClF,iGAAiG;IACjG,OAAO,CAAC,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAAC;IACtC,OAAO;SACJ,MAAM,CAAC,mBAAmB,EAAE,mCAAmC,EAAE,SAAS,CAAC;SAC3E,MAAM,CAAC,WAAW,EAAE,gCAAgC,CAAC;SACrD,MAAM,CAAC,YAAY,EAAE,qBAAqB,CAAC;SAC3C,MAAM,CAAC,kBAAkB,EAAE,2CAA2C,CAAC,CAAC;IAE3E,mGAAmG;IACnG,8FAA8F;IAC9F,2FAA2F;IAC3F,kGAAkG;IAClG,sFAAsF;IACtF,OAAO;SACJ,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,iEAAiE,CAAC;QAC/E,iGAAiG;QACjG,oEAAoE;SACnE,MAAM,CACL,mBAAmB,EACnB,iCAAiC,wBAAc,CAAC,IAAI,CAAC,IAAI,CAAC,yDAAyD,CACpH;SACA,WAAW,CAAC,OAAO,EAAE,cAAc,CAAC,4BAA4B,wBAAc,CAAC,CAAC,CAAC,IAAI,QAAQ,EAAE,CAAC,CAAC;SACjG,MAAM,CAAC,KAAK,EAAE,SAAgC,EAAE,EAAE;QACjD,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,EAA4C,CAAC;QAC5E,IAAI,IAAY,CAAC;QACjB,IAAI,CAAC;YACH,IAAI,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;QAC/B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAA,iBAAS,EAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,CAAC,CAAC;YACzF,IAAA,eAAQ,EAAC,CAAC,CAAC,CAAC;YACZ,OAAO;QACT,CAAC;QACD,MAAM,IAAA,sBAAO,EACX,EAAE,QAAQ,EAAE,SAAS,CAAC,QAAQ,EAAE,WAAW,EAAE,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,EAChG,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,IAAA,mCAAoB,GAAE,EAAE,CAC/E,CAAC;IACJ,CAAC,CAAC,CAAC;IAEL,iGAAiG;IACjG,iGAAiG;IACjG,uFAAuF;IACvF,uFAAuF;IACvF,oGAAoG;IACpG,sFAAsF;IACtF,OAAO;SACJ,OAAO,CAAC,KAAK,CAAC;SACd,WAAW,CAAC,iFAAiF,CAAC;SAC9F,WAAW,CAAC,OAAO,EAAE,cAAc,CAAC,cAAc,CAAC,CAAC;SACpD,MAAM,CAAC,KAAK,IAAI,EAAE;QACjB,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,EAAsB,CAAC;QACtD,MAAM,MAAM,GAAG,IAAA,sBAAa,EAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;QAChF,MAAM,IAAA,oBAAM,EAAC,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,OAAO,EAAE,kBAAkB,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;IAC5F,CAAC,CAAC,CAAC;IAEL,MAAM,YAAY,GAAG,IAAI,GAAG,EAAmB,CAAC;IAChD,KAAK,MAAM,OAAO,IAAI,IAAA,4BAAgB,EAAC,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC;QACzD,MAAM,MAAM,GAAG,oBAAoB,CAAC,OAAO,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;QAEpE,kGAAkG;QAClG,IAAI,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,eAAe,KAAK,SAAS;YAAE,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,WAAW,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;QAChI,IAAI,OAAO,CAAC,WAAW,KAAK,SAAS;YAAE,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAE/E,gGAAgG;QAChG,kGAAkG;QAClG,iGAAiG;QACjG,2FAA2F;QAC3F,8FAA8F;QAC9F,gGAAgG;QAChG,kGAAkG;QAClG,iGAAiG;QACjG,kGAAkG;QAClG,6FAA6F;QAC7F,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;YACvB,MAAM,CAAC,QAAQ,CAAC,IAAI,OAAO,CAAC,UAAU,CAAC,IAAI,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;YACnF,mBAAmB,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;QACtD,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;QACpC,CAAC;QACD,kFAAkF;QAClF,gGAAgG;QAChG,+CAA+C;QAC/C,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,KAAK,IAAI,EAAE,EAAE,CAAC;YACvC,MAAM,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,IAAI,EAAE,EAAE,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC;QAC1D,CAAC;QACD,wFAAwF;QACxF,gGAAgG;QAChG,8FAA8F;QAC9F,+FAA+F;QAC/F,gEAAgE;QAChE,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC;YAC3C,MAAM,KAAK,GAAG,KAAK,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,SAAS,IAAI,OAAO,GAAG,CAAC;YAClE,MAAM,WAAW,GAAG,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACxH,yFAAyF;YACzF,yFAAyF;YACzF,IAAI,MAAM,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;gBAC/B,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,WAAW,EAAE,CAAC,KAAa,EAAE,QAA8B,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;YACrH,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;YACpC,CAAC;QACH,CAAC;QACD,MAAM,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,GAAG,cAAc,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAC7E,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS;YAAE,MAAM,CAAC,WAAW,CAAC,OAAO,EAAE,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;QAEhG,iGAAiG;QACjG,mGAAmG;QACnG,8FAA8F;QAC9F,kGAAkG;QAClG,uFAAuF;QACvF,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,UAAqB,EAAE,EAAE;YAC/C,MAAM,OAAO,GAAG,UAAU,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAY,CAAC;YAC7D,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,EAAsB,CAAC;YACtD,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,EAA2B,CAAC;YACxD,MAAM,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,EAAE,eAAe,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,iBAAiB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;QAC7H,CAAC,CAAC,CAAC;IACL,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;GAGG;AACH,SAAS,cAAc,CAAC,UAAsC;IAC5D,IAAI,CAAC,UAAU;QAAE,OAAO,EAAE,CAAC;IAC3B,OAAO,CAAC,UAAU,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,IAAI,GAAG,CAAC,CAAC;AAC1F,CAAC;AAED;;;;;GAKG;AACH,SAAS,cAAc,CAAC,OAAgB,EAAE,UAAsC;IAC9E,MAAM,aAAa,GAAG,UAAU;QAC9B,CAAC,CAAC,cAAc,CAAC,UAAU,CAAC;QAC5B,CAAC,CAAC,OAAO,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE;YAC3C,MAAM,IAAI,GAAG,GAAG,QAAQ,CAAC,IAAI,EAAE,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;YACnE,OAAO,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,GAAG,CAAC;QACvD,CAAC,CAAC,CAAC;IACP,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,aAAa,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC5G,CAAC;AAED;;;;GAIG;AACH,SAAS,cAAc,CAAC,OAAe;IACrC,OAAO;QACL,EAAE;QACF,UAAU;QACV,OAAO,OAAO,EAAE;QAChB,EAAE;QACF,aAAa;QACb,cAAc;QACd,2DAA2D;QAC3D,wFAAwF;KACzF,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,SAAS,0BAA0B,CAAC,QAA2B;IAC7D,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,QAAQ,CAAC;IACjC,+FAA+F;IAC/F,kGAAkG;IAClG,gFAAgF;IAChF,IAAI,KAAK,KAAK,MAAM,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,oBAAoB,MAAM,GAAG,CAAC;IACnF,OAAO,8BAA8B,CAAC,UAAU,EAAE,GAAG,QAAQ,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC;AACvF,CAAC;AAED;;;;;;GAMG;AACH,SAAS,oBAAoB,CAAC,OAAgB,EAAE,YAAkC,EAAE,OAAmB;IACrG,IAAI,CAAC,OAAO,CAAC,IAAI;QAAE,OAAO,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAExD,IAAI,WAAW,GAAG,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACjD,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC5C,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;IAC9C,CAAC;IACD,OAAO,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AAC3C,CAAC;AAED;;;;;;GAMG;AACH,SAAS,eAAe,CACtB,OAAmB,EACnB,OAAgC;IAEhC,MAAM,SAAS,GAAG,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACjE,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAC7C,MAAM,UAAU,GAA4B,EAAE,CAAC;IAC/C,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;QAC7B,UAAU,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IAC5C,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,iBAAiB,CACxB,OAAmB,EACnB,OAAgC;IAEhC,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC;IACvC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAC5C,MAAM,YAAY,GAA+C,EAAE,CAAC;IACpE,KAAK,MAAM,EAAE,IAAI,EAAE,IAAI,QAAQ,EAAE,CAAC;QAChC,MAAM,KAAK,GAAG,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;QAC1C,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,YAAY,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;aACrD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;YAAE,YAAY,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAkB,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC;IACvH,CAAC;IACD,OAAO,YAAY,CAAC;AACtB,CAAC;AAED;;;;;;;;;;;GAWG;AACH,SAAS,YAAY,CAAC,IAAY;IAChC,OAAO,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC,MAAM,EAAE,IAAY,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;AACvF,CAAC"}
1
+ {"version":3,"file":"program.js","sourceRoot":"","sources":["../../src/cli/program.ts"],"names":[],"mappings":";;AAyEA,oCAmMC;AA5QD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,qCAAuC;AACvC,yCAAiC;AAKjC,+CAAmH;AACnH,uGAAuG;AACvG,8FAA8F;AAC9F,iDAAyD;AACzD,wCAA4D;AAE5D,2CAA2F;AAC3F,iDAA+D;AAC/D,+CAAuC;AACvC,mCAAoC;AACpC,iCAAgD;AAChD,qCAAiF;AACjF,uCAA+D;AAE/D;;;;;GAKG;AACH,SAAS,kBAAkB;IACzB,MAAM,YAAY,GAAG,IAAA,gBAAI,EAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC;IACjE,OAAQ,IAAI,CAAC,KAAK,CAAC,IAAA,sBAAY,EAAC,YAAY,EAAE,OAAO,CAAC,CAAyB,CAAC,OAAO,CAAC;AAC1F,CAAC;AAED;;;;;;GAMG;AACI,KAAK,UAAU,YAAY,CAAC,OAA8B,EAAE,OAA6B;IAC9F,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,CAAC;IAC3D,MAAM,OAAO,GAAG,IAAI,WAAW,CAAC,UAAU,CAAC,CAAC;IAC5C,gFAAgF;IAChF,+FAA+F;IAC/F,iGAAiG;IACjG,oGAAoG;IACpG,+FAA+F;IAC/F,qFAAqF;IACrF,qGAAqG;IACrG,iGAAiG;IACjG,WAAW;IACX,EAAE;IACF,sGAAsG;IACtG,yFAAyF;IACzF,0FAA0F;IAC1F,iGAAiG;IACjG,mGAAmG;IACnG,mGAAmG;IACnG,yDAAyD;IACzD,mEAAmE;IACnE,EAAE;IACF,0FAA0F;IAC1F,qGAAqG;IACrG,iGAAiG;IACjG,+FAA+F;IAC/F,oGAAoG;IACpG,qGAAqG;IACrG,6DAA6D;IAC7D,OAAO,CAAC,YAAY,CAAC,CAAC,KAAK,EAAE,EAAE;QAC7B,MAAM,WAAW,GAAG,IAAA,gCAAoB,EAAC,KAAK,CAAC,CAAC;QAChD,IAAI,WAAW,CAAC,cAAc,EAAE,CAAC;YAC/B,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,0BAA0B,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAClE,IAAA,iBAAS,EAAC,MAAM,EAAE,EAAE,MAAM,EAAE,YAAY,CAAC,OAAO,CAAC,EAAE,GAAG,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QAChG,CAAC;QACD,MAAM,QAAQ,GAAG,IAAA,eAAQ,EAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QAChD,kGAAkG;QAClG,kGAAkG;QAClG,gGAAgG;QAChG,qEAAqE;QACrE,IAAI,QAAQ;YAAE,MAAM,IAAI,mBAAY,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC7D,CAAC,CAAC,CAAC;IACH,oGAAoG;IACpG,oGAAoG;IACpG,6FAA6F;IAC7F,sGAAsG;IACtG,iGAAiG;IACjG,oGAAoG;IACpG,qGAAqG;IACrG,cAAc;IACd,oGAAoG;IACpG,sGAAsG;IACtG,+FAA+F;IAC/F,OAAO,CAAC,eAAe,CAAC;QACtB,QAAQ,EAAE,CAAC,IAAI,EAAE,EAAE;YACjB,IAAI,YAAY,CAAC,OAAO,CAAC,KAAK,SAAS;gBAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QACtE,CAAC;QACD,WAAW,EAAE,CAAC,IAAI,EAAE,EAAE;YACpB,IAAA,iBAAS,EAAC,GAAG,gBAAgB,CAAC,OAAO,EAAE,IAAI,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QACvE,CAAC;KACF,CAAC,CAAC;IACH,mGAAmG;IACnG,qGAAqG;IACrG,+FAA+F;IAC/F,oGAAoG;IACpG,kGAAkG;IAClG,sCAAsC;IACtC,MAAM,mBAAmB,GAAG,IAAI,GAAG,EAA2B,CAAC;IAC/D,OAAO,CAAC,aAAa,CAAC,EAAE,cAAc,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,cAAc,CAAC,OAAO,EAAE,mBAAmB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;IAClH,kFAAkF;IAClF,iGAAiG;IACjG,qGAAqG;IACrG,gGAAgG;IAChG,OAAO,CAAC,OAAO,CAAC,IAAA,wBAAc,GAAE,CAAC,CAAC;IAClC,OAAO;QACL,mGAAmG;QACnG,gFAAgF;SAC/E,MAAM,CAAC,mBAAmB,EAAE,6GAA6G,EAAE,SAAS,CAAC;SACrJ,MAAM,CAAC,WAAW,EAAE,gCAAgC,CAAC;SACrD,MAAM,CAAC,YAAY,EAAE,0DAA0D,CAAC;SAChF,MAAM,CAAC,kBAAkB,EAAE,2CAA2C,CAAC,CAAC;IAE3E,mGAAmG;IACnG,8FAA8F;IAC9F,2FAA2F;IAC3F,kGAAkG;IAClG,sFAAsF;IACtF,OAAO;SACJ,OAAO,CAAC,MAAM,CAAC;SACf,WAAW,CAAC,iEAAiE,CAAC;QAC/E,iGAAiG;QACjG,oEAAoE;SACnE,MAAM,CACL,mBAAmB,EACnB,iCAAiC,wBAAc,CAAC,IAAI,CAAC,IAAI,CAAC,yDAAyD,CACpH;SACA,WAAW,CAAC,OAAO,EAAE,cAAc,CAAC,4BAA4B,wBAAc,CAAC,CAAC,CAAC,IAAI,QAAQ,EAAE,CAAC,CAAC;SACjG,oBAAoB,CAAC,IAAI,CAAC;SAC1B,MAAM,CAAC,KAAK,EAAE,SAAgC,EAAE,OAAgB,EAAE,EAAE;QACnE,IAAI,oBAAoB,CAAC,OAAO,CAAC,IAAI,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC;YAAE,OAAO;QAC3F,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,EAA4C,CAAC;QAC5E,IAAI,IAAY,CAAC;QACjB,IAAI,CAAC;YACH,IAAI,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;QAC/B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAA,iBAAS,EAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,MAAM,EAAE,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YACrG,IAAA,eAAQ,EAAC,CAAC,CAAC,CAAC;YACZ,OAAO;QACT,CAAC;QACD,MAAM,IAAA,sBAAO,EACX,EAAE,QAAQ,EAAE,SAAS,CAAC,QAAQ,EAAE,WAAW,EAAE,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,EAChG,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,IAAA,mCAAoB,GAAE,EAAE,CAC/E,CAAC;IACJ,CAAC,CAAC,CAAC;IAEL,iGAAiG;IACjG,iGAAiG;IACjG,uFAAuF;IACvF,uFAAuF;IACvF,oGAAoG;IACpG,sFAAsF;IACtF,OAAO;SACJ,OAAO,CAAC,KAAK,CAAC;SACd,WAAW,CAAC,iFAAiF,CAAC;SAC9F,WAAW,CAAC,OAAO,EAAE,cAAc,CAAC,cAAc,CAAC,CAAC;SACpD,oBAAoB,CAAC,IAAI,CAAC;SAC1B,MAAM,CAAC,KAAK,EAAE,UAAmB,EAAE,OAAgB,EAAE,EAAE;QACtD,IAAI,oBAAoB,CAAC,OAAO,CAAC,IAAI,cAAc,CAAC,OAAO,EAAE,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC;YAAE,OAAO;QAC1F,MAAM,IAAA,oBAAM,EAAC,EAAE,WAAW,EAAE,OAAO,CAAC,WAAW,EAAE,OAAO,EAAE,kBAAkB,EAAE,EAAE,MAAM,EAAE,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACnH,CAAC,CAAC,CAAC;IAEL,MAAM,YAAY,GAAG,IAAI,GAAG,EAAmB,CAAC;IAChD,KAAK,MAAM,OAAO,IAAI,IAAA,4BAAgB,EAAC,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC;QACzD,MAAM,MAAM,GAAG,oBAAoB,CAAC,OAAO,EAAE,YAAY,EAAE,OAAO,CAAC,CAAC;QAEpE,kGAAkG;QAClG,IAAI,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,eAAe,KAAK,SAAS;YAAE,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,WAAW,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;QAChI,IAAI,OAAO,CAAC,WAAW,KAAK,SAAS;YAAE,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;QAE/E,gGAAgG;QAChG,8FAA8F;QAC9F,oGAAoG;QACpG,mGAAmG;QACnG,mGAAmG;QACnG,kGAAkG;QAClG,oGAAoG;QACpG,8FAA8F;QAC9F,oGAAoG;QACpG,iJAAiJ;QACjJ,2FAA2F;QAC3F,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;YACvB,MAAM,CAAC,QAAQ,CAAC,IAAI,OAAO,CAAC,UAAU,CAAC,IAAI,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;YACnF,mBAAmB,CAAC,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;QACtD,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;QACpC,CAAC;QACD,kFAAkF;QAClF,gGAAgG;QAChG,+CAA+C;QAC/C,KAAK,MAAM,IAAI,IAAI,OAAO,CAAC,KAAK,IAAI,EAAE,EAAE,CAAC;YACvC,MAAM,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,IAAI,EAAE,EAAE,IAAI,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC;QAC1D,CAAC;QACD,wFAAwF;QACxF,gGAAgG;QAChG,8FAA8F;QAC9F,+FAA+F;QAC/F,gEAAgE;QAChE,KAAK,MAAM,MAAM,IAAI,OAAO,CAAC,OAAO,IAAI,EAAE,EAAE,CAAC;YAC3C,MAAM,KAAK,GAAG,KAAK,MAAM,CAAC,IAAI,KAAK,MAAM,CAAC,SAAS,IAAI,OAAO,GAAG,CAAC;YAClE,MAAM,WAAW,GAAG,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACxH,yFAAyF;YACzF,yFAAyF;YACzF,IAAI,MAAM,CAAC,UAAU,KAAK,IAAI,EAAE,CAAC;gBAC/B,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,WAAW,EAAE,CAAC,KAAa,EAAE,QAA8B,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,QAAQ,IAAI,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC;YACrH,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;YACpC,CAAC;QACH,CAAC;QACD,MAAM,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,GAAG,cAAc,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;QAC7E,IAAI,OAAO,CAAC,OAAO,KAAK,SAAS;YAAE,MAAM,CAAC,WAAW,CAAC,OAAO,EAAE,cAAc,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;QAEhG,iGAAiG;QACjG,mGAAmG;QACnG,8FAA8F;QAC9F,kGAAkG;QAClG,uFAAuF;QACvF,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,GAAG,UAAqB,EAAE,EAAE;YAC/C,MAAM,OAAO,GAAG,UAAU,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,CAAY,CAAC;YAC7D,MAAM,UAAU,GAAG,OAAO,CAAC,IAAI,EAAsB,CAAC;YACtD,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,EAA2B,CAAC;YACxD,MAAM,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,EAAE,eAAe,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,iBAAiB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;QAC7H,CAAC,CAAC,CAAC;IACL,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;GAGG;AACH,SAAS,cAAc,CAAC,UAAsC;IAC5D,IAAI,CAAC,UAAU;QAAE,OAAO,EAAE,CAAC;IAC3B,OAAO,CAAC,UAAU,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,IAAI,GAAG,CAAC,CAAC;AAC1F,CAAC;AAED;;;;;GAKG;AACH,SAAS,cAAc,CAAC,OAAgB,EAAE,UAAsC;IAC9E,MAAM,aAAa,GAAG,UAAU;QAC9B,CAAC,CAAC,cAAc,CAAC,UAAU,CAAC;QAC5B,CAAC,CAAC,OAAO,CAAC,mBAAmB,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE;YAC3C,MAAM,IAAI,GAAG,GAAG,QAAQ,CAAC,IAAI,EAAE,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;YACnE,OAAO,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,IAAI,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,GAAG,CAAC;QACvD,CAAC,CAAC,CAAC;IACP,OAAO,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,aAAa,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC5G,CAAC;AAED;;;;GAIG;AACH,SAAS,cAAc,CAAC,OAAe;IACrC,OAAO;QACL,EAAE;QACF,UAAU;QACV,OAAO,OAAO,EAAE;QAChB,EAAE;QACF,aAAa;QACb,cAAc;QACd,2DAA2D;QAC3D,wFAAwF;KACzF,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,oBAAoB,CAAC,OAAgB;IAC5C,MAAM,KAAK,GAAG,OAAO,CAAC,IAAI,EAAsB,CAAC,MAAM,CAAC;IACxD,IAAI,IAAA,sBAAa,EAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACvC,IAAA,eAAQ,EAAC,CAAC,EAAE,UAAU,IAAA,4BAAmB,EAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACpD,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;;;;;;GASG;AACH,SAAS,cAAc,CAAC,OAAgB,EAAE,IAAY,EAAE,QAA2B;IACjF,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IACxC,IAAA,iBAAS,EAAC,IAAA,8BAAmB,EAAC,IAAI,EAAE,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACpG,IAAA,eAAQ,EAAC,CAAC,CAAC,CAAC;IACZ,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;;GAIG;AACH,SAAS,YAAY,CAAC,OAAgB;IACpC,MAAM,KAAK,GAAY,OAAO,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;IACxD,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,IAAA,sBAAa,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;AAC/E,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,SAAS,gBAAgB,CAAC,OAAgB,EAAE,IAAY,EAAE,MAAoB;IAC5E,MAAM,CAAC,KAAK,GAAG,EAAE,EAAE,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC;IACxG,MAAM,UAAU,GAAG,2BAA2B,CAAC;IAC/C,MAAM,MAAM,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IAC3G,MAAM,cAAc,GAAG,0BAA0B,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACpE,MAAM,SAAS,GACb,cAAc,KAAK,SAAS;QAC1B,CAAC,CAAC,IAAA,wBAAc,EAAC,cAAc,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC;QACzD,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC;IAC1F,OAAO,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAA,4BAAkB,EAAC,SAAS,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;AAC3G,CAAC;AAED;;;;;GAKG;AACH,SAAS,cAAc,CAAC,OAAgB;IACtC,IAAI,KAAK,GAAG,OAAO,CAAC;IACpB,KAAK,MAAM,OAAO,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;QACnC,MAAM,IAAI,GAAG,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,OAAO,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;QACjH,IAAI,IAAI,KAAK,SAAS;YAAE,MAAM;QAC9B,KAAK,GAAG,IAAI,CAAC;IACf,CAAC;IACD,OAAO,OAAO;SACX,UAAU,EAAE;SACZ,eAAe,CAAC,KAAK,CAAC;SACtB,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;AAClE,CAAC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,SAAS,0BAA0B,CAAC,QAA2B;IAC7D,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,QAAQ,CAAC;IACjC,+FAA+F;IAC/F,kGAAkG;IAClG,gFAAgF;IAChF,IAAI,KAAK,KAAK,MAAM,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,EAAE,MAAM,EAAE,oBAAoB,MAAM,GAAG,EAAE,CAAC;IAC/F,OAAO,EAAE,MAAM,EAAE,IAAA,+BAAoB,EAAC,SAAS,CAAC,EAAE,IAAI,EAAE,UAAU,CAAC,UAAU,EAAE,GAAG,QAAQ,EAAE,WAAW,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;AACzH,CAAC;AAED;;;;;;GAMG;AACH,SAAS,oBAAoB,CAAC,OAAgB,EAAE,YAAkC,EAAE,OAAmB;IACrG,IAAI,CAAC,OAAO,CAAC,IAAI;QAAE,OAAO,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IAExD,IAAI,WAAW,GAAG,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;IACjD,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC5C,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;IAC9C,CAAC;IACD,OAAO,WAAW,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AAC3C,CAAC;AAED;;;;;;GAMG;AACH,SAAS,eAAe,CACtB,OAAmB,EACnB,OAAgC;IAEhC,MAAM,SAAS,GAAG,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACjE,IAAI,SAAS,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAC7C,MAAM,UAAU,GAA4B,EAAE,CAAC;IAC/C,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;QAC7B,UAAU,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC1D,CAAC;IACD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED;;;;;;;;GAQG;AACH,SAAS,iBAAiB,CACxB,OAAmB,EACnB,OAAgC;IAEhC,MAAM,QAAQ,GAAG,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC;IACvC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAC5C,MAAM,YAAY,GAA+C,EAAE,CAAC;IACpE,KAAK,MAAM,EAAE,IAAI,EAAE,IAAI,QAAQ,EAAE,CAAC;QAChC,MAAM,KAAK,GAAG,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;QAC1C,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,YAAY,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;aACrD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;YAAE,YAAY,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,IAAI,EAAkB,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC;IACvH,CAAC;IACD,OAAO,YAAY,CAAC;AACtB,CAAC;AAED;;;;;;;;;;;GAWG;AACH,SAAS,YAAY,CAAC,IAAY;IAChC,OAAO,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC,MAAM,EAAE,IAAY,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;AACvF,CAAC"}
@@ -7,7 +7,7 @@
7
7
  * operation regardless of `mutates`"). No business logic lives outside `run`: it only (a)
8
8
  * validates the global `--format` flag, (b) turns the invocation into typed params via the
9
9
  * caller-supplied `buildParams`, (c) calls the one core function, (d) renders the resulting
10
- * `CoreResult` via `renderSuccess`/`emitError` and terminates via `exitWith` — matching spec-005
10
+ * `CoreResult` via `renderSuccess` (plus `emitWarnings` for its warnings, task-169)/`emitError` and terminates via `exitWith` — matching spec-005
11
11
  * §1's "exactly one process exit call per invocation".
12
12
  *
13
13
  * Deliberately Commander-independent (see `./program.ts`'s module doc for why): this module owns
@@ -1 +1 @@
1
- {"version":3,"file":"registrar.d.ts","sourceRoot":"","sources":["../../src/cli/registrar.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AASxG,qIAAqI;AACrI,MAAM,WAAW,oBAAoB;IACnC,oGAAoG;IACpG,QAAQ,CAAC,WAAW,EAAE,MAAM,MAAM,CAAC;IACnC,iHAAiH;IACjH,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC;CACrC;AAED;;;;GAIG;AACH,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,qFAAqF;IACrF,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAClC,2FAA2F;IAC3F,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,iHAAiH;IACjH,QAAQ,CAAC,UAAU,CAAC,EAAE,cAAc,CAAC;IACrC,uGAAuG;IACvG,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B;;0EAEsE;IACtE,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,QAAQ,EAAE,CAAC;IACrC;;mCAE+B;IAC/B,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,UAAU,EAAE,CAAC;IACzC;;;;;;;;;;;;OAYG;IACH,QAAQ,CAAC,GAAG,EAAE,CACZ,WAAW,EAAE,MAAM,EACnB,WAAW,CAAC,EAAE,SAAS,MAAM,EAAE,EAC/B,KAAK,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EACzC,OAAO,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,CAAC,CAAC,KAC3D,OAAO,CAAC,IAAI,CAAC,CAAC;CACpB;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,SAAS,UAAU,EAAE,EAAE,OAAO,EAAE,oBAAoB,GAAG,UAAU,EAAE,CAmE5G;AAED;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,SAAS,UAAU,EAAE,GAAG,MAAM,EAAE,CAEnF"}
1
+ {"version":3,"file":"registrar.d.ts","sourceRoot":"","sources":["../../src/cli/registrar.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAaxG,qIAAqI;AACrI,MAAM,WAAW,oBAAoB;IACnC,oGAAoG;IACpG,QAAQ,CAAC,WAAW,EAAE,MAAM,MAAM,CAAC;IACnC,iHAAiH;IACjH,QAAQ,CAAC,WAAW,EAAE,aAAa,CAAC;CACrC;AAED;;;;GAIG;AACH,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,qFAAqF;IACrF,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;IAClC,2FAA2F;IAC3F,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAC;IAC9B,iHAAiH;IACjH,QAAQ,CAAC,UAAU,CAAC,EAAE,cAAc,CAAC;IACrC,uGAAuG;IACvG,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B;;0EAEsE;IACtE,QAAQ,CAAC,KAAK,CAAC,EAAE,SAAS,QAAQ,EAAE,CAAC;IACrC;;mCAE+B;IAC/B,QAAQ,CAAC,OAAO,CAAC,EAAE,SAAS,UAAU,EAAE,CAAC;IACzC;;;;;;;;;;;;OAYG;IACH,QAAQ,CAAC,GAAG,EAAE,CACZ,WAAW,EAAE,MAAM,EACnB,WAAW,CAAC,EAAE,SAAS,MAAM,EAAE,EAC/B,KAAK,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EACzC,OAAO,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,MAAM,EAAE,CAAC,CAAC,KAC3D,OAAO,CAAC,IAAI,CAAC,CAAC;CACpB;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,SAAS,UAAU,EAAE,EAAE,OAAO,EAAE,oBAAoB,GAAG,UAAU,EAAE,CA2H5G;AAED;;;;;GAKG;AACH,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,SAAS,UAAU,EAAE,GAAG,MAAM,EAAE,CAEnF"}