@bleedingdev/modern-js-plugin-bff 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 (332) hide show
  1. package/dist/cjs/cli/compress.js +52 -0
  2. package/dist/cjs/cli/generator.js +184 -0
  3. package/dist/cjs/cli/prefix.js +50 -0
  4. package/dist/cjs/cli/serverGlobalVars.js +127 -0
  5. package/dist/cjs/cli/watch.js +51 -0
  6. package/dist/cjs/cli.js +11 -130
  7. package/dist/cjs/loader.js +19 -2
  8. package/dist/cjs/runtime/data-platform/batch/queue.js +284 -0
  9. package/dist/cjs/runtime/data-platform/batch/request.js +98 -0
  10. package/dist/cjs/runtime/data-platform/batch/response.js +64 -0
  11. package/dist/cjs/runtime/data-platform/batch/telemetry.js +67 -0
  12. package/dist/cjs/runtime/data-platform/batch/url.js +69 -0
  13. package/dist/cjs/runtime/data-platform/batch-transport.js +59 -0
  14. package/dist/cjs/runtime/data-platform/codec.js +155 -0
  15. package/dist/cjs/runtime/data-platform/index.js +30 -633
  16. package/dist/cjs/runtime/data-platform/invalidation.js +61 -0
  17. package/dist/cjs/runtime/data-platform/trace.js +73 -0
  18. package/dist/cjs/runtime/data-platform/types.js +48 -0
  19. package/dist/cjs/runtime/data-platform/validation.js +178 -0
  20. package/dist/cjs/runtime/effect/adapter/constants.js +44 -0
  21. package/dist/cjs/runtime/effect/adapter/cross-project-policy.js +61 -0
  22. package/dist/cjs/runtime/effect/adapter/entry.js +92 -0
  23. package/dist/cjs/runtime/effect/adapter/error-response.js +79 -0
  24. package/dist/cjs/runtime/effect/adapter/handler.js +53 -0
  25. package/dist/cjs/runtime/effect/adapter.js +26 -146
  26. package/dist/cjs/runtime/effect/backend-federation/entry.js +99 -0
  27. package/dist/cjs/runtime/effect/backend-federation/identity.js +82 -0
  28. package/dist/cjs/runtime/effect/backend-federation/load.js +66 -0
  29. package/dist/cjs/runtime/effect/backend-federation/plugin.js +53 -0
  30. package/dist/cjs/runtime/effect/backend-federation/remotes.js +50 -0
  31. package/dist/cjs/runtime/effect/backend-federation/runtime.js +64 -0
  32. package/dist/cjs/runtime/effect/backend-federation/types.js +18 -0
  33. package/dist/cjs/runtime/effect/backend-federation/utils.js +48 -0
  34. package/dist/cjs/runtime/effect/backend-federation-manifest/errors.js +83 -0
  35. package/dist/cjs/runtime/effect/backend-federation-manifest/index.js +55 -0
  36. package/dist/cjs/runtime/effect/backend-federation-manifest/load.js +94 -0
  37. package/dist/cjs/runtime/effect/backend-federation-manifest/metadata.js +101 -0
  38. package/dist/cjs/runtime/effect/backend-federation-manifest/reference.js +120 -0
  39. package/dist/cjs/runtime/effect/backend-federation-manifest/remote.js +68 -0
  40. package/dist/cjs/runtime/effect/backend-federation-manifest/types.js +18 -0
  41. package/dist/cjs/runtime/effect/backend-federation-manifest/validation.js +109 -0
  42. package/dist/cjs/runtime/effect/backend-federation-manifest.js +62 -0
  43. package/dist/cjs/runtime/effect/backend-federation.js +65 -0
  44. package/dist/cjs/runtime/effect/dispatch.js +101 -0
  45. package/dist/cjs/runtime/effect/edge.js +64 -71
  46. package/dist/cjs/runtime/effect/endpoint-contracts.js +7 -21
  47. package/dist/cjs/runtime/effect/entry-shape.js +84 -0
  48. package/dist/cjs/runtime/effect/handler/batch-handler.js +161 -0
  49. package/dist/cjs/runtime/effect/handler/batch.js +195 -0
  50. package/dist/cjs/runtime/effect/handler/definition.js +101 -0
  51. package/dist/cjs/runtime/effect/handler/envelope.js +104 -0
  52. package/dist/cjs/runtime/effect/handler/http.js +96 -0
  53. package/dist/cjs/runtime/effect/handler/openapi.js +57 -0
  54. package/dist/cjs/runtime/effect/handler/routing.js +100 -0
  55. package/dist/cjs/runtime/effect/handler/rpc.js +63 -0
  56. package/dist/cjs/runtime/effect/handler/types.js +43 -0
  57. package/dist/cjs/runtime/effect/handler.js +37 -529
  58. package/dist/cjs/runtime/effect/index.js +91 -15
  59. package/dist/cjs/runtime/effect/module.js +23 -80
  60. package/dist/cjs/runtime/effect/rpcSerialization.js +54 -0
  61. package/dist/cjs/runtime/effect-client/batch.js +73 -0
  62. package/dist/cjs/runtime/effect-client/envelope.js +145 -0
  63. package/dist/cjs/runtime/effect-client/guards.js +44 -0
  64. package/dist/cjs/runtime/effect-client/index.js +6 -16
  65. package/dist/cjs/runtime/effect-client/request-context.js +64 -0
  66. package/dist/cjs/runtime/effect-client/request.js +66 -0
  67. package/dist/cjs/runtime/effect-client/runtime.js +12 -178
  68. package/dist/cjs/runtime/effect-client/types.js +18 -0
  69. package/dist/cjs/runtime/safe-failure.js +2 -1
  70. package/dist/cjs/utils/client-generator/files.js +152 -0
  71. package/dist/cjs/utils/client-generator/generate.js +138 -0
  72. package/dist/cjs/utils/client-generator/index.js +83 -0
  73. package/dist/cjs/utils/client-generator/package-json.js +132 -0
  74. package/dist/cjs/utils/client-generator/write-package.js +125 -0
  75. package/dist/cjs/utils/clientGenerator.js +26 -303
  76. package/dist/cjs/utils/effect-client-generator/generator.js +68 -0
  77. package/dist/cjs/utils/effect-client-generator/index.js +51 -0
  78. package/dist/cjs/utils/effect-client-generator/paths.js +73 -0
  79. package/dist/cjs/utils/effect-client-generator/rendering.js +231 -0
  80. package/dist/cjs/utils/effect-client-generator/runtime.js +85 -0
  81. package/dist/cjs/utils/effect-client-generator/types.js +18 -0
  82. package/dist/cjs/utils/effectClientGenerator.js +5 -262
  83. package/dist/cjs/utils/effectSourceLoader.js +252 -0
  84. package/dist/esm/cli/compress.mjs +14 -0
  85. package/dist/esm/cli/generator.mjs +133 -0
  86. package/dist/esm/cli/prefix.mjs +9 -0
  87. package/dist/esm/cli/serverGlobalVars.mjs +76 -0
  88. package/dist/esm/cli/watch.mjs +13 -0
  89. package/dist/esm/cli.mjs +7 -121
  90. package/dist/esm/loader.mjs +19 -2
  91. package/dist/esm/runtime/data-platform/batch/queue.mjs +246 -0
  92. package/dist/esm/runtime/data-platform/batch/request.mjs +45 -0
  93. package/dist/esm/runtime/data-platform/batch/response.mjs +23 -0
  94. package/dist/esm/runtime/data-platform/batch/telemetry.mjs +23 -0
  95. package/dist/esm/runtime/data-platform/batch/url.mjs +25 -0
  96. package/dist/esm/runtime/data-platform/batch-transport.mjs +12 -0
  97. package/dist/esm/runtime/data-platform/codec.mjs +90 -0
  98. package/dist/esm/runtime/data-platform/index.mjs +6 -610
  99. package/dist/esm/runtime/data-platform/invalidation.mjs +20 -0
  100. package/dist/esm/runtime/data-platform/trace.mjs +29 -0
  101. package/dist/esm/runtime/data-platform/types.mjs +4 -0
  102. package/dist/esm/runtime/data-platform/validation.mjs +128 -0
  103. package/dist/esm/runtime/effect/adapter/constants.mjs +6 -0
  104. package/dist/esm/runtime/effect/adapter/cross-project-policy.mjs +23 -0
  105. package/dist/esm/runtime/effect/adapter/entry.mjs +44 -0
  106. package/dist/esm/runtime/effect/adapter/error-response.mjs +41 -0
  107. package/dist/esm/runtime/effect/adapter/handler.mjs +15 -0
  108. package/dist/esm/runtime/effect/adapter.mjs +27 -147
  109. package/dist/esm/runtime/effect/backend-federation/entry.mjs +61 -0
  110. package/dist/esm/runtime/effect/backend-federation/identity.mjs +41 -0
  111. package/dist/esm/runtime/effect/backend-federation/load.mjs +28 -0
  112. package/dist/esm/runtime/effect/backend-federation/plugin.mjs +15 -0
  113. package/dist/esm/runtime/effect/backend-federation/remotes.mjs +12 -0
  114. package/dist/esm/runtime/effect/backend-federation/runtime.mjs +26 -0
  115. package/dist/esm/runtime/effect/backend-federation/types.mjs +0 -0
  116. package/dist/esm/runtime/effect/backend-federation/utils.mjs +7 -0
  117. package/dist/esm/runtime/effect/backend-federation-manifest/errors.mjs +32 -0
  118. package/dist/esm/runtime/effect/backend-federation-manifest/index.mjs +4 -0
  119. package/dist/esm/runtime/effect/backend-federation-manifest/load.mjs +56 -0
  120. package/dist/esm/runtime/effect/backend-federation-manifest/metadata.mjs +42 -0
  121. package/dist/esm/runtime/effect/backend-federation-manifest/reference.mjs +76 -0
  122. package/dist/esm/runtime/effect/backend-federation-manifest/remote.mjs +30 -0
  123. package/dist/esm/runtime/effect/backend-federation-manifest/types.mjs +0 -0
  124. package/dist/esm/runtime/effect/backend-federation-manifest/validation.mjs +65 -0
  125. package/dist/esm/runtime/effect/backend-federation-manifest.mjs +1 -0
  126. package/dist/esm/runtime/effect/backend-federation.mjs +5 -0
  127. package/dist/esm/runtime/effect/dispatch.mjs +63 -0
  128. package/dist/esm/runtime/effect/edge.mjs +17 -63
  129. package/dist/esm/runtime/effect/endpoint-contracts.mjs +8 -13
  130. package/dist/esm/runtime/effect/entry-shape.mjs +36 -0
  131. package/dist/esm/runtime/effect/handler/batch-handler.mjs +123 -0
  132. package/dist/esm/runtime/effect/handler/batch.mjs +124 -0
  133. package/dist/esm/runtime/effect/handler/definition.mjs +60 -0
  134. package/dist/esm/runtime/effect/handler/envelope.mjs +63 -0
  135. package/dist/esm/runtime/effect/handler/http.mjs +58 -0
  136. package/dist/esm/runtime/effect/handler/openapi.mjs +19 -0
  137. package/dist/esm/runtime/effect/handler/routing.mjs +50 -0
  138. package/dist/esm/runtime/effect/handler/rpc.mjs +22 -0
  139. package/dist/esm/runtime/effect/handler/types.mjs +5 -0
  140. package/dist/esm/runtime/effect/handler.mjs +11 -506
  141. package/dist/esm/runtime/effect/index.mjs +5 -2
  142. package/dist/esm/runtime/effect/module.mjs +25 -82
  143. package/dist/esm/runtime/effect/rpcSerialization.mjs +16 -0
  144. package/dist/esm/runtime/effect-client/batch.mjs +35 -0
  145. package/dist/esm/runtime/effect-client/envelope.mjs +104 -0
  146. package/dist/esm/runtime/effect-client/guards.mjs +3 -0
  147. package/dist/esm/runtime/effect-client/index.mjs +27 -37
  148. package/dist/esm/runtime/effect-client/request-context.mjs +23 -0
  149. package/dist/esm/runtime/effect-client/request.mjs +28 -0
  150. package/dist/esm/runtime/effect-client/runtime.mjs +12 -178
  151. package/dist/esm/runtime/effect-client/types.mjs +0 -0
  152. package/dist/esm/runtime/safe-failure.mjs +2 -1
  153. package/dist/esm/utils/client-generator/files.mjs +68 -0
  154. package/dist/esm/utils/client-generator/generate.mjs +88 -0
  155. package/dist/esm/utils/client-generator/index.mjs +4 -0
  156. package/dist/esm/utils/client-generator/package-json.mjs +78 -0
  157. package/dist/esm/utils/client-generator/write-package.mjs +74 -0
  158. package/dist/esm/utils/clientGenerator.mjs +2 -293
  159. package/dist/esm/utils/effect-client-generator/generator.mjs +27 -0
  160. package/dist/esm/utils/effect-client-generator/index.mjs +3 -0
  161. package/dist/esm/utils/effect-client-generator/paths.mjs +25 -0
  162. package/dist/esm/utils/effect-client-generator/rendering.mjs +180 -0
  163. package/dist/esm/utils/effect-client-generator/runtime.mjs +34 -0
  164. package/dist/esm/utils/effect-client-generator/types.mjs +0 -0
  165. package/dist/esm/utils/effectClientGenerator.mjs +1 -249
  166. package/dist/esm/utils/effectSourceLoader.mjs +199 -0
  167. package/dist/esm-node/cli/compress.mjs +15 -0
  168. package/dist/esm-node/cli/generator.mjs +134 -0
  169. package/dist/esm-node/cli/prefix.mjs +10 -0
  170. package/dist/esm-node/cli/serverGlobalVars.mjs +77 -0
  171. package/dist/esm-node/cli/watch.mjs +14 -0
  172. package/dist/esm-node/cli.mjs +7 -121
  173. package/dist/esm-node/loader.mjs +19 -2
  174. package/dist/esm-node/runtime/data-platform/batch/queue.mjs +247 -0
  175. package/dist/esm-node/runtime/data-platform/batch/request.mjs +46 -0
  176. package/dist/esm-node/runtime/data-platform/batch/response.mjs +24 -0
  177. package/dist/esm-node/runtime/data-platform/batch/telemetry.mjs +24 -0
  178. package/dist/esm-node/runtime/data-platform/batch/url.mjs +26 -0
  179. package/dist/esm-node/runtime/data-platform/batch-transport.mjs +13 -0
  180. package/dist/esm-node/runtime/data-platform/codec.mjs +91 -0
  181. package/dist/esm-node/runtime/data-platform/index.mjs +6 -610
  182. package/dist/esm-node/runtime/data-platform/invalidation.mjs +21 -0
  183. package/dist/esm-node/runtime/data-platform/trace.mjs +30 -0
  184. package/dist/esm-node/runtime/data-platform/types.mjs +5 -0
  185. package/dist/esm-node/runtime/data-platform/validation.mjs +129 -0
  186. package/dist/esm-node/runtime/effect/adapter/constants.mjs +7 -0
  187. package/dist/esm-node/runtime/effect/adapter/cross-project-policy.mjs +24 -0
  188. package/dist/esm-node/runtime/effect/adapter/entry.mjs +45 -0
  189. package/dist/esm-node/runtime/effect/adapter/error-response.mjs +42 -0
  190. package/dist/esm-node/runtime/effect/adapter/handler.mjs +16 -0
  191. package/dist/esm-node/runtime/effect/adapter.mjs +28 -149
  192. package/dist/esm-node/runtime/effect/backend-federation/entry.mjs +62 -0
  193. package/dist/esm-node/runtime/effect/backend-federation/identity.mjs +42 -0
  194. package/dist/esm-node/runtime/effect/backend-federation/load.mjs +29 -0
  195. package/dist/esm-node/runtime/effect/backend-federation/plugin.mjs +16 -0
  196. package/dist/esm-node/runtime/effect/backend-federation/remotes.mjs +13 -0
  197. package/dist/esm-node/runtime/effect/backend-federation/runtime.mjs +27 -0
  198. package/dist/esm-node/runtime/effect/backend-federation/types.mjs +1 -0
  199. package/dist/esm-node/runtime/effect/backend-federation/utils.mjs +8 -0
  200. package/dist/esm-node/runtime/effect/backend-federation-manifest/errors.mjs +33 -0
  201. package/dist/esm-node/runtime/effect/backend-federation-manifest/index.mjs +5 -0
  202. package/dist/esm-node/runtime/effect/backend-federation-manifest/load.mjs +57 -0
  203. package/dist/esm-node/runtime/effect/backend-federation-manifest/metadata.mjs +43 -0
  204. package/dist/esm-node/runtime/effect/backend-federation-manifest/reference.mjs +77 -0
  205. package/dist/esm-node/runtime/effect/backend-federation-manifest/remote.mjs +31 -0
  206. package/dist/esm-node/runtime/effect/backend-federation-manifest/types.mjs +1 -0
  207. package/dist/esm-node/runtime/effect/backend-federation-manifest/validation.mjs +66 -0
  208. package/dist/esm-node/runtime/effect/backend-federation-manifest.mjs +2 -0
  209. package/dist/esm-node/runtime/effect/backend-federation.mjs +6 -0
  210. package/dist/esm-node/runtime/effect/dispatch.mjs +64 -0
  211. package/dist/esm-node/runtime/effect/edge.mjs +17 -63
  212. package/dist/esm-node/runtime/effect/endpoint-contracts.mjs +8 -13
  213. package/dist/esm-node/runtime/effect/entry-shape.mjs +37 -0
  214. package/dist/esm-node/runtime/effect/handler/batch-handler.mjs +124 -0
  215. package/dist/esm-node/runtime/effect/handler/batch.mjs +125 -0
  216. package/dist/esm-node/runtime/effect/handler/definition.mjs +61 -0
  217. package/dist/esm-node/runtime/effect/handler/envelope.mjs +64 -0
  218. package/dist/esm-node/runtime/effect/handler/http.mjs +59 -0
  219. package/dist/esm-node/runtime/effect/handler/openapi.mjs +20 -0
  220. package/dist/esm-node/runtime/effect/handler/routing.mjs +51 -0
  221. package/dist/esm-node/runtime/effect/handler/rpc.mjs +23 -0
  222. package/dist/esm-node/runtime/effect/handler/types.mjs +6 -0
  223. package/dist/esm-node/runtime/effect/handler.mjs +11 -506
  224. package/dist/esm-node/runtime/effect/index.mjs +5 -2
  225. package/dist/esm-node/runtime/effect/module.mjs +25 -82
  226. package/dist/esm-node/runtime/effect/rpcSerialization.mjs +17 -0
  227. package/dist/esm-node/runtime/effect-client/batch.mjs +36 -0
  228. package/dist/esm-node/runtime/effect-client/envelope.mjs +105 -0
  229. package/dist/esm-node/runtime/effect-client/guards.mjs +4 -0
  230. package/dist/esm-node/runtime/effect-client/index.mjs +27 -37
  231. package/dist/esm-node/runtime/effect-client/request-context.mjs +24 -0
  232. package/dist/esm-node/runtime/effect-client/request.mjs +29 -0
  233. package/dist/esm-node/runtime/effect-client/runtime.mjs +12 -178
  234. package/dist/esm-node/runtime/effect-client/types.mjs +1 -0
  235. package/dist/esm-node/runtime/safe-failure.mjs +2 -1
  236. package/dist/esm-node/utils/client-generator/files.mjs +69 -0
  237. package/dist/esm-node/utils/client-generator/generate.mjs +89 -0
  238. package/dist/esm-node/utils/client-generator/index.mjs +5 -0
  239. package/dist/esm-node/utils/client-generator/package-json.mjs +79 -0
  240. package/dist/esm-node/utils/client-generator/write-package.mjs +75 -0
  241. package/dist/esm-node/utils/clientGenerator.mjs +2 -293
  242. package/dist/esm-node/utils/effect-client-generator/generator.mjs +28 -0
  243. package/dist/esm-node/utils/effect-client-generator/index.mjs +4 -0
  244. package/dist/esm-node/utils/effect-client-generator/paths.mjs +26 -0
  245. package/dist/esm-node/utils/effect-client-generator/rendering.mjs +181 -0
  246. package/dist/esm-node/utils/effect-client-generator/runtime.mjs +36 -0
  247. package/dist/esm-node/utils/effect-client-generator/types.mjs +1 -0
  248. package/dist/esm-node/utils/effectClientGenerator.mjs +2 -251
  249. package/dist/esm-node/utils/effectSourceLoader.mjs +200 -0
  250. package/dist/types/cli/compress.d.ts +2 -0
  251. package/dist/types/cli/generator.d.ts +7 -0
  252. package/dist/types/cli/prefix.d.ts +2 -0
  253. package/dist/types/cli/serverGlobalVars.d.ts +4 -0
  254. package/dist/types/cli/watch.d.ts +1 -0
  255. package/dist/types/cli.d.ts +0 -1
  256. package/dist/types/runtime/data-platform/batch/queue.d.ts +8 -0
  257. package/dist/types/runtime/data-platform/batch/request.d.ts +13 -0
  258. package/dist/types/runtime/data-platform/batch/response.d.ts +3 -0
  259. package/dist/types/runtime/data-platform/batch/telemetry.d.ts +4 -0
  260. package/dist/types/runtime/data-platform/batch/url.d.ts +4 -0
  261. package/dist/types/runtime/data-platform/batch-transport.d.ts +3 -0
  262. package/dist/types/runtime/data-platform/codec.d.ts +17 -0
  263. package/dist/types/runtime/data-platform/index.d.ts +7 -191
  264. package/dist/types/runtime/data-platform/invalidation.d.ts +8 -0
  265. package/dist/types/runtime/data-platform/trace.d.ts +4 -0
  266. package/dist/types/runtime/data-platform/types.d.ts +146 -0
  267. package/dist/types/runtime/data-platform/validation.d.ts +29 -0
  268. package/dist/types/runtime/effect/adapter/constants.d.ts +1 -0
  269. package/dist/types/runtime/effect/adapter/cross-project-policy.d.ts +4 -0
  270. package/dist/types/runtime/effect/adapter/entry.d.ts +2 -0
  271. package/dist/types/runtime/effect/adapter/error-response.d.ts +2 -0
  272. package/dist/types/runtime/effect/adapter/handler.d.ts +7 -0
  273. package/dist/types/runtime/effect/adapter.d.ts +4 -13
  274. package/dist/types/runtime/effect/backend-federation/entry.d.ts +2 -0
  275. package/dist/types/runtime/effect/backend-federation/identity.d.ts +30 -0
  276. package/dist/types/runtime/effect/backend-federation/load.d.ts +13 -0
  277. package/dist/types/runtime/effect/backend-federation/plugin.d.ts +3 -0
  278. package/dist/types/runtime/effect/backend-federation/remotes.d.ts +2 -0
  279. package/dist/types/runtime/effect/backend-federation/runtime.d.ts +3 -0
  280. package/dist/types/runtime/effect/backend-federation/types.d.ts +73 -0
  281. package/dist/types/runtime/effect/backend-federation/utils.d.ts +2 -0
  282. package/dist/types/runtime/effect/backend-federation-manifest/errors.d.ts +11 -0
  283. package/dist/types/runtime/effect/backend-federation-manifest/index.d.ts +6 -0
  284. package/dist/types/runtime/effect/backend-federation-manifest/load.d.ts +3 -0
  285. package/dist/types/runtime/effect/backend-federation-manifest/metadata.d.ts +18 -0
  286. package/dist/types/runtime/effect/backend-federation-manifest/reference.d.ts +4 -0
  287. package/dist/types/runtime/effect/backend-federation-manifest/remote.d.ts +3 -0
  288. package/dist/types/runtime/effect/backend-federation-manifest/types.d.ts +51 -0
  289. package/dist/types/runtime/effect/backend-federation-manifest/validation.d.ts +5 -0
  290. package/dist/types/runtime/effect/backend-federation-manifest.d.ts +1 -0
  291. package/dist/types/runtime/effect/backend-federation.d.ts +7 -0
  292. package/dist/types/runtime/effect/dispatch.d.ts +13 -0
  293. package/dist/types/runtime/effect/edge.d.ts +8 -8
  294. package/dist/types/runtime/effect/endpoint-contracts.d.ts +5 -7
  295. package/dist/types/runtime/effect/entry-shape.d.ts +31 -0
  296. package/dist/types/runtime/effect/handler/batch-handler.d.ts +11 -0
  297. package/dist/types/runtime/effect/handler/batch.d.ts +17 -0
  298. package/dist/types/runtime/effect/handler/definition.d.ts +17 -0
  299. package/dist/types/runtime/effect/handler/envelope.d.ts +13 -0
  300. package/dist/types/runtime/effect/handler/http.d.ts +14 -0
  301. package/dist/types/runtime/effect/handler/openapi.d.ts +4 -0
  302. package/dist/types/runtime/effect/handler/routing.d.ts +5 -0
  303. package/dist/types/runtime/effect/handler/rpc.d.ts +7 -0
  304. package/dist/types/runtime/effect/handler/types.d.ts +148 -0
  305. package/dist/types/runtime/effect/handler.d.ts +4 -190
  306. package/dist/types/runtime/effect/index.d.ts +3 -0
  307. package/dist/types/runtime/effect/module.d.ts +3 -2
  308. package/dist/types/runtime/effect/rpcSerialization.d.ts +3 -0
  309. package/dist/types/runtime/effect-client/batch.d.ts +2 -0
  310. package/dist/types/runtime/effect-client/envelope.d.ts +15 -0
  311. package/dist/types/runtime/effect-client/guards.d.ts +2 -0
  312. package/dist/types/runtime/effect-client/index.d.ts +1 -1
  313. package/dist/types/runtime/effect-client/request-context.d.ts +3 -0
  314. package/dist/types/runtime/effect-client/request.d.ts +1 -0
  315. package/dist/types/runtime/effect-client/runtime.d.ts +2 -68
  316. package/dist/types/runtime/effect-client/types.d.ts +68 -0
  317. package/dist/types/utils/client-generator/files.d.ts +28 -0
  318. package/dist/types/utils/client-generator/generate.d.ts +26 -0
  319. package/dist/types/utils/client-generator/index.d.ts +7 -0
  320. package/dist/types/utils/client-generator/package-json.d.ts +16 -0
  321. package/dist/types/utils/client-generator/write-package.d.ts +6 -0
  322. package/dist/types/utils/clientGenerator.d.ts +2 -37
  323. package/dist/types/utils/crossProjectServerPolicy.d.ts +3 -2
  324. package/dist/types/utils/effect-client-generator/generator.d.ts +10 -0
  325. package/dist/types/utils/effect-client-generator/index.d.ts +4 -0
  326. package/dist/types/utils/effect-client-generator/paths.d.ts +5 -0
  327. package/dist/types/utils/effect-client-generator/rendering.d.ts +4 -0
  328. package/dist/types/utils/effect-client-generator/runtime.d.ts +12 -0
  329. package/dist/types/utils/effect-client-generator/types.d.ts +27 -0
  330. package/dist/types/utils/effectClientGenerator.d.ts +2 -41
  331. package/dist/types/utils/effectSourceLoader.d.ts +15 -0
  332. package/package.json +45 -33
