@nifrajs/web 5.5.0 → 5.6.0

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 (457) hide show
  1. package/CHANGELOG.md +162 -0
  2. package/dist/boundary.d.ts +67 -7
  3. package/dist/boundary.d.ts.map +1 -1
  4. package/dist/boundary.js +6 -4
  5. package/dist/boundary.js.map +1 -1
  6. package/dist/build-plan.d.ts +3 -0
  7. package/dist/build-plan.d.ts.map +1 -1
  8. package/dist/build-plan.js.map +1 -1
  9. package/dist/build-vite.d.ts.map +1 -1
  10. package/dist/build-vite.js +2 -0
  11. package/dist/build-vite.js.map +1 -1
  12. package/dist/build.d.ts +9 -2
  13. package/dist/build.d.ts.map +1 -1
  14. package/dist/build.js +9 -0
  15. package/dist/build.js.map +1 -1
  16. package/dist/client.d.ts +2 -1
  17. package/dist/client.d.ts.map +1 -1
  18. package/dist/client.js +140 -12
  19. package/dist/client.js.map +1 -1
  20. package/dist/csp.d.ts +8 -0
  21. package/dist/csp.d.ts.map +1 -1
  22. package/dist/csp.js +11 -2
  23. package/dist/csp.js.map +1 -1
  24. package/dist/deferred.d.ts +6 -4
  25. package/dist/deferred.d.ts.map +1 -1
  26. package/dist/deferred.js +10 -6
  27. package/dist/deferred.js.map +1 -1
  28. package/dist/dev-feed.d.ts.map +1 -1
  29. package/dist/dev-feed.js +11 -2
  30. package/dist/dev-feed.js.map +1 -1
  31. package/dist/dev-session.d.ts.map +1 -1
  32. package/dist/dev-session.js +13 -6
  33. package/dist/dev-session.js.map +1 -1
  34. package/dist/dev.d.ts +4 -1
  35. package/dist/dev.d.ts.map +1 -1
  36. package/dist/dev.js +12 -5
  37. package/dist/dev.js.map +1 -1
  38. package/dist/diagnostic-catalog.d.ts +4 -0
  39. package/dist/diagnostic-catalog.d.ts.map +1 -1
  40. package/dist/diagnostic-catalog.js +48 -0
  41. package/dist/diagnostic-catalog.js.map +1 -1
  42. package/dist/diagnostic.d.ts +1 -1
  43. package/dist/diagnostic.d.ts.map +1 -1
  44. package/dist/diagnostic.js +1 -1
  45. package/dist/diagnostic.js.map +1 -1
  46. package/dist/fn.d.ts +5 -3
  47. package/dist/fn.d.ts.map +1 -1
  48. package/dist/fn.js +20 -5
  49. package/dist/fn.js.map +1 -1
  50. package/dist/fs.d.ts.map +1 -1
  51. package/dist/fs.js +13 -3
  52. package/dist/fs.js.map +1 -1
  53. package/dist/identity.d.ts +22 -0
  54. package/dist/identity.d.ts.map +1 -0
  55. package/dist/identity.js +60 -0
  56. package/dist/identity.js.map +1 -0
  57. package/dist/index.d.ts +7 -6
  58. package/dist/index.d.ts.map +1 -1
  59. package/dist/index.js +4 -2
  60. package/dist/index.js.map +1 -1
  61. package/dist/internal/cdn/cloudflare.d.ts +2 -1
  62. package/dist/internal/cdn/cloudflare.d.ts.map +1 -1
  63. package/dist/internal/cdn/cloudflare.js +2 -1
  64. package/dist/internal/cdn/cloudflare.js.map +1 -1
  65. package/dist/internal/certified-components.d.ts +1 -1
  66. package/dist/internal/certified-components.js +1 -1
  67. package/dist/internal/codegen.d.ts +11 -10
  68. package/dist/internal/codegen.d.ts.map +1 -1
  69. package/dist/internal/codegen.js +65 -8
  70. package/dist/internal/codegen.js.map +1 -1
  71. package/dist/internal/dev-websocket.d.ts +73 -0
  72. package/dist/internal/dev-websocket.d.ts.map +1 -0
  73. package/dist/internal/dev-websocket.js +145 -0
  74. package/dist/internal/dev-websocket.js.map +1 -0
  75. package/dist/internal/hole-runtime.d.ts +66 -0
  76. package/dist/internal/hole-runtime.d.ts.map +1 -0
  77. package/dist/internal/hole-runtime.js +211 -0
  78. package/dist/internal/hole-runtime.js.map +1 -0
  79. package/dist/internal/identity-epoch.d.ts +50 -0
  80. package/dist/internal/identity-epoch.d.ts.map +1 -0
  81. package/dist/internal/identity-epoch.js +179 -0
  82. package/dist/internal/identity-epoch.js.map +1 -0
  83. package/dist/internal/invalidation-contract.d.ts +23 -0
  84. package/dist/internal/invalidation-contract.d.ts.map +1 -0
  85. package/dist/internal/invalidation-contract.js +11 -0
  86. package/dist/internal/invalidation-contract.js.map +1 -0
  87. package/dist/internal/invalidation.d.ts +62 -0
  88. package/dist/internal/invalidation.d.ts.map +1 -0
  89. package/dist/internal/invalidation.js +149 -0
  90. package/dist/internal/invalidation.js.map +1 -0
  91. package/dist/internal/island-bindings.d.ts +51 -0
  92. package/dist/internal/island-bindings.d.ts.map +1 -0
  93. package/dist/internal/island-bindings.js +147 -0
  94. package/dist/internal/island-bindings.js.map +1 -0
  95. package/dist/internal/island-list.d.ts +26 -0
  96. package/dist/internal/island-list.d.ts.map +1 -0
  97. package/dist/internal/island-list.js +78 -0
  98. package/dist/internal/island-list.js.map +1 -0
  99. package/dist/internal/island-mount.d.ts +4 -0
  100. package/dist/internal/island-mount.d.ts.map +1 -0
  101. package/dist/internal/island-mount.js +66 -0
  102. package/dist/internal/island-mount.js.map +1 -0
  103. package/dist/internal/island-owner.d.ts +5 -0
  104. package/dist/internal/island-owner.d.ts.map +1 -0
  105. package/dist/internal/island-owner.js +20 -0
  106. package/dist/internal/island-owner.js.map +1 -0
  107. package/dist/internal/island-resource.d.ts +30 -0
  108. package/dist/internal/island-resource.d.ts.map +1 -0
  109. package/dist/internal/island-resource.js +57 -0
  110. package/dist/internal/island-resource.js.map +1 -0
  111. package/dist/internal/island-signals.d.ts +51 -0
  112. package/dist/internal/island-signals.d.ts.map +1 -0
  113. package/dist/internal/island-signals.js +220 -0
  114. package/dist/internal/island-signals.js.map +1 -0
  115. package/dist/internal/keep-alive-table.d.ts +23 -0
  116. package/dist/internal/keep-alive-table.d.ts.map +1 -0
  117. package/dist/internal/keep-alive-table.js +53 -0
  118. package/dist/internal/keep-alive-table.js.map +1 -0
  119. package/dist/internal/live-contract.d.ts +96 -0
  120. package/dist/internal/live-contract.d.ts.map +1 -0
  121. package/dist/internal/live-contract.js +5 -0
  122. package/dist/internal/live-contract.js.map +1 -0
  123. package/dist/internal/live-queries.d.ts +22 -0
  124. package/dist/internal/live-queries.d.ts.map +1 -0
  125. package/dist/internal/live-queries.js +54 -0
  126. package/dist/internal/live-queries.js.map +1 -0
  127. package/dist/internal/page-events.d.ts +10 -0
  128. package/dist/internal/page-events.d.ts.map +1 -0
  129. package/dist/internal/page-events.js +26 -0
  130. package/dist/internal/page-events.js.map +1 -0
  131. package/dist/internal/page-execution.d.ts +14 -1
  132. package/dist/internal/page-execution.d.ts.map +1 -1
  133. package/dist/internal/page-execution.js +415 -31
  134. package/dist/internal/page-execution.js.map +1 -1
  135. package/dist/internal/ppr/admission.d.ts +83 -0
  136. package/dist/internal/ppr/admission.d.ts.map +1 -0
  137. package/dist/internal/ppr/admission.js +221 -0
  138. package/dist/internal/ppr/admission.js.map +1 -0
  139. package/dist/internal/ppr/canary.d.ts +24 -0
  140. package/dist/internal/ppr/canary.d.ts.map +1 -0
  141. package/dist/internal/ppr/canary.js +102 -0
  142. package/dist/internal/ppr/canary.js.map +1 -0
  143. package/dist/internal/ppr/compile-shell.d.ts +39 -0
  144. package/dist/internal/ppr/compile-shell.d.ts.map +1 -0
  145. package/dist/internal/ppr/compile-shell.js +298 -0
  146. package/dist/internal/ppr/compile-shell.js.map +1 -0
  147. package/dist/internal/ppr/contract.d.ts +177 -0
  148. package/dist/internal/ppr/contract.d.ts.map +1 -0
  149. package/dist/internal/ppr/contract.js +80 -0
  150. package/dist/internal/ppr/contract.js.map +1 -0
  151. package/dist/internal/ppr/frames.d.ts +71 -0
  152. package/dist/internal/ppr/frames.d.ts.map +1 -0
  153. package/dist/internal/ppr/frames.js +119 -0
  154. package/dist/internal/ppr/frames.js.map +1 -0
  155. package/dist/internal/ppr/integration.d.ts +19 -0
  156. package/dist/internal/ppr/integration.d.ts.map +1 -0
  157. package/dist/internal/ppr/integration.js +106 -0
  158. package/dist/internal/ppr/integration.js.map +1 -0
  159. package/dist/internal/ppr/options.d.ts +96 -0
  160. package/dist/internal/ppr/options.d.ts.map +1 -0
  161. package/dist/internal/ppr/options.js +125 -0
  162. package/dist/internal/ppr/options.js.map +1 -0
  163. package/dist/internal/ppr/route-rules.d.ts +12 -0
  164. package/dist/internal/ppr/route-rules.d.ts.map +1 -0
  165. package/dist/internal/ppr/route-rules.js +53 -0
  166. package/dist/internal/ppr/route-rules.js.map +1 -0
  167. package/dist/internal/ppr/runtime.d.ts +29 -0
  168. package/dist/internal/ppr/runtime.d.ts.map +1 -0
  169. package/dist/internal/ppr/runtime.js +32 -0
  170. package/dist/internal/ppr/runtime.js.map +1 -0
  171. package/dist/internal/ppr/server.d.ts +29 -0
  172. package/dist/internal/ppr/server.d.ts.map +1 -0
  173. package/dist/internal/ppr/server.js +1407 -0
  174. package/dist/internal/ppr/server.js.map +1 -0
  175. package/dist/internal/ppr/shell-store.d.ts +38 -0
  176. package/dist/internal/ppr/shell-store.d.ts.map +1 -0
  177. package/dist/internal/ppr/shell-store.js +90 -0
  178. package/dist/internal/ppr/shell-store.js.map +1 -0
  179. package/dist/internal/prerendered-pages.d.ts +1 -1
  180. package/dist/internal/prerendered-pages.d.ts.map +1 -1
  181. package/dist/internal/prerendered-pages.js +7 -4
  182. package/dist/internal/prerendered-pages.js.map +1 -1
  183. package/dist/internal/query-digest.d.ts +9 -0
  184. package/dist/internal/query-digest.d.ts.map +1 -0
  185. package/dist/internal/query-digest.js +23 -0
  186. package/dist/internal/query-digest.js.map +1 -0
  187. package/dist/internal/query-runtime.d.ts +6 -1
  188. package/dist/internal/query-runtime.d.ts.map +1 -1
  189. package/dist/internal/query-runtime.js +9 -0
  190. package/dist/internal/query-runtime.js.map +1 -1
  191. package/dist/internal/query-seam.d.ts +29 -0
  192. package/dist/internal/query-seam.d.ts.map +1 -0
  193. package/dist/internal/query-seam.js +23 -0
  194. package/dist/internal/query-seam.js.map +1 -0
  195. package/dist/internal/render-document.d.ts +28 -1
  196. package/dist/internal/render-document.d.ts.map +1 -1
  197. package/dist/internal/render-document.js +83 -18
  198. package/dist/internal/render-document.js.map +1 -1
  199. package/dist/internal/request-abort.d.ts +8 -0
  200. package/dist/internal/request-abort.d.ts.map +1 -0
  201. package/dist/internal/request-abort.js +22 -0
  202. package/dist/internal/request-abort.js.map +1 -0
  203. package/dist/internal/server-boundary.d.ts +2 -0
  204. package/dist/internal/server-boundary.d.ts.map +1 -1
  205. package/dist/internal/server-boundary.js +8 -1
  206. package/dist/internal/server-boundary.js.map +1 -1
  207. package/dist/internal/share-data.d.ts +10 -0
  208. package/dist/internal/share-data.d.ts.map +1 -0
  209. package/dist/internal/share-data.js +135 -0
  210. package/dist/internal/share-data.js.map +1 -0
  211. package/dist/internal/store-signature.d.ts +15 -0
  212. package/dist/internal/store-signature.d.ts.map +1 -0
  213. package/dist/internal/store-signature.js +114 -0
  214. package/dist/internal/store-signature.js.map +1 -0
  215. package/dist/internal/vite-plugin-compat.d.ts +2 -2
  216. package/dist/internal/vite-plugin-compat.js +2 -2
  217. package/dist/internal/web-app.d.ts +25 -0
  218. package/dist/internal/web-app.d.ts.map +1 -1
  219. package/dist/internal/web-app.js +78 -3
  220. package/dist/internal/web-app.js.map +1 -1
  221. package/dist/islands-swap.d.ts +41 -0
  222. package/dist/islands-swap.d.ts.map +1 -0
  223. package/dist/islands-swap.js +270 -0
  224. package/dist/islands-swap.js.map +1 -0
  225. package/dist/islands.d.ts +86 -24
  226. package/dist/islands.d.ts.map +1 -1
  227. package/dist/islands.js +138 -78
  228. package/dist/islands.js.map +1 -1
  229. package/dist/isr.d.ts +67 -13
  230. package/dist/isr.d.ts.map +1 -1
  231. package/dist/isr.js +247 -99
  232. package/dist/isr.js.map +1 -1
  233. package/dist/keep-alive.d.ts +147 -0
  234. package/dist/keep-alive.d.ts.map +1 -0
  235. package/dist/keep-alive.js +1069 -0
  236. package/dist/keep-alive.js.map +1 -0
  237. package/dist/live/bus.d.ts +56 -0
  238. package/dist/live/bus.d.ts.map +1 -0
  239. package/dist/live/bus.js +32 -0
  240. package/dist/live/bus.js.map +1 -0
  241. package/dist/live/core.d.ts +25 -0
  242. package/dist/live/core.d.ts.map +1 -0
  243. package/dist/live/core.js +29 -0
  244. package/dist/live/core.js.map +1 -0
  245. package/dist/live/history.d.ts +38 -0
  246. package/dist/live/history.d.ts.map +1 -0
  247. package/dist/live/history.js +104 -0
  248. package/dist/live/history.js.map +1 -0
  249. package/dist/live/hub-protocol.d.ts +46 -0
  250. package/dist/live/hub-protocol.d.ts.map +1 -0
  251. package/dist/live/hub-protocol.js +108 -0
  252. package/dist/live/hub-protocol.js.map +1 -0
  253. package/dist/live/hub.d.ts +181 -0
  254. package/dist/live/hub.d.ts.map +1 -0
  255. package/dist/live/hub.js +539 -0
  256. package/dist/live/hub.js.map +1 -0
  257. package/dist/live/keyring.d.ts +87 -0
  258. package/dist/live/keyring.d.ts.map +1 -0
  259. package/dist/live/keyring.js +260 -0
  260. package/dist/live/keyring.js.map +1 -0
  261. package/dist/live/read-capped.d.ts +6 -0
  262. package/dist/live/read-capped.d.ts.map +1 -0
  263. package/dist/live/read-capped.js +42 -0
  264. package/dist/live/read-capped.js.map +1 -0
  265. package/dist/live/revocations.d.ts +52 -0
  266. package/dist/live/revocations.d.ts.map +1 -0
  267. package/dist/live/revocations.js +116 -0
  268. package/dist/live/revocations.js.map +1 -0
  269. package/dist/live/settings.d.ts +14 -0
  270. package/dist/live/settings.d.ts.map +1 -0
  271. package/dist/live/settings.js +38 -0
  272. package/dist/live/settings.js.map +1 -0
  273. package/dist/live-client.d.ts +34 -0
  274. package/dist/live-client.d.ts.map +1 -0
  275. package/dist/live-client.js +840 -0
  276. package/dist/live-client.js.map +1 -0
  277. package/dist/live-hub.d.ts +130 -0
  278. package/dist/live-hub.d.ts.map +1 -0
  279. package/dist/live-hub.js +507 -0
  280. package/dist/live-hub.js.map +1 -0
  281. package/dist/live-redis.d.ts +48 -0
  282. package/dist/live-redis.d.ts.map +1 -0
  283. package/dist/live-redis.js +201 -0
  284. package/dist/live-redis.js.map +1 -0
  285. package/dist/live.d.ts +94 -0
  286. package/dist/live.d.ts.map +1 -0
  287. package/dist/live.js +869 -0
  288. package/dist/live.js.map +1 -0
  289. package/dist/manifest.d.ts +113 -2
  290. package/dist/manifest.d.ts.map +1 -1
  291. package/dist/manifest.js +109 -5
  292. package/dist/manifest.js.map +1 -1
  293. package/dist/navigation.d.ts +9 -3
  294. package/dist/navigation.d.ts.map +1 -1
  295. package/dist/navigation.js +13 -3
  296. package/dist/navigation.js.map +1 -1
  297. package/dist/plugins/vite-zone-guard.d.ts +6 -0
  298. package/dist/plugins/vite-zone-guard.d.ts.map +1 -1
  299. package/dist/plugins/vite-zone-guard.js +8 -2
  300. package/dist/plugins/vite-zone-guard.js.map +1 -1
  301. package/dist/ppr.d.ts +73 -0
  302. package/dist/ppr.d.ts.map +1 -0
  303. package/dist/ppr.js +76 -0
  304. package/dist/ppr.js.map +1 -0
  305. package/dist/query.d.ts +8 -13
  306. package/dist/query.d.ts.map +1 -1
  307. package/dist/query.js +112 -18
  308. package/dist/query.js.map +1 -1
  309. package/dist/render-seam.d.ts +30 -0
  310. package/dist/render-seam.d.ts.map +1 -1
  311. package/dist/render-seam.js +5 -0
  312. package/dist/render-seam.js.map +1 -1
  313. package/dist/route-types.d.ts.map +1 -1
  314. package/dist/route-types.js +2 -2
  315. package/dist/route-types.js.map +1 -1
  316. package/dist/router.d.ts +72 -4
  317. package/dist/router.d.ts.map +1 -1
  318. package/dist/router.js +374 -99
  319. package/dist/router.js.map +1 -1
  320. package/dist/server-components/build.d.ts.map +1 -1
  321. package/dist/server-components/build.js +3 -3
  322. package/dist/server-components/build.js.map +1 -1
  323. package/dist/server-components/client.d.ts +23 -1
  324. package/dist/server-components/client.d.ts.map +1 -1
  325. package/dist/server-components/client.js +92 -5
  326. package/dist/server-components/client.js.map +1 -1
  327. package/dist/server-components/hole.d.ts +8 -0
  328. package/dist/server-components/hole.d.ts.map +1 -0
  329. package/dist/server-components/hole.js +20 -0
  330. package/dist/server-components/hole.js.map +1 -0
  331. package/dist/server-components/html-policy.d.ts.map +1 -1
  332. package/dist/server-components/html-policy.js +62 -4
  333. package/dist/server-components/html-policy.js.map +1 -1
  334. package/dist/server-components/html-scan.d.ts +17 -0
  335. package/dist/server-components/html-scan.d.ts.map +1 -0
  336. package/dist/server-components/html-scan.js +180 -0
  337. package/dist/server-components/html-scan.js.map +1 -0
  338. package/dist/server-components/html.d.ts.map +1 -1
  339. package/dist/server-components/html.js +19 -4
  340. package/dist/server-components/html.js.map +1 -1
  341. package/dist/server-components/router-integration.d.ts +4 -1
  342. package/dist/server-components/router-integration.d.ts.map +1 -1
  343. package/dist/server-components/router-integration.js +23 -2
  344. package/dist/server-components/router-integration.js.map +1 -1
  345. package/dist/server-components/runtime.d.ts +6 -1
  346. package/dist/server-components/runtime.d.ts.map +1 -1
  347. package/dist/server-components/runtime.js +86 -28
  348. package/dist/server-components/runtime.js.map +1 -1
  349. package/dist/server-components/state.d.ts +3 -1
  350. package/dist/server-components/state.d.ts.map +1 -1
  351. package/dist/server-components/state.js +50 -38
  352. package/dist/server-components/state.js.map +1 -1
  353. package/dist/server-components/types.d.ts +9 -0
  354. package/dist/server-components/types.d.ts.map +1 -1
  355. package/dist/vite.d.ts +5 -1
  356. package/dist/vite.d.ts.map +1 -1
  357. package/dist/vite.js +58 -4
  358. package/dist/vite.js.map +1 -1
  359. package/package.json +48 -8
  360. package/src/boundary.ts +77 -5
  361. package/src/build-plan.ts +3 -0
  362. package/src/build-vite.ts +2 -0
  363. package/src/build.ts +19 -1
  364. package/src/client.ts +147 -10
  365. package/src/csp.ts +16 -2
  366. package/src/deferred.ts +11 -5
  367. package/src/dev-feed.ts +11 -2
  368. package/src/dev-session.ts +22 -11
  369. package/src/dev.ts +29 -8
  370. package/src/diagnostic-catalog.ts +53 -0
  371. package/src/diagnostic.ts +1 -0
  372. package/src/fn.ts +24 -7
  373. package/src/fs.ts +22 -8
  374. package/src/identity.ts +61 -0
  375. package/src/index.ts +19 -0
  376. package/src/internal/cdn/cloudflare.ts +2 -1
  377. package/src/internal/certified-components.ts +1 -1
  378. package/src/internal/codegen.ts +87 -8
  379. package/src/internal/dev-websocket.ts +230 -0
  380. package/src/internal/hole-runtime.ts +286 -0
  381. package/src/internal/identity-epoch.ts +235 -0
  382. package/src/internal/invalidation-contract.ts +35 -0
  383. package/src/internal/invalidation.ts +213 -0
  384. package/src/internal/island-bindings.ts +191 -0
  385. package/src/internal/island-list.ts +92 -0
  386. package/src/internal/island-mount.ts +68 -0
  387. package/src/internal/island-owner.ts +20 -0
  388. package/src/internal/island-resource.ts +76 -0
  389. package/src/internal/island-signals.ts +249 -0
  390. package/src/internal/keep-alive-table.ts +72 -0
  391. package/src/internal/live-contract.ts +106 -0
  392. package/src/internal/live-queries.ts +60 -0
  393. package/src/internal/page-events.ts +27 -0
  394. package/src/internal/page-execution.ts +579 -40
  395. package/src/internal/ppr/admission.ts +300 -0
  396. package/src/internal/ppr/canary.ts +122 -0
  397. package/src/internal/ppr/compile-shell.ts +379 -0
  398. package/src/internal/ppr/contract.ts +265 -0
  399. package/src/internal/ppr/frames.ts +170 -0
  400. package/src/internal/ppr/integration.ts +137 -0
  401. package/src/internal/ppr/options.ts +221 -0
  402. package/src/internal/ppr/route-rules.ts +77 -0
  403. package/src/internal/ppr/runtime.ts +36 -0
  404. package/src/internal/ppr/server.ts +1764 -0
  405. package/src/internal/ppr/shell-store.ts +139 -0
  406. package/src/internal/prerendered-pages.ts +7 -4
  407. package/src/internal/query-digest.ts +34 -0
  408. package/src/internal/query-runtime.ts +14 -1
  409. package/src/internal/query-seam.ts +48 -0
  410. package/src/internal/render-document.ts +149 -22
  411. package/src/internal/request-abort.ts +26 -0
  412. package/src/internal/server-boundary.ts +10 -1
  413. package/src/internal/share-data.ts +136 -0
  414. package/src/internal/store-signature.ts +149 -0
  415. package/src/internal/vite-plugin-compat.ts +2 -2
  416. package/src/internal/web-app.ts +121 -3
  417. package/src/islands-swap.ts +283 -0
  418. package/src/islands.ts +169 -72
  419. package/src/isr.ts +348 -106
  420. package/src/keep-alive.ts +1315 -0
  421. package/src/live/bus.ts +77 -0
  422. package/src/live/core.ts +52 -0
  423. package/src/live/history.ts +109 -0
  424. package/src/live/hub-protocol.ts +133 -0
  425. package/src/live/hub.ts +615 -0
  426. package/src/live/keyring.ts +379 -0
  427. package/src/live/read-capped.ts +36 -0
  428. package/src/live/revocations.ts +155 -0
  429. package/src/live/settings.ts +46 -0
  430. package/src/live-client.ts +973 -0
  431. package/src/live-hub.ts +658 -0
  432. package/src/live-redis.ts +259 -0
  433. package/src/live.ts +1096 -0
  434. package/src/manifest.ts +274 -6
  435. package/src/navigation.ts +14 -2
  436. package/src/plugins/vite-zone-guard.ts +15 -2
  437. package/src/ppr.ts +153 -0
  438. package/src/query.ts +147 -20
  439. package/src/render-seam.ts +35 -0
  440. package/src/route-types.ts +3 -1
  441. package/src/router.ts +494 -101
  442. package/src/server-components/build.ts +9 -3
  443. package/src/server-components/client.ts +89 -5
  444. package/src/server-components/hole.ts +23 -0
  445. package/src/server-components/html-policy.ts +63 -4
  446. package/src/server-components/html-scan.ts +159 -0
  447. package/src/server-components/html.ts +18 -4
  448. package/src/server-components/router-integration.ts +21 -2
  449. package/src/server-components/runtime.ts +112 -30
  450. package/src/server-components/state.ts +66 -44
  451. package/src/server-components/types.ts +16 -0
  452. package/src/vite.ts +75 -6
  453. package/dist/nano.d.ts +0 -125
  454. package/dist/nano.d.ts.map +0 -1
  455. package/dist/nano.js +0 -190
  456. package/dist/nano.js.map +0 -1
  457. package/src/nano.ts +0 -246
