@bleedingdev/modern-js-ultramodern-create 3.9.0-ultramodern.2 → 3.9.0-ultramodern.21

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 (442) hide show
  1. package/README.md +43 -74
  2. package/dist/cjs/cli/package-source.cjs +2 -2
  3. package/dist/cjs/cli/project-setup.cjs +2 -22
  4. package/dist/cjs/index.cjs +9 -1
  5. package/dist/cjs/locale/en.cjs +2 -1
  6. package/dist/cjs/locale/zh.cjs +2 -1
  7. package/dist/cjs/ultramodern-package-source.cjs +13 -9
  8. package/dist/cjs/ultramodern-release-cohort.cjs +6 -21
  9. package/dist/cjs/ultramodern-tooling/commands/cloudflare-output-verify.cjs +49 -56
  10. package/dist/cjs/ultramodern-tooling/commands/context.cjs +11 -29
  11. package/dist/cjs/ultramodern-tooling/commands/routes-generate-app.cjs +67 -0
  12. package/dist/cjs/ultramodern-tooling/commands/routes-generate.cjs +24 -53
  13. package/dist/cjs/ultramodern-tooling/commands/validate.cjs +5 -11
  14. package/dist/cjs/ultramodern-tooling/commands.cjs +15 -8
  15. package/dist/cjs/ultramodern-tooling/config/index.cjs +10 -24
  16. package/dist/cjs/ultramodern-tooling/config/load.cjs +12 -10
  17. package/dist/cjs/ultramodern-tooling/config/metadata.cjs +34 -32
  18. package/dist/cjs/ultramodern-tooling/config/normalize.cjs +165 -164
  19. package/dist/cjs/ultramodern-workspace/add-shell.cjs +118 -118
  20. package/dist/cjs/ultramodern-workspace/add-vertical/execute.cjs +121 -25
  21. package/dist/cjs/ultramodern-workspace/add-vertical/plan.cjs +14 -160
  22. package/dist/cjs/ultramodern-workspace/add-vertical/preflight.cjs +16 -48
  23. package/dist/cjs/ultramodern-workspace/add-vertical/preview.cjs +78 -0
  24. package/dist/cjs/ultramodern-workspace/add-vertical/shell-files.cjs +87 -24
  25. package/dist/cjs/ultramodern-workspace/add-vertical/topology.cjs +4 -1
  26. package/dist/cjs/ultramodern-workspace/add-vertical/transaction.cjs +378 -45
  27. package/dist/cjs/ultramodern-workspace/add-vertical/workspace-state.cjs +21 -44
  28. package/dist/cjs/ultramodern-workspace/add-vertical.cjs +0 -9
  29. package/dist/cjs/ultramodern-workspace/api/client.cjs +5 -5
  30. package/dist/cjs/ultramodern-workspace/api/contracts.cjs +2 -2
  31. package/dist/cjs/ultramodern-workspace/api/rpc.cjs +20 -18
  32. package/dist/cjs/ultramodern-workspace/api/service.cjs +49 -24
  33. package/dist/cjs/ultramodern-workspace/api/shared.cjs +28 -18
  34. package/dist/cjs/ultramodern-workspace/app-files.cjs +3 -23
  35. package/dist/cjs/ultramodern-workspace/backend-federation.cjs +27 -27
  36. package/dist/cjs/ultramodern-workspace/contracts.cjs +14 -183
  37. package/dist/cjs/ultramodern-workspace/delivery-unit-schema/surfaces.cjs +85 -0
  38. package/dist/cjs/ultramodern-workspace/delivery-unit-schema/types.cjs +8 -85
  39. package/dist/cjs/ultramodern-workspace/delivery-unit-stamp.cjs +16 -4
  40. package/dist/cjs/ultramodern-workspace/delivery-unit-sync.cjs +27 -17
  41. package/dist/cjs/ultramodern-workspace/delivery-unit.cjs +16 -10
  42. package/dist/cjs/ultramodern-workspace/demo-components.cjs +66 -433
  43. package/dist/cjs/ultramodern-workspace/descriptors.cjs +0 -4
  44. package/dist/cjs/ultramodern-workspace/fs-io.cjs +37 -2
  45. package/dist/cjs/ultramodern-workspace/generation-result.cjs +4 -4
  46. package/dist/cjs/ultramodern-workspace/index.cjs +2 -5
  47. package/dist/cjs/ultramodern-workspace/mf-validation/constants.cjs +0 -6
  48. package/dist/cjs/ultramodern-workspace/mf-validation/discovery.cjs +6 -6
  49. package/dist/cjs/{ultramodern-tooling/commands/migrate-strict-effect/generated-patches.cjs → ultramodern-workspace/mf-validation/exposes.cjs} +13 -17
  50. package/dist/cjs/ultramodern-workspace/mf-validation/inspect.cjs +26 -7
  51. package/dist/cjs/ultramodern-workspace/mf-validation/object-literal.cjs +21 -122
  52. package/dist/cjs/ultramodern-workspace/mf-validation/path-utils.cjs +37 -38
  53. package/dist/cjs/ultramodern-workspace/mf-validation/syntax.cjs +93 -153
  54. package/dist/cjs/ultramodern-workspace/mf-validation.cjs +4 -0
  55. package/dist/cjs/ultramodern-workspace/module-federation/config.cjs +24 -29
  56. package/dist/cjs/ultramodern-workspace/module-federation/reexport-module.cjs +39 -58
  57. package/dist/cjs/ultramodern-workspace/module-federation/remote-refs.cjs +1 -43
  58. package/dist/cjs/ultramodern-workspace/package-json.cjs +63 -37
  59. package/dist/cjs/ultramodern-workspace/patch-inventory.cjs +104 -0
  60. package/dist/cjs/ultramodern-workspace/policy.cjs +3 -577
  61. package/dist/cjs/ultramodern-workspace/public-surface.cjs +3 -3
  62. package/dist/cjs/ultramodern-workspace/routes.cjs +2 -11
  63. package/dist/cjs/ultramodern-workspace/shared-patches.cjs +12 -2
  64. package/dist/cjs/ultramodern-workspace/shells.cjs +0 -70
  65. package/dist/cjs/ultramodern-workspace/tooling-command-catalog.cjs +27 -41
  66. package/dist/cjs/ultramodern-workspace/tsconfigs.cjs +8 -2
  67. package/dist/cjs/ultramodern-workspace/validation/architecture.cjs +397 -0
  68. package/dist/cjs/ultramodern-workspace/validation/assertions.cjs +140 -0
  69. package/dist/cjs/ultramodern-workspace/validation/types.cjs +18 -0
  70. package/dist/cjs/ultramodern-workspace/validation/workspace.cjs +344 -0
  71. package/dist/cjs/ultramodern-workspace/versions.cjs +81 -45
  72. package/dist/cjs/ultramodern-workspace/workspace-artifact-ownership.cjs +183 -0
  73. package/dist/cjs/ultramodern-workspace/workspace-script-plan.cjs +36 -25
  74. package/dist/cjs/ultramodern-workspace/workspace-scripts.cjs +11 -200
  75. package/dist/cjs/ultramodern-workspace/workspace-validation-contract.cjs +62 -373
  76. package/dist/cjs/ultramodern-workspace/write-app.cjs +19 -11
  77. package/dist/cjs/ultramodern-workspace/write-workspace.cjs +20 -50
  78. package/dist/cjs/ultramodern-workspace/zerops.cjs +2 -0
  79. package/dist/esm/cli/package-source.js +3 -3
  80. package/dist/esm/cli/project-setup.js +2 -22
  81. package/dist/esm/index.js +10 -2
  82. package/dist/esm/locale/en.js +2 -1
  83. package/dist/esm/locale/zh.js +2 -1
  84. package/dist/esm/ultramodern-package-source.js +14 -4
  85. package/dist/esm/ultramodern-release-cohort.js +5 -14
  86. package/dist/esm/ultramodern-tooling/commands/cloudflare-output-verify.js +49 -56
  87. package/dist/esm/ultramodern-tooling/commands/context.js +10 -26
  88. package/dist/esm/ultramodern-tooling/commands/routes-generate-app.js +35 -0
  89. package/dist/esm/ultramodern-tooling/commands/routes-generate.js +25 -54
  90. package/dist/esm/ultramodern-tooling/commands/validate.js +6 -12
  91. package/dist/esm/ultramodern-tooling/commands.js +15 -9
  92. package/dist/esm/ultramodern-tooling/config/index.js +0 -2
  93. package/dist/esm/ultramodern-tooling/config/load.js +9 -9
  94. package/dist/esm/ultramodern-tooling/config/metadata.js +33 -28
  95. package/dist/esm/ultramodern-tooling/config/normalize.js +159 -156
  96. package/dist/esm/ultramodern-workspace/add-shell.js +124 -123
  97. package/dist/esm/ultramodern-workspace/add-vertical/execute.js +119 -27
  98. package/dist/esm/ultramodern-workspace/add-vertical/plan.js +16 -150
  99. package/dist/esm/ultramodern-workspace/add-vertical/preflight.js +15 -47
  100. package/dist/esm/ultramodern-workspace/add-vertical/preview.js +40 -0
  101. package/dist/esm/ultramodern-workspace/add-vertical/shell-files.js +87 -25
  102. package/dist/esm/ultramodern-workspace/add-vertical/topology.js +4 -1
  103. package/dist/esm/ultramodern-workspace/add-vertical/transaction.js +373 -46
  104. package/dist/esm/ultramodern-workspace/add-vertical/workspace-state.js +17 -34
  105. package/dist/esm/ultramodern-workspace/add-vertical.js +1 -1
  106. package/dist/esm/ultramodern-workspace/api/client.js +5 -5
  107. package/dist/esm/ultramodern-workspace/api/contracts.js +2 -2
  108. package/dist/esm/ultramodern-workspace/api/rpc.js +20 -18
  109. package/dist/esm/ultramodern-workspace/api/service.js +49 -24
  110. package/dist/esm/ultramodern-workspace/api/shared.js +28 -18
  111. package/dist/esm/ultramodern-workspace/app-files.js +3 -23
  112. package/dist/esm/ultramodern-workspace/backend-federation.js +5 -5
  113. package/dist/esm/ultramodern-workspace/contracts.js +14 -180
  114. package/dist/esm/ultramodern-workspace/delivery-unit-schema/surfaces.js +41 -0
  115. package/dist/esm/ultramodern-workspace/delivery-unit-schema/types.js +1 -75
  116. package/dist/esm/ultramodern-workspace/delivery-unit-stamp.js +16 -4
  117. package/dist/esm/ultramodern-workspace/delivery-unit-sync.js +28 -18
  118. package/dist/esm/ultramodern-workspace/delivery-unit.js +12 -6
  119. package/dist/esm/ultramodern-workspace/demo-components.js +67 -428
  120. package/dist/esm/ultramodern-workspace/descriptors.js +1 -2
  121. package/dist/esm/ultramodern-workspace/fs-io.js +37 -2
  122. package/dist/esm/ultramodern-workspace/generation-result.js +3 -3
  123. package/dist/esm/ultramodern-workspace/index.js +1 -1
  124. package/dist/esm/ultramodern-workspace/mf-validation/constants.js +1 -4
  125. package/dist/esm/ultramodern-workspace/mf-validation/discovery.js +7 -7
  126. package/dist/esm/ultramodern-workspace/mf-validation/exposes.js +14 -0
  127. package/dist/esm/ultramodern-workspace/mf-validation/inspect.js +27 -8
  128. package/dist/esm/ultramodern-workspace/mf-validation/object-literal.js +22 -123
  129. package/dist/esm/ultramodern-workspace/mf-validation/path-utils.js +36 -34
  130. package/dist/esm/ultramodern-workspace/mf-validation/syntax.js +83 -143
  131. package/dist/esm/ultramodern-workspace/mf-validation.js +1 -0
  132. package/dist/esm/ultramodern-workspace/module-federation/config.js +25 -30
  133. package/dist/esm/ultramodern-workspace/module-federation/reexport-module.js +39 -58
  134. package/dist/esm/ultramodern-workspace/module-federation/remote-refs.js +1 -43
  135. package/dist/esm/ultramodern-workspace/package-json.js +58 -32
  136. package/dist/esm/ultramodern-workspace/patch-inventory.js +66 -0
  137. package/dist/esm/ultramodern-workspace/policy.js +2 -564
  138. package/dist/esm/ultramodern-workspace/public-surface.js +3 -3
  139. package/dist/esm/ultramodern-workspace/routes.js +2 -11
  140. package/dist/esm/ultramodern-workspace/shared-patches.js +2 -2
  141. package/dist/esm/ultramodern-workspace/shells.js +3 -67
  142. package/dist/esm/ultramodern-workspace/tooling-command-catalog.js +22 -37
  143. package/dist/esm/ultramodern-workspace/tsconfigs.js +9 -3
  144. package/dist/esm/ultramodern-workspace/validation/architecture.js +348 -0
  145. package/dist/esm/ultramodern-workspace/validation/assertions.js +65 -0
  146. package/dist/esm/ultramodern-workspace/validation/types.js +0 -0
  147. package/dist/esm/ultramodern-workspace/validation/workspace.js +286 -0
  148. package/dist/esm/ultramodern-workspace/versions.js +74 -29
  149. package/dist/esm/ultramodern-workspace/workspace-artifact-ownership.js +128 -0
  150. package/dist/esm/ultramodern-workspace/workspace-script-plan.js +35 -27
  151. package/dist/esm/ultramodern-workspace/workspace-scripts.js +10 -190
  152. package/dist/esm/ultramodern-workspace/workspace-validation-contract.js +65 -376
  153. package/dist/esm/ultramodern-workspace/write-app.js +18 -10
  154. package/dist/esm/ultramodern-workspace/write-workspace.js +25 -52
  155. package/dist/esm/ultramodern-workspace/zerops.js +2 -0
  156. package/dist/esm-node/cli/package-source.js +3 -3
  157. package/dist/esm-node/cli/project-setup.js +2 -22
  158. package/dist/esm-node/index.js +10 -2
  159. package/dist/esm-node/locale/en.js +2 -1
  160. package/dist/esm-node/locale/zh.js +2 -1
  161. package/dist/esm-node/ultramodern-package-source.js +14 -4
  162. package/dist/esm-node/ultramodern-release-cohort.js +5 -14
  163. package/dist/esm-node/ultramodern-tooling/commands/cloudflare-output-verify.js +49 -56
  164. package/dist/esm-node/ultramodern-tooling/commands/context.js +10 -26
  165. package/dist/esm-node/ultramodern-tooling/commands/routes-generate-app.js +36 -0
  166. package/dist/esm-node/ultramodern-tooling/commands/routes-generate.js +25 -54
  167. package/dist/esm-node/ultramodern-tooling/commands/validate.js +6 -12
  168. package/dist/esm-node/ultramodern-tooling/commands.js +15 -9
  169. package/dist/esm-node/ultramodern-tooling/config/index.js +0 -2
  170. package/dist/esm-node/ultramodern-tooling/config/load.js +9 -9
  171. package/dist/esm-node/ultramodern-tooling/config/metadata.js +33 -28
  172. package/dist/esm-node/ultramodern-tooling/config/normalize.js +159 -156
  173. package/dist/esm-node/ultramodern-workspace/add-shell.js +124 -123
  174. package/dist/esm-node/ultramodern-workspace/add-vertical/execute.js +119 -27
  175. package/dist/esm-node/ultramodern-workspace/add-vertical/plan.js +16 -150
  176. package/dist/esm-node/ultramodern-workspace/add-vertical/preflight.js +15 -47
  177. package/dist/esm-node/ultramodern-workspace/add-vertical/preview.js +41 -0
  178. package/dist/esm-node/ultramodern-workspace/add-vertical/shell-files.js +87 -25
  179. package/dist/esm-node/ultramodern-workspace/add-vertical/topology.js +4 -1
  180. package/dist/esm-node/ultramodern-workspace/add-vertical/transaction.js +373 -46
  181. package/dist/esm-node/ultramodern-workspace/add-vertical/workspace-state.js +17 -34
  182. package/dist/esm-node/ultramodern-workspace/add-vertical.js +1 -1
  183. package/dist/esm-node/ultramodern-workspace/api/client.js +5 -5
  184. package/dist/esm-node/ultramodern-workspace/api/contracts.js +2 -2
  185. package/dist/esm-node/ultramodern-workspace/api/rpc.js +20 -18
  186. package/dist/esm-node/ultramodern-workspace/api/service.js +49 -24
  187. package/dist/esm-node/ultramodern-workspace/api/shared.js +28 -18
  188. package/dist/esm-node/ultramodern-workspace/app-files.js +3 -23
  189. package/dist/esm-node/ultramodern-workspace/backend-federation.js +5 -5
  190. package/dist/esm-node/ultramodern-workspace/contracts.js +14 -180
  191. package/dist/esm-node/ultramodern-workspace/delivery-unit-schema/surfaces.js +42 -0
  192. package/dist/esm-node/ultramodern-workspace/delivery-unit-schema/types.js +1 -75
  193. package/dist/esm-node/ultramodern-workspace/delivery-unit-stamp.js +16 -4
  194. package/dist/esm-node/ultramodern-workspace/delivery-unit-sync.js +28 -18
  195. package/dist/esm-node/ultramodern-workspace/delivery-unit.js +12 -6
  196. package/dist/esm-node/ultramodern-workspace/demo-components.js +67 -428
  197. package/dist/esm-node/ultramodern-workspace/descriptors.js +1 -2
  198. package/dist/esm-node/ultramodern-workspace/fs-io.js +37 -2
  199. package/dist/esm-node/ultramodern-workspace/generation-result.js +3 -3
  200. package/dist/esm-node/ultramodern-workspace/index.js +1 -1
  201. package/dist/esm-node/ultramodern-workspace/mf-validation/constants.js +1 -4
  202. package/dist/esm-node/ultramodern-workspace/mf-validation/discovery.js +7 -7
  203. package/dist/esm-node/ultramodern-workspace/mf-validation/exposes.js +15 -0
  204. package/dist/esm-node/ultramodern-workspace/mf-validation/inspect.js +27 -8
  205. package/dist/esm-node/ultramodern-workspace/mf-validation/object-literal.js +22 -123
  206. package/dist/esm-node/ultramodern-workspace/mf-validation/path-utils.js +36 -34
  207. package/dist/esm-node/ultramodern-workspace/mf-validation/syntax.js +83 -143
  208. package/dist/esm-node/ultramodern-workspace/mf-validation.js +1 -0
  209. package/dist/esm-node/ultramodern-workspace/module-federation/config.js +25 -30
  210. package/dist/esm-node/ultramodern-workspace/module-federation/reexport-module.js +39 -58
  211. package/dist/esm-node/ultramodern-workspace/module-federation/remote-refs.js +1 -43
  212. package/dist/esm-node/ultramodern-workspace/package-json.js +58 -32
  213. package/dist/esm-node/ultramodern-workspace/patch-inventory.js +67 -0
  214. package/dist/esm-node/ultramodern-workspace/policy.js +2 -564
  215. package/dist/esm-node/ultramodern-workspace/public-surface.js +3 -3
  216. package/dist/esm-node/ultramodern-workspace/routes.js +2 -11
  217. package/dist/esm-node/ultramodern-workspace/shared-patches.js +2 -2
  218. package/dist/esm-node/ultramodern-workspace/shells.js +3 -67
  219. package/dist/esm-node/ultramodern-workspace/tooling-command-catalog.js +22 -37
  220. package/dist/esm-node/ultramodern-workspace/tsconfigs.js +9 -3
  221. package/dist/esm-node/ultramodern-workspace/validation/architecture.js +349 -0
  222. package/dist/esm-node/ultramodern-workspace/validation/assertions.js +66 -0
  223. package/dist/esm-node/ultramodern-workspace/validation/types.js +1 -0
  224. package/dist/esm-node/ultramodern-workspace/validation/workspace.js +287 -0
  225. package/dist/esm-node/ultramodern-workspace/versions.js +74 -29
  226. package/dist/esm-node/ultramodern-workspace/workspace-artifact-ownership.js +129 -0
  227. package/dist/esm-node/ultramodern-workspace/workspace-script-plan.js +35 -27
  228. package/dist/esm-node/ultramodern-workspace/workspace-scripts.js +10 -190
  229. package/dist/esm-node/ultramodern-workspace/workspace-validation-contract.js +65 -376
  230. package/dist/esm-node/ultramodern-workspace/write-app.js +18 -10
  231. package/dist/esm-node/ultramodern-workspace/write-workspace.js +25 -52
  232. package/dist/esm-node/ultramodern-workspace/zerops.js +2 -0
  233. package/dist/types/cli/project-setup.d.ts +1 -1
  234. package/dist/types/locale/en.d.ts +1 -0
  235. package/dist/types/locale/index.d.ts +2 -0
  236. package/dist/types/locale/zh.d.ts +1 -0
  237. package/dist/types/ultramodern-package-source.d.ts +2 -4
  238. package/dist/types/ultramodern-release-cohort.d.ts +1 -3
  239. package/dist/types/ultramodern-tooling/commands/cloudflare-output-verify.d.ts +2 -2
  240. package/dist/types/ultramodern-tooling/commands/context.d.ts +4 -1
  241. package/dist/types/ultramodern-tooling/commands/routes-generate-app.d.ts +1 -0
  242. package/dist/types/ultramodern-tooling/commands/routes-generate.d.ts +1 -1
  243. package/dist/types/ultramodern-tooling/commands/validate.d.ts +1 -1
  244. package/dist/types/ultramodern-tooling/config/index.d.ts +0 -2
  245. package/dist/types/ultramodern-tooling/config/load.d.ts +10 -2
  246. package/dist/types/ultramodern-tooling/config/metadata.d.ts +2 -2
  247. package/dist/types/ultramodern-tooling/config/normalize.d.ts +19 -19
  248. package/dist/types/ultramodern-tooling/config/types.d.ts +2 -9
  249. package/dist/types/ultramodern-workspace/add-shell.d.ts +1 -1
  250. package/dist/types/ultramodern-workspace/add-vertical/execute.d.ts +1 -0
  251. package/dist/types/ultramodern-workspace/add-vertical/preflight.d.ts +4 -3
  252. package/dist/types/ultramodern-workspace/add-vertical/preview.d.ts +4 -0
  253. package/dist/types/ultramodern-workspace/add-vertical/shell-files.d.ts +7 -2
  254. package/dist/types/ultramodern-workspace/add-vertical/transaction.d.ts +32 -6
  255. package/dist/types/ultramodern-workspace/add-vertical/workspace-state.d.ts +10 -7
  256. package/dist/types/ultramodern-workspace/add-vertical.d.ts +1 -1
  257. package/dist/types/ultramodern-workspace/api/client.d.ts +3 -1
  258. package/dist/types/ultramodern-workspace/api/rpc.d.ts +1 -1
  259. package/dist/types/ultramodern-workspace/api/service.d.ts +3 -1
  260. package/dist/types/ultramodern-workspace/api/shared.d.ts +2 -0
  261. package/dist/types/ultramodern-workspace/backend-federation.d.ts +1 -1
  262. package/dist/types/ultramodern-workspace/contracts.d.ts +1 -3
  263. package/dist/types/ultramodern-workspace/delivery-unit-schema/surfaces.d.ts +17 -0
  264. package/dist/types/ultramodern-workspace/delivery-unit-schema/types.d.ts +3 -68
  265. package/dist/types/ultramodern-workspace/delivery-unit-stamp.d.ts +2 -2
  266. package/dist/types/ultramodern-workspace/delivery-unit.d.ts +3 -3
  267. package/dist/types/ultramodern-workspace/demo-components.d.ts +0 -3
  268. package/dist/types/ultramodern-workspace/descriptors.d.ts +0 -1
  269. package/dist/types/ultramodern-workspace/fs-io.d.ts +1 -1
  270. package/dist/types/ultramodern-workspace/index.d.ts +1 -1
  271. package/dist/types/ultramodern-workspace/mf-validation/constants.d.ts +0 -1
  272. package/dist/types/ultramodern-workspace/mf-validation/exposes.d.ts +11 -0
  273. package/dist/types/ultramodern-workspace/mf-validation/path-utils.d.ts +2 -3
  274. package/dist/types/ultramodern-workspace/mf-validation/syntax.d.ts +4 -3
  275. package/dist/types/ultramodern-workspace/mf-validation/types.d.ts +1 -0
  276. package/dist/types/ultramodern-workspace/mf-validation.d.ts +1 -0
  277. package/dist/types/ultramodern-workspace/module-federation/config.d.ts +1 -1
  278. package/dist/types/ultramodern-workspace/module-federation/reexport-module.d.ts +2 -2
  279. package/dist/types/ultramodern-workspace/package-json.d.ts +1 -1
  280. package/dist/types/ultramodern-workspace/patch-inventory.d.ts +10 -0
  281. package/dist/types/ultramodern-workspace/policy.d.ts +31 -209
  282. package/dist/types/ultramodern-workspace/routes.d.ts +6 -1
  283. package/dist/types/ultramodern-workspace/shells.d.ts +2 -15
  284. package/dist/types/ultramodern-workspace/tooling-command-catalog.d.ts +8 -7
  285. package/dist/types/ultramodern-workspace/types.d.ts +9 -9
  286. package/dist/types/ultramodern-workspace/validation/architecture.d.ts +2 -0
  287. package/dist/types/ultramodern-workspace/validation/assertions.d.ts +14 -0
  288. package/dist/types/ultramodern-workspace/validation/types.d.ts +9 -0
  289. package/dist/types/ultramodern-workspace/validation/workspace.d.ts +6 -0
  290. package/dist/types/ultramodern-workspace/versions.d.ts +73 -28
  291. package/dist/types/ultramodern-workspace/workspace-artifact-ownership.d.ts +18 -0
  292. package/dist/types/ultramodern-workspace/workspace-script-plan.d.ts +4 -5
  293. package/dist/types/ultramodern-workspace/workspace-scripts.d.ts +8 -13
  294. package/dist/types/ultramodern-workspace/workspace-validation-contract.d.ts +22 -188
  295. package/dist/types/ultramodern-workspace/write-workspace.d.ts +1 -3
  296. package/package.json +18 -11
  297. package/{template-workspace/.modernjs/release-cohort.json → release-cohort.json} +88 -40
  298. package/template-workspace/.codex/skills/rspack-tracing/scripts/analyze_trace.js +1 -1
  299. package/template-workspace/README.md.handlebars +20 -35
  300. package/template-workspace/oxfmt.config.ts +3 -0
  301. package/template-workspace/pnpm-workspace.yaml.handlebars +0 -24
  302. package/template-workspace/scripts/bootstrap-agent-skills.mjs +4 -4
  303. package/templates/packages/shared-contracts-index.ts +4 -332
  304. package/templates/workspace/apps/modern.config.shared-module-federation.ts.handlebars +10 -0
  305. package/templates/workspace/apps/modern.config.ts.handlebars +13 -27
  306. package/templates/workspace/apps/shared/src/routes/ultramodern-route-metadata.ts.handlebars +21 -11
  307. package/templates/workspace/apps/shell-super-app/src/routes/[lang]/page.tsx.handlebars +20 -20
  308. package/templates/workspace/apps/shell-super-app/src/routes/vertical-components.helpers.tsx.handlebars +4 -6
  309. package/templates/workspace/apps/shell-super-app/src/routes/vertical-components.imports.tsx.handlebars +2 -2
  310. package/templates/workspace/apps/shell-super-app/src/routes/vertical-components.tsx.handlebars +11 -11
  311. package/templates/workspace/apps/shell-super-app/src/routes/vertical-components.worker.helpers.tsx.handlebars +1 -1
  312. package/templates/workspace/apps/shell-super-app/src/routes/vertical-components.worker.imports.tsx.handlebars +1 -1
  313. package/templates/workspace-scripts/generate-node-backend-federation.mjs +68 -77
  314. package/templates/workspace-scripts/generate-public-surface-assets.mjs +107 -207
  315. package/templates/workspace-scripts/materialize-zerops-runtime.mjs +12 -19
  316. package/templates/workspace-scripts/proof-cloudflare-version.mjs +53 -444
  317. package/templates/workspace-scripts/proof-node-backend-federation.mjs +212 -91
  318. package/templates/workspace-scripts/{proof-workerd-ssr.mts → proof-workerd-ssr.mjs} +434 -239
  319. package/templates/workspace-scripts/ultramodern-cloudflare-proof.mjs +25 -7
  320. package/templates/workspace-scripts/ultramodern-performance-readiness.mjs +45 -147
  321. package/templates/workspace-scripts/ultramodern-typecheck.mjs +1 -1
  322. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/api-metadata.cjs +0 -212
  323. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/declaration-patches.cjs +0 -47
  324. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/dependency-usage.cjs +0 -112
  325. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-backend-federation.cjs +0 -55
  326. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-build-identity.cjs +0 -102
  327. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-modern-configs.cjs +0 -195
  328. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-oxfmt.cjs +0 -146
  329. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-oxlint.cjs +0 -110
  330. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-removal.cjs +0 -67
  331. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-typescript.cjs +0 -307
  332. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-zerops.cjs +0 -58
  333. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts.cjs +0 -71
  334. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/generated-ui-source.cjs +0 -151
  335. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/help.cjs +0 -67
  336. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/install.cjs +0 -52
  337. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/io.cjs +0 -447
  338. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/package-cohort.cjs +0 -323
  339. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/package-source.cjs +0 -87
  340. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/pnpm-policy.cjs +0 -612
  341. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/pnpm-yaml.cjs +0 -376
  342. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/policy-constants.cjs +0 -73
  343. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/react-router-retirement.cjs +0 -215
  344. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect/toolchain-pins.cjs +0 -135
  345. package/dist/cjs/ultramodern-tooling/commands/migrate-strict-effect.cjs +0 -454
  346. package/dist/cjs/ultramodern-tooling/config/constants.cjs +0 -48
  347. package/dist/cjs/ultramodern-tooling/config/synthesize.cjs +0 -157
  348. package/dist/cjs/ultramodern-workspace/delivery-unit-schema/up-projection.cjs +0 -188
  349. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/api-metadata.js +0 -154
  350. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/declaration-patches.js +0 -9
  351. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/dependency-usage.js +0 -63
  352. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-backend-federation.js +0 -7
  353. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-build-identity.js +0 -47
  354. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-modern-configs.js +0 -146
  355. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-oxfmt.js +0 -97
  356. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-oxlint.js +0 -61
  357. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-removal.js +0 -16
  358. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-typescript.js +0 -258
  359. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-zerops.js +0 -10
  360. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts.js +0 -8
  361. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/generated-patches.js +0 -15
  362. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/generated-ui-source.js +0 -100
  363. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/help.js +0 -29
  364. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/install.js +0 -14
  365. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/io.js +0 -385
  366. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/package-cohort.js +0 -276
  367. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/package-source.js +0 -49
  368. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/pnpm-policy.js +0 -559
  369. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/pnpm-yaml.js +0 -329
  370. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/policy-constants.js +0 -19
  371. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/react-router-retirement.js +0 -148
  372. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect/toolchain-pins.js +0 -80
  373. package/dist/esm/ultramodern-tooling/commands/migrate-strict-effect.js +0 -405
  374. package/dist/esm/ultramodern-tooling/config/constants.js +0 -4
  375. package/dist/esm/ultramodern-tooling/config/synthesize.js +0 -108
  376. package/dist/esm/ultramodern-workspace/delivery-unit-schema/up-projection.js +0 -129
  377. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/api-metadata.js +0 -155
  378. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/declaration-patches.js +0 -10
  379. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/dependency-usage.js +0 -64
  380. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-backend-federation.js +0 -8
  381. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-build-identity.js +0 -48
  382. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-modern-configs.js +0 -147
  383. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-oxfmt.js +0 -98
  384. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-oxlint.js +0 -62
  385. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-removal.js +0 -17
  386. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-typescript.js +0 -259
  387. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-zerops.js +0 -11
  388. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts.js +0 -9
  389. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/generated-patches.js +0 -16
  390. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/generated-ui-source.js +0 -101
  391. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/help.js +0 -30
  392. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/install.js +0 -15
  393. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/io.js +0 -386
  394. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/package-cohort.js +0 -277
  395. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/package-source.js +0 -50
  396. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/pnpm-policy.js +0 -560
  397. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/pnpm-yaml.js +0 -330
  398. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/policy-constants.js +0 -20
  399. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/react-router-retirement.js +0 -149
  400. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect/toolchain-pins.js +0 -81
  401. package/dist/esm-node/ultramodern-tooling/commands/migrate-strict-effect.js +0 -406
  402. package/dist/esm-node/ultramodern-tooling/config/constants.js +0 -5
  403. package/dist/esm-node/ultramodern-tooling/config/synthesize.js +0 -109
  404. package/dist/esm-node/ultramodern-workspace/delivery-unit-schema/up-projection.js +0 -130
  405. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/api-metadata.d.ts +0 -12
  406. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/declaration-patches.d.ts +0 -4
  407. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/dependency-usage.d.ts +0 -1
  408. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-backend-federation.d.ts +0 -3
  409. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-build-identity.d.ts +0 -5
  410. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-modern-configs.d.ts +0 -3
  411. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-oxfmt.d.ts +0 -2
  412. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-oxlint.d.ts +0 -2
  413. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-removal.d.ts +0 -4
  414. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-typescript.d.ts +0 -3
  415. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts-zerops.d.ts +0 -3
  416. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/generated-artifacts.d.ts +0 -8
  417. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/generated-patches.d.ts +0 -3
  418. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/generated-ui-source.d.ts +0 -3
  419. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/help.d.ts +0 -1
  420. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/install.d.ts +0 -2
  421. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/io.d.ts +0 -26
  422. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/package-cohort.d.ts +0 -25
  423. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/package-source.d.ts +0 -3
  424. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/pnpm-policy.d.ts +0 -26
  425. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/pnpm-yaml.d.ts +0 -26
  426. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/policy-constants.d.ts +0 -6
  427. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/react-router-retirement.d.ts +0 -37
  428. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect/toolchain-pins.d.ts +0 -4
  429. package/dist/types/ultramodern-tooling/commands/migrate-strict-effect.d.ts +0 -2
  430. package/dist/types/ultramodern-tooling/config/constants.d.ts +0 -3
  431. package/dist/types/ultramodern-tooling/config/synthesize.d.ts +0 -5
  432. package/dist/types/ultramodern-workspace/delivery-unit-schema/up-projection.d.ts +0 -189
  433. package/template-workspace/patches/@module-federation__bridge-react@2.9.0.patch +0 -47
  434. package/template-workspace/patches/@module-federation__dts-plugin@2.9.0.patch +0 -26
  435. package/template-workspace/patches/@module-federation__modern-js-v3@2.9.0.patch +0 -268
  436. package/template-workspace/patches/@module-federation__runtime-core@2.9.0.patch +0 -13
  437. package/template-workspace/patches/drizzle-orm-ts7-strict-declarations.patch +0 -471
  438. package/template-workspace/patches/msgpackr@2.1.0.patch +0 -30
  439. package/template-workspace/patches/zod@4.5.4.patch +0 -56
  440. package/templates/workspace-scripts/check-ultramodern-api-boundaries.mts +0 -779
  441. package/templates/workspace-scripts/check-ultramodern-i18n-boundaries.mts +0 -9
  442. package/templates/workspace-scripts/validate-ultramodern-workspace.mjs.handlebars +0 -4109
