@bleedingdev/modern-js-plugin-bff 3.5.0-ultramodern.10 → 3.5.0-ultramodern.100

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 (339) 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 +13 -22
  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/hono/adapter.js +32 -79
  70. package/dist/cjs/runtime/safe-failure.js +2 -1
  71. package/dist/cjs/server.js +19 -30
  72. package/dist/cjs/utils/client-generator/files.js +152 -0
  73. package/dist/cjs/utils/client-generator/generate.js +138 -0
  74. package/dist/cjs/utils/client-generator/index.js +83 -0
  75. package/dist/cjs/utils/client-generator/package-json.js +132 -0
  76. package/dist/cjs/utils/client-generator/write-package.js +125 -0
  77. package/dist/cjs/utils/clientGenerator.js +26 -303
  78. package/dist/cjs/utils/effect-client-generator/generator.js +68 -0
  79. package/dist/cjs/utils/effect-client-generator/index.js +51 -0
  80. package/dist/cjs/utils/effect-client-generator/paths.js +73 -0
  81. package/dist/cjs/utils/effect-client-generator/rendering.js +231 -0
  82. package/dist/cjs/utils/effect-client-generator/runtime.js +85 -0
  83. package/dist/cjs/utils/effect-client-generator/types.js +18 -0
  84. package/dist/cjs/utils/effectClientGenerator.js +5 -262
  85. package/dist/cjs/utils/effectSourceLoader.js +252 -0
  86. package/dist/esm/cli/compress.mjs +14 -0
  87. package/dist/esm/cli/generator.mjs +133 -0
  88. package/dist/esm/cli/prefix.mjs +9 -0
  89. package/dist/esm/cli/serverGlobalVars.mjs +76 -0
  90. package/dist/esm/cli/watch.mjs +13 -0
  91. package/dist/esm/cli.mjs +7 -121
  92. package/dist/esm/loader.mjs +19 -2
  93. package/dist/esm/runtime/data-platform/batch/queue.mjs +246 -0
  94. package/dist/esm/runtime/data-platform/batch/request.mjs +45 -0
  95. package/dist/esm/runtime/data-platform/batch/response.mjs +23 -0
  96. package/dist/esm/runtime/data-platform/batch/telemetry.mjs +23 -0
  97. package/dist/esm/runtime/data-platform/batch/url.mjs +25 -0
  98. package/dist/esm/runtime/data-platform/batch-transport.mjs +12 -0
  99. package/dist/esm/runtime/data-platform/codec.mjs +90 -0
  100. package/dist/esm/runtime/data-platform/index.mjs +6 -610
  101. package/dist/esm/runtime/data-platform/invalidation.mjs +20 -0
  102. package/dist/esm/runtime/data-platform/trace.mjs +29 -0
  103. package/dist/esm/runtime/data-platform/types.mjs +4 -0
  104. package/dist/esm/runtime/data-platform/validation.mjs +128 -0
  105. package/dist/esm/runtime/effect/adapter/constants.mjs +6 -0
  106. package/dist/esm/runtime/effect/adapter/cross-project-policy.mjs +23 -0
  107. package/dist/esm/runtime/effect/adapter/entry.mjs +44 -0
  108. package/dist/esm/runtime/effect/adapter/error-response.mjs +41 -0
  109. package/dist/esm/runtime/effect/adapter/handler.mjs +15 -0
  110. package/dist/esm/runtime/effect/adapter.mjs +27 -147
  111. package/dist/esm/runtime/effect/backend-federation/entry.mjs +61 -0
  112. package/dist/esm/runtime/effect/backend-federation/identity.mjs +41 -0
  113. package/dist/esm/runtime/effect/backend-federation/load.mjs +28 -0
  114. package/dist/esm/runtime/effect/backend-federation/plugin.mjs +15 -0
  115. package/dist/esm/runtime/effect/backend-federation/remotes.mjs +12 -0
  116. package/dist/esm/runtime/effect/backend-federation/runtime.mjs +26 -0
  117. package/dist/esm/runtime/effect/backend-federation/types.mjs +0 -0
  118. package/dist/esm/runtime/effect/backend-federation/utils.mjs +7 -0
  119. package/dist/esm/runtime/effect/backend-federation-manifest/errors.mjs +32 -0
  120. package/dist/esm/runtime/effect/backend-federation-manifest/index.mjs +4 -0
  121. package/dist/esm/runtime/effect/backend-federation-manifest/load.mjs +56 -0
  122. package/dist/esm/runtime/effect/backend-federation-manifest/metadata.mjs +42 -0
  123. package/dist/esm/runtime/effect/backend-federation-manifest/reference.mjs +76 -0
  124. package/dist/esm/runtime/effect/backend-federation-manifest/remote.mjs +30 -0
  125. package/dist/esm/runtime/effect/backend-federation-manifest/types.mjs +0 -0
  126. package/dist/esm/runtime/effect/backend-federation-manifest/validation.mjs +65 -0
  127. package/dist/esm/runtime/effect/backend-federation-manifest.mjs +1 -0
  128. package/dist/esm/runtime/effect/backend-federation.mjs +5 -0
  129. package/dist/esm/runtime/effect/dispatch.mjs +63 -0
  130. package/dist/esm/runtime/effect/edge.mjs +17 -63
  131. package/dist/esm/runtime/effect/endpoint-contracts.mjs +14 -14
  132. package/dist/esm/runtime/effect/entry-shape.mjs +36 -0
  133. package/dist/esm/runtime/effect/handler/batch-handler.mjs +123 -0
  134. package/dist/esm/runtime/effect/handler/batch.mjs +124 -0
  135. package/dist/esm/runtime/effect/handler/definition.mjs +60 -0
  136. package/dist/esm/runtime/effect/handler/envelope.mjs +63 -0
  137. package/dist/esm/runtime/effect/handler/http.mjs +58 -0
  138. package/dist/esm/runtime/effect/handler/openapi.mjs +19 -0
  139. package/dist/esm/runtime/effect/handler/routing.mjs +50 -0
  140. package/dist/esm/runtime/effect/handler/rpc.mjs +22 -0
  141. package/dist/esm/runtime/effect/handler/types.mjs +5 -0
  142. package/dist/esm/runtime/effect/handler.mjs +11 -506
  143. package/dist/esm/runtime/effect/index.mjs +5 -2
  144. package/dist/esm/runtime/effect/module.mjs +25 -82
  145. package/dist/esm/runtime/effect/rpcSerialization.mjs +16 -0
  146. package/dist/esm/runtime/effect-client/batch.mjs +35 -0
  147. package/dist/esm/runtime/effect-client/envelope.mjs +104 -0
  148. package/dist/esm/runtime/effect-client/guards.mjs +3 -0
  149. package/dist/esm/runtime/effect-client/index.mjs +27 -37
  150. package/dist/esm/runtime/effect-client/request-context.mjs +23 -0
  151. package/dist/esm/runtime/effect-client/request.mjs +28 -0
  152. package/dist/esm/runtime/effect-client/runtime.mjs +12 -178
  153. package/dist/esm/runtime/effect-client/types.mjs +0 -0
  154. package/dist/esm/runtime/hono/adapter.mjs +33 -80
  155. package/dist/esm/runtime/safe-failure.mjs +2 -1
  156. package/dist/esm/server.mjs +18 -29
  157. package/dist/esm/utils/client-generator/files.mjs +68 -0
  158. package/dist/esm/utils/client-generator/generate.mjs +88 -0
  159. package/dist/esm/utils/client-generator/index.mjs +4 -0
  160. package/dist/esm/utils/client-generator/package-json.mjs +78 -0
  161. package/dist/esm/utils/client-generator/write-package.mjs +74 -0
  162. package/dist/esm/utils/clientGenerator.mjs +2 -293
  163. package/dist/esm/utils/effect-client-generator/generator.mjs +27 -0
  164. package/dist/esm/utils/effect-client-generator/index.mjs +3 -0
  165. package/dist/esm/utils/effect-client-generator/paths.mjs +25 -0
  166. package/dist/esm/utils/effect-client-generator/rendering.mjs +180 -0
  167. package/dist/esm/utils/effect-client-generator/runtime.mjs +34 -0
  168. package/dist/esm/utils/effect-client-generator/types.mjs +0 -0
  169. package/dist/esm/utils/effectClientGenerator.mjs +1 -249
  170. package/dist/esm/utils/effectSourceLoader.mjs +199 -0
  171. package/dist/esm-node/cli/compress.mjs +15 -0
  172. package/dist/esm-node/cli/generator.mjs +134 -0
  173. package/dist/esm-node/cli/prefix.mjs +10 -0
  174. package/dist/esm-node/cli/serverGlobalVars.mjs +77 -0
  175. package/dist/esm-node/cli/watch.mjs +14 -0
  176. package/dist/esm-node/cli.mjs +7 -121
  177. package/dist/esm-node/loader.mjs +19 -2
  178. package/dist/esm-node/runtime/data-platform/batch/queue.mjs +247 -0
  179. package/dist/esm-node/runtime/data-platform/batch/request.mjs +46 -0
  180. package/dist/esm-node/runtime/data-platform/batch/response.mjs +24 -0
  181. package/dist/esm-node/runtime/data-platform/batch/telemetry.mjs +24 -0
  182. package/dist/esm-node/runtime/data-platform/batch/url.mjs +26 -0
  183. package/dist/esm-node/runtime/data-platform/batch-transport.mjs +13 -0
  184. package/dist/esm-node/runtime/data-platform/codec.mjs +91 -0
  185. package/dist/esm-node/runtime/data-platform/index.mjs +6 -610
  186. package/dist/esm-node/runtime/data-platform/invalidation.mjs +21 -0
  187. package/dist/esm-node/runtime/data-platform/trace.mjs +30 -0
  188. package/dist/esm-node/runtime/data-platform/types.mjs +5 -0
  189. package/dist/esm-node/runtime/data-platform/validation.mjs +129 -0
  190. package/dist/esm-node/runtime/effect/adapter/constants.mjs +7 -0
  191. package/dist/esm-node/runtime/effect/adapter/cross-project-policy.mjs +24 -0
  192. package/dist/esm-node/runtime/effect/adapter/entry.mjs +45 -0
  193. package/dist/esm-node/runtime/effect/adapter/error-response.mjs +42 -0
  194. package/dist/esm-node/runtime/effect/adapter/handler.mjs +16 -0
  195. package/dist/esm-node/runtime/effect/adapter.mjs +28 -149
  196. package/dist/esm-node/runtime/effect/backend-federation/entry.mjs +62 -0
  197. package/dist/esm-node/runtime/effect/backend-federation/identity.mjs +42 -0
  198. package/dist/esm-node/runtime/effect/backend-federation/load.mjs +29 -0
  199. package/dist/esm-node/runtime/effect/backend-federation/plugin.mjs +16 -0
  200. package/dist/esm-node/runtime/effect/backend-federation/remotes.mjs +13 -0
  201. package/dist/esm-node/runtime/effect/backend-federation/runtime.mjs +27 -0
  202. package/dist/esm-node/runtime/effect/backend-federation/types.mjs +1 -0
  203. package/dist/esm-node/runtime/effect/backend-federation/utils.mjs +8 -0
  204. package/dist/esm-node/runtime/effect/backend-federation-manifest/errors.mjs +33 -0
  205. package/dist/esm-node/runtime/effect/backend-federation-manifest/index.mjs +5 -0
  206. package/dist/esm-node/runtime/effect/backend-federation-manifest/load.mjs +57 -0
  207. package/dist/esm-node/runtime/effect/backend-federation-manifest/metadata.mjs +43 -0
  208. package/dist/esm-node/runtime/effect/backend-federation-manifest/reference.mjs +77 -0
  209. package/dist/esm-node/runtime/effect/backend-federation-manifest/remote.mjs +31 -0
  210. package/dist/esm-node/runtime/effect/backend-federation-manifest/types.mjs +1 -0
  211. package/dist/esm-node/runtime/effect/backend-federation-manifest/validation.mjs +66 -0
  212. package/dist/esm-node/runtime/effect/backend-federation-manifest.mjs +2 -0
  213. package/dist/esm-node/runtime/effect/backend-federation.mjs +6 -0
  214. package/dist/esm-node/runtime/effect/dispatch.mjs +64 -0
  215. package/dist/esm-node/runtime/effect/edge.mjs +17 -63
  216. package/dist/esm-node/runtime/effect/endpoint-contracts.mjs +14 -14
  217. package/dist/esm-node/runtime/effect/entry-shape.mjs +37 -0
  218. package/dist/esm-node/runtime/effect/handler/batch-handler.mjs +124 -0
  219. package/dist/esm-node/runtime/effect/handler/batch.mjs +125 -0
  220. package/dist/esm-node/runtime/effect/handler/definition.mjs +61 -0
  221. package/dist/esm-node/runtime/effect/handler/envelope.mjs +64 -0
  222. package/dist/esm-node/runtime/effect/handler/http.mjs +59 -0
  223. package/dist/esm-node/runtime/effect/handler/openapi.mjs +20 -0
  224. package/dist/esm-node/runtime/effect/handler/routing.mjs +51 -0
  225. package/dist/esm-node/runtime/effect/handler/rpc.mjs +23 -0
  226. package/dist/esm-node/runtime/effect/handler/types.mjs +6 -0
  227. package/dist/esm-node/runtime/effect/handler.mjs +11 -506
  228. package/dist/esm-node/runtime/effect/index.mjs +5 -2
  229. package/dist/esm-node/runtime/effect/module.mjs +25 -82
  230. package/dist/esm-node/runtime/effect/rpcSerialization.mjs +17 -0
  231. package/dist/esm-node/runtime/effect-client/batch.mjs +36 -0
  232. package/dist/esm-node/runtime/effect-client/envelope.mjs +105 -0
  233. package/dist/esm-node/runtime/effect-client/guards.mjs +4 -0
  234. package/dist/esm-node/runtime/effect-client/index.mjs +27 -37
  235. package/dist/esm-node/runtime/effect-client/request-context.mjs +24 -0
  236. package/dist/esm-node/runtime/effect-client/request.mjs +29 -0
  237. package/dist/esm-node/runtime/effect-client/runtime.mjs +12 -178
  238. package/dist/esm-node/runtime/effect-client/types.mjs +1 -0
  239. package/dist/esm-node/runtime/hono/adapter.mjs +33 -80
  240. package/dist/esm-node/runtime/safe-failure.mjs +2 -1
  241. package/dist/esm-node/server.mjs +18 -29
  242. package/dist/esm-node/utils/client-generator/files.mjs +69 -0
  243. package/dist/esm-node/utils/client-generator/generate.mjs +89 -0
  244. package/dist/esm-node/utils/client-generator/index.mjs +5 -0
  245. package/dist/esm-node/utils/client-generator/package-json.mjs +79 -0
  246. package/dist/esm-node/utils/client-generator/write-package.mjs +75 -0
  247. package/dist/esm-node/utils/clientGenerator.mjs +2 -293
  248. package/dist/esm-node/utils/effect-client-generator/generator.mjs +28 -0
  249. package/dist/esm-node/utils/effect-client-generator/index.mjs +4 -0
  250. package/dist/esm-node/utils/effect-client-generator/paths.mjs +26 -0
  251. package/dist/esm-node/utils/effect-client-generator/rendering.mjs +181 -0
  252. package/dist/esm-node/utils/effect-client-generator/runtime.mjs +36 -0
  253. package/dist/esm-node/utils/effect-client-generator/types.mjs +1 -0
  254. package/dist/esm-node/utils/effectClientGenerator.mjs +2 -251
  255. package/dist/esm-node/utils/effectSourceLoader.mjs +200 -0
  256. package/dist/types/cli/compress.d.ts +2 -0
  257. package/dist/types/cli/generator.d.ts +7 -0
  258. package/dist/types/cli/prefix.d.ts +2 -0
  259. package/dist/types/cli/serverGlobalVars.d.ts +4 -0
  260. package/dist/types/cli/watch.d.ts +1 -0
  261. package/dist/types/cli.d.ts +0 -1
  262. package/dist/types/runtime/data-platform/batch/queue.d.ts +8 -0
  263. package/dist/types/runtime/data-platform/batch/request.d.ts +13 -0
  264. package/dist/types/runtime/data-platform/batch/response.d.ts +3 -0
  265. package/dist/types/runtime/data-platform/batch/telemetry.d.ts +4 -0
  266. package/dist/types/runtime/data-platform/batch/url.d.ts +4 -0
  267. package/dist/types/runtime/data-platform/batch-transport.d.ts +3 -0
  268. package/dist/types/runtime/data-platform/codec.d.ts +17 -0
  269. package/dist/types/runtime/data-platform/index.d.ts +7 -191
  270. package/dist/types/runtime/data-platform/invalidation.d.ts +8 -0
  271. package/dist/types/runtime/data-platform/trace.d.ts +4 -0
  272. package/dist/types/runtime/data-platform/types.d.ts +146 -0
  273. package/dist/types/runtime/data-platform/validation.d.ts +29 -0
  274. package/dist/types/runtime/effect/adapter/constants.d.ts +1 -0
  275. package/dist/types/runtime/effect/adapter/cross-project-policy.d.ts +4 -0
  276. package/dist/types/runtime/effect/adapter/entry.d.ts +2 -0
  277. package/dist/types/runtime/effect/adapter/error-response.d.ts +2 -0
  278. package/dist/types/runtime/effect/adapter/handler.d.ts +7 -0
  279. package/dist/types/runtime/effect/adapter.d.ts +4 -13
  280. package/dist/types/runtime/effect/backend-federation/entry.d.ts +2 -0
  281. package/dist/types/runtime/effect/backend-federation/identity.d.ts +30 -0
  282. package/dist/types/runtime/effect/backend-federation/load.d.ts +13 -0
  283. package/dist/types/runtime/effect/backend-federation/plugin.d.ts +3 -0
  284. package/dist/types/runtime/effect/backend-federation/remotes.d.ts +2 -0
  285. package/dist/types/runtime/effect/backend-federation/runtime.d.ts +3 -0
  286. package/dist/types/runtime/effect/backend-federation/types.d.ts +73 -0
  287. package/dist/types/runtime/effect/backend-federation/utils.d.ts +2 -0
  288. package/dist/types/runtime/effect/backend-federation-manifest/errors.d.ts +11 -0
  289. package/dist/types/runtime/effect/backend-federation-manifest/index.d.ts +6 -0
  290. package/dist/types/runtime/effect/backend-federation-manifest/load.d.ts +3 -0
  291. package/dist/types/runtime/effect/backend-federation-manifest/metadata.d.ts +18 -0
  292. package/dist/types/runtime/effect/backend-federation-manifest/reference.d.ts +4 -0
  293. package/dist/types/runtime/effect/backend-federation-manifest/remote.d.ts +3 -0
  294. package/dist/types/runtime/effect/backend-federation-manifest/types.d.ts +51 -0
  295. package/dist/types/runtime/effect/backend-federation-manifest/validation.d.ts +5 -0
  296. package/dist/types/runtime/effect/backend-federation-manifest.d.ts +1 -0
  297. package/dist/types/runtime/effect/backend-federation.d.ts +7 -0
  298. package/dist/types/runtime/effect/dispatch.d.ts +13 -0
  299. package/dist/types/runtime/effect/edge.d.ts +8 -8
  300. package/dist/types/runtime/effect/endpoint-contracts.d.ts +11 -7
  301. package/dist/types/runtime/effect/entry-shape.d.ts +31 -0
  302. package/dist/types/runtime/effect/handler/batch-handler.d.ts +11 -0
  303. package/dist/types/runtime/effect/handler/batch.d.ts +17 -0
  304. package/dist/types/runtime/effect/handler/definition.d.ts +17 -0
  305. package/dist/types/runtime/effect/handler/envelope.d.ts +13 -0
  306. package/dist/types/runtime/effect/handler/http.d.ts +14 -0
  307. package/dist/types/runtime/effect/handler/openapi.d.ts +4 -0
  308. package/dist/types/runtime/effect/handler/routing.d.ts +5 -0
  309. package/dist/types/runtime/effect/handler/rpc.d.ts +7 -0
  310. package/dist/types/runtime/effect/handler/types.d.ts +148 -0
  311. package/dist/types/runtime/effect/handler.d.ts +4 -190
  312. package/dist/types/runtime/effect/index.d.ts +3 -0
  313. package/dist/types/runtime/effect/module.d.ts +3 -2
  314. package/dist/types/runtime/effect/rpcSerialization.d.ts +3 -0
  315. package/dist/types/runtime/effect-client/batch.d.ts +2 -0
  316. package/dist/types/runtime/effect-client/envelope.d.ts +15 -0
  317. package/dist/types/runtime/effect-client/guards.d.ts +2 -0
  318. package/dist/types/runtime/effect-client/index.d.ts +1 -1
  319. package/dist/types/runtime/effect-client/request-context.d.ts +3 -0
  320. package/dist/types/runtime/effect-client/request.d.ts +1 -0
  321. package/dist/types/runtime/effect-client/runtime.d.ts +2 -68
  322. package/dist/types/runtime/effect-client/types.d.ts +68 -0
  323. package/dist/types/runtime/hono/adapter.d.ts +14 -8
  324. package/dist/types/utils/client-generator/files.d.ts +28 -0
  325. package/dist/types/utils/client-generator/generate.d.ts +26 -0
  326. package/dist/types/utils/client-generator/index.d.ts +7 -0
  327. package/dist/types/utils/client-generator/package-json.d.ts +16 -0
  328. package/dist/types/utils/client-generator/write-package.d.ts +6 -0
  329. package/dist/types/utils/clientGenerator.d.ts +2 -37
  330. package/dist/types/utils/crossProjectServerPolicy.d.ts +3 -2
  331. package/dist/types/utils/effect-client-generator/generator.d.ts +10 -0
  332. package/dist/types/utils/effect-client-generator/index.d.ts +4 -0
  333. package/dist/types/utils/effect-client-generator/paths.d.ts +5 -0
  334. package/dist/types/utils/effect-client-generator/rendering.d.ts +4 -0
  335. package/dist/types/utils/effect-client-generator/runtime.d.ts +12 -0
  336. package/dist/types/utils/effect-client-generator/types.d.ts +27 -0
  337. package/dist/types/utils/effectClientGenerator.d.ts +2 -41
  338. package/dist/types/utils/effectSourceLoader.d.ts +15 -0
  339. package/package.json +57 -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,18 @@ __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");
