@codefast/cli 0.3.13-canary.2 → 0.3.13-canary.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (342) hide show
  1. package/README.md +1 -1
  2. package/dist/commands/arrange.d.ts.map +1 -1
  3. package/dist/commands/arrange.js +42 -63
  4. package/dist/commands/mirror.d.ts +0 -1
  5. package/dist/commands/mirror.d.ts.map +1 -1
  6. package/dist/commands/mirror.js +13 -52
  7. package/dist/commands/tag.d.ts.map +1 -1
  8. package/dist/commands/tag.js +16 -13
  9. package/dist/lib/arrange/application/requests/suggest-groups.request.d.ts +8 -0
  10. package/dist/lib/arrange/application/requests/suggest-groups.request.d.ts.map +1 -0
  11. package/dist/lib/arrange/application/requests/suggest-groups.request.js +8 -0
  12. package/dist/lib/arrange/application/{analyze.d.ts → use-cases/analyze-directory.use-case.d.ts} +4 -4
  13. package/dist/lib/arrange/application/use-cases/analyze-directory.use-case.d.ts.map +1 -0
  14. package/dist/lib/arrange/application/{analyze.js → use-cases/analyze-directory.use-case.js} +3 -3
  15. package/dist/lib/arrange/application/{group-file-preview.d.ts → use-cases/group-file-preview.use-case.d.ts} +2 -2
  16. package/dist/lib/arrange/application/use-cases/group-file-preview.use-case.d.ts.map +1 -0
  17. package/dist/lib/arrange/application/{group-file-preview.js → use-cases/group-file-preview.use-case.js} +1 -1
  18. package/dist/lib/arrange/application/{group-file.d.ts → use-cases/group-file.use-case.d.ts} +2 -2
  19. package/dist/lib/arrange/application/use-cases/group-file.use-case.d.ts.map +1 -0
  20. package/dist/lib/arrange/application/{group-file.js → use-cases/group-file.use-case.js} +2 -2
  21. package/dist/lib/arrange/application/{run-target.d.ts → use-cases/run-arrange-sync.use-case.d.ts} +4 -4
  22. package/dist/lib/arrange/application/use-cases/run-arrange-sync.use-case.d.ts.map +1 -0
  23. package/dist/lib/arrange/application/{run-target.js → use-cases/run-arrange-sync.use-case.js} +4 -4
  24. package/dist/lib/arrange/application/use-cases/suggest-cn-groups.use-case.d.ts +7 -0
  25. package/dist/lib/arrange/application/use-cases/suggest-cn-groups.use-case.d.ts.map +1 -0
  26. package/dist/lib/arrange/application/use-cases/suggest-cn-groups.use-case.js +10 -0
  27. package/dist/lib/arrange/domain/arrange-analyze.service.d.ts +1 -1
  28. package/dist/lib/arrange/domain/arrange-analyze.service.d.ts.map +1 -1
  29. package/dist/lib/arrange/domain/arrange-analyze.service.js +6 -6
  30. package/dist/lib/arrange/domain/arrange-grouping.service.d.ts +1 -1
  31. package/dist/lib/arrange/domain/arrange-grouping.service.d.ts.map +1 -1
  32. package/dist/lib/arrange/domain/arrange-grouping.service.js +3 -3
  33. package/dist/lib/arrange/domain/ast/{ast-helpers.d.ts → ast-helpers.helper.d.ts} +2 -2
  34. package/dist/lib/arrange/domain/ast/ast-helpers.helper.d.ts.map +1 -0
  35. package/dist/lib/arrange/domain/ast/{ast-helpers.js → ast-helpers.helper.js} +2 -2
  36. package/dist/lib/arrange/domain/ast/{collectors-cn.d.ts → collectors-cn.collector.d.ts} +2 -2
  37. package/dist/lib/arrange/domain/ast/collectors-cn.collector.d.ts.map +1 -0
  38. package/dist/lib/arrange/domain/ast/{collectors-cn.js → collectors-cn.collector.js} +1 -1
  39. package/dist/lib/arrange/domain/ast/{collectors-jsx.d.ts → collectors-jsx.collector.d.ts} +2 -2
  40. package/dist/lib/arrange/domain/ast/collectors-jsx.collector.d.ts.map +1 -0
  41. package/dist/lib/arrange/domain/ast/{collectors-tv.d.ts → collectors-tv.collector.d.ts} +2 -2
  42. package/dist/lib/arrange/domain/ast/collectors-tv.collector.d.ts.map +1 -0
  43. package/dist/lib/arrange/domain/ast/{collectors-tv.js → collectors-tv.collector.js} +4 -4
  44. package/dist/lib/arrange/domain/ast/{targets.d.ts → targets.model.d.ts} +2 -2
  45. package/dist/lib/arrange/domain/ast/targets.model.d.ts.map +1 -0
  46. package/dist/lib/arrange/domain/ast/{targets.js → targets.model.js} +8 -8
  47. package/dist/lib/arrange/domain/{constants.d.ts → constants.domain.d.ts} +7 -5
  48. package/dist/lib/arrange/domain/constants.domain.d.ts.map +1 -0
  49. package/dist/lib/arrange/domain/{constants.js → constants.domain.js} +5 -3
  50. package/dist/lib/arrange/domain/{errors.d.ts → errors.domain.d.ts} +1 -1
  51. package/dist/lib/arrange/domain/errors.domain.d.ts.map +1 -0
  52. package/dist/lib/arrange/domain/{grouping.d.ts → grouping.domain.d.ts} +1 -1
  53. package/dist/lib/arrange/domain/grouping.domain.d.ts.map +1 -0
  54. package/dist/lib/arrange/domain/{grouping.js → grouping.domain.js} +83 -19
  55. package/dist/lib/arrange/domain/{imports.d.ts → imports.domain.d.ts} +1 -1
  56. package/dist/lib/arrange/domain/imports.domain.d.ts.map +1 -0
  57. package/dist/lib/arrange/domain/{source-text-formatters.d.ts → source-text-formatters.formatter.d.ts} +1 -1
  58. package/dist/lib/arrange/domain/source-text-formatters.formatter.d.ts.map +1 -0
  59. package/dist/lib/arrange/domain/{source-text-formatters.js → source-text-formatters.formatter.js} +1 -1
  60. package/dist/lib/arrange/domain/{tokenizer.d.ts → tokenizer.util.d.ts} +2 -2
  61. package/dist/lib/arrange/domain/tokenizer.util.d.ts.map +1 -0
  62. package/dist/lib/arrange/domain/{tokenizer.js → tokenizer.util.js} +4 -1
  63. package/dist/lib/arrange/domain/{types.d.ts → types.domain.d.ts} +8 -5
  64. package/dist/lib/arrange/domain/types.domain.d.ts.map +1 -0
  65. package/dist/lib/arrange/domain/types.domain.js +10 -0
  66. package/dist/lib/arrange/index.d.ts +18 -18
  67. package/dist/lib/arrange/index.d.ts.map +1 -1
  68. package/dist/lib/arrange/index.js +16 -16
  69. package/dist/lib/arrange/infra/{arrange-sync-cli-options.d.ts → arrange-sync-cli-options.adapter.d.ts} +3 -3
  70. package/dist/lib/arrange/infra/arrange-sync-cli-options.adapter.d.ts.map +1 -0
  71. package/dist/lib/arrange/infra/domain-source-parser.adapter.d.ts +1 -1
  72. package/dist/lib/arrange/infra/domain-source-parser.adapter.d.ts.map +1 -1
  73. package/dist/lib/arrange/infra/domain-source-parser.adapter.js +2 -2
  74. package/dist/lib/arrange/infra/{ensure-cn-import.d.ts → ensure-cn-import.adapter.d.ts} +1 -1
  75. package/dist/lib/arrange/infra/ensure-cn-import.adapter.d.ts.map +1 -0
  76. package/dist/lib/arrange/infra/{ensure-cn-import.js → ensure-cn-import.adapter.js} +2 -2
  77. package/dist/lib/arrange/infra/file-walker.adapter.d.ts +1 -1
  78. package/dist/lib/arrange/infra/file-walker.adapter.d.ts.map +1 -1
  79. package/dist/lib/arrange/infra/file-walker.adapter.js +2 -2
  80. package/dist/lib/arrange/infra/{merge-cn-literal-pool-for-test.d.ts → merge-cn-literal-pool-for-test.test-helper.d.ts} +1 -1
  81. package/dist/lib/arrange/infra/merge-cn-literal-pool-for-test.test-helper.d.ts.map +1 -0
  82. package/dist/lib/arrange/infra/{merge-cn-literal-pool-for-test.js → merge-cn-literal-pool-for-test.test-helper.js} +2 -2
  83. package/dist/lib/arrange/infra/{ts-ast-translator.d.ts → ts-ast-translator.adapter.d.ts} +1 -1
  84. package/dist/lib/arrange/infra/ts-ast-translator.adapter.d.ts.map +1 -0
  85. package/dist/lib/arrange/presentation/arrange-prelude.presenter.d.ts +14 -0
  86. package/dist/lib/arrange/presentation/arrange-prelude.presenter.d.ts.map +1 -0
  87. package/dist/lib/arrange/presentation/arrange-prelude.presenter.js +24 -0
  88. package/dist/lib/arrange/presentation/{formatters.d.ts → formatters.presenter.d.ts} +3 -3
  89. package/dist/lib/arrange/presentation/formatters.presenter.d.ts.map +1 -0
  90. package/dist/lib/arrange/presentation/{formatters.js → formatters.presenter.js} +2 -2
  91. package/dist/lib/arrange/presentation/present-analyze-cli.presenter.d.ts +4 -0
  92. package/dist/lib/arrange/presentation/present-analyze-cli.presenter.d.ts.map +1 -0
  93. package/dist/lib/arrange/presentation/present-analyze-cli.presenter.js +4 -0
  94. package/dist/lib/arrange/presentation/report.presenter.d.ts +4 -0
  95. package/dist/lib/arrange/presentation/report.presenter.d.ts.map +1 -0
  96. package/dist/lib/arrange/presentation/{report.js → report.presenter.js} +1 -1
  97. package/dist/lib/arrange/presentation/resolve-arrange-cli-target.presenter.d.ts +2 -0
  98. package/dist/lib/arrange/presentation/resolve-arrange-cli-target.presenter.d.ts.map +1 -0
  99. package/dist/lib/arrange/presentation/resolve-arrange-cli-target.presenter.js +7 -0
  100. package/dist/lib/config/domain/{schema.d.ts → schema.domain.d.ts} +1 -1
  101. package/dist/lib/config/domain/schema.domain.d.ts.map +1 -0
  102. package/dist/lib/config/index.d.ts +3 -3
  103. package/dist/lib/config/index.d.ts.map +1 -1
  104. package/dist/lib/config/index.js +2 -2
  105. package/dist/lib/config/infra/{loader.d.ts → loader.adapter.d.ts} +3 -3
  106. package/dist/lib/config/infra/loader.adapter.d.ts.map +1 -0
  107. package/dist/lib/config/infra/{loader.js → loader.adapter.js} +1 -1
  108. package/dist/lib/core/application/{architecture-boundaries.d.ts → architecture-boundaries.policy.d.ts} +1 -1
  109. package/dist/lib/core/application/architecture-boundaries.policy.d.ts.map +1 -0
  110. package/dist/lib/core/application/{architecture-boundaries.js → architecture-boundaries.policy.js} +109 -2
  111. package/dist/lib/core/application/ports/cli-io.port.d.ts +4 -0
  112. package/dist/lib/core/application/ports/cli-io.port.d.ts.map +1 -1
  113. package/dist/lib/core/application/{schema-parse.d.ts → schema-parse.util.d.ts} +3 -3
  114. package/dist/lib/core/application/schema-parse.util.d.ts.map +1 -0
  115. package/dist/lib/core/application/{schema-parse.js → schema-parse.util.js} +2 -2
  116. package/dist/lib/core/application/utils/{caught-unknown-message.d.ts → caught-unknown-message.util.d.ts} +1 -1
  117. package/dist/lib/core/application/utils/caught-unknown-message.util.d.ts.map +1 -0
  118. package/dist/lib/core/application/utils/{verbose-diagnostics.d.ts → verbose-diagnostics.util.d.ts} +1 -1
  119. package/dist/lib/core/application/utils/verbose-diagnostics.util.d.ts.map +1 -0
  120. package/dist/lib/core/domain/{errors.d.ts → errors.domain.d.ts} +1 -1
  121. package/dist/lib/core/domain/errors.domain.d.ts.map +1 -0
  122. package/dist/lib/core/domain/{result.d.ts → result.model.d.ts} +3 -1
  123. package/dist/lib/core/domain/result.model.d.ts.map +1 -0
  124. package/dist/lib/core/domain/{result.js → result.model.js} +6 -0
  125. package/dist/lib/core/infra/container.adapter.d.ts +58 -0
  126. package/dist/lib/core/infra/container.adapter.d.ts.map +1 -0
  127. package/dist/lib/core/infra/{container.js → container.adapter.js} +22 -7
  128. package/dist/lib/core/infra/{logging-decorator.d.ts → logging-decorator.adapter.d.ts} +1 -1
  129. package/dist/lib/core/infra/logging-decorator.adapter.d.ts.map +1 -0
  130. package/dist/lib/core/presentation/{cli-executor.d.ts → cli-executor.presenter.d.ts} +3 -3
  131. package/dist/lib/core/presentation/cli-executor.presenter.d.ts.map +1 -0
  132. package/dist/lib/core/presentation/{cli-executor.js → cli-executor.presenter.js} +2 -2
  133. package/dist/lib/core/presentation/{format-app-error.d.ts → format-app-error.presenter.d.ts} +2 -2
  134. package/dist/lib/core/presentation/format-app-error.presenter.d.ts.map +1 -0
  135. package/dist/lib/core/presentation/global-cli-options.presenter.d.ts +9 -0
  136. package/dist/lib/core/presentation/global-cli-options.presenter.d.ts.map +1 -0
  137. package/dist/lib/core/presentation/global-cli-options.presenter.js +8 -0
  138. package/dist/lib/core/presentation/load-codefast-config.presenter.d.ts +8 -0
  139. package/dist/lib/core/presentation/load-codefast-config.presenter.d.ts.map +1 -0
  140. package/dist/lib/core/presentation/load-codefast-config.presenter.js +15 -0
  141. package/dist/lib/core/presentation/parse-cli-schema.presenter.d.ts +5 -0
  142. package/dist/lib/core/presentation/parse-cli-schema.presenter.d.ts.map +1 -0
  143. package/dist/lib/core/presentation/parse-cli-schema.presenter.js +4 -0
  144. package/dist/lib/core/presentation/run-cli-use-case-after-parse.presenter.d.ts +6 -0
  145. package/dist/lib/core/presentation/run-cli-use-case-after-parse.presenter.d.ts.map +1 -0
  146. package/dist/lib/core/presentation/run-cli-use-case-after-parse.presenter.js +17 -0
  147. package/dist/lib/core/presentation/workspace-root-strict.presenter.d.ts +5 -0
  148. package/dist/lib/core/presentation/workspace-root-strict.presenter.d.ts.map +1 -0
  149. package/dist/lib/core/presentation/workspace-root-strict.presenter.js +12 -0
  150. package/dist/lib/infra/{config-reporter.d.ts → config-reporter.adapter.d.ts} +2 -2
  151. package/dist/lib/infra/config-reporter.adapter.d.ts.map +1 -0
  152. package/dist/lib/infra/{fs-contract.d.ts → fs-contract.port.d.ts} +1 -1
  153. package/dist/lib/infra/fs-contract.port.d.ts.map +1 -0
  154. package/dist/lib/infra/{node-io.d.ts → node-io.adapter.d.ts} +1 -1
  155. package/dist/lib/infra/node-io.adapter.d.ts.map +1 -0
  156. package/dist/lib/infra/{node-io.js → node-io.adapter.js} +10 -0
  157. package/dist/lib/infra/workspace/{repo-root.d.ts → repo-root.adapter.d.ts} +2 -2
  158. package/dist/lib/infra/workspace/repo-root.adapter.d.ts.map +1 -0
  159. package/dist/lib/mirror/application/ports/mirror-sync-reporter.port.d.ts +2 -2
  160. package/dist/lib/mirror/application/ports/mirror-sync-reporter.port.d.ts.map +1 -1
  161. package/dist/lib/mirror/application/ports/package-repository.port.d.ts +1 -1
  162. package/dist/lib/mirror/application/ports/package-repository.port.d.ts.map +1 -1
  163. package/dist/lib/mirror/application/ports/workspace-service.port.d.ts +1 -1
  164. package/dist/lib/mirror/application/ports/workspace-service.port.d.ts.map +1 -1
  165. package/dist/lib/mirror/application/{engine.d.ts → use-cases/generate-mirror-exports.use-case.d.ts} +3 -3
  166. package/dist/lib/mirror/application/use-cases/generate-mirror-exports.use-case.d.ts.map +1 -0
  167. package/dist/lib/mirror/application/{engine.js → use-cases/generate-mirror-exports.use-case.js} +1 -1
  168. package/dist/lib/mirror/application/{sync.d.ts → use-cases/run-mirror-sync.use-case.d.ts} +3 -3
  169. package/dist/lib/mirror/application/use-cases/run-mirror-sync.use-case.d.ts.map +1 -0
  170. package/dist/lib/mirror/application/{sync.js → use-cases/run-mirror-sync.use-case.js} +5 -5
  171. package/dist/lib/mirror/domain/{constants.d.ts → constants.domain.d.ts} +1 -1
  172. package/dist/lib/mirror/domain/constants.domain.d.ts.map +1 -0
  173. package/dist/lib/mirror/domain/{errors.d.ts → errors.domain.d.ts} +1 -1
  174. package/dist/lib/mirror/domain/errors.domain.d.ts.map +1 -0
  175. package/dist/lib/mirror/domain/{types.d.ts → types.domain.d.ts} +1 -1
  176. package/dist/lib/mirror/domain/types.domain.d.ts.map +1 -0
  177. package/dist/lib/mirror/index.d.ts +4 -4
  178. package/dist/lib/mirror/index.d.ts.map +1 -1
  179. package/dist/lib/mirror/index.js +1 -1
  180. package/dist/lib/mirror/infra/{dirent-list.d.ts → dirent-list.adapter.d.ts} +1 -1
  181. package/dist/lib/mirror/infra/dirent-list.adapter.d.ts.map +1 -0
  182. package/dist/lib/mirror/infra/file-system-service.adapter.d.ts +1 -1
  183. package/dist/lib/mirror/infra/file-system-service.adapter.d.ts.map +1 -1
  184. package/dist/lib/mirror/infra/file-system-service.adapter.js +2 -2
  185. package/dist/lib/mirror/infra/{mirror-sync-cli-options.d.ts → mirror-sync-cli-options.adapter.d.ts} +3 -3
  186. package/dist/lib/mirror/infra/mirror-sync-cli-options.adapter.d.ts.map +1 -0
  187. package/dist/lib/mirror/infra/mirror-sync-reporter.adapter.js +1 -1
  188. package/dist/lib/mirror/infra/{package-filter.d.ts → package-filter.adapter.d.ts} +1 -1
  189. package/dist/lib/mirror/infra/package-filter.adapter.d.ts.map +1 -0
  190. package/dist/lib/mirror/infra/{package-filter.js → package-filter.adapter.js} +1 -1
  191. package/dist/lib/mirror/infra/package-repository.adapter.d.ts +2 -2
  192. package/dist/lib/mirror/infra/package-repository.adapter.d.ts.map +1 -1
  193. package/dist/lib/mirror/infra/package-repository.adapter.js +1 -1
  194. package/dist/lib/mirror/infra/{path-normalizer.d.ts → path-normalizer.adapter.d.ts} +1 -1
  195. package/dist/lib/mirror/infra/path-normalizer.adapter.d.ts.map +1 -0
  196. package/dist/lib/mirror/infra/{update-pkg.d.ts → update-pkg.adapter.d.ts} +3 -3
  197. package/dist/lib/mirror/infra/update-pkg.adapter.d.ts.map +1 -0
  198. package/dist/lib/mirror/infra/{update-pkg.js → update-pkg.adapter.js} +3 -3
  199. package/dist/lib/mirror/infra/{workspace-packages.d.ts → workspace-packages.adapter.d.ts} +3 -3
  200. package/dist/lib/mirror/infra/workspace-packages.adapter.d.ts.map +1 -0
  201. package/dist/lib/mirror/infra/{workspace-packages.js → workspace-packages.adapter.js} +3 -3
  202. package/dist/lib/mirror/infra/workspace-service.adapter.d.ts +2 -2
  203. package/dist/lib/mirror/infra/workspace-service.adapter.d.ts.map +1 -1
  204. package/dist/lib/mirror/infra/workspace-service.adapter.js +2 -2
  205. package/dist/lib/mirror/presentation/mirror-prelude.presenter.d.ts +17 -0
  206. package/dist/lib/mirror/presentation/mirror-prelude.presenter.d.ts.map +1 -0
  207. package/dist/lib/mirror/presentation/mirror-prelude.presenter.js +35 -0
  208. package/dist/lib/mirror/presentation/{reporter.d.ts → reporter.presenter.d.ts} +2 -2
  209. package/dist/lib/mirror/presentation/reporter.presenter.d.ts.map +1 -0
  210. package/dist/lib/mirror/presentation/{reporter.js → reporter.presenter.js} +2 -2
  211. package/dist/lib/mirror/presentation/resolve-mirror-package-arg.presenter.d.ts +11 -0
  212. package/dist/lib/mirror/presentation/resolve-mirror-package-arg.presenter.d.ts.map +1 -0
  213. package/dist/lib/mirror/presentation/resolve-mirror-package-arg.presenter.js +27 -0
  214. package/dist/lib/shared/source-code/domain/{text-edit.d.ts → text-edit.model.d.ts} +1 -1
  215. package/dist/lib/shared/source-code/domain/text-edit.model.d.ts.map +1 -0
  216. package/dist/lib/shared/source-code/infra/{tsx-file-walk.d.ts → tsx-file-walk.adapter.d.ts} +1 -1
  217. package/dist/lib/shared/source-code/infra/tsx-file-walk.adapter.d.ts.map +1 -0
  218. package/dist/lib/tag/application/ports/target-resolver.port.d.ts +1 -1
  219. package/dist/lib/tag/application/ports/target-resolver.port.d.ts.map +1 -1
  220. package/dist/lib/tag/application/{engine.d.ts → use-cases/run-tag-sync.use-case.d.ts} +4 -4
  221. package/dist/lib/tag/application/use-cases/run-tag-sync.use-case.d.ts.map +1 -0
  222. package/dist/lib/tag/application/{engine.js → use-cases/run-tag-sync.use-case.js} +4 -4
  223. package/dist/lib/tag/domain/{types.d.ts → types.domain.d.ts} +1 -1
  224. package/dist/lib/tag/domain/types.domain.d.ts.map +1 -0
  225. package/dist/lib/tag/index.d.ts +8 -8
  226. package/dist/lib/tag/index.d.ts.map +1 -1
  227. package/dist/lib/tag/index.js +3 -3
  228. package/dist/lib/tag/infra/{tag-sync-cli-options.d.ts → tag-sync-cli-options.adapter.d.ts} +4 -4
  229. package/dist/lib/tag/infra/tag-sync-cli-options.adapter.d.ts.map +1 -0
  230. package/dist/lib/tag/infra/tag-target-candidates.adapter.d.ts +4 -0
  231. package/dist/lib/tag/infra/tag-target-candidates.adapter.d.ts.map +1 -0
  232. package/dist/lib/tag/infra/{target-resolver.js → tag-target-candidates.adapter.js} +1 -1
  233. package/dist/lib/tag/infra/tag-target-resolver.adapter.js +1 -1
  234. package/dist/lib/tag/infra/typescript-tree-walk.adapter.js +1 -1
  235. package/dist/lib/tag/presentation/{colors.d.ts → colors.presenter.d.ts} +1 -1
  236. package/dist/lib/tag/presentation/colors.presenter.d.ts.map +1 -0
  237. package/dist/lib/tag/presentation/resolve-tag-cli-target.presenter.d.ts +8 -0
  238. package/dist/lib/tag/presentation/resolve-tag-cli-target.presenter.d.ts.map +1 -0
  239. package/dist/lib/tag/presentation/resolve-tag-cli-target.presenter.js +10 -0
  240. package/dist/lib/tag/presentation/resolve-tag-workspace-root.presenter.d.ts +8 -0
  241. package/dist/lib/tag/presentation/resolve-tag-workspace-root.presenter.d.ts.map +1 -0
  242. package/dist/lib/tag/presentation/resolve-tag-workspace-root.presenter.js +10 -0
  243. package/dist/lib/tag/presentation/tag-prelude.presenter.d.ts +15 -0
  244. package/dist/lib/tag/presentation/tag-prelude.presenter.d.ts.map +1 -0
  245. package/dist/lib/tag/presentation/tag-prelude.presenter.js +31 -0
  246. package/dist/lib/tag/presentation/{tag-presenter.d.ts → tag-sync.presenter.d.ts} +2 -2
  247. package/dist/lib/tag/presentation/tag-sync.presenter.d.ts.map +1 -0
  248. package/dist/lib/tag/presentation/{tag-presenter.js → tag-sync.presenter.js} +1 -1
  249. package/package.json +3 -3
  250. package/dist/lib/arrange/application/analyze.d.ts.map +0 -1
  251. package/dist/lib/arrange/application/group-file-preview.d.ts.map +0 -1
  252. package/dist/lib/arrange/application/group-file.d.ts.map +0 -1
  253. package/dist/lib/arrange/application/run-target.d.ts.map +0 -1
  254. package/dist/lib/arrange/domain/ast/ast-helpers.d.ts.map +0 -1
  255. package/dist/lib/arrange/domain/ast/collectors-cn.d.ts.map +0 -1
  256. package/dist/lib/arrange/domain/ast/collectors-jsx.d.ts.map +0 -1
  257. package/dist/lib/arrange/domain/ast/collectors-tv.d.ts.map +0 -1
  258. package/dist/lib/arrange/domain/ast/targets.d.ts.map +0 -1
  259. package/dist/lib/arrange/domain/constants.d.ts.map +0 -1
  260. package/dist/lib/arrange/domain/errors.d.ts.map +0 -1
  261. package/dist/lib/arrange/domain/grouping.d.ts.map +0 -1
  262. package/dist/lib/arrange/domain/imports.d.ts.map +0 -1
  263. package/dist/lib/arrange/domain/source-text-formatters.d.ts.map +0 -1
  264. package/dist/lib/arrange/domain/tokenizer.d.ts.map +0 -1
  265. package/dist/lib/arrange/domain/types.d.ts.map +0 -1
  266. package/dist/lib/arrange/domain/types.js +0 -7
  267. package/dist/lib/arrange/infra/arrange-sync-cli-options.d.ts.map +0 -1
  268. package/dist/lib/arrange/infra/ensure-cn-import.d.ts.map +0 -1
  269. package/dist/lib/arrange/infra/merge-cn-literal-pool-for-test.d.ts.map +0 -1
  270. package/dist/lib/arrange/infra/ts-ast-translator.d.ts.map +0 -1
  271. package/dist/lib/arrange/presentation/formatters.d.ts.map +0 -1
  272. package/dist/lib/arrange/presentation/report.d.ts +0 -4
  273. package/dist/lib/arrange/presentation/report.d.ts.map +0 -1
  274. package/dist/lib/config/domain/schema.d.ts.map +0 -1
  275. package/dist/lib/config/infra/loader.d.ts.map +0 -1
  276. package/dist/lib/core/application/architecture-boundaries.d.ts.map +0 -1
  277. package/dist/lib/core/application/schema-parse.d.ts.map +0 -1
  278. package/dist/lib/core/application/utils/caught-unknown-message.d.ts.map +0 -1
  279. package/dist/lib/core/application/utils/verbose-diagnostics.d.ts.map +0 -1
  280. package/dist/lib/core/domain/errors.d.ts.map +0 -1
  281. package/dist/lib/core/domain/result.d.ts.map +0 -1
  282. package/dist/lib/core/infra/container.d.ts +0 -34
  283. package/dist/lib/core/infra/container.d.ts.map +0 -1
  284. package/dist/lib/core/infra/logging-decorator.d.ts.map +0 -1
  285. package/dist/lib/core/presentation/cli-executor.d.ts.map +0 -1
  286. package/dist/lib/core/presentation/create-command-handler.d.ts +0 -20
  287. package/dist/lib/core/presentation/create-command-handler.d.ts.map +0 -1
  288. package/dist/lib/core/presentation/create-command-handler.js +0 -70
  289. package/dist/lib/core/presentation/format-app-error.d.ts.map +0 -1
  290. package/dist/lib/infra/caught-unknown-message.d.ts +0 -2
  291. package/dist/lib/infra/caught-unknown-message.d.ts.map +0 -1
  292. package/dist/lib/infra/caught-unknown-message.js +0 -1
  293. package/dist/lib/infra/config-reporter.d.ts.map +0 -1
  294. package/dist/lib/infra/fs-contract.d.ts.map +0 -1
  295. package/dist/lib/infra/node-io.d.ts.map +0 -1
  296. package/dist/lib/infra/workspace/repo-root.d.ts.map +0 -1
  297. package/dist/lib/mirror/application/engine.d.ts.map +0 -1
  298. package/dist/lib/mirror/application/sync.d.ts.map +0 -1
  299. package/dist/lib/mirror/domain/constants.d.ts.map +0 -1
  300. package/dist/lib/mirror/domain/errors.d.ts.map +0 -1
  301. package/dist/lib/mirror/domain/types.d.ts.map +0 -1
  302. package/dist/lib/mirror/infra/dirent-list.d.ts.map +0 -1
  303. package/dist/lib/mirror/infra/mirror-sync-cli-options.d.ts.map +0 -1
  304. package/dist/lib/mirror/infra/package-filter.d.ts.map +0 -1
  305. package/dist/lib/mirror/infra/path-normalizer.d.ts.map +0 -1
  306. package/dist/lib/mirror/infra/update-pkg.d.ts.map +0 -1
  307. package/dist/lib/mirror/infra/workspace-packages.d.ts.map +0 -1
  308. package/dist/lib/mirror/presentation/reporter.d.ts.map +0 -1
  309. package/dist/lib/shared/source-code/domain/text-edit.d.ts.map +0 -1
  310. package/dist/lib/shared/source-code/infra/tsx-file-walk.d.ts.map +0 -1
  311. package/dist/lib/tag/application/engine.d.ts.map +0 -1
  312. package/dist/lib/tag/domain/types.d.ts.map +0 -1
  313. package/dist/lib/tag/infra/tag-sync-cli-options.d.ts.map +0 -1
  314. package/dist/lib/tag/infra/target-resolver.d.ts +0 -4
  315. package/dist/lib/tag/infra/target-resolver.d.ts.map +0 -1
  316. package/dist/lib/tag/presentation/colors.d.ts.map +0 -1
  317. package/dist/lib/tag/presentation/tag-presenter.d.ts.map +0 -1
  318. /package/dist/lib/arrange/domain/ast/{collectors-jsx.js → collectors-jsx.collector.js} +0 -0
  319. /package/dist/lib/arrange/domain/{errors.js → errors.domain.js} +0 -0
  320. /package/dist/lib/arrange/domain/{imports.js → imports.domain.js} +0 -0
  321. /package/dist/lib/arrange/infra/{arrange-sync-cli-options.js → arrange-sync-cli-options.adapter.js} +0 -0
  322. /package/dist/lib/arrange/infra/{ts-ast-translator.js → ts-ast-translator.adapter.js} +0 -0
  323. /package/dist/lib/config/domain/{schema.js → schema.domain.js} +0 -0
  324. /package/dist/lib/core/application/utils/{caught-unknown-message.js → caught-unknown-message.util.js} +0 -0
  325. /package/dist/lib/core/application/utils/{verbose-diagnostics.js → verbose-diagnostics.util.js} +0 -0
  326. /package/dist/lib/core/domain/{errors.js → errors.domain.js} +0 -0
  327. /package/dist/lib/core/infra/{logging-decorator.js → logging-decorator.adapter.js} +0 -0
  328. /package/dist/lib/core/presentation/{format-app-error.js → format-app-error.presenter.js} +0 -0
  329. /package/dist/lib/infra/{config-reporter.js → config-reporter.adapter.js} +0 -0
  330. /package/dist/lib/infra/{fs-contract.js → fs-contract.port.js} +0 -0
  331. /package/dist/lib/infra/workspace/{repo-root.js → repo-root.adapter.js} +0 -0
  332. /package/dist/lib/mirror/domain/{constants.js → constants.domain.js} +0 -0
  333. /package/dist/lib/mirror/domain/{errors.js → errors.domain.js} +0 -0
  334. /package/dist/lib/mirror/domain/{types.js → types.domain.js} +0 -0
  335. /package/dist/lib/mirror/infra/{dirent-list.js → dirent-list.adapter.js} +0 -0
  336. /package/dist/lib/mirror/infra/{mirror-sync-cli-options.js → mirror-sync-cli-options.adapter.js} +0 -0
  337. /package/dist/lib/mirror/infra/{path-normalizer.js → path-normalizer.adapter.js} +0 -0
  338. /package/dist/lib/shared/source-code/domain/{text-edit.js → text-edit.model.js} +0 -0
  339. /package/dist/lib/shared/source-code/infra/{tsx-file-walk.js → tsx-file-walk.adapter.js} +0 -0
  340. /package/dist/lib/tag/domain/{types.js → types.domain.js} +0 -0
  341. /package/dist/lib/tag/infra/{tag-sync-cli-options.js → tag-sync-cli-options.adapter.js} +0 -0
  342. /package/dist/lib/tag/presentation/{colors.js → colors.presenter.js} +0 -0
