@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
@@ -28,17 +28,19 @@ var __webpack_require__ = {};
28
28
  var __webpack_exports__ = {};
29
29
  __webpack_require__.r(__webpack_exports__);
30
30
  __webpack_require__.d(__webpack_exports__, {
31
- PUBLIC_WEBSITE_POLICY: ()=>PUBLIC_WEBSITE_POLICY,
31
+ ULTRAMODERN_PACKAGE_PINS: ()=>ULTRAMODERN_PACKAGE_PINS,
32
+ ULTRAMODERN_WORKSPACE_POLICY: ()=>ULTRAMODERN_WORKSPACE_POLICY,
32
33
  createCloudflareDeployContract: ()=>createCloudflareDeployContract,
33
- createCloudflareProofRoute: ()=>createCloudflareProofRoute,
34
34
  createCloudflareSecurityContract: ()=>createCloudflareSecurityContract,
35
35
  createPublicHeadRobotsPolicy: ()=>createPublicHeadRobotsPolicy,
36
36
  createPublicSurfaceContentExpansionPolicy: ()=>createPublicSurfaceContentExpansionPolicy,
37
- createPublicWebsiteBudgetFallback: ()=>createPublicWebsiteBudgetFallback,
38
- createPublicWebsiteQualityGateContract: ()=>createPublicWebsiteQualityGateContract,
39
- formatIntegerCodeLiteral: ()=>formatIntegerCodeLiteral,
40
- formatTsJsonValue: ()=>formatTsJsonValue
37
+ discoverPnpmLockReleaseAgeCandidates: ()=>discoverPnpmLockReleaseAgeCandidates,
38
+ formatTsJsonValue: ()=>formatTsJsonValue,
39
+ renderMinimumReleaseAgeExclude: ()=>renderMinimumReleaseAgeExclude,
40
+ resolveReleaseAgeApprovals: ()=>resolveReleaseAgeApprovals,
41
+ validateReleaseAgeApprovals: ()=>validateReleaseAgeApprovals
41
42
  });
43
+ const external_ultramodern_release_cohort_cjs_namespaceObject = require("../ultramodern-release-cohort.cjs");
42
44
  const external_descriptors_cjs_namespaceObject = require("./descriptors.cjs");
43
45
  const external_routes_cjs_namespaceObject = require("./routes.cjs");
44
46
  const external_types_cjs_namespaceObject = require("./types.cjs");