40
+ function resolveEffectEndpointName(endpoint) {
41
+ if ('string' == typeof endpoint.identifier && endpoint.identifier) return endpoint.identifier;
42
+ if ('string' == typeof endpoint.name && endpoint.name) return endpoint.name;
43
+ return '';
44
+ }
42
45
  function ensureLeadingSlash(pathname) {
43
46
  return pathname.startsWith('/') ? pathname : `/${pathname}`;
44
47
  }
@@ -67,7 +70,7 @@ function collectEffectEndpoints(reflect, api, prefix) {
67
70
  endpoints.push({
68
71
  apiId,
69
72
  groupName: String(group.identifier),
70
- endpointName: String(endpoint.name),
73
+ endpointName: resolveEffectEndpointName(endpoint),
71
74
  method: String(endpoint.method).toUpperCase(),
72
75
  routePath: getEffectRoutePath(prefix, String(endpoint.path))
73
76
  });
@@ -88,41 +91,29 @@ function createEffectOperationContractSource(endpoint) {
88
91
  routePath: endpoint.routePath
89
92
  };
90
93
  }
91
- function isRecord(value) {
92
- return 'object' == typeof value && null !== value;
93
- }
94
94
  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;
95
+ const facts = (0, external_entry_shape_js_namespaceObject.classifyEffectBffEntryModule)(mod, {
96
+ isRequestHandler: (value)=>'function' == typeof value,
97
+ isValidatorAwareHandlerFactory: external_entry_shape_js_namespaceObject.isValidatorAwareHandlerFactory,
98
+ isHttpApi
99
+ });
100
+ return !facts?.legacyShape && facts?.api !== void 0 && facts.hasRuntimeLayer && (void 0 === facts.createHandler || facts.createHandlerValidatorAware) ? facts.api : null;
104
101
  }
