@bleedingdev/modern-js-plugin-bff 3.5.0-ultramodern.6 → 3.5.0-ultramodern.76

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 +152 -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 +173 -0
  84. package/dist/esm/cli/compress.mjs +14 -0
  85. package/dist/esm/cli/generator.mjs +101 -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 +123 -0
  167. package/dist/esm-node/cli/compress.mjs +15 -0
  168. package/dist/esm-node/cli/generator.mjs +102 -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 +124 -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 +10 -0
  332. package/package.json +45 -33
@@ -0,0 +1,84 @@
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
+ const EFFECT_VALIDATOR_AWARE_FACTORY = Symbol.for('modernjs.effect.validatorAware');
31
+ function isValidatorAwareHandlerFactory(factory) {
32
+ return Boolean('function' == typeof factory && factory[EFFECT_VALIDATOR_AWARE_FACTORY]);
33
+ }
34
+ const strictEffectApproachMessage = '[BFF][Effect] strictEffectApproach is enforced: Effect API entries export defineEffectBff(...) or { api, layer } HttpApi module. Raw handler exports, default request handlers, unbranded custom createHandler factories not valid Effect API entries.';
35
+ function isEffectEntryRecord(value) {
36
+ return 'object' == typeof value && null !== value;
37
+ }
38
+ function classifyEffectBffEntryModule(value, predicates) {
39
+ if (!isEffectEntryRecord(value)) return null;
40
+ const rootModule = value;
41
+ if (predicates.isRequestHandler(rootModule.handler)) return createEntryShapeFacts(rootModule, predicates, '`handler` export');
42
+ const defaultEntry = rootModule.default;
43
+ if (predicates.isRequestHandler(defaultEntry)) return createEntryShapeFacts(rootModule, predicates, 'default request handler');
44
+ const module = isEffectEntryRecord(defaultEntry) ? {
45
+ ...rootModule,
46
+ ...defaultEntry
47
+ } : rootModule;
48
+ if (predicates.isRequestHandler(module.handler)) return createEntryShapeFacts(module, predicates, '`handler` export');
49
+ return createEntryShapeFacts(module, predicates);
50
+ }
51
+ function createEntryShapeFacts(module, predicates, legacyShape) {
52
+ const createHandler = 'function' == typeof module.createHandler ? module.createHandler : void 0;
53
+ const api = predicates.isHttpApi(module.api) ? module.api : void 0;
54
+ const hasRuntimeLayer = void 0 !== module.layer;
55
+ return {
56
+ module,
57
+ legacyShape,
58
+ createHandler,
59
+ createHandlerValidatorAware: void 0 !== createHandler && predicates.isValidatorAwareHandlerFactory(createHandler),
60
+ api,
61
+ layer: module.layer,
62
+ hasRuntimeLayer
63
+ };
64
+ }
65
+ __webpack_require__.d(__webpack_exports__, {
66
+ classifyEffectBffEntryModule: ()=>classifyEffectBffEntryModule,
67
+ isValidatorAwareHandlerFactory: ()=>isValidatorAwareHandlerFactory
68
+ }, {
69
+ EFFECT_VALIDATOR_AWARE_FACTORY: EFFECT_VALIDATOR_AWARE_FACTORY,
70
+ strictEffectApproachMessage: strictEffectApproachMessage
71
+ });
72
+ exports.EFFECT_VALIDATOR_AWARE_FACTORY = __webpack_exports__.EFFECT_VALIDATOR_AWARE_FACTORY;
73
+ exports.classifyEffectBffEntryModule = __webpack_exports__.classifyEffectBffEntryModule;
74
+ exports.isValidatorAwareHandlerFactory = __webpack_exports__.isValidatorAwareHandlerFactory;
75
+ exports.strictEffectApproachMessage = __webpack_exports__.strictEffectApproachMessage;
76
+ for(var __rspack_i in __webpack_exports__)if (-1 === [
77
+ "EFFECT_VALIDATOR_AWARE_FACTORY",
78
+ "classifyEffectBffEntryModule",
79
+ "isValidatorAwareHandlerFactory",
80
+ "strictEffectApproachMessage"
81
+ ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
82
+ Object.defineProperty(exports, '__esModule', {
83
+ value: true
84
+ });
@@ -0,0 +1,161 @@
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
+ createDataPlatformBatchRequestHandler: ()=>createDataPlatformBatchRequestHandler
32
+ });
33
+ const index_js_namespaceObject = require("../../data-platform/index.js");
34
+ const external_batch_js_namespaceObject = require("./batch.js");
35
+ const external_routing_js_namespaceObject = require("./routing.js");
36
+ function createDataPlatformBatchRequestHandler(options) {
37
+ const dataPlatformBatchOptions = options.dataPlatform?.batch;
38
+ const batchEnabled = dataPlatformBatchOptions?.enabled !== false;
39
+ const batchPath = (0, external_batch_js_namespaceObject.normalizeBatchPath)(dataPlatformBatchOptions?.endpoint);
40
+ const batchMaxSize = Math.max(1, dataPlatformBatchOptions?.maxBatchSize ?? 16);
41
+ const batchMaxBytes = Math.max(1024, dataPlatformBatchOptions?.maxBatchBytes ?? 65536);
42
+ const batchConcurrency = Math.max(1, dataPlatformBatchOptions?.maxConcurrency ?? 4);
43
+ const batchItemTimeoutMs = Math.max(0, dataPlatformBatchOptions?.requestTimeoutMs ?? 10000);
44
+ const batchAllowedMethods = (0, external_batch_js_namespaceObject.normalizeBatchAllowedMethods)(dataPlatformBatchOptions?.allowedMethods);
45
+ const envelopeHeader = options.dataPlatform?.envelopeHeader || index_js_namespaceObject.DEFAULT_DATA_ENVELOPE_HEADER;
46
+ const normalizedEnvelopeHeader = envelopeHeader.toLowerCase();
47
+ const handle = async (request, context)=>{
48
+ const mountedPrefix = (0, external_routing_js_namespaceObject.getMountedPrefixFromContext)(request, context);
49
+ const method = (0, external_batch_js_namespaceObject.normalizeItemMethod)(request.method);
50
+ if ('POST' !== method) return (0, external_batch_js_namespaceObject.createBatchValidationResponse)('Batch endpoint only supports POST requests', 405);
51
+ const contentType = request.headers.get('content-type') || '';
52
+ if (!contentType.includes('application/json')) return (0, external_batch_js_namespaceObject.createBatchValidationResponse)('Batch endpoint requires application/json content-type', 415);
53
+ const payloadText = await request.text();
54
+ if ((0, external_batch_js_namespaceObject.toTextLength)(payloadText) > batchMaxBytes) return (0, external_batch_js_namespaceObject.createBatchValidationResponse)(`Batch payload exceeds max size (${String(batchMaxBytes)} bytes)`, 413);
55
+ let payload;
56
+ try {
57
+ payload = JSON.parse(payloadText);
58
+ } catch {
59
+ return (0, external_batch_js_namespaceObject.createBatchValidationResponse)('Invalid batch payload JSON');
60
+ }
61
+ if (!(0, external_batch_js_namespaceObject.isBatchRequestPayload)(payload)) return (0, external_batch_js_namespaceObject.createBatchValidationResponse)('Invalid batch payload shape');
62
+ if (0 === payload.items.length) return (0, external_batch_js_namespaceObject.createBatchValidationResponse)('Batch payload items cannot be empty');
63
+ if (payload.items.length > batchMaxSize) return (0, external_batch_js_namespaceObject.createBatchValidationResponse)(`Batch item count exceeds max size (${String(batchMaxSize)})`, 413);
64
+ const responseItems = await (0, external_batch_js_namespaceObject.mapWithConcurrency)(payload.items, batchConcurrency, async (rawItem, index)=>{
65
+ const fallbackId = `item_${String(index)}`;
66
+ const itemId = (0, external_batch_js_namespaceObject.isPlainObject)(rawItem) && 'string' == typeof rawItem.id ? rawItem.id : fallbackId;
67
+ if (!(0, external_batch_js_namespaceObject.isPlainObject)(rawItem)) return (0, external_batch_js_namespaceObject.toBatchItemError)(itemId, 400, 'Invalid batch item; expected object');
68
+ if ('string' != typeof rawItem.path || 0 === rawItem.path.length) return (0, external_batch_js_namespaceObject.toBatchItemError)(itemId, 400, 'Invalid batch item path');
69
+ if (!rawItem.path.startsWith('/')) return (0, external_batch_js_namespaceObject.toBatchItemError)(itemId, 400, 'Batch item path must start with "/"');
70
+ const normalizedItemPath = (0, external_routing_js_namespaceObject.removeMountedPrefixFromBatchPath)(rawItem.path, mountedPrefix);
71
+ const itemPathname = normalizedItemPath.split('?')[0] || normalizedItemPath;
72
+ if (itemPathname === batchPath || itemPathname.startsWith(`${batchPath}/`)) return (0, external_batch_js_namespaceObject.toBatchItemError)(itemId, 400, 'Batch item path cannot target batch endpoint');
73
+ const itemMethod = (0, external_batch_js_namespaceObject.normalizeItemMethod)('string' == typeof rawItem.method ? rawItem.method : void 0);
74
+ if (!batchAllowedMethods.has(itemMethod)) return (0, external_batch_js_namespaceObject.toBatchItemError)(itemId, 405, `Batch item method ${itemMethod} is not allowed`);
75
+ if (void 0 !== rawItem.body && null !== rawItem.body && 'string' != typeof rawItem.body) return (0, external_batch_js_namespaceObject.toBatchItemError)(itemId, 400, 'Batch item body must be a string when provided');
76
+ if (('GET' === itemMethod || 'HEAD' === itemMethod) && 'string' == typeof rawItem.body) return (0, external_batch_js_namespaceObject.toBatchItemError)(itemId, 400, `${itemMethod} batch item cannot include body`);
77
+ const normalizedHeaders = {};
78
+ if (void 0 !== rawItem.headers) {
79
+ if (!(0, external_batch_js_namespaceObject.isPlainObject)(rawItem.headers)) return (0, external_batch_js_namespaceObject.toBatchItemError)(itemId, 400, 'Batch item headers must be an object');
80
+ for (const [key, value] of Object.entries(rawItem.headers)){
81
+ if ('string' != typeof value) return (0, external_batch_js_namespaceObject.toBatchItemError)(itemId, 400, `Invalid header "${key}" for batch item`);
82
+ normalizedHeaders[key.toLowerCase()] = value;
83
+ }
84
+ }
85
+ if (!normalizedHeaders.traceparent) {
86
+ const encodedEnvelope = normalizedHeaders[normalizedEnvelopeHeader];
87
+ if ('string' == typeof encodedEnvelope) {
88
+ const envelope = (0, index_js_namespaceObject.decodeRequestEnvelopeHeader)(encodedEnvelope);
89
+ if (envelope?.traceparent) normalizedHeaders.traceparent = envelope.traceparent;
90
+ }
91
+ }
92
+ if (!normalizedHeaders.traceparent) {
93
+ const requestTraceparent = request.headers.get('traceparent');
94
+ if (requestTraceparent) normalizedHeaders.traceparent = requestTraceparent;
95
+ }
96
+ const targetUrl = new URL(normalizedItemPath, request.url);
97
+ const requestHeaders = new Headers(normalizedHeaders);
98
+ const body = 'GET' === itemMethod || 'HEAD' === itemMethod ? void 0 : rawItem.body;
99
+ if (void 0 === body) requestHeaders.delete('content-type');
100
+ const itemRequest = new Request(targetUrl.toString(), {
101
+ method: itemMethod,
102
+ headers: requestHeaders,
103
+ body
104
+ });
105
+ try {
106
+ const itemResponse = await (0, external_batch_js_namespaceObject.promiseWithTimeout)(options.handleItem(itemRequest, context), batchItemTimeoutMs);
107
+ if (!(itemResponse instanceof Response)) return (0, external_batch_js_namespaceObject.toBatchItemError)(itemId, 500, 'Invalid response returned by batch item handler');
108
+ const bodyText = await itemResponse.text();
109
+ const responseItem = {
110
+ id: itemId,
111
+ status: itemResponse.status,
112
+ headers: (0, external_batch_js_namespaceObject.toHeaderRecord)(itemResponse.headers),
113
+ ...bodyText ? {
114
+ body: bodyText
115
+ } : {}
116
+ };
117
+ return responseItem;
118
+ } catch (error) {
119
+ if (error instanceof Response) {
120
+ const bodyText = await error.text();
121
+ return {
122
+ id: itemId,
123
+ status: error.status,
124
+ headers: (0, external_batch_js_namespaceObject.toHeaderRecord)(error.headers),
125
+ ...bodyText ? {
126
+ body: bodyText
127
+ } : {}
128
+ };
129
+ }
130
+ const message = error instanceof Error ? error.message : String(error);
131
+ return (0, external_batch_js_namespaceObject.toBatchItemError)(itemId, 500, message);
132
+ }
133
+ });
134
+ const responsePayload = {
135
+ protocolVersion: 1,
136
+ batchId: payload.batchId,
137
+ receivedAt: Date.now(),
138
+ items: responseItems
139
+ };
140
+ return new Response(JSON.stringify(responsePayload), {
141
+ status: 200,
142
+ headers: {
143
+ 'content-type': 'application/json; charset=utf-8',
144
+ [index_js_namespaceObject.DEFAULT_DATA_BATCH_HEADER]: '1',
145
+ 'x-modernjs-data-batch-id': payload.batchId
146
+ }
147
+ });
148
+ };
149
+ return {
150
+ enabled: batchEnabled,
151
+ path: batchPath,
152
+ handle
153
+ };
154
+ }
155
+ exports.createDataPlatformBatchRequestHandler = __webpack_exports__.createDataPlatformBatchRequestHandler;
156
+ for(var __rspack_i in __webpack_exports__)if (-1 === [
157
+ "createDataPlatformBatchRequestHandler"
158
+ ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
159
+ Object.defineProperty(exports, '__esModule', {
160
+ value: true
161
+ });
@@ -0,0 +1,195 @@
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
+ createBatchValidationResponse: ()=>createBatchValidationResponse,
32
+ isBatchRequestPayload: ()=>isBatchRequestPayload,
33
+ isPlainObject: ()=>isPlainObject,
34
+ mapWithConcurrency: ()=>mapWithConcurrency,
35
+ normalizeBatchAllowedMethods: ()=>normalizeBatchAllowedMethods,
36
+ normalizeBatchPath: ()=>normalizeBatchPath,
37
+ normalizeItemMethod: ()=>normalizeItemMethod,
38
+ prepareJsonRequestBody: ()=>prepareJsonRequestBody,
39
+ promiseWithTimeout: ()=>promiseWithTimeout,
40
+ toBatchItemError: ()=>toBatchItemError,
41
+ toHeaderRecord: ()=>toHeaderRecord,
42
+ toTextLength: ()=>toTextLength
43
+ });
44
+ const index_js_namespaceObject = require("../../data-platform/index.js");
45
+ function normalizeBatchPath(pathname) {
46
+ if (!pathname || '/' === pathname) return index_js_namespaceObject.DEFAULT_DATA_BATCH_ENDPOINT;
47
+ if (!pathname.startsWith('/')) return `/${pathname}`;
48
+ return pathname;
49
+ }
50
+ function isPlainObject(value) {
51
+ return 'object' == typeof value && null !== value && !Array.isArray(value);
52
+ }
53
+ function toTextLength(value) {
54
+ if ("u" > typeof TextEncoder) return new TextEncoder().encode(value).length;
55
+ if ("u" > typeof Buffer) return Buffer.byteLength(value);
56
+ return value.length;
57
+ }
58
+ function toHeaderRecord(headers) {
59
+ const record = {};
60
+ headers.forEach((value, key)=>{
61
+ record[key] = value;
62
+ });
63
+ return record;
64
+ }
65
+ function normalizeItemMethod(method) {
66
+ return (method || 'GET').toUpperCase();
67
+ }
68
+ function normalizeBatchAllowedMethods(allowedMethods) {
69
+ const source = Array.isArray(allowedMethods) && allowedMethods.length > 0 ? allowedMethods : [
70
+ 'GET'
71
+ ];
72
+ return new Set(source.map((method)=>method.toUpperCase()));
73
+ }
74
+ function isBatchRequestPayload(value) {
75
+ return isPlainObject(value) && 1 === value.protocolVersion && 'string' == typeof value.batchId && 'number' == typeof value.sentAt && Array.isArray(value.items);
76
+ }
77
+ function createBatchValidationResponse(message, status = 400) {
78
+ return new Response(JSON.stringify({
79
+ message
80
+ }), {
81
+ status,
82
+ headers: {
83
+ 'content-type': 'application/json; charset=utf-8'
84
+ }
85
+ });
86
+ }
87
+ function createJsonValidationResponse(message, status = 400) {
88
+ return new Response(JSON.stringify({
89
+ message
90
+ }), {
91
+ status,
92
+ headers: {
93
+ 'content-type': 'application/json; charset=utf-8'
94
+ }
95
+ });
96
+ }
97
+ function cloneWithoutJsonBodyHeaders(request) {
98
+ const headers = new Headers(request.headers);
99
+ headers.delete('content-type');
100
+ headers.delete('content-length');
101
+ return new Request(request.url, {
102
+ method: request.method,
103
+ headers,
104
+ signal: request.signal
105
+ });
106
+ }
107
+ async function prepareJsonRequestBody(request) {
108
+ const method = normalizeItemMethod(request.method);
109
+ if ('GET' === method || 'HEAD' === method) return request;
110
+ const contentType = (request.headers.get('content-type') || '').toLowerCase();
111
+ if (!contentType.includes('application/json')) return request;
112
+ if (null === request.body) return cloneWithoutJsonBodyHeaders(request);
113
+ try {
114
+ const bodyText = await request.clone().text();
115
+ if ('' === bodyText) return cloneWithoutJsonBodyHeaders(request);
116
+ JSON.parse(bodyText);
117
+ } catch {
118
+ return createJsonValidationResponse('Invalid JSON request body');
119
+ }
120
+ return request;
121
+ }
122
+ function toBatchItemError(id, status, message) {
123
+ return {
124
+ id,
125
+ status,
126
+ headers: {
127
+ 'content-type': 'application/json; charset=utf-8'
128
+ },
129
+ body: JSON.stringify({
130
+ message
131
+ })
132
+ };
133
+ }
134
+ function promiseWithTimeout(effect, timeoutMs) {
135
+ if (timeoutMs <= 0) return effect;
136
+ return new Promise((resolve, reject)=>{
137
+ const timer = setTimeout(()=>{
138
+ reject(new Error(`Batch item timeout after ${String(timeoutMs)}ms`));
139
+ }, timeoutMs);
140
+ effect.then((value)=>{
141
+ clearTimeout(timer);
142
+ resolve(value);
143
+ }, (error)=>{
144
+ clearTimeout(timer);
145
+ reject(error);
146
+ });
147
+ });
148
+ }
149
+ async function mapWithConcurrency(items, concurrency, mapper) {
150
+ if (0 === items.length) return [];
151
+ const normalizedConcurrency = Math.max(1, concurrency);
152
+ const output = new Array(items.length);
153
+ let index = 0;
154
+ const workers = Array.from({
155
+ length: Math.min(normalizedConcurrency, items.length)
156
+ }, async ()=>{
157
+ while(true){
158
+ const currentIndex = index;
159
+ index += 1;
160
+ if (currentIndex >= items.length) return;
161
+ output[currentIndex] = await mapper(items[currentIndex], currentIndex);
162
+ }
163
+ });
164
+ await Promise.all(workers);
165
+ return output;
166
+ }
167
+ exports.createBatchValidationResponse = __webpack_exports__.createBatchValidationResponse;
168
+ exports.isBatchRequestPayload = __webpack_exports__.isBatchRequestPayload;
169
+ exports.isPlainObject = __webpack_exports__.isPlainObject;
170
+ exports.mapWithConcurrency = __webpack_exports__.mapWithConcurrency;
171
+ exports.normalizeBatchAllowedMethods = __webpack_exports__.normalizeBatchAllowedMethods;
172
+ exports.normalizeBatchPath = __webpack_exports__.normalizeBatchPath;
173
+ exports.normalizeItemMethod = __webpack_exports__.normalizeItemMethod;
174
+ exports.prepareJsonRequestBody = __webpack_exports__.prepareJsonRequestBody;
175
+ exports.promiseWithTimeout = __webpack_exports__.promiseWithTimeout;
176
+ exports.toBatchItemError = __webpack_exports__.toBatchItemError;
177
+ exports.toHeaderRecord = __webpack_exports__.toHeaderRecord;
178
+ exports.toTextLength = __webpack_exports__.toTextLength;
179
+ for(var __rspack_i in __webpack_exports__)if (-1 === [
180
+ "createBatchValidationResponse",
181
+ "isBatchRequestPayload",
182
+ "isPlainObject",
183
+ "mapWithConcurrency",
184
+ "normalizeBatchAllowedMethods",
185
+ "normalizeBatchPath",
186
+ "normalizeItemMethod",
187
+ "prepareJsonRequestBody",
188
+ "promiseWithTimeout",
189
+ "toBatchItemError",
190
+ "toHeaderRecord",
191
+ "toTextLength"
192
+ ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
193
+ Object.defineProperty(exports, '__esModule', {
194
+ value: true
195
+ });
@@ -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
+ defineEffectBff: ()=>defineEffectBff,
32
+ defineEffectRpcBff: ()=>defineEffectRpcBff
33
+ });
34
+ const external_entry_shape_js_namespaceObject = require("../entry-shape.js");
35
+ const external_envelope_js_namespaceObject = require("./envelope.js");
36
+ const external_http_js_namespaceObject = require("./http.js");
37
+ const external_rpc_js_namespaceObject = require("./rpc.js");
38
+ function defineEffectBff(definition) {
39
+ const createHandler = (options)=>{
40
+ const rpcDefinition = definition.rpc;
41
+ let mergedRpcOptions = rpcDefinition;
42
+ if (rpcDefinition && options?.rpc) mergedRpcOptions = {
43
+ ...rpcDefinition,
44
+ ...options.rpc
45
+ };
46
+ return (0, external_http_js_namespaceObject.createHttpApiHandler)({
47
+ api: definition.api,
48
+ layer: definition.layer,
49
+ openapi: options?.openapi,
50
+ rpc: mergedRpcOptions,
51
+ dataPlatform: (0, external_envelope_js_namespaceObject.mergeDataPlatformOptions)(definition.dataPlatform, options?.dataPlatform),
52
+ validateRequest: options?.validateRequest
53
+ });
54
+ };
55
+ Object.defineProperty(createHandler, external_entry_shape_js_namespaceObject.EFFECT_VALIDATOR_AWARE_FACTORY, {
56
+ value: true
57
+ });
58
+ const client = createLoaderMaterializedClientPlaceholder();
59
+ return {
60
+ ...definition,
61
+ createHandler,
62
+ client
63
+ };
64
+ }
65
+ const LOADER_CLIENT_IGNORED_KEYS = new Set([
66
+ 'then',
67
+ 'catch',
68
+ 'finally',
69
+ 'toJSON',
70
+ '$$typeof'
71
+ ]);
72
+ function createLoaderMaterializedClientPlaceholder() {
73
+ const explain = (property)=>{
74
+ throw new Error(`[BFF][Effect] client.${String(property)} is not available here: the typed client only exists when the API entry is imported through the "@api/index" transformed path (the BFF loader replaces it with generated client code). On the server, use HttpApiClient or call the Effect layer directly.`);
75
+ };
76
+ return new Proxy(Object.create(null), {
77
+ get (_target, property) {
78
+ if ('symbol' == typeof property || LOADER_CLIENT_IGNORED_KEYS.has(property)) return;
79
+ return explain(property);
80
+ }
81
+ });
82
+ }
83
+ function defineEffectRpcBff(definition) {
84
+ const createHandler = (options)=>(0, external_rpc_js_namespaceObject.createRpcApiHandler)({
85
+ ...definition,
86
+ ...options
87
+ });
88
+ return {
89
+ ...definition,
90
+ createHandler
91
+ };
92
+ }
93
+ exports.defineEffectBff = __webpack_exports__.defineEffectBff;
94
+ exports.defineEffectRpcBff = __webpack_exports__.defineEffectRpcBff;
95
+ for(var __rspack_i in __webpack_exports__)if (-1 === [
96
+ "defineEffectBff",
97
+ "defineEffectRpcBff"
98
+ ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
99
+ Object.defineProperty(exports, '__esModule', {
100
+ value: true
101
+ });
@@ -0,0 +1,104 @@
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
+ mergeDataPlatformOptions: ()=>mergeDataPlatformOptions,
32
+ validateDataPlatformRequestEnvelope: ()=>validateDataPlatformRequestEnvelope
33
+ });
34
+ const index_js_namespaceObject = require("../../data-platform/index.js");
35
+ const external_routing_js_namespaceObject = require("./routing.js");
36
+ function createInvalidEnvelopeResponse(message, errors) {
37
+ return new Response(JSON.stringify({
38
+ message,
39
+ ...errors && errors.length > 0 ? {
40
+ errors
41
+ } : {}
42
+ }), {
43
+ status: 400,
44
+ headers: {
45
+ 'content-type': 'application/json; charset=utf-8'
46
+ }
47
+ });
48
+ }
49
+ function validateDataPlatformRequestEnvelope(request, options) {
50
+ const isEnabled = options?.enabled ?? true;
51
+ if (!isEnabled) return null;
52
+ const envelopeHeader = options?.envelopeHeader || index_js_namespaceObject.DEFAULT_DATA_ENVELOPE_HEADER;
53
+ const encodedEnvelope = request.headers.get(envelopeHeader);
54
+ if (!encodedEnvelope) {
55
+ if (options?.requireEnvelope) return createInvalidEnvelopeResponse(`Missing required data envelope header: ${envelopeHeader}`);
56
+ return null;
57
+ }
58
+ const envelope = (0, index_js_namespaceObject.decodeRequestEnvelopeHeader)(encodedEnvelope);
59
+ if (!envelope) return createInvalidEnvelopeResponse(`Invalid data envelope header format: ${envelopeHeader}`);
60
+ const validation = (0, index_js_namespaceObject.validateRequestEnvelope)(envelope, {
61
+ expectedProtocolVersion: 1,
62
+ expectedNamespace: options?.expectedNamespace,
63
+ expectedOrigin: options?.validateOrigin === false ? void 0 : (0, external_routing_js_namespaceObject.getExpectedEnvelopeOrigin)(request),
64
+ requireTraceContext: options?.requireTraceContext
65
+ });
66
+ if (!validation.ok) return createInvalidEnvelopeResponse('Invalid data envelope', validation.errors);
67
+ if (envelope.selectionPlan) {
68
+ const selectionValidation = (0, index_js_namespaceObject.validateSelectionPlan)(envelope.selectionPlan, {
69
+ maxDepth: options?.selection?.maxDepth,
70
+ maxFields: options?.selection?.maxFields,
71
+ allowedLeafPaths: options?.selection?.allowedLeafPaths
72
+ });
73
+ if (!selectionValidation.ok) return createInvalidEnvelopeResponse('Invalid data envelope selection plan', selectionValidation.errors);
74
+ }
75
+ return null;
76
+ }
77
+ function mergeDataPlatformOptions(base, override) {
78
+ if (!base && !override) return;
79
+ const baseSelection = base?.selection;
80
+ const overrideSelection = override?.selection;
81
+ const baseBatch = base?.batch;
82
+ const overrideBatch = override?.batch;
83
+ return {
84
+ ...base,
85
+ ...override,
86
+ selection: baseSelection || overrideSelection ? {
87
+ ...baseSelection,
88
+ ...overrideSelection
89
+ } : void 0,
90
+ batch: baseBatch || overrideBatch ? {
91
+ ...baseBatch,
92
+ ...overrideBatch
93
+ } : void 0
94
+ };
95
+ }
96
+ exports.mergeDataPlatformOptions = __webpack_exports__.mergeDataPlatformOptions;
97
+ exports.validateDataPlatformRequestEnvelope = __webpack_exports__.validateDataPlatformRequestEnvelope;
98
+ for(var __rspack_i in __webpack_exports__)if (-1 === [
99
+ "mergeDataPlatformOptions",
100
+ "validateDataPlatformRequestEnvelope"
101
+ ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
102
+ Object.defineProperty(exports, '__esModule', {
103
+ value: true
104
+ });