@bleedingdev/modern-js-create 3.5.0-ultramodern.9 → 3.5.0-ultramodern.90

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 (566) hide show
  1. package/README.md +25 -25
  2. package/bin/run.js +0 -0
  3. package/dist/cjs/cli/flags.cjs +357 -0
  4. package/dist/cjs/cli/help.cjs +108 -0
  5. package/dist/cjs/cli/package-source.cjs +188 -0
  6. package/dist/cjs/cli/project-setup.cjs +162 -0
  7. package/dist/cjs/cli/prompts.cjs +100 -0
  8. package/dist/cjs/index.cjs +35 -585
  9. package/dist/cjs/locale/en.cjs +5 -6
  10. package/dist/cjs/locale/zh.cjs +5 -6
  11. package/dist/cjs/ultramodern-package-source.cjs +0 -32
  12. package/dist/cjs/ultramodern-release-cohort.cjs +206 -0
  13. package/dist/cjs/ultramodern-tooling/commands/cloudflare-output-verify.cjs +136 -0
  14. package/dist/cjs/ultramodern-tooling/commands/context.cjs +131 -0
  15. package/dist/cjs/ultramodern-tooling/commands/mf-types.cjs +55 -0
  16. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/api-metadata.cjs +212 -0
  17. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/declaration-patches.cjs +50 -0
  18. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/dependency-usage.cjs +87 -0
  19. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-backend-federation.cjs +58 -0
  20. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-build-identity.cjs +100 -0
  21. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-modern-configs.cjs +100 -0
  22. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-oxfmt.cjs +132 -0
  23. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-removal.cjs +67 -0
  24. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-typescript.cjs +206 -0
  25. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-zerops.cjs +60 -0
  26. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts.cjs +67 -0
  27. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/generated-patches.cjs +67 -0
  28. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/generated-ui-source.cjs +148 -0
  29. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/help.cjs +54 -0
  30. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/install.cjs +52 -0
  31. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/io.cjs +350 -0
  32. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/package-cohort.cjs +200 -0
  33. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/package-source.cjs +89 -0
  34. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/pnpm-policy.cjs +476 -0
  35. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/pnpm-yaml.cjs +376 -0
  36. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/policy-constants.cjs +99 -0
  37. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/toolchain-pins.cjs +135 -0
  38. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect.cjs +425 -0
  39. package/dist/cjs/ultramodern-tooling/commands/options.cjs +59 -0
  40. package/dist/cjs/ultramodern-tooling/commands/routes-generate.cjs +122 -0
  41. package/dist/cjs/ultramodern-tooling/commands/skills.cjs +49 -0
  42. package/dist/cjs/ultramodern-tooling/commands/sync-delivery-unit.cjs +40 -0
  43. package/dist/cjs/ultramodern-tooling/commands/validate.cjs +53 -0
  44. package/dist/cjs/ultramodern-tooling/commands.cjs +27 -491
  45. package/dist/cjs/ultramodern-tooling/config/constants.cjs +48 -0
  46. package/dist/cjs/ultramodern-tooling/config/index.cjs +104 -0
  47. package/dist/cjs/ultramodern-tooling/config/json.cjs +61 -0
  48. package/dist/cjs/ultramodern-tooling/config/load.cjs +62 -0
  49. package/dist/cjs/ultramodern-tooling/config/metadata.cjs +92 -0
  50. package/dist/cjs/ultramodern-tooling/config/normalize.cjs +236 -0
  51. package/dist/cjs/ultramodern-tooling/config/synthesize.cjs +157 -0
  52. package/dist/cjs/ultramodern-tooling/config/types.cjs +18 -0
  53. package/dist/cjs/ultramodern-tooling/config.cjs +23 -133
  54. package/dist/cjs/ultramodern-workspace/add-shell.cjs +274 -0
  55. package/dist/cjs/ultramodern-workspace/add-vertical/constants.cjs +52 -0
  56. package/dist/cjs/ultramodern-workspace/add-vertical/execute.cjs +183 -0
  57. package/dist/cjs/ultramodern-workspace/add-vertical/plan.cjs +255 -0
  58. package/dist/cjs/ultramodern-workspace/add-vertical/preflight.cjs +256 -0
  59. package/dist/cjs/ultramodern-workspace/add-vertical/shell-files.cjs +122 -0
  60. package/dist/cjs/ultramodern-workspace/add-vertical/topology.cjs +152 -0
  61. package/dist/cjs/ultramodern-workspace/add-vertical/transaction.cjs +327 -0
  62. package/dist/cjs/ultramodern-workspace/add-vertical/workspace-state.cjs +137 -0
  63. package/dist/cjs/ultramodern-workspace/add-vertical.cjs +22 -571
  64. package/dist/cjs/ultramodern-workspace/api/checkout-cart.cjs +145 -0
  65. package/dist/cjs/ultramodern-workspace/api/client.cjs +224 -0
  66. package/dist/cjs/ultramodern-workspace/api/contracts.cjs +251 -0
  67. package/dist/cjs/ultramodern-workspace/api/names.cjs +98 -0
  68. package/dist/cjs/ultramodern-workspace/api/rpc.cjs +264 -0
  69. package/dist/cjs/ultramodern-workspace/api/service.cjs +252 -0
  70. package/dist/cjs/ultramodern-workspace/api/shared.cjs +270 -0
  71. package/dist/cjs/ultramodern-workspace/api.cjs +49 -1005
  72. package/dist/cjs/ultramodern-workspace/app-files.cjs +51 -69
  73. package/dist/cjs/ultramodern-workspace/backend-federation.cjs +346 -0
  74. package/dist/cjs/ultramodern-workspace/bridge-config/cli.cjs +71 -0
  75. package/dist/cjs/ultramodern-workspace/bridge-config/defaults.cjs +43 -0
  76. package/dist/cjs/ultramodern-workspace/bridge-config/gates.cjs +93 -0
  77. package/dist/cjs/ultramodern-workspace/bridge-config/index.cjs +60 -0
  78. package/dist/cjs/ultramodern-workspace/bridge-config/normalize.cjs +68 -0
  79. package/dist/cjs/ultramodern-workspace/bridge-config/schema.cjs +78 -0
  80. package/dist/cjs/ultramodern-workspace/bridge-config/shared.cjs +110 -0
  81. package/dist/cjs/ultramodern-workspace/bridge-config/validation.cjs +68 -0
  82. package/dist/cjs/ultramodern-workspace/bridge-config/workspace-packages.cjs +108 -0
  83. package/dist/cjs/ultramodern-workspace/bridge-config.cjs +32 -297
  84. package/dist/cjs/ultramodern-workspace/codesmith.cjs +10 -1
  85. package/dist/cjs/ultramodern-workspace/contracts.cjs +80 -26
  86. package/dist/cjs/ultramodern-workspace/delivery-unit-schema/types.cjs +291 -0
  87. package/dist/cjs/ultramodern-workspace/delivery-unit-schema/up-projection.cjs +188 -0
  88. package/dist/cjs/ultramodern-workspace/delivery-unit-stamp.cjs +56 -0
  89. package/dist/cjs/ultramodern-workspace/delivery-unit-sync.cjs +153 -0
  90. package/dist/cjs/ultramodern-workspace/delivery-unit.cjs +75 -0
  91. package/dist/cjs/ultramodern-workspace/demo-components.cjs +474 -205
  92. package/dist/cjs/ultramodern-workspace/descriptors.cjs +101 -16
  93. package/dist/cjs/ultramodern-workspace/effect-diagnostics.cjs +114 -0
  94. package/dist/cjs/ultramodern-workspace/fs-io.cjs +26 -36
  95. package/dist/cjs/ultramodern-workspace/generation-result.cjs +36 -3
  96. package/dist/cjs/ultramodern-workspace/index.cjs +28 -0
  97. package/dist/cjs/ultramodern-workspace/locales.cjs +3 -17
  98. package/dist/cjs/ultramodern-workspace/mf-validation/constants.cjs +69 -0
  99. package/dist/cjs/ultramodern-workspace/mf-validation/discovery.cjs +77 -0
  100. package/dist/cjs/ultramodern-workspace/mf-validation/inspect.cjs +84 -0
  101. package/dist/cjs/ultramodern-workspace/mf-validation/object-literal.cjs +188 -0
  102. package/dist/cjs/ultramodern-workspace/mf-validation/path-utils.cjs +165 -0
  103. package/dist/cjs/ultramodern-workspace/mf-validation/syntax.cjs +201 -0
  104. package/dist/cjs/ultramodern-workspace/mf-validation/types.cjs +18 -0
  105. package/dist/cjs/ultramodern-workspace/mf-validation/validate.cjs +112 -0
  106. package/dist/cjs/ultramodern-workspace/mf-validation.cjs +6 -529
  107. package/dist/cjs/ultramodern-workspace/module-federation/config.cjs +336 -0
  108. package/dist/cjs/ultramodern-workspace/module-federation/index.cjs +73 -0
  109. package/dist/cjs/ultramodern-workspace/module-federation/reexport-module.cjs +111 -0
  110. package/dist/cjs/ultramodern-workspace/module-federation/remote-refs.cjs +106 -0
  111. package/dist/cjs/ultramodern-workspace/module-federation/shared-config.cjs +53 -0
  112. package/dist/cjs/ultramodern-workspace/module-federation.cjs +18 -477
  113. package/dist/cjs/ultramodern-workspace/naming.cjs +1 -7
  114. package/dist/cjs/ultramodern-workspace/overlay-baseline-guard.cjs +408 -0
  115. package/dist/cjs/ultramodern-workspace/overlays.cjs +39 -5
  116. package/dist/cjs/ultramodern-workspace/package-json.cjs +54 -301
  117. package/dist/cjs/ultramodern-workspace/package-source.cjs +11 -2
  118. package/dist/cjs/ultramodern-workspace/policy.cjs +801 -24
  119. package/dist/cjs/ultramodern-workspace/public-surface.cjs +1 -22
  120. package/dist/cjs/ultramodern-workspace/routes.cjs +8 -157
  121. package/dist/cjs/ultramodern-workspace/shared-patches.cjs +41 -0
  122. package/dist/cjs/ultramodern-workspace/shells.cjs +151 -0
  123. package/dist/cjs/ultramodern-workspace/tooling-command-catalog.cjs +147 -0
  124. package/dist/cjs/ultramodern-workspace/tsconfigs.cjs +200 -0
  125. package/dist/cjs/ultramodern-workspace/types.cjs +27 -0
  126. package/dist/cjs/ultramodern-workspace/versions.cjs +52 -37
  127. package/dist/cjs/ultramodern-workspace/workspace-script-plan.cjs +174 -0
  128. package/dist/cjs/ultramodern-workspace/workspace-scripts.cjs +118 -88
  129. package/dist/cjs/ultramodern-workspace/workspace-validation-contract.cjs +642 -0
  130. package/dist/cjs/ultramodern-workspace/write-app.cjs +148 -0
  131. package/dist/cjs/ultramodern-workspace/write-workspace.cjs +45 -67
  132. package/dist/cjs/ultramodern-workspace/zerops.cjs +108 -0
  133. package/dist/esm/cli/flags.js +262 -0
  134. package/dist/esm/cli/help.js +67 -0
  135. package/dist/esm/cli/package-source.js +124 -0
  136. package/dist/esm/cli/project-setup.js +105 -0
  137. package/dist/esm/cli/prompts.js +51 -0
  138. package/dist/esm/index.js +19 -565
  139. package/dist/esm/locale/en.js +5 -6
  140. package/dist/esm/locale/zh.js +5 -6
  141. package/dist/esm/ultramodern-package-source.js +1 -24
  142. package/dist/esm/ultramodern-release-cohort.js +133 -0
  143. package/dist/esm/ultramodern-tooling/commands/cloudflare-output-verify.js +88 -0
  144. package/dist/esm/ultramodern-tooling/commands/context.js +66 -0
  145. package/dist/esm/ultramodern-tooling/commands/mf-types.js +17 -0
  146. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/api-metadata.js +154 -0
  147. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/declaration-patches.js +12 -0
  148. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/dependency-usage.js +38 -0
  149. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-backend-federation.js +10 -0
  150. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-build-identity.js +45 -0
  151. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-modern-configs.js +51 -0
  152. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-oxfmt.js +83 -0
  153. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-removal.js +16 -0
  154. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-typescript.js +157 -0
  155. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-zerops.js +12 -0
  156. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts.js +7 -0
  157. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/generated-patches.js +15 -0
  158. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/generated-ui-source.js +97 -0
  159. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/help.js +16 -0
  160. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/install.js +14 -0
  161. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/io.js +285 -0
  162. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/package-cohort.js +156 -0
  163. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/package-source.js +51 -0
  164. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/pnpm-policy.js +417 -0
  165. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/pnpm-yaml.js +329 -0
  166. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/policy-constants.js +24 -0
  167. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/toolchain-pins.js +80 -0
  168. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect.js +376 -0
  169. package/dist/esm/ultramodern-tooling/commands/options.js +18 -0
  170. package/dist/esm/ultramodern-tooling/commands/routes-generate.js +74 -0
  171. package/dist/esm/ultramodern-tooling/commands/skills.js +11 -0
  172. package/dist/esm/ultramodern-tooling/commands/sync-delivery-unit.js +1 -0
  173. package/dist/esm/ultramodern-tooling/commands/validate.js +15 -0
  174. package/dist/esm/ultramodern-tooling/commands.js +23 -482
  175. package/dist/esm/ultramodern-tooling/config/constants.js +4 -0
  176. package/dist/esm/ultramodern-tooling/config/index.js +7 -0
  177. package/dist/esm/ultramodern-tooling/config/json.js +10 -0
  178. package/dist/esm/ultramodern-tooling/config/load.js +13 -0
  179. package/dist/esm/ultramodern-tooling/config/metadata.js +37 -0
  180. package/dist/esm/ultramodern-tooling/config/normalize.js +173 -0
  181. package/dist/esm/ultramodern-tooling/config/synthesize.js +108 -0
  182. package/dist/esm/ultramodern-tooling/config/types.js +0 -0
  183. package/dist/esm/ultramodern-tooling/config.js +1 -120
  184. package/dist/esm/ultramodern-workspace/add-shell.js +221 -0
  185. package/dist/esm/ultramodern-workspace/add-vertical/constants.js +5 -0
  186. package/dist/esm/ultramodern-workspace/add-vertical/execute.js +135 -0
  187. package/dist/esm/ultramodern-workspace/add-vertical/plan.js +205 -0
  188. package/dist/esm/ultramodern-workspace/add-vertical/preflight.js +198 -0
  189. package/dist/esm/ultramodern-workspace/add-vertical/shell-files.js +65 -0
  190. package/dist/esm/ultramodern-workspace/add-vertical/topology.js +108 -0
  191. package/dist/esm/ultramodern-workspace/add-vertical/transaction.js +254 -0
  192. package/dist/esm/ultramodern-workspace/add-vertical/workspace-state.js +67 -0
  193. package/dist/esm/ultramodern-workspace/add-vertical.js +6 -544
  194. package/dist/esm/ultramodern-workspace/api/checkout-cart.js +86 -0
  195. package/dist/esm/ultramodern-workspace/api/client.js +183 -0
  196. package/dist/esm/ultramodern-workspace/api/contracts.js +201 -0
  197. package/dist/esm/ultramodern-workspace/api/names.js +33 -0
  198. package/dist/esm/ultramodern-workspace/api/rpc.js +205 -0
  199. package/dist/esm/ultramodern-workspace/api/service.js +211 -0
  200. package/dist/esm/ultramodern-workspace/api/shared.js +226 -0
  201. package/dist/esm/ultramodern-workspace/api.js +6 -984
  202. package/dist/esm/ultramodern-workspace/app-files.js +51 -51
  203. package/dist/esm/ultramodern-workspace/backend-federation.js +281 -0
  204. package/dist/esm/ultramodern-workspace/bridge-config/cli.js +30 -0
  205. package/dist/esm/ultramodern-workspace/bridge-config/defaults.js +5 -0
  206. package/dist/esm/ultramodern-workspace/bridge-config/gates.js +52 -0
  207. package/dist/esm/ultramodern-workspace/bridge-config/index.js +3 -0
  208. package/dist/esm/ultramodern-workspace/bridge-config/normalize.js +30 -0
  209. package/dist/esm/ultramodern-workspace/bridge-config/schema.js +31 -0
  210. package/dist/esm/ultramodern-workspace/bridge-config/shared.js +51 -0
  211. package/dist/esm/ultramodern-workspace/bridge-config/validation.js +27 -0
  212. package/dist/esm/ultramodern-workspace/bridge-config/workspace-packages.js +67 -0
  213. package/dist/esm/ultramodern-workspace/bridge-config.js +1 -270
  214. package/dist/esm/ultramodern-workspace/codesmith.js +10 -1
  215. package/dist/esm/ultramodern-workspace/contracts.js +81 -27
  216. package/dist/esm/ultramodern-workspace/delivery-unit-schema/types.js +235 -0
  217. package/dist/esm/ultramodern-workspace/delivery-unit-schema/up-projection.js +129 -0
  218. package/dist/esm/ultramodern-workspace/delivery-unit-stamp.js +18 -0
  219. package/dist/esm/ultramodern-workspace/delivery-unit-sync.js +104 -0
  220. package/dist/esm/ultramodern-workspace/delivery-unit.js +21 -0
  221. package/dist/esm/ultramodern-workspace/demo-components.js +461 -204
  222. package/dist/esm/ultramodern-workspace/descriptors.js +75 -17
  223. package/dist/esm/ultramodern-workspace/effect-diagnostics.js +76 -0
  224. package/dist/esm/ultramodern-workspace/fs-io.js +27 -18
  225. package/dist/esm/ultramodern-workspace/generation-result.js +33 -3
  226. package/dist/esm/ultramodern-workspace/index.js +4 -0
  227. package/dist/esm/ultramodern-workspace/locales.js +3 -4
  228. package/dist/esm/ultramodern-workspace/mf-validation/constants.js +19 -0
  229. package/dist/esm/ultramodern-workspace/mf-validation/discovery.js +28 -0
  230. package/dist/esm/ultramodern-workspace/mf-validation/inspect.js +46 -0
  231. package/dist/esm/ultramodern-workspace/mf-validation/object-literal.js +144 -0
  232. package/dist/esm/ultramodern-workspace/mf-validation/path-utils.js +89 -0
  233. package/dist/esm/ultramodern-workspace/mf-validation/syntax.js +154 -0
  234. package/dist/esm/ultramodern-workspace/mf-validation/types.js +0 -0
  235. package/dist/esm/ultramodern-workspace/mf-validation/validate.js +57 -0
  236. package/dist/esm/ultramodern-workspace/mf-validation.js +3 -516
  237. package/dist/esm/ultramodern-workspace/module-federation/config.js +289 -0
  238. package/dist/esm/ultramodern-workspace/module-federation/index.js +4 -0
  239. package/dist/esm/ultramodern-workspace/module-federation/reexport-module.js +67 -0
  240. package/dist/esm/ultramodern-workspace/module-federation/remote-refs.js +65 -0
  241. package/dist/esm/ultramodern-workspace/module-federation/shared-config.js +12 -0
  242. package/dist/esm/ultramodern-workspace/module-federation.js +2 -458
  243. package/dist/esm/ultramodern-workspace/naming.js +2 -2
  244. package/dist/esm/ultramodern-workspace/overlay-baseline-guard.js +350 -0
  245. package/dist/esm/ultramodern-workspace/overlays.js +28 -5
  246. package/dist/esm/ultramodern-workspace/package-json.js +48 -283
  247. package/dist/esm/ultramodern-workspace/package-source.js +7 -1
  248. package/dist/esm/ultramodern-workspace/policy.js +784 -10
  249. package/dist/esm/ultramodern-workspace/public-surface.js +2 -2
  250. package/dist/esm/ultramodern-workspace/routes.js +9 -143
  251. package/dist/esm/ultramodern-workspace/shared-patches.js +3 -0
  252. package/dist/esm/ultramodern-workspace/shells.js +92 -0
  253. package/dist/esm/ultramodern-workspace/tooling-command-catalog.js +100 -0
  254. package/dist/esm/ultramodern-workspace/tsconfigs.js +137 -0
  255. package/dist/esm/ultramodern-workspace/types.js +16 -1
  256. package/dist/esm/ultramodern-workspace/versions.js +35 -26
  257. package/dist/esm/ultramodern-workspace/workspace-script-plan.js +124 -0
  258. package/dist/esm/ultramodern-workspace/workspace-scripts.js +115 -85
  259. package/dist/esm/ultramodern-workspace/workspace-validation-contract.js +604 -0
  260. package/dist/esm/ultramodern-workspace/write-app.js +105 -0
  261. package/dist/esm/ultramodern-workspace/write-workspace.js +47 -66
  262. package/dist/esm/ultramodern-workspace/zerops.js +70 -0
  263. package/dist/esm-node/cli/flags.js +263 -0
  264. package/dist/esm-node/cli/help.js +68 -0
  265. package/dist/esm-node/cli/package-source.js +125 -0
  266. package/dist/esm-node/cli/project-setup.js +106 -0
  267. package/dist/esm-node/cli/prompts.js +52 -0
  268. package/dist/esm-node/index.js +19 -565
  269. package/dist/esm-node/locale/en.js +5 -6
  270. package/dist/esm-node/locale/zh.js +5 -6
  271. package/dist/esm-node/ultramodern-package-source.js +1 -24
  272. package/dist/esm-node/ultramodern-release-cohort.js +134 -0
  273. package/dist/esm-node/ultramodern-tooling/commands/cloudflare-output-verify.js +89 -0
  274. package/dist/esm-node/ultramodern-tooling/commands/context.js +67 -0
  275. package/dist/esm-node/ultramodern-tooling/commands/mf-types.js +18 -0
  276. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/api-metadata.js +155 -0
  277. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/declaration-patches.js +13 -0
  278. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/dependency-usage.js +39 -0
  279. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-backend-federation.js +11 -0
  280. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-build-identity.js +46 -0
  281. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-modern-configs.js +52 -0
  282. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-oxfmt.js +84 -0
  283. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-removal.js +17 -0
  284. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-typescript.js +158 -0
  285. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-zerops.js +13 -0
  286. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts.js +8 -0
  287. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/generated-patches.js +16 -0
  288. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/generated-ui-source.js +98 -0
  289. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/help.js +17 -0
  290. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/install.js +15 -0
  291. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/io.js +286 -0
  292. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/package-cohort.js +157 -0
  293. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/package-source.js +52 -0
  294. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/pnpm-policy.js +418 -0
  295. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/pnpm-yaml.js +330 -0
  296. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/policy-constants.js +25 -0
  297. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/toolchain-pins.js +81 -0
  298. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect.js +377 -0
  299. package/dist/esm-node/ultramodern-tooling/commands/options.js +19 -0
  300. package/dist/esm-node/ultramodern-tooling/commands/routes-generate.js +75 -0
  301. package/dist/esm-node/ultramodern-tooling/commands/skills.js +12 -0
  302. package/dist/esm-node/ultramodern-tooling/commands/sync-delivery-unit.js +2 -0
  303. package/dist/esm-node/ultramodern-tooling/commands/validate.js +16 -0
  304. package/dist/esm-node/ultramodern-tooling/commands.js +23 -482
  305. package/dist/esm-node/ultramodern-tooling/config/constants.js +5 -0
  306. package/dist/esm-node/ultramodern-tooling/config/index.js +8 -0
  307. package/dist/esm-node/ultramodern-tooling/config/json.js +11 -0
  308. package/dist/esm-node/ultramodern-tooling/config/load.js +14 -0
  309. package/dist/esm-node/ultramodern-tooling/config/metadata.js +38 -0
  310. package/dist/esm-node/ultramodern-tooling/config/normalize.js +174 -0
  311. package/dist/esm-node/ultramodern-tooling/config/synthesize.js +109 -0
  312. package/dist/esm-node/ultramodern-tooling/config/types.js +1 -0
  313. package/dist/esm-node/ultramodern-tooling/config.js +1 -120
  314. package/dist/esm-node/ultramodern-workspace/add-shell.js +222 -0
  315. package/dist/esm-node/ultramodern-workspace/add-vertical/constants.js +6 -0
  316. package/dist/esm-node/ultramodern-workspace/add-vertical/execute.js +136 -0
  317. package/dist/esm-node/ultramodern-workspace/add-vertical/plan.js +206 -0
  318. package/dist/esm-node/ultramodern-workspace/add-vertical/preflight.js +199 -0
  319. package/dist/esm-node/ultramodern-workspace/add-vertical/shell-files.js +66 -0
  320. package/dist/esm-node/ultramodern-workspace/add-vertical/topology.js +109 -0
  321. package/dist/esm-node/ultramodern-workspace/add-vertical/transaction.js +255 -0
  322. package/dist/esm-node/ultramodern-workspace/add-vertical/workspace-state.js +68 -0
  323. package/dist/esm-node/ultramodern-workspace/add-vertical.js +6 -544
  324. package/dist/esm-node/ultramodern-workspace/api/checkout-cart.js +87 -0
  325. package/dist/esm-node/ultramodern-workspace/api/client.js +184 -0
  326. package/dist/esm-node/ultramodern-workspace/api/contracts.js +202 -0
  327. package/dist/esm-node/ultramodern-workspace/api/names.js +34 -0
  328. package/dist/esm-node/ultramodern-workspace/api/rpc.js +206 -0
  329. package/dist/esm-node/ultramodern-workspace/api/service.js +212 -0
  330. package/dist/esm-node/ultramodern-workspace/api/shared.js +227 -0
  331. package/dist/esm-node/ultramodern-workspace/api.js +6 -984
  332. package/dist/esm-node/ultramodern-workspace/app-files.js +51 -51
  333. package/dist/esm-node/ultramodern-workspace/backend-federation.js +282 -0
  334. package/dist/esm-node/ultramodern-workspace/bridge-config/cli.js +31 -0
  335. package/dist/esm-node/ultramodern-workspace/bridge-config/defaults.js +6 -0
  336. package/dist/esm-node/ultramodern-workspace/bridge-config/gates.js +53 -0
  337. package/dist/esm-node/ultramodern-workspace/bridge-config/index.js +4 -0
  338. package/dist/esm-node/ultramodern-workspace/bridge-config/normalize.js +31 -0
  339. package/dist/esm-node/ultramodern-workspace/bridge-config/schema.js +32 -0
  340. package/dist/esm-node/ultramodern-workspace/bridge-config/shared.js +52 -0
  341. package/dist/esm-node/ultramodern-workspace/bridge-config/validation.js +28 -0
  342. package/dist/esm-node/ultramodern-workspace/bridge-config/workspace-packages.js +68 -0
  343. package/dist/esm-node/ultramodern-workspace/bridge-config.js +1 -270
  344. package/dist/esm-node/ultramodern-workspace/codesmith.js +10 -1
  345. package/dist/esm-node/ultramodern-workspace/contracts.js +81 -27
  346. package/dist/esm-node/ultramodern-workspace/delivery-unit-schema/types.js +236 -0
  347. package/dist/esm-node/ultramodern-workspace/delivery-unit-schema/up-projection.js +130 -0
  348. package/dist/esm-node/ultramodern-workspace/delivery-unit-stamp.js +19 -0
  349. package/dist/esm-node/ultramodern-workspace/delivery-unit-sync.js +105 -0
  350. package/dist/esm-node/ultramodern-workspace/delivery-unit.js +22 -0
  351. package/dist/esm-node/ultramodern-workspace/demo-components.js +461 -204
  352. package/dist/esm-node/ultramodern-workspace/descriptors.js +75 -17
  353. package/dist/esm-node/ultramodern-workspace/effect-diagnostics.js +77 -0
  354. package/dist/esm-node/ultramodern-workspace/fs-io.js +27 -18
  355. package/dist/esm-node/ultramodern-workspace/generation-result.js +33 -3
  356. package/dist/esm-node/ultramodern-workspace/index.js +4 -0
  357. package/dist/esm-node/ultramodern-workspace/locales.js +3 -4
  358. package/dist/esm-node/ultramodern-workspace/mf-validation/constants.js +20 -0
  359. package/dist/esm-node/ultramodern-workspace/mf-validation/discovery.js +29 -0
  360. package/dist/esm-node/ultramodern-workspace/mf-validation/inspect.js +47 -0
  361. package/dist/esm-node/ultramodern-workspace/mf-validation/object-literal.js +145 -0
  362. package/dist/esm-node/ultramodern-workspace/mf-validation/path-utils.js +90 -0
  363. package/dist/esm-node/ultramodern-workspace/mf-validation/syntax.js +155 -0
  364. package/dist/esm-node/ultramodern-workspace/mf-validation/types.js +1 -0
  365. package/dist/esm-node/ultramodern-workspace/mf-validation/validate.js +58 -0
  366. package/dist/esm-node/ultramodern-workspace/mf-validation.js +3 -516
  367. package/dist/esm-node/ultramodern-workspace/module-federation/config.js +290 -0
  368. package/dist/esm-node/ultramodern-workspace/module-federation/index.js +5 -0
  369. package/dist/esm-node/ultramodern-workspace/module-federation/reexport-module.js +68 -0
  370. package/dist/esm-node/ultramodern-workspace/module-federation/remote-refs.js +66 -0
  371. package/dist/esm-node/ultramodern-workspace/module-federation/shared-config.js +13 -0
  372. package/dist/esm-node/ultramodern-workspace/module-federation.js +2 -458
  373. package/dist/esm-node/ultramodern-workspace/naming.js +2 -2
  374. package/dist/esm-node/ultramodern-workspace/overlay-baseline-guard.js +351 -0
  375. package/dist/esm-node/ultramodern-workspace/overlays.js +28 -5
  376. package/dist/esm-node/ultramodern-workspace/package-json.js +48 -283
  377. package/dist/esm-node/ultramodern-workspace/package-source.js +7 -1
  378. package/dist/esm-node/ultramodern-workspace/policy.js +784 -10
  379. package/dist/esm-node/ultramodern-workspace/public-surface.js +2 -2
  380. package/dist/esm-node/ultramodern-workspace/routes.js +9 -143
  381. package/dist/esm-node/ultramodern-workspace/shared-patches.js +4 -0
  382. package/dist/esm-node/ultramodern-workspace/shells.js +93 -0
  383. package/dist/esm-node/ultramodern-workspace/tooling-command-catalog.js +101 -0
  384. package/dist/esm-node/ultramodern-workspace/tsconfigs.js +138 -0
  385. package/dist/esm-node/ultramodern-workspace/types.js +16 -1
  386. package/dist/esm-node/ultramodern-workspace/versions.js +35 -26
  387. package/dist/esm-node/ultramodern-workspace/workspace-script-plan.js +125 -0
  388. package/dist/esm-node/ultramodern-workspace/workspace-scripts.js +115 -85
  389. package/dist/esm-node/ultramodern-workspace/workspace-validation-contract.js +605 -0
  390. package/dist/esm-node/ultramodern-workspace/write-app.js +106 -0
  391. package/dist/esm-node/ultramodern-workspace/write-workspace.js +47 -66
  392. package/dist/esm-node/ultramodern-workspace/zerops.js +71 -0
  393. package/dist/types/cli/flags.d.ts +35 -0
  394. package/dist/types/cli/help.d.ts +2 -0
  395. package/dist/types/cli/package-source.d.ts +15 -0
  396. package/dist/types/cli/project-setup.d.ts +8 -0
  397. package/dist/types/cli/prompts.d.ts +4 -0
  398. package/dist/types/locale/en.d.ts +3 -4
  399. package/dist/types/locale/index.d.ts +6 -8
  400. package/dist/types/locale/zh.d.ts +3 -4
  401. package/dist/types/ultramodern-package-source.d.ts +0 -11
  402. package/dist/types/ultramodern-release-cohort.d.ts +30 -0
  403. package/dist/types/ultramodern-tooling/commands/cloudflare-output-verify.d.ts +2 -0
  404. package/dist/types/ultramodern-tooling/commands/context.d.ts +11 -0
  405. package/dist/types/ultramodern-tooling/commands/mf-types.d.ts +2 -0
  406. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/api-metadata.d.ts +12 -0
  407. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/declaration-patches.d.ts +4 -0
  408. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/dependency-usage.d.ts +1 -0
  409. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-backend-federation.d.ts +3 -0
  410. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-build-identity.d.ts +5 -0
  411. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-modern-configs.d.ts +3 -0
  412. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-oxfmt.d.ts +2 -0
  413. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-removal.d.ts +4 -0
  414. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-typescript.d.ts +3 -0
  415. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-zerops.d.ts +3 -0
  416. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts.d.ts +7 -0
  417. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/generated-patches.d.ts +3 -0
  418. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/generated-ui-source.d.ts +3 -0
  419. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/help.d.ts +1 -0
  420. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/install.d.ts +2 -0
  421. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/io.d.ts +20 -0
  422. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/package-cohort.d.ts +9 -0
  423. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/package-source.d.ts +3 -0
  424. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/pnpm-policy.d.ts +27 -0
  425. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/pnpm-yaml.d.ts +26 -0
  426. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/policy-constants.d.ts +10 -0
  427. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/toolchain-pins.d.ts +4 -0
  428. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect.d.ts +2 -0
  429. package/dist/types/ultramodern-tooling/commands/options.d.ts +2 -0
  430. package/dist/types/ultramodern-tooling/commands/routes-generate.d.ts +2 -0
  431. package/dist/types/ultramodern-tooling/commands/skills.d.ts +2 -0
  432. package/dist/types/ultramodern-tooling/commands/sync-delivery-unit.d.ts +1 -0
  433. package/dist/types/ultramodern-tooling/commands/validate.d.ts +2 -0
  434. package/dist/types/ultramodern-tooling/commands.d.ts +1 -1
  435. package/dist/types/ultramodern-tooling/config/constants.d.ts +3 -0
  436. package/dist/types/ultramodern-tooling/config/index.d.ts +7 -0
  437. package/dist/types/ultramodern-tooling/config/json.d.ts +2 -0
  438. package/dist/types/ultramodern-tooling/config/load.d.ts +2 -0
  439. package/dist/types/ultramodern-tooling/config/metadata.d.ts +4 -0
  440. package/dist/types/ultramodern-tooling/config/normalize.d.ts +22 -0
  441. package/dist/types/ultramodern-tooling/config/synthesize.d.ts +5 -0
  442. package/dist/types/ultramodern-tooling/config/types.d.ts +45 -0
  443. package/dist/types/ultramodern-tooling/config.d.ts +1 -43
  444. package/dist/types/ultramodern-workspace/add-shell.d.ts +14 -0
  445. package/dist/types/ultramodern-workspace/add-vertical/constants.d.ts +4 -0
  446. package/dist/types/ultramodern-workspace/add-vertical/execute.d.ts +9 -0
  447. package/dist/types/ultramodern-workspace/add-vertical/plan.d.ts +2 -0
  448. package/dist/types/ultramodern-workspace/add-vertical/preflight.d.ts +42 -0
  449. package/dist/types/ultramodern-workspace/add-vertical/shell-files.d.ts +6 -0
  450. package/dist/types/ultramodern-workspace/add-vertical/topology.d.ts +9 -0
  451. package/dist/types/ultramodern-workspace/add-vertical/transaction.d.ts +80 -0
  452. package/dist/types/ultramodern-workspace/add-vertical/workspace-state.d.ts +15 -0
  453. package/dist/types/ultramodern-workspace/add-vertical.d.ts +7 -39
  454. package/dist/types/ultramodern-workspace/api/checkout-cart.d.ts +33 -0
  455. package/dist/types/ultramodern-workspace/api/client.d.ts +6 -0
  456. package/dist/types/ultramodern-workspace/api/contracts.d.ts +15 -0
  457. package/dist/types/ultramodern-workspace/api/names.d.ts +41 -0
  458. package/dist/types/ultramodern-workspace/api/rpc.d.ts +41 -0
  459. package/dist/types/ultramodern-workspace/api/service.d.ts +6 -0
  460. package/dist/types/ultramodern-workspace/api/shared.d.ts +10 -0
  461. package/dist/types/ultramodern-workspace/api.d.ts +6 -73
  462. package/dist/types/ultramodern-workspace/app-files.d.ts +4 -10
  463. package/dist/types/ultramodern-workspace/backend-federation.d.ts +11 -0
  464. package/dist/types/ultramodern-workspace/bridge-config/cli.d.ts +3 -0
  465. package/dist/types/ultramodern-workspace/bridge-config/defaults.d.ts +1 -0
  466. package/dist/types/ultramodern-workspace/bridge-config/gates.d.ts +3 -0
  467. package/dist/types/ultramodern-workspace/bridge-config/index.d.ts +4 -0
  468. package/dist/types/ultramodern-workspace/bridge-config/normalize.d.ts +2 -0
  469. package/dist/types/ultramodern-workspace/bridge-config/schema.d.ts +61 -0
  470. package/dist/types/ultramodern-workspace/bridge-config/shared.d.ts +12 -0
  471. package/dist/types/ultramodern-workspace/bridge-config/validation.d.ts +3 -0
  472. package/dist/types/ultramodern-workspace/bridge-config/workspace-packages.d.ts +3 -0
  473. package/dist/types/ultramodern-workspace/bridge-config.d.ts +1 -64
  474. package/dist/types/ultramodern-workspace/codesmith.d.ts +12 -6
  475. package/dist/types/ultramodern-workspace/contracts.d.ts +3 -3
  476. package/dist/types/ultramodern-workspace/delivery-unit-schema/types.d.ts +291 -0
  477. package/dist/types/ultramodern-workspace/delivery-unit-schema/up-projection.d.ts +189 -0
  478. package/dist/types/ultramodern-workspace/delivery-unit-stamp.d.ts +3 -0
  479. package/dist/types/ultramodern-workspace/delivery-unit-sync.d.ts +6 -0
  480. package/dist/types/ultramodern-workspace/delivery-unit.d.ts +8 -0
  481. package/dist/types/ultramodern-workspace/demo-components.d.ts +14 -3
  482. package/dist/types/ultramodern-workspace/descriptors.d.ts +27 -3
  483. package/dist/types/ultramodern-workspace/effect-diagnostics.d.ts +1 -0
  484. package/dist/types/ultramodern-workspace/fs-io.d.ts +2 -8
  485. package/dist/types/ultramodern-workspace/generation-result.d.ts +3 -1
  486. package/dist/types/ultramodern-workspace/index.d.ts +6 -1
  487. package/dist/types/ultramodern-workspace/locales.d.ts +1 -133
  488. package/dist/types/ultramodern-workspace/mf-validation/constants.d.ts +5 -0
  489. package/dist/types/ultramodern-workspace/mf-validation/discovery.d.ts +2 -0
  490. package/dist/types/ultramodern-workspace/mf-validation/inspect.d.ts +2 -0
  491. package/dist/types/ultramodern-workspace/mf-validation/object-literal.d.ts +4 -0
  492. package/dist/types/ultramodern-workspace/mf-validation/path-utils.d.ts +11 -0
  493. package/dist/types/ultramodern-workspace/mf-validation/syntax.d.ts +5 -0
  494. package/dist/types/ultramodern-workspace/mf-validation/types.d.ts +33 -0
  495. package/dist/types/ultramodern-workspace/mf-validation/validate.d.ts +4 -0
  496. package/dist/types/ultramodern-workspace/mf-validation.d.ts +4 -27
  497. package/dist/types/ultramodern-workspace/module-federation/config.d.ts +5 -0
  498. package/dist/types/ultramodern-workspace/module-federation/index.d.ts +4 -0
  499. package/dist/types/ultramodern-workspace/module-federation/reexport-module.d.ts +4 -0
  500. package/dist/types/ultramodern-workspace/module-federation/remote-refs.d.ts +3 -0
  501. package/dist/types/ultramodern-workspace/module-federation/shared-config.d.ts +2 -0
  502. package/dist/types/ultramodern-workspace/module-federation.d.ts +2 -17
  503. package/dist/types/ultramodern-workspace/naming.d.ts +0 -2
  504. package/dist/types/ultramodern-workspace/overlay-baseline-guard.d.ts +57 -0
  505. package/dist/types/ultramodern-workspace/package-json.d.ts +2 -17
  506. package/dist/types/ultramodern-workspace/package-source.d.ts +1 -0
  507. package/dist/types/ultramodern-workspace/policy.d.ts +254 -47
  508. package/dist/types/ultramodern-workspace/public-api.d.ts +1 -1
  509. package/dist/types/ultramodern-workspace/public-surface.d.ts +5 -15
  510. package/dist/types/ultramodern-workspace/routes.d.ts +0 -9
  511. package/dist/types/ultramodern-workspace/shared-patches.d.ts +1 -0
  512. package/dist/types/ultramodern-workspace/shells.d.ts +51 -0
  513. package/dist/types/ultramodern-workspace/tooling-command-catalog.d.ts +18 -0
  514. package/dist/types/ultramodern-workspace/tsconfigs.d.ts +13 -0
  515. package/dist/types/ultramodern-workspace/types.d.ts +134 -3
  516. package/dist/types/ultramodern-workspace/versions.d.ts +35 -26
  517. package/dist/types/ultramodern-workspace/workspace-script-plan.d.ts +63 -0
  518. package/dist/types/ultramodern-workspace/workspace-scripts.d.ts +15 -5
  519. package/dist/types/ultramodern-workspace/workspace-validation-contract.d.ts +243 -0
  520. package/dist/types/ultramodern-workspace/write-app.d.ts +4 -0
  521. package/dist/types/ultramodern-workspace/write-workspace.d.ts +3 -3
  522. package/dist/types/ultramodern-workspace/zerops.d.ts +2 -0
  523. package/package.json +15 -13
  524. package/template-workspace/.gitignore.handlebars +8 -0
  525. package/template-workspace/.modernjs/release-cohort.json +208 -0
  526. package/template-workspace/AGENTS.md.handlebars +16 -89
  527. package/template-workspace/README.md.handlebars +17 -16
  528. package/template-workspace/patches/@module-federation__bridge-react@2.8.0.patch +185 -0
  529. package/template-workspace/patches/@module-federation__modern-js-v3@2.8.0.patch +259 -0
  530. package/template-workspace/patches/@tanstack__router-core@1.171.14.patch +123 -0
  531. package/template-workspace/patches/drizzle-orm-ts7-strict-declarations.patch +452 -0
  532. package/template-workspace/patches/effect-schema-error-type-id.patch +18 -0
  533. package/template-workspace/pnpm-workspace.yaml.handlebars +8 -25
  534. package/template-workspace/scripts/bootstrap-agent-skills.mjs +11 -3
  535. package/templates/app/shell-frame.tsx +5 -4
  536. package/templates/workspace/apps/modern.config.shared-module-federation.ts.handlebars +37 -0
  537. package/templates/workspace/apps/modern.config.ts.handlebars +191 -0
  538. package/templates/workspace/apps/shared/src/routes/ultramodern-jsonld.ts.handlebars +119 -0
  539. package/templates/workspace/apps/shared/src/routes/ultramodern-route-metadata.ts.handlebars +21 -0
  540. package/templates/workspace/apps/shell-super-app/src/routes/[lang]/page.tsx.handlebars +49 -0
  541. package/templates/workspace/apps/shell-super-app/src/routes/vertical-components.helpers.tsx.handlebars +27 -0
  542. package/templates/workspace/apps/shell-super-app/src/routes/vertical-components.imports.tsx.handlebars +4 -0
  543. package/templates/workspace/apps/shell-super-app/src/routes/vertical-components.tsx.handlebars +44 -0
  544. package/templates/workspace/apps/shell-super-app/src/routes/vertical-components.worker.helpers.tsx.handlebars +17 -0
  545. package/templates/workspace/apps/shell-super-app/src/routes/vertical-components.worker.imports.tsx.handlebars +1 -0
  546. package/templates/workspace/packages/shared-design-tokens/tokens.css.handlebars +7 -0
  547. package/templates/workspace/tailwind.config.ts.handlebars +3 -0
  548. package/templates/workspace/verticals/server/checkout-cart-handlers.ts.handlebars +49 -0
  549. package/templates/workspace/verticals/server/checkout-cart-state.ts.handlebars +23 -0
  550. package/templates/workspace/verticals/shared/api.checkout-cart-contract-fields.ts.handlebars +1 -0
  551. package/templates/workspace/verticals/shared/api.checkout-cart-endpoints.ts.handlebars +23 -0
  552. package/templates/workspace/verticals/shared/api.checkout-cart-operation-contexts.ts.handlebars +29 -0
  553. package/templates/workspace/verticals/shared/api.checkout-cart-schemas.ts.handlebars +48 -0
  554. package/templates/workspace/verticals/src/api/checkout-cart-client-exports.ts.handlebars +70 -0
  555. package/templates/workspace-scripts/assert-mf-types.mjs.handlebars +4 -4
  556. package/templates/workspace-scripts/check-ultramodern-api-boundaries.mts +40 -2
  557. package/templates/workspace-scripts/generate-node-backend-federation.mjs +379 -0
  558. package/templates/workspace-scripts/generate-public-surface-assets.mjs +5 -5
  559. package/templates/workspace-scripts/materialize-zerops-runtime.mjs +447 -0
  560. package/templates/workspace-scripts/proof-cloudflare-version.mjs +237 -9
  561. package/templates/workspace-scripts/proof-node-backend-federation.mjs +1223 -0
  562. package/templates/workspace-scripts/proof-workerd-ssr.mts +815 -0
  563. package/templates/workspace-scripts/ultramodern-cloudflare-proof.mjs +188 -2
  564. package/templates/workspace-scripts/ultramodern-typecheck.mjs +6 -46
  565. package/templates/workspace-scripts/validate-ultramodern-workspace.mjs.handlebars +2436 -258
  566. package/template-workspace/patches/@tanstack__router-core@1.171.13.patch +0 -51