@@ -1,5 +1,5 @@
1
- import { ensureCnImport as ensureCnImportOnDomainSourceFile } from "#lib/arrange/domain/imports";
2
- import { parseDomainSourceFile } from "#lib/arrange/infra/ts-ast-translator";
1
+ import { ensureCnImport as ensureCnImportOnDomainSourceFile } from "#lib/arrange/domain/imports.domain";
2
+ import { parseDomainSourceFile } from "#lib/arrange/infra/ts-ast-translator.adapter";
3
3
  /** Parses source then applies domain cn import injection rules (public CLI-style entry). */
4
4
  export function ensureCnImport(sourceText, filePath, cnImportOverride) {
5
5
  return ensureCnImportOnDomainSourceFile(parseDomainSourceFile(filePath, sourceText), cnImportOverride);
@@ -1,4 +1,4 @@
1
- import type { CliFs, CliLogger } from "#lib/infra/fs-contract";
1
+ import type { CliFs, CliLogger } from "#lib/infra/fs-contract.port";
2
2
  import type { FileWalkerPort } from "#lib/arrange/application/ports/file-walker.port";
3
3
  export declare class FileWalkerAdapter implements FileWalkerPort {
4
4
  private readonly logger?;
@@ -1 +1 @@
1
- {"version":3,"file":"file-walker.adapter.d.ts","sourceRoot":"","sources":["../../../../src/lib/arrange/infra/file-walker.adapter.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAC;AAE/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iDAAiD,CAAC;AAEtF,qBAAa,iBAAkB,YAAW,cAAc;IAC1C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;IAApC,YAA6B,MAAM,CAAC,EAAE,SAAS,YAAA,EAAI;IAEnD,mBAAmB,CAAC,iBAAiB,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,GAAG,MAAM,EAAE,CAOlE;CACF"}
1
+ {"version":3,"file":"file-walker.adapter.d.ts","sourceRoot":"","sources":["../../../../src/lib/arrange/infra/file-walker.adapter.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAEpE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iDAAiD,CAAC;AAEtF,qBAAa,iBAAkB,YAAW,cAAc;IAC1C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC;IAApC,YAA6B,MAAM,CAAC,EAAE,SAAS,YAAA,EAAI;IAEnD,mBAAmB,CAAC,iBAAiB,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,GAAG,MAAM,EAAE,CAOlE;CACF"}
@@ -1,5 +1,5 @@
1
- import { messageFromCaughtUnknown } from "#lib/infra/caught-unknown-message";
2
- import { walkTsxFiles } from "#lib/shared/source-code/infra/tsx-file-walk";
1
+ import { messageFromCaughtUnknown } from "#lib/core/application/utils/caught-unknown-message.util";
2
+ import { walkTsxFiles } from "#lib/shared/source-code/infra/tsx-file-walk.adapter";
3
3
  export class FileWalkerAdapter {
4
4
  logger;
5
5
  constructor(logger) {
@@ -5,4 +5,4 @@
5
5
  export declare function mergeCnUnconditionalLiteralPoolForTest(argsSnippet: string, options?: {
6
6
  callee?: string;
7
7
  }): string;
8
- //# sourceMappingURL=merge-cn-literal-pool-for-test.d.ts.map
8
+ //# sourceMappingURL=merge-cn-literal-pool-for-test.test-helper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"merge-cn-literal-pool-for-test.test-helper.d.ts","sourceRoot":"","sources":["../../../../src/lib/arrange/infra/merge-cn-literal-pool-for-test.test-helper.ts"],"names":[],"mappings":"AAQA;;;GAGG;AACH,wBAAgB,sCAAsC,CACpD,WAAW,EAAE,MAAM,EACnB,OAAO,CAAC,EAAE;IAAE,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,GAC5B,MAAM,CAmBR"}
@@ -1,6 +1,6 @@
1
1
  import { isDomainCallExpression, isDomainExpressionStatement, isDomainIdentifier, } from "#lib/arrange/domain/ast/ast-node.model";
2
- import { collectUnconditionalTailwindLiteralsFromCnArguments } from "#lib/arrange/domain/ast/collectors-cn";
3
- import { parseDomainSourceFile } from "#lib/arrange/infra/ts-ast-translator";
2
+ import { collectUnconditionalTailwindLiteralsFromCnArguments } from "#lib/arrange/domain/ast/collectors-cn.collector";
3
+ import { parseDomainSourceFile } from "#lib/arrange/infra/ts-ast-translator.adapter";
4
4
  /**
5
5
  * Test / REPL helper: parse `callee(<snippet>)` and return merged unconditional literal text.
6
6
  * Lives in infra because parsing uses the TypeScript-backed translator.
@@ -7,4 +7,4 @@ import { type DomainAstNode, type DomainSourceFile } from "#lib/arrange/domain/a
7
7
  export declare function translateNode(n: ts.Node, parent: DomainAstNode | null, sf: ts.SourceFile): DomainAstNode;
8
8
  export declare function translateTypeScriptSourceFile(tsSf: ts.SourceFile): DomainSourceFile;
9
9
  export declare function parseDomainSourceFile(filePath: string, sourceText: string): DomainSourceFile;
10
- //# sourceMappingURL=ts-ast-translator.d.ts.map
10
+ //# sourceMappingURL=ts-ast-translator.adapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ts-ast-translator.adapter.d.ts","sourceRoot":"","sources":["../../../../src/lib/arrange/infra/ts-ast-translator.adapter.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,MAAM,YAAY,CAAC;AAC5B,OAAO,EAKL,KAAK,aAAa,EAoBlB,KAAK,gBAAgB,EAItB,MAAM,wCAAwC,CAAC;AAmChD,wBAAgB,aAAa,CAC3B,CAAC,EAAE,EAAE,CAAC,IAAI,EACV,MAAM,EAAE,aAAa,GAAG,IAAI,EAC5B,EAAE,EAAE,EAAE,CAAC,UAAU,GAChB,aAAa,CAuVf;AAED,wBAAgB,6BAA6B,CAAC,IAAI,EAAE,EAAE,CAAC,UAAU,GAAG,gBAAgB,CAQnF;AAED,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,gBAAgB,CAI5F"}
@@ -0,0 +1,14 @@
1
+ import type { CodefastConfig } from "#lib/config/domain/schema.domain";
2
+ import { type AppError } from "#lib/core/domain/errors.domain";
3
+ import { type Result } from "#lib/core/domain/result.model";
4
+ import type { CliContainer } from "#lib/core/infra/container.adapter";
5
+ export type ArrangeTargetWorkspaceAndConfig = {
6
+ readonly resolvedTarget: string;
7
+ readonly rootDir: string;
8
+ readonly config: CodefastConfig;
9
+ };
10
+ export declare function prepareArrangeTargetWorkspaceAndConfig(cli: CliContainer, args: {
11
+ readonly currentWorkingDirectory: string;
12
+ readonly rawTarget: string | undefined;
13
+ }): Promise<Result<ArrangeTargetWorkspaceAndConfig, AppError>>;
14
+ //# sourceMappingURL=arrange-prelude.presenter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"arrange-prelude.presenter.d.ts","sourceRoot":"","sources":["../../../../src/lib/arrange/presentation/arrange-prelude.presenter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AACvE,OAAO,EAAY,KAAK,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AACzE,OAAO,EAAW,KAAK,MAAM,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AAKtE,MAAM,MAAM,+BAA+B,GAAG;IAC5C,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC;IAChC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;CACjC,CAAC;AAEF,wBAAsB,sCAAsC,CAC1D,GAAG,EAAE,YAAY,EACjB,IAAI,EAAE;IACJ,QAAQ,CAAC,uBAAuB,EAAE,MAAM,CAAC;IACzC,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;CACxC,GACA,OAAO,CAAC,MAAM,CAAC,+BAA+B,EAAE,QAAQ,CAAC,CAAC,CAkB5D"}
@@ -0,0 +1,24 @@
1
+ import { appError } from "#lib/core/domain/errors.domain";
2
+ import { err, ok } from "#lib/core/domain/result.model";
3
+ import { tryLoadCodefastConfig } from "#lib/core/presentation/load-codefast-config.presenter";
4
+ import { resolveCliWorkspaceRootStrict } from "#lib/core/presentation/workspace-root-strict.presenter";
5
+ import { resolveArrangeCliTargetPath } from "#lib/arrange/presentation/resolve-arrange-cli-target.presenter";
6
+ export async function prepareArrangeTargetWorkspaceAndConfig(cli, args) {
7
+ const resolvedTarget = resolveArrangeCliTargetPath(args.currentWorkingDirectory, args.rawTarget);
8
+ if (!cli.fs.existsSync(resolvedTarget)) {
9
+ return err(appError("NOT_FOUND", `Not found: ${resolvedTarget}`));
10
+ }
11
+ const rootOutcome = resolveCliWorkspaceRootStrict(cli);
12
+ if (!rootOutcome.ok) {
13
+ return rootOutcome;
14
+ }
15
+ const loadedOutcome = await tryLoadCodefastConfig(cli, rootOutcome.value);
16
+ if (!loadedOutcome.ok) {
17
+ return loadedOutcome;
18
+ }
19
+ return ok({
20
+ resolvedTarget,
21
+ rootDir: rootOutcome.value,
22
+ config: loadedOutcome.value.config,
23
+ });
24
+ }
@@ -1,3 +1,3 @@
1
- /** @deprecated Import from `#lib/arrange/domain/source-text-formatters` — kept for stable public surface. */
2
- export { escapeTsStringLiteralContent, formatArray, formatCnArguments, formatCnCall, formatJsxCnAttributeValue, } from "#lib/arrange/domain/source-text-formatters";
3
- //# sourceMappingURL=formatters.d.ts.map
1
+ /** @deprecated Import from `#lib/arrange/domain/source-text-formatters.formatter` — kept for stable public surface. */
2
+ export { escapeTsStringLiteralContent, formatArray, formatCnArguments, formatCnCall, formatJsxCnAttributeValue, } from "#lib/arrange/domain/source-text-formatters.formatter";
3
+ //# sourceMappingURL=formatters.presenter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"formatters.presenter.d.ts","sourceRoot":"","sources":["../../../../src/lib/arrange/presentation/formatters.presenter.ts"],"names":[],"mappings":"AAAA,uHAAuH;AACvH,OAAO,EACL,4BAA4B,EAC5B,WAAW,EACX,iBAAiB,EACjB,YAAY,EACZ,yBAAyB,GAC1B,MAAM,sDAAsD,CAAC"}
@@ -1,2 +1,2 @@
1
- /** @deprecated Import from `#lib/arrange/domain/source-text-formatters` — kept for stable public surface. */
2
- export { escapeTsStringLiteralContent, formatArray, formatCnArguments, formatCnCall, formatJsxCnAttributeValue, } from "#lib/arrange/domain/source-text-formatters";
1
+ /** @deprecated Import from `#lib/arrange/domain/source-text-formatters.formatter` — kept for stable public surface. */
2
+ export { escapeTsStringLiteralContent, formatArray, formatCnArguments, formatCnCall, formatJsxCnAttributeValue, } from "#lib/arrange/domain/source-text-formatters.formatter";
@@ -0,0 +1,4 @@
1
+ import type { CliLogger } from "#lib/core/application/ports/cli-io.port";
2
+ import { printAnalyzeReport } from "#lib/arrange/presentation/report.presenter";
3
+ export declare function presentAnalyzeCliReport(logger: CliLogger, resolvedTargetPath: string, report: Parameters<typeof printAnalyzeReport>[1]): void;
4
+ //# sourceMappingURL=present-analyze-cli.presenter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"present-analyze-cli.presenter.d.ts","sourceRoot":"","sources":["../../../../src/lib/arrange/presentation/present-analyze-cli.presenter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AACzE,OAAO,EAAE,kBAAkB,EAAE,MAAM,4CAA4C,CAAC;AAEhF,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,SAAS,EACjB,kBAAkB,EAAE,MAAM,EAC1B,MAAM,EAAE,UAAU,CAAC,OAAO,kBAAkB,CAAC,CAAC,CAAC,CAAC,GAC/C,IAAI,CAEN"}
@@ -0,0 +1,4 @@
1
+ import { printAnalyzeReport } from "#lib/arrange/presentation/report.presenter";
2
+ export function presentAnalyzeCliReport(logger, resolvedTargetPath, report) {
3
+ printAnalyzeReport(resolvedTargetPath, report, logger);
4
+ }
@@ -0,0 +1,4 @@
1
+ import type { CliLogger } from "#lib/infra/fs-contract.port";
2
+ import type { AnalyzeReport } from "#lib/arrange/domain/types.domain";
3
+ export declare function printAnalyzeReport(analyzeRootDirectoryPath: string, analyzeReport: AnalyzeReport, logger: CliLogger): void;
4
+ //# sourceMappingURL=report.presenter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"report.presenter.d.ts","sourceRoot":"","sources":["../../../../src/lib/arrange/presentation/report.presenter.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAC7D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AAEtE,wBAAgB,kBAAkB,CAChC,wBAAwB,EAAE,MAAM,EAChC,aAAa,EAAE,aAAa,EAC5B,MAAM,EAAE,SAAS,GAChB,IAAI,CAkDN"}
@@ -1,5 +1,5 @@
1
1
  import path from "node:path";
2
- import { LONG_STRING_TOKEN_THRESHOLD, MAX_REPORT_LINES } from "#lib/arrange/domain/constants";
2
+ import { LONG_STRING_TOKEN_THRESHOLD, MAX_REPORT_LINES, } from "#lib/arrange/domain/constants.domain";
3
3
  export function printAnalyzeReport(analyzeRootDirectoryPath, analyzeReport, logger) {
4
4
  const { out } = logger;
5
5
  out(`Path: ${path.resolve(analyzeRootDirectoryPath)}`);
@@ -0,0 +1,2 @@
1
+ export declare function resolveArrangeCliTargetPath(currentWorkingDirectory: string, target: string | undefined): string;
2
+ //# sourceMappingURL=resolve-arrange-cli-target.presenter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"resolve-arrange-cli-target.presenter.d.ts","sourceRoot":"","sources":["../../../../src/lib/arrange/presentation/resolve-arrange-cli-target.presenter.ts"],"names":[],"mappings":"AAGA,wBAAgB,2BAA2B,CACzC,uBAAuB,EAAE,MAAM,EAC/B,MAAM,EAAE,MAAM,GAAG,SAAS,GACzB,MAAM,CAIR"}
@@ -0,0 +1,7 @@
1
+ import path from "node:path";
2
+ import { DEFAULT_ARRANGE_TARGET } from "#lib/arrange/domain/constants.domain";
3
+ export function resolveArrangeCliTargetPath(currentWorkingDirectory, target) {
4
+ return target
5
+ ? path.resolve(target)
6
+ : path.resolve(currentWorkingDirectory, DEFAULT_ARRANGE_TARGET);
7
+ }
@@ -47,4 +47,4 @@ export type MirrorConfig = z.infer<typeof mirrorConfigSchema>;
47
47
  export type CodefastTagConfig = z.infer<typeof codefastTagConfigSchema>;
48
48
  export type CodefastArrangeConfig = z.infer<typeof codefastArrangeConfigSchema>;
49
49
  export type CodefastConfig = z.infer<typeof codefastConfigSchema>;
50
- //# sourceMappingURL=schema.d.ts.map
50
+ //# sourceMappingURL=schema.domain.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.domain.d.ts","sourceRoot":"","sources":["../../../../src/lib/config/domain/schema.domain.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,MAAM,sBAAsB,GAAG,CAAC,GAAG,EAAE;IAAE,KAAK,EAAE,MAAM,EAAE,CAAA;CAAE,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;AAExF,eAAO,MAAM,UAAU,6DAErB,CAAC;AAEH,eAAO,MAAM,kBAAkB;;;;;;;;;;;kBAuBpB,CAAC;AAEZ,eAAO,MAAM,uBAAuB;;;kBAKzB,CAAC;AAEZ,eAAO,MAAM,2BAA2B;;kBAI7B,CAAC;AAEZ,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;kBAMtB,CAAC;AAEZ,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAC9D,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AACxE,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAChF,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC"}
@@ -1,4 +1,4 @@
1
- export { loadConfig, resetConfigLoaderCacheForTests } from "#lib/config/infra/loader";
2
- export { codefastArrangeConfigSchema, codefastConfigSchema, codefastTagConfigSchema, hookSchema, mirrorConfigSchema, } from "#lib/config/domain/schema";
3
- export type { CodefastAfterWriteHook, CodefastArrangeConfig, CodefastConfig, CodefastTagConfig, MirrorConfig, } from "#lib/config/domain/schema";
1
+ export { loadConfig, resetConfigLoaderCacheForTests } from "#lib/config/infra/loader.adapter";
2
+ export { codefastArrangeConfigSchema, codefastConfigSchema, codefastTagConfigSchema, hookSchema, mirrorConfigSchema, } from "#lib/config/domain/schema.domain";
3
+ export type { CodefastAfterWriteHook, CodefastArrangeConfig, CodefastConfig, CodefastTagConfig, MirrorConfig, } from "#lib/config/domain/schema.domain";
4
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/config/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,8BAA8B,EAAE,MAAM,0BAA0B,CAAC;AACtF,OAAO,EACL,2BAA2B,EAC3B,oBAAoB,EACpB,uBAAuB,EACvB,UAAU,EACV,kBAAkB,GACnB,MAAM,2BAA2B,CAAC;AACnC,YAAY,EACV,sBAAsB,EACtB,qBAAqB,EACrB,cAAc,EACd,iBAAiB,EACjB,YAAY,GACb,MAAM,2BAA2B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/config/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,8BAA8B,EAAE,MAAM,kCAAkC,CAAC;AAC9F,OAAO,EACL,2BAA2B,EAC3B,oBAAoB,EACpB,uBAAuB,EACvB,UAAU,EACV,kBAAkB,GACnB,MAAM,kCAAkC,CAAC;AAC1C,YAAY,EACV,sBAAsB,EACtB,qBAAqB,EACrB,cAAc,EACd,iBAAiB,EACjB,YAAY,GACb,MAAM,kCAAkC,CAAC"}
@@ -1,2 +1,2 @@
1
- export { loadConfig, resetConfigLoaderCacheForTests } from "#lib/config/infra/loader";
2
- export { codefastArrangeConfigSchema, codefastConfigSchema, codefastTagConfigSchema, hookSchema, mirrorConfigSchema, } from "#lib/config/domain/schema";
1
+ export { loadConfig, resetConfigLoaderCacheForTests } from "#lib/config/infra/loader.adapter";
2
+ export { codefastArrangeConfigSchema, codefastConfigSchema, codefastTagConfigSchema, hookSchema, mirrorConfigSchema, } from "#lib/config/domain/schema.domain";
@@ -1,5 +1,5 @@
1
- import type { CliFs } from "#lib/infra/fs-contract";
2
- import type { CodefastConfig } from "#lib/config/domain/schema";
1
+ import type { CliFs } from "#lib/infra/fs-contract.port";
2
+ import type { CodefastConfig } from "#lib/config/domain/schema.domain";
3
3
  type LoadConfigResult = {
4
4
  config: CodefastConfig;
5
5
  warnings: string[];
@@ -8,4 +8,4 @@ type LoadConfigResult = {
8
8
  export declare function loadConfig(fs: CliFs, startDir?: string): Promise<LoadConfigResult>;
9
9
  export declare function resetConfigLoaderCacheForTests(): void;
10
10
  export {};
11
- //# sourceMappingURL=loader.d.ts.map
11
+ //# sourceMappingURL=loader.adapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loader.adapter.d.ts","sourceRoot":"","sources":["../../../../src/lib/config/infra/loader.adapter.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,6BAA6B,CAAC;AAEzD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAC;AASvE,KAAK,gBAAgB,GAAG;IACtB,MAAM,EAAE,cAAc,CAAC;IACvB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB,CAAC;AAkFF,wBAAsB,UAAU,CAAC,EAAE,EAAE,KAAK,EAAE,QAAQ,SAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAM/F;AAED,wBAAgB,8BAA8B,IAAI,IAAI,CAErD"}
@@ -2,7 +2,7 @@ import path from "node:path";
2
2
  import process from "node:process";
3
3
  import jiti from "jiti";
4
4
  import { ZodError } from "zod";
5
- import { codefastConfigSchema } from "#lib/config/domain/schema";
5
+ import { codefastConfigSchema } from "#lib/config/domain/schema.domain";
6
6
  const CONFIG_JS_PRIORITY = [
7
7
  "codefast.config.mjs",
8
8
  "codefast.config.js",
@@ -16,4 +16,4 @@ export declare function violationsForFileContent(absoluteFilePath: string, loc:
16
16
  * Scans `packages/cli/src/lib` for explicit-architecture boundary violations (non-test sources only).
17
17
  */
18
18
  export declare function scanCliPackageArchitectureViolations(cliPackageRoot: string): string[];
19
- //# sourceMappingURL=architecture-boundaries.d.ts.map
19
+ //# sourceMappingURL=architecture-boundaries.policy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"architecture-boundaries.policy.d.ts","sourceRoot":"","sources":["../../../../src/lib/core/application/architecture-boundaries.policy.ts"],"names":[],"mappings":"AAoBA,MAAM,MAAM,iBAAiB,GAAG;IAC9B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE,CAkBpE;AAYD,wBAAgB,sBAAsB,CAAC,gBAAgB,EAAE,MAAM,GAAG,iBAAiB,GAAG,IAAI,CA8BzF;AAED,wBAAgB,gCAAgC,CAAC,gBAAgB,EAAE,MAAM,GAAG,OAAO,CAMlF;AA2QD;;GAEG;AACH,wBAAgB,wBAAwB,CACtC,gBAAgB,EAAE,MAAM,EACxB,GAAG,EAAE,iBAAiB,EACtB,UAAU,EAAE,MAAM,GACjB,MAAM,EAAE,CA6BV;AAuBD;;GAEG;AACH,wBAAgB,oCAAoC,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM,EAAE,CAYrF"}
@@ -4,6 +4,8 @@ import path from "node:path";
4
4
  const PRODUCT_BOUNDED_CONTEXTS = new Set(["arrange", "mirror", "tag"]);
5
5
  const SHARED_SOURCE_CODE_CONTEXT = "shared-source-code";
6
6
  const LAYERS = new Set(["domain", "application", "infra", "presentation"]);
7
+ /** Import roots that any product slice may depend on without going "through" another slice. */
8
+ const NEUTRAL_LIB_IMPORT_ROOTS = new Set(["core", "config", "infra", "shared"]);
7
9
  function sharedSourceCodeLayerFromSpecifier(segments) {
8
10
  if (segments.length < 3 || segments[0] !== "shared" || segments[1] !== "source-code") {
9
11
  return null;
@@ -92,6 +94,98 @@ function libTailAfterResolution(absoluteResolved) {
92
94
  }
93
95
  return tail.split(path.sep).filter(Boolean);
94
96
  }
97
+ function lastSegmentOfLibSpecifier(specifier) {
98
+ if (!specifier.startsWith("#lib/")) {
99
+ return null;
100
+ }
101
+ const segments = specifier.slice("#lib/".length).split("/").filter(Boolean);
102
+ return segments.length > 0 ? segments[segments.length - 1] : null;
103
+ }
104
+ function importedModuleStem(specifier, fromAbsoluteFile) {
105
+ if (specifier.startsWith("#lib/")) {
106
+ return lastSegmentOfLibSpecifier(specifier);
107
+ }
108
+ const resolved = resolveRelativeSpecifier(fromAbsoluteFile, specifier);
109
+ if (resolved === null) {
110
+ return null;
111
+ }
112
+ const withTsExtension = resolved.endsWith(".ts") ? resolved : `${resolved}.ts`;
113
+ const baseName = path.basename(withTsExtension);
114
+ return baseName.endsWith(".ts") ? baseName.slice(0, -".ts".length) : baseName;
115
+ }
116
+ function isPureDomainOrModelFileName(fileBaseName) {
117
+ return /\.(domain|model)\.ts$/.test(fileBaseName);
118
+ }
119
+ function isRuleAForbiddenImportedStem(moduleStem) {
120
+ return (moduleStem.includes(".use-case") ||
121
+ moduleStem.includes(".adapter") ||
122
+ moduleStem.includes(".presenter"));
123
+ }
124
+ function isRuleBForbiddenImportedStem(moduleStem) {
125
+ return moduleStem.includes(".adapter") || moduleStem.includes(".presenter");
126
+ }
127
+ function violationRuleAPureDomainModel(absoluteFilePath, fileBaseName, specifier) {
128
+ if (!isPureDomainOrModelFileName(fileBaseName)) {
129
+ return null;
130
+ }
131
+ const stem = importedModuleStem(specifier, absoluteFilePath);
132
+ if (stem === null || !isRuleAForbiddenImportedStem(stem)) {
133
+ return null;
134
+ }
135
+ return `${absoluteFilePath}: Rule A (pure domain/model) must not import orchestration or IO modules — blocked ${specifier} (stem "${stem}")`;
136
+ }
137
+ function violationRuleBApplicationIsolation(loc, absoluteFilePath, specifier) {
138
+ if (loc.layer !== "application") {
139
+ return null;
140
+ }
141
+ const stem = importedModuleStem(specifier, absoluteFilePath);
142
+ if (stem === null || !isRuleBForbiddenImportedStem(stem)) {
143
+ return null;
144
+ }
145
+ return `${absoluteFilePath}: Rule B (application isolation) must not import adapters or presenters — blocked ${specifier} (stem "${stem}")`;
146
+ }
147
+ function violationRuleCAntiCrossSlice(loc, specifier, fromAbsoluteFile) {
148
+ if (!PRODUCT_BOUNDED_CONTEXTS.has(loc.context)) {
149
+ return null;
150
+ }
151
+ if (specifier.startsWith("#lib/")) {
152
+ const segments = specifier.slice("#lib/".length).split("/").filter(Boolean);
153
+ if (segments.length === 0) {
154
+ return null;
155
+ }
156
+ const importedRoot = segments[0];
157
+ if (NEUTRAL_LIB_IMPORT_ROOTS.has(importedRoot)) {
158
+ return null;
159
+ }
160
+ if (importedRoot === loc.context) {
161
+ return null;
162
+ }
163
+ if (PRODUCT_BOUNDED_CONTEXTS.has(importedRoot)) {
164
+ return `${fromAbsoluteFile}: Rule C (slice isolation) context "${loc.context}" must not import "${specifier}" — use #lib/shared/... or neutral roots (core, config, infra) instead`;
165
+ }
166
+ return null;
167
+ }
168
+ const resolved = resolveRelativeSpecifier(fromAbsoluteFile, specifier);
169
+ if (resolved === null) {
170
+ return null;
171
+ }
172
+ const resolvedPath = resolved.endsWith(".ts") ? resolved : `${resolved}.ts`;
173
+ const parts = libTailAfterResolution(resolvedPath);
174
+ if (parts === null || parts.length === 0) {
175
+ return null;
176
+ }
177
+ const importedContext = parts[0];
178
+ if (NEUTRAL_LIB_IMPORT_ROOTS.has(importedContext)) {
179
+ return null;
180
+ }
181
+ if (importedContext === loc.context) {
182
+ return null;
183
+ }
184
+ if (PRODUCT_BOUNDED_CONTEXTS.has(importedContext)) {
185
+ return `${fromAbsoluteFile}: Rule C (slice isolation) context "${loc.context}" must not resolve into sibling slice via ${specifier}`;
186
+ }
187
+ return null;
188
+ }
95
189
  function violationDomainLayer(loc, specifier, fromAbsoluteFile) {
96
190
  if (specifier.startsWith("#lib/")) {
97
191
  const segments = specifier.slice("#lib/".length).split("/").filter(Boolean);
@@ -208,7 +302,20 @@ function violationApplicationLayer(loc, specifier, fromAbsoluteFile) {
208
302
  */
209
303
  export function violationsForFileContent(absoluteFilePath, loc, sourceText) {
210
304
  const violations = [];
305
+ const fileBaseName = path.basename(absoluteFilePath);
211
306
  for (const specifier of extractImportSpecifiers(sourceText)) {
307
+ const ruleA = violationRuleAPureDomainModel(absoluteFilePath, fileBaseName, specifier);
308
+ if (ruleA !== null) {
309
+ violations.push(ruleA);
310
+ }
311
+ const ruleB = violationRuleBApplicationIsolation(loc, absoluteFilePath, specifier);
312
+ if (ruleB !== null) {
313
+ violations.push(ruleB);
314
+ }
315
+ const ruleC = violationRuleCAntiCrossSlice(loc, specifier, absoluteFilePath);
316
+ if (ruleC !== null) {
317
+ violations.push(ruleC);
318
+ }
212
319
  if (loc.layer === "domain") {
213
320
  const domainViolation = violationDomainLayer(loc, specifier, absoluteFilePath);
214
321
  if (domainViolation !== null) {
@@ -222,7 +329,7 @@ export function violationsForFileContent(absoluteFilePath, loc, sourceText) {
222
329
  }
223
330
  }
224
331
  }
225
- return violations;
332
+ return [...new Set(violations)];
226
333
  }
227
334
  function walkNonTestTsFiles(rootDir) {
228
335
  const results = [];
@@ -253,7 +360,7 @@ export function scanCliPackageArchitectureViolations(cliPackageRoot) {
253
360
  const violations = [];
254
361
  for (const absoluteFilePath of walkNonTestTsFiles(libRoot)) {
255
362
  const loc = parseLibSourceLocation(absoluteFilePath);
256
- if (loc === null || (loc.layer !== "domain" && loc.layer !== "application")) {
363
+ if (loc === null) {
257
364
  continue;
258
365
  }
259
366
  const sourceText = fs.readFileSync(absoluteFilePath, "utf8");
@@ -4,6 +4,10 @@ import type { Dirent } from "node:fs";
4
4
  */
5
5
  export type CliFs = {
6
6
  existsSync: (path: string) => boolean;
7
+ /**
8
+ * Resolve symlinks when possible; fall back to normalizing `inputPath` to an absolute path.
9
+ */
10
+ canonicalPathSync: (inputPath: string) => string;
7
11
  statSync: (path: string) => {
8
12
  isDirectory: () => boolean;
9
13
  isFile: () => boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"cli-io.port.d.ts","sourceRoot":"","sources":["../../../../../src/lib/core/application/ports/cli-io.port.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAEtC;;GAEG;AACH,MAAM,MAAM,KAAK,GAAG;IAClB,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;IACtC,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK;QAAE,WAAW,EAAE,MAAM,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,OAAO,CAAA;KAAE,CAAC;IAClF,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc,KAAK,MAAM,CAAC;IACjE,aAAa,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc,KAAK,IAAI,CAAC;IAC9E,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,EAAE,CAAC;IACxC,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IACtE,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACnF,OAAO,EAAE,CACP,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,OAAO,CAAC;QAAC,aAAa,CAAC,EAAE,OAAO,CAAA;KAAE,KACvD,OAAO,CAAC,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC;IAClC,MAAM,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5D,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACzC,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG;IACtB,GAAG,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5B,GAAG,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CAC7B,CAAC"}
1
+ {"version":3,"file":"cli-io.port.d.ts","sourceRoot":"","sources":["../../../../../src/lib/core/application/ports/cli-io.port.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AAEtC;;GAEG;AACH,MAAM,MAAM,KAAK,GAAG;IAClB,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;IACtC;;OAEG;IACH,iBAAiB,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,MAAM,CAAC;IACjD,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK;QAAE,WAAW,EAAE,MAAM,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,OAAO,CAAA;KAAE,CAAC;IAClF,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc,KAAK,MAAM,CAAC;IACjE,aAAa,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc,KAAK,IAAI,CAAC;IAC9E,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,EAAE,CAAC;IACxC,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IACtE,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACnF,OAAO,EAAE,CACP,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE;QAAE,SAAS,CAAC,EAAE,OAAO,CAAC;QAAC,aAAa,CAAC,EAAE,OAAO,CAAA;KAAE,KACvD,OAAO,CAAC,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC,CAAC;IAClC,MAAM,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5D,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACzC,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG;IACtB,GAAG,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC5B,GAAG,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CAC7B,CAAC"}
@@ -1,8 +1,8 @@
1
1
  import { z } from "zod";
2
- import { type AppError } from "#lib/core/domain/errors";
3
- import { type Result } from "#lib/core/domain/result";
2
+ import { type AppError } from "#lib/core/domain/errors.domain";
3
+ import { type Result } from "#lib/core/domain/result.model";
4
4
  /**
5
5
  * Validates `input` with `schema`, returning {@link AppError} with code `VALIDATION_ERROR` on failure.
6
6
  */
7
7
  export declare function parseWithSchema<T>(schema: z.ZodType<T>, input: unknown): Result<T, AppError>;
8
- //# sourceMappingURL=schema-parse.d.ts.map
8
+ //# sourceMappingURL=schema-parse.util.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema-parse.util.d.ts","sourceRoot":"","sources":["../../../../src/lib/core/application/schema-parse.util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAY,KAAK,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AACzE,OAAO,EAAW,KAAK,MAAM,EAAE,MAAM,+BAA+B,CAAC;AAWrE;;GAEG;AACH,wBAAgB,eAAe,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,GAAG,MAAM,CAAC,CAAC,EAAE,QAAQ,CAAC,CAM5F"}
@@ -1,5 +1,5 @@
1
- import { appError } from "#lib/core/domain/errors";
2
- import { err, ok } from "#lib/core/domain/result";
1
+ import { appError } from "#lib/core/domain/errors.domain";
2
+ import { err, ok } from "#lib/core/domain/result.model";
3
3
  function formatZodIssues(issues) {
4
4
  return issues
5
5
  .map((issue) => {
@@ -3,4 +3,4 @@
3
3
  * Avoids `String(unknown)` / `[object Object]` and satisfies strict `no-base-to-string`.
4
4
  */
5
5
  export declare function messageFromCaughtUnknown(value: unknown): string;
6
- //# sourceMappingURL=caught-unknown-message.d.ts.map
6
+ //# sourceMappingURL=caught-unknown-message.util.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"caught-unknown-message.util.d.ts","sourceRoot":"","sources":["../../../../../src/lib/core/application/utils/caught-unknown-message.util.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CA4B/D"}
@@ -2,4 +2,4 @@
2
2
  * When true, infrastructure failures may log full stack traces (e.g. in {@link consumeCliAppError}).
3
3
  */
4
4
  export declare function isVerboseInfraDiagnostics(): boolean;
5
- //# sourceMappingURL=verbose-diagnostics.d.ts.map
5
+ //# sourceMappingURL=verbose-diagnostics.util.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"verbose-diagnostics.util.d.ts","sourceRoot":"","sources":["../../../../../src/lib/core/application/utils/verbose-diagnostics.util.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,wBAAgB,yBAAyB,IAAI,OAAO,CAGnD"}
@@ -8,4 +8,4 @@ export type AppError = {
8
8
  readonly cause?: unknown;
9
9
  };
10
10
  export declare function appError(code: AppErrorCode, message: string, cause?: unknown): AppError;
11
- //# sourceMappingURL=errors.d.ts.map
11
+ //# sourceMappingURL=errors.domain.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.domain.d.ts","sourceRoot":"","sources":["../../../../src/lib/core/domain/errors.domain.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,MAAM,YAAY,GAAG,WAAW,GAAG,kBAAkB,GAAG,eAAe,CAAC;AAE9E,MAAM,MAAM,QAAQ,GAAG;IACrB,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAC;CAC1B,CAAC;AAEF,wBAAgB,QAAQ,CAAC,IAAI,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,OAAO,GAAG,QAAQ,CAKvF"}
@@ -12,4 +12,6 @@ export type Err<E> = {
12
12
  export type Result<T, E> = Ok<T> | Err<E>;
13
13
  export declare function ok<T>(value: T): Ok<T>;
14
14
  export declare function err<E>(error: E): Err<E>;
15
- //# sourceMappingURL=result.d.ts.map
15
+ export declare function isOk<T, E>(result: Result<T, E>): result is Ok<T>;
16
+ export declare function isErr<T, E>(result: Result<T, E>): result is Err<E>;
17
+ //# sourceMappingURL=result.model.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"result.model.d.ts","sourceRoot":"","sources":["../../../../src/lib/core/domain/result.model.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,MAAM,EAAE,CAAC,CAAC,IAAI;IAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAA;CAAE,CAAC;AAE7D,MAAM,MAAM,GAAG,CAAC,CAAC,IAAI;IAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAA;CAAE,CAAC;AAE/D,MAAM,MAAM,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;AAE1C,wBAAgB,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAErC;AAED,wBAAgB,GAAG,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAEvC;AAED,wBAAgB,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,MAAM,IAAI,EAAE,CAAC,CAAC,CAAC,CAEhE;AAED,wBAAgB,KAAK,CAAC,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,CAElE"}
@@ -7,3 +7,9 @@ export function ok(value) {
7
7
  export function err(error) {
8
8
  return { ok: false, error };
9
9
  }
10
+ export function isOk(result) {
11
+ return result.ok === true;
12
+ }
13
+ export function isErr(result) {
14
+ return result.ok === false;
15
+ }
@@ -0,0 +1,58 @@
1
+ import type { AppError } from "#lib/core/domain/errors.domain";
2
+ import type { Result } from "#lib/core/domain/result.model";
3
+ import type { CliFs, CliLogger } from "#lib/core/application/ports/cli-io.port";
4
+ import type { AnalyzeDirectoryDeps } from "#lib/arrange/application/use-cases/analyze-directory.use-case";
5
+ import type { ArrangeAnalyzeDirectoryRequest } from "#lib/arrange/application/requests/analyze-directory.request";
6
+ import type { ArrangeSyncRunRequest } from "#lib/arrange/application/requests/arrange-sync.request";
7
+ import type { ArrangeSuggestGroupsRequest } from "#lib/arrange/application/requests/suggest-groups.request";
8
+ import type { ArrangeSyncDeps } from "#lib/arrange/application/use-cases/run-arrange-sync.use-case";
9
+ import { type ArrangeSuggestGroupsOutput } from "#lib/arrange/application/use-cases/suggest-cn-groups.use-case";
10
+ import type { AnalyzeReport } from "#lib/arrange/domain/types.domain";
11
+ import type { ArrangeTargetWorkspaceAndConfig } from "#lib/arrange/presentation/arrange-prelude.presenter";
12
+ import type { MirrorSyncRunDeps } from "#lib/mirror/application/use-cases/run-mirror-sync.use-case";
13
+ import type { MirrorSyncRunRequest } from "#lib/mirror/application/requests/mirror-sync.request";
14
+ import type { MirrorSyncCommandPrelude } from "#lib/mirror/presentation/mirror-prelude.presenter";
15
+ import type { TagSyncExecutionInput, TagSyncRunDeps } from "#lib/tag/application/use-cases/run-tag-sync.use-case";
16
+ import type { TagSyncResult } from "#lib/tag/domain/types.domain";
17
+ import type { TagCommandPrelude } from "#lib/tag/presentation/tag-prelude.presenter";
18
+ import { createTagProgressListener } from "#lib/tag/presentation/tag-sync.presenter";
19
+ /**
20
+ * Composition root: wires default infra adapters and exposes thin use-case facades.
21
+ */
22
+ export type CliContainer = {
23
+ readonly fs: CliFs;
24
+ readonly logger: CliLogger;
25
+ readonly arrange: {
26
+ readonly deps: AnalyzeDirectoryDeps & ArrangeSyncDeps;
27
+ prepareTargetWorkspaceAndConfig(args: {
28
+ readonly currentWorkingDirectory: string;
29
+ readonly rawTarget: string | undefined;
30
+ }): Promise<Result<ArrangeTargetWorkspaceAndConfig, AppError>>;
31
+ analyzeDirectory(request: ArrangeAnalyzeDirectoryRequest): Result<AnalyzeReport, AppError>;
32
+ runArrangeSync(request: ArrangeSyncRunRequest): Promise<Result<number, AppError>>;
33
+ suggestCnGroups(request: ArrangeSuggestGroupsRequest): ArrangeSuggestGroupsOutput;
34
+ presentAnalyzeReport(resolvedTargetPath: string, report: AnalyzeReport): void;
35
+ };
36
+ readonly mirror: {
37
+ readonly deps: MirrorSyncRunDeps;
38
+ prepareMirrorSync(args: {
39
+ readonly currentWorkingDirectory: string;
40
+ readonly packageArg: string | undefined;
41
+ readonly globalCliRaw: unknown;
42
+ }): Promise<Result<MirrorSyncCommandPrelude, AppError>>;
43
+ runMirrorSync(request: MirrorSyncRunRequest): Promise<Result<number, AppError>>;
44
+ };
45
+ readonly tag: {
46
+ readonly deps: TagSyncRunDeps;
47
+ prepareTagSync(args: {
48
+ readonly currentWorkingDirectory: string;
49
+ readonly rawTarget: string | undefined;
50
+ readonly globalCliRaw: unknown;
51
+ }): Promise<Result<TagCommandPrelude, AppError>>;
52
+ runTagSync(input: TagSyncExecutionInput): Promise<Result<TagSyncResult, AppError>>;
53
+ createProgressListener(emitLine: (line: string) => void): ReturnType<typeof createTagProgressListener>;
54
+ presentSyncCliResult(result: TagSyncResult, rootDir: string): number;
55
+ };
56
+ };
57
+ export declare function createCliContainer(): CliContainer;
58
+ //# sourceMappingURL=container.adapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"container.adapter.d.ts","sourceRoot":"","sources":["../../../../src/lib/core/infra/container.adapter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,+BAA+B,CAAC;AAC5D,OAAO,KAAK,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAMhF,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,+DAA+D,CAAC;AAC1G,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,6DAA6D,CAAC;AAClH,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,wDAAwD,CAAC;AACpG,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,0DAA0D,CAAC;AAE5G,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8DAA8D,CAAC;AACpG,OAAO,EAEL,KAAK,0BAA0B,EAChC,MAAM,+DAA+D,CAAC;AACvE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AAEtE,OAAO,KAAK,EAAE,+BAA+B,EAAE,MAAM,qDAAqD,CAAC;AAM3G,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4DAA4D,CAAC;AACpG,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sDAAsD,CAAC;AAEjG,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,mDAAmD,CAAC;AAMlG,OAAO,KAAK,EACV,qBAAqB,EACrB,cAAc,EACf,MAAM,sDAAsD,CAAC;AAC9D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAElE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,6CAA6C,CAAC;AACrF,OAAO,EACL,yBAAyB,EAE1B,MAAM,0CAA0C,CAAC;AAIlD;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG;IACzB,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;IACnB,QAAQ,CAAC,MAAM,EAAE,SAAS,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE;QAChB,QAAQ,CAAC,IAAI,EAAE,oBAAoB,GAAG,eAAe,CAAC;QACtD,+BAA+B,CAAC,IAAI,EAAE;YACpC,QAAQ,CAAC,uBAAuB,EAAE,MAAM,CAAC;YACzC,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;SACxC,GAAG,OAAO,CAAC,MAAM,CAAC,+BAA+B,EAAE,QAAQ,CAAC,CAAC,CAAC;QAC/D,gBAAgB,CAAC,OAAO,EAAE,8BAA8B,GAAG,MAAM,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC;QAC3F,cAAc,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;QAClF,eAAe,CAAC,OAAO,EAAE,2BAA2B,GAAG,0BAA0B,CAAC;QAClF,oBAAoB,CAAC,kBAAkB,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,GAAG,IAAI,CAAC;KAC/E,CAAC;IACF,QAAQ,CAAC,MAAM,EAAE;QACf,QAAQ,CAAC,IAAI,EAAE,iBAAiB,CAAC;QACjC,iBAAiB,CAAC,IAAI,EAAE;YACtB,QAAQ,CAAC,uBAAuB,EAAE,MAAM,CAAC;YACzC,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,SAAS,CAAC;YACxC,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;SAChC,GAAG,OAAO,CAAC,MAAM,CAAC,wBAAwB,EAAE,QAAQ,CAAC,CAAC,CAAC;QACxD,aAAa,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;KACjF,CAAC;IACF,QAAQ,CAAC,GAAG,EAAE;QACZ,QAAQ,CAAC,IAAI,EAAE,cAAc,CAAC;QAC9B,cAAc,CAAC,IAAI,EAAE;YACnB,QAAQ,CAAC,uBAAuB,EAAE,MAAM,CAAC;YACzC,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;YACvC,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;SAChC,GAAG,OAAO,CAAC,MAAM,CAAC,iBAAiB,EAAE,QAAQ,CAAC,CAAC,CAAC;QACjD,UAAU,CAAC,KAAK,EAAE,qBAAqB,GAAG,OAAO,CAAC,MAAM,CAAC,aAAa,EAAE,QAAQ,CAAC,CAAC,CAAC;QACnF,sBAAsB,CACpB,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,GAC/B,UAAU,CAAC,OAAO,yBAAyB,CAAC,CAAC;QAChD,oBAAoB,CAAC,MAAM,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC;KACtE,CAAC;CACH,CAAC;AAaF,wBAAgB,kBAAkB,IAAI,YAAY,CA6EjD"}