gemi 0.124.0 → 0.125.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.
- package/dist/ai/AgentController.d.ts +185 -3
- package/dist/ai/AgentController.d.ts.map +1 -1
- package/dist/ai/client/index.d.ts +1 -1
- package/dist/ai/client/index.d.ts.map +1 -1
- package/dist/ai/client/index.js +38 -9
- package/dist/ai/client/index.js.map +1 -1
- package/dist/ai/client/reducer.d.ts.map +1 -1
- package/dist/ai/index.d.ts +2 -2
- package/dist/ai/index.d.ts.map +1 -1
- package/dist/ai/index.js +31 -48
- package/dist/ai/index.js.map +6 -15
- package/dist/ai/types.d.ts +26 -0
- package/dist/ai/types.d.ts.map +1 -1
- package/dist/ai/useChat.d.ts +35 -2
- package/dist/ai/useChat.d.ts.map +1 -1
- package/dist/app/index.js +1 -1
- package/dist/auth/AuthController.d.ts.map +1 -1
- package/dist/auth/AuthManager.d.ts +11 -0
- package/dist/auth/AuthManager.d.ts.map +1 -1
- package/dist/auth/AuthServiceProvider.d.ts +2 -0
- package/dist/auth/AuthServiceProvider.d.ts.map +1 -1
- package/dist/auth/config.d.ts +71 -2
- package/dist/auth/config.d.ts.map +1 -1
- package/dist/auth/oauth/providers.d.ts +10 -0
- package/dist/auth/oauth/providers.d.ts.map +1 -0
- package/dist/bun/plugin.js +1 -1
- package/dist/bun/preload.js +1 -1
- package/dist/{chunk-a3g7y70h.js → chunk-0x1s02r1.js} +3 -3
- package/dist/{chunk-a3g7y70h.js.map → chunk-0x1s02r1.js.map} +1 -1
- package/dist/{chunk-yzhv93b0.js → chunk-1jcngq6w.js} +3 -3
- package/dist/{chunk-yzhv93b0.js.map → chunk-1jcngq6w.js.map} +1 -1
- package/dist/{chunk-mrswc6qw.js → chunk-1mxb44n9.js} +2 -2
- package/dist/{chunk-mrswc6qw.js.map → chunk-1mxb44n9.js.map} +1 -1
- package/dist/{chunk-9tr92nwy.js → chunk-1n40bdxf.js} +2 -2
- package/dist/{chunk-9tr92nwy.js.map → chunk-1n40bdxf.js.map} +1 -1
- package/dist/chunk-1xmh61fg.js +5 -0
- package/dist/{chunk-70nnh0y7.js.map → chunk-1xmh61fg.js.map} +1 -1
- package/dist/{chunk-bt9qv2jj.js → chunk-3br5zr7a.js} +3 -3
- package/dist/{chunk-bt9qv2jj.js.map → chunk-3br5zr7a.js.map} +1 -1
- package/dist/{chunk-w61sphn5.js → chunk-3kxe9geg.js} +3 -3
- package/dist/{chunk-w61sphn5.js.map → chunk-3kxe9geg.js.map} +1 -1
- package/dist/{chunk-bnt8kx6x.js → chunk-5fh4pvyt.js} +2 -2
- package/dist/{chunk-bnt8kx6x.js.map → chunk-5fh4pvyt.js.map} +1 -1
- package/dist/{chunk-rpyczdta.js → chunk-6gwxvmjv.js} +3 -3
- package/dist/{chunk-rpyczdta.js.map → chunk-6gwxvmjv.js.map} +1 -1
- package/dist/{chunk-65s834td.js → chunk-6q6bhkyf.js} +1 -1
- package/dist/{chunk-fn2qfwgx.js → chunk-6vz75swk.js} +2 -2
- package/dist/{chunk-fn2qfwgx.js.map → chunk-6vz75swk.js.map} +1 -1
- package/dist/chunk-6wgh7nk6.js +15 -0
- package/dist/{chunk-n0r5xyk2.js.map → chunk-6wgh7nk6.js.map} +6 -5
- package/dist/chunk-7vrrgxwm.js +22 -0
- package/dist/chunk-7vrrgxwm.js.map +21 -0
- package/dist/{chunk-kzsjyvvc.js → chunk-7zj6bk9a.js} +2 -2
- package/dist/{chunk-kzsjyvvc.js.map → chunk-7zj6bk9a.js.map} +1 -1
- package/dist/{chunk-3hqwz48c.js → chunk-8tvfmy1a.js} +4 -4
- package/dist/{chunk-3hqwz48c.js.map → chunk-8tvfmy1a.js.map} +1 -1
- package/dist/{chunk-6bgb1nhq.js → chunk-910p6ne6.js} +2 -2
- package/dist/{chunk-6bgb1nhq.js.map → chunk-910p6ne6.js.map} +1 -1
- package/dist/{chunk-96a1459v.js → chunk-ap3g6rbw.js} +2 -2
- package/dist/{chunk-96a1459v.js.map → chunk-ap3g6rbw.js.map} +1 -1
- package/dist/{chunk-3j6s5bmx.js → chunk-ayfjjgv2.js} +1 -1
- package/dist/chunk-b4x1dt3s.js +10 -0
- package/dist/chunk-b4x1dt3s.js.map +43 -0
- package/dist/{chunk-f29pktad.js → chunk-b7a22evs.js} +3 -3
- package/dist/{chunk-f29pktad.js.map → chunk-b7a22evs.js.map} +1 -1
- package/dist/{chunk-qdj8ek8z.js → chunk-bny9s44t.js} +2 -2
- package/dist/{chunk-qdj8ek8z.js.map → chunk-bny9s44t.js.map} +1 -1
- package/dist/{chunk-1rnh9qrp.js → chunk-by5gwr8x.js} +2 -2
- package/dist/{chunk-1rnh9qrp.js.map → chunk-by5gwr8x.js.map} +1 -1
- package/dist/{chunk-nn2jeat2.js → chunk-c0qpv8x7.js} +2 -2
- package/dist/{chunk-17dndh5z.js.map → chunk-c0qpv8x7.js.map} +1 -1
- package/dist/{chunk-f4cmz31h.js → chunk-cpem1j1x.js} +2 -2
- package/dist/{chunk-f4cmz31h.js.map → chunk-cpem1j1x.js.map} +1 -1
- package/dist/{chunk-019wz697.js → chunk-crnfxn9n.js} +2 -2
- package/dist/{chunk-019wz697.js.map → chunk-crnfxn9n.js.map} +1 -1
- package/dist/{chunk-s5jxc63j.js → chunk-cwt8e782.js} +3 -3
- package/dist/{chunk-s5jxc63j.js.map → chunk-cwt8e782.js.map} +1 -1
- package/dist/{chunk-fw7ds23a.js → chunk-dxyxd7b3.js} +2 -2
- package/dist/{chunk-fw7ds23a.js.map → chunk-dxyxd7b3.js.map} +1 -1
- package/dist/{chunk-qhz0x97z.js → chunk-dy58aztm.js} +2 -2
- package/dist/{chunk-qhz0x97z.js.map → chunk-dy58aztm.js.map} +1 -1
- package/dist/{chunk-skf89vrv.js → chunk-entpqjyn.js} +2 -2
- package/dist/{chunk-skf89vrv.js.map → chunk-entpqjyn.js.map} +1 -1
- package/dist/{chunk-7gfdts60.js → chunk-eq5svwca.js} +2 -2
- package/dist/{chunk-7gfdts60.js.map → chunk-eq5svwca.js.map} +1 -1
- package/dist/{chunk-n1a2zj5z.js → chunk-erzfs4t2.js} +2 -2
- package/dist/{chunk-n1a2zj5z.js.map → chunk-erzfs4t2.js.map} +3 -3
- package/dist/{chunk-3y294mb8.js → chunk-ex41d03h.js} +2 -2
- package/dist/{chunk-3y294mb8.js.map → chunk-ex41d03h.js.map} +1 -1
- package/dist/{chunk-v2ggafz1.js → chunk-ey1xrbaz.js} +2 -2
- package/dist/{chunk-v2ggafz1.js.map → chunk-ey1xrbaz.js.map} +1 -1
- package/dist/chunk-eyptwf54.js +57 -0
- package/dist/{chunk-5j50q4g8.js.map → chunk-eyptwf54.js.map} +22 -19
- package/dist/{chunk-zsfwcdqn.js → chunk-g52fcwca.js} +2 -2
- package/dist/{chunk-zsfwcdqn.js.map → chunk-g52fcwca.js.map} +1 -1
- package/dist/{chunk-rttrpjqk.js → chunk-ghcvztxn.js} +2 -2
- package/dist/{chunk-rttrpjqk.js.map → chunk-ghcvztxn.js.map} +1 -1
- package/dist/{chunk-wbg2tza5.js → chunk-gp00enrk.js} +1 -1
- package/dist/{chunk-92sk56n0.js → chunk-h8w9mzjj.js} +6 -6
- package/dist/{chunk-92sk56n0.js.map → chunk-h8w9mzjj.js.map} +7 -7
- package/dist/{chunk-cfdwsvtx.js → chunk-hff9w6rt.js} +2 -2
- package/dist/{chunk-cfdwsvtx.js.map → chunk-hff9w6rt.js.map} +1 -1
- package/dist/{chunk-17dndh5z.js → chunk-hxn0s3zh.js} +2 -2
- package/dist/{chunk-nn2jeat2.js.map → chunk-hxn0s3zh.js.map} +1 -1
- package/dist/{chunk-8m2htvjn.js → chunk-hzen9gh4.js} +2 -2
- package/dist/{chunk-8m2htvjn.js.map → chunk-hzen9gh4.js.map} +1 -1
- package/dist/{chunk-c4jnxmf2.js → chunk-j10a0m7q.js} +1 -1
- package/dist/{chunk-5e22tm7m.js → chunk-j12hpdxk.js} +1 -1
- package/dist/{chunk-ykz38t0t.js → chunk-j5rwv09s.js} +2 -2
- package/dist/{chunk-ykz38t0t.js.map → chunk-j5rwv09s.js.map} +1 -1
- package/dist/{chunk-w4z6x54b.js → chunk-jykkqwcy.js} +3 -3
- package/dist/{chunk-w4z6x54b.js.map → chunk-jykkqwcy.js.map} +1 -1
- package/dist/{chunk-w3812s34.js → chunk-k1ebt28j.js} +2 -2
- package/dist/{chunk-w3812s34.js.map → chunk-k1ebt28j.js.map} +1 -1
- package/dist/{chunk-h3p8qzft.js → chunk-kcsa57km.js} +2 -2
- package/dist/{chunk-h3p8qzft.js.map → chunk-kcsa57km.js.map} +1 -1
- package/dist/{chunk-1qwhty9p.js → chunk-khdkrfxp.js} +2 -2
- package/dist/{chunk-1qwhty9p.js.map → chunk-khdkrfxp.js.map} +1 -1
- package/dist/{chunk-b5afy6k9.js → chunk-knq4ack4.js} +2 -2
- package/dist/{chunk-b5afy6k9.js.map → chunk-knq4ack4.js.map} +1 -1
- package/dist/{chunk-121p4g9j.js → chunk-m7pghdcy.js} +2 -2
- package/dist/{chunk-121p4g9j.js.map → chunk-m7pghdcy.js.map} +1 -1
- package/dist/{chunk-rtawbqec.js → chunk-mmqnq1qh.js} +3 -3
- package/dist/{chunk-rtawbqec.js.map → chunk-mmqnq1qh.js.map} +1 -1
- package/dist/{chunk-34fkx6kb.js → chunk-n3z83qhq.js} +2 -2
- package/dist/{chunk-34fkx6kb.js.map → chunk-n3z83qhq.js.map} +1 -1
- package/dist/{chunk-mvkz22p4.js → chunk-npbf06c1.js} +2 -2
- package/dist/{chunk-mvkz22p4.js.map → chunk-npbf06c1.js.map} +1 -1
- package/dist/{chunk-2affxmkn.js → chunk-p5df4pn7.js} +2 -2
- package/dist/{chunk-2affxmkn.js.map → chunk-p5df4pn7.js.map} +1 -1
- package/dist/{chunk-y434jc1c.js → chunk-p6jbmcrg.js} +2 -2
- package/dist/{chunk-y434jc1c.js.map → chunk-p6jbmcrg.js.map} +1 -1
- package/dist/{chunk-jctb7v53.js → chunk-p7mvp5nf.js} +2 -2
- package/dist/{chunk-jctb7v53.js.map → chunk-p7mvp5nf.js.map} +1 -1
- package/dist/{chunk-jys8y39p.js → chunk-q6ah4yjg.js} +2 -2
- package/dist/{chunk-jys8y39p.js.map → chunk-q6ah4yjg.js.map} +1 -1
- package/dist/{chunk-pmyh33v5.js → chunk-r923001x.js} +2 -2
- package/dist/{chunk-pmyh33v5.js.map → chunk-r923001x.js.map} +1 -1
- package/dist/{chunk-mqtfaqx5.js → chunk-rany5zgk.js} +2 -2
- package/dist/{chunk-mqtfaqx5.js.map → chunk-rany5zgk.js.map} +1 -1
- package/dist/{chunk-30xxc6r7.js → chunk-rmgkc3a2.js} +2 -2
- package/dist/{chunk-30xxc6r7.js.map → chunk-rmgkc3a2.js.map} +1 -1
- package/dist/{chunk-v8v5qfnh.js → chunk-rvspb96n.js} +3 -3
- package/dist/{chunk-v8v5qfnh.js.map → chunk-rvspb96n.js.map} +1 -1
- package/dist/{chunk-zsvav1dk.js → chunk-rwmja4zs.js} +2 -2
- package/dist/{chunk-zsvav1dk.js.map → chunk-rwmja4zs.js.map} +1 -1
- package/dist/{chunk-j7v7dft7.js → chunk-s4semb89.js} +1 -1
- package/dist/{chunk-szn2n976.js → chunk-s4xg69r9.js} +2 -2
- package/dist/{chunk-szn2n976.js.map → chunk-s4xg69r9.js.map} +1 -1
- package/dist/{chunk-4drnyymm.js → chunk-stn0a56e.js} +2 -2
- package/dist/{chunk-4drnyymm.js.map → chunk-stn0a56e.js.map} +1 -1
- package/dist/{chunk-pe46a5a5.js → chunk-sv125fqq.js} +2 -2
- package/dist/{chunk-pe46a5a5.js.map → chunk-sv125fqq.js.map} +1 -1
- package/dist/{chunk-dxfhhw5h.js → chunk-t2t63wa0.js} +2 -2
- package/dist/{chunk-dxfhhw5h.js.map → chunk-t2t63wa0.js.map} +1 -1
- package/dist/{chunk-675kzd7z.js → chunk-t6qpm2j7.js} +2 -2
- package/dist/{chunk-675kzd7z.js.map → chunk-t6qpm2j7.js.map} +1 -1
- package/dist/chunk-tabsxzg9.js +5 -0
- package/dist/chunk-tabsxzg9.js.map +13 -0
- package/dist/{chunk-qycwjzsv.js → chunk-vhvvjaj3.js} +3 -3
- package/dist/{chunk-qycwjzsv.js.map → chunk-vhvvjaj3.js.map} +1 -1
- package/dist/{chunk-sd0c2001.js → chunk-x2j84d06.js} +2 -2
- package/dist/{chunk-sd0c2001.js.map → chunk-x2j84d06.js.map} +1 -1
- package/dist/{chunk-75ewjc4a.js → chunk-xe2pm36q.js} +2 -2
- package/dist/{chunk-75ewjc4a.js.map → chunk-xe2pm36q.js.map} +1 -1
- package/dist/{chunk-z5jydj5r.js → chunk-xfvegbxn.js} +2 -2
- package/dist/{chunk-z5jydj5r.js.map → chunk-xfvegbxn.js.map} +1 -1
- package/dist/{chunk-2n4490pk.js → chunk-y9f2see3.js} +3 -3
- package/dist/{chunk-2n4490pk.js.map → chunk-y9f2see3.js.map} +1 -1
- package/dist/{chunk-nkzmk7v3.js → chunk-yhht1j7f.js} +2 -2
- package/dist/{chunk-nkzmk7v3.js.map → chunk-yhht1j7f.js.map} +1 -1
- package/dist/{chunk-nnarmbjv.js → chunk-z5nfve1k.js} +2 -2
- package/dist/chunk-z5nfve1k.js.map +10 -0
- package/dist/{chunk-fvrmptd0.js → chunk-zq5375wd.js} +3 -3
- package/dist/{chunk-fvrmptd0.js.map → chunk-zq5375wd.js.map} +1 -1
- package/dist/chunks/{ThemeProvider-CbOx8IRl.js → ThemeProvider-CS2a1snV.js} +27 -1
- package/dist/chunks/ThemeProvider-CS2a1snV.js.map +1 -0
- package/dist/client/Mutation.d.ts +7 -6
- package/dist/client/Mutation.d.ts.map +1 -1
- package/dist/client/MutationError.d.ts +53 -1
- package/dist/client/MutationError.d.ts.map +1 -1
- package/dist/client/QueryResource.d.ts +9 -0
- package/dist/client/QueryResource.d.ts.map +1 -1
- package/dist/client/auth/useEmailCode.d.ts +3 -3
- package/dist/client/auth/useForgotPassword.d.ts +1 -1
- package/dist/client/auth/useResetPassword.d.ts +1 -1
- package/dist/client/auth/useSignIn.d.ts +1 -1
- package/dist/client/auth/useSignOut.d.ts +1 -1
- package/dist/client/auth/useSignUp.d.ts +1 -1
- package/dist/client/index.d.ts +4 -2
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/index.js +136 -9
- package/dist/client/index.js.map +1 -1
- package/dist/client/useMutation.d.ts +18 -8
- package/dist/client/useMutation.d.ts.map +1 -1
- package/dist/client/useSetQueryData.d.ts +69 -0
- package/dist/client/useSetQueryData.d.ts.map +1 -0
- package/dist/config/index.js +1 -1
- package/dist/console/run.js +2 -2
- package/dist/console/run.js.map +1 -1
- package/dist/container/index.js +2 -2
- package/dist/container/index.js.map +1 -1
- package/dist/database/index.js +2 -2
- package/dist/database/index.js.map +1 -1
- package/dist/email/index.js +2 -2
- package/dist/email/index.js.map +1 -1
- package/dist/facades/Auth.d.ts +29 -2
- package/dist/facades/Auth.d.ts.map +1 -1
- package/dist/facades/RateLimiter.d.ts +16 -1
- package/dist/facades/RateLimiter.d.ts.map +1 -1
- package/dist/facades/index.js +2 -2
- package/dist/facades/index.js.map +1 -1
- package/dist/foundation/index.js +2 -2
- package/dist/foundation/index.js.map +1 -1
- package/dist/http/HttpRequest.d.ts +14 -0
- package/dist/http/HttpRequest.d.ts.map +1 -1
- package/dist/http/McpRouter.d.ts +121 -2
- package/dist/http/McpRouter.d.ts.map +1 -1
- package/dist/http/RateLimitExceededError.d.ts +24 -0
- package/dist/http/RateLimitExceededError.d.ts.map +1 -0
- package/dist/http/RateLimitMiddleware.d.ts +2 -5
- package/dist/http/RateLimitMiddleware.d.ts.map +1 -1
- package/dist/http/index.d.ts +2 -1
- package/dist/http/index.d.ts.map +1 -1
- package/dist/http/index.js +2 -2
- package/dist/http/index.js.map +1 -1
- package/dist/http/refusal.d.ts +6 -1
- package/dist/http/refusal.d.ts.map +1 -1
- package/dist/http/requestContext.d.ts +3 -1
- package/dist/http/requestContext.d.ts.map +1 -1
- package/dist/http/requestState.d.ts +57 -0
- package/dist/http/requestState.d.ts.map +1 -0
- package/dist/i18n/dictionaryRuntime.js +2 -2
- package/dist/i18n/dictionaryRuntime.js.map +1 -1
- package/dist/i18n/index.js +2 -2
- package/dist/i18n/index.js.map +1 -1
- package/dist/kernel/index.js +2 -2
- package/dist/kernel/index.js.map +1 -1
- package/dist/orm/index.js +2 -2
- package/dist/orm/index.js.map +1 -1
- package/dist/server/Server.d.ts.map +1 -1
- package/dist/server/health.d.ts +67 -0
- package/dist/server/health.d.ts.map +1 -0
- package/dist/server/index.d.ts +1 -0
- package/dist/server/index.d.ts.map +1 -1
- package/dist/server/index.js +2 -2
- package/dist/server/index.js.map +5 -4
- package/dist/server/shutdown.d.ts +3 -4
- package/dist/server/shutdown.d.ts.map +1 -1
- package/dist/services/features/gate.d.ts +11 -0
- package/dist/services/features/gate.d.ts.map +1 -0
- package/dist/services/index.d.ts +4 -4
- package/dist/services/index.d.ts.map +1 -1
- package/dist/services/index.js +3 -3
- package/dist/services/index.js.map +2 -2
- package/dist/services/logging/LogManager.d.ts +1 -0
- package/dist/services/logging/LogManager.d.ts.map +1 -1
- package/dist/services/logging/config.d.ts +23 -1
- package/dist/services/logging/config.d.ts.map +1 -1
- package/dist/services/logging/consoleSink.d.ts +25 -0
- package/dist/services/logging/consoleSink.d.ts.map +1 -0
- package/dist/services/mcp/McpRegistry.d.ts +106 -14
- package/dist/services/mcp/McpRegistry.d.ts.map +1 -1
- package/dist/services/mcp/http/McpHttpServer.d.ts +41 -2
- package/dist/services/mcp/http/McpHttpServer.d.ts.map +1 -1
- package/dist/services/mcp/toAgentTools.d.ts +21 -3
- package/dist/services/mcp/toAgentTools.d.ts.map +1 -1
- package/dist/services/queue/work.js +2 -2
- package/dist/services/queue/work.js.map +1 -1
- package/dist/services/rate-limiter/RateLimiter.d.ts +12 -0
- package/dist/services/rate-limiter/RateLimiter.d.ts.map +1 -1
- package/dist/services/router/globalMiddleware.d.ts +4 -3
- package/dist/services/router/globalMiddleware.d.ts.map +1 -1
- package/dist/stats/route-table.js +1 -1
- package/dist/support/index.js +2 -2
- package/dist/support/index.js.map +1 -1
- package/dist/testing/index.js +1 -1
- package/dist/vitest/index.js +1 -1
- package/package.json +1 -1
- package/skills/gemi-react-best-practices/SKILL.md +1 -1
- package/skills/gemi-react-best-practices/rules/query-mutate-over-refetch.md +14 -0
- package/skills/gemi-react-best-practices/rules/routing-middleware-dsl.md +2 -1
- package/dist/chunk-5j50q4g8.js +0 -57
- package/dist/chunk-70nnh0y7.js +0 -5
- package/dist/chunk-kc924zjz.js +0 -5
- package/dist/chunk-kc924zjz.js.map +0 -12
- package/dist/chunk-n0r5xyk2.js +0 -14
- package/dist/chunk-nnarmbjv.js.map +0 -10
- package/dist/chunk-pya4rqm2.js +0 -5
- package/dist/chunk-pya4rqm2.js.map +0 -12
- package/dist/chunk-zmf3vhex.js +0 -10
- package/dist/chunk-zmf3vhex.js.map +0 -43
- package/dist/chunks/ThemeProvider-CbOx8IRl.js.map +0 -1
- /package/dist/{chunk-65s834td.js.map → chunk-6q6bhkyf.js.map} +0 -0
- /package/dist/{chunk-3j6s5bmx.js.map → chunk-ayfjjgv2.js.map} +0 -0
- /package/dist/{chunk-wbg2tza5.js.map → chunk-gp00enrk.js.map} +0 -0
- /package/dist/{chunk-c4jnxmf2.js.map → chunk-j10a0m7q.js.map} +0 -0
- /package/dist/{chunk-5e22tm7m.js.map → chunk-j12hpdxk.js.map} +0 -0
- /package/dist/{chunk-j7v7dft7.js.map → chunk-s4semb89.js.map} +0 -0
|
@@ -38,6 +38,6 @@
|
|
|
38
38
|
"'use strict';\n\nvar middlewareStack = require('@smithy/middleware-stack');\nvar protocols = require('@smithy/core/protocols');\nvar types = require('@smithy/types');\nvar schema = require('@smithy/core/schema');\nvar serde = require('@smithy/core/serde');\n\nclass Client {\n config;\n middlewareStack = middlewareStack.constructStack();\n initConfig;\n handlers;\n constructor(config) {\n this.config = config;\n const { protocol, protocolSettings } = config;\n if (protocolSettings) {\n if (typeof protocol === \"function\") {\n config.protocol = new protocol(protocolSettings);\n }\n }\n }\n send(command, optionsOrCb, cb) {\n const options = typeof optionsOrCb !== \"function\" ? optionsOrCb : undefined;\n const callback = typeof optionsOrCb === \"function\" ? optionsOrCb : cb;\n const useHandlerCache = options === undefined && this.config.cacheMiddleware === true;\n let handler;\n if (useHandlerCache) {\n if (!this.handlers) {\n this.handlers = new WeakMap();\n }\n const handlers = this.handlers;\n if (handlers.has(command.constructor)) {\n handler = handlers.get(command.constructor);\n }\n else {\n handler = command.resolveMiddleware(this.middlewareStack, this.config, options);\n handlers.set(command.constructor, handler);\n }\n }\n else {\n delete this.handlers;\n handler = command.resolveMiddleware(this.middlewareStack, this.config, options);\n }\n if (callback) {\n handler(command)\n .then((result) => callback(null, result.output), (err) => callback(err))\n .catch(() => { });\n }\n else {\n return handler(command).then((result) => result.output);\n }\n }\n destroy() {\n this.config?.requestHandler?.destroy?.();\n delete this.handlers;\n }\n}\n\nconst SENSITIVE_STRING$1 = \"***SensitiveInformation***\";\nfunction schemaLogFilter(schema$1, data) {\n if (data == null) {\n return data;\n }\n const ns = schema.NormalizedSchema.of(schema$1);\n if (ns.getMergedTraits().sensitive) {\n return SENSITIVE_STRING$1;\n }\n if (ns.isListSchema()) {\n const isSensitive = !!ns.getValueSchema().getMergedTraits().sensitive;\n if (isSensitive) {\n return SENSITIVE_STRING$1;\n }\n }\n else if (ns.isMapSchema()) {\n const isSensitive = !!ns.getKeySchema().getMergedTraits().sensitive || !!ns.getValueSchema().getMergedTraits().sensitive;\n if (isSensitive) {\n return SENSITIVE_STRING$1;\n }\n }\n else if (ns.isStructSchema() && typeof data === \"object\") {\n const object = data;\n const newObject = {};\n for (const [member, memberNs] of ns.structIterator()) {\n if (object[member] != null) {\n newObject[member] = schemaLogFilter(memberNs, object[member]);\n }\n }\n return newObject;\n }\n return data;\n}\n\nclass Command {\n middlewareStack = middlewareStack.constructStack();\n schema;\n static classBuilder() {\n return new ClassBuilder();\n }\n resolveMiddlewareWithContext(clientStack, configuration, options, { middlewareFn, clientName, commandName, inputFilterSensitiveLog, outputFilterSensitiveLog, smithyContext, additionalContext, CommandCtor, }) {\n for (const mw of middlewareFn.bind(this)(CommandCtor, clientStack, configuration, options)) {\n this.middlewareStack.use(mw);\n }\n const stack = clientStack.concat(this.middlewareStack);\n const { logger } = configuration;\n const handlerExecutionContext = {\n logger,\n clientName,\n commandName,\n inputFilterSensitiveLog,\n outputFilterSensitiveLog,\n [types.SMITHY_CONTEXT_KEY]: {\n commandInstance: this,\n ...smithyContext,\n },\n ...additionalContext,\n };\n const { requestHandler } = configuration;\n return stack.resolve((request) => requestHandler.handle(request.request, options || {}), handlerExecutionContext);\n }\n}\nclass ClassBuilder {\n _init = () => { };\n _ep = {};\n _middlewareFn = () => [];\n _commandName = \"\";\n _clientName = \"\";\n _additionalContext = {};\n _smithyContext = {};\n _inputFilterSensitiveLog = undefined;\n _outputFilterSensitiveLog = undefined;\n _serializer = null;\n _deserializer = null;\n _operationSchema;\n init(cb) {\n this._init = cb;\n }\n ep(endpointParameterInstructions) {\n this._ep = endpointParameterInstructions;\n return this;\n }\n m(middlewareSupplier) {\n this._middlewareFn = middlewareSupplier;\n return this;\n }\n s(service, operation, smithyContext = {}) {\n this._smithyContext = {\n service,\n operation,\n ...smithyContext,\n };\n return this;\n }\n c(additionalContext = {}) {\n this._additionalContext = additionalContext;\n return this;\n }\n n(clientName, commandName) {\n this._clientName = clientName;\n this._commandName = commandName;\n return this;\n }\n f(inputFilter = (_) => _, outputFilter = (_) => _) {\n this._inputFilterSensitiveLog = inputFilter;\n this._outputFilterSensitiveLog = outputFilter;\n return this;\n }\n ser(serializer) {\n this._serializer = serializer;\n return this;\n }\n de(deserializer) {\n this._deserializer = deserializer;\n return this;\n }\n sc(operation) {\n this._operationSchema = operation;\n this._smithyContext.operationSchema = operation;\n return this;\n }\n build() {\n const closure = this;\n let CommandRef;\n return (CommandRef = class extends Command {\n input;\n static getEndpointParameterInstructions() {\n return closure._ep;\n }\n constructor(...[input]) {\n super();\n this.input = input ?? {};\n closure._init(this);\n this.schema = closure._operationSchema;\n }\n resolveMiddleware(stack, configuration, options) {\n const op = closure._operationSchema;\n const input = op?.[4] ?? op?.input;\n const output = op?.[5] ?? op?.output;\n return this.resolveMiddlewareWithContext(stack, configuration, options, {\n CommandCtor: CommandRef,\n middlewareFn: closure._middlewareFn,\n clientName: closure._clientName,\n commandName: closure._commandName,\n inputFilterSensitiveLog: closure._inputFilterSensitiveLog ?? (op ? schemaLogFilter.bind(null, input) : (_) => _),\n outputFilterSensitiveLog: closure._outputFilterSensitiveLog ?? (op ? schemaLogFilter.bind(null, output) : (_) => _),\n smithyContext: closure._smithyContext,\n additionalContext: closure._additionalContext,\n });\n }\n serialize = closure._serializer;\n deserialize = closure._deserializer;\n });\n }\n}\n\nconst SENSITIVE_STRING = \"***SensitiveInformation***\";\n\nconst createAggregatedClient = (commands, Client, options) => {\n for (const [command, CommandCtor] of Object.entries(commands)) {\n const methodImpl = async function (args, optionsOrCb, cb) {\n const command = new CommandCtor(args);\n if (typeof optionsOrCb === \"function\") {\n this.send(command, optionsOrCb);\n }\n else if (typeof cb === \"function\") {\n if (typeof optionsOrCb !== \"object\")\n throw new Error(`Expected http options but got ${typeof optionsOrCb}`);\n this.send(command, optionsOrCb || {}, cb);\n }\n else {\n return this.send(command, optionsOrCb);\n }\n };\n const methodName = (command[0].toLowerCase() + command.slice(1)).replace(/Command$/, \"\");\n Client.prototype[methodName] = methodImpl;\n }\n const { paginators = {}, waiters = {} } = options ?? {};\n for (const [paginatorName, paginatorFn] of Object.entries(paginators)) {\n if (Client.prototype[paginatorName] === void 0) {\n Client.prototype[paginatorName] = function (commandInput = {}, paginationConfiguration, ...rest) {\n return paginatorFn({\n ...paginationConfiguration,\n client: this,\n }, commandInput, ...rest);\n };\n }\n }\n for (const [waiterName, waiterFn] of Object.entries(waiters)) {\n if (Client.prototype[waiterName] === void 0) {\n Client.prototype[waiterName] = async function (commandInput = {}, waiterConfiguration, ...rest) {\n let config = waiterConfiguration;\n if (typeof waiterConfiguration === \"number\") {\n config = {\n maxWaitTime: waiterConfiguration,\n };\n }\n return waiterFn({\n ...config,\n client: this,\n }, commandInput, ...rest);\n };\n }\n }\n};\n\nclass ServiceException extends Error {\n $fault;\n $response;\n $retryable;\n $metadata;\n constructor(options) {\n super(options.message);\n Object.setPrototypeOf(this, Object.getPrototypeOf(this).constructor.prototype);\n this.name = options.name;\n this.$fault = options.$fault;\n this.$metadata = options.$metadata;\n }\n static isInstance(value) {\n if (!value)\n return false;\n const candidate = value;\n return (ServiceException.prototype.isPrototypeOf(candidate) ||\n (Boolean(candidate.$fault) &&\n Boolean(candidate.$metadata) &&\n (candidate.$fault === \"client\" || candidate.$fault === \"server\")));\n }\n static [Symbol.hasInstance](instance) {\n if (!instance)\n return false;\n const candidate = instance;\n if (this === ServiceException) {\n return ServiceException.isInstance(instance);\n }\n if (ServiceException.isInstance(instance)) {\n if (candidate.name && this.name) {\n return this.prototype.isPrototypeOf(instance) || candidate.name === this.name;\n }\n return this.prototype.isPrototypeOf(instance);\n }\n return false;\n }\n}\nconst decorateServiceException = (exception, additions = {}) => {\n Object.entries(additions)\n .filter(([, v]) => v !== undefined)\n .forEach(([k, v]) => {\n if (exception[k] == undefined || exception[k] === \"\") {\n exception[k] = v;\n }\n });\n const message = exception.message || exception.Message || \"UnknownError\";\n exception.message = message;\n delete exception.Message;\n return exception;\n};\n\nconst throwDefaultError = ({ output, parsedBody, exceptionCtor, errorCode }) => {\n const $metadata = deserializeMetadata(output);\n const statusCode = $metadata.httpStatusCode ? $metadata.httpStatusCode + \"\" : undefined;\n const response = new exceptionCtor({\n name: parsedBody?.code || parsedBody?.Code || errorCode || statusCode || \"UnknownError\",\n $fault: \"client\",\n $metadata,\n });\n throw decorateServiceException(response, parsedBody);\n};\nconst withBaseException = (ExceptionCtor) => {\n return ({ output, parsedBody, errorCode }) => {\n throwDefaultError({ output, parsedBody, exceptionCtor: ExceptionCtor, errorCode });\n };\n};\nconst deserializeMetadata = (output) => ({\n httpStatusCode: output.statusCode,\n requestId: output.headers[\"x-amzn-requestid\"] ?? output.headers[\"x-amzn-request-id\"] ?? output.headers[\"x-amz-request-id\"],\n extendedRequestId: output.headers[\"x-amz-id-2\"],\n cfId: output.headers[\"x-amz-cf-id\"],\n});\n\nconst loadConfigsForDefaultMode = (mode) => {\n switch (mode) {\n case \"standard\":\n return {\n retryMode: \"standard\",\n connectionTimeout: 3100,\n };\n case \"in-region\":\n return {\n retryMode: \"standard\",\n connectionTimeout: 1100,\n };\n case \"cross-region\":\n return {\n retryMode: \"standard\",\n connectionTimeout: 3100,\n };\n case \"mobile\":\n return {\n retryMode: \"standard\",\n connectionTimeout: 30000,\n };\n default:\n return {};\n }\n};\n\nlet warningEmitted = false;\nconst emitWarningIfUnsupportedVersion = (version) => {\n if (version && !warningEmitted && parseInt(version.substring(1, version.indexOf(\".\"))) < 16) {\n warningEmitted = true;\n }\n};\n\nconst knownAlgorithms = Object.values(types.AlgorithmId);\nconst getChecksumConfiguration = (runtimeConfig) => {\n const checksumAlgorithms = [];\n for (const id in types.AlgorithmId) {\n const algorithmId = types.AlgorithmId[id];\n if (runtimeConfig[algorithmId] === undefined) {\n continue;\n }\n checksumAlgorithms.push({\n algorithmId: () => algorithmId,\n checksumConstructor: () => runtimeConfig[algorithmId],\n });\n }\n for (const [id, ChecksumCtor] of Object.entries(runtimeConfig.checksumAlgorithms ?? {})) {\n checksumAlgorithms.push({\n algorithmId: () => id,\n checksumConstructor: () => ChecksumCtor,\n });\n }\n return {\n addChecksumAlgorithm(algo) {\n runtimeConfig.checksumAlgorithms = runtimeConfig.checksumAlgorithms ?? {};\n const id = algo.algorithmId();\n const ctor = algo.checksumConstructor();\n if (knownAlgorithms.includes(id)) {\n runtimeConfig.checksumAlgorithms[id.toUpperCase()] = ctor;\n }\n else {\n runtimeConfig.checksumAlgorithms[id] = ctor;\n }\n checksumAlgorithms.push(algo);\n },\n checksumAlgorithms() {\n return checksumAlgorithms;\n },\n };\n};\nconst resolveChecksumRuntimeConfig = (clientConfig) => {\n const runtimeConfig = {};\n clientConfig.checksumAlgorithms().forEach((checksumAlgorithm) => {\n const id = checksumAlgorithm.algorithmId();\n if (knownAlgorithms.includes(id)) {\n runtimeConfig[id] = checksumAlgorithm.checksumConstructor();\n }\n });\n return runtimeConfig;\n};\n\nconst getRetryConfiguration = (runtimeConfig) => {\n return {\n setRetryStrategy(retryStrategy) {\n runtimeConfig.retryStrategy = retryStrategy;\n },\n retryStrategy() {\n return runtimeConfig.retryStrategy;\n },\n };\n};\nconst resolveRetryRuntimeConfig = (retryStrategyConfiguration) => {\n const runtimeConfig = {};\n runtimeConfig.retryStrategy = retryStrategyConfiguration.retryStrategy();\n return runtimeConfig;\n};\n\nconst getDefaultExtensionConfiguration = (runtimeConfig) => {\n return Object.assign(getChecksumConfiguration(runtimeConfig), getRetryConfiguration(runtimeConfig));\n};\nconst getDefaultClientConfiguration = getDefaultExtensionConfiguration;\nconst resolveDefaultRuntimeConfig = (config) => {\n return Object.assign(resolveChecksumRuntimeConfig(config), resolveRetryRuntimeConfig(config));\n};\n\nconst getArrayIfSingleItem = (mayBeArray) => Array.isArray(mayBeArray) ? mayBeArray : [mayBeArray];\n\nconst getValueFromTextNode = (obj) => {\n const textNodeName = \"#text\";\n for (const key in obj) {\n if (obj.hasOwnProperty(key) && obj[key][textNodeName] !== undefined) {\n obj[key] = obj[key][textNodeName];\n }\n else if (typeof obj[key] === \"object\" && obj[key] !== null) {\n obj[key] = getValueFromTextNode(obj[key]);\n }\n }\n return obj;\n};\n\nconst isSerializableHeaderValue = (value) => {\n return value != null;\n};\n\nclass NoOpLogger {\n trace() { }\n debug() { }\n info() { }\n warn() { }\n error() { }\n}\n\nfunction map(arg0, arg1, arg2) {\n let target;\n let filter;\n let instructions;\n if (typeof arg1 === \"undefined\" && typeof arg2 === \"undefined\") {\n target = {};\n instructions = arg0;\n }\n else {\n target = arg0;\n if (typeof arg1 === \"function\") {\n filter = arg1;\n instructions = arg2;\n return mapWithFilter(target, filter, instructions);\n }\n else {\n instructions = arg1;\n }\n }\n for (const key of Object.keys(instructions)) {\n if (!Array.isArray(instructions[key])) {\n target[key] = instructions[key];\n continue;\n }\n applyInstruction(target, null, instructions, key);\n }\n return target;\n}\nconst convertMap = (target) => {\n const output = {};\n for (const [k, v] of Object.entries(target || {})) {\n output[k] = [, v];\n }\n return output;\n};\nconst take = (source, instructions) => {\n const out = {};\n for (const key in instructions) {\n applyInstruction(out, source, instructions, key);\n }\n return out;\n};\nconst mapWithFilter = (target, filter, instructions) => {\n return map(target, Object.entries(instructions).reduce((_instructions, [key, value]) => {\n if (Array.isArray(value)) {\n _instructions[key] = value;\n }\n else {\n if (typeof value === \"function\") {\n _instructions[key] = [filter, value()];\n }\n else {\n _instructions[key] = [filter, value];\n }\n }\n return _instructions;\n }, {}));\n};\nconst applyInstruction = (target, source, instructions, targetKey) => {\n if (source !== null) {\n let instruction = instructions[targetKey];\n if (typeof instruction === \"function\") {\n instruction = [, instruction];\n }\n const [filter = nonNullish, valueFn = pass, sourceKey = targetKey] = instruction;\n if ((typeof filter === \"function\" && filter(source[sourceKey])) || (typeof filter !== \"function\" && !!filter)) {\n target[targetKey] = valueFn(source[sourceKey]);\n }\n return;\n }\n let [filter, value] = instructions[targetKey];\n if (typeof value === \"function\") {\n let _value;\n const defaultFilterPassed = filter === undefined && (_value = value()) != null;\n const customFilterPassed = (typeof filter === \"function\" && !!filter(void 0)) || (typeof filter !== \"function\" && !!filter);\n if (defaultFilterPassed) {\n target[targetKey] = _value;\n }\n else if (customFilterPassed) {\n target[targetKey] = value();\n }\n }\n else {\n const defaultFilterPassed = filter === undefined && value != null;\n const customFilterPassed = (typeof filter === \"function\" && !!filter(value)) || (typeof filter !== \"function\" && !!filter);\n if (defaultFilterPassed || customFilterPassed) {\n target[targetKey] = value;\n }\n }\n};\nconst nonNullish = (_) => _ != null;\nconst pass = (_) => _;\n\nconst serializeFloat = (value) => {\n if (value !== value) {\n return \"NaN\";\n }\n switch (value) {\n case Infinity:\n return \"Infinity\";\n case -Infinity:\n return \"-Infinity\";\n default:\n return value;\n }\n};\nconst serializeDateTime = (date) => date.toISOString().replace(\".000Z\", \"Z\");\n\nconst _json = (obj) => {\n if (obj == null) {\n return {};\n }\n if (Array.isArray(obj)) {\n return obj.filter((_) => _ != null).map(_json);\n }\n if (typeof obj === \"object\") {\n const target = {};\n for (const key of Object.keys(obj)) {\n if (obj[key] == null) {\n continue;\n }\n target[key] = _json(obj[key]);\n }\n return target;\n }\n return obj;\n};\n\nexports.collectBody = protocols.collectBody;\nexports.extendedEncodeURIComponent = protocols.extendedEncodeURIComponent;\nexports.resolvedPath = protocols.resolvedPath;\nexports.Client = Client;\nexports.Command = Command;\nexports.NoOpLogger = NoOpLogger;\nexports.SENSITIVE_STRING = SENSITIVE_STRING;\nexports.ServiceException = ServiceException;\nexports._json = _json;\nexports.convertMap = convertMap;\nexports.createAggregatedClient = createAggregatedClient;\nexports.decorateServiceException = decorateServiceException;\nexports.emitWarningIfUnsupportedVersion = emitWarningIfUnsupportedVersion;\nexports.getArrayIfSingleItem = getArrayIfSingleItem;\nexports.getDefaultClientConfiguration = getDefaultClientConfiguration;\nexports.getDefaultExtensionConfiguration = getDefaultExtensionConfiguration;\nexports.getValueFromTextNode = getValueFromTextNode;\nexports.isSerializableHeaderValue = isSerializableHeaderValue;\nexports.loadConfigsForDefaultMode = loadConfigsForDefaultMode;\nexports.map = map;\nexports.resolveDefaultRuntimeConfig = resolveDefaultRuntimeConfig;\nexports.serializeDateTime = serializeDateTime;\nexports.serializeFloat = serializeFloat;\nexports.take = take;\nexports.throwDefaultError = throwDefaultError;\nexports.withBaseException = withBaseException;\nObject.prototype.hasOwnProperty.call(serde, '__proto__') &&\n !Object.prototype.hasOwnProperty.call(exports, '__proto__') &&\n Object.defineProperty(exports, '__proto__', {\n enumerable: true,\n value: serde['__proto__']\n });\n\nObject.keys(serde).forEach(function (k) {\n if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) exports[k] = serde[k];\n});\n"
|
|
39
39
|
],
|
|
40
40
|
"mappings": "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",
|
|
41
|
-
"debugId": "
|
|
41
|
+
"debugId": "83FC698D395009A864756E2164756E21",
|
|
42
42
|
"names": []
|
|
43
43
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
import{
|
|
3
|
-
export{g as
|
|
2
|
+
import{Ag as O,Bg as y,Hg as U,ug as K,vg as L,wg as R,xg as Y,yg as M,zg as Q}from"./chunk-cwt8e782.js";import{Ci as G,Di as W}from"./chunk-ap3g6rbw.js";var S=/^\s*::\s*(?:text\s*::\s*)?(jsonb|json)\b(?!\s*\[)/i,I=/^\s*as\s+(jsonb|json)\s*\)/i,P=/\bcast\s*\(\s*$/i,T=new Set;function _(k,B){if(!B.typesParametersFromStatement)return{fragment:k,jsonParameters:T};let q=Y(k),z=new Set,D;for(let H=0;H<q.length-1;H++){let X=q[H+1],$=S.exec(X);if($){D??=[...q],D[H+1]=`::text::${$[1]}${X.slice($[0].length)}`,z.add(H);continue}let J=I.exec(X);if(J&&P.test((D??q)[H]))D??=[...q],D[H+1]=` as text)::${J[1]}${X.slice(J[0].length)}`,z.add(H)}if(!D)return{fragment:k,jsonParameters:z};return{fragment:M(D,k.binders),jsonParameters:z}}function C(k,B){if(k===null||k===void 0)return null;let q=U(k);if(q==="db")return null;if(q==="json")return"null";if(q==="any")throw new W(B,"DB",B,"Prisma.AnyNull is a filter operand \u2014 it asks for a SQL NULL *or* a JSON "+"null \u2014 so it has no single value to bind. Write the one you mean: "+"Prisma.DbNull for the column being NULL, Prisma.JsonNull for the JSON value.");if(typeof k==="string")return k;let z;try{z=JSON.stringify(k)}catch(D){throw new W(B,"DB",B,`A parameter cast to json could not be serialised: ${D instanceof Error?D.message:String(D)}. `+"Bind text you have serialised yourself if the value is not JSON \u2014 a "+"bigint has no JSON form, and neither does a cycle.")}if(z===void 0)throw new W(B,"DB",B,`A ${typeof k} was bound to a parameter cast to json, and has no JSON form. Bind the value it stands for.`);return z}var N=new WeakSet;function Z(k){return N.add(k),k}function V(k){return typeof k==="object"&&k!==null&&N.has(k)}function g(k,...B){if(!Array.isArray(k)||!("raw"in k))throw new G("sql","DB","sql","'sql' is a tagged template \u2014 write sql`select 1`, not sql(\"select 1\"). "+"To put text that is not a value into a statement, use 'unsafeSql', and read what it says first.");let q=[];for(let z=0;z<k.length;z++)if(q.push(L(k[z])),z<B.length)q.push(F(B[z]));return Z(Q(...q))}function m(k,B=", "){if(!Array.isArray(k))throw new W("join","DB","sql",`Expected an array of fragments or values, got ${typeof k}.`);if(k.length===0)return b;let q=k.map(F);if(V(B)){let z=[];for(let D=0;D<q.length;D++){if(D>0)z.push(B);z.push(q[D])}return Z(Q(...z))}return j(B),Z(O(q,B))}var h=/^[\s,]*$|^\s*(?:and|or)\s*$/i;function j(k){if(typeof k==="string"&&h.test(k))return;throw new W("join","DB","sql",typeof k==="string"?`A separator is written into the SQL text, so it may only be glue: whitespace, commas, or 'and' / 'or'. Got ${JSON.stringify(k)}. If that is deliberate, say so with `+"unsafeSql(...) \u2014 and never build one from anything that came from "+"outside the program.":`Expected a separator string or a fragment, got ${k===null?"null":typeof k}.`)}var b=Z(Object.freeze({text:"",binders:Object.freeze([])}));function v(k){if(typeof k!=="string")throw new W("unsafeSql","DB","sql",`Expected a string literal, got ${Array.isArray(k)?"an array":typeof k}. 'unsafeSql' is a plain call, not a tagged template \u2014 a template would `+"interpolate values into the SQL text, which is the one thing it must never do.");return Z(L(k))}function p(k,B,q="query"){if(!V(k))throw new W(q,"DB",q,`Expected a fragment built with 'sql', got ${k===null?"null":typeof k}. A plain string is not accepted here on purpose \u2014 it would be the one `+"path into the SQL text that nobody had to think about.");let z=_(k,B),D=y(z.fragment,B,{model:"DB",operation:q});return{text:D.text,values:K(D.binders)(void 0).map((H,X)=>z.jsonParameters.has(X)?C(H,q):H===null||H===void 0?H??null:B.encodeUntyped(H))}}function F(k){if(V(k))return k;return R(()=>k)}
|
|
3
|
+
export{g as og,m as pg,b as qg,v as rg,p as sg};
|
|
4
4
|
|
|
5
|
-
//# debugId=
|
|
5
|
+
//# debugId=79D9ED3604BCC25564756E2164756E21
|
|
@@ -6,6 +6,6 @@
|
|
|
6
6
|
"import type { SqlDialect } from \"./dialect\";\nimport {\n InvalidArgumentError,\n UnsupportedQueryError,\n} from \"./errors\";\nimport {\n type Fragment,\n bindValues,\n concat,\n joinFragments,\n param,\n render,\n sql as text,\n} from \"./compile/fragment\";\nimport { jsonTextParameter, retypeJsonParameters } from \"./json-param\";\n\n/**\n * SQL fragments as first-class values: `sql`, `join`, `empty`, and one door out.\n *\n * The ORM deliberately does not implement every SQL shape — `distinct`, cursor\n * pagination, window functions, recursive CTEs. That is the right call, but it\n * is only half a decision: the shapes it declines have to have somewhere to go,\n * and \"drop to raw SQL\" is not an answer if raw SQL cannot be *composed*.\n *\n * `DB.sql` — Bun's tagged template — covers a single self-contained statement,\n * and that is genuinely all it covers. The shape it cannot express is the common\n * one: a predicate list built conditionally, passed around as a value, and\n * interpolated into a larger statement.\n *\n * ```ts\n * const filters = []\n * if (q) filters.push(sql`name ilike ${`%${q}%`}`)\n * if (organizationId) filters.push(sql`\"organizationId\" = ${organizationId}`)\n *\n * const where = filters.length ? sql`where ${join(filters, \" and \")}` : empty\n * const rows = await DB.query(sql`select * from \"Product\" ${where} limit ${20}`)\n * ```\n *\n * ## This is the compiler's own `Fragment`, made public\n *\n * Not a parallel mechanism. `compile/fragment.ts` has held exactly this shape\n * since iteration 1 — text plus positional binders, composable, never\n * concatenating a value into the text — because that is what invariant 2 needs\n * internally. Reusing it means a public fragment binds by the same rule the\n * compiler's own SQL does, and it means the parameter ceiling, the placeholder\n * numbering and the dialect split are all already handled rather than\n * reimplemented one door down.\n *\n * **Placeholders are assigned at assembly, not at authoring.** SQLite writes\n * `?` and Postgres writes `$1`, `$2`, and a fragment does not know where in the\n * final statement it will land — so `sql` records a *position* and `render`\n * turns it into a placeholder once the whole statement exists. That is what lets\n * the same fragment be nested, reused twice in one statement, or built before\n * the dialect is even known.\n */\n\n/**\n * A composable piece of SQL. Its values are bound parameters, never text.\n *\n * Opaque on purpose: an application builds one with `sql`, combines it with\n * `join`, and hands it to `DB.query` / `DB.execute`. Reading `.text` off it is\n * not part of the contract — it holds parameter *markers* rather than the\n * dialect's placeholders, so it is not the statement that runs.\n */\nexport type SqlFragment = Fragment;\n\n/**\n * Every fragment this module has produced.\n *\n * **Identity, not shape, and the difference is a SQL injection.** `interpolate`\n * splices a fragment as text and binds everything else, so \"is this a fragment\"\n * decides whether a value reaches the statement or a parameter. Asking the\n * *shape* — a `text` string and a `binders` array — makes that decision\n * answerable by anything that can name two properties, and `{\"text\": \"…\",\n * \"binders\": []}` is two lines of JSON:\n *\n * ```ts\n * const body = await request.json()\n * await DB.query(sql`select \"email\" from \"User\" where \"email\" = ${body.email}`)\n * // body.email = { text: `'' union select \"password\" from \"User\"`, binders: [] }\n * // -> select \"email\" from \"User\" where \"email\" = '' union select \"password\" from \"User\"\n * ```\n *\n * That is the intended call site with the intended safe value, and it returned\n * the password column out of a statement selecting only `email`. The internal\n * `Fragment` never had the problem because nothing outside `compile/` could\n * construct one; making the type public is what turned \"text plus binders\" from\n * an implementation detail into a shape an attacker can name. `unsafeSql` is\n * built so that reaching for the escape hatch is a decision — a structural check\n * is a second, unmarked door beside it.\n *\n * A `WeakSet` the module owns cannot be forged: membership is granted only by\n * the constructors below. It registers the *returned* object rather than\n * stamping a property, because `concat` and `joinFragments` return fresh objects\n * — a marker property on the inputs would not survive them, and the version that\n * cannot drift is the one that brands what actually comes out.\n */\nconst FRAGMENTS = new WeakSet<object>();\n\nfunction brand(fragment: Fragment): SqlFragment {\n FRAGMENTS.add(fragment);\n return fragment;\n}\n\n/** Whether a value is a fragment *this module made*, so it splices rather than binds. */\nfunction isFragment(value: unknown): value is Fragment {\n return typeof value === \"object\" && value !== null && FRAGMENTS.has(value);\n}\n\n/**\n * A SQL fragment. Every `${value}` is bound as a parameter; a `${fragment}` is\n * spliced in, carrying its own parameters with it.\n *\n * ```ts\n * sql`where \"id\" = ${id}` // \"id\" = $1, with id bound\n * sql`where ${sql`\"a\" = ${1}`} and ${sql`\"b\" = ${2}`}` // nests to any depth\n * ```\n *\n * An interpolated **array** is bound as one value, not expanded — that is what\n * Postgres's `= any($1)` wants, and it is the only reading that does not depend\n * on the dialect. For a comma-separated list of placeholders, say so with\n * `join`.\n *\n * A value at a `::jsonb` cast the caller wrote is the one parameter with a type\n * behind it, and it is bound as **JSON text** so that the statement means what\n * the same statement meant under Prisma's `$executeRaw`:\n *\n * ```ts\n * sql`… set payload = payload || ${JSON.stringify(patch)}::jsonb` // merges\n * ```\n *\n * Without that the driver would JSON-encode the string and the column would\n * hold the document as a jsonb *string* — which `||` appends as an array\n * element rather than merging. `json-param.ts` has the measurements.\n */\nexport function sql(\n strings: TemplateStringsArray,\n ...values: unknown[]\n): SqlFragment {\n // A defensive check rather than a type error, because the interesting misuse\n // is `sql(userInput)` — a plain call with a string, which would otherwise\n // reach `strings.raw` as `undefined` and produce a fragment of `undefined`\n // text rather than an error. It is also the shape somebody reaches for when\n // they want the escape hatch and have not found `unsafeSql`.\n if (!Array.isArray(strings) || !(\"raw\" in (strings as object))) {\n throw new UnsupportedQueryError(\n \"sql\",\n \"DB\",\n \"sql\",\n `'sql' is a tagged template — write sql\\`select 1\\`, not sql(\"select 1\"). ` +\n `To put text that is not a value into a statement, use 'unsafeSql', ` +\n `and read what it says first.`,\n );\n }\n\n const parts: Fragment[] = [];\n\n for (let i = 0; i < strings.length; i++) {\n parts.push(text(strings[i]));\n if (i < values.length) parts.push(interpolate(values[i]));\n }\n\n return brand(concat(...parts));\n}\n\n/**\n * Fragments — or values — joined by a separator, the way `Array.join` reads.\n *\n * ```ts\n * join(filters, \" and \") // a and b and c\n * join([sql`\"a\" asc`, sql`\"b\" desc`]) // \"a\" asc, \"b\" desc\n * join(ids) // $1, $2, $3 — each bound\n * ```\n *\n * An **empty list produces `empty`**, not a separator and not a syntax error, so\n * `join` composes with a list that turned out to have nothing in it. That is the\n * case a caller forgets, and it is the one that would otherwise emit `where ` and\n * fail at the database rather than here.\n *\n * ## The separator is text, so it is not a free string\n *\n * It goes between the fragments *in the statement*, which makes it the one other\n * place a string could reach the SQL — and this module's whole claim is that\n * `unsafeSql` is **the** door. So a plain-string separator has to be glue and\n * nothing else: whitespace, commas, or a boolean connective. Anything more\n * expressive is legitimate and has to say so:\n *\n * ```ts\n * join(filters, \" and \") // fine\n * join(parts, unsafeSql(\") and (\")) // fine, and visibly a decision\n * join(ids, request.query.sep) // refused\n * ```\n *\n * A **blocklist would not do**, which is why this is an allowlist. The obvious\n * one — reject quotes, semicolons and comment markers — lets this through:\n *\n * join([1, 2], \") or 1=1 union select password from Users where 1=(1\")\n *\n * No quote, no `--`, still an injection. There is no sound way to say \"this\n * arbitrary text is safe glue\", so the rule is that glue is a small closed set\n * and everything else is a fragment somebody built on purpose.\n */\nexport function join(\n values: readonly unknown[],\n separator: string | SqlFragment = \", \",\n): SqlFragment {\n if (!Array.isArray(values)) {\n throw new InvalidArgumentError(\n \"join\",\n \"DB\",\n \"sql\",\n `Expected an array of fragments or values, got ${typeof values}.`,\n );\n }\n if (values.length === 0) return empty;\n\n const parts = values.map(interpolate);\n\n if (isFragment(separator)) {\n const woven: Fragment[] = [];\n for (let i = 0; i < parts.length; i++) {\n if (i > 0) woven.push(separator);\n woven.push(parts[i]);\n }\n return brand(concat(...woven));\n }\n\n assertGlue(separator);\n return brand(joinFragments(parts, separator));\n}\n\n/**\n * Whitespace and commas, or a boolean connective surrounded by whitespace.\n *\n * Deliberately small. Every separator a composed statement actually needs is in\n * here — `\", \"`, `\" and \"`, `\" or \"`, `\" \"` — and everything outside it is\n * expressive enough to change what the statement *does*, which is the property\n * that makes it a `unsafeSql` decision rather than a string argument.\n */\nconst GLUE = /^[\\s,]*$|^\\s*(?:and|or)\\s*$/i;\n\nfunction assertGlue(separator: unknown): void {\n if (typeof separator === \"string\" && GLUE.test(separator)) return;\n\n throw new InvalidArgumentError(\n \"join\",\n \"DB\",\n \"sql\",\n typeof separator === \"string\"\n ? `A separator is written into the SQL text, so it may only be glue: ` +\n `whitespace, commas, or 'and' / 'or'. Got ` +\n `${JSON.stringify(separator)}. If that is deliberate, say so with ` +\n `unsafeSql(...) — and never build one from anything that came from ` +\n `outside the program.`\n : `Expected a separator string or a fragment, got ${\n separator === null ? \"null\" : typeof separator\n }.`,\n );\n}\n\n/**\n * The fragment that contributes nothing.\n *\n * The point of it is that `where ${empty}` and `where ${filter}` are the same\n * expression — a conditional predicate is a value, not a branch around the\n * statement. Frozen, because it is shared by every caller and a fragment is read\n * as immutable everywhere else.\n */\nexport const empty: SqlFragment = brand(\n Object.freeze({ text: \"\", binders: Object.freeze([]) as [] }),\n);\n\n/**\n * **Text straight into the SQL, with no parameter around it.** The one door in\n * this ORM through which a value reaches the statement text.\n *\n * Everything else in the compiler exists to make this impossible — identifiers\n * come from the generated schema, values are bound — so reaching for it should\n * feel like reaching for it. **Never give it a value that came from a request, a\n * form, a URL, a header, a queue payload or a database row.** There is no\n * escaping here and there will not be: escaping that is \"usually right\" is worse\n * than none, because it survives review.\n *\n * ## Why it exists at all, since that is the fair question\n *\n * Plan quality can depend on *not* parameterising. A partial index declared as\n *\n * ```sql\n * create index … on \"Job\" (…) where \"name\" is distinct from 'reaper'\n * ```\n *\n * is only usable if the planner can prove the query's predicate matches the\n * index's. A bound parameter is opaque at plan time, so `where \"name\" is\n * distinct from $1` does not match — and the query falls back to a sequential\n * scan over the whole table. The constant has to be *in the text*:\n *\n * ```ts\n * const REAPER = unsafeSql(`'reaper'`) // a literal in this file, never input\n * await DB.query(sql`\n * select … from \"Job\" where \"name\" is distinct from ${REAPER} …\n * `)\n * ```\n *\n * A builder with no escape hatch cannot express that at any price, and the\n * workaround — hand-writing the whole statement — loses composition for every\n * other part of it.\n *\n * The same applies to the other things that cannot be parameters in SQL:\n * identifiers, a sort direction, a table name chosen from a fixed set in code.\n * All of them share the rule above — the value is written in the source file, or\n * chosen from a set written in the source file, never passed in.\n */\nexport function unsafeSql(literal: string): SqlFragment {\n if (typeof literal !== \"string\") {\n throw new InvalidArgumentError(\n \"unsafeSql\",\n \"DB\",\n \"sql\",\n `Expected a string literal, got ${\n Array.isArray(literal) ? \"an array\" : typeof literal\n }. 'unsafeSql' is a plain call, not a tagged template — a template would ` +\n `interpolate values into the SQL text, which is the one thing it must ` +\n `never do.`,\n );\n }\n return brand(text(literal));\n}\n\n/**\n * A fragment as the statement a driver can run: the dialect's placeholders in\n * the text, and the values in the order they appear.\n *\n * Separate from the executing, and exported, because it is the half that is a\n * pure function of `(fragment, dialect)` — so a test can assert what a\n * composition emits on both dialects without a database anywhere near it, which\n * is exactly how the rest of the compiler is tested.\n *\n * `render` also applies the parameter ceiling here, which matters more for a\n * hand-built fragment than for a compiled plan: `join(ids)` over a\n * request-derived list is one placeholder per element on SQLite, and 40 000 of\n * them is a driver error rather than a clear one.\n */\nexport function renderFragment(\n fragment: SqlFragment,\n dialect: SqlDialect,\n operation = \"query\",\n): { text: string; values: unknown[] } {\n if (!isFragment(fragment)) {\n throw new InvalidArgumentError(\n operation,\n \"DB\",\n operation,\n `Expected a fragment built with 'sql', got ${\n fragment === null ? \"null\" : typeof fragment\n }. A plain string is not accepted here on purpose — it would be the one ` +\n `path into the SQL text that nobody had to think about.`,\n );\n }\n\n // The one thing a raw parameter can be *told* about its type: a `::jsonb` the\n // caller wrote onto their own placeholder. Where there is one, the parameter\n // is retyped through `text` and its value serialised, because Bun otherwise\n // JSON-encodes a string bound to a `jsonb` parameter and stores the document\n // as a jsonb *string* where Prisma stored the object. See `json-param.ts` —\n // the mechanism, the measurements, and why a string is not serialised here\n // while `fieldParam` serialises one.\n //\n // The dialect is passed because this is not universal, and the reason is\n // narrower than it looks: `::` is Postgres-only syntax, but `cast(? as json)`\n // *parses and runs* on SQLite, where it means NUMERIC affinity — so retyping\n // it would rewrite a working statement into `cast(? as text)::json`, which\n // SQLite cannot parse. `typesParametersFromStatement` is false there.\n const json = retypeJsonParameters(fragment, dialect);\n\n const rendered = render(json.fragment, dialect, { model: \"DB\", operation });\n return {\n text: rendered.text,\n // `encodeUntyped` and not `encode`: there is no field here to ask, which is\n // the whole difference between a fragment's parameters and a compiled\n // plan's. It normalises the two JavaScript types whose SQL form the ORM has\n // already decided — a `Date` and a boolean — so a raw statement compares\n // against ORM-written rows on both dialects rather than only on Postgres.\n values: bindValues(rendered.binders)(undefined).map((value, index) =>\n json.jsonParameters.has(index)\n ? jsonTextParameter(value, operation)\n : value === null || value === undefined\n ? (value ?? null)\n : dialect.encodeUntyped(value),\n ),\n };\n}\n\n/**\n * One interpolated slot: a fragment splices, anything else binds.\n *\n * The binder ignores both its arguments. A compiled plan's binders read the\n * *call's* argument tree, because one plan serves many calls; a fragment is\n * built per call and closes over the value it was given, which is the whole\n * difference between the compiler's fragments and these.\n */\nfunction interpolate(value: unknown): Fragment {\n if (isFragment(value)) return value;\n return param(() => value);\n}\n"
|
|
7
7
|
],
|
|
8
8
|
"mappings": "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",
|
|
9
|
-
"debugId": "
|
|
9
|
+
"debugId": "79D9ED3604BCC25564756E2164756E21",
|
|
10
10
|
"names": []
|
|
11
11
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
import{
|
|
2
|
+
import{kk as I,lk as N,mk as A,nk as x,ok as k}from"./chunk-xe2pm36q.js";import{realpathSync as r}from"fs";import{relative as t,sep as n}from"path";var g=44,p=59,T="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",b=new Uint8Array(64),l=new Uint8Array(128);for(let z=0;z<T.length;z++){let J=T.charCodeAt(z);b[z]=J,l[J]=z}function q(z,J,K){let X=J-K;X=X<0?-X<<1|1:X<<1;do{let Z=X&31;if(X>>>=5,X>0)Z|=32;z.write(b[Z])}while(X>0);return J}var v=16384,R=typeof TextDecoder<"u"?new TextDecoder:typeof Buffer<"u"?{decode(z){return Buffer.from(z.buffer,z.byteOffset,z.byteLength).toString()}}:{decode(z){let J="";for(let K=0;K<z.length;K++)J+=String.fromCharCode(z[K]);return J}},h=class{constructor(){this.pos=0,this.out="",this.buffer=new Uint8Array(v)}write(z){let{buffer:J}=this;if(J[this.pos++]=z,this.pos===v)this.out+=R.decode(J),this.pos=0}flush(){let{buffer:z,out:J,pos:K}=this;return K>0?J+R.decode(z.subarray(0,K)):J}};function L(z){let J=new h,K=0,X=0,Z=0,$=0;for(let W=0;W<z.length;W++){let F=z[W];if(W>0)J.write(p);if(F.length===0)continue;let G=0;for(let H=0;H<F.length;H++){let Q=F[H];if(H>0)J.write(g);if(G=q(J,Q[0],G),Q.length===1)continue;if(K=q(J,Q[1],K),X=q(J,Q[2],X),Z=q(J,Q[3],Z),Q.length===4)continue;$=q(J,Q[4],$)}}return J.flush()}class P{constructor(z){this.bits=z instanceof P?z.bits.slice():[]}add(z){this.bits[z>>5]|=1<<(z&31)}has(z){return!!(this.bits[z>>5]&1<<(z&31))}}class j{constructor(z,J,K){this.start=z,this.end=J,this.original=K,this.intro="",this.outro="",this.content=K,this.storeName=!1,this.edited=!1,this.previous=null,this.next=null}appendLeft(z){this.outro+=z}appendRight(z){this.intro=this.intro+z}clone(){let z=new j(this.start,this.end,this.original);return z.intro=this.intro,z.outro=this.outro,z.content=this.content,z.storeName=this.storeName,z.edited=this.edited,z}contains(z){return this.start<z&&z<this.end}eachNext(z){let J=this;while(J)z(J),J=J.next}eachPrevious(z){let J=this;while(J)z(J),J=J.previous}edit(z,J,K){if(this.content=z,!K)this.intro="",this.outro="";return this.storeName=J,this.edited=!0,this}prependLeft(z){this.outro=z+this.outro}prependRight(z){this.intro=z+this.intro}reset(){if(this.intro="",this.outro="",this.edited)this.content=this.original,this.storeName=!1,this.edited=!1}split(z){let J=z-this.start,K=this.original.slice(0,J),X=this.original.slice(J);this.original=K;let Z=new j(z,this.end,X);if(Z.outro=this.outro,this.outro="",this.end=z,this.edited)Z.edit("",!1),this.content="";else this.content=K;if(Z.next=this.next,Z.next)Z.next.previous=Z;return Z.previous=this,this.next=Z,Z}toString(){return this.intro+this.content+this.outro}trimEnd(z){if(this.outro=this.outro.replace(z,""),this.outro.length)return!0;let J=this.content.replace(z,"");if(J.length){if(J!==this.content){if(this.split(this.start+J.length).edit("",void 0,!0),this.edited)this.edit(J,this.storeName,!0)}return!0}else if(this.edit("",void 0,!0),this.intro=this.intro.replace(z,""),this.intro.length)return!0}trimStart(z){if(this.intro=this.intro.replace(z,""),this.intro.length)return!0;let J=this.content.replace(z,"");if(J.length){if(J!==this.content){let K=this.split(this.end-J.length);if(this.edited)K.edit(J,this.storeName,!0);this.edit("",void 0,!0)}return!0}else if(this.edit("",void 0,!0),this.outro=this.outro.replace(z,""),this.outro.length)return!0}}function u(){if(typeof globalThis<"u"&&typeof globalThis.btoa==="function")return(z)=>globalThis.btoa(unescape(encodeURIComponent(z)));else if(typeof Buffer==="function")return(z)=>Buffer.from(z,"utf-8").toString("base64");else return()=>{throw Error("Unsupported environment: `window.btoa` or `Buffer` should be supported.")}}var d=u();class w{constructor(z){if(this.version=3,this.file=z.file,this.sources=z.sources,this.sourcesContent=z.sourcesContent,this.names=z.names,this.mappings=L(z.mappings),typeof z.x_google_ignoreList<"u")this.x_google_ignoreList=z.x_google_ignoreList;if(typeof z.debugId<"u")this.debugId=z.debugId}toString(){return JSON.stringify(this)}toUrl(){return"data:application/json;charset=utf-8;base64,"+d(this.toString())}}function a(z){let J=z.split(`
|
|
3
3
|
`),K=J.filter(($)=>/^\t+/.test($)),X=J.filter(($)=>/^ {2,}/.test($));if(K.length===0&&X.length===0)return null;if(K.length>=X.length)return"\t";let Z=X.reduce(($,W)=>{let F=/^ +/.exec(W)[0].length;return Math.min(F,$)},1/0);return Array(Z+1).join(" ")}function o(z,J){let K=z.split(/[/\\]/),X=J.split(/[/\\]/);K.pop();while(K[0]===X[0])K.shift(),X.shift();if(K.length){let Z=K.length;while(Z--)K[Z]=".."}return K.concat(X).join("/")}var s=Object.prototype.toString;function c(z){return s.call(z)==="[object Object]"}function f(z){let J=z.split(`
|
|
4
4
|
`),K=[];for(let X=0,Z=0;X<J.length;X++)K.push(Z),Z+=J[X].length+1;return function(Z){let $=0,W=K.length;while($<W){let H=$+W>>1;if(Z<K[H])W=H;else $=H+1}let F=$-1,G=Z-K[F];return{line:F,column:G}}}var i=/\w/;class C{constructor(z){this.hires=z,this.generatedCodeLine=0,this.generatedCodeColumn=0,this.raw=[],this.rawSegments=this.raw[this.generatedCodeLine]=[],this.pending=null}addEdit(z,J,K,X){if(J.length){let Z=J.length-1,$=J.indexOf(`
|
|
5
5
|
`,0),W=-1;while($>=0&&Z>$){let G=[this.generatedCodeColumn,z,K.line,K.column];if(X>=0)G.push(X);this.rawSegments.push(G),this.generatedCodeLine+=1,this.raw[this.generatedCodeLine]=this.rawSegments=[],this.generatedCodeColumn=0,W=$,$=J.indexOf(`
|
|
@@ -13,4 +13,4 @@ import{rj as I,sj as N,tj as A,uj as x,vj as k}from"./chunk-75ewjc4a.js";import{
|
|
|
13
13
|
`),{code:F.toString(),map:F.generateMap({hires:!0})}}}}
|
|
14
14
|
export{B as za,Gz as Aa};
|
|
15
15
|
|
|
16
|
-
//# debugId=
|
|
16
|
+
//# debugId=37FDE64BC488968A64756E2164756E21
|
|
@@ -7,6 +7,6 @@
|
|
|
7
7
|
"import { encode } from '@jridgewell/sourcemap-codec';\n\nclass BitSet {\n\tconstructor(arg) {\n\t\tthis.bits = arg instanceof BitSet ? arg.bits.slice() : [];\n\t}\n\n\tadd(n) {\n\t\tthis.bits[n >> 5] |= 1 << (n & 31);\n\t}\n\n\thas(n) {\n\t\treturn !!(this.bits[n >> 5] & (1 << (n & 31)));\n\t}\n}\n\nclass Chunk {\n\tconstructor(start, end, content) {\n\t\tthis.start = start;\n\t\tthis.end = end;\n\t\tthis.original = content;\n\n\t\tthis.intro = '';\n\t\tthis.outro = '';\n\n\t\tthis.content = content;\n\t\tthis.storeName = false;\n\t\tthis.edited = false;\n\n\t\t{\n\t\t\tthis.previous = null;\n\t\t\tthis.next = null;\n\t\t}\n\t}\n\n\tappendLeft(content) {\n\t\tthis.outro += content;\n\t}\n\n\tappendRight(content) {\n\t\tthis.intro = this.intro + content;\n\t}\n\n\tclone() {\n\t\tconst chunk = new Chunk(this.start, this.end, this.original);\n\n\t\tchunk.intro = this.intro;\n\t\tchunk.outro = this.outro;\n\t\tchunk.content = this.content;\n\t\tchunk.storeName = this.storeName;\n\t\tchunk.edited = this.edited;\n\n\t\treturn chunk;\n\t}\n\n\tcontains(index) {\n\t\treturn this.start < index && index < this.end;\n\t}\n\n\teachNext(fn) {\n\t\tlet chunk = this;\n\t\twhile (chunk) {\n\t\t\tfn(chunk);\n\t\t\tchunk = chunk.next;\n\t\t}\n\t}\n\n\teachPrevious(fn) {\n\t\tlet chunk = this;\n\t\twhile (chunk) {\n\t\t\tfn(chunk);\n\t\t\tchunk = chunk.previous;\n\t\t}\n\t}\n\n\tedit(content, storeName, contentOnly) {\n\t\tthis.content = content;\n\t\tif (!contentOnly) {\n\t\t\tthis.intro = '';\n\t\t\tthis.outro = '';\n\t\t}\n\t\tthis.storeName = storeName;\n\n\t\tthis.edited = true;\n\n\t\treturn this;\n\t}\n\n\tprependLeft(content) {\n\t\tthis.outro = content + this.outro;\n\t}\n\n\tprependRight(content) {\n\t\tthis.intro = content + this.intro;\n\t}\n\n\treset() {\n\t\tthis.intro = '';\n\t\tthis.outro = '';\n\t\tif (this.edited) {\n\t\t\tthis.content = this.original;\n\t\t\tthis.storeName = false;\n\t\t\tthis.edited = false;\n\t\t}\n\t}\n\n\tsplit(index) {\n\t\tconst sliceIndex = index - this.start;\n\n\t\tconst originalBefore = this.original.slice(0, sliceIndex);\n\t\tconst originalAfter = this.original.slice(sliceIndex);\n\n\t\tthis.original = originalBefore;\n\n\t\tconst newChunk = new Chunk(index, this.end, originalAfter);\n\t\tnewChunk.outro = this.outro;\n\t\tthis.outro = '';\n\n\t\tthis.end = index;\n\n\t\tif (this.edited) {\n\t\t\t// after split we should save the edit content record into the correct chunk\n\t\t\t// to make sure sourcemap correct\n\t\t\t// For example:\n\t\t\t// ' test'.trim()\n\t\t\t// split -> ' ' + 'test'\n\t\t\t// ✔️ edit -> '' + 'test'\n\t\t\t// ✖️ edit -> 'test' + ''\n\t\t\t// TODO is this block necessary?...\n\t\t\tnewChunk.edit('', false);\n\t\t\tthis.content = '';\n\t\t} else {\n\t\t\tthis.content = originalBefore;\n\t\t}\n\n\t\tnewChunk.next = this.next;\n\t\tif (newChunk.next) newChunk.next.previous = newChunk;\n\t\tnewChunk.previous = this;\n\t\tthis.next = newChunk;\n\n\t\treturn newChunk;\n\t}\n\n\ttoString() {\n\t\treturn this.intro + this.content + this.outro;\n\t}\n\n\ttrimEnd(rx) {\n\t\tthis.outro = this.outro.replace(rx, '');\n\t\tif (this.outro.length) return true;\n\n\t\tconst trimmed = this.content.replace(rx, '');\n\n\t\tif (trimmed.length) {\n\t\t\tif (trimmed !== this.content) {\n\t\t\t\tthis.split(this.start + trimmed.length).edit('', undefined, true);\n\t\t\t\tif (this.edited) {\n\t\t\t\t\t// save the change, if it has been edited\n\t\t\t\t\tthis.edit(trimmed, this.storeName, true);\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn true;\n\t\t} else {\n\t\t\tthis.edit('', undefined, true);\n\n\t\t\tthis.intro = this.intro.replace(rx, '');\n\t\t\tif (this.intro.length) return true;\n\t\t}\n\t}\n\n\ttrimStart(rx) {\n\t\tthis.intro = this.intro.replace(rx, '');\n\t\tif (this.intro.length) return true;\n\n\t\tconst trimmed = this.content.replace(rx, '');\n\n\t\tif (trimmed.length) {\n\t\t\tif (trimmed !== this.content) {\n\t\t\t\tconst newChunk = this.split(this.end - trimmed.length);\n\t\t\t\tif (this.edited) {\n\t\t\t\t\t// save the change, if it has been edited\n\t\t\t\t\tnewChunk.edit(trimmed, this.storeName, true);\n\t\t\t\t}\n\t\t\t\tthis.edit('', undefined, true);\n\t\t\t}\n\t\t\treturn true;\n\t\t} else {\n\t\t\tthis.edit('', undefined, true);\n\n\t\t\tthis.outro = this.outro.replace(rx, '');\n\t\t\tif (this.outro.length) return true;\n\t\t}\n\t}\n}\n\nfunction getBtoa() {\n\tif (typeof globalThis !== 'undefined' && typeof globalThis.btoa === 'function') {\n\t\treturn (str) => globalThis.btoa(unescape(encodeURIComponent(str)));\n\t} else if (typeof Buffer === 'function') {\n\t\treturn (str) => Buffer.from(str, 'utf-8').toString('base64');\n\t} else {\n\t\treturn () => {\n\t\t\tthrow new Error('Unsupported environment: `window.btoa` or `Buffer` should be supported.');\n\t\t};\n\t}\n}\n\nconst btoa = /*#__PURE__*/ getBtoa();\n\nclass SourceMap {\n\tconstructor(properties) {\n\t\tthis.version = 3;\n\t\tthis.file = properties.file;\n\t\tthis.sources = properties.sources;\n\t\tthis.sourcesContent = properties.sourcesContent;\n\t\tthis.names = properties.names;\n\t\tthis.mappings = encode(properties.mappings);\n\t\tif (typeof properties.x_google_ignoreList !== 'undefined') {\n\t\t\tthis.x_google_ignoreList = properties.x_google_ignoreList;\n\t\t}\n\t\tif (typeof properties.debugId !== 'undefined') {\n\t\t\tthis.debugId = properties.debugId;\n\t\t}\n\t}\n\n\ttoString() {\n\t\treturn JSON.stringify(this);\n\t}\n\n\ttoUrl() {\n\t\treturn 'data:application/json;charset=utf-8;base64,' + btoa(this.toString());\n\t}\n}\n\nfunction guessIndent(code) {\n\tconst lines = code.split('\\n');\n\n\tconst tabbed = lines.filter((line) => /^\\t+/.test(line));\n\tconst spaced = lines.filter((line) => /^ {2,}/.test(line));\n\n\tif (tabbed.length === 0 && spaced.length === 0) {\n\t\treturn null;\n\t}\n\n\t// More lines tabbed than spaced? Assume tabs, and\n\t// default to tabs in the case of a tie (or nothing\n\t// to go on)\n\tif (tabbed.length >= spaced.length) {\n\t\treturn '\\t';\n\t}\n\n\t// Otherwise, we need to guess the multiple\n\tconst min = spaced.reduce((previous, current) => {\n\t\tconst numSpaces = /^ +/.exec(current)[0].length;\n\t\treturn Math.min(numSpaces, previous);\n\t}, Infinity);\n\n\treturn new Array(min + 1).join(' ');\n}\n\nfunction getRelativePath(from, to) {\n\tconst fromParts = from.split(/[/\\\\]/);\n\tconst toParts = to.split(/[/\\\\]/);\n\n\tfromParts.pop(); // get dirname\n\n\twhile (fromParts[0] === toParts[0]) {\n\t\tfromParts.shift();\n\t\ttoParts.shift();\n\t}\n\n\tif (fromParts.length) {\n\t\tlet i = fromParts.length;\n\t\twhile (i--) fromParts[i] = '..';\n\t}\n\n\treturn fromParts.concat(toParts).join('/');\n}\n\nconst toString = Object.prototype.toString;\n\nfunction isObject(thing) {\n\treturn toString.call(thing) === '[object Object]';\n}\n\nfunction getLocator(source) {\n\tconst originalLines = source.split('\\n');\n\tconst lineOffsets = [];\n\n\tfor (let i = 0, pos = 0; i < originalLines.length; i++) {\n\t\tlineOffsets.push(pos);\n\t\tpos += originalLines[i].length + 1;\n\t}\n\n\treturn function locate(index) {\n\t\tlet i = 0;\n\t\tlet j = lineOffsets.length;\n\t\twhile (i < j) {\n\t\t\tconst m = (i + j) >> 1;\n\t\t\tif (index < lineOffsets[m]) {\n\t\t\t\tj = m;\n\t\t\t} else {\n\t\t\t\ti = m + 1;\n\t\t\t}\n\t\t}\n\t\tconst line = i - 1;\n\t\tconst column = index - lineOffsets[line];\n\t\treturn { line, column };\n\t};\n}\n\nconst wordRegex = /\\w/;\n\nclass Mappings {\n\tconstructor(hires) {\n\t\tthis.hires = hires;\n\t\tthis.generatedCodeLine = 0;\n\t\tthis.generatedCodeColumn = 0;\n\t\tthis.raw = [];\n\t\tthis.rawSegments = this.raw[this.generatedCodeLine] = [];\n\t\tthis.pending = null;\n\t}\n\n\taddEdit(sourceIndex, content, loc, nameIndex) {\n\t\tif (content.length) {\n\t\t\tconst contentLengthMinusOne = content.length - 1;\n\t\t\tlet contentLineEnd = content.indexOf('\\n', 0);\n\t\t\tlet previousContentLineEnd = -1;\n\t\t\t// Loop through each line in the content and add a segment, but stop if the last line is empty,\n\t\t\t// else code afterwards would fill one line too many\n\t\t\twhile (contentLineEnd >= 0 && contentLengthMinusOne > contentLineEnd) {\n\t\t\t\tconst segment = [this.generatedCodeColumn, sourceIndex, loc.line, loc.column];\n\t\t\t\tif (nameIndex >= 0) {\n\t\t\t\t\tsegment.push(nameIndex);\n\t\t\t\t}\n\t\t\t\tthis.rawSegments.push(segment);\n\n\t\t\t\tthis.generatedCodeLine += 1;\n\t\t\t\tthis.raw[this.generatedCodeLine] = this.rawSegments = [];\n\t\t\t\tthis.generatedCodeColumn = 0;\n\n\t\t\t\tpreviousContentLineEnd = contentLineEnd;\n\t\t\t\tcontentLineEnd = content.indexOf('\\n', contentLineEnd + 1);\n\t\t\t}\n\n\t\t\tconst segment = [this.generatedCodeColumn, sourceIndex, loc.line, loc.column];\n\t\t\tif (nameIndex >= 0) {\n\t\t\t\tsegment.push(nameIndex);\n\t\t\t}\n\t\t\tthis.rawSegments.push(segment);\n\n\t\t\tthis.advance(content.slice(previousContentLineEnd + 1));\n\t\t} else if (this.pending) {\n\t\t\tthis.rawSegments.push(this.pending);\n\t\t\tthis.advance(content);\n\t\t}\n\n\t\tthis.pending = null;\n\t}\n\n\taddUneditedChunk(sourceIndex, chunk, original, loc, sourcemapLocations) {\n\t\tlet originalCharIndex = chunk.start;\n\t\tlet first = true;\n\t\t// when iterating each char, check if it's in a word boundary\n\t\tlet charInHiresBoundary = false;\n\n\t\twhile (originalCharIndex < chunk.end) {\n\t\t\tif (original[originalCharIndex] === '\\n') {\n\t\t\t\tloc.line += 1;\n\t\t\t\tloc.column = 0;\n\t\t\t\tthis.generatedCodeLine += 1;\n\t\t\t\tthis.raw[this.generatedCodeLine] = this.rawSegments = [];\n\t\t\t\tthis.generatedCodeColumn = 0;\n\t\t\t\tfirst = true;\n\t\t\t\tcharInHiresBoundary = false;\n\t\t\t} else {\n\t\t\t\tif (this.hires || first || sourcemapLocations.has(originalCharIndex)) {\n\t\t\t\t\tconst segment = [this.generatedCodeColumn, sourceIndex, loc.line, loc.column];\n\n\t\t\t\t\tif (this.hires === 'boundary') {\n\t\t\t\t\t\t// in hires \"boundary\", group segments per word boundary than per char\n\t\t\t\t\t\tif (wordRegex.test(original[originalCharIndex])) {\n\t\t\t\t\t\t\t// for first char in the boundary found, start the boundary by pushing a segment\n\t\t\t\t\t\t\tif (!charInHiresBoundary) {\n\t\t\t\t\t\t\t\tthis.rawSegments.push(segment);\n\t\t\t\t\t\t\t\tcharInHiresBoundary = true;\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t// for non-word char, end the boundary by pushing a segment\n\t\t\t\t\t\t\tthis.rawSegments.push(segment);\n\t\t\t\t\t\t\tcharInHiresBoundary = false;\n\t\t\t\t\t\t}\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis.rawSegments.push(segment);\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tloc.column += 1;\n\t\t\t\tthis.generatedCodeColumn += 1;\n\t\t\t\tfirst = false;\n\t\t\t}\n\n\t\t\toriginalCharIndex += 1;\n\t\t}\n\n\t\tthis.pending = null;\n\t}\n\n\tadvance(str) {\n\t\tif (!str) return;\n\n\t\tconst lines = str.split('\\n');\n\n\t\tif (lines.length > 1) {\n\t\t\tfor (let i = 0; i < lines.length - 1; i++) {\n\t\t\t\tthis.generatedCodeLine++;\n\t\t\t\tthis.raw[this.generatedCodeLine] = this.rawSegments = [];\n\t\t\t}\n\t\t\tthis.generatedCodeColumn = 0;\n\t\t}\n\n\t\tthis.generatedCodeColumn += lines[lines.length - 1].length;\n\t}\n}\n\nconst n = '\\n';\n\nconst warned = {\n\tinsertLeft: false,\n\tinsertRight: false,\n\tstoreName: false,\n};\n\nclass MagicString {\n\tconstructor(string, options = {}) {\n\t\tconst chunk = new Chunk(0, string.length, string);\n\n\t\tObject.defineProperties(this, {\n\t\t\toriginal: { writable: true, value: string },\n\t\t\toutro: { writable: true, value: '' },\n\t\t\tintro: { writable: true, value: '' },\n\t\t\tfirstChunk: { writable: true, value: chunk },\n\t\t\tlastChunk: { writable: true, value: chunk },\n\t\t\tlastSearchedChunk: { writable: true, value: chunk },\n\t\t\tbyStart: { writable: true, value: {} },\n\t\t\tbyEnd: { writable: true, value: {} },\n\t\t\tfilename: { writable: true, value: options.filename },\n\t\t\tindentExclusionRanges: { writable: true, value: options.indentExclusionRanges },\n\t\t\tsourcemapLocations: { writable: true, value: new BitSet() },\n\t\t\tstoredNames: { writable: true, value: {} },\n\t\t\tindentStr: { writable: true, value: undefined },\n\t\t\tignoreList: { writable: true, value: options.ignoreList },\n\t\t\toffset: { writable: true, value: options.offset || 0 },\n\t\t});\n\n\t\tthis.byStart[0] = chunk;\n\t\tthis.byEnd[string.length] = chunk;\n\t}\n\n\taddSourcemapLocation(char) {\n\t\tthis.sourcemapLocations.add(char);\n\t}\n\n\tappend(content) {\n\t\tif (typeof content !== 'string') throw new TypeError('outro content must be a string');\n\n\t\tthis.outro += content;\n\t\treturn this;\n\t}\n\n\tappendLeft(index, content) {\n\t\tindex = index + this.offset;\n\n\t\tif (typeof content !== 'string') throw new TypeError('inserted content must be a string');\n\n\t\tthis._split(index);\n\n\t\tconst chunk = this.byEnd[index];\n\n\t\tif (chunk) {\n\t\t\tchunk.appendLeft(content);\n\t\t} else {\n\t\t\tthis.intro += content;\n\t\t}\n\t\treturn this;\n\t}\n\n\tappendRight(index, content) {\n\t\tindex = index + this.offset;\n\n\t\tif (typeof content !== 'string') throw new TypeError('inserted content must be a string');\n\n\t\tthis._split(index);\n\n\t\tconst chunk = this.byStart[index];\n\n\t\tif (chunk) {\n\t\t\tchunk.appendRight(content);\n\t\t} else {\n\t\t\tthis.outro += content;\n\t\t}\n\t\treturn this;\n\t}\n\n\tclone() {\n\t\tconst cloned = new MagicString(this.original, { filename: this.filename, offset: this.offset });\n\n\t\tlet originalChunk = this.firstChunk;\n\t\tlet clonedChunk = (cloned.firstChunk = cloned.lastSearchedChunk = originalChunk.clone());\n\n\t\twhile (originalChunk) {\n\t\t\tcloned.byStart[clonedChunk.start] = clonedChunk;\n\t\t\tcloned.byEnd[clonedChunk.end] = clonedChunk;\n\n\t\t\tconst nextOriginalChunk = originalChunk.next;\n\t\t\tconst nextClonedChunk = nextOriginalChunk && nextOriginalChunk.clone();\n\n\t\t\tif (nextClonedChunk) {\n\t\t\t\tclonedChunk.next = nextClonedChunk;\n\t\t\t\tnextClonedChunk.previous = clonedChunk;\n\n\t\t\t\tclonedChunk = nextClonedChunk;\n\t\t\t}\n\n\t\t\toriginalChunk = nextOriginalChunk;\n\t\t}\n\n\t\tcloned.lastChunk = clonedChunk;\n\n\t\tif (this.indentExclusionRanges) {\n\t\t\tcloned.indentExclusionRanges = this.indentExclusionRanges.slice();\n\t\t}\n\n\t\tcloned.sourcemapLocations = new BitSet(this.sourcemapLocations);\n\n\t\tcloned.intro = this.intro;\n\t\tcloned.outro = this.outro;\n\n\t\treturn cloned;\n\t}\n\n\tgenerateDecodedMap(options) {\n\t\toptions = options || {};\n\n\t\tconst sourceIndex = 0;\n\t\tconst names = Object.keys(this.storedNames);\n\t\tconst mappings = new Mappings(options.hires);\n\n\t\tconst locate = getLocator(this.original);\n\n\t\tif (this.intro) {\n\t\t\tmappings.advance(this.intro);\n\t\t}\n\n\t\tthis.firstChunk.eachNext((chunk) => {\n\t\t\tconst loc = locate(chunk.start);\n\n\t\t\tif (chunk.intro.length) mappings.advance(chunk.intro);\n\n\t\t\tif (chunk.edited) {\n\t\t\t\tmappings.addEdit(\n\t\t\t\t\tsourceIndex,\n\t\t\t\t\tchunk.content,\n\t\t\t\t\tloc,\n\t\t\t\t\tchunk.storeName ? names.indexOf(chunk.original) : -1,\n\t\t\t\t);\n\t\t\t} else {\n\t\t\t\tmappings.addUneditedChunk(sourceIndex, chunk, this.original, loc, this.sourcemapLocations);\n\t\t\t}\n\n\t\t\tif (chunk.outro.length) mappings.advance(chunk.outro);\n\t\t});\n\n\t\tif (this.outro) {\n\t\t\tmappings.advance(this.outro);\n\t\t}\n\n\t\treturn {\n\t\t\tfile: options.file ? options.file.split(/[/\\\\]/).pop() : undefined,\n\t\t\tsources: [\n\t\t\t\toptions.source ? getRelativePath(options.file || '', options.source) : options.file || '',\n\t\t\t],\n\t\t\tsourcesContent: options.includeContent ? [this.original] : undefined,\n\t\t\tnames,\n\t\t\tmappings: mappings.raw,\n\t\t\tx_google_ignoreList: this.ignoreList ? [sourceIndex] : undefined,\n\t\t};\n\t}\n\n\tgenerateMap(options) {\n\t\treturn new SourceMap(this.generateDecodedMap(options));\n\t}\n\n\t_ensureindentStr() {\n\t\tif (this.indentStr === undefined) {\n\t\t\tthis.indentStr = guessIndent(this.original);\n\t\t}\n\t}\n\n\t_getRawIndentString() {\n\t\tthis._ensureindentStr();\n\t\treturn this.indentStr;\n\t}\n\n\tgetIndentString() {\n\t\tthis._ensureindentStr();\n\t\treturn this.indentStr === null ? '\\t' : this.indentStr;\n\t}\n\n\tindent(indentStr, options) {\n\t\tconst pattern = /^[^\\r\\n]/gm;\n\n\t\tif (isObject(indentStr)) {\n\t\t\toptions = indentStr;\n\t\t\tindentStr = undefined;\n\t\t}\n\n\t\tif (indentStr === undefined) {\n\t\t\tthis._ensureindentStr();\n\t\t\tindentStr = this.indentStr || '\\t';\n\t\t}\n\n\t\tif (indentStr === '') return this; // noop\n\n\t\toptions = options || {};\n\n\t\t// Process exclusion ranges\n\t\tconst isExcluded = {};\n\n\t\tif (options.exclude) {\n\t\t\tconst exclusions =\n\t\t\t\ttypeof options.exclude[0] === 'number' ? [options.exclude] : options.exclude;\n\t\t\texclusions.forEach((exclusion) => {\n\t\t\t\tfor (let i = exclusion[0]; i < exclusion[1]; i += 1) {\n\t\t\t\t\tisExcluded[i] = true;\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\n\t\tlet shouldIndentNextCharacter = options.indentStart !== false;\n\t\tconst replacer = (match) => {\n\t\t\tif (shouldIndentNextCharacter) return `${indentStr}${match}`;\n\t\t\tshouldIndentNextCharacter = true;\n\t\t\treturn match;\n\t\t};\n\n\t\tthis.intro = this.intro.replace(pattern, replacer);\n\n\t\tlet charIndex = 0;\n\t\tlet chunk = this.firstChunk;\n\n\t\twhile (chunk) {\n\t\t\tconst end = chunk.end;\n\n\t\t\tif (chunk.edited) {\n\t\t\t\tif (!isExcluded[charIndex]) {\n\t\t\t\t\tchunk.content = chunk.content.replace(pattern, replacer);\n\n\t\t\t\t\tif (chunk.content.length) {\n\t\t\t\t\t\tshouldIndentNextCharacter = chunk.content[chunk.content.length - 1] === '\\n';\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tcharIndex = chunk.start;\n\n\t\t\t\twhile (charIndex < end) {\n\t\t\t\t\tif (!isExcluded[charIndex]) {\n\t\t\t\t\t\tconst char = this.original[charIndex];\n\n\t\t\t\t\t\tif (char === '\\n') {\n\t\t\t\t\t\t\tshouldIndentNextCharacter = true;\n\t\t\t\t\t\t} else if (char !== '\\r' && shouldIndentNextCharacter) {\n\t\t\t\t\t\t\tshouldIndentNextCharacter = false;\n\n\t\t\t\t\t\t\tif (charIndex === chunk.start) {\n\t\t\t\t\t\t\t\tchunk.prependRight(indentStr);\n\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\tthis._splitChunk(chunk, charIndex);\n\t\t\t\t\t\t\t\tchunk = chunk.next;\n\t\t\t\t\t\t\t\tchunk.prependRight(indentStr);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\tcharIndex += 1;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tcharIndex = chunk.end;\n\t\t\tchunk = chunk.next;\n\t\t}\n\n\t\tthis.outro = this.outro.replace(pattern, replacer);\n\n\t\treturn this;\n\t}\n\n\tinsert() {\n\t\tthrow new Error(\n\t\t\t'magicString.insert(...) is deprecated. Use prependRight(...) or appendLeft(...)',\n\t\t);\n\t}\n\n\tinsertLeft(index, content) {\n\t\tif (!warned.insertLeft) {\n\t\t\tconsole.warn(\n\t\t\t\t'magicString.insertLeft(...) is deprecated. Use magicString.appendLeft(...) instead',\n\t\t\t);\n\t\t\twarned.insertLeft = true;\n\t\t}\n\n\t\treturn this.appendLeft(index, content);\n\t}\n\n\tinsertRight(index, content) {\n\t\tif (!warned.insertRight) {\n\t\t\tconsole.warn(\n\t\t\t\t'magicString.insertRight(...) is deprecated. Use magicString.prependRight(...) instead',\n\t\t\t);\n\t\t\twarned.insertRight = true;\n\t\t}\n\n\t\treturn this.prependRight(index, content);\n\t}\n\n\tmove(start, end, index) {\n\t\tstart = start + this.offset;\n\t\tend = end + this.offset;\n\t\tindex = index + this.offset;\n\n\t\tif (index >= start && index <= end) throw new Error('Cannot move a selection inside itself');\n\n\t\tthis._split(start);\n\t\tthis._split(end);\n\t\tthis._split(index);\n\n\t\tconst first = this.byStart[start];\n\t\tconst last = this.byEnd[end];\n\n\t\tconst oldLeft = first.previous;\n\t\tconst oldRight = last.next;\n\n\t\tconst newRight = this.byStart[index];\n\t\tif (!newRight && last === this.lastChunk) return this;\n\t\tconst newLeft = newRight ? newRight.previous : this.lastChunk;\n\n\t\tif (oldLeft) oldLeft.next = oldRight;\n\t\tif (oldRight) oldRight.previous = oldLeft;\n\n\t\tif (newLeft) newLeft.next = first;\n\t\tif (newRight) newRight.previous = last;\n\n\t\tif (!first.previous) this.firstChunk = last.next;\n\t\tif (!last.next) {\n\t\t\tthis.lastChunk = first.previous;\n\t\t\tthis.lastChunk.next = null;\n\t\t}\n\n\t\tfirst.previous = newLeft;\n\t\tlast.next = newRight || null;\n\n\t\tif (!newLeft) this.firstChunk = first;\n\t\tif (!newRight) this.lastChunk = last;\n\t\treturn this;\n\t}\n\n\toverwrite(start, end, content, options) {\n\t\toptions = options || {};\n\t\treturn this.update(start, end, content, { ...options, overwrite: !options.contentOnly });\n\t}\n\n\tupdate(start, end, content, options) {\n\t\tstart = start + this.offset;\n\t\tend = end + this.offset;\n\n\t\tif (typeof content !== 'string') throw new TypeError('replacement content must be a string');\n\n\t\tif (this.original.length !== 0) {\n\t\t\twhile (start < 0) start += this.original.length;\n\t\t\twhile (end < 0) end += this.original.length;\n\t\t}\n\n\t\tif (end > this.original.length) throw new Error('end is out of bounds');\n\t\tif (start === end)\n\t\t\tthrow new Error(\n\t\t\t\t'Cannot overwrite a zero-length range – use appendLeft or prependRight instead',\n\t\t\t);\n\n\t\tthis._split(start);\n\t\tthis._split(end);\n\n\t\tif (options === true) {\n\t\t\tif (!warned.storeName) {\n\t\t\t\tconsole.warn(\n\t\t\t\t\t'The final argument to magicString.overwrite(...) should be an options object. See https://github.com/rich-harris/magic-string',\n\t\t\t\t);\n\t\t\t\twarned.storeName = true;\n\t\t\t}\n\n\t\t\toptions = { storeName: true };\n\t\t}\n\t\tconst storeName = options !== undefined ? options.storeName : false;\n\t\tconst overwrite = options !== undefined ? options.overwrite : false;\n\n\t\tif (storeName) {\n\t\t\tconst original = this.original.slice(start, end);\n\t\t\tObject.defineProperty(this.storedNames, original, {\n\t\t\t\twritable: true,\n\t\t\t\tvalue: true,\n\t\t\t\tenumerable: true,\n\t\t\t});\n\t\t}\n\n\t\tconst first = this.byStart[start];\n\t\tconst last = this.byEnd[end];\n\n\t\tif (first) {\n\t\t\tlet chunk = first;\n\t\t\twhile (chunk !== last) {\n\t\t\t\tif (chunk.next !== this.byStart[chunk.end]) {\n\t\t\t\t\tthrow new Error('Cannot overwrite across a split point');\n\t\t\t\t}\n\t\t\t\tchunk = chunk.next;\n\t\t\t\tchunk.edit('', false);\n\t\t\t}\n\n\t\t\tfirst.edit(content, storeName, !overwrite);\n\t\t} else {\n\t\t\t// must be inserting at the end\n\t\t\tconst newChunk = new Chunk(start, end, '').edit(content, storeName);\n\n\t\t\t// TODO last chunk in the array may not be the last chunk, if it's moved...\n\t\t\tlast.next = newChunk;\n\t\t\tnewChunk.previous = last;\n\t\t}\n\t\treturn this;\n\t}\n\n\tprepend(content) {\n\t\tif (typeof content !== 'string') throw new TypeError('outro content must be a string');\n\n\t\tthis.intro = content + this.intro;\n\t\treturn this;\n\t}\n\n\tprependLeft(index, content) {\n\t\tindex = index + this.offset;\n\n\t\tif (typeof content !== 'string') throw new TypeError('inserted content must be a string');\n\n\t\tthis._split(index);\n\n\t\tconst chunk = this.byEnd[index];\n\n\t\tif (chunk) {\n\t\t\tchunk.prependLeft(content);\n\t\t} else {\n\t\t\tthis.intro = content + this.intro;\n\t\t}\n\t\treturn this;\n\t}\n\n\tprependRight(index, content) {\n\t\tindex = index + this.offset;\n\n\t\tif (typeof content !== 'string') throw new TypeError('inserted content must be a string');\n\n\t\tthis._split(index);\n\n\t\tconst chunk = this.byStart[index];\n\n\t\tif (chunk) {\n\t\t\tchunk.prependRight(content);\n\t\t} else {\n\t\t\tthis.outro = content + this.outro;\n\t\t}\n\t\treturn this;\n\t}\n\n\tremove(start, end) {\n\t\tstart = start + this.offset;\n\t\tend = end + this.offset;\n\n\t\tif (this.original.length !== 0) {\n\t\t\twhile (start < 0) start += this.original.length;\n\t\t\twhile (end < 0) end += this.original.length;\n\t\t}\n\n\t\tif (start === end) return this;\n\n\t\tif (start < 0 || end > this.original.length) throw new Error('Character is out of bounds');\n\t\tif (start > end) throw new Error('end must be greater than start');\n\n\t\tthis._split(start);\n\t\tthis._split(end);\n\n\t\tlet chunk = this.byStart[start];\n\n\t\twhile (chunk) {\n\t\t\tchunk.intro = '';\n\t\t\tchunk.outro = '';\n\t\t\tchunk.edit('');\n\n\t\t\tchunk = end > chunk.end ? this.byStart[chunk.end] : null;\n\t\t}\n\t\treturn this;\n\t}\n\n\treset(start, end) {\n\t\tstart = start + this.offset;\n\t\tend = end + this.offset;\n\n\t\tif (this.original.length !== 0) {\n\t\t\twhile (start < 0) start += this.original.length;\n\t\t\twhile (end < 0) end += this.original.length;\n\t\t}\n\n\t\tif (start === end) return this;\n\n\t\tif (start < 0 || end > this.original.length) throw new Error('Character is out of bounds');\n\t\tif (start > end) throw new Error('end must be greater than start');\n\n\t\tthis._split(start);\n\t\tthis._split(end);\n\n\t\tlet chunk = this.byStart[start];\n\n\t\twhile (chunk) {\n\t\t\tchunk.reset();\n\n\t\t\tchunk = end > chunk.end ? this.byStart[chunk.end] : null;\n\t\t}\n\t\treturn this;\n\t}\n\n\tlastChar() {\n\t\tif (this.outro.length) return this.outro[this.outro.length - 1];\n\t\tlet chunk = this.lastChunk;\n\t\tdo {\n\t\t\tif (chunk.outro.length) return chunk.outro[chunk.outro.length - 1];\n\t\t\tif (chunk.content.length) return chunk.content[chunk.content.length - 1];\n\t\t\tif (chunk.intro.length) return chunk.intro[chunk.intro.length - 1];\n\t\t} while ((chunk = chunk.previous));\n\t\tif (this.intro.length) return this.intro[this.intro.length - 1];\n\t\treturn '';\n\t}\n\n\tlastLine() {\n\t\tlet lineIndex = this.outro.lastIndexOf(n);\n\t\tif (lineIndex !== -1) return this.outro.substr(lineIndex + 1);\n\t\tlet lineStr = this.outro;\n\t\tlet chunk = this.lastChunk;\n\t\tdo {\n\t\t\tif (chunk.outro.length > 0) {\n\t\t\t\tlineIndex = chunk.outro.lastIndexOf(n);\n\t\t\t\tif (lineIndex !== -1) return chunk.outro.substr(lineIndex + 1) + lineStr;\n\t\t\t\tlineStr = chunk.outro + lineStr;\n\t\t\t}\n\n\t\t\tif (chunk.content.length > 0) {\n\t\t\t\tlineIndex = chunk.content.lastIndexOf(n);\n\t\t\t\tif (lineIndex !== -1) return chunk.content.substr(lineIndex + 1) + lineStr;\n\t\t\t\tlineStr = chunk.content + lineStr;\n\t\t\t}\n\n\t\t\tif (chunk.intro.length > 0) {\n\t\t\t\tlineIndex = chunk.intro.lastIndexOf(n);\n\t\t\t\tif (lineIndex !== -1) return chunk.intro.substr(lineIndex + 1) + lineStr;\n\t\t\t\tlineStr = chunk.intro + lineStr;\n\t\t\t}\n\t\t} while ((chunk = chunk.previous));\n\t\tlineIndex = this.intro.lastIndexOf(n);\n\t\tif (lineIndex !== -1) return this.intro.substr(lineIndex + 1) + lineStr;\n\t\treturn this.intro + lineStr;\n\t}\n\n\tslice(start = 0, end = this.original.length - this.offset) {\n\t\tstart = start + this.offset;\n\t\tend = end + this.offset;\n\n\t\tif (this.original.length !== 0) {\n\t\t\twhile (start < 0) start += this.original.length;\n\t\t\twhile (end < 0) end += this.original.length;\n\t\t}\n\n\t\tlet result = '';\n\n\t\t// find start chunk\n\t\tlet chunk = this.firstChunk;\n\t\twhile (chunk && (chunk.start > start || chunk.end <= start)) {\n\t\t\t// found end chunk before start\n\t\t\tif (chunk.start < end && chunk.end >= end) {\n\t\t\t\treturn result;\n\t\t\t}\n\n\t\t\tchunk = chunk.next;\n\t\t}\n\n\t\tif (chunk && chunk.edited && chunk.start !== start)\n\t\t\tthrow new Error(`Cannot use replaced character ${start} as slice start anchor.`);\n\n\t\tconst startChunk = chunk;\n\t\twhile (chunk) {\n\t\t\tif (chunk.intro && (startChunk !== chunk || chunk.start === start)) {\n\t\t\t\tresult += chunk.intro;\n\t\t\t}\n\n\t\t\tconst containsEnd = chunk.start < end && chunk.end >= end;\n\t\t\tif (containsEnd && chunk.edited && chunk.end !== end)\n\t\t\t\tthrow new Error(`Cannot use replaced character ${end} as slice end anchor.`);\n\n\t\t\tconst sliceStart = startChunk === chunk ? start - chunk.start : 0;\n\t\t\tconst sliceEnd = containsEnd ? chunk.content.length + end - chunk.end : chunk.content.length;\n\n\t\t\tresult += chunk.content.slice(sliceStart, sliceEnd);\n\n\t\t\tif (chunk.outro && (!containsEnd || chunk.end === end)) {\n\t\t\t\tresult += chunk.outro;\n\t\t\t}\n\n\t\t\tif (containsEnd) {\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\tchunk = chunk.next;\n\t\t}\n\n\t\treturn result;\n\t}\n\n\t// TODO deprecate this? not really very useful\n\tsnip(start, end) {\n\t\tconst clone = this.clone();\n\t\tclone.remove(0, start);\n\t\tclone.remove(end, clone.original.length);\n\n\t\treturn clone;\n\t}\n\n\t_split(index) {\n\t\tif (this.byStart[index] || this.byEnd[index]) return;\n\n\t\tlet chunk = this.lastSearchedChunk;\n\t\tlet previousChunk = chunk;\n\t\tconst searchForward = index > chunk.end;\n\n\t\twhile (chunk) {\n\t\t\tif (chunk.contains(index)) return this._splitChunk(chunk, index);\n\n\t\t\tchunk = searchForward ? this.byStart[chunk.end] : this.byEnd[chunk.start];\n\n\t\t\t// Prevent infinite loop (e.g. via empty chunks, where start === end)\n\t\t\tif (chunk === previousChunk) return;\n\n\t\t\tpreviousChunk = chunk;\n\t\t}\n\t}\n\n\t_splitChunk(chunk, index) {\n\t\tif (chunk.edited && chunk.content.length) {\n\t\t\t// zero-length edited chunks are a special case (overlapping replacements)\n\t\t\tconst loc = getLocator(this.original)(index);\n\t\t\tthrow new Error(\n\t\t\t\t`Cannot split a chunk that has already been edited (${loc.line}:${loc.column} – \"${chunk.original}\")`,\n\t\t\t);\n\t\t}\n\n\t\tconst newChunk = chunk.split(index);\n\n\t\tthis.byEnd[index] = chunk;\n\t\tthis.byStart[index] = newChunk;\n\t\tthis.byEnd[newChunk.end] = newChunk;\n\n\t\tif (chunk === this.lastChunk) this.lastChunk = newChunk;\n\n\t\tthis.lastSearchedChunk = chunk;\n\t\treturn true;\n\t}\n\n\ttoString() {\n\t\tlet str = this.intro;\n\n\t\tlet chunk = this.firstChunk;\n\t\twhile (chunk) {\n\t\t\tstr += chunk.toString();\n\t\t\tchunk = chunk.next;\n\t\t}\n\n\t\treturn str + this.outro;\n\t}\n\n\tisEmpty() {\n\t\tlet chunk = this.firstChunk;\n\t\tdo {\n\t\t\tif (\n\t\t\t\t(chunk.intro.length && chunk.intro.trim()) ||\n\t\t\t\t(chunk.content.length && chunk.content.trim()) ||\n\t\t\t\t(chunk.outro.length && chunk.outro.trim())\n\t\t\t)\n\t\t\t\treturn false;\n\t\t} while ((chunk = chunk.next));\n\t\treturn true;\n\t}\n\n\tlength() {\n\t\tlet chunk = this.firstChunk;\n\t\tlet length = 0;\n\t\tdo {\n\t\t\tlength += chunk.intro.length + chunk.content.length + chunk.outro.length;\n\t\t} while ((chunk = chunk.next));\n\t\treturn length;\n\t}\n\n\ttrimLines() {\n\t\treturn this.trim('[\\\\r\\\\n]');\n\t}\n\n\ttrim(charType) {\n\t\treturn this.trimStart(charType).trimEnd(charType);\n\t}\n\n\ttrimEndAborted(charType) {\n\t\tconst rx = new RegExp((charType || '\\\\s') + '+$');\n\n\t\tthis.outro = this.outro.replace(rx, '');\n\t\tif (this.outro.length) return true;\n\n\t\tlet chunk = this.lastChunk;\n\n\t\tdo {\n\t\t\tconst end = chunk.end;\n\t\t\tconst aborted = chunk.trimEnd(rx);\n\n\t\t\t// if chunk was trimmed, we have a new lastChunk\n\t\t\tif (chunk.end !== end) {\n\t\t\t\tif (this.lastChunk === chunk) {\n\t\t\t\t\tthis.lastChunk = chunk.next;\n\t\t\t\t}\n\n\t\t\t\tthis.byEnd[chunk.end] = chunk;\n\t\t\t\tthis.byStart[chunk.next.start] = chunk.next;\n\t\t\t\tthis.byEnd[chunk.next.end] = chunk.next;\n\t\t\t}\n\n\t\t\tif (aborted) return true;\n\t\t\tchunk = chunk.previous;\n\t\t} while (chunk);\n\n\t\treturn false;\n\t}\n\n\ttrimEnd(charType) {\n\t\tthis.trimEndAborted(charType);\n\t\treturn this;\n\t}\n\ttrimStartAborted(charType) {\n\t\tconst rx = new RegExp('^' + (charType || '\\\\s') + '+');\n\n\t\tthis.intro = this.intro.replace(rx, '');\n\t\tif (this.intro.length) return true;\n\n\t\tlet chunk = this.firstChunk;\n\n\t\tdo {\n\t\t\tconst end = chunk.end;\n\t\t\tconst aborted = chunk.trimStart(rx);\n\n\t\t\tif (chunk.end !== end) {\n\t\t\t\t// special case...\n\t\t\t\tif (chunk === this.lastChunk) this.lastChunk = chunk.next;\n\n\t\t\t\tthis.byEnd[chunk.end] = chunk;\n\t\t\t\tthis.byStart[chunk.next.start] = chunk.next;\n\t\t\t\tthis.byEnd[chunk.next.end] = chunk.next;\n\t\t\t}\n\n\t\t\tif (aborted) return true;\n\t\t\tchunk = chunk.next;\n\t\t} while (chunk);\n\n\t\treturn false;\n\t}\n\n\ttrimStart(charType) {\n\t\tthis.trimStartAborted(charType);\n\t\treturn this;\n\t}\n\n\thasChanged() {\n\t\treturn this.original !== this.toString();\n\t}\n\n\t_replaceRegexp(searchValue, replacement) {\n\t\tfunction getReplacement(match, str) {\n\t\t\tif (typeof replacement === 'string') {\n\t\t\t\treturn replacement.replace(/\\$(\\$|&|\\d+)/g, (_, i) => {\n\t\t\t\t\t// https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/replace#specifying_a_string_as_a_parameter\n\t\t\t\t\tif (i === '$') return '$';\n\t\t\t\t\tif (i === '&') return match[0];\n\t\t\t\t\tconst num = +i;\n\t\t\t\t\tif (num < match.length) return match[+i];\n\t\t\t\t\treturn `$${i}`;\n\t\t\t\t});\n\t\t\t} else {\n\t\t\t\treturn replacement(...match, match.index, str, match.groups);\n\t\t\t}\n\t\t}\n\t\tfunction matchAll(re, str) {\n\t\t\tlet match;\n\t\t\tconst matches = [];\n\t\t\twhile ((match = re.exec(str))) {\n\t\t\t\tmatches.push(match);\n\t\t\t}\n\t\t\treturn matches;\n\t\t}\n\t\tif (searchValue.global) {\n\t\t\tconst matches = matchAll(searchValue, this.original);\n\t\t\tmatches.forEach((match) => {\n\t\t\t\tif (match.index != null) {\n\t\t\t\t\tconst replacement = getReplacement(match, this.original);\n\t\t\t\t\tif (replacement !== match[0]) {\n\t\t\t\t\t\tthis.overwrite(match.index, match.index + match[0].length, replacement);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t} else {\n\t\t\tconst match = this.original.match(searchValue);\n\t\t\tif (match && match.index != null) {\n\t\t\t\tconst replacement = getReplacement(match, this.original);\n\t\t\t\tif (replacement !== match[0]) {\n\t\t\t\t\tthis.overwrite(match.index, match.index + match[0].length, replacement);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t\treturn this;\n\t}\n\n\t_replaceString(string, replacement) {\n\t\tconst { original } = this;\n\t\tconst index = original.indexOf(string);\n\n\t\tif (index !== -1) {\n\t\t\tif (typeof replacement === 'function') {\n\t\t\t\treplacement = replacement(string, index, original);\n\t\t\t}\n\t\t\tif (string !== replacement) {\n\t\t\t\tthis.overwrite(index, index + string.length, replacement);\n\t\t\t}\n\t\t}\n\n\t\treturn this;\n\t}\n\n\treplace(searchValue, replacement) {\n\t\tif (typeof searchValue === 'string') {\n\t\t\treturn this._replaceString(searchValue, replacement);\n\t\t}\n\n\t\treturn this._replaceRegexp(searchValue, replacement);\n\t}\n\n\t_replaceAllString(string, replacement) {\n\t\tconst { original } = this;\n\t\tconst stringLength = string.length;\n\t\tfor (\n\t\t\tlet index = original.indexOf(string);\n\t\t\tindex !== -1;\n\t\t\tindex = original.indexOf(string, index + stringLength)\n\t\t) {\n\t\t\tconst previous = original.slice(index, index + stringLength);\n\t\t\tlet _replacement = replacement;\n\t\t\tif (typeof replacement === 'function') {\n\t\t\t\t_replacement = replacement(previous, index, original);\n\t\t\t}\n\t\t\tif (previous !== _replacement) this.overwrite(index, index + stringLength, _replacement);\n\t\t}\n\n\t\treturn this;\n\t}\n\n\treplaceAll(searchValue, replacement) {\n\t\tif (typeof searchValue === 'string') {\n\t\t\treturn this._replaceAllString(searchValue, replacement);\n\t\t}\n\n\t\tif (!searchValue.global) {\n\t\t\tthrow new TypeError(\n\t\t\t\t'MagicString.prototype.replaceAll called with a non-global RegExp argument',\n\t\t\t);\n\t\t}\n\n\t\treturn this._replaceRegexp(searchValue, replacement);\n\t}\n}\n\nconst hasOwnProp = Object.prototype.hasOwnProperty;\n\nclass Bundle {\n\tconstructor(options = {}) {\n\t\tthis.intro = options.intro || '';\n\t\tthis.separator = options.separator !== undefined ? options.separator : '\\n';\n\t\tthis.sources = [];\n\t\tthis.uniqueSources = [];\n\t\tthis.uniqueSourceIndexByFilename = {};\n\t}\n\n\taddSource(source) {\n\t\tif (source instanceof MagicString) {\n\t\t\treturn this.addSource({\n\t\t\t\tcontent: source,\n\t\t\t\tfilename: source.filename,\n\t\t\t\tseparator: this.separator,\n\t\t\t});\n\t\t}\n\n\t\tif (!isObject(source) || !source.content) {\n\t\t\tthrow new Error(\n\t\t\t\t'bundle.addSource() takes an object with a `content` property, which should be an instance of MagicString, and an optional `filename`',\n\t\t\t);\n\t\t}\n\n\t\t['filename', 'ignoreList', 'indentExclusionRanges', 'separator'].forEach((option) => {\n\t\t\tif (!hasOwnProp.call(source, option)) source[option] = source.content[option];\n\t\t});\n\n\t\tif (source.separator === undefined) {\n\t\t\t// TODO there's a bunch of this sort of thing, needs cleaning up\n\t\t\tsource.separator = this.separator;\n\t\t}\n\n\t\tif (source.filename) {\n\t\t\tif (!hasOwnProp.call(this.uniqueSourceIndexByFilename, source.filename)) {\n\t\t\t\tthis.uniqueSourceIndexByFilename[source.filename] = this.uniqueSources.length;\n\t\t\t\tthis.uniqueSources.push({ filename: source.filename, content: source.content.original });\n\t\t\t} else {\n\t\t\t\tconst uniqueSource = this.uniqueSources[this.uniqueSourceIndexByFilename[source.filename]];\n\t\t\t\tif (source.content.original !== uniqueSource.content) {\n\t\t\t\t\tthrow new Error(`Illegal source: same filename (${source.filename}), different contents`);\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\tthis.sources.push(source);\n\t\treturn this;\n\t}\n\n\tappend(str, options) {\n\t\tthis.addSource({\n\t\t\tcontent: new MagicString(str),\n\t\t\tseparator: (options && options.separator) || '',\n\t\t});\n\n\t\treturn this;\n\t}\n\n\tclone() {\n\t\tconst bundle = new Bundle({\n\t\t\tintro: this.intro,\n\t\t\tseparator: this.separator,\n\t\t});\n\n\t\tthis.sources.forEach((source) => {\n\t\t\tbundle.addSource({\n\t\t\t\tfilename: source.filename,\n\t\t\t\tcontent: source.content.clone(),\n\t\t\t\tseparator: source.separator,\n\t\t\t});\n\t\t});\n\n\t\treturn bundle;\n\t}\n\n\tgenerateDecodedMap(options = {}) {\n\t\tconst names = [];\n\t\tlet x_google_ignoreList = undefined;\n\t\tthis.sources.forEach((source) => {\n\t\t\tObject.keys(source.content.storedNames).forEach((name) => {\n\t\t\t\tif (!~names.indexOf(name)) names.push(name);\n\t\t\t});\n\t\t});\n\n\t\tconst mappings = new Mappings(options.hires);\n\n\t\tif (this.intro) {\n\t\t\tmappings.advance(this.intro);\n\t\t}\n\n\t\tthis.sources.forEach((source, i) => {\n\t\t\tif (i > 0) {\n\t\t\t\tmappings.advance(this.separator);\n\t\t\t}\n\n\t\t\tconst sourceIndex = source.filename ? this.uniqueSourceIndexByFilename[source.filename] : -1;\n\t\t\tconst magicString = source.content;\n\t\t\tconst locate = getLocator(magicString.original);\n\n\t\t\tif (magicString.intro) {\n\t\t\t\tmappings.advance(magicString.intro);\n\t\t\t}\n\n\t\t\tmagicString.firstChunk.eachNext((chunk) => {\n\t\t\t\tconst loc = locate(chunk.start);\n\n\t\t\t\tif (chunk.intro.length) mappings.advance(chunk.intro);\n\n\t\t\t\tif (source.filename) {\n\t\t\t\t\tif (chunk.edited) {\n\t\t\t\t\t\tmappings.addEdit(\n\t\t\t\t\t\t\tsourceIndex,\n\t\t\t\t\t\t\tchunk.content,\n\t\t\t\t\t\t\tloc,\n\t\t\t\t\t\t\tchunk.storeName ? names.indexOf(chunk.original) : -1,\n\t\t\t\t\t\t);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tmappings.addUneditedChunk(\n\t\t\t\t\t\t\tsourceIndex,\n\t\t\t\t\t\t\tchunk,\n\t\t\t\t\t\t\tmagicString.original,\n\t\t\t\t\t\t\tloc,\n\t\t\t\t\t\t\tmagicString.sourcemapLocations,\n\t\t\t\t\t\t);\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tmappings.advance(chunk.content);\n\t\t\t\t}\n\n\t\t\t\tif (chunk.outro.length) mappings.advance(chunk.outro);\n\t\t\t});\n\n\t\t\tif (magicString.outro) {\n\t\t\t\tmappings.advance(magicString.outro);\n\t\t\t}\n\n\t\t\tif (source.ignoreList && sourceIndex !== -1) {\n\t\t\t\tif (x_google_ignoreList === undefined) {\n\t\t\t\t\tx_google_ignoreList = [];\n\t\t\t\t}\n\t\t\t\tx_google_ignoreList.push(sourceIndex);\n\t\t\t}\n\t\t});\n\n\t\treturn {\n\t\t\tfile: options.file ? options.file.split(/[/\\\\]/).pop() : undefined,\n\t\t\tsources: this.uniqueSources.map((source) => {\n\t\t\t\treturn options.file ? getRelativePath(options.file, source.filename) : source.filename;\n\t\t\t}),\n\t\t\tsourcesContent: this.uniqueSources.map((source) => {\n\t\t\t\treturn options.includeContent ? source.content : null;\n\t\t\t}),\n\t\t\tnames,\n\t\t\tmappings: mappings.raw,\n\t\t\tx_google_ignoreList,\n\t\t};\n\t}\n\n\tgenerateMap(options) {\n\t\treturn new SourceMap(this.generateDecodedMap(options));\n\t}\n\n\tgetIndentString() {\n\t\tconst indentStringCounts = {};\n\n\t\tthis.sources.forEach((source) => {\n\t\t\tconst indentStr = source.content._getRawIndentString();\n\n\t\t\tif (indentStr === null) return;\n\n\t\t\tif (!indentStringCounts[indentStr]) indentStringCounts[indentStr] = 0;\n\t\t\tindentStringCounts[indentStr] += 1;\n\t\t});\n\n\t\treturn (\n\t\t\tObject.keys(indentStringCounts).sort((a, b) => {\n\t\t\t\treturn indentStringCounts[a] - indentStringCounts[b];\n\t\t\t})[0] || '\\t'\n\t\t);\n\t}\n\n\tindent(indentStr) {\n\t\tif (!arguments.length) {\n\t\t\tindentStr = this.getIndentString();\n\t\t}\n\n\t\tif (indentStr === '') return this; // noop\n\n\t\tlet trailingNewline = !this.intro || this.intro.slice(-1) === '\\n';\n\n\t\tthis.sources.forEach((source, i) => {\n\t\t\tconst separator = source.separator !== undefined ? source.separator : this.separator;\n\t\t\tconst indentStart = trailingNewline || (i > 0 && /\\r?\\n$/.test(separator));\n\n\t\t\tsource.content.indent(indentStr, {\n\t\t\t\texclude: source.indentExclusionRanges,\n\t\t\t\tindentStart, //: trailingNewline || /\\r?\\n$/.test( separator ) //true///\\r?\\n/.test( separator )\n\t\t\t});\n\n\t\t\ttrailingNewline = source.content.lastChar() === '\\n';\n\t\t});\n\n\t\tif (this.intro) {\n\t\t\tthis.intro =\n\t\t\t\tindentStr +\n\t\t\t\tthis.intro.replace(/^[^\\n]/gm, (match, index) => {\n\t\t\t\t\treturn index > 0 ? indentStr + match : match;\n\t\t\t\t});\n\t\t}\n\n\t\treturn this;\n\t}\n\n\tprepend(str) {\n\t\tthis.intro = str + this.intro;\n\t\treturn this;\n\t}\n\n\ttoString() {\n\t\tconst body = this.sources\n\t\t\t.map((source, i) => {\n\t\t\t\tconst separator = source.separator !== undefined ? source.separator : this.separator;\n\t\t\t\tconst str = (i > 0 ? separator : '') + source.content.toString();\n\n\t\t\t\treturn str;\n\t\t\t})\n\t\t\t.join('');\n\n\t\treturn this.intro + body;\n\t}\n\n\tisEmpty() {\n\t\tif (this.intro.length && this.intro.trim()) return false;\n\t\tif (this.sources.some((source) => !source.content.isEmpty())) return false;\n\t\treturn true;\n\t}\n\n\tlength() {\n\t\treturn this.sources.reduce(\n\t\t\t(length, source) => length + source.content.length(),\n\t\t\tthis.intro.length,\n\t\t);\n\t}\n\n\ttrimLines() {\n\t\treturn this.trim('[\\\\r\\\\n]');\n\t}\n\n\ttrim(charType) {\n\t\treturn this.trimStart(charType).trimEnd(charType);\n\t}\n\n\ttrimStart(charType) {\n\t\tconst rx = new RegExp('^' + (charType || '\\\\s') + '+');\n\t\tthis.intro = this.intro.replace(rx, '');\n\n\t\tif (!this.intro) {\n\t\t\tlet source;\n\t\t\tlet i = 0;\n\n\t\t\tdo {\n\t\t\t\tsource = this.sources[i++];\n\t\t\t\tif (!source) {\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t} while (!source.content.trimStartAborted(charType));\n\t\t}\n\n\t\treturn this;\n\t}\n\n\ttrimEnd(charType) {\n\t\tconst rx = new RegExp((charType || '\\\\s') + '+$');\n\n\t\tlet source;\n\t\tlet i = this.sources.length - 1;\n\n\t\tdo {\n\t\t\tsource = this.sources[i--];\n\t\t\tif (!source) {\n\t\t\t\tthis.intro = this.intro.replace(rx, '');\n\t\t\t\tbreak;\n\t\t\t}\n\t\t} while (!source.content.trimEndAborted(charType));\n\n\t\treturn this;\n\t}\n}\n\nexport { Bundle, SourceMap, MagicString as default };\n//# sourceMappingURL=magic-string.es.mjs.map\n"
|
|
8
8
|
],
|
|
9
9
|
"mappings": "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",
|
|
10
|
-
"debugId": "
|
|
10
|
+
"debugId": "37FDE64BC488968A64756E2164756E21",
|
|
11
11
|
"names": []
|
|
12
12
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// @bun
|
|
2
|
-
import{
|
|
3
|
-
export{D as
|
|
2
|
+
import{jk as B}from"./chunk-rwmja4zs.js";function $(z){return z.split(".")}class Y{static token="config";items;constructor(z={}){this.items=z}has(z){let F=this.items;for(let E of $(z)){if(F===null||typeof F!=="object"||!(E in F))return!1;F=F[E]}return!0}get(z,F){let E=this.items;for(let G of $(z)){if(E===null||typeof E!=="object"||!(G in E))return F;E=E[G]}return E===void 0?F:E}getMany(z){let F=Array.isArray(z)?z.map((G)=>[G,void 0]):Object.entries(z),E={};for(let[G,H]of F)E[G]=this.get(G,H);return E}set(z,F){let E=typeof z==="string"?[[z,F]]:Object.entries(z);for(let[G,H]of E){let U=$(G),Z=U.pop(),J=this.items;for(let Q of U){let W=J[Q];if(W===null||typeof W!=="object")J[Q]={};J=J[Q]}J[Z]=H}}prepend(z,F){let E=this.get(z,[]);E.unshift(F),this.set(z,E)}push(z,F){let E=this.get(z,[]);E.push(F),this.set(z,E)}merge(z){for(let[F,E]of Object.entries(z)){let G=this.items[F];if(G!==null&&typeof G==="object"&&!Array.isArray(G)&&E!==null&&typeof E==="object"&&!Array.isArray(E))this.items[F]={...G,...E};else this.items[F]=E}}all(){return this.items}}var j=Symbol.for("gemi.foundation.Application");class X extends B{[j]=!0;static isApplication(z){return typeof z==="object"&&z!==null&&j in z}config;providers=[];booted=!1;constructor(z=new Y){super();this.config=z,this.instance(Y,z)}static currentInstance;static getInstance(){return X.currentInstance}static setInstance(z){return X.currentInstance=z,z}register(z){let F=this.providers.find((G)=>G instanceof z);if(F)return F;let E=new z(this);return E.register(),this.providers.push(E),E}registerMany(z){for(let F of z)this.register(F)}getProviders(){return[...this.providers]}isBooted(){return this.booted}async boot(){if(this.booted)return;for(let z of this.providers)await z.boot();this.booted=!0}shutdown(z={}){return this.shutdownPromise??=this.shutdownProviders(z.timeoutMs??5000),this.shutdownPromise}shutdownPromise;async shutdownProviders(z){let F={failed:[],timedOut:[]};if(z<=0){if(this.providers.length>0)console.log(`[gemi] Skipping ${this.providers.length} provider shutdown hook(s): no time is budgeted for them.`);return F}let E=Date.now()+z;for(let G of[...this.providers].reverse()){let H=G.constructor.name,U=E-Date.now();if(U<=0){console.error(`[gemi] ${H}.shutdown() skipped: the provider shutdown deadline had passed.`),F.timedOut.push(H);continue}let Z,J=await Promise.race([Promise.resolve().then(()=>G.shutdown({timeoutMs:U})).then((Q)=>Q?.abandoned?"abandoned":"done",(Q)=>{return console.error(`[gemi] ${H}.shutdown() failed:`,Q),"failed"}),new Promise((Q)=>{Z=setTimeout(()=>Q("timeout"),U)})]);if(clearTimeout(Z),J==="failed")F.failed.push(H);if(J==="abandoned")F.timedOut.push(H);if(J==="timeout")console.error(`[gemi] ${H}.shutdown() did not finish within the provider shutdown deadline; moving on.`),F.timedOut.push(H)}return F}flush(){super.flush(),this.instance(Y,this.config),this.providers=[],this.booted=!1,this.shutdownPromise=void 0}}import{AsyncLocalStorage as K}from"async_hooks";var D=new K;function I(z){let F=D.getStore(),E=X.isApplication(F)?F:X.getInstance();if(!E)throw Error("No Application instance is available. Boot a Kernel before resolving services.");return z?E.make(z):E}
|
|
3
|
+
export{D as ek,Y as fk,X as gk,I as hk};
|
|
4
4
|
|
|
5
|
-
//# debugId=
|
|
5
|
+
//# debugId=A929A5EF1B8EC84564756E2164756E21
|
|
@@ -8,6 +8,6 @@
|
|
|
8
8
|
"import type { ServiceToken } from \"../container/Container\";\nimport { kernelContext } from \"../kernel/context\";\nimport { Application } from \"./Application\";\n\n/**\n * Resolves the Application for the current async context. Reads the kernel\n * AsyncLocalStorage — there is exactly one ALS in the framework, and\n * `Kernel.run()` stores the Application in it, so this is the primary path for\n * anything running inside a request or a cron tick.\n *\n * The static instance (Laravel's `Container::setInstance`, set by\n * `Kernel.boot()`) is the fallback for code that runs outside any `run()`\n * scope — build-time tooling, module top level, a stray `setTimeout`.\n */\nexport function app(): Application;\nexport function app<T>(token: ServiceToken<T>): T;\nexport function app<T>(token?: ServiceToken<T>): Application | T {\n const store = kernelContext.getStore();\n const instance = Application.isApplication(store)\n ? store\n : Application.getInstance();\n\n if (!instance) {\n throw new Error(\n \"No Application instance is available. Boot a Kernel before resolving services.\",\n );\n }\n\n return token ? instance.make(token) : instance;\n}\n"
|
|
9
9
|
],
|
|
10
10
|
"mappings": "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",
|
|
11
|
-
"debugId": "
|
|
11
|
+
"debugId": "A929A5EF1B8EC84564756E2164756E21",
|
|
12
12
|
"names": []
|
|
13
13
|
}
|