@@ -0,0 +1,291 @@
1
+ /**
2
+ * Canonical MicroVertical delivery contracts (W4).
3
+ *
4
+ * This module DEFINES the canonical shapes only. It is intentionally UNWIRED:
5
+ * no generator, normalizer, or runtime path imports it, and it does not change
6
+ * any emitted output. The v1 down-projection here is a pure, tested function;
7
+ * it is not invoked by any generation path.
8
+ *
9
+ * Binding vocabulary: root `CONTEXT.md`, ADR-0019 (Federated Loading, Unified
10
+ * Delivery), ADR-0020 (Zoned Surface Versioning). See `packages/toolkit/create/delivery-unit-schema-SPEC.md` for the
11
+ * SurfaceRef grammar, invariants, and the v1 mapping table.
12
+ *
13
+ * TS constraint: plain types + pure functions only. This file is scanned by
14
+ * `tsgo-boundary.test.ts`; it must never import TypeScript compiler APIs.
15
+ */
16
+ import { type DeliveryUnitRecord } from '@modern-js/utils/universal';
17
+ import type { JsonObject, Ownership, WorkspaceApp } from '../types';
18
+ /**
19
+ * The single accountable owner of a delivery unit. Exactly one owner per unit
20
+ * (CONTEXT.md: "MicroVertical never [has more than] one owner").
21
+ */
22
+ export type DeliveryUnitOwner = {
23
+ kind: 'team' | 'agent' | 'agent-team';
24
+ id: string;
25
+ contact?: string;
26
+ };
27
+ /**
28
+ * Exact platform-baseline pins resolved for this unit. Composition-time
29
+ * singletons only (CONTEXT.md: Platform Baseline). Verticals never pick their
30
+ * own version; the cohort is advanced platform-wide.
31
+ */
32
+ export type BaselineCohortResolved = {
33
+ react: string;
34
+ tanstackRouter: string;
35
+ effect: string;
36
+ tailwind: string;
37
+ };
38
+ /**
39
+ * A baseline cohort is an opaque, stable id plus the exact record it resolves
40
+ * to. The id is the unit of comparison; the resolved record is the evidence.
41
+ */
42
+ export type BaselineCohort = {
43
+ cohortId: string;
44
+ resolved: BaselineCohortResolved;
45
+ };
46
+ export type ExternalRetirement = {
47
+ /** SurfaceRef (canonical string) of the successor major, when known. */
48
+ supersededBy?: string;
49
+ /** Opaque retirement marker (window id / date string), owner-defined. */
50
+ sunsetAfter?: string;
51
+ };
52
+ /**
53
+ * External-publication terms. A breaking change ships as a new major exposed
54
+ * side by side with the previous major until known consumers migrate.
55
+ */
56
+ export type ExternalPublication = {
57
+ surfaceMajor: number;
58
+ /** Opaque compatible-baseline descriptor (e.g. a cohort range id). */
59
+ baselineCompatibility: string;
60
+ retirement?: ExternalRetirement;
61
+ };
62
+ /**
63
+ * Zone discriminated union. `external` carries its terms atomically: it is a
64
+ * type error to be in the external zone without an {@link ExternalPublication}
65
+ * record. Default is `coordinated` (see {@link resolvePublicationZone}).
66
+ */
67
+ export type PublicationZone = {
68
+ zone: 'coordinated';
69
+ } | {
70
+ zone: 'external';
71
+ external: ExternalPublication;
72
+ };
73
+ export type SurfaceLocationPlatform = 'browser-mf' | 'node-mf' | 'http' | 'cloudflare-binding';
74
+ /**
75
+ * A concrete per-platform location for a surface. Discriminated on `platform`
76
+ * so each platform carries only the address shape it can actually resolve.
77
+ * (ADR-0019 §3: UI/API/backend addresses are derived, platform-appropriate.)
78
+ */
79
+ export type SurfaceLocation = {
80
+ platform: 'browser-mf';
81
+ manifestUrl: string;
82
+ } | {
83
+ platform: 'node-mf';
84
+ manifestUrl: string;
85
+ } | {
86
+ platform: 'http';
87
+ address: string;
88
+ } | {
89
+ platform: 'cloudflare-binding';
90
+ serviceBinding: string;
91
+ };
92
+ export type SurfaceKind = 'component' | 'route' | 'api' | 'backend';
93
+ export type ApiProtocol = 'rest' | 'rpc' | 'graphql';
94
+ type SurfaceCommon = {
95
+ surfaceId: string;
96
+ /** Per-platform locations. Never mixed across delivery-unit build markers. */
97
+ locations: SurfaceLocation[];
98
+ /**
99
+ * Marks a surface as externally consumable. It inherits the unit's zone:
100
+ * only meaningful when the unit's {@link PublicationZone} is `external`.
101
+ */
102
+ externallyPublished?: boolean;
103
+ /** Unknown/forward-compatible fields preserved verbatim on round-trip. */
104
+ unknownFields?: JsonObject;
105
+ };
106
+ export type ComponentSurfaceDescriptor = SurfaceCommon & {
107
+ kind: 'component';
108
+ };
109
+ export type RouteSurfaceDescriptor = SurfaceCommon & {
110
+ kind: 'route';
111
+ };
112
+ export type ApiSurfaceDescriptor = SurfaceCommon & {
113
+ kind: 'api';
114
+ protocol: ApiProtocol;
115
+ };
116
+ export type BackendSurfaceDescriptor = SurfaceCommon & {
117
+ kind: 'backend';
118
+ };
119
+ export type SurfaceDescriptor = ComponentSurfaceDescriptor | RouteSurfaceDescriptor | ApiSurfaceDescriptor | BackendSurfaceDescriptor;
120
+ export type DeliveryUnitKind = 'microvertical' | 'shell' | 'horizontal-remote';
121
+ /**
122
+ * The canonical authoring shape for one indivisible delivery unit. All surfaces
123
+ * derive from the single `sourceRevision` / `buildMarker` identity root
124
+ * (ADR-0019 invariants 1-2). This is a superset of today's v1 `WorkspaceApp`;
125
+ * see {@link projectDeliveryUnitToV1} for the lossy down-projection.
126
+ */
127
+ export type DeliveryUnitDescriptor = {
128
+ unitId: string;
129
+ kind: DeliveryUnitKind;
130
+ owner: DeliveryUnitOwner;
131
+ sourceRevision: string;
132
+ buildMarker: string;
133
+ baselineCohort: BaselineCohort;
134
+ /** Defaults to `{ zone: 'coordinated' }` when omitted. */
135
+ publicationZone?: PublicationZone;
136
+ surfaces: SurfaceDescriptor[];
137
+ /** Unknown/forward-compatible fields preserved verbatim on round-trip. */
138
+ unknownFields?: JsonObject;
139
+ };
140
+ /**
141
+ * A resolved surface. It carries NO build marker of its own: the marker lives
142
+ * once on the {@link ResolvedDeliveryUnit}, so a resolver structurally cannot
143
+ * mix locations from different markers (ADR-0019 §3, invariant 3).
144
+ */
145
+ export type ResolvedSurface = {
146
+ surfaceId: string;
147
+ kind: SurfaceKind;
148
+ locations: SurfaceLocation[];
149
+ };
150
+ export type CompatibilityStatus = 'compatible' | 'incompatible' | 'degraded';
151
+ export type CompatibilityVerdict = {
152
+ status: CompatibilityStatus;
153
+ /** Baseline cohort id the verdict was computed against. */
154
+ baselineCohortId: string;
155
+ reason?: string;
156
+ };
157
+ /**
158
+ * Atomic resolution result. Every platform location for the unit is resolved
159
+ * together against ONE `buildMarker` / `sourceRevision`. There is no partial
160
+ * shape: a resolver returns a whole {@link ResolvedDeliveryUnit} or a typed
161
+ * failure — never a per-surface mix of markers. This shape is the W5/W7
162
+ * contract checkpoint.
163
+ */
164
+ export type ResolvedDeliveryUnit = {
165
+ unitId: string;
166
+ buildMarker: string;
167
+ sourceRevision: string;
168
+ baselineCohortId: string;
169
+ surfaces: ResolvedSurface[];
170
+ compatibility: CompatibilityVerdict;
171
+ };
172
+ /**
173
+ * Parsed form of a SurfaceRef. Canonical string form is `unitId#surfaceId`
174
+ * with an optional `@vN` major suffix. See `packages/toolkit/create/delivery-unit-schema-SPEC.md` for the EBNF.
175
+ */
176
+ export type ParsedSurfaceRef = {
177
+ unitId: string;
178
+ surfaceId: string;
179
+ /** External-major selector. Absent means "the coordinated-zone surface". */
180
+ major?: number;
181
+ };
182
+ export type SurfaceRefParseError = {
183
+ code: 'empty';
184
+ } | {
185
+ code: 'missing-surface-separator';
186
+ } | {
187
+ code: 'multiple-surface-separators';
188
+ } | {
189
+ code: 'empty-unit-id';
190
+ } | {
191
+ code: 'invalid-unit-id';
192
+ segment: string;
193
+ } | {
194
+ code: 'empty-surface-id';
195
+ } | {
196
+ code: 'invalid-surface-id';
197
+ } | {
198
+ code: 'empty-major';
199
+ } | {
200
+ code: 'invalid-major';
201
+ value: string;
202
+ };
203
+ export type SurfaceRefParseResult = {
204
+ ok: true;
205
+ ref: ParsedSurfaceRef;
206
+ } | {
207
+ ok: false;
208
+ error: SurfaceRefParseError;
209
+ };
210
+ /**
211
+ * Parse a canonical SurfaceRef string. Total function: every rejection is a
212
+ * typed {@link SurfaceRefParseError}; never throws.
213
+ */
214
+ export declare function parseSurfaceRef(input: string): SurfaceRefParseResult;
215
+ /**
216
+ * Render a {@link ParsedSurfaceRef} back to its canonical string form.
217
+ *
218
+ * Direct inputs are checked against the same invariant as parsed references,
219
+ * so this formatter cannot emit a string that {@link parseSurfaceRef} rejects.
220
+ */
221
+ export declare function formatSurfaceRef(ref: ParsedSurfaceRef): string;
222
+ /** Apply the zone default (coordinated) invariant. */
223
+ export declare function resolvePublicationZone(zone: PublicationZone | undefined): PublicationZone;
224
+ /**
225
+ * Parse a JSON object into a {@link DeliveryUnitDescriptor}, capturing any
226
+ * unrecognised top-level and per-surface keys into `unknownFields` so a later
227
+ * {@link serializeDeliveryUnitDescriptor} can round-trip them verbatim.
228
+ *
229
+ * This is contract-shape capture, not strict validation (that is W3's job);
230
+ * known fields are trusted to already have their declared shapes.
231
+ */
232
+ export declare function parseDeliveryUnitDescriptor(source: JsonObject): DeliveryUnitDescriptor;
233
+ /**
234
+ * Serialize a {@link DeliveryUnitDescriptor} back to a JSON object. Preserved
235
+ * `unknownFields` are spread back at their original level; known keys always
236
+ * win over a colliding unknown key.
237
+ */
238
+ export declare function serializeDeliveryUnitDescriptor(descriptor: DeliveryUnitDescriptor): JsonObject;
239
+ /**
240
+ * Generator-only fields that have no source in the canonical descriptor (port
241
+ * assignment, directory layout, package identity, ownership metadata). The
242
+ * descriptor deliberately does not own these; the v1 projection needs them to
243
+ * reconstruct today's `WorkspaceApp` / `DeliveryUnitRecord`.
244
+ */
245
+ export type V1ProjectionContext = {
246
+ /**
247
+ * Which v1 wire vocabulary is being projected onto. Strict legacy v1 only
248
+ * carries the historical WorkspaceApp fields; extended-v1 also carries the
249
+ * additive delivery-unit discriminators introduced by the workspace
250
+ * topology format.
251
+ */
252
+ mode?: V1ProjectionMode;
253
+ directory: string;
254
+ packageSuffix: string;
255
+ displayName: string;
256
+ portEnv: string;
257
+ port: number;
258
+ mfName: string;
259
+ ownership: Ownership;
260
+ packageName: string;
261
+ version: string;
262
+ };
263
+ /**
264
+ * The two v1 wire vocabularies understood by the projection pair.
265
+ *
266
+ * `strict-legacy` is the original v1 shape and intentionally rejects values
267
+ * that would be silently collapsed by it. `extended-v1` is still schema
268
+ * version 1, but permits the additive `deliveryUnitKind` and `api.protocol`
269
+ * fields used by the UltraModern topology/config readers.
270
+ */
271
+ export type V1ProjectionMode = 'strict-legacy' | 'extended-v1';
272
+ export type DeliveryUnitV1Projection = {
273
+ app: WorkspaceApp;
274
+ deliveryUnitRecord: DeliveryUnitRecord;
275
+ /** Unknown descriptor-level fields, preserved for lossless re-serialization. */
276
+ preservedUnknownFields: JsonObject;
277
+ };
278
+ /**
279
+ * Down-project a canonical {@link DeliveryUnitDescriptor} onto today's v1
280
+ * `WorkspaceApp` + `DeliveryUnitRecord` shapes. Pure and total.
281
+ *
282
+ * Invariant (schema-only migration preserves markers): `buildMarker`,
283
+ * `sourceRevision`, and `unitId` flow straight through from the descriptor and
284
+ * are never regenerated here. See `packages/toolkit/create/delivery-unit-schema-SPEC.md` for the field-by-field table.
285
+ *
286
+ * NOT wired into any generator path.
287
+ */
288
+ export declare function projectDeliveryUnitToV1(descriptor: DeliveryUnitDescriptor, context: V1ProjectionContext): DeliveryUnitV1Projection;
289
+ /** Compile-time exhaustiveness guard for discriminated-union switches. */
290
+ export declare function assertNever(value: never): never;
291
+ export {};
@@ -0,0 +1,189 @@
1
+ /**
2
+ * Canonical MicroVertical delivery contracts (W4) — v1 UP-projection.
3
+ *
4
+ * This module completes the round-trip that the down-projection in
5
+ * `./types.ts` opened. Where {@link projectDeliveryUnitToV1} maps a canonical
6
+ * {@link DeliveryUnitDescriptor} DOWN onto today's v1 `WorkspaceApp` +
7
+ * `DeliveryUnitRecord`, {@link projectV1ToDeliveryUnit} maps a v1
8
+ * `WorkspaceApp` UP into the canonical descriptor. The two compose so that
9
+ * "every current fixture round-trips v1 -> canonical -> v1" (MicroVertical
10
+ * Phase-1 exit criterion).
11
+ *
12
+ * Generator paths consume the projection helpers for grammar-safe surface
13
+ * identity and owner/representability checks; the schema functions themselves
14
+ * remain pure and side-effect free.
15
+ *
16
+ * Binding vocabulary: root `CONTEXT.md`, ADR-0019 (Federated Loading, Unified
17
+ * Delivery), ADR-0020 (Zoned Surface Versioning). See the SPEC §5 mapping
18
+ * table read in reverse.
19
+ *
20
+ * TS constraint: plain types + pure functions only. This file is scanned by
21
+ * `tsgo-boundary.test.ts`; it must never import TypeScript compiler APIs.
22
+ */
23
+ import type { Ownership, WorkspaceApi, WorkspaceApp } from '../types';
24
+ import type { ApiProtocol, ApiSurfaceDescriptor, BaselineCohort, ComponentSurfaceDescriptor, DeliveryUnitDescriptor, DeliveryUnitOwner, RouteSurfaceDescriptor, V1ProjectionMode } from './types';
25
+ /**
26
+ * The identity-root and platform-baseline facts that a v1 `WorkspaceApp` does
27
+ * NOT carry but a canonical {@link DeliveryUnitDescriptor} requires. This is
28
+ * the mirror image of the down-projection's `V1ProjectionContext`: the down
29
+ * context supplies generator-only fields the descriptor deliberately does not
30
+ * own (port, directory, package identity, ownership); this up context supplies
31
+ * the canonical identity root the v1 app never had.
32
+ *
33
+ * Composition contract: given `record = createDeliveryUnitRecord(scope, app)`
34
+ * (or an existing `DeliveryUnitRecord`), thread `record.buildMarker`,
35
+ * `record.sourceRevision`, and the same `scope` through here so the descriptor
36
+ * this produces reconstructs `record.unitId` verbatim. `buildMarker`,
37
+ * `sourceRevision`, and `unitId` therefore survive a v1 -> canonical -> v1
38
+ * pass untouched (SPEC §5 invariant 5, marker preservation).
39
+ */
40
+ export type V1UpProjectionContext = {
41
+ /**
42
+ * The v1 vocabulary being read. In `extended-v1`, additive fields already
43
+ * present on the WorkspaceApp are authoritative for kind/protocol; strict
44
+ * legacy mode deliberately ignores them and exposes their loss through the
45
+ * representability guard.
46
+ */
47
+ mode?: V1ProjectionMode;
48
+ /** Package/topology scope. `unitId` = `${scope}/${app.domain ?? app.id}`. */
49
+ scope: string;
50
+ /** Identity root: exact source revision, threaded, never regenerated. */
51
+ sourceRevision: string;
52
+ /** Identity root: exact build marker, threaded, never regenerated. */
53
+ buildMarker: string;
54
+ /**
55
+ * Composition-time platform baseline pins. v1 has no cohort concept (the
56
+ * cohort is advanced platform-wide, never per-vertical), so the caller must
57
+ * supply the resolved cohort this unit was composed against.
58
+ */
59
+ baselineCohort: BaselineCohort;
60
+ /**
61
+ * Protocol for the app's HTTP api surface, if any. Defaults to `rest`:
62
+ * today's v1 `WorkspaceApi` is only ever an HTTP REST prefix, so `rest` is
63
+ * the faithful reading of current reality (SPEC §1: api surfaces carry a
64
+ * protocol; v1 cannot distinguish rpc/graphql).
65
+ */
66
+ apiProtocol?: ApiProtocol;
67
+ };
68
+ /**
69
+ * Map a v1 {@link Ownership} block onto the canonical single {@link
70
+ * DeliveryUnitOwner}.
71
+ *
72
+ * Owner honouring (G3): when the v1 `Ownership` carries an explicit `owner`
73
+ * attribution (opt-in — the way v1 records an `agent` / `agent-team` owner),
74
+ * that attribution IS the canonical owner and is passed through verbatim
75
+ * (`kind` + `id` + optional `contact`). Only when no explicit owner was set
76
+ * does this fall back to the neutral human-team default: `kind: 'team'`, `id`
77
+ * from `ownership.team`, `contact` from `ownership.slack`. The down-projection
78
+ * writes a non-team owner back into `ownership.owner`, so agent / agent-team
79
+ * owners round-trip faithfully through the projection pair.
80
+ */
81
+ export declare function ownershipToOwner(ownership: Ownership): DeliveryUnitOwner;
82
+ /** Derive a canonical, SurfaceRef-valid `surfaceId` from an MF expose key. */
83
+ export declare function exposeSurfaceId(key: string): string;
84
+ /**
85
+ * Map a single v1 expose onto a component-or-route surface.
86
+ *
87
+ * Route heuristic: an expose whose key or local module path mentions `route`
88
+ * is a `route` surface; everything else is a `component`. The exposed local
89
+ * module path (e.g. `./src/...`) is a build detail the canonical model
90
+ * deliberately abstracts away, so it is dropped; the surface's single
91
+ * `browser-mf` location points at the app's MF manifest (derived from
92
+ * `app.port`, the only address a v1 app exposes for its browser bundle).
93
+ */
94
+ export declare function exposeSurface(app: WorkspaceApp, key: string, value: string): ComponentSurfaceDescriptor | RouteSurfaceDescriptor;
95
+ /**
96
+ * Map a v1 API descriptor onto the canonical API surface vocabulary.
97
+ *
98
+ * `stem` -> `surfaceId`; `prefix` -> a single `http` location `address`;
99
+ * `protocol` from context (default `rest`). `consumedBy` has no canonical
100
+ * home: it is a v1 emergent graph fact (SPEC §5 marks it non-projected), so it
101
+ * is dropped here and the down-projection re-zeroes it to `[]`.
102
+ *
103
+ * Callers that know the concrete transport mount (for example RPC, which is
104
+ * mounted below the API prefix) may provide its address explicitly. Keeping
105
+ * the surface id/protocol/location construction here prevents generator
106
+ * paths from re-deriving a second canonical API surface shape.
107
+ */
108
+ export declare function apiSurface(api: WorkspaceApi, protocol: ApiProtocol, address?: string): ApiSurfaceDescriptor;
109
+ /**
110
+ * Up-project a v1 `WorkspaceApp` into a canonical {@link
111
+ * DeliveryUnitDescriptor}. Pure and total: `WorkspaceApp.kind` is only
112
+ * `shell | vertical`, so this never throws and never produces the
113
+ * v1-unrepresentable `horizontal-remote` kind or the `external` zone.
114
+ *
115
+ * The `publicationZone` is always `{ zone: 'coordinated' }`: v1 has no way to
116
+ * express external publication (ADR-0020), so a v1 app is always coordinated.
117
+ *
118
+ * Marker preservation: `unitId` = `${context.scope}/${app.domain ?? app.id}`
119
+ * (identical to `createDeliveryUnitRecord`), and `buildMarker` /
120
+ * `sourceRevision` are threaded straight from `context`, never regenerated.
121
+ *
122
+ * Generator paths may consume this projection for canonical surface metadata;
123
+ * the projection remains pure and does not mutate the v1 app.
124
+ */
125
+ export declare function projectV1ToDeliveryUnit(app: WorkspaceApp, context: V1UpProjectionContext): DeliveryUnitDescriptor;
126
+ /**
127
+ * The reasons a canonical descriptor cannot be faithfully represented in v1.
128
+ * The down-projection in `./types.ts` degrades ALL of these silently, so this
129
+ * guard exhaustively detects every canonical construct the v1 shape cannot
130
+ * carry and lets callers fail loudly INSTEAD of degrading silently:
131
+ *
132
+ * - `horizontal-remote-kind`: v1 collapses `horizontal-remote` to `vertical`.
133
+ * - `external-zone`: v1 has no publication-zone field (ADR-0020).
134
+ * - `component-or-route-surface`: the down-projection reconstructs no
135
+ * `exposes`, so every component/route surface is dropped.
136
+ * - `backend-surface`: v1 has no backend-surface vocabulary at all.
137
+ * - `multiple-api-surfaces`: v1 carries at most ONE `WorkspaceApi`; the
138
+ * down-projection keeps the first api surface and drops the rest.
139
+ * - `non-rest-protocol`: v1 `WorkspaceApi` is an HTTP REST prefix; `rpc` /
140
+ * `graphql` protocols are dropped (the up-projection re-defaults to
141
+ * `rest`).
142
+ * - `unsupported-surface-shape`: an api surface whose shape v1 cannot carry —
143
+ * anything other than exactly one `http` location, or per-surface
144
+ * `externallyPublished` / `unknownFields` metadata.
145
+ * - `unknown-fields`: the descriptor carries top-level `unknownFields`. v1 has
146
+ * nowhere to store them in-band — the down-projection returns them
147
+ * out-of-band (`preservedUnknownFields`), so a v1 shape cannot reproduce the
148
+ * descriptor byte-for-byte in a single canonical value.
149
+ * - `non-canonical-zone`: the descriptor's `publicationZone` is not exactly the
150
+ * canonical `{ zone: 'coordinated' }` the up-projection always re-emits. A
151
+ * descriptor with NO `publicationZone` (down drops the field, up re-adds an
152
+ * explicit coordinated zone) or a `coordinated` zone carrying extra fields is
153
+ * therefore not round-trip-faithful.
154
+ */
155
+ export type V1UnrepresentableReason = 'horizontal-remote-kind' | 'external-zone' | 'component-or-route-surface' | 'backend-surface' | 'multiple-api-surfaces' | 'non-rest-protocol' | 'unsupported-surface-shape' | 'unknown-fields' | 'non-canonical-zone';
156
+ export type V1RepresentabilityResult = {
157
+ representable: true;
158
+ } | {
159
+ representable: false;
160
+ code: 'unrepresentable-in-v1';
161
+ reason: V1UnrepresentableReason;
162
+ };
163
+ /**
164
+ * A typed error for v1-unrepresentable cases. `code` is always
165
+ * `'unrepresentable-in-v1'`; `reason` narrows which invariant was violated.
166
+ */
167
+ export declare class V1UnrepresentableError extends Error {
168
+ readonly code: 'unrepresentable-in-v1';
169
+ readonly reason: V1UnrepresentableReason;
170
+ constructor(reason: V1UnrepresentableReason);
171
+ }
172
+ /**
173
+ * Total check: is a canonical descriptor faithfully representable in v1?
174
+ * Returns a typed result rather than throwing. Exhaustive over the loss set
175
+ * of `projectDeliveryUnitToV1` (see {@link V1UnrepresentableReason}); the
176
+ * first detected reason is reported, in a deterministic order (unit-level
177
+ * kind, unknown-fields, zone, then surfaces in declaration order).
178
+ *
179
+ * The round-trip law rests on this guard: for descriptors this function
180
+ * accepts, canonical -> v1 -> canonical is lossless on every
181
+ * representability-covered field.
182
+ */
183
+ export declare function checkV1Representable(descriptor: DeliveryUnitDescriptor, mode?: V1ProjectionMode): V1RepresentabilityResult;
184
+ /**
185
+ * Assert v1 representability, throwing a typed {@link V1UnrepresentableError}
186
+ * for any descriptor carrying a construct the v1 shape cannot represent,
187
+ * rather than letting the down-projection degrade it silently.
188
+ */
189
+ export declare function assertV1Representable(descriptor: DeliveryUnitDescriptor, mode?: V1ProjectionMode): void;
@@ -0,0 +1,3 @@
1
+ import type { WorkspaceApp } from './types';
2
+ /** Stamp one compact-config or reference-topology app with canonical identity. */
3
+ export declare function stampDeliveryUnitIdentity(entry: Record<string, any>, scope: string, app: WorkspaceApp): void;
@@ -0,0 +1,6 @@
1
+ type SyncContext = {
2
+ workspaceRoot: string;
3
+ invocationCwd: string;
4
+ };
5
+ export declare function runSyncDeliveryUnit(args: string[], context: SyncContext): number;
6
+ export {};
@@ -0,0 +1,8 @@
1
+ import { type DeliveryUnitRecord, deliveryUnitContractBlock } from '@modern-js/utils/universal';
2
+ import type { WorkspaceApp } from './types';
3
+ export declare function createBuildMarker(scope: string, app: {
4
+ id: string;
5
+ packageSuffix: string;
6
+ }): string;
7
+ export { deliveryUnitContractBlock };
8
+ export declare function createDeliveryUnitRecord(scope: string, app: WorkspaceApp): DeliveryUnitRecord;
@@ -1,9 +1,20 @@
1
1
  import type { WorkspaceApp } from './types';