@@ -41,57 +41,43 @@ __webpack_require__.d(__webpack_exports__, {
41
41
  assertGlobalPortUniqueness: ()=>assertGlobalPortUniqueness,
42
42
  assertValidVerticalName: ()=>assertValidVerticalName,
43
43
  configuredDevelopmentPorts: ()=>configuredDevelopmentPorts,
44
- existingBridgeConfig: ()=>existingBridgeConfig,
45
- existingPackageSource: ()=>existingPackageSource,
46
- existingTailwindEnabled: ()=>existingTailwindEnabled,
47
- nextAvailablePort: ()=>nextAvailablePort
44
+ nextAvailablePort: ()=>nextAvailablePort,
45
+ workspaceOperationSettings: ()=>workspaceOperationSettings
48
46
  });
49
47
  const external_node_fs_namespaceObject = require("node:fs");
50
48
  var external_node_fs_default = /*#__PURE__*/ __webpack_require__.n(external_node_fs_namespaceObject);
51
49
  const external_node_path_namespaceObject = require("node:path");
52
50
  var external_node_path_default = /*#__PURE__*/ __webpack_require__.n(external_node_path_namespaceObject);
53
- const config_cjs_namespaceObject = require("../../ultramodern-tooling/config.cjs");
54
- const external_descriptors_cjs_namespaceObject = require("../descriptors.cjs");
55
51
  const external_naming_cjs_namespaceObject = require("../naming.cjs");