@@ -3,6 +3,6 @@
3
3
  * guard and the consumer check read these; `component-certification.test.ts` holds the exact pins
4
4
  * in every manifest that runs the pipeline to them, so a range bump cannot drift past the guard.
5
5
  */
6
- export declare const CERTIFIED_COMPONENT_VITE = "8.2.1";
6
+ export declare const CERTIFIED_COMPONENT_VITE = "8.3.4";
7
7
  export declare const CERTIFIED_COMPONENT_REACT = "19.3.1";
8
8
  //# sourceMappingURL=certified-components.d.ts.map
@@ -3,6 +3,6 @@
3
3
  * guard and the consumer check read these; `component-certification.test.ts` holds the exact pins
4
4
  * in every manifest that runs the pipeline to them, so a range bump cannot drift past the guard.
5
5
  */
6
- export const CERTIFIED_COMPONENT_VITE = "8.2.1";
6
+ export const CERTIFIED_COMPONENT_VITE = "8.3.4";
7
7
  export const CERTIFIED_COMPONENT_REACT = "19.3.1";
8
8
  //# sourceMappingURL=certified-components.js.map
@@ -20,17 +20,18 @@ export interface GenerateClientEntryOptions {
20
20
  /** The build moved copy tables into per-locale chunks: the handover carries the chunk URLs, and a
21
21
  * navigation loads the copy of the URL it goes to beside the route's code. */
22
22
  readonly copyChunks?: boolean;
23
+ /**
24
+ * The server runs `createWebApp({ live })`: route loads go through its live load endpoint and the
25
+ * entry keeps what is on screen fresh (`@nifrajs/web/live-client`). Absent, the entry is exactly the
26
+ * non-live one.
27
+ */
28
+ readonly live?: LiveClientEntry | undefined;
29
+ }
30
+ /** A client entry for a live server: `{}`, or the endpoints when the runtime moves them. */
31
+ export interface LiveClientEntry {
32
+ readonly path?: string;
33
+ readonly loadPath?: string;
23
34
  }