2
- export declare function createShellPage(remotes?: WorkspaceApp[]): string;
3
- export declare function createShellRemoteComponents(scope: string, remotes?: WorkspaceApp[]): string;
2
+ export declare function createShellPage(shell: WorkspaceApp, remotes?: WorkspaceApp[]): string;
3
+ export declare function createShellRemoteComponents(shell: WorkspaceApp, remotes?: WorkspaceApp[]): string;
4
+ export declare function createShellWorkerRemoteComponents(shell: WorkspaceApp, remotes?: WorkspaceApp[]): string;
5
+ /**
6
+ * Generates the environment-specific primitive registry used by custom hosts.
7
+ * The browser/Node file contains native MF loaders. Cloudflare's `.worker.tsx`
8
+ * resolution selects the sibling registry, which contains only distributed
9
+ * service-binding boundaries and therefore cannot bundle remote UI source.
10
+ */
11
+ export declare function createFederatedComponentsRegistry(scope: string, host: WorkspaceApp, remotes: WorkspaceApp[], worker?: boolean): string;
4
12
  export declare function createRemotePage(app: WorkspaceApp): string;
5
13
  export declare function createLayout(appId: string): string;
6
14
  export declare function createRemoteEntry(app: WorkspaceApp): string;
7
- export declare function createRemoteWidget(app: WorkspaceApp): string;
15
+ export declare function createRemoteWidgetFragmentPage(app: WorkspaceApp): string;
16
+ export declare function createRemoteExposeFragmentPage(app: WorkspaceApp, expose: string): string;
8
17
  export declare function createRemoteExposeComponent(app: WorkspaceApp, expose: string): string;
