devflare 1.0.0-next.16 → 1.0.0-next.18
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.
- package/LLM.md +688 -229
- package/README.md +70 -8
- package/bin/devflare.js +1 -1
- package/dist/{account-fw8nafav.js → account-0evqkmnc.js} +8 -8
- package/dist/{account-0w8wdzjv.js → account-0v11zbzk.js} +9 -9
- package/dist/{account-eygq6qx7.js → account-2w85efas.js} +9 -9
- package/dist/{account-pzq69nys.js → account-61gw9s7t.js} +9 -9
- package/dist/account-65sk9q34.js +475 -0
- package/dist/account-77vx7q2f.js +475 -0
- package/dist/account-7z38mgqf.js +475 -0
- package/dist/account-8wgprpbt.js +475 -0
- package/dist/account-9gt3tej1.js +475 -0
- package/dist/account-dtndtbad.js +475 -0
- package/dist/account-e95v7f4s.js +475 -0
- package/dist/account-fbyyptg7.js +475 -0
- package/dist/account-gnzhz1c9.js +475 -0
- package/dist/account-m6jq6fnp.js +475 -0
- package/dist/account-mvnfagh9.js +475 -0
- package/dist/account-p0crq2gh.js +475 -0
- package/dist/account-qkcevx7a.js +475 -0
- package/dist/account-txwqg1rx.js +475 -0
- package/dist/account-w5n5bjh2.js +475 -0
- package/dist/account-zd61t0ey.js +475 -0
- package/dist/api-11gkk043.js +33 -0
- package/dist/api-2n6dd2ws.js +33 -0
- package/dist/api-dbxvch9h.js +33 -0
- package/dist/api-p9hf69kr.js +33 -0
- package/dist/api-r10j00ev.js +33 -0
- package/dist/api-senf2569.js +33 -0
- package/dist/api-swcgnp72.js +33 -0
- package/dist/{api-d6ekexs5.js → api-th82mps4.js} +3 -1
- package/dist/bridge/client.d.ts +29 -6
- package/dist/bridge/client.d.ts.map +1 -1
- package/dist/bridge/gateway-runtime.d.ts +8 -0
- package/dist/bridge/gateway-runtime.d.ts.map +1 -0
- package/dist/bridge/index.d.ts +2 -2
- package/dist/bridge/index.d.ts.map +1 -1
- package/dist/bridge/log.d.ts +5 -0
- package/dist/bridge/log.d.ts.map +1 -0
- package/dist/bridge/miniflare.d.ts.map +1 -1
- package/dist/bridge/proxy.d.ts +7 -5
- package/dist/bridge/proxy.d.ts.map +1 -1
- package/dist/bridge/serialization.d.ts +36 -16
- package/dist/bridge/serialization.d.ts.map +1 -1
- package/dist/bridge/server.d.ts +1 -0
- package/dist/bridge/server.d.ts.map +1 -1
- package/dist/bridge/v2/body-streams.d.ts +53 -0
- package/dist/bridge/v2/body-streams.d.ts.map +1 -0
- package/dist/bridge/v2/codec.d.ts +106 -0
- package/dist/bridge/v2/codec.d.ts.map +1 -0
- package/dist/bridge/v2/control-messages.d.ts +51 -0
- package/dist/bridge/v2/control-messages.d.ts.map +1 -0
- package/dist/bridge/v2/frames.d.ts +109 -0
- package/dist/bridge/v2/frames.d.ts.map +1 -0
- package/dist/bridge/v2/index.d.ts +11 -0
- package/dist/bridge/v2/index.d.ts.map +1 -0
- package/dist/bridge/v2/legacy-protocol.d.ts +146 -0
- package/dist/bridge/v2/legacy-protocol.d.ts.map +1 -0
- package/dist/bridge/v2/legacy-serialization.d.ts +103 -0
- package/dist/bridge/v2/legacy-serialization.d.ts.map +1 -0
- package/dist/bridge/v2/serialization.d.ts +48 -0
- package/dist/bridge/v2/serialization.d.ts.map +1 -0
- package/dist/bridge/v2/transport.d.ts +31 -0
- package/dist/bridge/v2/transport.d.ts.map +1 -0
- package/dist/bridge/v2/value-codec.d.ts +61 -0
- package/dist/bridge/v2/value-codec.d.ts.map +1 -0
- package/dist/bridge/v2/value-serialization.d.ts +103 -0
- package/dist/bridge/v2/value-serialization.d.ts.map +1 -0
- package/dist/bridge/v2/wire.d.ts +170 -0
- package/dist/bridge/v2/wire.d.ts.map +1 -0
- package/dist/bridge/v2/ws-relay.d.ts +53 -0
- package/dist/bridge/v2/ws-relay.d.ts.map +1 -0
- package/dist/browser-shim/server.d.ts +63 -0
- package/dist/browser-shim/server.d.ts.map +1 -1
- package/dist/browser.d.ts +396 -38
- package/dist/browser.d.ts.map +1 -1
- package/dist/{src/browser.js → browser.js} +19 -33
- package/dist/build-07mjrvsn.js +53 -0
- package/dist/build-0rfr8k1s.js +53 -0
- package/dist/build-1313sg73.js +52 -0
- package/dist/build-1hnntbks.js +53 -0
- package/dist/build-1r3myv0k.js +53 -0
- package/dist/build-28561w5v.js +54 -0
- package/dist/build-50yqpwb3.js +54 -0
- package/dist/build-55z8psd6.js +53 -0
- package/dist/build-5b9wj2p0.js +53 -0
- package/dist/build-5frhzh1m.js +53 -0
- package/dist/{build-p3r3117t.js → build-6ye9vnab.js} +8 -9
- package/dist/build-8gv18jrq.js +52 -0
- package/dist/build-9bgqypy6.js +53 -0
- package/dist/{build-506kjhcm.js → build-9em4ymqn.js} +12 -13
- package/dist/build-eh3x12qc.js +52 -0
- package/dist/build-emhyycp7.js +53 -0
- package/dist/build-f1m9jn7b.js +53 -0
- package/dist/build-ffe72jjv.js +54 -0
- package/dist/build-fx90y6za.js +53 -0
- package/dist/build-h31egsze.js +53 -0
- package/dist/build-hpczwagb.js +53 -0
- package/dist/{build-1kmkwqgh.js → build-hpkbanpw.js} +16 -15
- package/dist/build-j2re91xe.js +54 -0
- package/dist/{build-66866ahs.js → build-j78389rg.js} +12 -13
- package/dist/build-m3kckn5g.js +53 -0
- package/dist/build-mf3thcjm.js +53 -0
- package/dist/build-n3n5bv37.js +52 -0
- package/dist/build-ngfy4v5x.js +53 -0
- package/dist/build-pr843h0d.js +52 -0
- package/dist/build-qyg2b45p.js +52 -0
- package/dist/build-r6884kyt.js +53 -0
- package/dist/build-re370wkf.js +53 -0
- package/dist/build-vvndgwg0.js +52 -0
- package/dist/build-wp559jkf.js +54 -0
- package/dist/{build-g1adm3ww.js → build-x4r67275.js} +12 -13
- package/dist/build-xp4pfhvv.js +52 -0
- package/dist/build-y489r2h9.js +54 -0
- package/dist/build-y6g4bvx5.js +52 -0
- package/dist/build-yvn0yhwx.js +52 -0
- package/dist/build-z4vmhs5c.js +53 -0
- package/dist/bundler/defaults.d.ts +23 -0
- package/dist/bundler/defaults.d.ts.map +1 -0
- package/dist/bundler/do-bundler.d.ts.map +1 -1
- package/dist/bundler/index.d.ts +1 -0
- package/dist/bundler/index.d.ts.map +1 -1
- package/dist/bundler/rolldown-shared.d.ts +29 -0
- package/dist/bundler/rolldown-shared.d.ts.map +1 -1
- package/dist/bundler/worker-bundler.d.ts.map +1 -1
- package/dist/bundler/worker-compat.d.ts.map +1 -1
- package/dist/cli/build-manifest.d.ts +54 -0
- package/dist/cli/build-manifest.d.ts.map +1 -0
- package/dist/cli/commands/build-artifacts.d.ts +13 -0
- package/dist/cli/commands/build-artifacts.d.ts.map +1 -1
- package/dist/cli/commands/deploy.d.ts.map +1 -1
- package/dist/cli/dependencies.d.ts +1 -0
- package/dist/cli/dependencies.d.ts.map +1 -1
- package/dist/cli/deploy-strategy.d.ts +3 -3
- package/dist/cli/deploy-strategy.d.ts.map +1 -1
- package/dist/cli/help-pages/pages/core.d.ts.map +1 -1
- package/dist/cli/index.js +12 -0
- package/dist/cli/preview-bindings.d.ts +8 -1
- package/dist/cli/preview-bindings.d.ts.map +1 -1
- package/dist/cli/preview.d.ts +1 -2
- package/dist/cli/preview.d.ts.map +1 -1
- package/dist/cloudflare/account-resources.d.ts.map +1 -1
- package/dist/cloudflare/api.d.ts +67 -3
- package/dist/cloudflare/api.d.ts.map +1 -1
- package/dist/cloudflare/auth.d.ts.map +1 -1
- package/dist/{src/cloudflare → cloudflare}/index.js +7 -7
- package/dist/cloudflare/known-permission-group-ids.generated.d.ts +10 -0
- package/dist/cloudflare/known-permission-group-ids.generated.d.ts.map +1 -0
- package/dist/cloudflare/kv-namespace.d.ts +2 -1
- package/dist/cloudflare/kv-namespace.d.ts.map +1 -1
- package/dist/cloudflare/preferences.d.ts +7 -0
- package/dist/cloudflare/preferences.d.ts.map +1 -1
- package/dist/cloudflare/preview-registry-inference.d.ts +14 -0
- package/dist/cloudflare/preview-registry-inference.d.ts.map +1 -0
- package/dist/cloudflare/preview-registry-records.d.ts +3 -60
- package/dist/cloudflare/preview-registry-records.d.ts.map +1 -1
- package/dist/cloudflare/preview-registry-shape.d.ts +47 -0
- package/dist/cloudflare/preview-registry-shape.d.ts.map +1 -0
- package/dist/cloudflare/preview-registry-transport.d.ts +4 -0
- package/dist/cloudflare/preview-registry-transport.d.ts.map +1 -0
- package/dist/cloudflare/preview-urls.d.ts +3 -0
- package/dist/cloudflare/preview-urls.d.ts.map +1 -0
- package/dist/cloudflare/tokens.d.ts +23 -0
- package/dist/cloudflare/tokens.d.ts.map +1 -1
- package/dist/cloudflare/types.d.ts +1 -1
- package/dist/cloudflare/types.d.ts.map +1 -1
- package/dist/cloudflare/usage.d.ts +30 -2
- package/dist/cloudflare/usage.d.ts.map +1 -1
- package/dist/config/binding-resolution-helpers.d.ts +36 -0
- package/dist/config/binding-resolution-helpers.d.ts.map +1 -0
- package/dist/config/compatibility.d.ts +3 -0
- package/dist/config/compatibility.d.ts.map +1 -0
- package/dist/config/compiler.d.ts +61 -20
- package/dist/config/compiler.d.ts.map +1 -1
- package/dist/config/deploy-resources.d.ts +58 -0
- package/dist/config/deploy-resources.d.ts.map +1 -0
- package/dist/config/index.d.ts +5 -2
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/preview-resources.d.ts +6 -0
- package/dist/config/preview-resources.d.ts.map +1 -1
- package/dist/config/preview.d.ts.map +1 -1
- package/dist/config/ref.d.ts +14 -1
- package/dist/config/ref.d.ts.map +1 -1
- package/dist/config/resolve-phased.d.ts +72 -0
- package/dist/config/resolve-phased.d.ts.map +1 -0
- package/dist/config/resolve.d.ts +7 -0
- package/dist/config/resolve.d.ts.map +1 -1
- package/dist/config/resource-resolution.d.ts +26 -6
- package/dist/config/resource-resolution.d.ts.map +1 -1
- package/dist/config/schema-bindings.d.ts +262 -0
- package/dist/config/schema-bindings.d.ts.map +1 -1
- package/dist/config/schema-env.d.ts +375 -39
- package/dist/config/schema-env.d.ts.map +1 -1
- package/dist/config/schema-normalization.d.ts +26 -2
- package/dist/config/schema-normalization.d.ts.map +1 -1
- package/dist/config/schema.d.ts +994 -63
- package/dist/config/schema.d.ts.map +1 -1
- package/dist/config/service-bindings-validation.d.ts +36 -0
- package/dist/config/service-bindings-validation.d.ts.map +1 -0
- package/dist/{config-hwdqjse7.js → config-1japnjmx.js} +5 -5
- package/dist/{config-q0g5qdga.js → config-287wjn1m.js} +6 -6
- package/dist/{config-fjwke42y.js → config-4x6vq82e.js} +6 -6
- package/dist/{config-pxvewrhv.js → config-5n0avhcx.js} +6 -6
- package/dist/config-70s2ap5j.js +59 -0
- package/dist/config-7hge8ze6.js +59 -0
- package/dist/config-7rbp7aek.js +59 -0
- package/dist/config-b8xbbmta.js +59 -0
- package/dist/config-baee5690.js +59 -0
- package/dist/config-bczpc1ey.js +59 -0
- package/dist/{src/config-entry.js → config-entry.js} +3 -3
- package/dist/config-fhmwzaw6.js +59 -0
- package/dist/config-g9vkfa4x.js +59 -0
- package/dist/config-gpexkzth.js +59 -0
- package/dist/config-nspw7sgv.js +59 -0
- package/dist/config-ntm4x9wt.js +59 -0
- package/dist/config-nv6hfpg6.js +59 -0
- package/dist/config-pjc33wew.js +59 -0
- package/dist/config-pnz2e8s3.js +59 -0
- package/dist/config-qts6nh6g.js +59 -0
- package/dist/config-sg2xrdt4.js +59 -0
- package/dist/config-vzwckat3.js +59 -0
- package/dist/config-x90dkmm7.js +59 -0
- package/dist/{src/decorators → decorators}/index.js +2 -2
- package/dist/deploy-1s6nv5rp.js +921 -0
- package/dist/{deploy-ykpcjkc2.js → deploy-30ph1rrd.js} +263 -32
- package/dist/{deploy-ex4g5avz.js → deploy-39dmfn9d.js} +338 -38
- package/dist/deploy-44n2pshy.js +1016 -0
- package/dist/deploy-45qxpsfe.js +921 -0
- package/dist/deploy-64e57w1g.js +1040 -0
- package/dist/deploy-82j43vta.js +1040 -0
- package/dist/deploy-99m8qhpa.js +1041 -0
- package/dist/deploy-9twkd32f.js +1040 -0
- package/dist/deploy-a2eq2c1n.js +1040 -0
- package/dist/{deploy-csfhdr64.js → deploy-a3pb1qs5.js} +259 -29
- package/dist/deploy-agbtfm04.js +921 -0
- package/dist/{deploy-jnb0bhka.js → deploy-aswbtbf3.js} +361 -49
- package/dist/deploy-bqf3kxy5.js +972 -0
- package/dist/deploy-fv4z648h.js +921 -0
- package/dist/deploy-gsybda2f.js +1038 -0
- package/dist/deploy-h17nzysm.js +921 -0
- package/dist/deploy-hc89h4wg.js +1045 -0
- package/dist/deploy-jey5pnqn.js +1040 -0
- package/dist/deploy-jv0yfqvk.js +1040 -0
- package/dist/deploy-kn3z6spd.js +941 -0
- package/dist/deploy-m22xmz9w.js +921 -0
- package/dist/deploy-nefp2njy.js +1038 -0
- package/dist/deploy-ppp8pg6w.js +1038 -0
- package/dist/deploy-qah2eag6.js +1041 -0
- package/dist/deploy-qdq2gpad.js +1045 -0
- package/dist/deploy-r1yf8913.js +1038 -0
- package/dist/deploy-r8nam9rr.js +1038 -0
- package/dist/deploy-rrm4a0xw.js +921 -0
- package/dist/deploy-s0tfnc12.js +1040 -0
- package/dist/deploy-s636ks9k.js +1041 -0
- package/dist/deploy-sany8t54.js +1045 -0
- package/dist/deploy-skqn61j3.js +1038 -0
- package/dist/deploy-smv2870h.js +921 -0
- package/dist/deploy-sp16nxs5.js +972 -0
- package/dist/deploy-sr805bvq.js +921 -0
- package/dist/deploy-t9dehmn0.js +1041 -0
- package/dist/deploy-taxt7njz.js +1041 -0
- package/dist/deploy-tnfvfh9m.js +1040 -0
- package/dist/deploy-w5f8db4s.js +1040 -0
- package/dist/deploy-wsxcectr.js +921 -0
- package/dist/deploy-xyfbhj3v.js +1038 -0
- package/dist/deploy-yv1y5xaa.js +921 -0
- package/dist/deploy-z3ejw37k.js +1040 -0
- package/dist/{dev-8nssqatr.js → dev-02tgdc4f.js} +199 -448
- package/dist/dev-0tqhveye.js +2314 -0
- package/dist/dev-3dj2gkfq.js +2314 -0
- package/dist/dev-3e0etsww.js +2314 -0
- package/dist/dev-47dk7c13.js +2314 -0
- package/dist/dev-4a2a31cm.js +2314 -0
- package/dist/dev-4w1stcn8.js +2427 -0
- package/dist/dev-5wkh1z4a.js +2188 -0
- package/dist/dev-6t22zmey.js +2350 -0
- package/dist/dev-89p1sdv7.js +2395 -0
- package/dist/dev-8d1gxjky.js +2427 -0
- package/dist/dev-8yawx3cv.js +2314 -0
- package/dist/dev-9h4p8a0c.js +2393 -0
- package/dist/dev-9xmttj4c.js +2314 -0
- package/dist/dev-at6gy2td.js +2427 -0
- package/dist/dev-bkbz97z0.js +2314 -0
- package/dist/{dev-grznx8fn.js → dev-ct3344kv.js} +199 -448
- package/dist/{dev-7ef5e2j1.js → dev-dg8dh5c1.js} +123 -298
- package/dist/dev-dr5jb965.js +2427 -0
- package/dist/dev-e4sjqtbq.js +2314 -0
- package/dist/dev-ecq26mg4.js +2350 -0
- package/dist/dev-ef237vgp.js +2324 -0
- package/dist/dev-enbdg4st.js +2314 -0
- package/dist/dev-jcrxg8hq.js +2160 -0
- package/dist/dev-jk0gqges.js +2432 -0
- package/dist/dev-k62936am.js +2314 -0
- package/dist/dev-k8ptbvrs.js +2160 -0
- package/dist/dev-kqm107h4.js +2422 -0
- package/dist/dev-n0gx7eya.js +2350 -0
- package/dist/dev-n23m6rtb.js +2314 -0
- package/dist/dev-ny8fmkzg.js +2432 -0
- package/dist/dev-p1c65cga.js +2386 -0
- package/dist/dev-p4fjbb4h.js +2395 -0
- package/dist/dev-pnfcv79z.js +2160 -0
- package/dist/dev-qnrrv5ey.js +2393 -0
- package/dist/dev-qqysg50t.js +2427 -0
- package/dist/dev-r9f3n11q.js +2410 -0
- package/dist/dev-s0815dw4.js +2427 -0
- package/dist/dev-s4tpkg60.js +2314 -0
- package/dist/dev-s82fcesg.js +2314 -0
- package/dist/dev-s9sz53me.js +2401 -0
- package/dist/dev-sdka7z0d.js +2427 -0
- package/dist/dev-server/d1-migrations.d.ts +22 -0
- package/dist/dev-server/d1-migrations.d.ts.map +1 -1
- package/dist/dev-server/dev-server-state.d.ts +56 -0
- package/dist/dev-server/dev-server-state.d.ts.map +1 -0
- package/dist/dev-server/gateway-script.d.ts +14 -1
- package/dist/dev-server/gateway-script.d.ts.map +1 -1
- package/dist/dev-server/miniflare-bindings.d.ts +16 -0
- package/dist/dev-server/miniflare-bindings.d.ts.map +1 -0
- package/dist/dev-server/miniflare-dev-config.d.ts +30 -0
- package/dist/dev-server/miniflare-dev-config.d.ts.map +1 -0
- package/dist/dev-server/miniflare-worker-config.d.ts +44 -0
- package/dist/dev-server/miniflare-worker-config.d.ts.map +1 -0
- package/dist/dev-server/reload-queue.d.ts +13 -0
- package/dist/dev-server/reload-queue.d.ts.map +1 -0
- package/dist/dev-server/server-startup-helpers.d.ts +84 -0
- package/dist/dev-server/server-startup-helpers.d.ts.map +1 -0
- package/dist/dev-server/server.d.ts.map +1 -1
- package/dist/dev-server/vite-utils.d.ts +18 -0
- package/dist/dev-server/vite-utils.d.ts.map +1 -1
- package/dist/dev-server/worker-source-watcher.d.ts +6 -0
- package/dist/dev-server/worker-source-watcher.d.ts.map +1 -1
- package/dist/dev-t3tjscah.js +2350 -0
- package/dist/dev-t50kdb1j.js +2338 -0
- package/dist/dev-t5xf55pt.js +2314 -0
- package/dist/dev-t63c44bb.js +2314 -0
- package/dist/dev-wg3d38sy.js +2433 -0
- package/dist/dev-wh4rfgsh.js +2427 -0
- package/dist/{dev-2pd33m28.js → dev-wjh8gdd1.js} +200 -325
- package/dist/dev-xzxy9qvq.js +2314 -0
- package/dist/dev-yymaq4ph.js +2392 -0
- package/dist/dev-zg2w2ve3.js +2422 -0
- package/dist/dev-zsb2xk1x.js +2427 -0
- package/dist/dev-zty3yhzg.js +2324 -0
- package/dist/{doctor-04ammrrh.js → doctor-3mqavqg3.js} +10 -10
- package/dist/{doctor-fzkznce1.js → doctor-5nek32fz.js} +10 -10
- package/dist/{doctor-sa5xv1bz.js → doctor-7ra1w0sk.js} +10 -10
- package/dist/doctor-ak830a0k.js +245 -0
- package/dist/doctor-bye3cs8a.js +245 -0
- package/dist/{doctor-fmjj65mc.js → doctor-c5m9pmwq.js} +8 -8
- package/dist/doctor-cqfkgxvw.js +245 -0
- package/dist/doctor-e1h9mhzp.js +245 -0
- package/dist/doctor-fmqsrafk.js +245 -0
- package/dist/doctor-hgs7wr5g.js +245 -0
- package/dist/doctor-j8ytsy94.js +245 -0
- package/dist/doctor-mcmkgp6e.js +245 -0
- package/dist/doctor-qb6m2exc.js +245 -0
- package/dist/doctor-qq4tsh8q.js +245 -0
- package/dist/doctor-tecv869a.js +245 -0
- package/dist/doctor-wg0245pe.js +245 -0
- package/dist/doctor-z3jfqxtz.js +245 -0
- package/dist/durable-object-4hey8fgy.js +13 -0
- package/dist/durable-object-v3gsnybk.js +13 -0
- package/dist/env.d.ts.map +1 -1
- package/dist/index-0krb65s3.js +215 -0
- package/dist/index-0mantew0.js +513 -0
- package/dist/{index-p03n4qet.js → index-0mezg6ar.js} +26 -21
- package/dist/{index-mqekt778.js → index-0tk2rs0q.js} +1 -1
- package/dist/{index-h18pxvzs.js → index-124e9t4t.js} +1 -1
- package/dist/{index-na3mnm1k.js → index-1546yrn0.js} +2 -2
- package/dist/index-15fpa5tx.js +232 -0
- package/dist/{index-jb75kwa4.js → index-18mp5v50.js} +33 -14
- package/dist/{index-4v9bc2pc.js → index-195tc6qh.js} +26 -21
- package/dist/{index-0kfzdywd.js → index-1bg8w2gf.js} +1 -1
- package/dist/index-1d4jg11n.js +542 -0
- package/dist/index-1e2qtrmj.js +188 -0
- package/dist/{index-v5nmqthy.js → index-1ghhgb9d.js} +2 -2
- package/dist/index-1nhd9nkd.js +232 -0
- package/dist/{index-6psz1h4c.js → index-1wn8mjep.js} +116 -96
- package/dist/index-1xhd5czz.js +185 -0
- package/dist/index-2a2g4fwp.js +993 -0
- package/dist/{index-fvsadj32.js → index-2bmtj21z.js} +2 -2
- package/dist/{index-816krz9p.js → index-2dpmd14d.js} +1 -1
- package/dist/{index-3ke5d2vn.js → index-2fa0afdp.js} +173 -30
- package/dist/{index-d8etnfef.js → index-2rcrefqd.js} +173 -30
- package/dist/index-2t2m5148.js +1372 -0
- package/dist/index-2vbzamev.js +437 -0
- package/dist/index-2vdep9h0.js +993 -0
- package/dist/{index-zfhq6s96.js → index-2y90j9cz.js} +2 -2
- package/dist/index-33ep0z9x.js +385 -0
- package/dist/index-37jgbaw6.js +1372 -0
- package/dist/index-380ncsqc.js +977 -0
- package/dist/{index-thna1tkd.js → index-3e1x39fc.js} +111 -26
- package/dist/index-3e7by9sy.js +223 -0
- package/dist/{index-xk9djfjp.js → index-3egad6wm.js} +34 -15
- package/dist/index-3f8rzmjw.js +232 -0
- package/dist/index-3vd4r37r.js +1372 -0
- package/dist/index-3vgn5e89.js +1682 -0
- package/dist/index-3x7k3t0f.js +513 -0
- package/dist/index-3xfe2dst.js +399 -0
- package/dist/index-464j1zb4.js +513 -0
- package/dist/{index-pnbs1b8k.js → index-48rxsj95.js} +110 -25
- package/dist/index-4bezcdd1.js +385 -0
- package/dist/index-4fp11z9e.js +973 -0
- package/dist/{index-m3fmw6mx.js → index-4knecthc.js} +2 -2
- package/dist/index-502y7w13.js +538 -0
- package/dist/index-50mxxb4q.js +185 -0
- package/dist/index-5achzspr.js +185 -0
- package/dist/index-5ef3jmv7.js +1372 -0
- package/dist/index-5eswe8yv.js +844 -0
- package/dist/index-5gevxfgs.js +513 -0
- package/dist/index-5gmf048z.js +817 -0
- package/dist/index-5jtkxpjf.js +971 -0
- package/dist/{index-72mve6vh.js → index-5m85bd9x.js} +1 -1
- package/dist/{index-4rrttqj5.js → index-5n5nn0a8.js} +62 -176
- package/dist/index-5p3bgjwr.js +808 -0
- package/dist/index-5vzcszr2.js +1230 -0
- package/dist/index-5w77r4w9.js +513 -0
- package/dist/index-62srkqcm.js +168 -0
- package/dist/index-63cgqe43.js +1372 -0
- package/dist/index-65e7xx1a.js +19 -0
- package/dist/index-65qrje14.js +185 -0
- package/dist/index-66sx3b3v.js +385 -0
- package/dist/{index-b8m6883k.js → index-678j0n13.js} +2 -2
- package/dist/{index-epw1jxz5.js → index-6ftrth7n.js} +194 -180
- package/dist/index-6g90pvxa.js +215 -0
- package/dist/index-6j4m5x2d.js +1372 -0
- package/dist/{index-7v583xan.js → index-6jwpke14.js} +13 -46
- package/dist/index-6knsjvxh.js +1372 -0
- package/dist/index-6kwq6yf8.js +979 -0
- package/dist/index-6mg4yvc6.js +74 -0
- package/dist/{index-e9yw4d6y.js → index-6phry941.js} +5 -5
- package/dist/index-6r59wbek.js +232 -0
- package/dist/index-6sf815ps.js +74 -0
- package/dist/index-6zd89k6y.js +1230 -0
- package/dist/{index-ry131z23.js → index-71rwg0cn.js} +62 -176
- package/dist/index-75ex2m0x.js +695 -0
- package/dist/{index-htzf0py1.js → index-79exzs3q.js} +194 -180
- package/dist/{index-1sp39f2f.js → index-7bxj118m.js} +62 -176
- package/dist/index-7c6np4mq.js +397 -0
- package/dist/{index-7x0ybbtx.js → index-7cm339qz.js} +5 -5
- package/dist/index-7e359eb5.js +895 -0
- package/dist/index-7eqyr4j8.js +70 -0
- package/dist/index-7k278fgz.js +273 -0
- package/dist/index-7kazxkjt.js +1372 -0
- package/dist/index-7m0x8m9r.js +844 -0
- package/dist/index-7p74smg8.js +1372 -0
- package/dist/index-7q8fke3k.js +188 -0
- package/dist/index-7qk6eafn.js +1682 -0
- package/dist/{index-yzddwp02.js → index-7vbjt6ba.js} +110 -93
- package/dist/{index-7kcxjhta.js → index-7z4b0vgd.js} +19 -5
- package/dist/index-82xn4azv.js +74 -0
- package/dist/index-83wns7cz.js +70 -0
- package/dist/index-852945d4.js +413 -0
- package/dist/{index-8t5nb4qx.js → index-86rvj79f.js} +5 -5
- package/dist/index-88tcq0t4.js +542 -0
- package/dist/{index-q4kaz181.js → index-8evn52g1.js} +279 -268
- package/dist/index-8jkf4nsd.js +695 -0
- package/dist/{index-sqrksgb2.js → index-8nx4ce3e.js} +7 -7
- package/dist/index-8q1bcnrh.js +1372 -0
- package/dist/index-8t5gynct.js +971 -0
- package/dist/index-905svbb6.js +470 -0
- package/dist/index-94cb0sac.js +1372 -0
- package/dist/index-95mmvbw7.js +538 -0
- package/dist/index-97x94h0m.js +438 -0
- package/dist/index-9an9qqr1.js +728 -0
- package/dist/index-9d125myk.js +1372 -0
- package/dist/index-9gg0kqw0.js +470 -0
- package/dist/index-9ryw7mcw.js +971 -0
- package/dist/index-a3e13a7m.js +478 -0
- package/dist/index-a6j44jmr.js +1372 -0
- package/dist/index-a75ejnvt.js +1711 -0
- package/dist/index-ab2nck1h.js +1372 -0
- package/dist/index-abrqnq3e.js +488 -0
- package/dist/index-afjbpgb1.js +1218 -0
- package/dist/index-at89fpde.js +470 -0
- package/dist/{index-cgbvmse6.js → index-awr0tp6p.js} +1 -1
- package/dist/index-b1be9bdh.js +1372 -0
- package/dist/index-b1xs3wc4.js +513 -0
- package/dist/index-b50x7seh.js +513 -0
- package/dist/{index-9az6s7ad.js → index-b5ra8w3q.js} +1 -1
- package/dist/index-b64sbzgv.js +884 -0
- package/dist/index-b7r8ntpm.js +1372 -0
- package/dist/index-ba9gyy13.js +513 -0
- package/dist/{index-k29yjhv0.js → index-bb66mn7p.js} +1 -1
- package/dist/index-bc5pvbbd.js +1193 -0
- package/dist/index-bj0mk3dw.js +74 -0
- package/dist/index-bj3a8dr0.js +1372 -0
- package/dist/index-bk3eez1g.js +513 -0
- package/dist/index-btjx137w.js +774 -0
- package/dist/index-btrfqp9h.js +133 -0
- package/dist/index-bx6gangy.js +402 -0
- package/dist/index-c0tc0yts.js +471 -0
- package/dist/{index-6jef5emv.js → index-c0whkev9.js} +27 -3
- package/dist/index-ca96qkva.js +1372 -0
- package/dist/index-cdtzkedk.js +993 -0
- package/dist/index-cejgenma.js +1372 -0
- package/dist/index-cp8jt5pr.js +52 -0
- package/dist/index-cpz69pek.js +1372 -0
- package/dist/{index-gs4y9gdf.js → index-crrdegk5.js} +2 -2
- package/dist/index-cskszwkx.js +1372 -0
- package/dist/index-cxf22a0s.js +74 -0
- package/dist/index-cy3c3w81.js +270 -0
- package/dist/index-d5dgb1j6.js +74 -0
- package/dist/index-da397xcx.js +1372 -0
- package/dist/index-damyy8bw.js +1372 -0
- package/dist/{index-x9cwdxw5.js → index-dd6fwwmq.js} +3 -3
- package/dist/index-dh1954bp.js +52 -0
- package/dist/index-djp2wd1f.js +1372 -0
- package/dist/{index-0apbm26n.js → index-dmbdj6va.js} +111 -94
- package/dist/index-dmf76tac.js +1372 -0
- package/dist/index-dphr32gc.js +420 -0
- package/dist/index-dxh2qyyw.js +52 -0
- package/dist/index-dzayfxjy.js +492 -0
- package/dist/index-e05q77kt.js +397 -0
- package/dist/index-e11b1fb2.js +495 -0
- package/dist/index-e3zvspqj.js +968 -0
- package/dist/index-e4tzzbn9.js +1372 -0
- package/dist/index-e5ct1gwb.js +1372 -0
- package/dist/index-e7ptcz1a.js +1372 -0
- package/dist/index-e7wt0203.js +513 -0
- package/dist/{index-61jsjnsv.js → index-ebwsvf9t.js} +110 -25
- package/dist/index-ed73jn3d.js +185 -0
- package/dist/index-ed7n5d07.js +185 -0
- package/dist/index-ejs2a4kd.js +513 -0
- package/dist/index-esjrgt3y.js +467 -0
- package/dist/index-ev03khsd.js +513 -0
- package/dist/index-f1gsqm54.js +168 -0
- package/dist/index-f90314kt.js +52 -0
- package/dist/index-f9mhsept.js +185 -0
- package/dist/index-fa6zwffw.js +70 -0
- package/dist/index-fama7kpt.js +52 -0
- package/dist/index-fgk87mk2.js +1067 -0
- package/dist/index-fkyvxe4b.js +968 -0
- package/dist/index-g0h40xke.js +513 -0
- package/dist/index-g0rqh52c.js +385 -0
- package/dist/{index-0eqksag4.js → index-g170d619.js} +13 -46
- package/dist/index-g3qtxkms.js +881 -0
- package/dist/index-gactvqcs.js +467 -0
- package/dist/index-gaew61v4.js +470 -0
- package/dist/index-gba371j7.js +542 -0
- package/dist/index-gegyyfnw.js +1372 -0
- package/dist/index-get7he2s.js +133 -0
- package/dist/index-gn5wy09x.js +205 -0
- package/dist/{index-2pb7b9mw.js → index-gtbgzwfs.js} +62 -176
- package/dist/index-gtpz0gkz.js +185 -0
- package/dist/index-h1s66pmp.js +52 -0
- package/dist/{index-11m5a8wd.js → index-h8r2d8y5.js} +112 -26
- package/dist/index-heeqwrfd.js +385 -0
- package/dist/{index-7g8zyws4.js → index-hheb5dyt.js} +2 -2
- package/dist/index-hjz2x9nq.js +441 -0
- package/dist/index-hkex7ns5.js +513 -0
- package/dist/index-hmbctwv6.js +517 -0
- package/dist/index-hpzasdhw.js +513 -0
- package/dist/index-hqdr9wdm.js +74 -0
- package/dist/index-hrvz8d26.js +1372 -0
- package/dist/index-hyvhnf6r.js +971 -0
- package/dist/index-j2kc5rbv.js +895 -0
- package/dist/index-j2xdxwsz.js +133 -0
- package/dist/index-j47hhb3r.js +694 -0
- package/dist/index-j5aphr5x.js +185 -0
- package/dist/index-j68v36q1.js +188 -0
- package/dist/index-j7cf22x7.js +968 -0
- package/dist/index-j7xxrbnr.js +694 -0
- package/dist/index-jptqxkew.js +470 -0
- package/dist/index-jsymy3mb.js +781 -0
- package/dist/index-jwvy32xk.js +188 -0
- package/dist/index-jxe1b19v.js +133 -0
- package/dist/index-jz96ry5g.js +513 -0
- package/dist/index-k6wtsgs1.js +971 -0
- package/dist/index-kawa49m8.js +371 -0
- package/dist/index-key4e5c9.js +168 -0
- package/dist/index-khbmdrn2.js +884 -0
- package/dist/index-kpzfwex6.js +264 -0
- package/dist/index-kse4gn99.js +74 -0
- package/dist/index-ktscz0r2.js +264 -0
- package/dist/index-kybmjvad.js +1212 -0
- package/dist/index-kzm9cea8.js +185 -0
- package/dist/index-m2d74gqg.js +808 -0
- package/dist/index-m56w7mjt.js +513 -0
- package/dist/index-m95ha3n4.js +264 -0
- package/dist/index-ma151p8g.js +264 -0
- package/dist/index-mg8vwqxf.js +514 -0
- package/dist/index-mhdsywhs.js +264 -0
- package/dist/index-mjgx910r.js +895 -0
- package/dist/index-mkrmaea3.js +185 -0
- package/dist/index-mkxnyyjn.js +264 -0
- package/dist/index-mp5mrst6.js +1372 -0
- package/dist/index-ms15cr86.js +513 -0
- package/dist/index-mt99xkc6.js +133 -0
- package/dist/index-mttv6k25.js +881 -0
- package/dist/index-myxfx52v.js +385 -0
- package/dist/index-mzw7732t.js +74 -0
- package/dist/index-n3mjwz22.js +188 -0
- package/dist/index-n3yksgz0.js +1372 -0
- package/dist/{index-9n6djthj.js → index-n4jr3dmk.js} +32 -38
- package/dist/index-n5drt64b.js +74 -0
- package/dist/index-n8frmffg.js +264 -0
- package/dist/index-n8k8chde.js +694 -0
- package/dist/index-na796ka6.js +994 -0
- package/dist/index-nbs4q0qg.js +1218 -0
- package/dist/index-newpq2zf.js +968 -0
- package/dist/index-nexg9p7j.js +1271 -0
- package/dist/index-nfm8tb5n.js +74 -0
- package/dist/index-nga2tg9z.js +1372 -0
- package/dist/{index-43dq8yx8.js → index-ngbzr9gz.js} +111 -94
- package/dist/index-nh90nk7j.js +380 -0
- package/dist/index-njnmfxm5.js +1372 -0
- package/dist/index-nqma24j3.js +385 -0
- package/dist/index-ntddf5d9.js +993 -0
- package/dist/index-nte9n8w9.js +538 -0
- package/dist/index-ntxp7ke1.js +264 -0
- package/dist/index-nwxnmw41.js +264 -0
- package/dist/index-p1xe5eem.js +513 -0
- package/dist/{index-wztc9stx.js → index-p477xm52.js} +13 -46
- package/dist/index-p8nmkrgw.js +470 -0
- package/dist/{index-yqbxjysa.js → index-p97s12vf.js} +50 -43
- package/dist/index-p9hvv0yd.js +401 -0
- package/dist/index-pac7wv88.js +307 -0
- package/dist/index-ptp2pfq1.js +52 -0
- package/dist/index-pyeycp3f.js +74 -0
- package/dist/index-q23xf3vr.js +479 -0
- package/dist/index-q34rvh5a.js +247 -0
- package/dist/{index-j185x270.js → index-q5errwrj.js} +53 -46
- package/dist/{index-2jnrqbny.js → index-q5nhzc9m.js} +4 -88
- package/dist/index-q8f4kawk.js +204 -0
- package/dist/index-qer8zv2r.js +997 -0
- package/dist/index-qhyy018y.js +467 -0
- package/dist/index-qmhdydwy.js +70 -0
- package/dist/index-qpmvca5j.js +470 -0
- package/dist/index-qr96vaj1.js +52 -0
- package/dist/{index-74198nxd.js → index-qtyhg3dn.js} +53 -46
- package/dist/index-qye17gq5.js +264 -0
- package/dist/index-r0839f5k.js +133 -0
- package/dist/index-r1rqg72v.js +1372 -0
- package/dist/index-rbckga8p.js +971 -0
- package/dist/index-rbxb5x2w.js +1372 -0
- package/dist/index-rck779bj.js +739 -0
- package/dist/index-rfn2gt5f.js +1658 -0
- package/dist/index-rg21w26a.js +470 -0
- package/dist/index-rgcz45t0.js +1372 -0
- package/dist/index-rhnd376q.js +133 -0
- package/dist/index-rjc5z3w6.js +971 -0
- package/dist/index-rkhtayd6.js +385 -0
- package/dist/index-rm8srzmv.js +371 -0
- package/dist/index-rmhk5j03.js +968 -0
- package/dist/index-rp4t86bt.js +993 -0
- package/dist/index-rpq5ktdy.js +264 -0
- package/dist/index-rpsmhdd4.js +1218 -0
- package/dist/index-rqpakjyr.js +470 -0
- package/dist/index-rttk33x6.js +232 -0
- package/dist/index-rwa82e89.js +385 -0
- package/dist/index-rz185crv.js +695 -0
- package/dist/index-s22verzj.js +1218 -0
- package/dist/index-s2s3g1nt.js +133 -0
- package/dist/index-s7ytytth.js +781 -0
- package/dist/index-sefnpzwa.js +185 -0
- package/dist/index-sgxw0xzd.js +513 -0
- package/dist/index-stc0caq6.js +1009 -0
- package/dist/index-svz82w9h.js +513 -0
- package/dist/index-sx49e8x9.js +884 -0
- package/dist/index-sxadwvw9.js +185 -0
- package/dist/index-sxn223fz.js +1372 -0
- package/dist/index-sy0c2mh0.js +1372 -0
- package/dist/index-syeh1hca.js +264 -0
- package/dist/index-t18wyhgf.js +418 -0
- package/dist/index-t4fhcx1n.js +71 -0
- package/dist/index-td4hbgj5.js +1372 -0
- package/dist/{index-hjy8ctpc.js → index-tkvt9mmq.js} +47 -14
- package/dist/index-tmmcf4m6.js +808 -0
- package/dist/index-tpgs5v64.js +366 -0
- package/dist/index-tt4fsv91.js +412 -0
- package/dist/{index-t08te69w.js → index-tte89s31.js} +28 -11
- package/dist/index-tvjg7swe.js +1372 -0
- package/dist/index-txndxr4w.js +513 -0
- package/dist/index-tyh5jc55.js +990 -0
- package/dist/index-tyt0wa52.js +470 -0
- package/dist/index-tyt3wcfr.js +1372 -0
- package/dist/index-v3znz08m.js +968 -0
- package/dist/index-v78xbj6n.js +808 -0
- package/dist/index-v915brjk.js +1372 -0
- package/dist/index-v922fmsx.js +52 -0
- package/dist/index-v9w1bbfe.js +842 -0
- package/dist/index-vbbgtm8p.js +513 -0
- package/dist/{index-k6vq6kkt.js → index-vcjgrmzj.js} +3 -3
- package/dist/{index-9ba1etyz.js → index-vdewcg1r.js} +204 -54
- package/dist/index-vhqww6tt.js +307 -0
- package/dist/index-vse8620z.js +1372 -0
- package/dist/index-vtjp46c3.js +52 -0
- package/dist/{index-jwd8pcb2.js → index-vxhxk8mf.js} +53 -46
- package/dist/index-w3azfsa0.js +695 -0
- package/dist/index-w4tq35dn.js +52 -0
- package/dist/index-w5qxvxzq.js +991 -0
- package/dist/index-w5sedpqn.js +986 -0
- package/dist/index-waha3chv.js +1230 -0
- package/dist/index-wdxww0kj.js +1006 -0
- package/dist/index-wdy5y07x.js +1372 -0
- package/dist/index-wf9pnh6j.js +385 -0
- package/dist/index-wnnbbbkt.js +1192 -0
- package/dist/index-wvcmvtjf.js +1372 -0
- package/dist/index-x0jbntp0.js +470 -0
- package/dist/index-x6scc3nx.js +70 -0
- package/dist/index-x8e2wsbv.js +971 -0
- package/dist/index-xec4p3v5.js +560 -0
- package/dist/index-xgfyxpfs.js +1218 -0
- package/dist/index-xm9hp9xc.js +1372 -0
- package/dist/index-xp7zkxcx.js +1372 -0
- package/dist/index-xrbj0ebk.js +185 -0
- package/dist/index-xskax7r3.js +50 -0
- package/dist/index-xvk5n96q.js +694 -0
- package/dist/index-xy1jvt4w.js +1229 -0
- package/dist/index-xzg9hhf3.js +470 -0
- package/dist/index-xzpg0kaz.js +70 -0
- package/dist/index-y3q6qvv3.js +316 -0
- package/dist/index-y44ts1dk.js +52 -0
- package/dist/index-y5nt1wjb.js +971 -0
- package/dist/index-y82b8w14.js +1372 -0
- package/dist/index-yb07t3c5.js +1372 -0
- package/dist/index-yc3xz3vm.js +431 -0
- package/dist/index-yeaqrevg.js +1372 -0
- package/dist/index-ygwsd1nn.js +438 -0
- package/dist/index-yhdavjk7.js +371 -0
- package/dist/index-yjhns95b.js +188 -0
- package/dist/index-yk23p7he.js +1372 -0
- package/dist/index-ykfgpsmm.js +190 -0
- package/dist/index-ymz3cfab.js +968 -0
- package/dist/index-yq9g1sq7.js +264 -0
- package/dist/index-ys5q9ch9.js +366 -0
- package/dist/index-yt0n4p46.js +973 -0
- package/dist/index-ytq1t9jx.js +232 -0
- package/dist/index-ywmtmf3b.js +513 -0
- package/dist/index-yzb44q6d.js +1372 -0
- package/dist/index-z043xk61.js +133 -0
- package/dist/index-z0gsf674.js +431 -0
- package/dist/index-z32n0ndp.js +1372 -0
- package/dist/index-z4qgk76w.js +1372 -0
- package/dist/{index-yc0gcchc.js → index-z8njfj2g.js} +11 -44
- package/dist/{index-0w826dsr.js → index-z9fjnwa8.js} +21 -3
- package/dist/{index-1xpj0m4r.js → index-z9gy8w6b.js} +1 -1
- package/dist/index-zapkc14c.js +264 -0
- package/dist/index-zes6w8yr.js +185 -0
- package/dist/index-zgrqest7.js +695 -0
- package/dist/index-zsngz131.js +1372 -0
- package/dist/index-zxhc6sb0.js +192 -0
- package/dist/index.d.ts +1 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +61 -0
- package/dist/{init-r4hnxan3.js → init-wfh63bfz.js} +1 -1
- package/dist/{login-5bsxxpvc.js → login-1amyp1jy.js} +10 -10
- package/dist/{login-bhaw72zc.js → login-1cdwn1dj.js} +11 -11
- package/dist/{login-2hnz4m4n.js → login-456h8jk3.js} +11 -11
- package/dist/{login-6tzvczw2.js → login-4n470c4j.js} +11 -11
- package/dist/login-4sh7s849.js +77 -0
- package/dist/login-5dmkf0pz.js +77 -0
- package/dist/login-88tp4gbb.js +77 -0
- package/dist/login-b51faqpc.js +77 -0
- package/dist/login-bxyjqmbj.js +77 -0
- package/dist/login-c4649qss.js +77 -0
- package/dist/login-d80a2qxd.js +77 -0
- package/dist/login-dp0napaz.js +77 -0
- package/dist/login-j3r6z2t4.js +77 -0
- package/dist/login-jkfkdjg4.js +77 -0
- package/dist/login-kch6f2yj.js +77 -0
- package/dist/login-pmqh94ws.js +77 -0
- package/dist/login-rc82x5j8.js +77 -0
- package/dist/login-tvppwyx2.js +77 -0
- package/dist/login-w76jx22q.js +77 -0
- package/dist/login-ze7y36rc.js +77 -0
- package/dist/{previews-gm3z0syj.js → previews-02jmcwft.js} +140 -94
- package/dist/previews-31bq82km.js +1225 -0
- package/dist/{previews-j9ymq4ys.js → previews-62pcvvpe.js} +140 -95
- package/dist/{previews-3rn8mz2c.js → previews-76fxkp59.js} +140 -94
- package/dist/previews-844bp6kf.js +1214 -0
- package/dist/previews-8amn46qv.js +1214 -0
- package/dist/previews-a5xbkksy.js +1214 -0
- package/dist/previews-bgnryzav.js +1214 -0
- package/dist/previews-bkhv9dnr.js +1214 -0
- package/dist/previews-c2c64z5m.js +1214 -0
- package/dist/previews-e4wgscsb.js +1214 -0
- package/dist/previews-ew4reetn.js +1214 -0
- package/dist/previews-hzqke1fg.js +1214 -0
- package/dist/previews-j8wa3sge.js +1214 -0
- package/dist/previews-k5n6vhpm.js +1214 -0
- package/dist/previews-n4sdyxa5.js +1214 -0
- package/dist/previews-npwrwb0b.js +1214 -0
- package/dist/previews-q8ph9wbe.js +1214 -0
- package/dist/previews-rfswrh7q.js +1214 -0
- package/dist/previews-s0y5yp8s.js +1214 -0
- package/dist/previews-s5b6mnz5.js +1214 -0
- package/dist/{previews-d487qde5.js → previews-sdte4984.js} +23 -23
- package/dist/previews-t5tdm6t0.js +1225 -0
- package/dist/previews-tk7vpzj9.js +1214 -0
- package/dist/previews-tqt4pk27.js +1214 -0
- package/dist/previews-vqg4psk2.js +1225 -0
- package/dist/{productions-x9p0pym1.js → productions-4abj58kx.js} +12 -12
- package/dist/{productions-5ev5qweg.js → productions-4dpec71r.js} +13 -13
- package/dist/{productions-120xg0aq.js → productions-4nedsanh.js} +13 -13
- package/dist/{productions-p5rbgp2f.js → productions-5c58yafp.js} +13 -13
- package/dist/{productions-me3tdvr9.js → productions-5xq5cjhx.js} +13 -13
- package/dist/productions-6dr0bmd7.js +505 -0
- package/dist/productions-8f6s8dqr.js +505 -0
- package/dist/productions-a2hcwwzf.js +505 -0
- package/dist/productions-b7svyjp7.js +505 -0
- package/dist/productions-bf2cnr05.js +505 -0
- package/dist/productions-dkgry3gv.js +505 -0
- package/dist/productions-eqh105tk.js +505 -0
- package/dist/productions-etvcm7yf.js +505 -0
- package/dist/productions-f1zpbmjz.js +505 -0
- package/dist/productions-j14pvx93.js +505 -0
- package/dist/productions-j7s1ywvg.js +505 -0
- package/dist/productions-jp3v3q3p.js +505 -0
- package/dist/productions-m9p42amj.js +505 -0
- package/dist/productions-mxbneawa.js +505 -0
- package/dist/productions-np4exh9p.js +505 -0
- package/dist/productions-rr1hqgda.js +505 -0
- package/dist/productions-rtf9ksgg.js +505 -0
- package/dist/productions-w2nzftcz.js +505 -0
- package/dist/productions-wbks5h7e.js +505 -0
- package/dist/productions-y99ayk6h.js +505 -0
- package/dist/productions-zpqyw5gm.js +505 -0
- package/dist/runtime/context-events.d.ts.map +1 -1
- package/dist/runtime/context.d.ts +8 -1
- package/dist/runtime/context.d.ts.map +1 -1
- package/dist/runtime/exports.d.ts +1 -4
- package/dist/runtime/exports.d.ts.map +1 -1
- package/dist/runtime/index.d.ts +3 -3
- package/dist/runtime/index.d.ts.map +1 -1
- package/dist/{src/runtime → runtime}/index.js +22 -7
- package/dist/runtime/middleware.d.ts +55 -0
- package/dist/runtime/middleware.d.ts.map +1 -1
- package/dist/runtime/router/index.d.ts +7 -0
- package/dist/runtime/router/index.d.ts.map +1 -0
- package/dist/runtime/router/types.d.ts +24 -0
- package/dist/runtime/router/types.d.ts.map +1 -0
- package/dist/runtime/validation.d.ts +9 -1
- package/dist/runtime/validation.d.ts.map +1 -1
- package/dist/{src/sveltekit → sveltekit}/index.js +36 -71
- package/dist/sveltekit/platform.d.ts +10 -0
- package/dist/sveltekit/platform.d.ts.map +1 -1
- package/dist/test/binding-hints.d.ts +11 -0
- package/dist/test/binding-hints.d.ts.map +1 -0
- package/dist/test/bridge-context.d.ts +7 -0
- package/dist/test/bridge-context.d.ts.map +1 -1
- package/dist/test/index.d.ts +0 -1
- package/dist/test/index.d.ts.map +1 -1
- package/dist/{index-2x53aqjm.js → test/index.js} +836 -774
- package/dist/test/simple-context-bindings.d.ts +13 -0
- package/dist/test/simple-context-bindings.d.ts.map +1 -0
- package/dist/test/simple-context-env.d.ts +35 -0
- package/dist/test/simple-context-env.d.ts.map +1 -0
- package/dist/test/simple-context-gateway-script.d.ts.map +1 -1
- package/dist/test/simple-context-handlers.d.ts +12 -0
- package/dist/test/simple-context-handlers.d.ts.map +1 -0
- package/dist/test/simple-context-lifecycle.d.ts +32 -0
- package/dist/test/simple-context-lifecycle.d.ts.map +1 -0
- package/dist/test/simple-context-mfconfig.d.ts +7 -0
- package/dist/test/simple-context-mfconfig.d.ts.map +1 -0
- package/dist/test/simple-context-multi-worker.d.ts +16 -0
- package/dist/test/simple-context-multi-worker.d.ts.map +1 -0
- package/dist/test/simple-context-runtime.d.ts +19 -0
- package/dist/test/simple-context-runtime.d.ts.map +1 -0
- package/dist/test/simple-context-startup.d.ts +11 -0
- package/dist/test/simple-context-startup.d.ts.map +1 -0
- package/dist/test/simple-context-transport.d.ts +14 -0
- package/dist/test/simple-context-transport.d.ts.map +1 -0
- package/dist/test/simple-context.d.ts +6 -3
- package/dist/test/simple-context.d.ts.map +1 -1
- package/dist/test/utilities.d.ts +13 -5
- package/dist/test/utilities.d.ts.map +1 -1
- package/dist/test/worker.d.ts +1 -1
- package/dist/test/worker.d.ts.map +1 -1
- package/dist/{token-kedhcret.js → token-3b9wws58.js} +3 -3
- package/dist/{token-m8jmnjwk.js → token-47kcz18j.js} +3 -3
- package/dist/token-exz78pth.js +419 -0
- package/dist/token-fcthx92c.js +419 -0
- package/dist/token-grwp8z4q.js +419 -0
- package/dist/token-jkmm44z2.js +419 -0
- package/dist/token-qxtvzm3b.js +419 -0
- package/dist/token-rq8mvtz9.js +419 -0
- package/dist/token-sct51r47.js +419 -0
- package/dist/token-sfgxcgen.js +419 -0
- package/dist/transform/durable-object.d.ts.map +1 -1
- package/dist/transform/worker-entrypoint.d.ts +5 -0
- package/dist/transform/worker-entrypoint.d.ts.map +1 -1
- package/dist/types-0qv4xces.js +572 -0
- package/dist/types-2nvrs9jg.js +572 -0
- package/dist/types-2pbe8kzw.js +572 -0
- package/dist/types-2zyt0m43.js +572 -0
- package/dist/types-4xxer9ep.js +572 -0
- package/dist/{types-6e5yx6km.js → types-5t5y7a5n.js} +9 -9
- package/dist/{types-1gwr2ex6.js → types-5wd2rygw.js} +9 -9
- package/dist/types-7j3ykgx7.js +572 -0
- package/dist/types-8g78x34n.js +572 -0
- package/dist/types-e6d336q3.js +572 -0
- package/dist/types-hqh2fx0x.js +572 -0
- package/dist/types-j12xmdnd.js +572 -0
- package/dist/types-jqn26et3.js +572 -0
- package/dist/types-n0mxbq26.js +572 -0
- package/dist/types-naz9hvw5.js +572 -0
- package/dist/{types-p0gckpn6.js → types-qjcd1jks.js} +7 -7
- package/dist/types-r9zb8sw1.js +572 -0
- package/dist/types-rv5xwgsn.js +572 -0
- package/dist/types-t39njdqx.js +572 -0
- package/dist/types-tkgch3xv.js +572 -0
- package/dist/{types-0sqwkp7x.js → types-vvtb7rrh.js} +9 -9
- package/dist/types-w1grncdj.js +572 -0
- package/dist/types-wmw49exb.js +572 -0
- package/dist/types-ymxz9jga.js +572 -0
- package/dist/utils/resolve-package.d.ts.map +1 -1
- package/dist/utils/send-email.js +19 -0
- package/dist/vite/config-file.d.ts.map +1 -1
- package/dist/{src/vite → vite}/index.js +12 -11
- package/dist/vite/plugin-config-hook.d.ts +28 -0
- package/dist/vite/plugin-config-hook.d.ts.map +1 -0
- package/dist/vite/plugin-context.d.ts +25 -0
- package/dist/vite/plugin-context.d.ts.map +1 -0
- package/dist/vite/plugin-durable-objects.d.ts +18 -0
- package/dist/vite/plugin-durable-objects.d.ts.map +1 -0
- package/dist/vite/plugin-programmatic.d.ts +44 -0
- package/dist/vite/plugin-programmatic.d.ts.map +1 -0
- package/dist/vite/plugin-transform.d.ts +41 -0
- package/dist/vite/plugin-transform.d.ts.map +1 -0
- package/dist/vite/plugin.d.ts +6 -39
- package/dist/vite/plugin.d.ts.map +1 -1
- package/dist/{worker-y9ha6g44.js → worker-18ceqscc.js} +11 -11
- package/dist/{worker-0srh2jfr.js → worker-1yqpwte2.js} +12 -12
- package/dist/{worker-qtam8grz.js → worker-2aw27zxy.js} +12 -12
- package/dist/{worker-4xrfd10a.js → worker-45tp4a8f.js} +12 -12
- package/dist/worker-68zttchg.js +513 -0
- package/dist/worker-729cf3fh.js +513 -0
- package/dist/worker-aydzxt4f.js +513 -0
- package/dist/worker-ejdxma7k.js +513 -0
- package/dist/worker-entry/composed-worker.d.ts +1 -0
- package/dist/worker-entry/composed-worker.d.ts.map +1 -1
- package/dist/worker-entry/durable-object-discovery.d.ts +20 -0
- package/dist/worker-entry/durable-object-discovery.d.ts.map +1 -0
- package/dist/worker-entry/extensions.d.ts +5 -0
- package/dist/worker-entry/extensions.d.ts.map +1 -0
- package/dist/worker-entry/routes.d.ts +1 -1
- package/dist/worker-entry/routes.d.ts.map +1 -1
- package/dist/worker-entry/surface-paths.d.ts +13 -4
- package/dist/worker-entry/surface-paths.d.ts.map +1 -1
- package/dist/worker-entrypoint-4xp7msd7.js +16 -0
- package/dist/worker-entrypoint-f1v9y4s8.js +15 -0
- package/dist/{worker-qzm0b7br.js → worker-f6xqjg65.js} +12 -12
- package/dist/worker-fdnn62de.js +513 -0
- package/dist/worker-frnh95rg.js +513 -0
- package/dist/worker-k55nfrmp.js +513 -0
- package/dist/worker-kqc6w7ry.js +513 -0
- package/dist/worker-ksvcq8be.js +513 -0
- package/dist/worker-mjzfstv5.js +513 -0
- package/dist/worker-p4rtsndj.js +513 -0
- package/dist/worker-p6d53qan.js +513 -0
- package/dist/worker-qh2qbv97.js +513 -0
- package/dist/worker-r234vnv9.js +513 -0
- package/dist/worker-r47bv7gt.js +513 -0
- package/dist/worker-s4nvbqsm.js +513 -0
- package/dist/worker-ttj7vwce.js +513 -0
- package/dist/worker-wv4jdneg.js +513 -0
- package/dist/worker-xcbscr75.js +513 -0
- package/dist/worker-ywwkf3cp.js +513 -0
- package/dist/worker-z8wtk0sh.js +513 -0
- package/package.json +138 -123
- package/dist/account-s66jb15j.js +0 -475
- package/dist/browser-shim/worker.d.ts +0 -14
- package/dist/browser-shim/worker.d.ts.map +0 -1
- package/dist/deploy-7nmzc9r8.js +0 -609
- package/dist/deploy-tp0g6qdp.js +0 -609
- package/dist/index-091sh1ma.js +0 -1229
- package/dist/index-f85s8gj3.js +0 -2649
- package/dist/index-fe2ngvh7.js +0 -1229
- package/dist/index-hfj1a2c4.js +0 -2649
- package/dist/index-maxpsfk8.js +0 -402
- package/dist/index-mbdmrner.js +0 -402
- package/dist/index-mea5bc45.js +0 -418
- package/dist/index-sgb7c8nm.js +0 -402
- package/dist/index-vt4yxkmf.js +0 -470
- package/dist/index-wyq6c6yj.js +0 -402
- package/dist/index-zyt5byt6.js +0 -2649
- package/dist/login-x8tgckqm.js +0 -77
- package/dist/previews-q031mx34.js +0 -1168
- package/dist/src/cli/index.js +0 -12
- package/dist/src/index.js +0 -144
- package/dist/src/test/index.js +0 -77
|
@@ -25,29 +25,32 @@ import {
|
|
|
25
25
|
resolveEffectiveViteProject,
|
|
26
26
|
resolveWorkerSurfacePaths,
|
|
27
27
|
writeGeneratedViteConfig
|
|
28
|
-
} from "./index-
|
|
28
|
+
} from "./index-p97s12vf.js";
|
|
29
29
|
import {
|
|
30
30
|
discoverRoutes,
|
|
31
31
|
getRouteDirectoryCandidate
|
|
32
32
|
} from "./index-1p814k7s.js";
|
|
33
33
|
import"./index-rbht7m9r.js";
|
|
34
34
|
import"./index-9wt9x09k.js";
|
|
35
|
+
import {
|
|
36
|
+
GATEWAY_RUNTIME_JS
|
|
37
|
+
} from "./index-q34rvh5a.js";
|
|
35
38
|
import {
|
|
36
39
|
clearLocalSendEmailBindings,
|
|
37
40
|
setLocalSendEmailBindings
|
|
38
|
-
} from "./index-
|
|
39
|
-
import"./index-
|
|
41
|
+
} from "./index-124e9t4t.js";
|
|
42
|
+
import"./index-n8k8chde.js";
|
|
40
43
|
import {
|
|
41
44
|
getLocalD1DatabaseIdentifier,
|
|
42
45
|
getLocalKVNamespaceIdentifier,
|
|
43
46
|
getSingleBrowserBindingName,
|
|
44
47
|
loadConfig,
|
|
45
48
|
resolveConfigPath
|
|
46
|
-
} from "./index-
|
|
47
|
-
import"./index-
|
|
48
|
-
import"./index-
|
|
49
|
+
} from "./index-dmbdj6va.js";
|
|
50
|
+
import"./index-nte9n8w9.js";
|
|
51
|
+
import"./index-z9fjnwa8.js";
|
|
49
52
|
import"./index-p296ban8.js";
|
|
50
|
-
import"./index-
|
|
53
|
+
import"./index-tte89s31.js";
|
|
51
54
|
import {
|
|
52
55
|
__require
|
|
53
56
|
} from "./index-37x76zdn.js";
|
|
@@ -71,8 +74,6 @@ import {
|
|
|
71
74
|
detectBrowserPlatform,
|
|
72
75
|
Browser as BrowserType
|
|
73
76
|
} from "@puppeteer/browsers";
|
|
74
|
-
var sessions = new Map;
|
|
75
|
-
var history = [];
|
|
76
77
|
var cachedExecutablePath = null;
|
|
77
78
|
async function ensureChrome(cacheDir, logger) {
|
|
78
79
|
if (cachedExecutablePath && existsSync(cachedExecutablePath)) {
|
|
@@ -112,8 +113,45 @@ function createBrowserShim(options = {}) {
|
|
|
112
113
|
} = options;
|
|
113
114
|
let server = null;
|
|
114
115
|
let executablePath = null;
|
|
116
|
+
const sessions = new Map;
|
|
117
|
+
const history = [];
|
|
115
118
|
let WebSocketServerClass = null;
|
|
116
119
|
let WebSocketClass = null;
|
|
120
|
+
const maxRequestBodyBytes = 1024 * 1024;
|
|
121
|
+
function getRequestOrigin(req) {
|
|
122
|
+
const origin = req.headers.origin;
|
|
123
|
+
if (typeof origin === "string") {
|
|
124
|
+
return origin;
|
|
125
|
+
}
|
|
126
|
+
if (Array.isArray(origin) && origin[0]) {
|
|
127
|
+
return origin[0];
|
|
128
|
+
}
|
|
129
|
+
return null;
|
|
130
|
+
}
|
|
131
|
+
function isLoopbackOrigin(origin) {
|
|
132
|
+
try {
|
|
133
|
+
const url = new URL(origin);
|
|
134
|
+
return url.hostname === "127.0.0.1" || url.hostname === "localhost" || url.hostname === "::1" || url.hostname === "[::1]";
|
|
135
|
+
} catch {
|
|
136
|
+
return false;
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
function applyCorsHeaders(req, res) {
|
|
140
|
+
const origin = getRequestOrigin(req);
|
|
141
|
+
if (!origin) {
|
|
142
|
+
return true;
|
|
143
|
+
}
|
|
144
|
+
if (!isLoopbackOrigin(origin)) {
|
|
145
|
+
res.writeHead(403, { "Content-Type": "application/json" });
|
|
146
|
+
res.end(JSON.stringify({ error: "Forbidden origin" }));
|
|
147
|
+
return false;
|
|
148
|
+
}
|
|
149
|
+
res.setHeader("Access-Control-Allow-Origin", origin);
|
|
150
|
+
res.setHeader("Access-Control-Allow-Methods", "GET, POST, OPTIONS");
|
|
151
|
+
res.setHeader("Access-Control-Allow-Headers", "Content-Type");
|
|
152
|
+
res.setHeader("Vary", "Origin");
|
|
153
|
+
return true;
|
|
154
|
+
}
|
|
117
155
|
async function acquireSession(acquireOptions) {
|
|
118
156
|
if (!executablePath) {
|
|
119
157
|
throw new Error("Chrome not initialized");
|
|
@@ -192,9 +230,9 @@ function createBrowserShim(options = {}) {
|
|
|
192
230
|
const url = new URL(req.url || "/", `http://${host}:${port}`);
|
|
193
231
|
const method = req.method || "GET";
|
|
194
232
|
logger?.debug(`[BrowserShim] ${method} ${url.pathname}${url.search ? url.search : ""}`);
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
233
|
+
if (!applyCorsHeaders(req, res)) {
|
|
234
|
+
return;
|
|
235
|
+
}
|
|
198
236
|
if (method === "OPTIONS") {
|
|
199
237
|
res.writeHead(204);
|
|
200
238
|
res.end();
|
|
@@ -282,7 +320,16 @@ function createBrowserShim(options = {}) {
|
|
|
282
320
|
function readBody(req) {
|
|
283
321
|
return new Promise((resolve, reject) => {
|
|
284
322
|
const chunks = [];
|
|
285
|
-
|
|
323
|
+
let totalBytes = 0;
|
|
324
|
+
req.on("data", (chunk) => {
|
|
325
|
+
totalBytes += chunk.length;
|
|
326
|
+
if (totalBytes > maxRequestBodyBytes) {
|
|
327
|
+
req.destroy();
|
|
328
|
+
reject(new Error(`Request body exceeds ${maxRequestBodyBytes} bytes`));
|
|
329
|
+
return;
|
|
330
|
+
}
|
|
331
|
+
chunks.push(chunk);
|
|
332
|
+
});
|
|
286
333
|
req.on("end", () => resolve(Buffer.concat(chunks).toString()));
|
|
287
334
|
req.on("error", reject);
|
|
288
335
|
});
|
|
@@ -316,6 +363,14 @@ function createBrowserShim(options = {}) {
|
|
|
316
363
|
if (WebSocketServerClass) {
|
|
317
364
|
const wss = new WebSocketServerClass({ noServer: true });
|
|
318
365
|
server.on("upgrade", (request, socket, head) => {
|
|
366
|
+
const origin = getRequestOrigin(request);
|
|
367
|
+
if (origin && !isLoopbackOrigin(origin)) {
|
|
368
|
+
socket.write(`HTTP/1.1 403 Forbidden\r
|
|
369
|
+
\r
|
|
370
|
+
`);
|
|
371
|
+
socket.destroy();
|
|
372
|
+
return;
|
|
373
|
+
}
|
|
319
374
|
const url = new URL(request.url || "/", `http://${host}:${port}`);
|
|
320
375
|
if (url.pathname !== "/v1/connectDevtools") {
|
|
321
376
|
socket.destroy();
|
|
@@ -433,7 +488,7 @@ function createBrowserShim(options = {}) {
|
|
|
433
488
|
logger?.success(`Browser shim server ready on http://${host}:${port}`);
|
|
434
489
|
}
|
|
435
490
|
async function stop() {
|
|
436
|
-
for (const sessionId of sessions.keys()) {
|
|
491
|
+
for (const sessionId of Array.from(sessions.keys())) {
|
|
437
492
|
await closeSession(sessionId, 3, "ServerShutdown");
|
|
438
493
|
}
|
|
439
494
|
if (server) {
|
|
@@ -879,33 +934,59 @@ async function runD1Migrations(options) {
|
|
|
879
934
|
if (!config?.bindings?.d1) {
|
|
880
935
|
return;
|
|
881
936
|
}
|
|
882
|
-
const { existsSync: existsSync2, readdirSync, readFileSync } = await import("node:fs");
|
|
937
|
+
const { existsSync: existsSync2, readdirSync, readFileSync, statSync } = await import("node:fs");
|
|
883
938
|
const migrationsDir = resolve(cwd, "migrations");
|
|
884
939
|
if (!existsSync2(migrationsDir)) {
|
|
885
940
|
logger?.debug("No migrations/ directory found, skipping D1 migrations");
|
|
886
941
|
return;
|
|
887
942
|
}
|
|
888
|
-
const
|
|
889
|
-
|
|
890
|
-
|
|
891
|
-
|
|
892
|
-
|
|
893
|
-
|
|
894
|
-
|
|
895
|
-
|
|
896
|
-
|
|
897
|
-
|
|
898
|
-
allStatements.push(...statements);
|
|
899
|
-
logger?.debug(`File ${file}: ${statements.length} statement(s)`);
|
|
900
|
-
}
|
|
901
|
-
if (allStatements.length === 0) {
|
|
902
|
-
logger?.debug("No executable D1 migration statements found");
|
|
903
|
-
return;
|
|
943
|
+
const sharedFiles = readdirSync(migrationsDir).filter((file) => file.endsWith(".sql")).sort();
|
|
944
|
+
let sharedStatements = null;
|
|
945
|
+
if (sharedFiles.length > 0) {
|
|
946
|
+
sharedStatements = [];
|
|
947
|
+
for (const file of sharedFiles) {
|
|
948
|
+
const sql = readFileSync(resolve(migrationsDir, file), "utf-8");
|
|
949
|
+
const fileStatements = collectMigrationStatements(sql);
|
|
950
|
+
sharedStatements.push(...fileStatements);
|
|
951
|
+
logger?.debug(`Shared file ${file}: ${fileStatements.length} statement(s)`);
|
|
952
|
+
}
|
|
904
953
|
}
|
|
905
954
|
for (const [bindingName] of Object.entries(config.bindings.d1)) {
|
|
955
|
+
const perBindingDir = resolve(migrationsDir, bindingName);
|
|
956
|
+
const hasPerBindingDir = existsSync2(perBindingDir) && statSync(perBindingDir).isDirectory();
|
|
957
|
+
let statements = [];
|
|
958
|
+
let fileCount = 0;
|
|
959
|
+
let sourceLabel = "";
|
|
960
|
+
if (hasPerBindingDir) {
|
|
961
|
+
const perBindingFiles = readdirSync(perBindingDir).filter((file) => file.endsWith(".sql")).sort();
|
|
962
|
+
if (perBindingFiles.length === 0) {
|
|
963
|
+
logger?.debug(`No SQL migration files in migrations/${bindingName}/, skipping ${bindingName}`);
|
|
964
|
+
continue;
|
|
965
|
+
}
|
|
966
|
+
for (const file of perBindingFiles) {
|
|
967
|
+
const sql = readFileSync(resolve(perBindingDir, file), "utf-8");
|
|
968
|
+
const fileStatements = collectMigrationStatements(sql);
|
|
969
|
+
statements.push(...fileStatements);
|
|
970
|
+
logger?.debug(`File ${bindingName}/${file}: ${fileStatements.length} statement(s)`);
|
|
971
|
+
}
|
|
972
|
+
fileCount = perBindingFiles.length;
|
|
973
|
+
sourceLabel = `migrations/${bindingName}/`;
|
|
974
|
+
} else if (sharedStatements !== null) {
|
|
975
|
+
statements = sharedStatements;
|
|
976
|
+
fileCount = sharedFiles.length;
|
|
977
|
+
sourceLabel = "migrations/ [shared fallback]";
|
|
978
|
+
} else {
|
|
979
|
+
logger?.debug(`No migrations found for ${bindingName}, skipping`);
|
|
980
|
+
continue;
|
|
981
|
+
}
|
|
982
|
+
logger?.info(`Running ${fileCount} D1 migration(s) for ${bindingName} (from ${sourceLabel})`);
|
|
983
|
+
if (statements.length === 0) {
|
|
984
|
+
logger?.debug(`No executable D1 migration statements for ${bindingName}`);
|
|
985
|
+
continue;
|
|
986
|
+
}
|
|
906
987
|
await applyMigrationsToBinding({
|
|
907
988
|
bindingName,
|
|
908
|
-
statements
|
|
989
|
+
statements,
|
|
909
990
|
miniflarePort,
|
|
910
991
|
logger
|
|
911
992
|
});
|
|
@@ -917,18 +998,16 @@ function getGatewayScript(wsRoutes = [], debug = false, appServiceBindingName =
|
|
|
917
998
|
const wsRoutesJson = JSON.stringify(wsRoutes);
|
|
918
999
|
const appServiceBindingJson = JSON.stringify(appServiceBindingName);
|
|
919
1000
|
return `
|
|
920
|
-
|
|
921
|
-
|
|
922
|
-
//
|
|
1001
|
+
${GATEWAY_RUNTIME_JS}
|
|
1002
|
+
|
|
1003
|
+
// Bridge Gateway Worker — Dev Server
|
|
1004
|
+
// Handles WebSocket RPC, DO WS proxying, HTTP transfer, D1 migration, email ingest
|
|
923
1005
|
|
|
924
1006
|
const DEBUG = ${debug}
|
|
925
1007
|
const log = (...args) => DEBUG && console.log('[Gateway]', ...args)
|
|
926
1008
|
|
|
927
|
-
const activeStreams = new Map()
|
|
928
1009
|
const wsProxies = new Map()
|
|
929
|
-
const incomingStreams = new Map()
|
|
930
1010
|
|
|
931
|
-
// WebSocket routes configuration (injected at build time)
|
|
932
1011
|
const WS_ROUTES = ${wsRoutesJson}
|
|
933
1012
|
const APP_SERVICE_BINDING = ${appServiceBindingJson}
|
|
934
1013
|
|
|
@@ -937,32 +1016,26 @@ export default {
|
|
|
937
1016
|
const url = new URL(request.url)
|
|
938
1017
|
const isWebSocket = request.headers.get('Upgrade') === 'websocket'
|
|
939
1018
|
|
|
940
|
-
// Check if this is a WebSocket request matching a DO route
|
|
941
1019
|
if (isWebSocket) {
|
|
942
1020
|
const matchedRoute = matchWsRoute(url.pathname)
|
|
943
1021
|
if (matchedRoute) {
|
|
944
1022
|
return handleDoWebSocket(request, env, url, matchedRoute)
|
|
945
1023
|
}
|
|
946
|
-
// Otherwise handle as bridge RPC WebSocket
|
|
947
1024
|
return handleBridgeWebSocket(request, env, ctx)
|
|
948
1025
|
}
|
|
949
1026
|
|
|
950
|
-
// HTTP endpoint for large file transfers
|
|
951
1027
|
if (url.pathname.startsWith('/_devflare/transfer/')) {
|
|
952
1028
|
return handleHttpTransfer(request, env, url)
|
|
953
1029
|
}
|
|
954
1030
|
|
|
955
|
-
// D1 migration endpoint
|
|
956
1031
|
if (url.pathname === '/_devflare/migrate' && request.method === 'POST') {
|
|
957
1032
|
return handleMigration(request, env)
|
|
958
1033
|
}
|
|
959
1034
|
|
|
960
|
-
// Email handler endpoint (simulates incoming email)
|
|
961
1035
|
if (url.pathname === '/cdn-cgi/handler/email' && request.method === 'POST') {
|
|
962
1036
|
return handleEmailIncoming(request, env, ctx, url)
|
|
963
1037
|
}
|
|
964
1038
|
|
|
965
|
-
// Health check
|
|
966
1039
|
if (url.pathname === '/_devflare/health') {
|
|
967
1040
|
return new Response(JSON.stringify({
|
|
968
1041
|
ok: true,
|
|
@@ -982,7 +1055,6 @@ export default {
|
|
|
982
1055
|
}
|
|
983
1056
|
}
|
|
984
1057
|
|
|
985
|
-
// Handle D1 migrations
|
|
986
1058
|
async function handleMigration(request, env) {
|
|
987
1059
|
try {
|
|
988
1060
|
const { bindingName, statements } = await request.json()
|
|
@@ -1009,28 +1081,26 @@ async function handleMigration(request, env) {
|
|
|
1009
1081
|
}
|
|
1010
1082
|
}
|
|
1011
1083
|
}
|
|
1012
|
-
|
|
1013
|
-
// Verify table exists after migration
|
|
1084
|
+
|
|
1014
1085
|
try {
|
|
1015
1086
|
const tables = await db.prepare("SELECT name FROM sqlite_master WHERE type='table'").all()
|
|
1016
1087
|
log('Tables after migration:', JSON.stringify(tables))
|
|
1017
1088
|
} catch (e) {
|
|
1018
1089
|
log('Error listing tables:', e.message)
|
|
1019
1090
|
}
|
|
1020
|
-
|
|
1091
|
+
|
|
1021
1092
|
return Response.json({ success: true, results })
|
|
1022
1093
|
} catch (error) {
|
|
1023
1094
|
return Response.json({ error: error?.message || String(error) }, { status: 500 })
|
|
1024
1095
|
}
|
|
1025
1096
|
}
|
|
1026
1097
|
|
|
1027
|
-
// Handle incoming email (simulates email() handler)
|
|
1028
1098
|
async function handleEmailIncoming(request, env, ctx, url) {
|
|
1029
1099
|
try {
|
|
1030
1100
|
const from = url.searchParams.get('from') || 'unknown@example.com'
|
|
1031
1101
|
const to = url.searchParams.get('to') || 'worker@example.com'
|
|
1032
1102
|
const rawBody = await request.text()
|
|
1033
|
-
|
|
1103
|
+
|
|
1034
1104
|
log('Email incoming:', { from, to, bodyLength: rawBody.length })
|
|
1035
1105
|
|
|
1036
1106
|
if (APP_SERVICE_BINDING) {
|
|
@@ -1052,7 +1122,7 @@ async function handleEmailIncoming(request, env, ctx, url) {
|
|
|
1052
1122
|
}
|
|
1053
1123
|
}
|
|
1054
1124
|
}
|
|
1055
|
-
|
|
1125
|
+
|
|
1056
1126
|
return new Response(JSON.stringify({ ok: true, from, to }), {
|
|
1057
1127
|
headers: { 'Content-Type': 'application/json' }
|
|
1058
1128
|
})
|
|
@@ -1062,10 +1132,8 @@ async function handleEmailIncoming(request, env, ctx, url) {
|
|
|
1062
1132
|
}
|
|
1063
1133
|
}
|
|
1064
1134
|
|
|
1065
|
-
// Match URL path against configured WS routes
|
|
1066
1135
|
function matchWsRoute(pathname) {
|
|
1067
1136
|
for (const route of WS_ROUTES) {
|
|
1068
|
-
// Simple exact match for now (could add glob/regex later)
|
|
1069
1137
|
if (pathname === route.pattern || pathname.startsWith(route.pattern + '?')) {
|
|
1070
1138
|
return route
|
|
1071
1139
|
}
|
|
@@ -1073,31 +1141,23 @@ function matchWsRoute(pathname) {
|
|
|
1073
1141
|
return null
|
|
1074
1142
|
}
|
|
1075
1143
|
|
|
1076
|
-
// Handle WebSocket upgrade that should go to a Durable Object
|
|
1077
1144
|
async function handleDoWebSocket(request, env, url, route) {
|
|
1078
1145
|
try {
|
|
1079
|
-
// Get the DO namespace
|
|
1080
1146
|
const namespace = env[route.doNamespace]
|
|
1081
1147
|
if (!namespace) {
|
|
1082
1148
|
console.error('[Gateway] DO namespace not found:', route.doNamespace)
|
|
1083
1149
|
return new Response('DO namespace not found: ' + route.doNamespace, { status: 500 })
|
|
1084
1150
|
}
|
|
1085
1151
|
|
|
1086
|
-
// Get the instance ID from query params
|
|
1087
1152
|
const idValue = url.searchParams.get(route.idParam) || 'default'
|
|
1088
|
-
|
|
1089
|
-
// Get or create DO instance
|
|
1090
1153
|
const doId = namespace.idFromName(idValue)
|
|
1091
1154
|
const stub = namespace.get(doId)
|
|
1092
1155
|
|
|
1093
|
-
// Construct the forward URL for the DO
|
|
1094
1156
|
const forwardUrl = new URL(route.forwardPath, url.origin)
|
|
1095
|
-
// Forward all query params
|
|
1096
1157
|
url.searchParams.forEach((v, k) => forwardUrl.searchParams.set(k, v))
|
|
1097
1158
|
|
|
1098
1159
|
log('Forwarding WebSocket to DO:', route.doNamespace, 'id:', idValue, 'path:', forwardUrl.pathname)
|
|
1099
1160
|
|
|
1100
|
-
// Forward the request to the DO
|
|
1101
1161
|
return stub.fetch(forwardUrl.toString(), {
|
|
1102
1162
|
method: request.method,
|
|
1103
1163
|
headers: request.headers
|
|
@@ -1108,7 +1168,6 @@ async function handleDoWebSocket(request, env, url, route) {
|
|
|
1108
1168
|
}
|
|
1109
1169
|
}
|
|
1110
1170
|
|
|
1111
|
-
// Handle bridge RPC WebSocket (for Node.js Vite server communication)
|
|
1112
1171
|
function handleBridgeWebSocket(request, env, ctx) {
|
|
1113
1172
|
const { 0: client, 1: server } = new WebSocketPair()
|
|
1114
1173
|
server.accept()
|
|
@@ -1124,7 +1183,6 @@ function handleBridgeWebSocket(request, env, ctx) {
|
|
|
1124
1183
|
})
|
|
1125
1184
|
|
|
1126
1185
|
server.addEventListener('close', () => {
|
|
1127
|
-
activeStreams.clear()
|
|
1128
1186
|
wsProxies.clear()
|
|
1129
1187
|
})
|
|
1130
1188
|
|
|
@@ -1155,180 +1213,11 @@ async function handleRpcCall(msg, ws, env, ctx) {
|
|
|
1155
1213
|
ws.send(JSON.stringify({
|
|
1156
1214
|
t: 'rpc.err',
|
|
1157
1215
|
id: msg.id,
|
|
1158
|
-
error: { code: error
|
|
1216
|
+
error: { code: error?.code || 'INTERNAL_ERROR', message: error?.message || String(error) }
|
|
1159
1217
|
}))
|
|
1160
1218
|
}
|
|
1161
1219
|
}
|
|
1162
1220
|
|
|
1163
|
-
async function executeRpcMethod(method, params, env, ctx) {
|
|
1164
|
-
const parts = method.split('.')
|
|
1165
|
-
const bindingName = parts[0]
|
|
1166
|
-
const operation = parts.slice(1).join('.')
|
|
1167
|
-
const binding = env[bindingName]
|
|
1168
|
-
const RAW_EMAIL = 'EmailMessage::raw'
|
|
1169
|
-
|
|
1170
|
-
if (!binding) throw new Error('Binding not found: ' + bindingName)
|
|
1171
|
-
|
|
1172
|
-
// KV operations
|
|
1173
|
-
if (operation === 'get') return binding.get(params[0], params[1])
|
|
1174
|
-
if (operation === 'put') return binding.put(params[0], params[1], params[2])
|
|
1175
|
-
if (operation === 'delete') return binding.delete(params[0])
|
|
1176
|
-
if (operation === 'list') return binding.list(params[0])
|
|
1177
|
-
if (operation === 'getWithMetadata') return binding.getWithMetadata(params[0], params[1])
|
|
1178
|
-
|
|
1179
|
-
// R2 operations
|
|
1180
|
-
if (operation === 'head') return serializeR2Object(await binding.head(params[0]))
|
|
1181
|
-
if (operation === 'r2.get') {
|
|
1182
|
-
const obj = await binding.get(params[0], params[1])
|
|
1183
|
-
if (!obj) return null
|
|
1184
|
-
const body = await obj.arrayBuffer()
|
|
1185
|
-
return serializeR2ObjectBody(obj, arrayBufferToBase64(body))
|
|
1186
|
-
}
|
|
1187
|
-
if (operation === 'r2.put') {
|
|
1188
|
-
// Deserialize the value if it's a serialized ArrayBuffer/Uint8Array
|
|
1189
|
-
let value = params[1]
|
|
1190
|
-
if (value && typeof value === 'object') {
|
|
1191
|
-
if (value.__type === 'ArrayBuffer') {
|
|
1192
|
-
value = base64ToArrayBuffer(value.data)
|
|
1193
|
-
} else if (value.__type === 'Uint8Array') {
|
|
1194
|
-
value = base64ToArrayBuffer(value.data)
|
|
1195
|
-
}
|
|
1196
|
-
}
|
|
1197
|
-
return serializeR2Object(await binding.put(params[0], value, params[2]))
|
|
1198
|
-
}
|
|
1199
|
-
if (operation === 'r2.delete') return binding.delete(params[0])
|
|
1200
|
-
if (operation === 'r2.list') return serializeR2Objects(await binding.list(params[0]))
|
|
1201
|
-
|
|
1202
|
-
// D1 operations
|
|
1203
|
-
if (operation === 'exec') return binding.exec(params[0])
|
|
1204
|
-
if (operation.startsWith('stmt.')) {
|
|
1205
|
-
log('D1 RPC:', bindingName, operation, 'sql:', String(params[0]).slice(0, 60))
|
|
1206
|
-
const mode = operation.split('.')[1]
|
|
1207
|
-
const [sql, ...rest] = params
|
|
1208
|
-
|
|
1209
|
-
// For first/raw, the last element is the column/options parameter (may be undefined)
|
|
1210
|
-
// For all/run, rest contains only bindings
|
|
1211
|
-
let bindings = rest
|
|
1212
|
-
let extraParam = undefined
|
|
1213
|
-
|
|
1214
|
-
if (mode === 'first' || mode === 'raw') {
|
|
1215
|
-
// Last element is the column/options (may be undefined)
|
|
1216
|
-
extraParam = rest[rest.length - 1]
|
|
1217
|
-
bindings = rest.slice(0, -1)
|
|
1218
|
-
}
|
|
1219
|
-
|
|
1220
|
-
let stmt = binding.prepare(sql)
|
|
1221
|
-
if (bindings.length > 0) stmt = stmt.bind(...bindings)
|
|
1222
|
-
|
|
1223
|
-
if (mode === 'first') {
|
|
1224
|
-
// Only pass column if it's a non-empty string
|
|
1225
|
-
if (typeof extraParam === 'string' && extraParam.length > 0) {
|
|
1226
|
-
return stmt.first(extraParam)
|
|
1227
|
-
}
|
|
1228
|
-
return stmt.first()
|
|
1229
|
-
}
|
|
1230
|
-
if (mode === 'all') return stmt.all()
|
|
1231
|
-
if (mode === 'run') return stmt.run()
|
|
1232
|
-
if (mode === 'raw') return stmt.raw(extraParam)
|
|
1233
|
-
}
|
|
1234
|
-
|
|
1235
|
-
// DO operations
|
|
1236
|
-
if (operation === 'idFromName') {
|
|
1237
|
-
const id = binding.idFromName(params[0])
|
|
1238
|
-
return { __type: 'DOId', hex: id.toString() }
|
|
1239
|
-
}
|
|
1240
|
-
if (operation === 'idFromString') {
|
|
1241
|
-
const id = binding.idFromString(params[0])
|
|
1242
|
-
return { __type: 'DOId', hex: id.toString() }
|
|
1243
|
-
}
|
|
1244
|
-
if (operation === 'newUniqueId') {
|
|
1245
|
-
const id = binding.newUniqueId(params[0])
|
|
1246
|
-
return { __type: 'DOId', hex: id.toString() }
|
|
1247
|
-
}
|
|
1248
|
-
if (operation === 'stub.fetch') {
|
|
1249
|
-
const [, serializedId, serializedReq] = params
|
|
1250
|
-
log('stub.fetch request:', {
|
|
1251
|
-
url: serializedReq.url,
|
|
1252
|
-
method: serializedReq.method,
|
|
1253
|
-
headers: serializedReq.headers,
|
|
1254
|
-
hasBody: !!serializedReq.body
|
|
1255
|
-
})
|
|
1256
|
-
const id = binding.idFromString(serializedId.hex)
|
|
1257
|
-
const stub = binding.get(id)
|
|
1258
|
-
try {
|
|
1259
|
-
const response = await stub.fetch(new Request(serializedReq.url, {
|
|
1260
|
-
method: serializedReq.method,
|
|
1261
|
-
headers: serializedReq.headers,
|
|
1262
|
-
body: serializedReq.body?.type === 'bytes' ? base64ToArrayBuffer(serializedReq.body.data) : undefined
|
|
1263
|
-
}))
|
|
1264
|
-
// Clone to read body for logging if there's an error
|
|
1265
|
-
const cloned = response.clone()
|
|
1266
|
-
const serialized = await serializeResponse(response)
|
|
1267
|
-
log('stub.fetch response:', {
|
|
1268
|
-
status: serialized.status,
|
|
1269
|
-
headers: serialized.headers,
|
|
1270
|
-
bodyLength: serialized.body?.data?.length || 0
|
|
1271
|
-
})
|
|
1272
|
-
// If 500, log the body content
|
|
1273
|
-
if (response.status >= 400) {
|
|
1274
|
-
const errBody = await cloned.text()
|
|
1275
|
-
log('Error response body:', errBody)
|
|
1276
|
-
}
|
|
1277
|
-
return serialized
|
|
1278
|
-
} catch (err) {
|
|
1279
|
-
console.error('[Gateway] stub.fetch error:', err)
|
|
1280
|
-
throw err
|
|
1281
|
-
}
|
|
1282
|
-
}
|
|
1283
|
-
if (operation === 'stub.rpc') {
|
|
1284
|
-
const [, serializedId, methodName, args] = params
|
|
1285
|
-
const id = binding.idFromString(serializedId.hex)
|
|
1286
|
-
const stub = binding.get(id)
|
|
1287
|
-
const response = await stub.fetch(new Request('http://do/_rpc', {
|
|
1288
|
-
method: 'POST',
|
|
1289
|
-
headers: { 'Content-Type': 'application/json' },
|
|
1290
|
-
body: JSON.stringify({ method: methodName, params: args })
|
|
1291
|
-
}))
|
|
1292
|
-
const result = await response.json()
|
|
1293
|
-
if (!result.ok) throw new Error(result.error?.message || 'RPC failed')
|
|
1294
|
-
return result.result
|
|
1295
|
-
}
|
|
1296
|
-
|
|
1297
|
-
// Queue operations
|
|
1298
|
-
if (operation === 'send') return binding.send(params[0], params[1])
|
|
1299
|
-
if (operation === 'sendBatch') return binding.sendBatch(params[0], params[1])
|
|
1300
|
-
|
|
1301
|
-
// Email send operations (send_email binding)
|
|
1302
|
-
if (operation === 'email.send') {
|
|
1303
|
-
const message = params[0]
|
|
1304
|
-
log('Email send:', { from: message?.from, to: message?.to })
|
|
1305
|
-
if (binding && typeof binding.send === 'function') {
|
|
1306
|
-
if (message && typeof message === 'object' && 'from' in message && 'to' in message && 'raw' in message) {
|
|
1307
|
-
return binding.send({
|
|
1308
|
-
from: message.from,
|
|
1309
|
-
to: message.to,
|
|
1310
|
-
[RAW_EMAIL]: createEmailMessageRaw(message.raw)
|
|
1311
|
-
})
|
|
1312
|
-
}
|
|
1313
|
-
return binding.send(message)
|
|
1314
|
-
}
|
|
1315
|
-
// Return success even if no real binding (simulated)
|
|
1316
|
-
return { ok: true, simulated: true }
|
|
1317
|
-
}
|
|
1318
|
-
|
|
1319
|
-
throw new Error('Unknown operation: ' + method)
|
|
1320
|
-
}
|
|
1321
|
-
|
|
1322
|
-
function createEmailMessageRaw(raw) {
|
|
1323
|
-
if (typeof raw === 'string' || raw instanceof ReadableStream) {
|
|
1324
|
-
return raw
|
|
1325
|
-
}
|
|
1326
|
-
if (raw instanceof ArrayBuffer || raw instanceof Uint8Array) {
|
|
1327
|
-
return new Response(raw).body
|
|
1328
|
-
}
|
|
1329
|
-
throw new Error('Unsupported EmailMessage raw payload')
|
|
1330
|
-
}
|
|
1331
|
-
|
|
1332
1221
|
async function handleWsOpen(msg, ws, env) {
|
|
1333
1222
|
try {
|
|
1334
1223
|
const binding = env[msg.target.binding]
|
|
@@ -1385,7 +1274,7 @@ async function handleHttpTransfer(request, env, url) {
|
|
|
1385
1274
|
|
|
1386
1275
|
if (request.method === 'PUT' || request.method === 'POST') {
|
|
1387
1276
|
const result = await bucket.put(key, request.body)
|
|
1388
|
-
return new Response(JSON.stringify(result), { headers: { 'Content-Type': 'application/json' } })
|
|
1277
|
+
return new Response(JSON.stringify(serializeR2Object(result)), { headers: { 'Content-Type': 'application/json' } })
|
|
1389
1278
|
}
|
|
1390
1279
|
|
|
1391
1280
|
if (request.method === 'GET') {
|
|
@@ -1401,70 +1290,6 @@ async function handleHttpTransfer(request, env, url) {
|
|
|
1401
1290
|
|
|
1402
1291
|
return new Response('Method not allowed', { status: 405 })
|
|
1403
1292
|
}
|
|
1404
|
-
|
|
1405
|
-
// Helpers
|
|
1406
|
-
function serializeR2Object(obj) {
|
|
1407
|
-
if (!obj) return null
|
|
1408
|
-
return {
|
|
1409
|
-
__type: 'R2Object',
|
|
1410
|
-
key: obj.key,
|
|
1411
|
-
version: obj.version,
|
|
1412
|
-
size: obj.size,
|
|
1413
|
-
etag: obj.etag,
|
|
1414
|
-
httpEtag: obj.httpEtag,
|
|
1415
|
-
checksums: obj.checksums,
|
|
1416
|
-
uploaded: obj.uploaded?.toISOString(),
|
|
1417
|
-
httpMetadata: obj.httpMetadata,
|
|
1418
|
-
customMetadata: obj.customMetadata,
|
|
1419
|
-
range: obj.range,
|
|
1420
|
-
storageClass: obj.storageClass
|
|
1421
|
-
}
|
|
1422
|
-
}
|
|
1423
|
-
function serializeR2ObjectBody(obj, bodyData) {
|
|
1424
|
-
if (!obj) return null
|
|
1425
|
-
return {
|
|
1426
|
-
__type: 'R2ObjectBody',
|
|
1427
|
-
key: obj.key,
|
|
1428
|
-
version: obj.version,
|
|
1429
|
-
size: obj.size,
|
|
1430
|
-
etag: obj.etag,
|
|
1431
|
-
httpEtag: obj.httpEtag,
|
|
1432
|
-
checksums: obj.checksums,
|
|
1433
|
-
uploaded: obj.uploaded?.toISOString(),
|
|
1434
|
-
httpMetadata: obj.httpMetadata,
|
|
1435
|
-
customMetadata: obj.customMetadata,
|
|
1436
|
-
range: obj.range,
|
|
1437
|
-
storageClass: obj.storageClass,
|
|
1438
|
-
bodyData
|
|
1439
|
-
}
|
|
1440
|
-
}
|
|
1441
|
-
function serializeR2Objects(result) {
|
|
1442
|
-
if (!result) return null
|
|
1443
|
-
return { objects: result.objects.map(serializeR2Object), truncated: result.truncated, cursor: result.cursor }
|
|
1444
|
-
}
|
|
1445
|
-
async function serializeResponse(response) {
|
|
1446
|
-
// Read body as bytes and encode as base64
|
|
1447
|
-
let body = null
|
|
1448
|
-
if (response.body) {
|
|
1449
|
-
const bytes = await response.arrayBuffer()
|
|
1450
|
-
if (bytes.byteLength > 0) {
|
|
1451
|
-
body = { type: 'bytes', data: arrayBufferToBase64(bytes) }
|
|
1452
|
-
}
|
|
1453
|
-
}
|
|
1454
|
-
return { status: response.status, statusText: response.statusText, headers: [...response.headers.entries()], body }
|
|
1455
|
-
}
|
|
1456
|
-
function arrayBufferToBase64(buffer) {
|
|
1457
|
-
const bytes = new Uint8Array(buffer)
|
|
1458
|
-
let binary = ''
|
|
1459
|
-
for (let i = 0; i < bytes.byteLength; i++) binary += String.fromCharCode(bytes[i])
|
|
1460
|
-
return btoa(binary)
|
|
1461
|
-
}
|
|
1462
|
-
function base64ToArrayBuffer(base64) {
|
|
1463
|
-
const binary = atob(base64)
|
|
1464
|
-
const bytes = new Uint8Array(binary.length)
|
|
1465
|
-
for (let i = 0; i < binary.length; i++) bytes[i] = binary.charCodeAt(i)
|
|
1466
|
-
return bytes.buffer
|
|
1467
|
-
}
|
|
1468
1293
|
`;
|
|
1469
1294
|
}
|
|
1470
1295
|
|