@@ -0,0 +1,18 @@
1
+ "use strict";
2
+ var __webpack_require__ = {};
3
+ (()=>{
4
+ __webpack_require__.r = (exports1)=>{
5
+ if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
6
+ value: 'Module'
7
+ });
8
+ Object.defineProperty(exports1, '__esModule', {
9
+ value: true
10
+ });
11
+ };
12
+ })();
13
+ var __webpack_exports__ = {};
14
+ __webpack_require__.r(__webpack_exports__);
15
+ for(var __rspack_i in __webpack_exports__)exports[__rspack_i] = __webpack_exports__[__rspack_i];
16
+ Object.defineProperty(exports, '__esModule', {
17
+ value: true
18
+ });
@@ -0,0 +1,109 @@
1
+ "use strict";
2
+ var __webpack_require__ = {};
3
+ (()=>{
4
+ __webpack_require__.d = (exports1, getters, values)=>{
5
+ var define = (defs, kind)=>{
6
+ for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
7
+ enumerable: true,
8
+ [kind]: defs[key]
9
+ });
10
+ };
11
+ define(getters, "get");
12
+ define(values, "value");
13
+ };
14
+ })();
15
+ (()=>{
16
+ __webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
17
+ })();
18
+ (()=>{
19
+ __webpack_require__.r = (exports1)=>{
20
+ if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
21
+ value: 'Module'
22
+ });
23
+ Object.defineProperty(exports1, '__esModule', {
24
+ value: true
25
+ });
26
+ };
27
+ })();
28
+ var __webpack_exports__ = {};
29
+ __webpack_require__.r(__webpack_exports__);
30
+ __webpack_require__.d(__webpack_exports__, {
31
+ classifyLoadError: ()=>classifyLoadError,
32
+ validateBackendFederationManifest: ()=>validateBackendFederationManifest,
33
+ validateLoadedBackendFederationContract: ()=>validateLoadedBackendFederationContract
34
+ });
35
+ const universal_namespaceObject = require("@modern-js/utils/universal");
36
+ const external_backend_federation_js_namespaceObject = require("../backend-federation.js");
37
+ const external_errors_js_namespaceObject = require("./errors.js");
38
+ const external_metadata_js_namespaceObject = require("./metadata.js");
39
+ function resolveExpectedBuildMarker(expected) {
40
+ if (void 0 !== expected.buildVersion && void 0 !== expected.buildMarker && expected.buildVersion !== expected.buildMarker) throw new external_errors_js_namespaceObject.BackendFederationManifestAdapterError('version_mismatch', `[BFF][Effect] Backend federation expected buildVersion/buildMarker mismatch: buildVersion ${expected.buildVersion}, buildMarker ${expected.buildMarker}.`, void 0, {
41
+ label: 'expected.buildVersion/buildMarker',
42
+ expected: expected.buildVersion,
43
+ received: expected.buildMarker
44
+ });
45
+ return expected.buildMarker;
46
+ }
47
+ function validateBackendFederationManifest(manifest, expected = {}) {
48
+ const expectedBuildMarker = resolveExpectedBuildMarker(expected);
49
+ const backendFederation = (0, external_metadata_js_namespaceObject.backendFederationMetadata)(manifest);
50
+ (0, external_errors_js_namespaceObject.assertManifestAdapter)(backendFederation, 'manifest_invalid', '[BFF][Effect] Backend federation manifest must declare backendFederation metadata.');
51
+ const manifestShape = (0, universal_namespaceObject.validateBackendFederationManifest)(manifest, {
52
+ expectedContractVersion: false,
53
+ expectedNodeAdapterVersion: false,
54
+ validateDeliveryUnit: false
55
+ });
56
+ (0, external_errors_js_namespaceObject.assertManifestAdapter)(manifestShape.ok, 'manifest_invalid', `[BFF][Effect] Backend federation manifest schema invalid: ${(0, universal_namespaceObject.formatBackendFederationValidationErrors)(manifestShape.errors)}.`);
57
+ (0, external_errors_js_namespaceObject.assertManifestAdapter)('effect' === backendFederation.runtimeFramework, 'strict_effect_required', '[BFF][Effect] Backend federation manifest must declare runtimeFramework: "effect".');
58
+ (0, external_errors_js_namespaceObject.assertManifestAdapter)(true === backendFederation.strictEffectApproach, 'strict_effect_required', '[BFF][Effect] Backend federation manifest must declare strictEffectApproach: true.');
59
+ (0, external_errors_js_namespaceObject.assertVersionValue)((0, external_metadata_js_namespaceObject.stringValue)(backendFederation.contractVersion), expected.contractVersion ?? external_backend_federation_js_namespaceObject.BACKEND_FEDERATION_CONTRACT_VERSION, 'manifest contractVersion');
60
+ (0, external_errors_js_namespaceObject.assertVersionValue)((0, external_metadata_js_namespaceObject.stringValue)(backendFederation.nodeAdapterVersion), expected.nodeAdapterVersion ?? external_backend_federation_js_namespaceObject.BACKEND_FEDERATION_NODE_ADAPTER_VERSION, 'manifest nodeAdapterVersion');
61
+ const boundary = (0, external_metadata_js_namespaceObject.versionBoundaryMetadata)(manifest);
62
+ (0, external_errors_js_namespaceObject.assertVersionValue)((0, external_metadata_js_namespaceObject.stringValue)(backendFederation.name) ?? (0, external_metadata_js_namespaceObject.stringValue)(manifest.name) ?? (0, external_metadata_js_namespaceObject.stringValue)(manifest.id), expected.remoteName, 'manifest remoteName');
63
+ (0, external_errors_js_namespaceObject.assertVersionValue)((0, external_metadata_js_namespaceObject.stringValue)(boundary?.packageName), expected.packageName, 'versionBoundary.packageName');
64
+ (0, external_errors_js_namespaceObject.assertVersionValue)((0, external_metadata_js_namespaceObject.stringValue)(boundary?.version), expected.version, 'versionBoundary.version');
65
+ (0, external_errors_js_namespaceObject.assertVersionValue)((0, external_metadata_js_namespaceObject.stringValue)(boundary?.buildVersion), expected.buildVersion, 'versionBoundary.buildVersion');
66
+ (0, external_errors_js_namespaceObject.assertConsistentValue)((0, external_metadata_js_namespaceObject.stringValue)(manifest.version), (0, external_metadata_js_namespaceObject.stringValue)(boundary?.version), 'manifest versionBoundary.version');
67
+ (0, external_errors_js_namespaceObject.assertConsistentValue)((0, external_metadata_js_namespaceObject.stringValue)(manifest.buildVersion), (0, external_metadata_js_namespaceObject.stringValue)(boundary?.buildVersion), 'manifest versionBoundary.buildVersion');
68
+ const deliveryUnit = (0, external_metadata_js_namespaceObject.manifestDeliveryUnit)(backendFederation, boundary);
69
+ (0, external_errors_js_namespaceObject.assertConsistentValue)((0, external_metadata_js_namespaceObject.stringValue)(deliveryUnit.boundary?.buildMarker), (0, external_metadata_js_namespaceObject.stringValue)(boundary?.buildVersion), 'versionBoundary.deliveryUnit.buildMarker vs versionBoundary.buildVersion');
70
+ (0, external_errors_js_namespaceObject.assertConsistentValue)((0, external_metadata_js_namespaceObject.stringValue)(deliveryUnit.top?.unitId), (0, external_metadata_js_namespaceObject.stringValue)(deliveryUnit.boundary?.unitId), 'backendFederation.deliveryUnit.unitId vs versionBoundary.deliveryUnit.unitId');
71
+ const manifestUnitId = (0, external_metadata_js_namespaceObject.stringValue)(deliveryUnit.boundary?.unitId) ?? (0, external_metadata_js_namespaceObject.stringValue)(deliveryUnit.top?.unitId);
72
+ (0, external_errors_js_namespaceObject.assertVersionValue)(manifestUnitId, expected.unitId, 'deliveryUnit.unitId');
73
+ (0, external_errors_js_namespaceObject.assertVersionValue)((0, external_metadata_js_namespaceObject.stringValue)(deliveryUnit.boundary?.buildMarker), expectedBuildMarker, 'deliveryUnit.buildMarker');
74
+ }
75
+ function validateLoadedBackendFederationContract(loaded, manifest, remote) {
76
+ const loadedContract = loaded.backendFederationContract;
77
+ const backendFederation = (0, external_metadata_js_namespaceObject.backendFederationMetadata)(manifest);
78
+ const boundary = (0, external_metadata_js_namespaceObject.versionBoundaryMetadata)(manifest);
79
+ const compatibility = (0, external_metadata_js_namespaceObject.recordField)(loadedContract, 'compatibility');
80
+ (0, external_errors_js_namespaceObject.assertManifestAdapter)(compatibility, 'version_mismatch', `[BFF][Effect] Backend federation expose ${remote.name}/${remote.expose?.replace(/^\.\//u, '')} must declare compatibility metadata.`);
81
+ (0, external_errors_js_namespaceObject.assertVersionValue)((0, external_metadata_js_namespaceObject.stringValue)(loadedContract?.role), 'microvertical-server', 'expose role');
82
+ (0, external_errors_js_namespaceObject.assertVersionValue)((0, external_metadata_js_namespaceObject.stringValue)(loadedContract?.name), remote.name, 'expose name');
83
+ (0, external_errors_js_namespaceObject.assertVersionValue)((0, external_metadata_js_namespaceObject.stringValue)(compatibility.contractVersion), (0, external_metadata_js_namespaceObject.stringValue)(backendFederation?.contractVersion), 'expose contractVersion');
84
+ (0, external_errors_js_namespaceObject.assertVersionValue)((0, external_metadata_js_namespaceObject.stringValue)(compatibility.nodeAdapterVersion), (0, external_metadata_js_namespaceObject.stringValue)(backendFederation?.nodeAdapterVersion), 'expose nodeAdapterVersion');
85
+ (0, external_errors_js_namespaceObject.assertVersionValue)((0, external_metadata_js_namespaceObject.stringValue)(compatibility.packageName), (0, external_metadata_js_namespaceObject.stringValue)(boundary?.packageName), 'expose packageName');
86
+ (0, external_errors_js_namespaceObject.assertVersionValue)((0, external_metadata_js_namespaceObject.stringValue)(compatibility.build), (0, external_metadata_js_namespaceObject.stringValue)(boundary?.buildVersion), 'expose buildVersion');
87
+ const deliveryUnit = (0, external_metadata_js_namespaceObject.manifestDeliveryUnit)(backendFederation, boundary);
88
+ const manifestUnitId = (0, external_metadata_js_namespaceObject.stringValue)(deliveryUnit.boundary?.unitId) ?? (0, external_metadata_js_namespaceObject.stringValue)(deliveryUnit.top?.unitId);
89
+ const manifestBuildMarker = (0, external_metadata_js_namespaceObject.stringValue)(deliveryUnit.boundary?.buildMarker);
90
+ (0, external_errors_js_namespaceObject.assertConsistentValue)(manifestUnitId, (0, external_metadata_js_namespaceObject.stringValue)(compatibility.unitId), 'deliveryUnit.unitId vs expose compatibility.unitId');
91
+ (0, external_errors_js_namespaceObject.assertConsistentValue)(manifestBuildMarker, (0, external_metadata_js_namespaceObject.stringValue)(compatibility.build), 'deliveryUnit.buildMarker vs expose compatibility.build');
92
+ }
93
+ function classifyLoadError(error) {
94
+ const message = error instanceof Error ? error.message : String(error);
95
+ if (message.includes('delivery-unit identity mismatch')) return 'version_mismatch';
96
+ if (message.includes('strictEffectApproach') || message.includes('runtimeFramework')) return 'strict_effect_required';
97
+ return 'remote_unavailable';
98
+ }
99
+ exports.classifyLoadError = __webpack_exports__.classifyLoadError;
100
+ exports.validateBackendFederationManifest = __webpack_exports__.validateBackendFederationManifest;
101
+ exports.validateLoadedBackendFederationContract = __webpack_exports__.validateLoadedBackendFederationContract;
102
+ for(var __rspack_i in __webpack_exports__)if (-1 === [
103
+ "classifyLoadError",
104
+ "validateBackendFederationManifest",
105
+ "validateLoadedBackendFederationContract"
106
+ ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
107
+ Object.defineProperty(exports, '__esModule', {
108
+ value: true
109
+ });
@@ -0,0 +1,62 @@
1
+ "use strict";
2
+ var __webpack_modules__ = {
3
+ "./backend-federation-manifest/index" (module) {
4
+ module.exports = require("./backend-federation-manifest/index.js");
5
+ }
6
+ };
7
+ var __webpack_module_cache__ = {};
8
+ function __webpack_require__(moduleId) {
9
+ var cachedModule = __webpack_module_cache__[moduleId];
10
+ if (void 0 !== cachedModule) return cachedModule.exports;
11
+ var module = __webpack_module_cache__[moduleId] = {
12
+ exports: {}
13
+ };
14
+ __webpack_modules__[moduleId](module, module.exports, __webpack_require__);
15
+ return module.exports;
16
+ }
17
+ (()=>{
18
+ __webpack_require__.n = (module)=>{
19
+ var getter = module && module.__esModule ? ()=>module['default'] : ()=>module;
20
+ __webpack_require__.d(getter, {
21
+ a: getter
22
+ });
23
+ return getter;
24
+ };
25
+ })();
26
+ (()=>{
27
+ __webpack_require__.d = (exports1, getters, values)=>{
28
+ var define = (defs, kind)=>{
29
+ for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
30
+ enumerable: true,
31
+ [kind]: defs[key]
32
+ });
33
+ };
34
+ define(getters, "get");
35
+ define(values, "value");
36
+ };
37
+ })();
38
+ (()=>{
39
+ __webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
40
+ })();
41
+ (()=>{
42
+ __webpack_require__.r = (exports1)=>{
43
+ if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
44
+ value: 'Module'
45
+ });
46
+ Object.defineProperty(exports1, '__esModule', {
47
+ value: true
48
+ });
49
+ };
50
+ })();
51
+ var __webpack_exports__ = {};
52
+ (()=>{
53
+ __webpack_require__.r(__webpack_exports__);
54
+ var _backend_federation_manifest_index__rspack_import_0 = __webpack_require__("./backend-federation-manifest/index");
55
+ var __rspack_reexport = {};
56
+ for(const __rspack_import_key in _backend_federation_manifest_index__rspack_import_0)if ("default" !== __rspack_import_key) __rspack_reexport[__rspack_import_key] = ()=>_backend_federation_manifest_index__rspack_import_0[__rspack_import_key];
57
+ __webpack_require__.d(__webpack_exports__, __rspack_reexport);
58
+ })();
59
+ for(var __rspack_i in __webpack_exports__)exports[__rspack_i] = __webpack_exports__[__rspack_i];
60
+ Object.defineProperty(exports, '__esModule', {
61
+ value: true
62
+ });
@@ -0,0 +1,65 @@
1
+ "use strict";
2
+ var __webpack_require__ = {};
3
+ (()=>{
4
+ __webpack_require__.d = (exports1, getters, values)=>{
5
+ var define = (defs, kind)=>{
6
+ for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
7
+ enumerable: true,
8
+ [kind]: defs[key]
9
+ });
10
+ };
11
+ define(getters, "get");
12
+ define(values, "value");
13
+ };
14
+ })();
15
+ (()=>{
16
+ __webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
17
+ })();
18
+ (()=>{
19
+ __webpack_require__.r = (exports1)=>{
20
+ if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
21
+ value: 'Module'
22
+ });
23
+ Object.defineProperty(exports1, '__esModule', {
24
+ value: true
25
+ });
26
+ };
27
+ })();
28
+ var __webpack_exports__ = {};
29
+ __webpack_require__.r(__webpack_exports__);
30
+ __webpack_require__.d(__webpack_exports__, {
31
+ BACKEND_FEDERATION_CONTRACT_VERSION: ()=>universal_namespaceObject.BACKEND_FEDERATION_CONTRACT_VERSION,
32
+ BACKEND_FEDERATION_EFFECT_EXPOSE: ()=>universal_namespaceObject.BACKEND_FEDERATION_EFFECT_EXPOSE,
33
+ BACKEND_FEDERATION_MANIFEST_FILE: ()=>universal_namespaceObject.BACKEND_FEDERATION_MANIFEST_FILE,
34
+ BACKEND_FEDERATION_NODE_ADAPTER_VERSION: ()=>universal_namespaceObject.BACKEND_FEDERATION_NODE_ADAPTER_VERSION,
35
+ createBackendFederationLoadEntryPlugin: ()=>plugin_js_namespaceObject.createBackendFederationLoadEntryPlugin,
36
+ createBackendFederationRuntime: ()=>runtime_js_namespaceObject.createBackendFederationRuntime,
37
+ loadBackendFederatedEffectApi: ()=>load_js_namespaceObject.loadBackendFederatedEffectApi,
38
+ validateExpectedBackendFederationIdentity: ()=>identity_js_namespaceObject.validateExpectedBackendFederationIdentity
39
+ });
40
+ const universal_namespaceObject = require("@modern-js/utils/universal");
41
+ const identity_js_namespaceObject = require("./backend-federation/identity.js");
42
+ const load_js_namespaceObject = require("./backend-federation/load.js");
43
+ const plugin_js_namespaceObject = require("./backend-federation/plugin.js");
44
+ const runtime_js_namespaceObject = require("./backend-federation/runtime.js");
45
+ exports.BACKEND_FEDERATION_CONTRACT_VERSION = __webpack_exports__.BACKEND_FEDERATION_CONTRACT_VERSION;
46
+ exports.BACKEND_FEDERATION_EFFECT_EXPOSE = __webpack_exports__.BACKEND_FEDERATION_EFFECT_EXPOSE;
47
+ exports.BACKEND_FEDERATION_MANIFEST_FILE = __webpack_exports__.BACKEND_FEDERATION_MANIFEST_FILE;
48
+ exports.BACKEND_FEDERATION_NODE_ADAPTER_VERSION = __webpack_exports__.BACKEND_FEDERATION_NODE_ADAPTER_VERSION;
49
+ exports.createBackendFederationLoadEntryPlugin = __webpack_exports__.createBackendFederationLoadEntryPlugin;
50
+ exports.createBackendFederationRuntime = __webpack_exports__.createBackendFederationRuntime;
51
+ exports.loadBackendFederatedEffectApi = __webpack_exports__.loadBackendFederatedEffectApi;
52
+ exports.validateExpectedBackendFederationIdentity = __webpack_exports__.validateExpectedBackendFederationIdentity;
53
+ for(var __rspack_i in __webpack_exports__)if (-1 === [
54
+ "BACKEND_FEDERATION_CONTRACT_VERSION",
55
+ "BACKEND_FEDERATION_EFFECT_EXPOSE",
56
+ "BACKEND_FEDERATION_MANIFEST_FILE",
57
+ "BACKEND_FEDERATION_NODE_ADAPTER_VERSION",
58
+ "createBackendFederationLoadEntryPlugin",
59
+ "createBackendFederationRuntime",
60
+ "loadBackendFederatedEffectApi",
61
+ "validateExpectedBackendFederationIdentity"
62
+ ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
63
+ Object.defineProperty(exports, '__esModule', {
64
+ value: true
65
+ });
@@ -0,0 +1,101 @@
1
+ "use strict";
2
+ var __webpack_require__ = {};
3
+ (()=>{
4
+ __webpack_require__.d = (exports1, getters, values)=>{
5
+ var define = (defs, kind)=>{
6
+ for(var key in defs)if (__webpack_require__.o(defs, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
7
+ enumerable: true,
8
+ [kind]: defs[key]
9
+ });
10
+ };
11
+ define(getters, "get");
12
+ define(values, "value");
13
+ };
14
+ })();
15
+ (()=>{
16
+ __webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
17
+ })();
18
+ (()=>{
19
+ __webpack_require__.r = (exports1)=>{
20
+ if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
21
+ value: 'Module'
22
+ });
23
+ Object.defineProperty(exports1, '__esModule', {
24
+ value: true
25
+ });
26
+ };
27
+ })();
28
+ var __webpack_exports__ = {};
29
+ __webpack_require__.r(__webpack_exports__);
30
+ __webpack_require__.d(__webpack_exports__, {
31
+ dispatchEffectBffRequestWithContext: ()=>dispatchEffectBffRequestWithContext
32
+ });
33
+ const external_safe_failure_js_namespaceObject = require("../safe-failure.js");
34
+ const external_operation_context_js_namespaceObject = require("./operation-context.js");
35
+ function normalizeEffectBffPrefix(prefix) {
36
+ if (!prefix || '/' === prefix) return '';
37
+ return prefix.endsWith('/') ? prefix.slice(0, -1) : prefix;
38
+ }
39
+ function removeEffectBffPrefixFromPath(pathname, prefix) {
40
+ const normalized = normalizeEffectBffPrefix(prefix);
41
+ if (!normalized || pathname !== normalized && !pathname.startsWith(`${normalized}/`)) return pathname;
42
+ const sliced = pathname.slice(normalized.length);
43
+ return sliced.startsWith('/') ? sliced : `/${sliced}`;
44
+ }
45
+ function matchesEffectBffPrefix(pathname, prefix) {
46
+ const normalized = normalizeEffectBffPrefix(prefix);
47
+ return !normalized || pathname === normalized || pathname.startsWith(`${normalized}/`);
48
+ }
49
+ function createEffectBffMountedRequest(req, prefix) {
50
+ const url = new URL(req.url);
51
+ const nextPath = removeEffectBffPrefixFromPath(url.pathname, prefix);
52
+ if (nextPath !== url.pathname) {
53
+ url.pathname = nextPath;
54
+ return new Request(url, req);
55
+ }
56
+ return req;
57
+ }
58
+ function createEffectBffDispatchContext(originalRequest, mountedRequest, options) {
59
+ const path = options.path ?? new URL(originalRequest.url).pathname;
60
+ const method = options.method ?? originalRequest.method;
61
+ const env = options.env ?? {};
62
+ return {
63
+ request: mountedRequest,
64
+ env,
65
+ path,
66
+ method,
67
+ operationContext: (0, external_operation_context_js_namespaceObject.createEffectOperationContext)({
68
+ request: mountedRequest,
69
+ env,
70
+ path,
71
+ method
72
+ })
73
+ };
74
+ }
75
+ async function dispatchEffectBffRequestWithContext(handler, request, options) {
76
+ const requestPath = new URL(request.url).pathname;
77
+ if (!matchesEffectBffPrefix(requestPath, options.prefix)) return new Response('', {
78
+ status: 404
79
+ });
80
+ const mountedRequest = createEffectBffMountedRequest(request, options.prefix);
81
+ const effectContext = createEffectBffDispatchContext(request, mountedRequest, options);
82
+ try {
83
+ const response = await options.runWithEffectContext(effectContext, ()=>handler(mountedRequest, effectContext));
84
+ if (!(response instanceof Response)) throw new Error('[BFF][Effect] Effect handler must return Response instance.');
85
+ return new Response(response.body, response);
86
+ } catch (error) {
87
+ if (error instanceof Response) return new Response(error.body, error);
88
+ if (options.onError) {
89
+ const errorResponse = await options.onError(error, effectContext);
90
+ if (errorResponse instanceof Response) return errorResponse;
91
+ }
92
+ return (0, external_safe_failure_js_namespaceObject.createSafeFailureResponse)(error);
93
+ }
94
+ }
95
+ exports.dispatchEffectBffRequestWithContext = __webpack_exports__.dispatchEffectBffRequestWithContext;
96
+ for(var __rspack_i in __webpack_exports__)if (-1 === [
97
+ "dispatchEffectBffRequestWithContext"
98
+ ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
99
+ Object.defineProperty(exports, '__esModule', {
100
+ value: true
101
+ });
@@ -1,7 +1,10 @@
1
1
  "use strict";
2
2
  var __webpack_modules__ = {
3
- "../safe-failure" (module) {
4
- module.exports = require("../safe-failure.js");
3
+ "./backend-federation" (module) {
4
+ module.exports = require("./backend-federation.js");
5
+ },
6
+ "./dispatch" (module) {
7
+ module.exports = require("./dispatch.js");
5
8
  },
6
9
  "./edge-context" (module) {
7
10
  module.exports = require("./edge-context.js");
@@ -63,85 +66,40 @@ function __webpack_require__(moduleId) {
63
66
  var __webpack_exports__ = {};
64
67
  (()=>{
65
68
  __webpack_require__.r(__webpack_exports__);
66
- var _safe_failure__rspack_import_0 = __webpack_require__("../safe-failure");
69
+ var _dispatch__rspack_import_0 = __webpack_require__("./dispatch");
67
70
  var _edge_context__rspack_import_1 = __webpack_require__("./edge-context");
68
71
  var _module__rspack_import_2 = __webpack_require__("./module");
69
- var _operation_context__rspack_import_3 = __webpack_require__("./operation-context");
72
+ var _backend_federation__rspack_import_3 = __webpack_require__("./backend-federation");
70
73
  var _handler__rspack_import_4 = __webpack_require__("./handler");
71
74
  var __rspack_reexport = {};
72
75
  for(const __rspack_import_key in _handler__rspack_import_4)if ([
73
- "runWithEffectContext",
74
- "useEffectContext",
75
- "default",
76
+ "validateExpectedBackendFederationIdentity",
77
+ "createBackendFederationLoadEntryPlugin",
76
78
  "useOperationContext",
79
+ "BACKEND_FEDERATION_MANIFEST_FILE",
77
80
  "createEffectOperationContext",
81
+ "loadBackendFederatedEffectApi",
82
+ "BACKEND_FEDERATION_CONTRACT_VERSION",
83
+ "createEffectBffEdgeHandler",
84
+ "runWithEffectContext",
85
+ "BACKEND_FEDERATION_EFFECT_EXPOSE",
86
+ "useEffectContext",
78
87
  "dispatchEffectBffRequest",
88
+ "default",
89
+ "BACKEND_FEDERATION_NODE_ADAPTER_VERSION",
79
90
  "createEffectBffTestHandler",
80
- "createEffectBffEdgeHandler"
91
+ "createBackendFederationRuntime",
92
+ "createEffectBffEdgeDispatcher"
81
93
  ].indexOf(__rspack_import_key) < 0) __rspack_reexport[__rspack_import_key] = ()=>_handler__rspack_import_4[__rspack_import_key];
82
94
  __webpack_require__.d(__webpack_exports__, __rspack_reexport);
83
- function normalizePrefix(prefix) {
84
- if (!prefix || '/' === prefix) return '';
85
- return prefix.endsWith('/') ? prefix.slice(0, -1) : prefix;
86
- }
87
- function removePrefixFromPath(pathname, prefix) {
88
- const normalized = normalizePrefix(prefix);
89
- if (!normalized || pathname !== normalized && !pathname.startsWith(`${normalized}/`)) return pathname;
90
- const sliced = pathname.slice(normalized.length);
91
- return sliced.startsWith('/') ? sliced : `/${sliced}`;
92
- }
93
- function matchesPrefix(pathname, prefix) {
94
- const normalized = normalizePrefix(prefix);
95
- return !normalized || pathname === normalized || pathname.startsWith(`${normalized}/`);
96
- }
97
- function createRequestForMountedPrefix(req, prefix) {
98
- const url = new URL(req.url);
99
- const nextPath = removePrefixFromPath(url.pathname, prefix);
100
- if (nextPath === url.pathname) return req;
101
- url.pathname = nextPath;
102
- return new Request(url, req);
103
- }
104
- function createEdgeEffectContext(originalRequest, effectRequest, options) {
105
- const originalPath = options.path || new URL(originalRequest.url).pathname;
106
- const method = options.method || originalRequest.method;
107
- return {
108
- request: effectRequest,
109
- env: options.env || {},
110
- path: originalPath,
111
- method,
112
- operationContext: (0, _operation_context__rspack_import_3.createEffectOperationContext)({
113
- request: effectRequest,
114
- env: options.env || {},
115
- path: originalPath,
116
- method
117
- })
118
- };
119
- }
120
- function createRuntimeErrorResponse(error) {
121
- return (0, _safe_failure__rspack_import_0.createSafeFailureResponse)(error);
122
- }
95
+ var _operation_context__rspack_import_5 = __webpack_require__("./operation-context");
123
96
  async function dispatchEffectBffRequest(handler, request, options = {}) {
124
- const requestPathname = new URL(request.url).pathname;
125
- if (!matchesPrefix(requestPathname, options.prefix)) return new Response(null, {
126
- status: 404
97
+ return (0, _dispatch__rspack_import_0.dispatchEffectBffRequestWithContext)(handler, request, {
98
+ ...options,
99
+ runWithEffectContext: _edge_context__rspack_import_1.runWithEffectContext
127
100
  });
128
- const effectRequest = createRequestForMountedPrefix(request, options.prefix);
129
- const effectContext = createEdgeEffectContext(request, effectRequest, options);
130
- try {
131
- const response = await (0, _edge_context__rspack_import_1.runWithEffectContext)(effectContext, ()=>handler.length > 1 ? handler(effectRequest, effectContext) : handler(effectRequest));
132
- if (!(response instanceof Response)) throw new Error('[BFF][Effect] Effect handler must return a Response instance.');
133
- return new Response(response.body, response);
134
- } catch (error) {
135
- if (error instanceof Response) return new Response(error.body, error);
136
- if (options.onError) {
137
- const errorResponse = await options.onError(error, effectContext);
138
- if (errorResponse instanceof Response) return errorResponse;
139
- }
140
- return createRuntimeErrorResponse(error);
141
- }
142
101
  }
143
- const createEffectBffTestHandler = createEffectBffEdgeHandler;
144
- async function createEffectBffEdgeHandler(options) {
102
+ async function createEffectBffEdgeDispatcher(options) {
145
103
  const loaded = await (0, _module__rspack_import_2.resolveEffectBffModuleHandler)(options.module, {
146
104
  openapi: options.openapi,
147
105
  dataPlatform: options.dataPlatform,
@@ -149,7 +107,7 @@ var __webpack_exports__ = {};
149
107
  });
150
108
  if (!loaded) throw new Error('[BFF][Effect] Invalid Effect edge module. Export defineEffectBff(...) or a { api, layer } HttpApi module.');
151
109
  return {
152
- handler: (request, dispatchOptions = {})=>dispatchEffectBffRequest(loaded.handler, request, {
110
+ dispatch: (request, dispatchOptions = {})=>dispatchEffectBffRequest(loaded.handler, request, {
153
111
  ...dispatchOptions,
154
112
  prefix: options.prefix,
155
113
  onError: options.onError
@@ -159,32 +117,67 @@ var __webpack_exports__ = {};
159
117
  }
160
118
  };
161
119
  }
120
+ const createEffectBffTestHandler = createEffectBffEdgeHandler;
121
+ async function createEffectBffEdgeHandler(options) {
122
+ const dispatcher = await createEffectBffEdgeDispatcher(options);
123
+ return {
124
+ handler: dispatcher.dispatch,
125
+ dispose: dispatcher.dispose
126
+ };
127
+ }
162
128
  __webpack_require__.d(__webpack_exports__, {
129
+ BACKEND_FEDERATION_CONTRACT_VERSION: ()=>_backend_federation__rspack_import_3.BACKEND_FEDERATION_CONTRACT_VERSION,
130
+ BACKEND_FEDERATION_EFFECT_EXPOSE: ()=>_backend_federation__rspack_import_3.BACKEND_FEDERATION_EFFECT_EXPOSE,
131
+ BACKEND_FEDERATION_MANIFEST_FILE: ()=>_backend_federation__rspack_import_3.BACKEND_FEDERATION_MANIFEST_FILE,
132
+ BACKEND_FEDERATION_NODE_ADAPTER_VERSION: ()=>_backend_federation__rspack_import_3.BACKEND_FEDERATION_NODE_ADAPTER_VERSION,
133
+ createBackendFederationLoadEntryPlugin: ()=>_backend_federation__rspack_import_3.createBackendFederationLoadEntryPlugin,
134
+ createBackendFederationRuntime: ()=>_backend_federation__rspack_import_3.createBackendFederationRuntime,
135
+ createEffectBffEdgeDispatcher: ()=>createEffectBffEdgeDispatcher,
163
136
  createEffectBffEdgeHandler: ()=>createEffectBffEdgeHandler,
164
- createEffectOperationContext: ()=>_operation_context__rspack_import_3.createEffectOperationContext,
137
+ createEffectOperationContext: ()=>_operation_context__rspack_import_5.createEffectOperationContext,
165
138
  dispatchEffectBffRequest: ()=>dispatchEffectBffRequest,
139
+ loadBackendFederatedEffectApi: ()=>_backend_federation__rspack_import_3.loadBackendFederatedEffectApi,
166
140
  runWithEffectContext: ()=>_edge_context__rspack_import_1.runWithEffectContext,
167
141
  useEffectContext: ()=>_edge_context__rspack_import_1.useEffectContext,
168
- useOperationContext: ()=>_edge_context__rspack_import_1.useOperationContext
142
+ useOperationContext: ()=>_edge_context__rspack_import_1.useOperationContext,
143
+ validateExpectedBackendFederationIdentity: ()=>_backend_federation__rspack_import_3.validateExpectedBackendFederationIdentity
169
144
  }, {
170
145
  createEffectBffTestHandler: createEffectBffTestHandler
171
146
  });
172
147
  })();
148
+ exports.BACKEND_FEDERATION_CONTRACT_VERSION = __webpack_exports__.BACKEND_FEDERATION_CONTRACT_VERSION;
149
+ exports.BACKEND_FEDERATION_EFFECT_EXPOSE = __webpack_exports__.BACKEND_FEDERATION_EFFECT_EXPOSE;
150
+ exports.BACKEND_FEDERATION_MANIFEST_FILE = __webpack_exports__.BACKEND_FEDERATION_MANIFEST_FILE;
151
+ exports.BACKEND_FEDERATION_NODE_ADAPTER_VERSION = __webpack_exports__.BACKEND_FEDERATION_NODE_ADAPTER_VERSION;
152
+ exports.createBackendFederationLoadEntryPlugin = __webpack_exports__.createBackendFederationLoadEntryPlugin;
153
+ exports.createBackendFederationRuntime = __webpack_exports__.createBackendFederationRuntime;
154
+ exports.createEffectBffEdgeDispatcher = __webpack_exports__.createEffectBffEdgeDispatcher;
173
155
  exports.createEffectBffEdgeHandler = __webpack_exports__.createEffectBffEdgeHandler;
174
156
  exports.createEffectBffTestHandler = __webpack_exports__.createEffectBffTestHandler;
175
157
  exports.createEffectOperationContext = __webpack_exports__.createEffectOperationContext;
176
158
  exports.dispatchEffectBffRequest = __webpack_exports__.dispatchEffectBffRequest;
159
+ exports.loadBackendFederatedEffectApi = __webpack_exports__.loadBackendFederatedEffectApi;
177
160
  exports.runWithEffectContext = __webpack_exports__.runWithEffectContext;
178
161
  exports.useEffectContext = __webpack_exports__.useEffectContext;
179
162
  exports.useOperationContext = __webpack_exports__.useOperationContext;
163
+ exports.validateExpectedBackendFederationIdentity = __webpack_exports__.validateExpectedBackendFederationIdentity;
180
164
  for(var __rspack_i in __webpack_exports__)if (-1 === [
165
+ "BACKEND_FEDERATION_CONTRACT_VERSION",
166
+ "BACKEND_FEDERATION_EFFECT_EXPOSE",
167
+ "BACKEND_FEDERATION_MANIFEST_FILE",
168
+ "BACKEND_FEDERATION_NODE_ADAPTER_VERSION",
169
+ "createBackendFederationLoadEntryPlugin",
170
+ "createBackendFederationRuntime",
171
+ "createEffectBffEdgeDispatcher",
181
172
  "createEffectBffEdgeHandler",
182
173
  "createEffectBffTestHandler",
183
174
  "createEffectOperationContext",
184
175
  "dispatchEffectBffRequest",
176
+ "loadBackendFederatedEffectApi",
185
177
  "runWithEffectContext",
186
178
  "useEffectContext",
187
- "useOperationContext"
179
+ "useOperationContext",
180
+ "validateExpectedBackendFederationIdentity"
188
181
  ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
189
182
  Object.defineProperty(exports, '__esModule', {
190
183
  value: true
@@ -30,15 +30,13 @@ __webpack_require__.r(__webpack_exports__);
30
30
  __webpack_require__.d(__webpack_exports__, {
31
31
  collectEffectEndpoints: ()=>collectEffectEndpoints,
32
32
  createEffectEndpointContractHash: ()=>createEffectEndpointContractHash,
33
- createEffectOperationContractSource: ()=>createEffectOperationContractSource,
34
33
  ensureLeadingSlash: ()=>ensureLeadingSlash,
35
34
  extractHttpApiFromModule: ()=>extractHttpApiFromModule,
36
- getEffectRoutePath: ()=>getEffectRoutePath,
37
35
  normalizeEffectPrefix: ()=>normalizeEffectPrefix,
38
- resolveEffectApiId: ()=>resolveEffectApiId,
39
36
  toOperationContractSources: ()=>toOperationContractSources
40
37
  });
41
38
  const bff_core_namespaceObject = require("@modern-js/bff-core");
39
+ const external_entry_shape_js_namespaceObject = require("./entry-shape.js");
42
40
  function ensureLeadingSlash(pathname) {
43
41
  return pathname.startsWith('/') ? pathname : `/${pathname}`;
44
42
  }
@@ -88,41 +86,29 @@ function createEffectOperationContractSource(endpoint) {
88
86
  routePath: endpoint.routePath
89
87
  };
90
88
  }
91
- function isRecord(value) {
92
- return 'object' == typeof value && null !== value;
93
- }
94
89
  async function extractHttpApiFromModule(mod, isHttpApi) {
95
- if (!isRecord(mod)) return null;
96
- if (isHttpApi(mod.api)) return mod.api;
97
- const entry = mod.default;
98
- if (isRecord(entry) && isHttpApi(entry.api)) return entry.api;
99
- if ('function' == typeof entry && 0 === entry.length) {
100
- const output = await entry();
101
- if (isRecord(output) && isHttpApi(output.api)) return output.api;
102
- }
103
- return null;
90
+ const facts = (0, external_entry_shape_js_namespaceObject.classifyEffectBffEntryModule)(mod, {
91
+ isRequestHandler: (value)=>'function' == typeof value,
92
+ isValidatorAwareHandlerFactory: external_entry_shape_js_namespaceObject.isValidatorAwareHandlerFactory,
93
+ isHttpApi
94
+ });
95
+ return !facts?.legacyShape && facts?.api !== void 0 && facts.hasRuntimeLayer && (void 0 === facts.createHandler || facts.createHandlerValidatorAware) ? facts.api : null;
104
96
  }
105
97
  function createEffectEndpointContractHash(endpoint, requestId) {
106
98
  return (0, bff_core_namespaceObject.createOperationContractHash)(createEffectOperationContractSource(endpoint), requestId);
107
99
  }
108
100
  exports.collectEffectEndpoints = __webpack_exports__.collectEffectEndpoints;
109
101
  exports.createEffectEndpointContractHash = __webpack_exports__.createEffectEndpointContractHash;
110
- exports.createEffectOperationContractSource = __webpack_exports__.createEffectOperationContractSource;
111
102
  exports.ensureLeadingSlash = __webpack_exports__.ensureLeadingSlash;
112
103
  exports.extractHttpApiFromModule = __webpack_exports__.extractHttpApiFromModule;
113
- exports.getEffectRoutePath = __webpack_exports__.getEffectRoutePath;
114
104
  exports.normalizeEffectPrefix = __webpack_exports__.normalizeEffectPrefix;
115
- exports.resolveEffectApiId = __webpack_exports__.resolveEffectApiId;
116
105
  exports.toOperationContractSources = __webpack_exports__.toOperationContractSources;
117
106
  for(var __rspack_i in __webpack_exports__)if (-1 === [
118
107
  "collectEffectEndpoints",
119
108
  "createEffectEndpointContractHash",
120
- "createEffectOperationContractSource",
121
109
  "ensureLeadingSlash",
122
110
  "extractHttpApiFromModule",
123
- "getEffectRoutePath",
124
111
  "normalizeEffectPrefix",
125
- "resolveEffectApiId",
126
112
  "toOperationContractSources"
127
113
  ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
128
114
  Object.defineProperty(exports, '__esModule', {