@@ -56,7 +58,7 @@ function createCloudflareProofRoute(app) {
56
58
  ssr: localizedPath ?? '/en',
57
59
  mfManifest: '/mf-manifest.json',
58
60
  locale: `/locales/en/${(0, external_descriptors_cjs_namespaceObject.appI18nNamespace)(app)}.json`,
59
- ...(0, external_descriptors_cjs_namespaceObject.appHasApi)(app) ? {
61
+ ...(0, external_descriptors_cjs_namespaceObject.appHasApi)(app) && 'rest' === (0, external_descriptors_cjs_namespaceObject.resolveApiProtocol)(app) ? {
60
62
  apiReadiness: `${(0, external_descriptors_cjs_namespaceObject.resolveApiPrefix)(app)}/${(0, external_descriptors_cjs_namespaceObject.resolveApiStem)(app)}/readiness`
61
63
  } : {}
62
64
  };
@@ -186,15 +188,9 @@ const PUBLIC_WEBSITE_POLICY = {
186
188
  function formatTsJsonValue(value, indent) {
187
189
  return JSON.stringify(value, null, 2).replaceAll('\n', `\n${' '.repeat(indent)}`);
188
190
  }
189
- function formatIntegerCodeLiteral(value) {
190
- return String(value).replace(/\B(?=(\d{3})+(?!\d))/gu, '_');
191
- }
192
191
  function createPublicWebsiteQualityGateContract() {
193
192
  return PUBLIC_WEBSITE_POLICY.qualityGates;
194
193
  }
195
- function createPublicWebsiteBudgetFallback(budgetName) {
196
- return formatIntegerCodeLiteral(PUBLIC_WEBSITE_POLICY.qualityGates.budgets[budgetName]);
197
- }
198
194
  function createPublicHeadRobotsPolicy() {
199
195
  return PUBLIC_WEBSITE_POLICY.publicHead;
200
196
  }
@@ -218,30 +214,811 @@ function createCloudflareDeployContract(scope, app) {
218
214
  evidence: {
219
215
  proofScript: "scripts/proof-cloudflare-version.mts",
220
216
  reportDefault: '.codex/reports/cloudflare-version-proof/public-url-proof.json'
217
+ },
218
+ ...app.api ? {
219
+ jsonSmokeChecks: [
220
+ {
221
+ id: `${app.id}-readiness-smoke`,
222
+ route: `${app.api.prefix}/${(0, external_descriptors_cjs_namespaceObject.resolveApiStem)(app)}/readiness`,
223
+ expect: {
224
+ status: 'ready',
225
+ 'checks.api': 'ready',
226
+ 'checks.moduleFederation': 'ready',
227
+ 'checks.ssr': 'ready'
228
+ }
229
+ }
230
+ ]
231
+ } : {}
232
+ };
233
+ }
234
+ const releaseAgeReasons = {
235
+ cloudflare: 'Reviewed Cloudflare runtime cohort required by generated Worker tooling before pnpm minimum release age elapsed.',
236
+ effect: 'Reviewed Effect 4 beta cohort required by generated strict Effect workspaces before pnpm minimum release age elapsed.',
237
+ i18next: 'Reviewed i18next release required by generated localized applications before pnpm minimum release age elapsed.',
238
+ typescript: 'Reviewed TypeScript compiler and platform cohort required by generated TypeScript 7 workspaces before pnpm minimum release age elapsed.'
239
+ };
240
+ const releaseAgeReviewEvidence = {
241
+ dependencyCohort: {
242
+ reviewer: 'Petr Glaser <syreanis+1@gmail.com>',
243
+ reviewedAt: '2026-07-10T01:20:00.000Z',
244
+ expiresAt: '2026-08-09T01:20:00.000Z',
245
+ uri: 'https://github.com/BleedingDev/ultramodern.js/commit/3e83a30a06fd4d056057e8f0aad52bc46f256811',
246
+ sha256: 'b70f1326e9b555465d9390048d416238bce1efcf91b467336308aa4c3b253940'
247
+ },
248
+ i18next: {
249
+ reviewer: 'Petr Glaser <syreanis+1@gmail.com>',
250
+ reviewedAt: '2026-07-09T23:03:09.000Z',
251
+ expiresAt: '2026-08-08T23:03:09.000Z',
252
+ uri: 'https://github.com/BleedingDev/ultramodern.js/commit/04ae8b3445464e8f6179c3c89606792c97e9acbd',
253
+ sha256: 'bdc703627ded04958aceff6663844994fca3a0be0d1266ea4fdb8dec7c06f4fa'
254
+ },
255
+ releaseCohort: {
256
+ reviewer: 'Petr Glaser <syreanis+1@gmail.com>',
257
+ reviewedAt: '2026-07-10T01:20:00.000Z',
258
+ expiresAt: '2026-08-09T01:20:00.000Z',
259
+ uri: 'https://github.com/BleedingDev/ultramodern.js/commit/2d0622c2e784676161ce28a2299f1d0847b03cf1',
260
+ sha256: '3ad53ef8e90582462b11e062a882ba57991c2c9f2cbf87bc1f88a7eb216b33b4'
261
+ },
262
+ typescript: {
263
+ reviewer: 'Petr Glaser <syreanis+1@gmail.com>',
264
+ reviewedAt: '2026-07-09T14:00:39.000Z',
265
+ expiresAt: '2026-08-08T14:00:39.000Z',
266
+ uri: 'https://github.com/BleedingDev/ultramodern.js/commit/50b905faa441954cac46bef073036514ddf78faa',
267
+ sha256: '39b3f634548088af3e6c8417263d34f8ac430f0aff8ffec6dbded3eb977579c1'
268
+ }
269
+ };
270
+ function createReleaseAgeApproval(seed) {
271
+ return {
272
+ packageName: seed.packageName,
273
+ version: seed.version,
274
+ reason: seed.reason,
275
+ reviewer: seed.review.reviewer,
276
+ reviewedAt: seed.review.reviewedAt,
277
+ evidence: {
278
+ uri: seed.review.uri,
279
+ sha256: seed.review.sha256,
280
+ sha256Subject: 'git-commit-payload'
281
+ },
282
+ registry: {
283
+ publishedAt: seed.publishedAt,
284
+ dist: {
285
+ integrity: seed.integrity
286
+ }
287
+ },
288
+ expiresAt: seed.review.expiresAt
289
+ };
290
+ }
291
+ const ULTRAMODERN_PACKAGE_PINS = {
292
+ appDependencies: {
293
+ '@module-federation/bridge-react': external_versions_cjs_namespaceObject.MODULE_FEDERATION_VERSION,
294
+ '@module-federation/modern-js-v3': external_versions_cjs_namespaceObject.MODULE_FEDERATION_VERSION,
295
+ '@module-federation/runtime': external_versions_cjs_namespaceObject.MODULE_FEDERATION_VERSION,
296
+ '@tanstack/react-router': external_versions_cjs_namespaceObject.TANSTACK_ROUTER_VERSION,
297
+ i18next: external_versions_cjs_namespaceObject.I18NEXT_VERSION,
298
+ 'node-fetch': external_versions_cjs_namespaceObject.NODE_FETCH_VERSION,
299
+ react: external_versions_cjs_namespaceObject.REACT_VERSION,
300
+ 'react-dom': external_versions_cjs_namespaceObject.REACT_DOM_VERSION,
301
+ 'react-router': external_versions_cjs_namespaceObject.REACT_ROUTER_VERSION
302
+ },
303
+ appDevDependencies: {
304
+ '@effect/tsgo': external_versions_cjs_namespaceObject.EFFECT_TSGO_VERSION,
305
+ '@rsbuild/plugin-tailwindcss': `^${external_versions_cjs_namespaceObject.RSBUILD_PLUGIN_TAILWINDCSS_VERSION}`,
306
+ "@typescript/native": `npm:typescript@${external_versions_cjs_namespaceObject.TYPESCRIPT_VERSION}`,
307
+ '@types/node': '^20',
308
+ '@types/react': external_versions_cjs_namespaceObject.TYPES_REACT_VERSION,
309
+ '@types/react-dom': external_versions_cjs_namespaceObject.TYPES_REACT_DOM_VERSION,
310
+ tailwindcss: `^${external_versions_cjs_namespaceObject.TAILWIND_VERSION}`,
311
+ typescript: external_versions_cjs_namespaceObject.TYPESCRIPT_VERSION,
312
+ wrangler: external_versions_cjs_namespaceObject.WRANGLER_VERSION,
313
+ 'zephyr-rspack-plugin': external_versions_cjs_namespaceObject.ZEPHYR_RSPACK_PLUGIN_VERSION
314
+ },
315
+ rootDevDependencies: {
316
+ '@effect/tsgo': external_versions_cjs_namespaceObject.EFFECT_TSGO_VERSION,
317
+ "@typescript/native": `npm:typescript@${external_versions_cjs_namespaceObject.TYPESCRIPT_VERSION}`,
318
+ lefthook: external_versions_cjs_namespaceObject.LEFTHOOK_VERSION,
319
+ miniflare: external_versions_cjs_namespaceObject.MINIFLARE_VERSION,
320
+ oxlint: external_versions_cjs_namespaceObject.OXLINT_VERSION,
321
+ oxfmt: external_versions_cjs_namespaceObject.OXFMT_VERSION,
322
+ ultracite: external_versions_cjs_namespaceObject.ULTRACITE_VERSION,
323
+ wrangler: external_versions_cjs_namespaceObject.WRANGLER_VERSION,
324
+ 'zephyr-agent': external_versions_cjs_namespaceObject.ZEPHYR_AGENT_VERSION
325
+ },
326
+ transitiveDependencies: {
327
+ '@cloudflare/workers-types': external_versions_cjs_namespaceObject.CLOUDFLARE_WORKERS_TYPES_VERSION,
328
+ '@module-federation/node': external_versions_cjs_namespaceObject.MODULE_FEDERATION_NODE_VERSION,
329
+ '@tanstack/router-core': external_versions_cjs_namespaceObject.TANSTACK_ROUTER_CORE_VERSION,
330
+ "@typescript/native-preview": external_versions_cjs_namespaceObject.TYPESCRIPT_NATIVE_PREVIEW_VERSION,
331
+ miniflare: external_versions_cjs_namespaceObject.MINIFLARE_VERSION,
332
+ workerd: external_versions_cjs_namespaceObject.WORKERD_VERSION
333
+ }
334
+ };
335
+ const requiredPatchPolicies = [
336
+ {
337
+ packageName: '@module-federation/bridge-react',
338
+ version: external_versions_cjs_namespaceObject.MODULE_FEDERATION_VERSION,
339
+ path: `patches/@module-federation__bridge-react@${external_versions_cjs_namespaceObject.MODULE_FEDERATION_VERSION}.patch`
340
+ },
341
+ {
342
+ packageName: '@module-federation/modern-js-v3',
343
+ version: external_versions_cjs_namespaceObject.MODULE_FEDERATION_VERSION,
344
+ path: `patches/@module-federation__modern-js-v3@${external_versions_cjs_namespaceObject.MODULE_FEDERATION_VERSION}.patch`
345
+ },
346
+ {
347
+ packageName: '@tanstack/router-core',
348
+ version: external_versions_cjs_namespaceObject.TANSTACK_ROUTER_CORE_VERSION,
349
+ path: `patches/@tanstack__router-core@${external_versions_cjs_namespaceObject.TANSTACK_ROUTER_CORE_VERSION}.patch`
350
+ },
351
+ {
352
+ packageName: 'effect',
353
+ version: external_versions_cjs_namespaceObject.EFFECT_VERSION,
354
+ path: 'patches/effect-schema-error-type-id.patch'
355
+ }
356
+ ];
357
+ const conditionalPatchPolicies = [
358
+ {
359
+ packageName: 'drizzle-orm',
360
+ version: external_versions_cjs_namespaceObject.DRIZZLE_ORM_VERSION,
361
+ path: 'patches/drizzle-orm-ts7-strict-declarations.patch'
362
+ }
363
+ ];
364
+ const stalePatchPolicies = [
365
+ {
366
+ packageName: '@module-federation/bridge-react',
367
+ version: '2.7.0',
368
+ path: 'patches/@module-federation__bridge-react@2.7.0.patch',
369
+ sha256: '2f89441475f83a6e12d8c2a755b5b15c4d2b04523a1b33fd318c2d537382537f'
370
+ },
371
+ {
372
+ packageName: '@module-federation/modern-js-v3',
373
+ version: '2.7.0',
374
+ path: 'patches/@module-federation__modern-js-v3@2.7.0.patch',
375
+ sha256: 'f51adf0aa6c6e2daa5b7d2978a7716c0d4fb05b29af449b2f16257b957fb7923'
376
+ },
377
+ {
378
+ packageName: 'effect',
379
+ version: '4.0.0-beta.94',
380
+ path: 'patches/effect-schema-error-type-id.patch',
381
+ sha256: 'dc7e8088e600beb20185eb877754d749c4a93909fb79f49465e8319e40d6596a'
382
+ },
383
+ {
384
+ packageName: '@module-federation/dts-plugin',
385
+ version: '2.7.0',
386
+ path: 'patches/@module-federation__dts-plugin@2.7.0.patch',
387
+ sha256: '768cc3bb22e2dede264515f141fdc8af937c8f53d4f8ef8f83469bb0cec1c9a0'
388
+ },
389
+ {
390
+ packageName: '@module-federation/bridge-react',
391
+ version: '2.6.0',
392
+ path: 'patches/@module-federation__bridge-react@2.6.0.patch',
393
+ sha256: '75982bd9b4d40922ce3110ded5254f7faca39112b79d41f27fe0ac4bb416c467'
394
+ },
395
+ {
396
+ packageName: '@module-federation/dts-plugin',
397
+ version: '2.6.0',
398
+ path: 'patches/@module-federation__dts-plugin@2.6.0.patch',
399
+ sha256: 'bc998f74617f7f060ea0f65235f071a5880aade3144ccd610d098d6bbc1c52fe',
400
+ acceptedLegacySha256: [
401
+ 'ad19439992ca0757dc7354ad4197eecd5ac83f3ef5ed990e9200c672138600d5'
402
+ ]
403
+ },
404
+ {
405
+ packageName: '@module-federation/modern-js-v3',
406
+ version: '2.6.0',
407
+ path: 'patches/@module-federation__modern-js-v3@2.6.0.patch',
408
+ sha256: '51ab49dc776c56cdaa8eb43fbd0bb2788633d6b05acfb18fb2f3a1db81c02d87'
409
+ },
410
+ {
411
+ packageName: '@tanstack/router-core',
412
+ version: '1.171.13',
413
+ path: 'patches/@tanstack__router-core@1.171.13.patch',
414
+ sha256: '0c6119dcaa6ad35a11e1ce4fd95179bf929d5b5a86e9cbee110f45bd07c5c8d3'
415
+ }
416
+ ];
417
+ const moduleFederationRegistryReleases = [
418
+ [
419
+ 'bridge-react',
420
+ '2026-07-15T09:16:06.334Z',
421
+ 'sha512-+MIaWVaXyrFfE2qq7ErZeflSTscJtDV6g4lZ+TQxjup1nC83Zw+Nw0fvfJnScDR5lP5SM9epSvZrrZHxpFeEgw=='
422
+ ],
423
+ [
424
+ 'bridge-react-webpack-plugin',
425
+ '2026-07-15T09:15:40.748Z',
426
+ 'sha512-7AaaiE4YOXFb+st6xlVDK65aNKZYR9S9ykH0q2mkHAHTgquXciAjypS8JuhmKn7Lob/2rkplMOc4YsGxG3Ng9Q=='
427
+ ],
428
+ [
429
+ 'cli',
430
+ '2026-07-15T09:16:37.679Z',
431
+ 'sha512-yTxdWkCJPPo+IGASz+NqdW13cw3DhjSBEn9r85aYn1ahckDwB1WcZe0OjDWMqCcR6yi0BMLedk0SWrUeUj0fWw=='
432
+ ],
433
+ [
434
+ 'dts-plugin',
435
+ '2026-07-15T09:16:15.728Z',
436
+ 'sha512-defjq4jOWMEfeejezPWLP5sc8kw0O6FqTT7/E5rbZPEVyjB1A0U3ynhW6GDE5/6hk9/TzdbWS+fBNi4MqUOY6Q=='
437
+ ],
438
+ [
439
+ 'enhanced',
440
+ '2026-07-15T09:17:21.630Z',
441
+ 'sha512-h8vkLdhK7tlcSPmyYNGfGyt0pSzfDB0tYVYdyUt2tXwQRfaJAi3bsIpujMXElw3MXtOfSHESa6M/hPKrtWTHBw=='
442
+ ],
443
+ [
444
+ 'error-codes',
445
+ '2026-07-15T09:15:24.091Z',
446
+ 'sha512-Gaog9904EmxYOQV0hli3XQ7jXeFaADfh5bnBtTCtbZ37Qd/Sz9kQfd+gYQRyIj7RGmkv9DPiN/SsmrTMrTymKw=='
447
+ ],
448
+ [
449
+ 'inject-external-runtime-core-plugin',
450
+ '2026-07-15T09:17:12.157Z',
451
+ 'sha512-fW3jD1ZVds6r/Ul8TtUA42RsB0LfT1yjo5KjqgirH9QrmEMH21x44e3e6BC6IN820XKawRDSmz2kFA5YHIQp7Q=='
452
+ ],
453
+ [
454
+ 'managers',
455
+ '2026-07-15T09:15:44.830Z',
456
+ 'sha512-SnVBCwmi962WGg6hLFElxZUCnrRJdR6glE2ZKPBY/iK07AHUN2ZxuaBCBsVzyws+xLZGHZxBHmVstijTh8dSUA=='
457
+ ],
458
+ [
459
+ 'manifest',
460
+ '2026-07-15T09:16:46.336Z',
461
+ 'sha512-wfVeBXc4/C2F70nRFSPqJhkcwbDgo+wQyEn3jbjJTDoUqxxhYBfHFs1ACBYOk3Qm97L7hHclHGtUG0/nvDEfAA=='
462
+ ],
463
+ [
464
+ 'modern-js-v3',
465
+ '2026-07-15T09:17:49.953Z',
466
+ 'sha512-zmFs0I/E3dLa8Vsj35ep7Ms29SePXFOShjedfFs5VnJPooif6l7fgdIJdxThyI1Rdw5JnRXmJsp4qmGm+naziA=='
467
+ ],
468
+ [
469
+ 'rsbuild-plugin',
470
+ '2026-07-15T09:17:40.351Z',
471
+ 'sha512-rul5OPvLx599rWoAhCtKJ3UYqyM3Dxg0RWEfad3JdnJFqkcSLBojZXgHJE1vbF7DRdGQNmNscKw34iEyn89NwQ=='
472
+ ],
473
+ [
474
+ 'rspack',
475
+ '2026-07-15T09:17:16.399Z',
476
+ 'sha512-TPcrkHpaZgL25Vx3c8oSNwyv7/KktC7uo6HTQdVWlFzbq5RSoMMGkWoir5pY5124isae2/p6v5xAuqICi4r0Zg=='
477
+ ],
478
+ [
479
+ 'runtime',
480
+ '2026-07-15T09:16:02.203Z',
481
+ 'sha512-cGtUBQ1/TVy7KrXy6xPgy3FEmOGyIYkBA2T4iGH3ZH5PNPPTmqN9jF2AfneTSOj0RtBr7Pxq3CUt81E/UCvK1A=='
482
+ ],
483
+ [
484
+ 'runtime-core',
485
+ '2026-07-15T09:15:49.410Z',
486
+ 'sha512-Tf98+epGGiPSHqmQHuXa2uXZMMvjGf1IqJDR1/FpXfmobv5ECN0mGZCjUHGNSyxvoDyXKIkKwJu7IwEoh0ouQA=='
487
+ ],
488
+ [
489
+ 'runtime-tools',
490
+ '2026-07-15T09:16:55.255Z',
491
+ 'sha512-3yOqjdSHXxX4HA3GhlXg3hghGAXW2RJUsnwXCcik2/lTxOHizKI8f3RM+GGCKPxDVqtw43IShe3tA12jNL5A/A=='
492
+ ],
493
+ [
494
+ 'sdk',
495
+ '2026-07-15T09:15:28.114Z',
496
+ 'sha512-yBP+9+0Z8nlvKEXAZS3AsQVy7bFbZf8eMivGk4q4ZdwG3TsLMlsPjb1dQb2i7gcAG6ux9y2LWLkj/0LVk74cnQ=='
497
+ ],
498
+ [
499
+ 'third-party-dts-extractor',
500
+ '2026-07-15T09:15:32.527Z',
501
+ 'sha512-nAMlr74OKIylkfRwlunOhytQbmsgb3gCqdXWnPQhG+ZtqWXGELLfMT4a1Q1ht3cS+sRpWj2SZRqK2M7GadI6tA=='
502
+ ],
503
+ [
504
+ 'webpack-bundler-runtime',
505
+ '2026-07-15T09:16:28.628Z',
506
+ 'sha512-82fDy9v+7qV5fiN8TKVhOdrxhmAZnUIX/IKivYX5ulCt8aoOzVFTiwm/P1GQUDD8z6dqR48xgJdZdf0548Mc9w=='
507
+ ]
508
+ ];
509
+ const moduleFederationNodeRegistryRelease = {
510
+ packageName: '@module-federation/node',
511
+ version: external_versions_cjs_namespaceObject.MODULE_FEDERATION_NODE_VERSION,
512
+ registry: {
513
+ publishedAt: '2026-07-15T09:17:26.899Z',
514
+ dist: {
515
+ integrity: 'sha512-mifMvCjWmLl53GS+badQws0j2bsu1ICpdGzCbez4I6kSpaYA8v86L6dwcHtVHIZtkUC6cjAZBDcgpxs4fK3nFQ=='
221
516
  }
517
+ }
518
+ };
519
+ const typescriptPlatformRegistryReleases = [
520
+ [
521
+ 'aix-ppc64',
522
+ '2026-07-08T15:49:32.839Z',
523
+ 'sha512-MTKKkWB7p/0E9xi1d1tHtZ5PiLkGEMIq88pK2CubZjOsLtYTLqhgIgi6zepFa+9GHZ6h05NMCkQxGKiPXMxXtQ=='
524
+ ],
525
+ [
526
+ 'darwin-arm64',
527
+ '2026-07-08T15:49:36.897Z',
528
+ 'sha512-gowzar9MwS/aRWp6f3a4KUqzRjAZjOsmGNCM6LcTgXum+dBfgsBVMN+AgvOCCbguXyick6LJhpBszxMebJ8syA=='
529
+ ],
530
+ [
531
+ 'darwin-x64',
532
+ '2026-07-08T15:49:40.886Z',
533
+ 'sha512-SZ9xZInqApNlNGc9s0W1VSsktYSOe9cFqNOIqmN1Gs8SmkjKZYFt017G4VwPxASInODuAdbTW7sXiFUf893RgA=='
534
+ ],
535
+ [
536
+ 'freebsd-arm64',
537
+ '2026-07-08T15:49:45.020Z',
538
+ 'sha512-W5NH4y/J0plIIS5b2xvTEkU7JFxyqdMAOgf+Ilhl0vHQXKO5dZoxd+C/jEtq56c4F3wk71RB4BMRQ2XdI+bwYQ=='
539
+ ],
540
+ [
541
+ 'freebsd-x64',
542
+ '2026-07-08T15:49:49.189Z',
543
+ 'sha512-UMGDx5sTpzNw3WiPebH7l90IWfJggEd+egHt/q6p7/Cm3zqoV7VxkGXt+3DxPIw8CcmvAB0j3sVVfbhX+M4Tpw=='
544
+ ],
545
+ [
546
+ 'linux-arm',
547
+ '2026-07-08T15:49:53.075Z',
548
+ 'sha512-gffT3xPz9sR7j/YJExkyPntrI0P2EP9XbOyWzth2/Gs0RstK+90RBcO0ncXoXy/beYll1SXw846Nf2zdnEz0QQ=='
549
+ ],
550
+ [
551
+ 'linux-arm64',
552
+ '2026-07-08T15:49:57.270Z',
553
+ 'sha512-Qh4eU4/y3yDjnfjjyPYihMj5/ODIlmt+Bzu17OI+fiSRDW57QmU5SiN63exPRNJPKUzcc1INa1NXdrJ+MqHjUQ=='
554
+ ],
555
+ [
556
+ 'linux-loong64',
557
+ '2026-07-08T15:50:01.501Z',
558
+ 'sha512-uEHck9i8hoAzXPiYRib1O7miOnz23SxIeVl6F4LXox+qov1K35jHcEW6VHKvZI+pyvl7fZEP4MCU5LYvIq1GuQ=='
559
+ ],
560
+ [
561
+ 'linux-mips64el',
562
+ '2026-07-08T15:50:05.178Z',
563
+ 'sha512-R4KvAMnE43W5Qeqb0Ly56O3mWMWIAgsMyz36DCaycd5nbg/9kzm0liw3JocfRqyJY0KPmzFjbswozXyW0DnIYA=='
564
+ ],
565
+ [
566
+ 'linux-ppc64',
567
+ '2026-07-08T15:50:09.539Z',
568
+ 'sha512-DORx5b3sd/4S7eayxm4FQv+A7CrkUIGRaHiwI8oiHTAI1fAPWhF4J0vAlkC8biAlHSVVwxMQ3tjZ2/DVbnQiiA=='
569
+ ],
570
+ [
571
+ 'linux-riscv64',
572
+ '2026-07-08T15:50:13.357Z',
573
+ 'sha512-wf0jqEDOjrPRnKwYRyyJDRo11KMbvMFrU+q4zqKyChODBzvlkbhNQfKvLxQCcwTpdDaXSHZTVuh0JoCrKCUMHQ=='
574
+ ],
575
+ [
576
+ 'linux-s390x',
577
+ '2026-07-08T15:50:17.275Z',
578
+ 'sha512-IkwJc3L7yhytWd/ewjyxNDfOmswCm9GWMJT/ue/dU4aZNbwZeYAetq42VyLmsmSjvoX7z74X6ZaYCtzAr0EuGw=='
579
+ ],
580
+ [
581
+ 'linux-x64',
582
+ '2026-07-08T15:50:21.639Z',
583
+ 'sha512-EYdf2cNg7rgCWJnxCdJ+F3V39O8ihb37eHAu1LK8oAFizgTQbPOK7zHHXbPt8rX24COqODXeI3sIf0fCXG7H/A=='
584
+ ],
585
+ [
586
+ 'netbsd-arm64',
587
+ '2026-07-08T15:50:25.229Z',
588
+ 'sha512-+polYF4MF04aPpO5FTkHran9yUQDSXqy5GiSDKpsll5jy3l3+g9QLhpf39T+ePtefhXLOGrLl0QIjkQP6VnelA=='
589
+ ],
590
+ [
591
+ 'netbsd-x64',
592
+ '2026-07-08T15:50:29.798Z',
593
+ 'sha512-8YIT0EHM/3dq10ZOVF/A7pc/YSMtbcecct4rWtexrnSCHOPcpC2KTLXfTCR6vDpnSiY12heNb1GiN/wu+T/FyA=='
594
+ ],
595
+ [
596
+ 'openbsd-arm64',
597
+ '2026-07-08T15:50:33.600Z',
598
+ 'sha512-APT8+ClYnuYm1u9+kgGXoMj2VzWzcymwh2gNSQVySHfkRDGOTVkoWLjCmOQSaO+PoqQ57B0flRp9SA+7GnnkzQ=='
599
+ ],
600
+ [
601
+ 'openbsd-x64',
602
+ '2026-07-08T15:50:37.789Z',
603
+ 'sha512-yX7s+Q0Dln0Dt9tEzZsAjXXR/+ytBM7AlglaqyeMPxQszJ1JhlJdZ6jLA+IzldHtflX81em7lDao1xXu+aRRkg=='
604
+ ],
605
+ [
606
+ 'sunos-x64',
607
+ '2026-07-08T15:50:41.700Z',
608
+ 'sha512-dLJDGaLZ1D4HPQn62u1n8mBDkJREwMsAkCdkwd4Ieqw+x3TUyTsqY0YiBCtE6H6OzzgGk3iuZ3vFWRS+E8/d1g=='
609
+ ],
610
+ [
611
+ 'win32-arm64',
612
+ '2026-07-08T15:50:45.825Z',
613
+ 'sha512-Gyl1Vy6OsWesLzmq+EP0Fb7b4Nid5232AvcA2SFcdYreldpNtYFFofPjnt62y9hQy7VTaZp65ICJjuAQRaVcIQ=='
614
+ ],
615
+ [
616
+ 'win32-x64',
617
+ '2026-07-08T15:50:50.403Z',
618
+ 'sha512-0BQ3HkAHHlKLSp1qRvf3SUhGpGsDuhB/jgFw75guyqbxJqEaS0Cw/VFO8i2nHglJUzQCRtMMR/IBAKE3ETMC4g=='
619
+ ]
620
+ ];
621
+ const releaseAgeApprovals = [
622
+ createReleaseAgeApproval({
623
+ packageName: '@effect/opentelemetry',
624
+ version: external_versions_cjs_namespaceObject.EFFECT_VERSION,
625
+ reason: releaseAgeReasons.effect,
626
+ publishedAt: '2026-07-10T00:07:44.725Z',
627
+ integrity: 'sha512-x9yPmb8K8D0GLlGogz28VpKN6q5va9Zvti8kA3Mq1DgTIQf2641Tt6UbhlYfvHxjtwE/mVgztuuapjN8qlDLBw==',
628
+ review: releaseAgeReviewEvidence.dependencyCohort
629
+ }),
630
+ createReleaseAgeApproval({
631
+ packageName: '@effect/vitest',
632
+ version: external_versions_cjs_namespaceObject.EFFECT_VITEST_VERSION,
633
+ reason: releaseAgeReasons.effect,
634
+ publishedAt: '2026-07-10T00:07:56.326Z',
635
+ integrity: 'sha512-1dH6LBWSZyqnTV7ZO+yIpPGPf/xd7RtFfvQ4ZpTy9elzFN+wr1YBFpHSCr8+BfXOml6b8g9Mtj5eDy1qjbizUA==',
636
+ review: releaseAgeReviewEvidence.dependencyCohort
637
+ }),
638
+ createReleaseAgeApproval({
639
+ packageName: "@typescript/native-preview",
640
+ version: external_versions_cjs_namespaceObject.TYPESCRIPT_NATIVE_PREVIEW_VERSION,
641
+ reason: releaseAgeReasons.typescript,
642
+ publishedAt: '2026-07-07T08:20:24.277Z',
643
+ integrity: 'sha512-oUGp+Rep/hqMhPunyinsALUwSlzHINSxitifPiSaeqoKOKD2OlR9NE3TaPqwsl4NlGslsOSUXI1JotWQzpYCPg==',
644
+ review: releaseAgeReviewEvidence.typescript
645
+ }),
646
+ ...typescriptPlatformRegistryReleases.map(([platform, publishedAt, integrity])=>createReleaseAgeApproval({
647
+ packageName: `@typescript/typescript-${platform}`,
648
+ version: external_versions_cjs_namespaceObject.TYPESCRIPT_VERSION,
649
+ reason: releaseAgeReasons.typescript,
650
+ publishedAt,
651
+ integrity,
652
+ review: releaseAgeReviewEvidence.typescript
653
+ })),
654
+ createReleaseAgeApproval({
655
+ packageName: 'effect',
656
+ version: external_versions_cjs_namespaceObject.EFFECT_VERSION,
657
+ reason: releaseAgeReasons.effect,
658
+ publishedAt: '2026-07-10T00:07:52.514Z',
659
+ integrity: 'sha512-pK03HpQVxGZOWdwDAy/iwvV8u3KYcUf2mOWyWqaut2zau8V2u6ejWP7b4BELjyUIiZWW1fl/s/VJpgZUcTjThg==',
660
+ review: releaseAgeReviewEvidence.dependencyCohort
661
+ }),
662
+ createReleaseAgeApproval({
663
+ packageName: '@cloudflare/workers-types',
664
+ version: external_versions_cjs_namespaceObject.CLOUDFLARE_WORKERS_TYPES_VERSION,
665
+ reason: releaseAgeReasons.cloudflare,
666
+ publishedAt: '2026-07-10T01:13:24.132Z',
667
+ integrity: 'sha512-4ooaY2Pb5XGwDn8Fzm6jnTAJkIX0R5LBvL9euQpp2T58sQItlAQd9yivAlkwGhpY5cM1u81/9HaXwKAjXwtyzA==',
668
+ review: releaseAgeReviewEvidence.releaseCohort
669
+ }),
670
+ createReleaseAgeApproval({
671
+ packageName: 'miniflare',
672
+ version: external_versions_cjs_namespaceObject.MINIFLARE_VERSION,
673
+ reason: releaseAgeReasons.cloudflare,
674
+ publishedAt: '2026-07-09T18:25:09.203Z',
675
+ integrity: 'sha512-c94O9zRDISdqO18EHt6l0iF/fWgWt8p18PJvRsA/L/NJZ9Cfke3s/F5Blg1XXF7WDutVRzWVWy8Vy4LaT5ifsA==',
676
+ review: releaseAgeReviewEvidence.releaseCohort
677
+ }),
678
+ createReleaseAgeApproval({
679
+ packageName: 'wrangler',
680
+ version: external_versions_cjs_namespaceObject.WRANGLER_VERSION,
681
+ reason: releaseAgeReasons.cloudflare,
682
+ publishedAt: '2026-07-09T18:25:09.429Z',
683
+ integrity: 'sha512-xZeXKYi7hxQRF5anL+v77RkufJNpF9f3Eqeyqq2QBsETpLZgh0Agj0jJ6JPtkbgn6ukZdh8OK5egsGPWIditgg==',
684
+ review: releaseAgeReviewEvidence.releaseCohort
685
+ }),
686
+ createReleaseAgeApproval({
687
+ packageName: 'i18next',
688
+ version: external_versions_cjs_namespaceObject.I18NEXT_VERSION,
689
+ reason: releaseAgeReasons.i18next,
690
+ publishedAt: '2026-07-09T13:42:14.596Z',
691
+ integrity: 'sha512-Bu5Z2nAXgfVyM8xvW3jk9EKRIuX37PudsrBViThNFx7CR7aaYTpP01cxNB/E4c4UUzTDiAZRstEhsRfPOL/8xA==',
692
+ review: releaseAgeReviewEvidence.i18next
693
+ }),
694
+ createReleaseAgeApproval({
695
+ packageName: "typescript",
696
+ version: external_versions_cjs_namespaceObject.TYPESCRIPT_VERSION,
697
+ reason: releaseAgeReasons.typescript,
698
+ publishedAt: '2026-07-08T15:55:18.431Z',
699
+ integrity: 'sha512-8FYau96o3NKOhbjKi/qNvG/W5jhzxkbdm5sj9AbZ/5T5sWqn3hJgLfGx27sRKZWTvyzCP8dLRBTf5tBTSRVUNA==',
700
+ review: releaseAgeReviewEvidence.typescript
701
+ })
702
+ ];
703
+ const ULTRAMODERN_WORKSPACE_POLICY = {
704
+ schemaVersion: 1,
705
+ dependencies: ULTRAMODERN_PACKAGE_PINS,
706
+ toolchain: {
707
+ node: {
708
+ version: external_versions_cjs_namespaceObject.NODE_VERSION,
709
+ engineRange: '>=26'
710
+ },
711
+ packageManager: {
712
+ name: 'pnpm',
713
+ version: external_versions_cjs_namespaceObject.PNPM_VERSION,
714
+ engineRange: '>=11'
715
+ }
716
+ },
717
+ pnpm: {
718
+ minimumReleaseAge: 1440,
719
+ minimumReleaseAgeStrict: true,
720
+ minimumReleaseAgeIgnoreMissingTime: false,
721
+ trustPolicy: 'no-downgrade',
722
+ trustPolicyIgnoreAfter: 1440,
723
+ trustPolicyExclude: [
724
+ `@effect/opentelemetry@${external_versions_cjs_namespaceObject.EFFECT_VERSION}`,
725
+ `effect@${external_versions_cjs_namespaceObject.EFFECT_VERSION}`
726
+ ],
727
+ blockExoticSubdeps: true,
728
+ engineStrict: true,
729
+ pmOnFail: 'error',
730
+ verifyDepsBeforeRun: 'error',
731
+ strictDepBuilds: true,
732
+ peerDependencyRules: {
733
+ allowedVersions: {
734
+ react: '>=19.0.0',
735
+ '@effect/vitest>effect': external_versions_cjs_namespaceObject.EFFECT_VERSION
736
+ }
737
+ },
738
+ overrides: {
739
+ '@effect/opentelemetry': external_versions_cjs_namespaceObject.EFFECT_VERSION,
740
+ '@effect/vitest': external_versions_cjs_namespaceObject.EFFECT_VITEST_VERSION,
741
+ '@tanstack/react-router': external_versions_cjs_namespaceObject.TANSTACK_ROUTER_VERSION,
742
+ '@tanstack/router-core': external_versions_cjs_namespaceObject.TANSTACK_ROUTER_CORE_VERSION,
743
+ effect: external_versions_cjs_namespaceObject.EFFECT_VERSION,
744
+ 'node-fetch': external_versions_cjs_namespaceObject.NODE_FETCH_VERSION
745
+ },
746
+ allowBuilds: {
747
+ '@parcel/watcher': true,
748
+ '@swc/core': true,
749
+ 'core-js': true,
750
+ esbuild: true,
751
+ lefthook: true,
752
+ 'msgpackr-extract': true,
753
+ sharp: true,
754
+ workerd: true
755
+ },
756
+ patchedDependencies: {
757
+ required: requiredPatchPolicies,
758
+ conditional: conditionalPatchPolicies,
759
+ stale: stalePatchPolicies
760
+ },
761
+ releaseAge: {
762
+ approvals: releaseAgeApprovals,
763
+ registryEvidence: {
764
+ moduleFederation: {
765
+ version: external_versions_cjs_namespaceObject.MODULE_FEDERATION_VERSION,
766
+ nodeVersion: external_versions_cjs_namespaceObject.MODULE_FEDERATION_NODE_VERSION,
767
+ releases: moduleFederationRegistryReleases.map(([packageSuffix, publishedAt, integrity])=>({
768
+ packageName: `@module-federation/${packageSuffix}`,
769
+ version: external_versions_cjs_namespaceObject.MODULE_FEDERATION_VERSION,
770
+ registry: {
771
+ publishedAt,
772
+ dist: {
773
+ integrity
774
+ }
775
+ }
776
+ })),
777
+ node: moduleFederationNodeRegistryRelease
778
+ }
779
+ },
780
+ firstParty: {
781
+ source: 'authenticated-release-cohort-projection',
782
+ exactVersionOnly: true,
783
+ staticApprovals: false
784
+ }
785
+ }
786
+ },
787
+ metadata: {
788
+ packageSource: {
789
+ configPath: '.modernjs/ultramodern.json',
790
+ rootManifestPath: 'modernjs.packageSource',
791
+ ownedKeys: [
792
+ 'strategy',
793
+ 'modernPackageVersion',
794
+ 'registry',
795
+ 'aliasScope',
796
+ 'aliasPackageNamePrefix'
797
+ ]
798
+ },
799
+ moduleFederation: {
800
+ version: external_versions_cjs_namespaceObject.MODULE_FEDERATION_VERSION,
801
+ nodeVersion: external_versions_cjs_namespaceObject.MODULE_FEDERATION_NODE_VERSION,
802
+ configPath: 'moduleFederation',
803
+ appConfigPath: 'topology.apps[].moduleFederation'
804
+ },
805
+ nativePreview: {
806
+ packageName: "@typescript/native-preview",
807
+ version: external_versions_cjs_namespaceObject.TYPESCRIPT_NATIVE_PREVIEW_VERSION,
808
+ generatedDependencyPolicy: 'forbidden',
809
+ releaseAgePolicy: 'exact-reviewed-closure-only'
810
+ }
811
+ }
812
+ };
813
+ const exactPackageNamePattern = /^(?:@[a-z0-9][a-z0-9._~-]*\/[a-z0-9][a-z0-9._~-]*|[a-z0-9][a-z0-9._~-]*)$/u;
814
+ const exactVersionPattern = /^(?:0|[1-9]\d*)\.(?:0|[1-9]\d*)\.(?:0|[1-9]\d*)(?:-[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?(?:\+[0-9A-Za-z-]+(?:\.[0-9A-Za-z-]+)*)?$/u;
815
+ const integrityPattern = /^sha(?:256|384|512)-[A-Za-z0-9+/]+={0,2}$/u;
816
+ const sha256Pattern = /^[a-f0-9]{64}$/u;
817
+ const immutableCommitUriPattern = /^https:\/\/github\.com\/[A-Za-z0-9_.-]+\/[A-Za-z0-9_.-]+\/commit\/[a-f0-9]{40}$/u;
818
+ function comparePackageVersions(left, right) {
819
+ if (left.packageName !== right.packageName) return left.packageName < right.packageName ? -1 : 1;
820
+ if (left.version === right.version) return 0;
821
+ return left.version < right.version ? -1 : 1;
822
+ }
823
+ function packageVersionKey(value) {
824
+ return `${value.packageName}@${value.version}`;
825
+ }
826
+ function assertCanonicalInstant(value, label) {
827
+ if ('string' != typeof value) throw new Error(`${label} must be an ISO-8601 UTC timestamp.`);
828
+ const timestamp = Date.parse(value);
829
+ if (!Number.isFinite(timestamp) || new Date(timestamp).toISOString() !== value) throw new Error(`${label} must be a canonical ISO-8601 UTC timestamp.`);
830
+ return timestamp;
831
+ }
832
+ function assertExactPackageVersion(value, label) {
833
+ if ('string' != typeof value.packageName || !exactPackageNamePattern.test(value.packageName)) throw new Error(`${label}.packageName must be an exact npm package name without ranges, tags, or globs.`);
834
+ if ('string' != typeof value.version || !exactVersionPattern.test(value.version)) throw new Error(`${label}.version must be one exact semantic version without ranges, tags, or globs.`);
835
+ }
836
+ function requiredRecord(value, label) {
837
+ if (!value || 'object' != typeof value || Array.isArray(value)) throw new Error(`${label} must be an object.`);
838
+ return value;
839
+ }
840
+ function validateReleaseAgeApprovals(approvals, options = {}) {
841
+ if (!Array.isArray(approvals)) throw new Error('releaseAge.approvals must be an array.');
842
+ const now = options.now ?? new Date();
843
+ if (!Number.isFinite(now.getTime())) throw new Error('Release-age validation requires a valid current time.');
844
+ const seen = new Set();
845
+ const validated = approvals.map((rawApproval, index)=>{
846
+ const label = `releaseAge.approvals[${index}]`;
847
+ const approval = requiredRecord(rawApproval, label);
848
+ assertExactPackageVersion(approval, label);
849
+ const key = packageVersionKey({
850
+ packageName: approval.packageName,
851
+ version: approval.version
852
+ });
853
+ if (seen.has(key)) throw new Error(`Duplicate release-age approval for ${key}.`);
854
+ seen.add(key);
855
+ for (const field of [
856
+ 'reason',
857
+ 'reviewer'
858
+ ]){
859
+ const value = approval[field];
860
+ if ('string' != typeof value || 0 === value.trim().length || /^(?:unknown|todo|tbd|placeholder)$/iu.test(value.trim())) throw new Error(`${label}.${field} must identify real review evidence.`);
861
+ }
862
+ const reviewedAt = assertCanonicalInstant(approval.reviewedAt, `${label}.reviewedAt`);
863
+ const expiresAt = assertCanonicalInstant(approval.expiresAt, `${label}.expiresAt`);
864
+ if (expiresAt <= reviewedAt) throw new Error(`${key} expiresAt must be after reviewedAt.`);
865
+ const evidence = requiredRecord(approval.evidence, `${label}.evidence`);
866
+ if ('string' != typeof evidence.uri || !immutableCommitUriPattern.test(evidence.uri)) throw new Error(`${label}.evidence.uri must reference an immutable full GitHub commit.`);
867
+ if ('string' != typeof evidence.sha256 || !sha256Pattern.test(evidence.sha256)) throw new Error(`${label}.evidence.sha256 must be a SHA-256 digest.`);
868
+ if ('git-commit-payload' !== evidence.sha256Subject) throw new Error(`${label}.evidence.sha256Subject must identify the raw Git commit payload.`);
869
+ const registry = requiredRecord(approval.registry, `${label}.registry`);
870
+ const publishedAt = assertCanonicalInstant(registry.publishedAt, `${label}.registry.publishedAt`);
871
+ if (publishedAt > reviewedAt) throw new Error(`${key} cannot be reviewed before its registry publish time.`);
872
+ const dist = requiredRecord(registry.dist, `${label}.registry.dist`);
873
+ if ('string' != typeof dist.integrity || !integrityPattern.test(dist.integrity)) throw new Error(`${label}.registry.dist.integrity must be a valid SRI.`);
874
+ return approval;
875
+ });
876
+ return validated.sort(comparePackageVersions);
877
+ }
878
+ function renderMinimumReleaseAgeExclude(options = {}) {
879
+ const now = options.now ?? new Date();
880
+ const nowTimestamp = now.getTime();
881
+ const reviewedSelectors = validateReleaseAgeApprovals(options.approvals ?? ULTRAMODERN_WORKSPACE_POLICY.pnpm.releaseAge.approvals, {
882
+ now
883
+ }).filter((approval)=>{
884
+ const reviewedAt = Date.parse(approval.reviewedAt);
885
+ const expiresAt = Date.parse(approval.expiresAt);
886
+ const maturesAt = Date.parse(approval.registry.publishedAt) + 60000 * ULTRAMODERN_WORKSPACE_POLICY.pnpm.minimumReleaseAge;
887
+ return reviewedAt <= nowTimestamp && nowTimestamp < expiresAt && nowTimestamp < maturesAt;
888
+ }).map(packageVersionKey);
889
+ const packageSource = options.packageSource;
890
+ if (packageSource?.strategy !== 'install' || !exactVersionPattern.test(packageSource.modernPackageVersion)) return reviewedSelectors;
891
+ if (void 0 === options.releaseCohort) throw new Error('Authenticated release cohort projection is required for install package sources.');
892
+ const releaseCohort = (0, external_ultramodern_release_cohort_cjs_namespaceObject.parseUltramodernReleaseCohort)(options.releaseCohort);
893
+ (0, external_ultramodern_release_cohort_cjs_namespaceObject.assertReleaseCohortPackageSource)(releaseCohort, packageSource);
894
+ const firstPartySelectors = (0, external_ultramodern_release_cohort_cjs_namespaceObject.releaseCohortSelectors)(releaseCohort);
895
+ return [
896
+ ...new Set([
897
+ ...reviewedSelectors,
898
+ ...firstPartySelectors
899
+ ])
900
+ ].sort();
901
+ }
902
+ function resolveReleaseAgeApprovals(candidates, options = {}) {
903
+ if (!Array.isArray(candidates)) throw new Error('Release-age dependency closure must be an array.');
904
+ const approvals = validateReleaseAgeApprovals(options.approvals ?? ULTRAMODERN_WORKSPACE_POLICY.pnpm.releaseAge.approvals, {
905
+ now: options.now
906
+ });
907
+ const now = options.now ?? new Date();
908
+ const nowTimestamp = now.getTime();
909
+ const approvalsByKey = new Map(approvals.map((approval)=>[
910
+ packageVersionKey(approval),
911
+ approval
912
+ ]));
913
+ const candidatesByKey = new Map();
914
+ for (const [index, candidate] of candidates.entries()){
915
+ const label = `dependencyClosure[${index}]`;
916
+ const record = requiredRecord(candidate, label);
917
+ assertExactPackageVersion(record, label);
918
+ const registry = requiredRecord(record.registry, `${label}.registry`);
919
+ const dist = requiredRecord(registry.dist, `${label}.registry.dist`);
920
+ if ('string' != typeof dist.integrity || !integrityPattern.test(dist.integrity)) throw new Error(`${label}.registry.dist.integrity is required; registry uncertainty is fail-closed.`);
921
+ const publishedAt = assertCanonicalInstant(registry.publishedAt, `${label}.registry.publishedAt`);
922
+ if (publishedAt > nowTimestamp) throw new Error(`${label}.registry.publishedAt is in the future; registry uncertainty is fail-closed.`);
923
+ const key = packageVersionKey(record);
924
+ if (candidatesByKey.has(key)) throw new Error(`Duplicate dependency-closure candidate for ${key}.`);
925
+ candidatesByKey.set(key, {
926
+ candidate,
927
+ publishedAt
928
+ });
929
+ }
930
+ const approved = [];
931
+ const reviewCandidates = [];
932
+ for (const [key, resolvedCandidate] of candidatesByKey){
933
+ const { candidate, publishedAt } = resolvedCandidate;
934
+ const approval = approvalsByKey.get(key);
935
+ const maturesAt = publishedAt + 60000 * ULTRAMODERN_WORKSPACE_POLICY.pnpm.minimumReleaseAge;
936
+ if (approval) {
937
+ if (candidate.registry.dist.integrity !== approval.registry.dist.integrity) throw new Error(`Release-age approval ${key} does not match lock integrity.`);
938
+ if (candidate.registry.publishedAt !== approval.registry.publishedAt) throw new Error(`Release-age approval ${key} does not match registry publish time.`);
939
+ }
940
+ if (!(nowTimestamp >= maturesAt)) {
941
+ if (!approval || Date.parse(approval.reviewedAt) > nowTimestamp) {
942
+ reviewCandidates.push(candidate);
943
+ continue;
944
+ }
945
+ if (Date.parse(approval.expiresAt) <= nowTimestamp) throw new Error(`Release-age approval for immature ${key} expired at ${approval.expiresAt}.`);
946
+ approved.push(candidate);
947
+ }
948
+ }
949
+ for (const approval of approvals){
950
+ const key = packageVersionKey(approval);
951
+ const reviewedAt = Date.parse(approval.reviewedAt);
952
+ const expiresAt = Date.parse(approval.expiresAt);
953
+ const maturesAt = Date.parse(approval.registry.publishedAt) + 60000 * ULTRAMODERN_WORKSPACE_POLICY.pnpm.minimumReleaseAge;
954
+ if (reviewedAt <= nowTimestamp && nowTimestamp < expiresAt && nowTimestamp < maturesAt && !candidatesByKey.has(key)) throw new Error(`Release-age approval ${key} is unmatched by the dependency closure.`);
955
+ }
956
+ return {
957
+ minimumReleaseAgeExclude: approved.sort(comparePackageVersions).map(packageVersionKey),
958
+ reviewCandidates: reviewCandidates.sort(comparePackageVersions)
222
959
  };
223
960
  }
224
- exports.PUBLIC_WEBSITE_POLICY = __webpack_exports__.PUBLIC_WEBSITE_POLICY;
961
+ function discoverPnpmLockReleaseAgeCandidates(lockfile) {
962
+ const lock = requiredRecord(lockfile, 'pnpm lockfile');
963
+ const packages = requiredRecord(lock.packages, 'pnpm lockfile packages');
964
+ const candidates = new Map();
965
+ for (const [rawKey, rawPackage] of Object.entries(packages)){
966
+ const peerSuffix = rawKey.indexOf('(');
967
+ const packageKey = -1 === peerSuffix ? rawKey : rawKey.slice(0, peerSuffix);
968
+ const versionSeparator = packageKey.lastIndexOf('@');
969
+ if (versionSeparator <= 0) continue;
970
+ const packageName = packageKey.slice(0, versionSeparator);
971
+ const version = packageKey.slice(versionSeparator + 1);
972
+ if (!exactPackageNamePattern.test(packageName) || !exactVersionPattern.test(version)) continue;
973
+ const packageRecord = requiredRecord(rawPackage, `pnpm lockfile package ${packageKey}`);
974
+ const resolution = requiredRecord(packageRecord.resolution, `pnpm lockfile package ${packageKey} resolution`);
975
+ if ('string' != typeof resolution.integrity || !integrityPattern.test(resolution.integrity)) throw new Error(`pnpm lockfile package ${packageKey} has uncertain registry integrity.`);
976
+ const key = packageVersionKey({
977
+ packageName,
978
+ version
979
+ });
980
+ const existing = candidates.get(key);
981
+ if (existing) {
982
+ if (existing.registry.dist.integrity !== resolution.integrity) throw new Error(`pnpm lockfile has conflicting registry integrity for ${key}.`);
983
+ continue;
984
+ }
985
+ candidates.set(key, {
986
+ packageName,
987
+ version,
988
+ registry: {
989
+ dist: {
990
+ integrity: resolution.integrity
991
+ }
992
+ }
993
+ });
994
+ }
995
+ return [
996
+ ...candidates.values()
997
+ ].sort(comparePackageVersions);
998
+ }
999
+ exports.ULTRAMODERN_PACKAGE_PINS = __webpack_exports__.ULTRAMODERN_PACKAGE_PINS;
1000
+ exports.ULTRAMODERN_WORKSPACE_POLICY = __webpack_exports__.ULTRAMODERN_WORKSPACE_POLICY;
225
1001
  exports.createCloudflareDeployContract = __webpack_exports__.createCloudflareDeployContract;
226
- exports.createCloudflareProofRoute = __webpack_exports__.createCloudflareProofRoute;
227
1002
  exports.createCloudflareSecurityContract = __webpack_exports__.createCloudflareSecurityContract;
228
1003
  exports.createPublicHeadRobotsPolicy = __webpack_exports__.createPublicHeadRobotsPolicy;
229
1004
  exports.createPublicSurfaceContentExpansionPolicy = __webpack_exports__.createPublicSurfaceContentExpansionPolicy;
230
- exports.createPublicWebsiteBudgetFallback = __webpack_exports__.createPublicWebsiteBudgetFallback;
231
- exports.createPublicWebsiteQualityGateContract = __webpack_exports__.createPublicWebsiteQualityGateContract;
232
- exports.formatIntegerCodeLiteral = __webpack_exports__.formatIntegerCodeLiteral;
1005
+ exports.discoverPnpmLockReleaseAgeCandidates = __webpack_exports__.discoverPnpmLockReleaseAgeCandidates;
233
1006
  exports.formatTsJsonValue = __webpack_exports__.formatTsJsonValue;
1007
+ exports.renderMinimumReleaseAgeExclude = __webpack_exports__.renderMinimumReleaseAgeExclude;
1008
+ exports.resolveReleaseAgeApprovals = __webpack_exports__.resolveReleaseAgeApprovals;
1009
+ exports.validateReleaseAgeApprovals = __webpack_exports__.validateReleaseAgeApprovals;
234
1010
  for(var __rspack_i in __webpack_exports__)if (-1 === [
235
- "PUBLIC_WEBSITE_POLICY",
1011
+ "ULTRAMODERN_PACKAGE_PINS",
1012
+ "ULTRAMODERN_WORKSPACE_POLICY",
236
1013
  "createCloudflareDeployContract",
237
- "createCloudflareProofRoute",
238
1014
  "createCloudflareSecurityContract",
239
1015
  "createPublicHeadRobotsPolicy",
240
1016
  "createPublicSurfaceContentExpansionPolicy",
241
- "createPublicWebsiteBudgetFallback",
242
- "createPublicWebsiteQualityGateContract",
243
- "formatIntegerCodeLiteral",
244
- "formatTsJsonValue"
1017
+ "discoverPnpmLockReleaseAgeCandidates",
1018
+ "formatTsJsonValue",
1019
+ "renderMinimumReleaseAgeExclude",
1020
+ "resolveReleaseAgeApprovals",
1021
+ "validateReleaseAgeApprovals"
245
1022
  ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
246
1023
  Object.defineProperty(exports, '__esModule', {
247
1024
  value: true