9
18
  export declare function remoteComponentOutputPath(app: WorkspaceApp, expose: string): string | undefined;
19
+ export type GeneratedNavigationSurfaceKind = 'demo-component' | 'shell-frame';
20
+ export declare function regenerateGeneratedNavigationSurface(source: string, kind: GeneratedNavigationSurfaceKind): string;
@@ -1,17 +1,37 @@
1
- import type { Ownership, WorkspaceApi, WorkspaceApp } from './types';
1
+ import type { Ownership, VerticalApiProtocol, VerticalPreset, WorkspaceApi, WorkspaceApp } from './types';
2
2
  export declare const ULTRAMODERN_CONFIG_PATH = ".modernjs/ultramodern.json";
3
+ export declare function distributedSsrExposes(app: WorkspaceApp): string[];
4
+ export declare function distributedSsrFragmentSlug(expose: string): string;
5
+ export declare function distributedSsrFragmentRoute(expose: string): string;
3
6
  export declare const shellApp: WorkspaceApp;
4
- export declare function createShellHost(remotes?: WorkspaceApp[]): WorkspaceApp;
7
+ export declare function createShellHost(remotes?: WorkspaceApp[], verticalRefs?: string[]): WorkspaceApp;
5
8
  export declare const sharedPackages: {
6
9
  id: string;
7
10
  directory: string;
8
11
  description: string;
9
12
  }[];