105
102
  function createEffectEndpointContractHash(endpoint, requestId) {
106
103
  return (0, bff_core_namespaceObject.createOperationContractHash)(createEffectOperationContractSource(endpoint), requestId);
107
104
  }
108
105
  exports.collectEffectEndpoints = __webpack_exports__.collectEffectEndpoints;
109
106
  exports.createEffectEndpointContractHash = __webpack_exports__.createEffectEndpointContractHash;
110
- exports.createEffectOperationContractSource = __webpack_exports__.createEffectOperationContractSource;
111
107
  exports.ensureLeadingSlash = __webpack_exports__.ensureLeadingSlash;
112
108
  exports.extractHttpApiFromModule = __webpack_exports__.extractHttpApiFromModule;
113
- exports.getEffectRoutePath = __webpack_exports__.getEffectRoutePath;
114
109
  exports.normalizeEffectPrefix = __webpack_exports__.normalizeEffectPrefix;
115
- exports.resolveEffectApiId = __webpack_exports__.resolveEffectApiId;
116
110
  exports.toOperationContractSources = __webpack_exports__.toOperationContractSources;
117
111
  for(var __rspack_i in __webpack_exports__)if (-1 === [
118
112
  "collectEffectEndpoints",
119
113
  "createEffectEndpointContractHash",
120
- "createEffectOperationContractSource",
121
114
  "ensureLeadingSlash",
122
115
  "extractHttpApiFromModule",
123
- "getEffectRoutePath",
124
116
  "normalizeEffectPrefix",
125
- "resolveEffectApiId",
126
117
  "toOperationContractSources"
127
118
  ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
128
119
  Object.defineProperty(exports, '__esModule', {