24
- /**
25
- * Codegen: emit a client-entry module (as source) that lazily imports each route's layout chain
26
- * (so `Bun.build` with `splitting` code-splits one chunk per route), builds a `patterns` list,
27
- * then creates the agnostic router store (with a `loadModule` hook), installs history + form
28
- * interception, loads the initial route's chunk, and hydrates the adapter's stateful Router. The
29
- * initial route is derived from the URL (falling back to the server-injected route id, e.g.
30
- * `_404`), so after hydration the Router owns navigation and swaps routes without full reloads.
31
- * Bun has no `import.meta.glob`, so file-based routing needs this. Write the result to a file and
32
- * bundle it with `buildClient` / `Bun.build` (+ the adapter's transform).
33
- */
34
35
  export declare function generateClientEntry(manifest: Manifest, options: GenerateClientEntryOptions): string;
35
36
  export interface GenerateRouteSearchTypesOptions {
36
37
  /** Turn a route source file into a module specifier for a `typeof import(...)` type - the same contract
@@ -1 +1 @@
1
- {"version":3,"file":"codegen.d.ts","sourceRoot":"","sources":["../../src/internal/codegen.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAA4C,MAAM,oBAAoB,CAAA;AAElG,OAAO,KAAK,EAAe,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAiB3D,qGAAqG;AACrG,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,OAAO,GAAG,SAAS,CAIlE;AAaD,MAAM,WAAW,0BAA0B;IACzC;;;;;;;;;OASG;IACH,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;IAC7B,6FAA6F;IAC7F,QAAQ,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAA;IAC1C,QAAQ,CAAC,gBAAgB,CAAC,EAAE,OAAO,CAAA;IACnC;kFAC8E;IAC9E,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;CAC9B;AAED;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,0BAA0B,GAClC,MAAM,CAyVR;AAED,MAAM,WAAW,+BAA+B;IAC9C;;qEAEiE;IACjE,QAAQ,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAA;IAC1C;gHAC4G;IAC5G,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CACzB;AAED;;;;;;;;GAQG;AACH,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,+BAA+B,GACvC,MAAM,CAuBR;AAED,MAAM,WAAW,6BAA6B;IAC5C;6DACyD;IACzD,QAAQ,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAA;IAC1C;4EACwE;IACxE,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B;;+FAE2F;IAC3F,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,CAAA;IAC/C;uFACmF;IACnF,QAAQ,CAAC,WAAW,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC,CAAC,GAAG,SAAS,CAAA;IAC9E,+FAA+F;IAC/F,QAAQ,CAAC,UAAU,CAAC,EAAE,cAAc,CAAA;IACpC;gGAC4F;IAC5F,QAAQ,CAAC,UAAU,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAAG,SAAS,CAAA;IAClE;;;;OAIG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,CAAA;IACpD;;;2FAGuF;IACvF,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAA;CACxB;AAgCD,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,6BAA6B,GACrC,MAAM,CAoGR"}
1
+ {"version":3,"file":"codegen.d.ts","sourceRoot":"","sources":["../../src/internal/codegen.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAA4C,MAAM,oBAAoB,CAAA;AAElG,OAAO,KAAK,EAAe,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAkB3D,qGAAqG;AACrG,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,OAAO,GAAG,SAAS,CAIlE;AAaD,MAAM,WAAW,0BAA0B;IACzC;;;;;;;;;OASG;IACH,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;IAC7B,6FAA6F;IAC7F,QAAQ,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAA;IAC1C,QAAQ,CAAC,gBAAgB,CAAC,EAAE,OAAO,CAAA;IACnC;kFAC8E;IAC9E,QAAQ,CAAC,UAAU,CAAC,EAAE,OAAO,CAAA;IAC7B;;;;OAIG;IACH,QAAQ,CAAC,IAAI,CAAC,EAAE,eAAe,GAAG,SAAS,CAAA;CAC5C;AAMD,4FAA4F;AAC5F,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAC3B;AAqBD,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,0BAA0B,GAClC,MAAM,CAuYR;AAED,MAAM,WAAW,+BAA+B;IAC9C;;qEAEiE;IACjE,QAAQ,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAA;IAC1C;gHAC4G;IAC5G,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CACzB;AAED;;;;;;;;GAQG;AACH,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,+BAA+B,GACvC,MAAM,CAuBR;AAED,MAAM,WAAW,6BAA6B;IAC5C;6DACyD;IACzD,QAAQ,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAA;IAC1C;4EACwE;IACxE,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAA;IAC5B;;+FAE2F;IAC3F,QAAQ,CAAC,MAAM,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,CAAA;IAC/C;uFACmF;IACnF,QAAQ,CAAC,WAAW,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC,CAAC,GAAG,SAAS,CAAA;IAC9E,+FAA+F;IAC/F,QAAQ,CAAC,UAAU,CAAC,EAAE,cAAc,CAAA;IACpC;gGAC4F;IAC5F,QAAQ,CAAC,UAAU,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,GAAG,SAAS,CAAA;IAClE;;;;OAIG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,CAAA;IACpD;;;2FAGuF;IACvF,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAA;CACxB;AAuCD,wBAAgB,sBAAsB,CACpC,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,6BAA6B,GACrC,MAAM,CAoGR"}
@@ -3,6 +3,7 @@ import { MAP_DEFERRED_SOURCE } from "../deferred.js";
3
3
  import { ACTION_GLOBAL, BOUNDARY_GLOBAL, COMPONENT_GLOBAL, COPY_CHUNKS_GLOBAL, COPY_REALM, DATA_GLOBAL, HANDOVER_ID, LAYOUT_DATA_GLOBAL, LOCALES_GLOBAL, ROOT_ATTRIBUTE, ROUTE_GLOBAL, } from "../render-seam.js";
4
4
  import { PRERENDERED_GLOBAL } from "../router.js";
5
5
  import { jsStringLiteral, jsValueLiteral } from "./js-string.js";
6
+ import { keepAliveTable } from "./keep-alive-table.js";
6
7
  /** The refusal for a server build given no client entry, shared by the codegen and `buildServer`. */
7
8
  export function missingClientEntry(clientEntry) {
8
9
  return new TypeError(`[nifra/web] the server build needs the client build: pass client (the manifest buildClient returned) or clientEntry (its entry URL), got clientEntry ${clientEntry === null ? "null" : typeof clientEntry}; pass clientEntry "" for an app with no client script`);
@@ -18,6 +19,8 @@ const HANDOVER_GLOBALS = [
18
19
  PRERENDERED_GLOBAL,
19
20
  LOCALES_GLOBAL,
20
21
  ];
22
+ // The router as the entry names it: in a keep-alive app, the keep-alive layer over `router`.
23
+ const keepAround = (keep, router) => keep === undefined ? `const router = ${router}` : `const router = __keep.attach(${router})`;
21
24
  /**
22
25
  * Codegen: emit a client-entry module (as source) that lazily imports each route's layout chain
23
26
  * (so `Bun.build` with `splitting` code-splits one chunk per route), builds a `patterns` list,
@@ -28,8 +31,24 @@ const HANDOVER_GLOBALS = [
28
31
  * Bun has no `import.meta.glob`, so file-based routing needs this. Write the result to a file and
29
32
  * bundle it with `buildClient` / `Bun.build` (+ the adapter's transform).
30
33
  */
34
+ /** The client modules whose package has a keep-alive mount beside them, at `<package>/keep-alive`. */
35
+ const KEEP_ALIVE_ADAPTERS = [
36
+ "@nifrajs/web-react/client",
37
+ "@nifrajs/web-svelte/client",
38
+ "@nifrajs/web-preact/client",
39
+ "@nifrajs/web-solid/client",
40
+ "@nifrajs/web-vue/client",
41
+ ];
31
42
  export function generateClientEntry(manifest, options) {
32
- const { clientModule, resolve } = options;
43
+ const { resolve } = options;
44
+ const keep = keepAliveTable(manifest);
45
+ if (keep !== undefined && !KEEP_ALIVE_ADAPTERS.includes(options.clientModule)) {
46
+ throw new Error(`[nifra/web] ${keep.routes.map((id) => `"${id}"`).join(", ")} export keepAlive, which needs the React, Preact, Solid, Svelte or Vue adapter; this app's client module is ${jsStringLiteral(options.clientModule)}. Remove the keepAlive export or switch the adapter.`);
47
+ }
48
+ // A keep-alive app mounts through the adapter's keep-alive module, which re-exports its client.
49
+ const clientModule = keep === undefined
50
+ ? options.clientModule
51
+ : options.clientModule.replace(/\/client$/, "/keep-alive");
33
52
  const loaderRows = [];
34
53
  const patternRows = [];
35
54
  const statusRoutes = {};
@@ -106,6 +125,12 @@ export function generateClientEntry(manifest, options) {
106
125
  }
107
126
  loadingLines.push("const loadingModules = {", ...loadings.map(([id, entry]) => ` ${jsStringLiteral(id)}: () => import(${jsStringLiteral(resolve(entry.file))}),`), "}", "const loadingRoutes = {", ...routeRows.values(), "}");
108
127
  }
128
+ const live = options.live;
129
+ const liveFetch = keep !== undefined
130
+ ? ", fetchData: __keep.fetchData"
131
+ : live === undefined
132
+ ? ""
133
+ : ", fetchData: __live.fetchData";
109
134
  return `${[
110
135
  // `/client`, never the root: the root's graph carries the server (renderPage, the static-file
111
136
  // server), and Vite's dev server evaluates what it is given instead of tree-shaking it.
@@ -114,6 +139,8 @@ export function generateClientEntry(manifest, options) {
114
139
  ...(options.serverComponents
115
140
  ? ['import { bindComponentRouter } from "@nifrajs/web/server-components/client"']
116
141
  : []),
142
+ ...(live === undefined ? [] : ['import { liveClient } from "@nifrajs/web/live-client"']),
143
+ ...(keep === undefined ? [] : ['import { keepAliveClient } from "@nifrajs/web/keep-alive"']),
117
144
  // Namespace import: `errorBoundary` is optional (an adapter may not export it). A namespace member
118
145
  // access yields `undefined` if absent - unlike a named import, which would be a link error.
119
146
  ...(loadings.length > 0
@@ -174,7 +201,22 @@ export function generateClientEntry(manifest, options) {
174
201
  "const holds = {}",
175
202
  // routeId → the ids and `handle` exports `useMatches` reports (layouts, then the page).
176
203
  `const layoutIdsOf = ${jsValueLiteral(layoutIdsOf)}`,
204
+ ...(live === undefined
205
+ ? []
206
+ : [
207
+ `const __live = liveClient({ ${[
208
+ "layoutIdsOf",
209
+ ...(live.path === undefined ? [] : [`path: ${jsStringLiteral(live.path)}`]),
210
+ ...(live.loadPath === undefined ? [] : [`loadPath: ${jsStringLiteral(live.loadPath)}`]),
211
+ ].join(", ")} })`,
212
+ ]),
177
213
  "const matchChains = {}",
214
+ ...(keep === undefined
215
+ ? []
216
+ : [
217
+ `const keepAliveTable = ${jsValueLiteral(keep)}`,
218
+ `const __keep = keepAliveClient({ table: keepAliveTable, routeHooks, matchChains${live === undefined ? "" : ", fetchData: __live.fetchData"} })`,
219
+ ]),
178
220
  `const ${options.copyChunks === true ? "loadRoute" : "loadModule"} = async (id) => {`,
179
221
  " if (chains[id]) return",
180
222
  " const mods = await loaders[id]()",
@@ -210,7 +252,7 @@ export function generateClientEntry(manifest, options) {
210
252
  // backend half, which no browser bundle contains.
211
253
  " const boundaryMods = errorRouteIds.has(id) ? mods.slice(0, -1) : mods",
212
254
  " const boundaries = boundaryMods.flatMap((m) => (m.boundaries ?? []).map((b) => ({ name: b.name, mode: b.mode, ...(b.errorId === undefined ? {} : { errorId: b.errorId }) })))",
213
- " routeHooks[id] = { clientLoader: page.clientLoader, clientAction: page.clientAction, boundaries }",
255
+ ` routeHooks[id] = { clientLoader: page.clientLoader, clientAction: page.clientAction, shareData: page.shareData, ${keep === undefined ? "" : "keepAlive: page.keepAlive, "}boundaries }`,
214
256
  " if (page.ssr === false) holds[id] = [...chains[id].slice(0, -1), page.HydrateFallback ?? (() => null)]",
215
257
  "}",
216
258
  ...(options.copyChunks === true
@@ -273,9 +315,15 @@ export function generateClientEntry(manifest, options) {
273
315
  ...loadingLines,
274
316
  // With `_loading` pages the store is wrapped: a slow navigation then names a loading chain (the
275
317
  // shared layouts + the `_loading` component) for the mounted view to render in the meantime.
276
- loadings.length > 0
277
- ? `const router = withLoading(createClientRouter({ patterns, initial, loadModule, statusRoutes${routerStatusOption}, searchClientKeys, routeHooks }), { routes: loadingRoutes, modules: loadingModules, chains, searchSchemas, matchChains })`
278
- : `const router = createClientRouter({ patterns, initial, loadModule, statusRoutes${routerStatusOption}, searchClientKeys, routeHooks })`,
318
+ keepAround(keep, loadings.length > 0
319
+ ? `withLoading(createClientRouter({ patterns, initial, loadModule, statusRoutes${routerStatusOption}, searchClientKeys, routeHooks${liveFetch} }), { routes: loadingRoutes, modules: loadingModules, chains, searchSchemas, matchChains })`
320
+ : `createClientRouter({ patterns, initial, loadModule, statusRoutes${routerStatusOption}, searchClientKeys, routeHooks${liveFetch} })`),
321
+ // Kept pages hold the code they were rendered with: a hot update drops them.
322
+ ...(keep === undefined
323
+ ? []
324
+ : [
325
+ 'if (import.meta.hot) for (const event of ["bun:afterUpdate", "vite:afterUpdate"]) import.meta.hot.on(event, () => router.dropKept("hot-update"))',
326
+ ]),
279
327
  ...(options.serverComponents ? ["bindComponentRouter(router)"] : []),
280
328
  "installHistory(router)",
281
329
  "installForms(router)",
@@ -329,11 +377,13 @@ export function generateClientEntry(manifest, options) {
329
377
  " for (const listener of [...listeners]) listener()",
330
378
  " }, 0)",
331
379
  " }",
332
- " mountRouter({ router: view, routes: chains, searchSchemas, matchChains, container: root })",
380
+ ` mountRouter({ router: view, routes: chains, searchSchemas, matchChains, container: root${keep === undefined ? "" : ", keepAlive: keepAliveTable"} })`,
333
381
  // Run the optional client loader only after the adapter has mounted the SSR tree. The initial
334
382
  // server data is already in `window.__NIFRA_DATA__`, so `serverLoader()` reuses it and cannot
335
383
  // duplicate the first request.
336
384
  " router.hydrate().catch((error) => console.error('[nifra/web] clientLoader failed:', error))",
385
+ // Once mounted: the first live load and the socket must not race the hydration.
386
+ ...(live === undefined ? [] : [" __live.attach(router)"]),
337
387
  // Next frame: the adapter has committed its initial hydration, so handlers are attached. Flip the
338
388
  // document to interactive (`data-nifra-hydrated` + `nifra:hydrated`) for apps to gate pre-hydration UI.
339
389
  " requestAnimationFrame(signalHydrated)",
@@ -407,6 +457,13 @@ function moduleSpecifier(resolved) {
407
457
  // A route's namespace is not assignable to `RouteModule` under a strict `tsc` (a backend half has no
408
458
  // `default`, a typed `meta` narrows its data), so the table holds plain objects and the cast happens at
409
459
  // `buildManifest`'s boundary - the same cast `discoverRoutes` applies to its dynamic import.
460
+ // The routes the scan found exporting `keepAlive`, which a disk-less server cannot scan again.
461
+ const keepAliveArg = (manifest) => {
462
+ const files = [
463
+ ...new Set(manifest.routes.filter((route) => route.keepAlive).map((route) => route.file)),
464
+ ];
465
+ return files.length === 0 ? "" : `, { keepAlive: ${jsValueLiteral(files)} }`;
466
+ };
410
467
  const LAZY_IMPORTER = "(file) => loaders[file] as () => Promise<RouteModule>";
411
468
  const EAGER_IMPORTER = "(file) => () => Promise.resolve(modules[file] as RouteModule)";
412
469
  export function generateServerManifest(manifest, options) {
@@ -469,7 +526,7 @@ export function generateServerManifest(manifest, options) {
469
526
  cssLoadingLine,
470
527
  ...copyChunksLines,
471
528
  ...buildAssetsLines,
472
- `export const manifest = buildManifest(Object.keys(loaders), ${LAZY_IMPORTER})`,
529
+ `export const manifest = buildManifest(Object.keys(loaders), ${LAZY_IMPORTER}${keepAliveArg(manifest)})`,
473
530
  ].join("\n")}\n`;
474
531
  }
475
532
  // Eager: `import * as` per route (all bundled into the entry, parsed at boot). Index-based
@@ -488,7 +545,7 @@ export function generateServerManifest(manifest, options) {
488
545
  cssLoadingLine,
489
546
  ...copyChunksLines,
490
547
  ...buildAssetsLines,
491
- `export const manifest = buildManifest(Object.keys(modules), ${EAGER_IMPORTER})`,
548
+ `export const manifest = buildManifest(Object.keys(modules), ${EAGER_IMPORTER}${keepAliveArg(manifest)})`,
492
549
  ].join("\n")}\n`;
493
550
  }
494
551
  //# sourceMappingURL=codegen.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"codegen.js","sourceRoot":"","sources":["../../src/internal/codegen.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AAClG,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAA;AAEpD,OAAO,EACL,aAAa,EACb,eAAe,EACf,gBAAgB,EAChB,kBAAkB,EAClB,UAAU,EACV,WAAW,EACX,WAAW,EACX,kBAAkB,EAClB,cAAc,EACd,cAAc,EACd,YAAY,GACb,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAEhE,qGAAqG;AACrG,MAAM,UAAU,kBAAkB,CAAC,WAAoB;IACrD,OAAO,IAAI,SAAS,CAClB,wJAAwJ,WAAW,KAAK,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,WAAW,wDAAwD,CACnQ,CAAA;AACH,CAAC;AAED,yFAAyF;AACzF,MAAM,gBAAgB,GAAG;IACvB,WAAW;IACX,kBAAkB;IAClB,YAAY;IACZ,aAAa;IACb,eAAe;IACf,gBAAgB;IAChB,kBAAkB;IAClB,cAAc;CACf,CAAA;AAqBD;;;;;;;;;GASG;AACH,MAAM,UAAU,mBAAmB,CACjC,QAAkB,EAClB,OAAmC;IAEnC,MAAM,EAAE,YAAY,EAAE,OAAO,EAAE,GAAG,OAAO,CAAA;IAEzC,MAAM,UAAU,GAAa,EAAE,CAAA;IAC/B,MAAM,WAAW,GAAa,EAAE,CAAA;IAChC,MAAM,YAAY,GAA2B,EAAE,CAAA;IAC/C,kGAAkG;IAClG,iGAAiG;IACjG,MAAM,aAAa,GAAa,EAAE,CAAA;IAClC,qGAAqG;IACrG,MAAM,WAAW,GAAsC,EAAE,CAAA;IACzD,iGAAiG;IACjG,MAAM,UAAU,GAAG,CAAC,KAAwB,EAAU,EAAE;QACtD,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACrF,OAAO,sBAAsB,OAAO,IAAI,CAAA;IAC1C,CAAC,CAAA;IACD,KAAK,MAAM,KAAK,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;QACpC,sFAAsF;QACtF,MAAM,KAAK,GAAG;YACZ,GAAG,KAAK,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAE,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAiB,CAAC,IAAI,CAAC;YAC1E,KAAK,CAAC,IAAI;SACX,CAAA;QACD,mGAAmG;QACnG,MAAM,cAAc,GAAG,KAAK,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;QAC7C,MAAM,SAAS,GACb,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,cAAc,CAAC,EAAE,IAAI,CAAA;QACpF,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;YAC5B,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;YACrB,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;QAC9B,CAAC;QACD,UAAU,CAAC,IAAI,CAAC,KAAK,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QACxE,IAAI,KAAK,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC;YAAE,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,SAAS,CAAA;QACvE,WAAW,CAAC,IAAI,CACd,gBAAgB,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC,cAAc,eAAe,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAC3F,CAAA;IACH,CAAC;IACD,iGAAiG;IACjG,wGAAwG;IACxG,MAAM,UAAU,GAAG,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAA;IAC3C,MAAM,YAAY,GAAG,CAAC,OAAe,EAAE,IAAY,EAAU,EAAE,CAC7D,UAAU,KAAK,SAAS;QACtB,CAAC,CAAC,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC;QACpB,CAAC,CAAC,gBAAgB,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,mCAAmC,eAAe,CAAC,OAAO,CAAC,UAAU,CAAA;IACzH,IAAI,QAAQ,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QACpC,UAAU,CAAC,IAAI,CAAC,aAAa,YAAY,CAAC,MAAM,EAAE,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QAC7E,YAAY,CAAC,GAAG,CAAC,GAAG,MAAM,CAAA;IAC5B,CAAC;IACD,KAAK,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,IAAI,EAAE,CAAC,EAAE,CAAC;QACzE,MAAM,OAAO,GAAG,IAAI,MAAM,EAAE,CAAA;QAC5B,UAAU,CAAC,IAAI,CAAC,KAAK,eAAe,CAAC,OAAO,CAAC,KAAK,YAAY,CAAC,OAAO,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;QACvF,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,OAAO,CAAA;IACxC,CAAC;IACD,MAAM,iBAAiB,GACrB,UAAU,KAAK,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,KAAK,CAAC;QAChE,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC;YACE,+BAA+B;YAC/B,wCAAwC;YACxC,+CAA+C;YAC/C,mBAAmB,eAAe,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,sBAAsB;YAClF,mCAAmC;YACnC,mCAAmC;YACnC,2BAA2B;YAC3B,MAAM;YACN,GAAG;SACJ,CAAA;IACP,MAAM,kBAAkB,GAAG,iBAAiB,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,sBAAsB,CAAA;IACvF,qGAAqG;IACrG,qGAAqG;IACrG,qFAAqF;IACrF,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAA;IACxD,MAAM,YAAY,GAAa,EAAE,CAAA;IACjC,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,MAAM,SAAS,GAAG,IAAI,GAAG,EAAkB,CAAA;QAC3C,KAAK,MAAM,KAAK,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;YACpC,MAAM,KAAK,GAAG,CAAC,KAAK,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC;gBACjD,EAAE;gBACF,QAAQ,CAAC,QAAQ,EAAE,CAAC,EAAE,CAAC,EAAE,SAAS,CAAC,MAAM,IAAI,CAAC;aAC/C,CAAC,CAAA;YACF,SAAS,CAAC,GAAG,CACX,KAAK,CAAC,EAAE,EACR,KAAK,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,cAAc,CAAC,CAAC,KAAK,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC,GAAG,CAC/E,CAAA;QACH,CAAC;QACD,YAAY,CAAC,IAAI,CACf,0BAA0B,EAC1B,GAAG,QAAQ,CAAC,GAAG,CACb,CAAC,CAAC,EAAE,EAAE,KAAK,CAAC,EAAE,EAAE,CACd,KAAK,eAAe,CAAC,EAAE,CAAC,kBAAkB,eAAe,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CACrF,EACD,GAAG,EACH,yBAAyB,EACzB,GAAG,SAAS,CAAC,MAAM,EAAE,EACrB,GAAG,CACJ,CAAA;IACH,CAAC;IAED,OAAO,GAAG;QACR,8FAA8F;QAC9F,wFAAwF;QACxF,uGAAuG;QACvG,oIAAoI;QACpI,GAAG,CAAC,OAAO,CAAC,gBAAgB;YAC1B,CAAC,CAAC,CAAC,6EAA6E,CAAC;YACjF,CAAC,CAAC,EAAE,CAAC;QACP,mGAAmG;QACnG,4FAA4F;QAC5F,GAAG,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC;YACrB,CAAC,CAAC,CAAC,qEAAqE,CAAC;YACzE,CAAC,CAAC,EAAE,CAAC;QACP,8BAA8B,eAAe,CAAC,YAAY,CAAC,EAAE;QAC7D,mCAAmC;QACnC,mGAAmG;QACnG,oGAAoG;QACpG,2FAA2F;QAC3F,0DAA0D;QAC1D,iFAAiF;QACjF,8DAA8D;QAC9D,mDAAmD;QACnD,oHAAoH;QACpH,yIAAyI;QACzI,GAAG;QACH,+FAA+F;QAC/F,0EAA0E;QAC1E,kGAAkG;QAClG,8FAA8F;QAC9F,0DAA0D,cAAc,CACtE,4BAA4B,eAAe,CAAC,YAAY,CAAC,oCAAoC;YAC3F,6FAA6F;YAC7F,uFAAuF;YACvF,uFAAuF,CAC1F,GAAG;QACJ,+CAA+C;QAC/C,8FAA8F;QAC9F,EAAE;QACF,mGAAmG;QACnG,iGAAiG;QACjG,oGAAoG;QACpG,iGAAiG;QACjG,oGAAoG;QACpG,kGAAkG;QAClG,mDAAmD;QACnD,uHAAuH;QACvH,iCAAiC,cAAc,CAAC,aAAa,CAAC,GAAG;QACjE,2FAA2F;QAC3F,2FAA2F;QAC3F,kGAAkG;QAClG,GAAG,iBAAiB;QACpB,mBAAmB;QACnB,GAAG,UAAU;QACb,GAAG;QACH,mBAAmB;QACnB,kBAAkB;QAClB,0FAA0F;QAC1F,mGAAmG;QACnG,0BAA0B;QAC1B,oGAAoG;QACpG,qGAAqG;QACrG,6BAA6B;QAC7B,oGAAoG;QACpG,iGAAiG;QACjG,uBAAuB;QACvB,2FAA2F;QAC3F,8FAA8F;QAC9F,kBAAkB;QAClB,wFAAwF;QACxF,uBAAuB,cAAc,CAAC,WAAW,CAAC,EAAE;QACpD,wBAAwB;QACxB,SAAS,OAAO,CAAC,UAAU,KAAK,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,YAAY,oBAAoB;QACrF,0BAA0B;QAC1B,oCAAoC;QACpC,iGAAiG;QACjG,mGAAmG;QACnG,mGAAmG;QACnG,sCAAsC;QACtC,8FAA8F;QAC9F,gGAAgG;QAChG,iGAAiG;QACjG,oFAAoF;QACpF,iDAAiD;QACjD,oDAAoD;QACpD,gDAAgD;QAChD,0EAA0E;QAC1E,8DAA8D;QAC9D,mEAAmE;QACnE,sGAAsG;QACtG,0FAA0F;QAC1F,mFAAmF;QACnF,yEAAyE;QACzE,+HAA+H;QAC/H,YAAY;QACZ,6CAA6C;QAC7C,yCAAyC;QACzC,gGAAgG;QAChG,yDAAyD;QACzD,yEAAyE;QACzE,qGAAqG;QACrG,KAAK;QACL,sFAAsF;QACtF,oGAAoG;QACpG,kDAAkD;QAClD,yEAAyE;QACzE,iLAAiL;QACjL,qGAAqG;QACrG,0GAA0G;QAC1G,GAAG;QACH,GAAG,CAAC,OAAO,CAAC,UAAU,KAAK,IAAI;YAC7B,CAAC,CAAC;gBACE,iDAAiD,eAAe,CAAC,UAAU,CAAC,IAAI;gBAChF,6EAA6E;gBAC7E,0CAA0C;gBAC1C,gDAAgD;gBAChD,kEAAkE;gBAClE,oCAAoC;gBACpC,GAAG;aACJ;YACH,CAAC,CAAC,EAAE,CAAC;QACP,0FAA0F;QAC1F,4FAA4F;QAC5F,iGAAiG;QACjG,wFAAwF;QACxF,+CAA+C,cAAc,CAAC,uCAAuC,WAAW,IAAI,CAAC,GAAG;QACxH,kDAAkD;QAClD,+BAA+B;QAC/B,0DAA0D;QAC1D,uBAAuB,cAAc,CAAC,OAAO,CAAC,UAAU,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,gBAAgB,EAAE,kBAAkB,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,KAAK;QACtI,gGAAgG;QAChG,KAAK;QACL,GAAG;QACH,oBAAoB;QACpB,GAAG,WAAW;QACd,GAAG;QACH,yFAAyF;QACzF,sFAAsF;QACtF,4DAA4D;QAC5D,wBAAwB,cAAc,CAAC,YAAY,CAAC,EAAE;QACtD,8BAA8B,YAAY,QAAQ;QAClD,6FAA6F;QAC7F,qFAAqF;QACrF,mGAAmG;QACnG,+FAA+F;QAC/F,oEAAoE;QACpE,iGAAiG;QACjG,4FAA4F;QAC5F,mBAAmB;QACnB,mBAAmB;QACnB,kEAAkE;QAClE,uDAAuD;QACvD,uFAAuF;QACvF,gGAAgG;QAChG,iGAAiG;QACjG,8CAA8C;QAC9C,8BAA8B,WAAW,IAAI;QAC7C,6FAA6F;QAC7F,wBAAwB,kBAAkB,cAAc,kBAAkB,oBAAoB;QAC9F,oCAAoC,eAAe,IAAI;QACvD,8BAA8B,gBAAgB,GAAG;QACjD,0FAA0F;QAC1F,+FAA+F;QAC/F,wFAAwF;QACxF,oCAAoC,aAAa,IAAI;QACrD,mBAAmB;QACnB,GAAG;QACH,GAAG,YAAY;QACf,gGAAgG;QAChG,6FAA6F;QAC7F,QAAQ,CAAC,MAAM,GAAG,CAAC;YACjB,CAAC,CAAC,8FAA8F,kBAAkB,4HAA4H;YAC9O,CAAC,CAAC,kFAAkF,kBAAkB,mCAAmC;QAC3I,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,6BAA6B,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACpE,wBAAwB;QACxB,sBAAsB;QACtB,kGAAkG;QAClG,oGAAoG;QACpG,8FAA8F;QAC9F,gGAAgG;QAChG,yEAAyE;QACzE,mDAAmD,cAAc,wCAAwC;QACzG,+FAA+F;QAC/F,8FAA8F;QAC9F,8BAA8B,cAAc,CAC1C,4FAA4F;YAC1F,mDAAmD,cAAc,8BAA8B;YAC/F,gGAAgG;YAChG,+CAA+C,CAClD,GAAG;QACJ,mGAAmG;QACnG,+FAA+F;QAC/F,sEAAsE;QACtE,iGAAiG;QACjG,6FAA6F;QAC7F,kGAAkG;QAClG,yEAAyE;QACzE,qBAAqB;QACrB,uCAAuC;QACvC,eAAe;QACf,yBAAyB;QACzB,uBAAuB;QACvB,wDAAwD;QACxD,oDAAoD;QACpD,iCAAiC;QACjC,qBAAqB;QACrB,cAAc;QACd,iBAAiB;QACjB,cAAc;QACd,kBAAkB;QAClB,oBAAoB;QACpB,qCAAqC;QACrC,6BAA6B;QAC7B,0FAA0F;QAC1F,kEAAkE;QAClE,wBAAwB;QACxB,UAAU;QACV,6BAA6B;QAC7B,iCAAiC;QACjC,gDAAgD;QAChD,0DAA0D;QAC1D,UAAU;QACV,OAAO;QACP,wBAAwB;QACxB,oBAAoB;QACpB,yDAAyD;QACzD,WAAW;QACX,KAAK;QACL,8FAA8F;QAC9F,8FAA8F;QAC9F,8FAA8F;QAC9F,+BAA+B;QAC/B,+FAA+F;QAC/F,kGAAkG;QAClG,wGAAwG;QACxG,yCAAyC;QACzC,4BAA4B;QAC5B,iCAAiC;QACjC,4FAA4F;QAC5F,uBAAuB;QACvB,gGAAgG;QAChG,2FAA2F;QAC3F,4CAA4C;QAC5C,6IAA6I;QAC7I,4GAA4G;QAC5G,OAAO;QACP,MAAM;QACN,4EAA4E;KAC7E,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAA;AAClB,CAAC;AAYD;;;;;;;;GAQG;AACH,MAAM,UAAU,wBAAwB,CACtC,QAAkB,EAClB,OAAwC;IAExC,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,cAAc,EAAE,GAAG,OAAO,CAAA;IACpD,wGAAwG;IACxG,kGAAkG;IAClG,MAAM,OAAO,GAAG,QAAQ,CAAC,MAAM;SAC5B,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;SAC9C,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAU,CAAC;SAC7D,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SACtC,GAAG,CACF,CAAC,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE,EAAE,CAClB,OAAO,eAAe,CAAC,OAAO,CAAC,4BAA4B,eAAe,CAAC,IAAI,CAAC,IAAI,CACvF,CAAA;IACH,OAAO,GAAG;QACR,qGAAqG;QACrG,sGAAsG;QACtG,8CAA8C;QAC9C,kBAAkB,eAAe,CAAC,MAAM,CAAC,IAAI;QAC7C,2BAA2B;QAC3B,GAAG,OAAO;QACV,KAAK;QACL,GAAG;QACH,WAAW;KACZ,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAA;AAClB,CAAC;AAkCD;;;;;;;;;;;GAWG;AACH,oGAAoG;AACpG,yGAAyG;AACzG,uGAAuG;AACvG,sGAAsG;AACtG,oGAAoG;AACpG,wGAAwG;AACxG,gDAAgD;AAChD,MAAM,gBAAgB,GAAG,4BAA4B,CAAA;AACrD,SAAS,eAAe,CAAC,QAAgB;IACvC,OAAO,QAAQ,CAAC,OAAO,CAAC,gBAAgB,EAAE,EAAE,CAAC,CAAA;AAC/C,CAAC;AAED,qGAAqG;AACrG,wGAAwG;AACxG,6FAA6F;AAC7F,MAAM,aAAa,GAAG,uDAAuD,CAAA;AAC7E,MAAM,cAAc,GAAG,+DAA+D,CAAA;AAEtF,MAAM,UAAU,sBAAsB,CACpC,QAAkB,EAClB,OAAsC;IAEtC,MAAM,EACJ,OAAO,EACP,WAAW,EACX,MAAM,EACN,WAAW,EACX,UAAU,EAAE,mBAAmB,EAC/B,UAAU,EACV,WAAW,EACX,IAAI,GAAG,KAAK,GACb,GAAG,OAAO,CAAA;IACX,kGAAkG;IAClG,gGAAgG;IAChG,IAAI,OAAO,WAAW,KAAK,QAAQ;QAAE,MAAM,kBAAkB,CAAC,WAAW,CAAC,CAAA;IAC1E,MAAM,UAAU,GAAG,mBAAmB,CAAC,mBAAmB,IAAI,mBAAmB,CAAC,CAAA;IAClF,uGAAuG;IACvG,6FAA6F;IAC7F,2EAA2E;IAC3E,MAAM,OAAO,GAAG;QACd,GAAG,QAAQ,CAAC,MAAM;QAClB,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC;QAClC,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,IAAI,EAAE,CAAC;QACvC,GAAG,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACjD,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,IAAI,EAAE,CAAC;QAC1C,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,IAAI,EAAE,CAAC;QAC5C,GAAG,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,IAAI,EAAE,CAAC;KAC7C,CAAA;IACD,MAAM,KAAK,GAAG;QACZ,GAAG,IAAI,GAAG,CACR,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CACxB,KAAK,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,OAAO,CAAC,CACzE,CACF;KACF,CAAC,IAAI,EAAE,CAAA;IACR,MAAM,MAAM,GAAG;QACb,6FAA6F;QAC7F,gGAAgG;QAChG,yFAAyF;QACzF,gEAAgE;KACjE,CAAA;IACD,MAAM,eAAe,GAAG,8BAA8B,eAAe,CAAC,WAAW,CAAC,EAAE,CAAA;IACpF,qGAAqG;IACrG,oGAAoG;IACpG,MAAM,UAAU,GAAG,yBAAyB,cAAc,CAAC,MAAM,IAAI,EAAE,CAAC,EAAE,CAAA;IAC1E,MAAM,eAAe,GAAG,8BAA8B,cAAc,CAAC,WAAW,IAAI,EAAE,CAAC,EAAE,CAAA;IACzF,MAAM,cAAc,GAAG,6BAA6B,eAAe,CAAC,UAAU,CAAC,EAAE,CAAA;IACjF,iGAAiG;IACjG,MAAM,eAAe,GACnB,UAAU,KAAK,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,KAAK,CAAC;QAC9D,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC,CAAC,6BAA6B,cAAc,CAAC,UAAU,CAAC,EAAE,CAAC,CAAA;IACjE,MAAM,gBAAgB,GACpB,WAAW,KAAK,SAAS;QACvB,CAAC,CAAC,EAAE;QACJ,CAAC,CAAC;YACE,2DAA2D,cAAc,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,GAAG;YAC9G,sFAAsF;SACvF,CAAA;IACP,IAAI,IAAI,EAAE,CAAC;QACT,+FAA+F;QAC/F,8FAA8F;QAC9F,6EAA6E;QAC7E,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CACvB,CAAC,IAAI,EAAE,EAAE,CACP,KAAK,eAAe,CAAC,IAAI,CAAC,kBAAkB,eAAe,CAAC,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAClG,CAAA;QACD,OAAO,GAAG;YACR,GAAG,MAAM;YACT,0DAA0D;YAC1D,GAAG,OAAO;YACV,GAAG;YACH,eAAe;YACf,UAAU;YACV,eAAe;YACf,cAAc;YACd,GAAG,eAAe;YAClB,GAAG,gBAAgB;YACnB,+DAA+D,aAAa,GAAG;SAChF,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAA;IAClB,CAAC;IACD,2FAA2F;IAC3F,0DAA0D;IAC1D,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CACvB,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,gBAAgB,CAAC,SAAS,eAAe,CAAC,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CACzF,CAAA;IACD,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,KAAK,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;IAC5E,OAAO,GAAG;QACR,GAAG,MAAM;QACT,GAAG,OAAO;QACV,2CAA2C;QAC3C,GAAG,OAAO;QACV,GAAG;QACH,eAAe;QACf,UAAU;QACV,eAAe;QACf,cAAc;QACd,GAAG,eAAe;QAClB,GAAG,gBAAgB;QACnB,+DAA+D,cAAc,GAAG;KACjF,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAA;AAClB,CAAC"}
1
+ {"version":3,"file":"codegen.js","sourceRoot":"","sources":["../../src/internal/codegen.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,73 @@
1
+ /**
2
+ * The app's WebSocket routes under the dev servers. Neither dev server is the app's own listener, so
3
+ * neither gets the upgrades `app.listen()` and the adapters wire: each hands the handshake to the
4
+ * app's `resolveWebSocketUpgrade` seam - the route's `upgrade()` guard and Origin check included - and
5
+ * wires an accepted socket with the runtime's own `attach`, so a dev socket behaves as a served one.
6
+ */
7
+ import type { WebSocketUpgradeOutcome } from "@nifrajs/core";
8
+ type Upgrade = Extract<WebSocketUpgradeOutcome, {
9
+ readonly kind: "upgrade";
10
+ }>;
11
+ /** A nifra app's handshake seam; a plain `{ fetch }` handler has none and takes no upgrades. */
12
+ export interface UpgradableApp {
13
+ resolveWebSocketUpgrade?(request: Request): WebSocketUpgradeOutcome | Promise<WebSocketUpgradeOutcome>;
14
+ }
15
+ export declare function isWebSocketUpgrade(request: Request): boolean;
16
+ /** What a dev socket carries from its handshake to `open`, and the view its events go to after. */
17
+ export interface BunDevSocketData {
18
+ readonly outcome: Upgrade;
19
+ emit?: (type: string, event: unknown) => void;
20
+ }
21
+ /** The part of Bun's `ServerWebSocket` used here. */
22
+ interface BunDevSocket {
23
+ send(data: string | ArrayBufferView | ArrayBuffer): unknown;
24
+ close(code?: number, reason?: string): void;
25
+ readonly readyState: number;
26
+ readonly data: BunDevSocketData;
27
+ }
28
+ export interface BunUpgradeServer {
29
+ upgrade(request: Request, options: {
30
+ data: BunDevSocketData;
31
+ }): boolean;
32
+ }
33
+ /** `Bun.serve`'s `websocket` option for a dev server whose upgrades go through {@link upgradeOnBun}. */
34
+ export declare const bunDevWebSocket: {
35
+ open(socket: BunDevSocket): void;
36
+ message(socket: BunDevSocket, message: string | Uint8Array): void;
37
+ close(socket: BunDevSocket, code: number, reason: string): void;
38
+ };
39
+ /**
40
+ * Run the handshake through the app. `undefined` when the socket was upgraded; a `Response` for a
41
+ * refusal; `"pass"` when no WebSocket route takes the path, for the dev server to answer as HTTP.
42
+ */
43
+ export declare function upgradeOnBun(app: UpgradableApp, request: Request, server: BunUpgradeServer): Promise<Response | "pass" | undefined>;
44
+ /** The part of a Node socket an upgrade writes to. */
45
+ export interface UpgradeSocket {
46
+ write(chunk: string): unknown;
47
+ destroy(): void;
48
+ on(event: "error", listener: () => void): unknown;
49
+ }
50
+ /** The part of the `ws` package's `WebSocketServer` used here (no `@types/ws` dependency). */
51
+ export interface WsServer {
52
+ handleUpgrade(request: unknown, socket: UpgradeSocket, head: unknown, done: (ws: WsSocket) => void): void;
53
+ }
54
+ /** The part of a `ws` socket used here. Its own events, not its `addEventListener`: Bun's `ws`
55
+ * shim hands text frames to that as bytes. The shim also gives a close reason as a string where
56
+ * `ws` gives bytes. */
57
+ interface WsSocket {
58
+ send(data: string | ArrayBufferView | ArrayBuffer): void;
59
+ close(code?: number, reason?: string): void;
60
+ readonly readyState: number;
61
+ on(event: "message", listener: (data: string | Uint8Array, isBinary: boolean) => void): void;
62
+ on(event: "close", listener: (code: number, reason: string | Uint8Array) => void): void;
63
+ on(event: "error", listener: (error: Error) => void): void;
64
+ }
65
+ /** A noServer `ws` server from `specifier`; undefined when it cannot be loaded or has none. */
66
+ export declare function wsServerFrom(specifier: string): Promise<WsServer | undefined>;
67
+ /**
68
+ * Answer a Node `upgrade` event through the app. Resolves `false` when no WebSocket route takes the
69
+ * path, leaving the socket to the other listeners (Vite's HMR among them).
70
+ */
71
+ export declare function upgradeOnNode(app: UpgradableApp, request: Request, nodeRequest: unknown, socket: UpgradeSocket, head: unknown, wsServerOf?: () => Promise<WsServer | undefined>): Promise<boolean>;
72
+ export {};
73
+ //# sourceMappingURL=dev-websocket.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dev-websocket.d.ts","sourceRoot":"","sources":["../../src/internal/dev-websocket.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,145 @@
1
+ var __rewriteRelativeImportExtension = (this && this.__rewriteRelativeImportExtension) || function (path, preserveJsx) {
2
+ if (typeof path === "string" && /^\.\.?\//.test(path)) {
3
+ return path.replace(/\.(tsx)$|((?:\.d)?)((?:\.[^./]+?)?)\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {
4
+ return tsx ? preserveJsx ? ".jsx" : ".js" : d && (!ext || !cm) ? m : (d + ext + "." + cm.toLowerCase() + "js");
5
+ });
6
+ }
7
+ return path;
8
+ };
9
+ export function isWebSocketUpgrade(request) {
10
+ return request.headers.get("upgrade")?.toLowerCase() === "websocket";
11
+ }
12
+ /** A standard-socket view `attach` wires its listeners to; the dev server feeds it events. */
13
+ function socketView(native) {
14
+ const listeners = new Map();
15
+ return {
16
+ view: {
17
+ send: (data) => {
18
+ native.send(data);
19
+ },
20
+ close: (code, reason) => native.close(code, reason),
21
+ get readyState() {
22
+ return native.readyState;
23
+ },
24
+ addEventListener(type, listener) {
25
+ listeners.set(type, [...(listeners.get(type) ?? []), listener]);
26
+ },
27
+ },
28
+ emit(type, event) {
29
+ for (const listener of listeners.get(type) ?? [])
30
+ Reflect.apply(listener, undefined, [event]);
31
+ },
32
+ };
33
+ }
34
+ function attachView(view, outcome) {
35
+ outcome.attach(view, outcome.handler, outcome.data, {
36
+ openNow: true,
37
+ pubsub: outcome.pubsub,
38
+ maxPayloadBytes: outcome.maxPayloadBytes,
39
+ });
40
+ }
41
+ /** `Bun.serve`'s `websocket` option for a dev server whose upgrades go through {@link upgradeOnBun}. */
42
+ export const bunDevWebSocket = {
43
+ open(socket) {
44
+ const { view, emit } = socketView(socket);
45
+ socket.data.emit = emit;
46
+ attachView(view, socket.data.outcome);
47
+ },
48
+ message(socket, message) {
49
+ socket.data.emit?.("message", { data: message });
50
+ },
51
+ close(socket, code, reason) {
52
+ socket.data.emit?.("close", { code, reason });
53
+ },
54
+ };
55
+ /**
56
+ * Run the handshake through the app. `undefined` when the socket was upgraded; a `Response` for a
57
+ * refusal; `"pass"` when no WebSocket route takes the path, for the dev server to answer as HTTP.
58
+ */
59
+ export async function upgradeOnBun(app, request, server) {
60
+ if (app.resolveWebSocketUpgrade === undefined)
61
+ return "pass";
62
+ const outcome = await app.resolveWebSocketUpgrade(request);
63
+ if (outcome.kind === "pass")
64
+ return "pass";
65
+ if (outcome.kind === "reject")
66
+ return outcome.response;
67
+ return server.upgrade(request, { data: { outcome } })
68
+ ? undefined
69
+ : new Response("upgrade_required", { status: 426 });
70
+ }
71
+ const TEXT = new TextDecoder();
72
+ const textOf = (data) => typeof data === "string" ? data : TEXT.decode(data);
73
+ /** A non-literal specifier: `ws` is an optional peer, typed structurally above. */
74
+ const WS_MODULE = "ws";
75
+ /** A noServer `ws` server from `specifier`; undefined when it cannot be loaded or has none. */
76
+ export async function wsServerFrom(specifier) {
77
+ try {
78
+ const mod = await import(__rewriteRelativeImportExtension(specifier));
79
+ const Server = mod.WebSocketServer ?? mod.default?.WebSocketServer;
80
+ return Server === undefined ? undefined : new Server({ noServer: true });
81
+ }
82
+ catch {
83
+ return undefined;
84
+ }
85
+ }
86
+ let wsServer;
87
+ /** One server for every dev upgrade. */
88
+ const loadWsServer = () => {
89
+ wsServer ??= wsServerFrom(WS_MODULE);
90
+ return wsServer;
91
+ };
92
+ /**
93
+ * Answer a Node `upgrade` event through the app. Resolves `false` when no WebSocket route takes the
94
+ * path, leaving the socket to the other listeners (Vite's HMR among them).
95
+ */
96
+ export async function upgradeOnNode(app, request, nodeRequest, socket, head, wsServerOf = loadWsServer) {
97
+ if (app.resolveWebSocketUpgrade === undefined)
98
+ return false;
99
+ // A peer can reset the socket while the guard is awaited; with no listener that error ends the process.
100
+ socket.on("error", () => { });
101
+ let outcome;
102
+ try {
103
+ outcome = await app.resolveWebSocketUpgrade(request);
104
+ }
105
+ catch {
106
+ await writeRefusal(socket, new Response("internal_error", { status: 500 }));
107
+ return true;
108
+ }
109
+ if (outcome.kind === "pass")
110
+ return false;
111
+ if (outcome.kind === "reject") {
112
+ await writeRefusal(socket, outcome.response);
113
+ return true;
114
+ }
115
+ const wss = await wsServerOf();
116
+ if (wss === undefined) {
117
+ await writeRefusal(socket, new Response("[nifra] install `ws` to serve app.ws() routes under the Vite dev server\n", {
118
+ status: 501,
119
+ }));
120
+ return true;
121
+ }
122
+ const upgrade = outcome;
123
+ wss.handleUpgrade(nodeRequest, socket, head, (ws) => {
124
+ const { view, emit } = socketView(ws);
125
+ ws.on("message", (data, isBinary) => emit("message", { data: isBinary ? data : textOf(data) }));
126
+ // Bun's `node:http` stops listening when a socket's close listener throws.
127
+ ws.on("close", (code, reason) => emit("close", { code, reason: textOf(reason) }));
128
+ ws.on("error", (error) => emit("error", error));
129
+ attachView(view, upgrade);
130
+ });
131
+ return true;
132
+ }
133
+ /** A refusal written to the raw socket, then closed. */
134
+ async function writeRefusal(socket, response) {
135
+ const body = await response.text();
136
+ let head = `HTTP/1.1 ${response.status} ${response.statusText || "Refused"}\r\n`;
137
+ response.headers.forEach((value, key) => {
138
+ if (key !== "content-length" && key !== "connection")
139
+ head += `${key}: ${value}\r\n`;
140
+ });
141
+ head += `content-length: ${new TextEncoder().encode(body).byteLength}\r\nconnection: close\r\n\r\n`;
142
+ socket.write(head + body);
143
+ socket.destroy();
144
+ }
145
+ //# sourceMappingURL=dev-websocket.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dev-websocket.js","sourceRoot":"","sources":["../../src/internal/dev-websocket.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,66 @@
1
+ /**
2
+ * The browser side of a partially prerendered page's holes, shared by every adapter's `Hole`: the
3
+ * host's first fill from the document, and each refill a data request brings when the page on screen
4
+ * reloads. An adapter supplies only how an interactive hole's own root hydrates, updates and goes. A
5
+ * hole that shows a server component mounts the client islands inside it through the component
6
+ * client the app registered with `holeComponents` (`@nifrajs/web/server-components/client`).
7
+ */
8
+ import type { ComponentClientAdapter } from "../server-components/client.js";
9
+ import type { ComponentRecord } from "../server-components/types.js";
10
+ /** One hole's fill, as the PPR runtime keeps it. */
11
+ export interface HoleFill {
12
+ readonly props?: unknown;
13
+ readonly error: boolean;
14
+ /** The record of the server component the hole shows, without its HTML. */
15
+ readonly component?: unknown;
16
+ /** That component's HTML. */
17
+ readonly html?: string;
18
+ }
19
+ /** The error slot a failed, timed-out or refused hole shows. Constant: no thrown message reaches it. */
20
+ export declare const HOLE_ERROR_HTML = "<p data-nifra-hole-error=\"\">This section is unavailable.</p>";
21
+ /** How the islands inside a hole that shows a server component mount: the app's component client,
22
+ * and the protocol check the component's record passes first. */
23
+ export interface HoleComponents {
24
+ readonly client: ComponentClientAdapter;
25
+ record(value: unknown): ComponentRecord;
26
+ }
27
+ /** What `holeComponents` registers; `undefined` forgets it. */
28
+ export declare function setHoleComponents(next: HoleComponents | undefined): void;
29
+ /** An interactive hole's own root, as its adapter made it. */
30
+ export interface HoleRoot {
31
+ /** Render new props into the root, keeping its state; `false` when it has to be made again. */
32
+ update(props: unknown): boolean;
33
+ /** `leaving`: the page is unmounting the host, so the adapter may defer the work. A promise means
34
+ * the host is not free until it settles. */
35
+ dispose(leaving: boolean): void | Promise<void>;
36
+ /** The kept page holding the host is hidden (`true`) or shown again: a root whose framework can
37
+ * pause what it runs keeps its state either way. */
38
+ hide?(hidden: boolean): void;
39
+ }
40
+ export interface HoleHost {
41
+ /** Apply a data request's fill once it arrives, unless a newer one is given first. Without the
42
+ * shell's runtime, only a server component's fill or the error slot can be put. A first fill the
43
+ * host was rendered with (`initialHtml`) hydrates its islands over that HTML. */
44
+ refill(fill: unknown): void;
45
+ dispose(): void;
46
+ /**
47
+ * For an adapter whose hidden page cleans its effects up (React's `Activity`): while a kept page
48
+ * hides the host, keep it, root and all, for the page's return, and dispose it only if the page is
49
+ * dropped. `false` when nothing hides the host, and disposing is the adapter's.
50
+ */
51
+ park(): boolean;
52
+ /** The parked host is the adapter's again. */
53
+ unpark(): void;
54
+ }
55
+ /**
56
+ * What a host renders with: a blocking render's settled fill puts the server's HTML in it, which a
57
+ * crawler reads with no script; any other state leaves it empty. A host reads it once, so no later
58
+ * render changes what the runtime put there.
59
+ */
60
+ export declare const initialHtml: (fill: unknown) => string;
61
+ /**
62
+ * Drive the host of hole `name`. `hydrate` makes an interactive hole's root over the server HTML in
63
+ * `host`; a hole without one only ever shows server HTML, or a server component's.
64
+ */
65
+ export declare function holeHost(name: string, host: Element, hydrate: ((host: Element, props: unknown) => HoleRoot) | undefined): HoleHost;
66
+ //# sourceMappingURL=hole-runtime.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hole-runtime.d.ts","sourceRoot":"","sources":["../../src/internal/hole-runtime.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,EAAE,sBAAsB,EAAuB,MAAM,gCAAgC,CAAA;AACjG,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAGpE,oDAAoD;AACpD,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,KAAK,CAAC,EAAE,OAAO,CAAA;IACxB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;IACvB,2EAA2E;IAC3E,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAA;IAC5B,6BAA6B;IAC7B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CACvB;AAWD,wGAAwG;AACxG,eAAO,MAAM,eAAe,mEAAiE,CAAA;AAgB7F;iEACiE;AACjE,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,MAAM,EAAE,sBAAsB,CAAA;IACvC,MAAM,CAAC,KAAK,EAAE,OAAO,GAAG,eAAe,CAAA;CACxC;AAID,+DAA+D;AAC/D,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,cAAc,GAAG,SAAS,GAAG,IAAI,CAExE;AAED,8DAA8D;AAC9D,MAAM,WAAW,QAAQ;IACvB,+FAA+F;IAC/F,MAAM,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAA;IAC/B;gDAC4C;IAC5C,OAAO,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC/C;wDACoD;IACpD,IAAI,CAAC,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,CAAA;CAC7B;AAED,MAAM,WAAW,QAAQ;IACvB;;qFAEiF;IACjF,MAAM,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,CAAA;IAC3B,OAAO,IAAI,IAAI,CAAA;IACf;;;;OAIG;IACH,IAAI,IAAI,OAAO,CAAA;IACf,8CAA8C;IAC9C,MAAM,IAAI,IAAI,CAAA;CACf;AAWD;;;;GAIG;AACH,eAAO,MAAM,WAAW,GAAI,MAAM,OAAO,KAAG,MACwD,CAAA;AAkEpG;;;GAGG;AACH,wBAAgB,QAAQ,CACtB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,OAAO,EACb,OAAO,EAAE,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,KAAK,QAAQ,CAAC,GAAG,SAAS,GACjE,QAAQ,CA2GV"}