10
13
  export declare function createNeutralOwnership(id: string, tier?: string): Ownership;
11
- export declare function createVerticalDescriptor(name: string, port: number): WorkspaceApp;
14
+ export type CreateVerticalDescriptorOptions = {
15
+ /** Generation preset (G2a). Defaults to `full-stack`. */
16
+ preset?: VerticalPreset;
17
+ /** API protocol (G7a). Defaults to `rest`. */
18
+ apiProtocol?: VerticalApiProtocol;
19
+ /** Generate a Horizontal Remote delivery unit (G2H) instead of a vertical. */
20
+ horizontalRemote?: boolean;
21
+ };
22
+ export declare function createVerticalDescriptor(name: string, port: number, options?: CreateVerticalDescriptorOptions): WorkspaceApp;
12
23
  export declare function appHasApi(app: WorkspaceApp): app is WorkspaceApp & {
13
24
  api: WorkspaceApi;
14
25
  };
26
+ /**
27
+ * Whether an app emits browser/UI artifacts (routes, page/layout, public-web
28
+ * surfaces, Tailwind, browser Module Federation). True for the shell and for
29
+ * `full-stack` / `ui-only` verticals; false only for an `api-only` (headless)
30
+ * vertical (G2a).
31
+ */
32
+ export declare function appEmitsBrowserUi(app: WorkspaceApp): boolean;
33
+ /** The API protocol for an app's API surface (G7a). Defaults to `rest`. */
34
+ export declare function resolveApiProtocol(app: WorkspaceApp): VerticalApiProtocol;
15
35
  export declare function resolveApiPrefix(target: {
16
36
  id: string;
17
37
  api?: WorkspaceApi;
@@ -27,6 +47,10 @@ export declare function remoteDependencyAlias(remote: WorkspaceApp): string;
27
47
  export declare function zephyrRemoteDependency(scope: string, remote: WorkspaceApp): string;
28
48
  export declare function resolveRemoteRefs(app: WorkspaceApp, remotes?: WorkspaceApp[]): WorkspaceApp[];
29
49
  export declare function createRemoteManifestEnv(remote: WorkspaceApp): string;
50
+ export declare function createBackendFederationManifestEnv(remote: WorkspaceApp): string;
51
+ export declare function createBackendFederationName(app: WorkspaceApp): string;
52
+ export declare function createBackendFederationManifestUrl(app: WorkspaceApp): string;
53
+ export declare function createBackendFederationContainerEntry(app: WorkspaceApp): string;
30
54
  export declare function createModuleFederationRemoteContracts(app: WorkspaceApp, remotes?: WorkspaceApp[]): {
31
55
  id: string;
32
56
  alias: string;
@@ -0,0 +1 @@
1
+ export declare const effectDiagnostics: string[];
@@ -1,19 +1,13 @@
1
1
  import type { JsonValue } from './types';
2
2
  export declare const createPackageRoot: string;
3
- export declare const workspaceTemplateDir: any;
4
- export declare const fileTemplatesDir: any;
3
+ export declare const workspaceTemplateDir: string;
5
4
  export declare function readFileTemplate(relativePath: string): string;
6
5
  export declare function renderFileTemplate(relativePath: string, data: Record<string, string>): string;
7
- export declare function assertSafeRelativePath(relativePath: string): void;
8
- export declare function ensureInsideRoot(root: string, targetPath: string): void;
9
6
  export declare function writeFile(targetDir: string, relativePath: string, content: string): void;
10
7
  export declare function writeFileReplacing(targetDir: string, relativePath: string, content: string): void;
11
8
  export declare function writeJson(targetDir: string, relativePath: string, value: JsonValue): void;
12
9
  export declare function formatGeneratedWorkspaceFiles(targetDir: string, relativePaths?: readonly string[]): void;
13
10
  export declare function renderTemplate(template: string, data: Record<string, string>): string;
14
- export declare function collectTemplateFiles(dir: string): string[];
15
- export declare function hashFile(filePath: string): string;
16
- export declare function hashTemplateTree(dir: string): string;
17
- export declare function copyRootTemplate(targetDir: string, data: Record<string, string>): void;
11
+ export declare function copyRootTemplate(targetDir: string, data: Record<string, string>, excludedRelativePaths?: ReadonlySet<string>): void;
18
12
  export declare function readJsonFile(filePath: string): Record<string, any>;
19
13
  export declare function writeJsonFile(filePath: string, value: JsonValue): void;
@@ -1,5 +1,6 @@
1
1
  import type { ResolvedPackageSource, UltramodernGenerationOperation, UltramodernGenerationResult, UltramodernGenerationWarning, WorkspaceApp } from './types';
2
- export type FileSnapshot = Map<string, string>;
2
+ export declare const ignoredSnapshotDirectories: Set<string>;
3
+ type FileSnapshot = Map<string, string>;
3
4
  export declare function createFileSnapshot(root: string): FileSnapshot;
4
5
  export declare function diffFileSnapshots(before: FileSnapshot, after: FileSnapshot): Pick<UltramodernGenerationResult, 'createdPaths' | 'rewrittenPaths'>;
5
6
  export declare function createGenerationResult(options: {
@@ -12,3 +13,4 @@ export declare function createGenerationResult(options: {
12
13
  rewrittenPaths: string[];
13
14
  warnings?: UltramodernGenerationWarning[];
14
15
  }): UltramodernGenerationResult;
16
+ export {};
@@ -1,6 +1,11 @@
1
+ export { addUltramodernShell, planUltramodernShell } from './add-shell';
1
2
  export { addUltramodernVertical, planUltramodernVertical, } from './add-vertical';
2
3
  export type { UltramodernBridgeConfig, UltramodernBridgeConfigInput, UltramodernBridgeGate, UltramodernBridgeGateInput, UltramodernBridgeLockfilePolicy, UltramodernBridgeTestAlias, UltramodernBridgeWorkspacePackage, UltramodernBridgeWorkspacePackageInput, UltramodernEnabledBridgeConfigInput, } from './bridge-config';
3
4
  export { normalizeUltramodernBridgeConfig } from './bridge-config';
4
- export type { AddUltramodernVerticalOptions, UltramodernCodeSmithOverlay, UltramodernCodeSmithOverlayRuntimeConfig, UltramodernGeneratedAppDescriptor, UltramodernGeneratedContractChange, UltramodernGenerationOperation, UltramodernGenerationResult, UltramodernGenerationWarning, UltramodernJsonMutation, UltramodernShellDependencyChange, UltramodernVerticalPlan, UltramodernWorkspaceOptions, } from './types';
5
+ export type { OverlayBaselineViolation } from './overlay-baseline-guard';
6
+ export { BASELINE_DEPENDENCY_PINS, OverlayBaselineRelaxationError, } from './overlay-baseline-guard';
7
+ export { SHARED_ULTRAMODERN_WORKSPACE_PATCH_FILES } from './shared-patches';
8
+ export { createShellDescriptor, PRIMARY_SHELL_ID, resolveConfiguredAdditionalShells, } from './shells';
9
+ export type { AddUltramodernShellOptions, AddUltramodernVerticalOptions, UltramodernCodeSmithOverlay, UltramodernCodeSmithOverlayRuntimeConfig, UltramodernGeneratedAppDescriptor, UltramodernGeneratedContractChange, UltramodernGenerationOperation, UltramodernGenerationResult, UltramodernGenerationWarning, UltramodernJsonMutation, UltramodernShellDependencyChange, UltramodernVerticalPlan, UltramodernWorkspaceOptions, } from './types';
5
10
  export { ultramodernWorkspaceVersions } from './versions';
6
11
  export { generateUltramodernWorkspace } from './write-workspace';