56
52
  const external_package_source_cjs_namespaceObject = require("../package-source.cjs");
57
53
  const external_constants_cjs_namespaceObject = require("./constants.cjs");
58
- function existingPackageSource(workspaceRoot, modernVersion, packageSource) {
59
- if (packageSource) return (0, external_package_source_cjs_namespaceObject.resolvePackageSource)({
60
- targetDir: workspaceRoot,
61
- packageName: external_node_path_default().basename(workspaceRoot),
62
- modernVersion,
63
- packageSource
64
- });
65
- const compactPath = external_node_path_default().join(workspaceRoot, external_descriptors_cjs_namespaceObject.ULTRAMODERN_CONFIG_PATH);
66
- if (external_node_fs_default().existsSync(compactPath)) {
67
- const compactConfig = (0, config_cjs_namespaceObject.readUltramodernConfig)(workspaceRoot);
68
- if (compactConfig.packageSource) return compactConfig.packageSource;
69
- }
70
- throw new Error(`Missing UltraModern workspace file: ${compactPath}`);
71
- }
72
- function existingTailwindEnabled(workspaceRoot) {
73
- const compactPath = external_node_path_default().join(workspaceRoot, external_descriptors_cjs_namespaceObject.ULTRAMODERN_CONFIG_PATH);
74
- if (external_node_fs_default().existsSync(compactPath)) return (0, config_cjs_namespaceObject.readUltramodernConfig)(workspaceRoot).features.tailwind;
75
- throw new Error(`Missing UltraModern workspace file: ${compactPath}`);
76
- }
77
- function existingBridgeConfig(workspaceRoot) {
78
- const compactPath = external_node_path_default().join(workspaceRoot, external_descriptors_cjs_namespaceObject.ULTRAMODERN_CONFIG_PATH);
79
- return external_node_fs_default().existsSync(compactPath) ? (0, config_cjs_namespaceObject.readUltramodernConfig)(workspaceRoot).bridge : void 0;
54
+ function workspaceOperationSettings(options, config) {
55
+ const packageSource = options.packageSource ? (0, external_package_source_cjs_namespaceObject.resolvePackageSource)({
56
+ targetDir: options.workspaceRoot,
57
+ packageName: external_node_path_default().basename(options.workspaceRoot),
58
+ modernVersion: options.modernVersion,
59
+ packageSource: options.packageSource
60
+ }) : config.packageSource;
61
+ if (!packageSource) throw new Error(`Missing UltraModern package source in workspace manifests: ${options.workspaceRoot}`);
62
+ return {
63
+ packageSource,
64
+ enableTailwind: options.enableTailwind ?? config.features.tailwind,
65
+ bridge: void 0
66
+ };
80
67
  }
81
68
  function assertValidVerticalName(name) {
82
69
  const normalized = (0, external_naming_cjs_namespaceObject.toKebabCase)(name);
83
70
  if (!normalized || normalized !== name) throw new Error(`Invalid Vertical name "${name}". Use lowercase kebab-case.`);
84
71
  return normalized;
85
72
  }
86
- function configuredDevelopmentPorts(ports, additionalShells = []) {
73
+ function configuredDevelopmentPorts(ports, _additionalShells = []) {
87
74
  return [
88
75
  ...new Set([
89
- ...Object.values(ports),
90
- ...additionalShells.map((shell)=>shell.port)
76
+ ...Object.values(ports)
91
77
  ].filter((value)=>'number' == typeof value && Number.isFinite(value)))
92
78
  ];
93
79
  }
94
- function assertGlobalPortUniqueness(ports, additionalShells = []) {
80
+ function assertGlobalPortUniqueness(ports, _additionalShells = []) {
95
81
  const owners = new Map();
96
82
  for (const [id, value] of Object.entries(ports)){
97
83
  if ('number' != typeof value || !Number.isFinite(value)) continue;
@@ -99,11 +85,6 @@ function assertGlobalPortUniqueness(ports, additionalShells = []) {
99
85
  if (previous) throw new Error(`Duplicate development port "${value}" for ${previous} and ${id}.`);
100
86
  owners.set(value, id);
101
87
  }
102
- for (const shell of additionalShells){
103
- const previous = owners.get(shell.port);
104
- if (previous) throw new Error(`Duplicate development port "${shell.port}" for ${previous} and ${shell.id}.`);
105
- owners.set(shell.port, shell.id);
106
- }
107
88
  }
108
89
  function nextAvailablePort(ports, additionalShells = [], minimumPort = external_constants_cjs_namespaceObject.FIRST_VERTICAL_PORT) {
109
90
  const used = new Set(configuredDevelopmentPorts(ports, additionalShells));
@@ -118,19 +99,15 @@ exports.assertCanCreate = __webpack_exports__.assertCanCreate;
118
99
  exports.assertGlobalPortUniqueness = __webpack_exports__.assertGlobalPortUniqueness;
119
100
  exports.assertValidVerticalName = __webpack_exports__.assertValidVerticalName;
120
101
  exports.configuredDevelopmentPorts = __webpack_exports__.configuredDevelopmentPorts;
121
- exports.existingBridgeConfig = __webpack_exports__.existingBridgeConfig;
122
- exports.existingPackageSource = __webpack_exports__.existingPackageSource;
123
- exports.existingTailwindEnabled = __webpack_exports__.existingTailwindEnabled;
124
102
  exports.nextAvailablePort = __webpack_exports__.nextAvailablePort;
103
+ exports.workspaceOperationSettings = __webpack_exports__.workspaceOperationSettings;
125
104
  for(var __rspack_i in __webpack_exports__)if (-1 === [
126
105
  "assertCanCreate",
127
106
  "assertGlobalPortUniqueness",
128
107
  "assertValidVerticalName",
129
108
  "configuredDevelopmentPorts",
130
- "existingBridgeConfig",
131
- "existingPackageSource",
132
- "existingTailwindEnabled",
133
- "nextAvailablePort"
109
+ "nextAvailablePort",
110
+ "workspaceOperationSettings"
134
111
  ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
135
112
  Object.defineProperty(exports, '__esModule', {
136
113
  value: true
@@ -31,9 +31,6 @@ __webpack_require__.d(__webpack_exports__, {
31
31
  addUltramodernVertical: ()=>execute_cjs_namespaceObject.addUltramodernVertical,
32
32
  assertCanCreate: ()=>workspace_state_cjs_namespaceObject.assertCanCreate,
33
33
  assertValidVerticalName: ()=>workspace_state_cjs_namespaceObject.assertValidVerticalName,
34
- existingBridgeConfig: ()=>workspace_state_cjs_namespaceObject.existingBridgeConfig,
35
- existingPackageSource: ()=>workspace_state_cjs_namespaceObject.existingPackageSource,
36
- existingTailwindEnabled: ()=>workspace_state_cjs_namespaceObject.existingTailwindEnabled,
37
34
  nextAvailablePort: ()=>workspace_state_cjs_namespaceObject.nextAvailablePort,
38
35
  ownershipEntry: ()=>topology_cjs_namespaceObject.ownershipEntry,
39
36
  planUltramodernVertical: ()=>plan_cjs_namespaceObject.planUltramodernVertical,
@@ -52,9 +49,6 @@ const workspace_state_cjs_namespaceObject = require("./add-vertical/workspace-st
52
49
  exports.addUltramodernVertical = __webpack_exports__.addUltramodernVertical;
53
50
  exports.assertCanCreate = __webpack_exports__.assertCanCreate;
54
51
  exports.assertValidVerticalName = __webpack_exports__.assertValidVerticalName;
55
- exports.existingBridgeConfig = __webpack_exports__.existingBridgeConfig;
56
- exports.existingPackageSource = __webpack_exports__.existingPackageSource;
57
- exports.existingTailwindEnabled = __webpack_exports__.existingTailwindEnabled;
58
52
  exports.nextAvailablePort = __webpack_exports__.nextAvailablePort;
59
53
  exports.ownershipEntry = __webpack_exports__.ownershipEntry;
60
54
  exports.planUltramodernVertical = __webpack_exports__.planUltramodernVertical;
@@ -67,9 +61,6 @@ for(var __rspack_i in __webpack_exports__)if (-1 === [
67
61
  "addUltramodernVertical",
68
62
  "assertCanCreate",
69
63
  "assertValidVerticalName",
70
- "existingBridgeConfig",
71
- "existingPackageSource",
72
- "existingTailwindEnabled",
73
64
  "nextAvailablePort",
74
65
  "ownershipEntry",
75
66
  "planUltramodernVertical",
@@ -35,7 +35,7 @@ const external_descriptors_cjs_namespaceObject = require("../descriptors.cjs");
35
35
  const external_naming_cjs_namespaceObject = require("../naming.cjs");
36
36
  const external_checkout_cart_cjs_namespaceObject = require("./checkout-cart.cjs");
37
37
  const external_names_cjs_namespaceObject = require("./names.cjs");
38
- function createApiClient(service, contractImportPath) {
38
+ function createApiClient(service, contractImportPath, options) {
39
39
  const apiExport = (0, external_names_cjs_namespaceObject.verticalApiExport)(service);
40
40
  const contractExport = (0, external_names_cjs_namespaceObject.verticalApiGroupName)(service);
41
41
  const stem = (0, external_descriptors_cjs_namespaceObject.resolveApiStem)(service);
@@ -59,14 +59,14 @@ function createApiClient(service, contractImportPath) {
59
59
  return `import {
60
60
  Effect,
61
61
  makeEffectHttpApiClient,
62
- } from '@modern-js/plugin-bff/effect-client';
62
+ } from '@modern-js/bff-effect/effect-client';
63
63
  import type {
64
64
  HttpClientError,
65
65
  HttpApi,
66
66
  HttpApiClient,
67
67
  HttpApiGroup,
68
68
  Schema,
69
- } from '@modern-js/plugin-bff/effect-client';
69
+ } from '@modern-js/bff-effect/effect-client';
70
70
  import {
71
71
  ${contractExport}ApiContract,
72
72
  ${apiExport},
@@ -81,7 +81,7 @@ import type {
81
81
  ${readinessType},
82
82
  } from '${contractImportPath}';
83
83
 
84
- export { Effect, runEffectRequest } from '@modern-js/plugin-bff/effect-client';
84
+ export { Effect, runEffectRequest } from '@modern-js/bff-effect/effect-client';
85
85
 
86
86
  type ${pascalStem}ApiGroups = typeof ${apiExport} extends HttpApi.HttpApi<
87
87
  infer _ApiId,
@@ -151,7 +151,7 @@ export const ${readinessName} = (
151
151
  operationContext:
152
152
  options.operationContext ?? ${groupName}OperationContexts.readiness,
153
153
  }).pipe(
154
- Effect.flatMap(client => client.${groupName}.readiness({})),
154
+ Effect.flatMap(client => client.${options ? 'foundation' : groupName}.readiness({})),
155
155
  );
156
156
 
157
157
  export const ${getName} = (
@@ -145,7 +145,7 @@ function apiTopologyMetadata(app) {
145
145
  },
146
146
  client: {
147
147
  export: './api/rpc-client',
148
- path: `${app.directory}/src/api/${app.api.stem}-rpc-client.ts`
148
+ path: `${app.directory}/${'api-only' === app.surfaceProfile ? 'shared' : 'src/api'}/${app.api.stem}-rpc-client.ts`
149
149
  },
150
150
  serverEntry: `${app.directory}/api/index.ts`,
151
151
  rpcPath: (0, external_rpc_cjs_namespaceObject.rpcPath)(app),
@@ -168,7 +168,7 @@ function apiTopologyMetadata(app) {
168
168
  },
169
169
  client: {
170
170
  export: './api/client',
171
- path: `${app.directory}/src/api/${app.api.stem}-client.ts`
171
+ path: `${app.directory}/${'api-only' === app.surfaceProfile ? 'shared' : 'src/api'}/${app.api.stem}-client.ts`
172
172
  },
173
173
  serverEntry: `${app.directory}/api/index.ts`,
174
174
  basePath: `${app.api.prefix}/${app.api.stem}`,
@@ -62,7 +62,7 @@ function createRpcContractFile(service) {
62
62
  const stem = (0, external_descriptors_cjs_namespaceObject.resolveApiStem)(service);
63
63
  const pascalStem = (0, external_naming_cjs_namespaceObject.toPascalCase)(stem);
64
64
  return `import { Rpc, RpcGroup } from 'effect/unstable/rpc';
65
- import { Schema } from '@modern-js/plugin-bff/effect-client';
65
+ import { Schema } from '@modern-js/bff-effect/effect-client';
66
66
 
67
67
  export interface ${pascalStem}RpcItem {
68
68
  readonly id: string;
@@ -74,7 +74,9 @@ export const ${itemSchema}: Schema.Codec<${pascalStem}RpcItem> = Schema.Struct({
74
74
  title: Schema.String,
75
75
  });
76
76
 
77
- export class ${notFound} extends Schema.TaggedError<${notFound}>()(
77
+ const taggedErrorSchema = Schema.TaggedError;
78
+
79
+ export class ${notFound} extends taggedErrorSchema<${notFound}>()(
78
80
  '${notFound}',
79
81
  {
80
82
  id: Schema.String,
@@ -85,13 +87,13 @@ export class ${notFound} extends Schema.TaggedError<${notFound}>()(
85
87
  // (mirrors the shapes Effect BFF's RpcServer/RpcClient runtime accepts).
86
88
  export const ${groupExport} = RpcGroup.make(
87
89
  Rpc.make('list', {
88
- success: Schema.Struct({ items: Schema.Array(${itemSchema}) }),
89
90
  payload: { limit: Schema.optional(Schema.Number) },
91
+ success: Schema.Struct({ items: Schema.Array(${itemSchema}) }),
90
92
  }),
91
93
  Rpc.make('get', {
92
- success: ${itemSchema},
93
94
  error: ${notFound},
94
95
  payload: { id: Schema.String },
96
+ success: ${itemSchema},
95
97
  }),
96
98
  );
97
99
 
@@ -117,6 +119,12 @@ function rpcServiceEntryWiring(service) {
117
119
  const layer = `
118
120
  const ${groupName}RpcLayer = ${groupExport}.toLayer(
119
121
  ${groupExport}.of({
122
+ get: ({ id }) => {
123
+ const matched = ${groupName}Items.find(candidate => candidate.id === id);
124
+ return matched === undefined
125
+ ? Effect.fail(new ${notFound}({ id }))
126
+ : Effect.succeed({ id: matched.id, title: matched.title });
127
+ },
120
128
  list: ({ limit }) =>
121
129
  Effect.succeed({
122
130
  items:
@@ -130,12 +138,6 @@ const ${groupName}RpcLayer = ${groupExport}.toLayer(
130
138
  title: item.title,
131
139
  })),
132
140
  }),
133
- get: ({ id }) => {
134
- const matched = ${groupName}Items.find(candidate => candidate.id === id);
135
- return matched === undefined
136
- ? Effect.fail(new ${notFound}({ id }))
137
- : Effect.succeed({ id: matched.id, title: matched.title });
138
- },
139
141
  }),
140
142
  );
141
143
  `;
@@ -162,7 +164,7 @@ function createRpcApiServiceEntry(service) {
162
164
  Effect,
163
165
  HttpApi,
164
166
  Layer,
165
- } from '@modern-js/plugin-bff/effect-edge';
167
+ } from '@modern-js/bff-effect/effect-edge';
166
168
  ${rpc.imports}import { ultramodernApiMarker } from '../shared/ultramodern-build.ts';
167
169
 
168
170
  const ${groupName}Items = [
@@ -186,11 +188,11 @@ const apiRuntime = defineEffectBff({
186
188
  ${rpc.field}
187
189
  });
188
190
 
189
- export { ${groupExport} };
191
+ export { ${groupExport} } from '../shared/rpc.ts';
190
192
  export default apiRuntime;
191
193
  `;
192
194
  }
193
- function createRpcClientFile(service) {
195
+ function createRpcClientFile(service, contractImportPath = '../../shared/rpc.ts') {
194
196
  const groupExport = verticalRpcGroupExport(service);
195
197
  const contractExport = verticalRpcContractExport(service);
196
198
  const stem = (0, external_descriptors_cjs_namespaceObject.resolveApiStem)(service);
@@ -198,15 +200,15 @@ function createRpcClientFile(service) {
198
200
  return `import {
199
201
  Effect,
200
202
  makeEffectRpcClient,
201
- } from '@modern-js/plugin-bff/effect-client';
203
+ } from '@modern-js/bff-effect/effect-client';
202
204
  import {
203
205
  ${contractExport},
204
206
  ${groupExport},
205
- } from '../../shared/rpc.ts';
207
+ } from '${contractImportPath}';
206
208
 
207
- export { Effect } from '@modern-js/plugin-bff/effect-client';
209
+ export { Effect } from '@modern-js/bff-effect/effect-client';
208
210
 
209
- export const ${pascalStem}RpcContract = ${contractExport};
211
+ export { ${contractExport} as ${pascalStem}RpcContract } from '${contractImportPath}';
210
212
 
211
213
  export interface ${pascalStem}RpcClientOptions {
212
214
  url?: string | URL;
@@ -216,8 +218,8 @@ export const make${pascalStem}RpcClient = (
216
218
  options: ${pascalStem}RpcClientOptions = {},
217
219
  ) =>
218
220
  makeEffectRpcClient(${groupExport}, {
219
- url: String(options.url ?? ${contractExport}.path),
220
221
  serialization: 'json',
222
+ url: String(options.url ?? ${contractExport}.path),
221
223
  });
222
224
 
223
225
  export const list${pascalStem}Rpc = (
@@ -37,23 +37,22 @@ const external_naming_cjs_namespaceObject = require("../naming.cjs");
37
37
  const external_checkout_cart_cjs_namespaceObject = require("./checkout-cart.cjs");
38
38
  const external_names_cjs_namespaceObject = require("./names.cjs");
39
39
  const external_rpc_cjs_namespaceObject = require("./rpc.cjs");
40
- function createApiServiceEntry(service, contractImportPath) {
40
+ function createApiServiceEntry(service, contractImportPath, options) {
41
41
  if ((service.api?.protocol ?? 'rest') === 'rpc') return (0, external_rpc_cjs_namespaceObject.createRpcApiServiceEntry)(service);
42
42
  const apiExport = (0, external_names_cjs_namespaceObject.verticalApiExport)(service);
43
43
  const groupName = (0, external_names_cjs_namespaceObject.verticalApiGroupName)(service);
44
44
  const notFoundErrorExport = (0, external_names_cjs_namespaceObject.verticalApiNotFoundErrorExport)(service);
45
45
  const stem = (0, external_descriptors_cjs_namespaceObject.resolveApiStem)(service);
46
- return `import {
47
- defineEffectBff,
46
+ const assemblyImport = options ? "import { assembleEffectBffRuntime } from '@modern-js/bff-effect/assembly';\n" : '';
47
+ return `${assemblyImport}import {
48
+ ${options ? '' : 'defineEffectBff,'}
48
49
  Effect,
49
50
  HttpApiBuilder,
50
51
  Layer,
51
- } from '@modern-js/plugin-bff/effect-edge';
52
- import type {
53
- EffectBffDefinition,
54
- EffectBffRuntime,
52
+ } from '@modern-js/bff-effect/effect-edge';
53
+ ${options ? '' : `import type {
55
54
  EffectRuntimeLayer,
56
- } from '@modern-js/plugin-bff/effect-edge';
55
+ } from '@modern-js/bff-effect/effect-edge';`}
57
56
  import { ultramodernApiMarker } from '../shared/ultramodern-build.ts';
58
57
  import {
59
58
  ${apiExport},
@@ -83,6 +82,31 @@ const operationAttributes = (operationContext: OperationContext) => ({
83
82
  : {}),
84
83
  });
85
84
 
85
+ ${options ? `const ${groupName}ReadinessLayer = HttpApiBuilder.group(
86
+ ${apiExport},
87
+ 'foundation',
88
+ handlers => handlers
89
+ .handle('readiness', () =>
90
+ Effect.succeed({
91
+ checks: {
92
+ api: 'ready' as const,
93
+ moduleFederation: 'ready' as const,
94
+ ssr: 'ready' as const,
95
+ translations: 'ready' as const,
96
+ },
97
+ marker: ultramodernApiMarker,
98
+ status: 'ready' as const,
99
+ versionSkew: 'none' as const,
100
+ }).pipe(
101
+ Effect.withSpan('ultramodern.api.${groupName}.readiness', {
102
+ attributes: operationAttributes(${groupName}OperationContexts.readiness),
103
+ kind: 'server',
104
+ }),
105
+ ),
106
+ )
107
+ ,
108
+ );` : ''}
109
+
86
110
  const ${groupName}Layer = HttpApiBuilder.group(
87
111
  ${apiExport},
88
112
  '${groupName}',
@@ -101,7 +125,7 @@ const ${groupName}Layer = HttpApiBuilder.group(
101
125
  }),
102
126
  ),
103
127
  )
104
- .handle('readiness', () =>
128
+ ${options ? '' : ` .handle('readiness', () =>
105
129
  Effect.succeed({
106
130
  checks: {
107
131
  api: 'ready' as const,
@@ -119,6 +143,7 @@ const ${groupName}Layer = HttpApiBuilder.group(
119
143
  }),
120
144
  ),
121
145
  )
146
+ `}
122
147
  .handle('get', ({ params }) => {
123
148
  const matchedItem = ${groupName}Items.find(
124
149
  candidate => candidate.id === params.id,
@@ -158,14 +183,18 @@ const ${groupName}Layer = HttpApiBuilder.group(
158
183
  )${(0, external_checkout_cart_cjs_namespaceObject.createCheckoutCartServerHandlers)(service)},
159
184
  );
160
185
 
161
- const layer = HttpApiBuilder.layer(${apiExport}).pipe(
162
- Layer.provide(${groupName}Layer),
163
- ) satisfies EffectRuntimeLayer;
164
- const apiRuntime: EffectBffDefinition<typeof ${apiExport}, EffectRuntimeLayer> &
165
- EffectBffRuntime<typeof ${apiExport}, EffectRuntimeLayer> = defineEffectBff({
166
- api: ${apiExport},
167
- layer,
168
- });
186
+ ${options ? `const apiHandlersLive = Layer.mergeAll(${groupName}Layer, ${groupName}ReadinessLayer);
187
+ export const make${apiExport[0].toUpperCase()}${apiExport.slice(1)}Runtime = () =>
188
+ assembleEffectBffRuntime({
189
+ api: ${apiExport},
190
+ handlers: apiHandlersLive,
191
+ });` : `export const make${apiExport[0].toUpperCase()}${apiExport.slice(1)}Runtime = () => {
192
+ const layer = HttpApiBuilder.layer(${apiExport}).pipe(
193
+ Layer.provide(${groupName}Layer),
194
+ ) satisfies EffectRuntimeLayer;
195
+ return defineEffectBff({ api: ${apiExport}, layer });
196
+ };`}
197
+ const apiRuntime = make${apiExport[0].toUpperCase()}${apiExport.slice(1)}Runtime();
169
198
 
170
199
  export default apiRuntime;
171
200
  `;
@@ -173,12 +202,8 @@ export default apiRuntime;
173
202
  function createBackendEffectApiExpose(scope, service) {
174
203
  if ((service.api?.protocol ?? 'rest') === 'rpc') {
175
204
  const groupExport = (0, external_rpc_cjs_namespaceObject.verticalRpcGroupExport)(service);
176
- const contractExport = (0, external_rpc_cjs_namespaceObject.verticalRpcContractExport)(service);
177
205
  return `import { ultramodernApiMarker } from '../shared/ultramodern-build.ts';
178
- import {
179
- ${contractExport},
180
- ${groupExport},
181
- } from '../shared/rpc.ts';
206
+ import { ${groupExport} } from '../shared/rpc.ts';
182
207
 
183
208
  export const backendFederationContract = {
184
209
  compatibility: {
@@ -192,16 +217,16 @@ export const backendFederationContract = {
192
217
  executionSurfaces: ['node-mf-runtime'],
193
218
  exposes: ['./effect-api'],
194
219
  name: '${(0, external_descriptors_cjs_namespaceObject.createBackendFederationName)(service)}',
220
+ role: 'microvertical-server',
195
221
  rpcPath: '${(0, external_rpc_cjs_namespaceObject.rpcPath)(service)}',
196
222
  rpcSerialization: 'json',
197
- role: 'microvertical-server',
198
223
  runtimeFramework: 'effect',
199
224
  strictEffectApproach: true,
200
225
  } as const;
201
226
 
202
227
  export { default, default as runtime } from './index.ts';
203
228
  export {
204
- ${contractExport} as contract,
229
+ ${(0, external_rpc_cjs_namespaceObject.verticalRpcContractExport)(service)} as contract,
205
230
  ${groupExport} as rpc,
206
231
  } from '../shared/rpc.ts';
207
232
  export const api: unknown = ${groupExport};
@@ -42,10 +42,10 @@ function createSharedApiImports() {
42
42
  HttpApiGroup,
43
43
  HttpApiSchema,
44
44
  Schema,
45
- } from '@modern-js/plugin-bff/effect-client';
45
+ } from '@modern-js/bff-effect/effect-client';
46
46
  `;
47
47
  }
48
- function createSharedApiContract(service) {
48
+ function createSharedApiContract(service, shared = false) {
49
49
  const schemaExport = (0, external_names_cjs_namespaceObject.verticalApiSchemaExport)(service);
50
50
  const markerSchemaExport = (0, external_names_cjs_namespaceObject.verticalApiMarkerSchemaExport)(service);
51
51
  const readinessSchemaExport = (0, external_names_cjs_namespaceObject.verticalApiReadinessSchemaExport)(service);
@@ -102,7 +102,7 @@ function createSharedApiContract(service) {
102
102
  listOperationContext,
103
103
  readinessOperationContext
104
104
  }).trim();
105
- return `export interface ${markerType} {
105
+ return `${shared ? `export type ${markerType} = MicroVerticalBuildMarker;` : `export interface ${markerType} {
106
106
  readonly appId: string;
107
107
  readonly build: string;
108
108
  readonly buildMarker: string;
@@ -112,7 +112,7 @@ function createSharedApiContract(service) {
112
112
  readonly surface: string;
113
113
  readonly unitId: string;
114
114
  readonly version: string;
115
- }
115
+ }`}
116
116
 
117
117
  export interface ${itemType} {
118
118
  readonly id: string;
@@ -120,7 +120,7 @@ export interface ${itemType} {
120
120
  readonly title: string;
121
121
  }
122
122
 
123
- export interface ${readinessType} {
123
+ ${shared ? `export type ${readinessType} = MicroVerticalReadiness;` : `export interface ${readinessType} {
124
124
  readonly checks: {
125
125
  readonly api: 'ready';
126
126
  readonly moduleFederation: 'ready';
@@ -130,7 +130,7 @@ export interface ${readinessType} {
130
130
  readonly marker: ${markerType};
131
131
  readonly status: 'ready';
132
132
  readonly versionSkew: 'none';
133
- }
133
+ }`}
134
134
 
135
135
  export interface ${createPayloadType} {
136
136
  readonly title: string;
@@ -149,7 +149,7 @@ export interface ${notFoundErrorExport} {
149
149
  readonly id: string;
150
150
  }
151
151
 
152
- export const ${markerSchemaExport}: Schema.Codec<${markerType}> = Schema.Struct({
152
+ ${shared ? `export const ${markerSchemaExport}: Schema.Codec<${markerType}> = MicroVerticalBuildMarkerSchema;` : `export const ${markerSchemaExport}: Schema.Codec<${markerType}> = Schema.Struct({
153
153
  appId: Schema.String,
154
154
  build: Schema.String,
155
155
  buildMarker: Schema.String,
@@ -159,7 +159,7 @@ export const ${markerSchemaExport}: Schema.Codec<${markerType}> = Schema.Struct(
159
159
  surface: Schema.String,
160
160
  unitId: Schema.String,
161
161
  version: Schema.String,
162
- });
162
+ });`}
163
163
 
164
164
  export const ${schemaExport}: Schema.Codec<${itemType}> = Schema.Struct({
165
165
  id: Schema.String,
@@ -167,7 +167,7 @@ export const ${schemaExport}: Schema.Codec<${itemType}> = Schema.Struct({
167
167
  title: Schema.String,
168
168
  });
169
169
 
170
- export const ${readinessSchemaExport}: Schema.Codec<${readinessType}> = Schema.Struct({
170
+ ${shared ? `export const ${readinessSchemaExport}: Schema.Codec<${readinessType}> = MicroVerticalReadinessSchema;` : `export const ${readinessSchemaExport}: Schema.Codec<${readinessType}> = Schema.Struct({
171
171
  checks: Schema.Struct({
172
172
  api: Schema.Literal('ready'),
173
173
  moduleFederation: Schema.Literal('ready'),
@@ -177,7 +177,7 @@ export const ${readinessSchemaExport}: Schema.Codec<${readinessType}> = Schema.S
177
177
  marker: ${markerSchemaExport},
178
178
  status: Schema.Literal('ready'),
179
179
  versionSkew: Schema.Literal('none'),
180
- });
180
+ });`}
181
181
 
182
182
  export const ${createPayloadSchemaExport}: Schema.Codec<${createPayloadType}> = Schema.Struct({
183
183
  title: Schema.String,
@@ -189,7 +189,7 @@ ${checkoutCartSharedSchemaSection}export const ${notFoundSchemaExport}: Schema.C
189
189
  HttpApiSchema.status(404),
190
190
  );
191
191
 
192
- export interface OperationContext {
192
+ ${shared ? 'export type OperationContext = MicroVerticalOperationContext;' : `export interface OperationContext {
193
193
  method: string;
194
194
  operationId: string;
195
195
  routePath: string;
@@ -197,13 +197,18 @@ export interface OperationContext {
197
197
  | 'client'
198
198
  | 'server'
199
199
  | 'generated-client'
200
- | 'effect-adapter'
200
+ | 'effect-server'
201
201
  | 'data-platform'
202
202
  | 'unknown';
203
203
  traceId?: string;
204
- }
204
+ }`}
205
205
 
206
- export const ${apiExport} = HttpApi.make('${apiName}').add(
206
+ ${shared ? `export const ${groupName}FoundationApi = HttpApi.make('${apiName}Foundation').add(
207
+ HttpApiGroup.make('foundation').add(
208
+ HttpApiEndpoint.get('readiness', '/${stem}/readiness', { success: ${readinessSchemaExport} }),
209
+ ),
210
+ );` : ''}
211
+ export const ${apiExport} = HttpApi.make('${apiName}')${shared ? `.addHttpApi(${groupName}FoundationApi)` : ''}.add(
207
212
  HttpApiGroup.make('${groupName}')
208
213
  .add(
209
214
  HttpApiEndpoint.get('list', '/${stem}', {
@@ -215,11 +220,12 @@ export const ${apiExport} = HttpApi.make('${apiName}').add(
215
220
  }),
216
221
  }),
217
222
  )
218
- .add(
223
+ ${shared ? '' : ` .add(
219
224
  HttpApiEndpoint.get('readiness', '/${stem}/readiness', {
220
225
  success: ${readinessSchemaExport},
221
226
  }),
222
227
  )
228
+ `}
223
229
  .add(
224
230
  HttpApiEndpoint.get('get', '/${stem}/:id', {
225
231
  error: ${notFoundSchemaExport},
@@ -240,7 +246,7 @@ export const ${apiExport} = HttpApi.make('${apiName}').add(
240
246
  );
241
247
 
242
248
  export const ${groupName}OperationContexts = {
243
- ${operationContextEntries}
249
+ ${shared ? operationContextEntries.replaceAll(/(\w+: )\{([\s\S]*?)\},/gu, (_, key, fields)=>`${key}createMicroVerticalOperationContext({${fields.replace(/\n\s*source: 'generated-client',/u, '')}}),`) : operationContextEntries}
244
250
  } satisfies Record<string, OperationContext>;
245
251
 
246
252
  export const ${groupName}ApiContract = {
@@ -251,9 +257,13 @@ ${(0, external_checkout_cart_cjs_namespaceObject.createCheckoutCartApiContractFi
251
257
  } as const;
252
258
  `;
253
259
  }
254
- function createSharedApi(service) {
260
+ function createSharedApi(service, options) {
261
+ const imports = options ? `import { MicroVerticalBuildMarkerSchema, MicroVerticalReadinessSchema, createMicroVerticalOperationContext } from '@modern-js/bff-effect/microvertical-api';
262
+ import type { MicroVerticalBuildMarker, MicroVerticalReadiness, MicroVerticalOperationContext } from '@modern-js/bff-effect/microvertical-api';
263
+ ` : '';
255
264
  return `${createSharedApiImports()}
256
- ${createSharedApiContract(service)}`;
265
+ ${imports}
266
+ ${createSharedApiContract(service, void 0 !== options)}`;
257
267
  }
258
268
  exports.createSharedApi = __webpack_exports__.createSharedApi;
259
269
  for(var __rspack_i in __webpack_exports__)if (-1 === [
@@ -81,36 +81,16 @@ function createAppRuntimeConfig(app, scope, remotes = [], emitsUi = (0, external
81
81
  const routeMetadataImport = emitsUi ? "import { ultramodernRouteNamespace } from './routes/ultramodern-route-metadata';\n" : '';
82
82
  const routeNamespace = emitsUi ? 'ultramodernRouteNamespace' : "'api'";
83
83
  return `import { defineRuntimeConfig } from '@modern-js/runtime';
84
- ${'shell' === app.kind ? "import { ultramodernBoundaryDebuggerPlugin } from '@modern-js/runtime/boundary-debugger';\n" : ''}import type { I18nInstance } from '@modern-js/plugin-i18n/runtime';
84
+ ${'shell' === app.kind ? "import { ultramodernBoundaryDebuggerPlugin } from '@modern-js/boundary-debugger';\n" : ''}import type { I18nInstance } from '@modern-js/plugin-i18n/runtime';
85
85
  import { createInstance } from 'i18next';
86
86
  import csResource from '../locales/cs/${(0, external_descriptors_cjs_namespaceObject.appI18nNamespace)(app)}.json';
87
87
  import enResource from '../locales/en/${(0, external_descriptors_cjs_namespaceObject.appI18nNamespace)(app)}.json';
88
88
  ${routeMetadataImport}
89
89
 
90
- type LocaleResource = string | { readonly [key: string]: LocaleResource };
91
-
92
- const flattenLocaleResource = (
93
- resource: LocaleResource,
94
- prefix = '',
95
- ): Record<string, string> => {
96
- if (typeof resource === 'string') {
97
- return prefix.length > 0 ? { [prefix]: resource } : {};
98
- }
99
-
100
- return Object.fromEntries(
101
- Object.entries(resource).flatMap(([key, value]) => {
102
- const nextKey = prefix.length > 0 ? \`\${prefix}.\${key}\` : key;
103
- return typeof value === 'string'
104
- ? [[nextKey, value]]
105
- : Object.entries(flattenLocaleResource(value, nextKey));
106
- }),
107
- );
108
- };
109
-
110
90
  const i18nInstance = createInstance();
111
91
  const resources = {
112
- cs: { [${routeNamespace}]: flattenLocaleResource(csResource) },
113
- en: { [${routeNamespace}]: flattenLocaleResource(enResource) },
92
+ cs: { [${routeNamespace}]: csResource },
93
+ en: { [${routeNamespace}]: enResource },
114
94
  } as const;
115
95
 
116
96
  export default defineRuntimeConfig({