@wular/coder 0.4.2 → 0.4.4
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/actions-CmfXOVXQ.js +20 -0
- package/dist/adapter-7SEiVsmp.js +1 -0
- package/dist/adapter-BLEfUqoQ.js +1 -0
- package/dist/adapter-H4GlcKQz.js +1 -0
- package/dist/add-Bffwutko.js +1 -0
- package/dist/add-Bz8uaOcu.js +1 -0
- package/dist/add-DTwoL7vJ.js +1 -0
- package/dist/add-cdKdz3K0.js +6 -0
- package/dist/add-json-BIcbE3Nf.js +1 -0
- package/dist/agent-BcXXkOmD.js +3 -0
- package/dist/agent-DQK_S1PE.js +1 -0
- package/dist/alias-KQ85bphl.js +2 -0
- package/dist/app-DaccLHrx.js +1 -0
- package/dist/approvals-CZt_aPCy.js +2 -0
- package/dist/approve-DxjyXd66.js +2 -0
- package/dist/apps-eueTmHR5.js +1 -0
- package/dist/archive-C3JazQuo.js +3 -0
- package/dist/archive-C9yrU4Wg.js +4 -0
- package/dist/archive-sweep-CHbOP-p6.js +1 -0
- package/dist/args-DEMOfLz2.js +1 -0
- package/dist/ask-DdYrvsTk.js +4 -0
- package/dist/auth-FTKev9__.js +1 -0
- package/dist/auth-q8CROpG-.js +1 -0
- package/dist/chat-bridge-18koyS7c.js +2 -0
- package/dist/chat-cknlIhVh.js +13 -0
- package/dist/cli-msOzZFXW.js +9 -0
- package/dist/cli.d.ts +1 -1
- package/dist/cli.js +1 -1
- package/dist/client-31YzOj-i.js +1 -0
- package/dist/config-BllYHi8S.js +3 -0
- package/dist/create-BYki3g42.js +1 -0
- package/dist/credentials-DLMuf9OT.js +1 -0
- package/dist/dash/standalone/node_modules/@tanstack/virtual-core/dist/esm/index.js +1238 -0
- package/dist/dash/standalone/node_modules/@tanstack/virtual-core/dist/esm/lazy-measurements.js +34 -0
- package/dist/dash/standalone/node_modules/@tanstack/virtual-core/dist/esm/utils.js +74 -0
- package/dist/dash/standalone/node_modules/@tanstack/virtual-core/package.json +56 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/config/ts/react.json +10 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/boot-bhemypxz.js +38 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/build-tier-0a96kmx3.js +2456 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/config-0tvz03a6.js +24 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/generate-myw9hef7.js +22 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-0r5eqfc7.js +279 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-0yjv5v47.js +105 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-11xpbfej.js +17 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-141vcwk6.js +109 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-29pq0kax.js +590 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-2vz0wzdn.js +59 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-2wfv4kvx.js +182 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-3e075kny.js +128 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-3ycf5ckv.js +472 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-4399bvd2.js +18 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-4da76t62.js +297 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-4zzebszd.js +10 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-52k54ykj.js +95 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-5hr4062s.js +70 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-68m3mwbd.js +84 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-6b009mt0.js +56 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-6kp9r0d9.js +11 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-6q7zvrap.js +134 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-71885zaq.js +284 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-73z4esab.js +38 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-79ngvam8.js +60 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-7wc9n8be.js +25 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-8ct7rqy3.js +198 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-8kcxdfya.js +206 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-9f49w76j.js +213 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-9hz3s0m8.js +851 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-akkrvjn6.js +535 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-b6wtkdp4.js +24 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-b7j671dj.js +207 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-bcws5eh2.js +35 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-bzd2ef7t.js +10 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-cjgqs13g.js +65 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-ckkdpht5.js +41 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-cn86z041.js +296 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-cvr4z22m.js +92 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-d158y67j.js +152 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-d1jsmhhk.js +955 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-dgr390q7.js +9438 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-e3a6yx84.js +18 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-en7n9f7m.js +22 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-ezgj0tr1.js +88 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-fn1chkkd.js +214 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-fp8r0sqs.js +64 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-gcmj16xy.js +92 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-gkndxkxf.js +736 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-grta8ap3.js +238 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-h2a70tg4.js +7 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-h4xy648y.js +51 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-hdbwtdv2.js +352 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-he6n2bvp.js +1270 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-j0m1jxqa.js +1253 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-j2zrcp1k.js +66 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-j681c48a.js +2530 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-jbj7ehef.js +50 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-jcsjq3d1.js +20 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-jks0x0a1.js +14 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-jn9rbhrx.js +1599 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-jt8e1pje.js +12 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-kdhxpwyq.js +483 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-knp0s912.js +7 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-kresp2n8.js +445 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-m63czgq5.js +590 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-n4hxpng2.js +11 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-n629dy38.js +1071 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-nf3df4jy.js +266 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-nqh3xhdc.js +57 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-pym1cezq.js +39 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-q3r9z8mq.js +213 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-q738kkhj.js +100 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-qcrvt6er.js +112 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-qjj6gddn.js +54 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-qpwsgt3a.js +158 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-ras0sdab.js +26 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-rcs322t1.js +19 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-rgj5mx84.js +101 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-rt9qq1va.js +4 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-sq3kvz3g.js +200 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-stbk3jhn.js +31 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-tf4j19ge.js +130 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-tgcakdxc.js +125 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-tgsfjmep.js +74 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-tq3b39a5.js +107 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-typcbcsv.js +819 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-v1ags1na.js +132 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-vmr35jjw.js +170 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-vz0km5qk.js +33 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-w6h8m6vp.js +138 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-web361b8.js +138 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-wm36rj4v.js +311 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-x0y005nh.js +283 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-x2m17v9c.js +6166 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-x9c55pzy.js +871 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-xh1nbk46.js +1299 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-xvj80c3a.js +30 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-y4d02znn.js +66 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-y7mzvq2q.js +110 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-ye9hmsvf.js +47 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-yhxkxghe.js +56 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-yrjkqtfj.js +86 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-z88qv16t.js +11 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-zqpqyg8p.js +666 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/pipeline-4t9q43ht.js +836 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/proxy-config-60gprphe.js +23 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/proxy-gfhmktbk.js +35 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/router-xnrva921.js +501 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/routes-ht868pdc.js +66 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/tsconfig-defaults-bcn34eqb.js +21 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/cli/start.js +158 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/package.json +98 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/src/api/client-navigation.ts +337 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/src/api/dynamic.tsx +188 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/src/api/link.tsx +118 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/src/api/navigation.ts +199 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/src/api/server.ts +349 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/src/api/suspense.ts +16 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/src/client/router/events.ts +68 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/src/client/router/history.ts +70 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/src/client/router/hub.ts +201 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/src/client/router/index.ts +168 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/src/client/router/page-slot.ts +139 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/src/client/router/policies.ts +107 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/src/client/router/runtime.ts +6272 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/src/request/cache.ts +64 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/src/routing/href.ts +236 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/src/utils/decode.ts +7 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/tsconfig.json +10 -0
- package/dist/dash/standalone/node_modules/dotenv/lib/main.js +386 -0
- package/dist/dash/standalone/node_modules/dotenv/package.json +62 -0
- package/dist/dash/standalone/node_modules/preact/compat/client.mjs +24 -0
- package/dist/dash/standalone/node_modules/preact/compat/dist/compat.mjs +2 -0
- package/dist/dash/standalone/node_modules/preact/compat/package.json +55 -0
- package/dist/dash/standalone/node_modules/preact/dist/preact.mjs +2 -0
- package/dist/dash/standalone/node_modules/preact/hooks/dist/hooks.mjs +2 -0
- package/dist/dash/standalone/node_modules/preact/hooks/package.json +35 -0
- package/dist/dash/standalone/node_modules/preact/jsx-runtime/dist/jsxRuntime.mjs +2 -0
- package/dist/dash/standalone/node_modules/preact/jsx-runtime/package.json +28 -0
- package/dist/dash/standalone/node_modules/preact/package.json +265 -0
- package/dist/dash/standalone/node_modules/preact-render-to-string/dist/index.mjs +2 -0
- package/dist/dash/standalone/node_modules/preact-render-to-string/dist/stream/index.mjs +2 -0
- package/dist/dash/standalone/node_modules/preact-render-to-string/package.json +147 -0
- package/dist/dash/standalone/node_modules/react/cjs/react.react-server.development.js +878 -0
- package/dist/dash/standalone/node_modules/react/cjs/react.react-server.production.js +436 -0
- package/dist/dash/standalone/node_modules/react/package.json +51 -0
- package/dist/dash/standalone/node_modules/react/react.react-server.js +7 -0
- package/dist/dash/standalone/node_modules/react-compiler-runtime/dist/index.js +385 -0
- package/dist/dash/standalone/node_modules/react-compiler-runtime/package.json +25 -0
- package/dist/dash/standalone/package.json +1 -0
- package/dist/dash/standalone/server/build-index.json +1 -0
- package/dist/dash/standalone/server/entry.js +1 -0
- package/dist/dash/standalone/server/manifest.json +3311 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/client/index.2feb1c162fab6033.js +336 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/core/defaults.f8b4eee28e030eda.js +27 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/core/errors.5e991e43e42bd943.js +21 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/core/task/log-view.d6aae19495a81adb.js +211 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/auth/sign-in.7ee1680af722840f.js +11 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/api/load.bdbf17006af803d1.js +45 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/api/types.0cf02e7714d7c1a2.js +5 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/connect/page.0a054a6c9dda53b3.js +23 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/account/loading.02d57ab48022f8d8.js +9 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/account/notify.b7451fdf9c3bb62a.js +34 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/account/page.f9ab6ed02876880e.js +113 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/account/sign-out.3368aed882d8f1ac.js +13 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/agents/(list)/agent-menu.e4b6d486442476b5.js +12 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/agents/(list)/agents-grid.0dbc57156286a18e.js +118 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/agents/(list)/connect-apps.3a5673bcd9aa57d9.js +42 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/agents/(list)/loading.8df9f4459410cfaa.js +18 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/agents/(list)/page.8f85fbaff456c5fe.js +71 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/agents/(list)/page.9ea9df9d5f80f310.css.pnext-asset.js +0 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/agents/[slug]/(tabs)/layout.d3aec63db0f5230d.js +105 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/agents/[slug]/(tabs)/loading.d53d174ffe56aab3.js +5 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/agents/[slug]/(tabs)/page.3120ea9ec90cb9cc.css.pnext-asset.js +0 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/agents/[slug]/(tabs)/page.7fd1bfcf08e25919.js +116 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/agents/[slug]/(tabs)/platforms/loading.849dc6e6050a7e21.js +10 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/agents/[slug]/(tabs)/platforms/page.143668a9c21806d6.css.pnext-asset.js +0 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/agents/[slug]/(tabs)/platforms/page.31687af871d75d39.js +170 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/agents/[slug]/(tabs)/platforms/platform-actions.754eff65aec1ab59.js +70 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/agents/[slug]/(tabs)/settings/agent-settings-form.861ed9832cbe89c1.js +268 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/agents/[slug]/(tabs)/settings/agent-settings-form.d6de90cb40c3bd46.css.pnext-asset.js +0 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/agents/[slug]/(tabs)/settings/loading.2ec7a3b893925df0.js +8 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/agents/[slug]/(tabs)/settings/page.1ed5379637860fab.js +35 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/agents/[slug]/(tabs)/tasks/loading.20a52282c5806719.js +5 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/agents/[slug]/(tabs)/tasks/page.4fd369ba79ed9943.js +11 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/agents/[slug]/(tabs)/usage/@/app/dash/usage/range-bar.4408a4e0ee81b7b6.css.pnext-asset.js +0 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/agents/[slug]/(tabs)/usage/@/comps/ui/segmented.ded4aa5c0cd2c608.css.pnext-asset.js +0 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/agents/[slug]/(tabs)/usage/loading.43b58c5eef3d4253.js +48 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/agents/[slug]/(tabs)/usage/page.78bf188a8077c64e.js +160 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/agents/[slug]/(tabs)/usage/page.ae5cbdfc43af6658.css.pnext-asset.js +0 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/agents/[slug]/(tabs)/versions-list.0c6811b66b2fcc49.js +41 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/agents/[slug]/edit/loading.a18042397ffeaf55.js +29 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/agents/[slug]/edit/page.1798dbd9cd334e8f.js +69 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/agents/agent/agent-pills.c5710a4f634f9d6a.js +67 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/agents/agent/agent-pills.dcf7e785044cc900.css.pnext-asset.js +0 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/agents/agent/hero.a794a01218c5c9ce.css.pnext-asset.js +0 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/agents/agent/hero.e5c5af2f9fab6a63.js +62 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/agents/agent/instructions.2176859ec1028fc0.css.pnext-asset.js +0 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/agents/agent/instructions.403838f7cb218391.js +74 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/agents/editor/@/app/dash/agents/(list)/page.f2e88eb443d45a74.css.pnext-asset.js +0 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/agents/editor/connect-repositories.6c7088fd2fcd54f4.js +11 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/agents/editor/editor.4b164e6eb19daa2f.js +691 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/agents/editor/editor.6b13621790a6d5d6.css.pnext-asset.js +0 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/agents/editor/import-picker.4bff9b5642aeab17.js +214 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/agents/editor/names.cf9e376a918a5341.js +30 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/agents/new/loading.72e1b274c475e39a.js +28 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/agents/new/page.44f60b1a32344f70.js +55 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/layout.946ec7c4ebb1d7c6.css.pnext-asset.js +0 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/layout.96376d18592adfa9.js +391 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/page.669f5926ae12d101.js +10 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/settings/[tab]/credentials-list.3bd27b14c0d60e48.css.pnext-asset.js +0 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/settings/[tab]/credentials-list.3fbc413d972a0447.js +538 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/settings/[tab]/credentials.6423846391b20446.js +34 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/settings/[tab]/engines-list.39cd71b7dc568516.css.pnext-asset.js +0 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/settings/[tab]/engines-list.5bad79f0d4e12e07.js +75 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/settings/[tab]/list.2a204889b73638d9.css.pnext-asset.js +0 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/settings/[tab]/list.2cafbe93b7b2dc0f.js +172 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/settings/[tab]/loading.1a810cc50ea61706.js +6 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/settings/[tab]/mcp-list.1fc0f6165dd85b8c.js +249 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/settings/[tab]/mcp-list.d743e37cd6dc85d8.css.pnext-asset.js +0 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/settings/[tab]/models-list.520cb30b291794c3.js +396 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/settings/[tab]/page.04b07f9c365be073.js +86 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/settings/[tab]/runners-list.3dac92fb9f64e2be.css.pnext-asset.js +0 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/settings/[tab]/runners-list.67786d7d51692d19.js +380 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/settings/layout.a619ac4fe999d1b5.js +39 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/settings/model-options.2ca6c87aedf3588c.js +87 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/settings/page.5edeae58f2154a50.js +6 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/settings/settings-head.d726e31e4dd04d60.js +32 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/settings/tunnel-guide.22448081e9e042d6.js +31 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/tasks/[id]/activity.b23683e6be363068.js +177 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/tasks/[id]/loading.a8f2aa099bd76606.js +37 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/tasks/[id]/page.d1ded90712ca586f.js +24 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/tasks/[id]/task-actions.f2be118dd5a02896.js +184 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/tasks/[id]/task-view.97433b52e6f7175c.js +593 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/tasks/[id]/task-view.c2288044c9032a89.css.pnext-asset.js +0 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/tasks/composer-data.e2d442d6ecbaa6d3.js +63 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/tasks/composer.41721fb98004e79e.css.pnext-asset.js +0 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/tasks/composer.78b7d3000d615c7c.js +730 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/tasks/list/status.9516cc22cbd5d84b.css.pnext-asset.js +0 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/tasks/list/status.d78e769ff1411932.js +16 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/tasks/list/task.674ebeabafa0a7e1.js +53 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/tasks/list/tasks-list.55fa11c945f9c6db.css.pnext-asset.js +0 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/tasks/list/tasks-list.9698bdff71c3b3c7.js +429 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/tasks/list/tasks-section.c77194f05c3f58fb.js +79 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/tasks/page.157ac3a0938206b0.js +16 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/usage/@/app/dash/usage/range-bar.72f0c7c440fb34af.css.pnext-asset.js +0 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/usage/@/comps/ui/segmented.81631cafb8e3b260.css.pnext-asset.js +0 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/usage/custom-range.9343f6115e244cb4.js +64 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/usage/day-chart.c7b7d04403f0fc79.css.pnext-asset.js +0 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/usage/day-chart.c7f6c8981a7acb15.js +70 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/usage/loading.1716941ff725f152.js +15 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/usage/metric.5481ab0e025e218e.js +10 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/usage/page.4159d729e8aa0439.js +132 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/usage/range-bar.671afdd0798f4de9.css.pnext-asset.js +0 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/usage/range-bar.8c9b18116c8eb5f0.js +60 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/usage/stats.3b02ee8317b9c4e3.css.pnext-asset.js +0 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/usage/stats.7b8db8c56920b311.js +12 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/usage/top-agents.441006da5b4eae17.css.pnext-asset.js +0 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/usage/top-agents.8af5d53eb64bae9c.js +89 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/usage/usage.d6df7cb6980171ce.css.pnext-asset.js +0 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/globals.89a59affc5df947b.css.pnext-asset.js +0 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/layout.77960a272f19bf24.js +41 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/login/page.33464bce52044759.js +50 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/login/page.f852a09edc8b6b44.css.pnext-asset.js +0 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/page.7e7f8611a9bb7b22.js +4 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/responsive.1fd73ea94977bfc0.css.pnext-asset.js +0 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/zone.66f36b17e74cf5f8.js +10 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/frame/@/comps/ui/toast.8d599c6821860a1c.css.pnext-asset.js +0 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/frame/auth-panel.3e020d19aa5ab464.js +48 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/frame/auth-panel.e5af611567239b13.css.pnext-asset.js +0 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/frame/drawer.9090aa789dffa730.css.pnext-asset.js +0 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/frame/drawer.cf0eb4936a2c7222.js +30 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/frame/heads.5407f7793f985b16.js +47 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/frame/loading-card.9648c7782502babc.js +64 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/frame/page-head.53db3a3d313c0473.css.pnext-asset.js +0 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/frame/page-head.857951b5dc1ad827.js +65 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/frame/stream.4c04416dab6ffc52.js +39 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/frame/task-toasts.b14bb1f66ed75e75.js +324 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/frame/theme-choices.60d3a5adbd49989f.js +49 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/nav/current-link.87758179b507850c.js +34 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/nav/side-toggle.581456c353d76d67.js +36 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/nav/to.248665fde7daaf07.js +11 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/badge.d21391f2f8573db8.css.pnext-asset.js +0 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/badge.e52db98d78836f9a.js +31 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/card.4f9265213510ffd3.css.pnext-asset.js +0 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/card.e6876039e375b849.js +40 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/collapse.60c9038c70fb9c46.css.pnext-asset.js +0 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/collapse.730d674a8f7eeeae.js +33 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/combo.d478120a76502dd1.js +115 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/confirm.cd23ea20bdf120d2.js +53 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/confirm.fc6d4da835b75a30.css.pnext-asset.js +0 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/field.37f93068217e1470.js +16 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/field.8db4420dfb447e42.css.pnext-asset.js +0 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/filter.3e8df59ca8abf397.js +252 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/filter.9311d535531caaf3.css.pnext-asset.js +0 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/icon.476b846e39908951.css.pnext-asset.js +0 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/icon.93605083edf7efe3.js +19 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/icons.e17bdd0b5504787f.js +36 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/menu.3b3026ecd4dc31f0.js +103 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/menu.d412af459c187b41.css.pnext-asset.js +0 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/segmented.171b067d7cb36977.css.pnext-asset.js +0 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/segmented.620f07f6b949d7f1.js +38 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/select.14e820c8a26ab8b5.js +218 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/select.5dbceaae2ba7ace4.css.pnext-asset.js +0 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/sentinel.332fb99b3a214f0e.css.pnext-asset.js +0 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/sentinel.50afec82b0fd53a1.js +59 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/tabs.051c87be5bbb7f2b.js +27 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/tabs.87bc5cdfc4d1b85e.css.pnext-asset.js +0 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/tail.25fd24d6cd0564b7.css.pnext-asset.js +0 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/tail.2d57d68076cef3e1.js +25 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/toolbar.32503820243ede06.js +80 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/toolbar.5e35e79f4d575452.css.pnext-asset.js +0 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/utils/client.f37a313f4811ddb8.js +26 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/utils/format.ba382c381ea40e77.js +75 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/utils/paged.64ead375df845ff2.js +152 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/utils/range.f0a5ef1763ff3cb9.js +102 -0
- package/dist/dash/standalone/static/assets/chunks/agent-pills-9f0b2f5ae78f8034.js +1 -0
- package/dist/dash/standalone/static/assets/chunks/agent-settings-form-8b9eb7a50b6353c8.js +1 -0
- package/dist/dash/standalone/static/assets/chunks/agents-grid-ec0a1369f485e044.js +1 -0
- package/dist/dash/standalone/static/assets/chunks/badge-97931d920966447a.js +1 -0
- package/dist/dash/standalone/static/assets/chunks/card-a390b476c49de404.js +1 -0
- package/dist/dash/standalone/static/assets/chunks/combo-0c5bac507d410ec8.js +1 -0
- package/dist/dash/standalone/static/assets/chunks/composer-2c92fc6e47ca91ca.js +1 -0
- package/dist/dash/standalone/static/assets/chunks/composer-e73a0b422a64d24b.js +1 -0
- package/dist/dash/standalone/static/assets/chunks/confirm-a7e97c1e3e7b1d98.js +1 -0
- package/dist/dash/standalone/static/assets/chunks/connect-apps-70717f2cb7ae1e00.js +1 -0
- package/dist/dash/standalone/static/assets/chunks/connect-repositories-6edbbdd3d805d960.js +1 -0
- package/dist/dash/standalone/static/assets/chunks/credentials-list-c59af917890a58af.js +2 -0
- package/dist/dash/standalone/static/assets/chunks/custom-range-80abdcdffdfe237f.js +1 -0
- package/dist/dash/standalone/static/assets/chunks/editor-40545d274265dd1a.js +7 -0
- package/dist/dash/standalone/static/assets/chunks/engines-list-7aaf3d15897cb0aa.js +1 -0
- package/dist/dash/standalone/static/assets/chunks/field-b36938a3bc00cd3f.js +1 -0
- package/dist/dash/standalone/static/assets/chunks/filter-c0ae37317df5452c.js +1 -0
- package/dist/dash/standalone/static/assets/chunks/format-b19b8eec331414f4.js +1 -0
- package/dist/dash/standalone/static/assets/chunks/heads-bdff7195a22cb2bd.js +1 -0
- package/dist/dash/standalone/static/assets/chunks/instructions-439881899f58791f.js +1 -0
- package/dist/dash/standalone/static/assets/chunks/instructions-5d6b6a16fc5275a6.js +2 -0
- package/dist/dash/standalone/static/assets/chunks/list-d0b7c0b48892cfe6.js +1 -0
- package/dist/dash/standalone/static/assets/chunks/mcp-list-25126d98a226b790.js +1 -0
- package/dist/dash/standalone/static/assets/chunks/models-list-6dfcd14261a538f5.js +1 -0
- package/dist/dash/standalone/static/assets/chunks/paged-3ddb6077bef42752.js +1 -0
- package/dist/dash/standalone/static/assets/chunks/platform-actions-b8a76b633d3d5ffc.js +1 -0
- package/dist/dash/standalone/static/assets/chunks/runners-list-6723c3760642534a.js +1 -0
- package/dist/dash/standalone/static/assets/chunks/runtime-37175329f2865f15-1.js +2 -0
- package/dist/dash/standalone/static/assets/chunks/segmented-1155c44ecf78eec1.js +1 -0
- package/dist/dash/standalone/static/assets/chunks/select-dfbd5abe28b9ac3b.js +1 -0
- package/dist/dash/standalone/static/assets/chunks/sentinel-4c64ec1196343d0e.js +1 -0
- package/dist/dash/standalone/static/assets/chunks/shared-init-37175329f2865f15-2.js +1 -0
- package/dist/dash/standalone/static/assets/chunks/shared-init-66a0fdc8472e9b2f.js +5 -0
- package/dist/dash/standalone/static/assets/chunks/shared-init-d2e3dd1b398d7232.js +2 -0
- package/dist/dash/standalone/static/assets/chunks/tail-3e63ab86a13c8c38.js +1 -0
- package/dist/dash/standalone/static/assets/chunks/task-actions-a8e0042e51f40a41.js +1 -0
- package/dist/dash/standalone/static/assets/chunks/task-ddfddeaf07fb684c.js +1 -0
- package/dist/dash/standalone/static/assets/chunks/task-view-9da31d3338604fed.js +5 -0
- package/dist/dash/standalone/static/assets/chunks/tasks-list-07e674d269ecdf31.js +1 -0
- package/dist/dash/standalone/static/assets/chunks/toolbar-7e424f4c5bb3db9a.js +1 -0
- package/dist/dash/standalone/static/assets/chunks/versions-list-714c7f458a9370fc.js +1 -0
- package/dist/dash/standalone/static/assets/chunks/wular-pnext-37175329f2865f15-0.js +1 -0
- package/dist/dash/standalone/static/assets/dash-account-edc56e85dbaaabe0.css +1 -0
- package/dist/dash/standalone/static/assets/dash-agents-edba57b67e4005d0.css +1 -0
- package/dist/dash/standalone/static/assets/dash-agents-new-fe22253fbada2fbf.css +1 -0
- package/dist/dash/standalone/static/assets/dash-agents-param-slug-adf52e9dacb2d825.css +1 -0
- package/dist/dash/standalone/static/assets/dash-agents-param-slug-edit-a2937a347689ef29.css +1 -0
- package/dist/dash/standalone/static/assets/dash-agents-param-slug-platforms-265ba13db32a460d.css +1 -0
- package/dist/dash/standalone/static/assets/dash-agents-param-slug-settings-8afc52eb0372bc4b.css +1 -0
- package/dist/dash/standalone/static/assets/dash-agents-param-slug-tasks-6193e646be68dbd2.css +1 -0
- package/dist/dash/standalone/static/assets/dash-agents-param-slug-usage-ceadb3a1c911c402.css +1 -0
- package/dist/dash/standalone/static/assets/dash-settings-cf1997cd7f72e518.css +1 -0
- package/dist/dash/standalone/static/assets/dash-settings-param-tab-b44dac8e79a560e6.css +1 -0
- package/dist/dash/standalone/static/assets/dash-tasks-916c7100a8058aa3.css +1 -0
- package/dist/dash/standalone/static/assets/dash-tasks-param-id-24265771fd1e3f78.css +1 -0
- package/dist/dash/standalone/static/assets/dash-usage-40940b289f85e0b6.css +1 -0
- package/dist/dash/standalone/static/assets/pnext-client-0d42268f5239b3d5.js +1 -0
- package/dist/dash/standalone/static/assets/pnext-client-0f7a0ab40127bf71.js +1 -0
- package/dist/dash/standalone/static/assets/pnext-client-19cd968a8d93b747.js +1 -0
- package/dist/dash/standalone/static/assets/pnext-client-34bb66f5f37ae387.js +1 -0
- package/dist/dash/standalone/static/assets/pnext-client-4f02d1eb5fdd8301.js +1 -0
- package/dist/dash/standalone/static/assets/pnext-client-4f5740d5c6a84a21.js +1 -0
- package/dist/dash/standalone/static/assets/pnext-client-5398aea4b83e1bd3.js +1 -0
- package/dist/dash/standalone/static/assets/pnext-client-6a3da44efd3d46e0.js +1 -0
- package/dist/dash/standalone/static/assets/pnext-client-6c93bd1923a32212.js +1 -0
- package/dist/dash/standalone/static/assets/pnext-client-76bea765346a5ac5.js +1 -0
- package/dist/dash/standalone/static/assets/pnext-client-8a37985a7a1612d0.js +1 -0
- package/dist/dash/standalone/static/assets/pnext-client-9849ecdcc3e58c7a.js +1 -0
- package/dist/dash/standalone/static/assets/pnext-client-b7e97e8b42c8b547.js +1 -0
- package/dist/dash/standalone/static/assets/pnext-client-cf0e73abe71d8cf4.js +1 -0
- package/dist/dash/standalone/static/assets/pnext-client-d0c44499e53177b1.js +1 -0
- package/dist/dash/standalone/static/assets/pnext-client-dca2adeac8045fa7.js +1 -0
- package/dist/default-aLeIO8IR.js +1 -0
- package/dist/default-fMaQH1wm.js +1 -0
- package/dist/delete-Cj16PYaw.js +2 -0
- package/dist/delete-DNj3leWA.js +4 -0
- package/dist/disable-CQg5Vybq.js +1 -0
- package/dist/discover-CaAtyC0h.js +1 -0
- package/dist/discover-bVM8EJEz.js +3 -0
- package/dist/dispatch-YW1aqjEg.js +14 -0
- package/dist/docs-Byrpar10.js +2 -0
- package/dist/docs-CqeYenUp.js +2 -0
- package/dist/enable-8m3z7i3i.js +1 -0
- package/dist/env-LsVTi18f.js +1 -0
- package/dist/exec-DgI3boHa.js +11 -0
- package/dist/executor-HWnIIYUL.js +10 -0
- package/dist/flow/builtin/review.js +1 -1
- package/dist/flow/index.d.ts +2 -2
- package/dist/flow/index.js +1 -1
- package/dist/flow-DeCL3x2p.js +1 -0
- package/dist/github-actions-CvLya8ve.js +24 -0
- package/dist/http-DG54kyx4.js +1 -0
- package/dist/index-Xe8n_t2Z.d.ts +365 -0
- package/dist/init-BujliQ7q.js +1 -0
- package/dist/integrations-6kXL9hRo.js +1 -0
- package/dist/integrations-B2CavXR1.js +5 -0
- package/dist/lib/broker.js +2 -2
- package/dist/list-BdiYneg5.js +1 -0
- package/dist/list-CXu4cr8D.js +4 -0
- package/dist/list-DGoVY-ao.js +1 -0
- package/dist/list-DbY1jyj3.js +2 -0
- package/dist/list-DhVfqr0A.js +1 -0
- package/dist/list-DyqtSWvn.js +1 -0
- package/dist/list-QLTjk5SN.js +3 -0
- package/dist/list-vKOTwd4G.js +4 -0
- package/dist/load-DDZfByUe.js +2 -0
- package/dist/local-B0GiaLV0.js +1 -0
- package/dist/log-view-DeJstSkw.js +3 -0
- package/dist/login-BzdlmD_o.js +1 -0
- package/dist/login-otJB9SYu.js +1 -0
- package/dist/logout-DOrRoxDV.js +1 -0
- package/dist/maintenance-Bg_FzXSq.js +1 -0
- package/dist/match-DMI54zg4.js +1 -0
- package/dist/mcp-DgMoPoUo.js +1 -0
- package/dist/mcp-xSvAWiXX.js +1 -0
- package/dist/migrate-CN-fdMV9.js +2 -0
- package/dist/migrate-DAC6sFgg.js +1 -0
- package/dist/model-BJ-Sokha.js +1 -0
- package/dist/models-DGPrMV51.js +1 -0
- package/dist/prompt-K7-bKcTC.js +7 -0
- package/dist/push-Cg7-XT5h.js +1 -0
- package/dist/queue-yo-Z8TaE.js +117 -0
- package/dist/refresh-CmBQALAW.js +1 -0
- package/dist/remote-AcWWfKVS.js +1 -0
- package/dist/remove-BuaShRZ3.js +1 -0
- package/dist/remove-C8Rm8KP-.js +1 -0
- package/dist/remove-CcMma1x3.js +1 -0
- package/dist/remove-DgMg_OOu.js +1 -0
- package/dist/rename-C0vNcl8e.js +1 -0
- package/dist/result-C6ovl_Dn.js +5 -0
- package/dist/result-oQey_hdw.js +18 -0
- package/dist/resume-T_TXWfqE.js +3 -0
- package/dist/review-CCs6XUSO.js +7 -0
- package/dist/rotate-key-CYimsQR5.js +1 -0
- package/dist/run-BFYg-zZt.js +5 -0
- package/dist/run-D7F7JPV6.js +2 -0
- package/dist/run-hiPyO7js.js +2 -0
- package/dist/runner-D5jaEfhG.js +1 -0
- package/dist/runner-c-2w6Eoj.js +1 -0
- package/dist/schema-DoNO0dPh.js +1 -0
- package/dist/sdk.d.ts +4 -3
- package/dist/sdk.js +1 -1
- package/dist/serve-BgGXjT_O.js +1 -0
- package/dist/serve-C-AD60Wa.js +12 -0
- package/dist/serve-GIK3fqKA.js +8 -0
- package/dist/serve-K3BVTcDI.js +2 -0
- package/dist/serve-xMihn4g-.js +1 -0
- package/dist/server-DQTGc55C.js +1 -0
- package/dist/setup-host-By8-gv_v.js +6 -0
- package/dist/shared-TznJgMFW.js +1 -0
- package/dist/show-C9ojrH5W.js +1 -0
- package/dist/show-o4yXzSWZ.js +1 -0
- package/dist/status-BBW7Qyde.js +1 -0
- package/dist/steer-D47cuggj.js +4 -0
- package/dist/stop-7brPdki9.js +1 -0
- package/dist/stop-CD2JW6dI.js +3 -0
- package/dist/store-BCBTo0rl.js +42 -0
- package/dist/store-qp7UE2ES.js +19 -0
- package/dist/task-CyrDqqf8.js +1 -0
- package/dist/task-DEp3GHwH.js +1 -0
- package/dist/task-DhZ5vhyY.js +5 -0
- package/dist/test-BcFQUHRo.js +1 -0
- package/dist/tools-D20XYPnO.js +1 -0
- package/dist/types-DMGBYB_K.d.ts +391 -0
- package/dist/unalias-G3sM8fVw.js +1 -0
- package/dist/update-JvgB6Xws.js +2 -0
- package/dist/upgrade-DN3hXDdo.js +2 -0
- package/dist/usage-C1oN2W9c.js +1 -0
- package/dist/usage-DR3wWtYD.js +1 -0
- package/dist/watch-DDmHonTf.js +5 -0
- package/dist/watch-DYkC6Q2q.js +8 -0
- package/dist/wire-DxxfWapP.js +1 -0
- package/dist/worker-C4Lo6rLS.js +9 -0
- package/dist/worker-CaNTsqcD.js +1 -0
- package/dist/workflow-7rqzHHWZ.js +1 -0
- package/docs/cli.md +1 -2
- package/docs/config.md +1 -1
- package/docs/flows.md +12 -1
- package/docs/mcp.md +1 -1
- package/docs/sdk.md +1 -1
- package/migrations/0000_initial.sql +8 -0
- package/migrations/meta/0000_snapshot.json +75 -1
- package/migrations/meta/_journal.json +1 -1
- package/package.json +2 -10
- package/plugins/agents/skills/coder/SKILL.md +1 -0
- package/plugins/claude/.claude-plugin/plugin.json +1 -1
- package/plugins/claude/skills/dispatch/SKILL.md +1 -1
- package/plugins/cursor/.cursor-plugin/plugin.json +1 -1
- package/plugins/cursor/skills/coder/SKILL.md +1 -0
- package/dist/actions-Mk3FSlpJ.js +0 -20
- package/dist/adapter-B0oYCI0S.js +0 -1
- package/dist/adapter-BKVzTDnn.js +0 -1
- package/dist/adapter-DPInwbJG.js +0 -1
- package/dist/add-C2y-mVzl.js +0 -1
- package/dist/add-CLYTF_up.js +0 -6
- package/dist/add-DRsPpQFl.js +0 -1
- package/dist/add-DkpUwhtO.js +0 -1
- package/dist/add-json-5uPnWPoD.js +0 -1
- package/dist/agent-hw3zKw8y.js +0 -3
- package/dist/agent-r5mMcehf.js +0 -1
- package/dist/alias-_0Rwf2cA.js +0 -2
- package/dist/app-oE8G1-bi.js +0 -1
- package/dist/approvals-DbVrsxec.js +0 -2
- package/dist/approve-DeAhFL-m.js +0 -2
- package/dist/apps-eujHiNca.js +0 -1
- package/dist/archive-BCUfymIB.js +0 -3
- package/dist/archive-DZ6vpMHb.js +0 -4
- package/dist/archive-sweep-Cxbh8yAI.js +0 -1
- package/dist/args-BOEEdpWk.js +0 -1
- package/dist/ask-BU2WVxVM.js +0 -4
- package/dist/auth-CBWTmAPA.js +0 -1
- package/dist/auth-Dmn2U7rr.js +0 -1
- package/dist/chat-B_yhNTo0.js +0 -13
- package/dist/chat-bridge-BS9WtP3X.js +0 -2
- package/dist/cli-DWCR7iqa.js +0 -9
- package/dist/client-D9IoAuDD.js +0 -1
- package/dist/config-12pK4qW7.js +0 -3
- package/dist/create-D3f6q0Yq.js +0 -1
- package/dist/credentials-l6dsrZLL.js +0 -1
- package/dist/dash/manifest.json +0 -3313
- package/dist/dash/public/assets/chunks/agent-pills-dd0b7643e125bbf1.js +0 -1
- package/dist/dash/public/assets/chunks/agent-settings-form-45ae6aeaaed2b568.js +0 -1
- package/dist/dash/public/assets/chunks/agents-grid-b906da80c31fc035.js +0 -1
- package/dist/dash/public/assets/chunks/badge-676b01e0c615bf7b.js +0 -1
- package/dist/dash/public/assets/chunks/card-e0901d68b79dfa93.js +0 -1
- package/dist/dash/public/assets/chunks/combo-952a457d52360d88.js +0 -1
- package/dist/dash/public/assets/chunks/composer-49f9e7c5c4dfda3b.js +0 -1
- package/dist/dash/public/assets/chunks/composer-f331d00837143aee.js +0 -1
- package/dist/dash/public/assets/chunks/confirm-f2fe4ba9905a89c6.js +0 -1
- package/dist/dash/public/assets/chunks/connect-apps-661f3b3a85f1776a.js +0 -1
- package/dist/dash/public/assets/chunks/connect-repositories-5389ec8701a3deac.js +0 -1
- package/dist/dash/public/assets/chunks/credentials-list-e6177d0943517929.js +0 -2
- package/dist/dash/public/assets/chunks/custom-range-03ba6fb2ade7d282.js +0 -1
- package/dist/dash/public/assets/chunks/editor-34cb529d6d8a4b09.js +0 -7
- package/dist/dash/public/assets/chunks/engines-list-2f1acee3ecc8461a.js +0 -1
- package/dist/dash/public/assets/chunks/field-901f1f35c18c39c9.js +0 -1
- package/dist/dash/public/assets/chunks/format-eb03fc9d9744d960.js +0 -1
- package/dist/dash/public/assets/chunks/heads-1570a3a6db331979.js +0 -1
- package/dist/dash/public/assets/chunks/instructions-052fa45a9daf6db6.js +0 -2
- package/dist/dash/public/assets/chunks/instructions-d0a4b0d95009c262.js +0 -1
- package/dist/dash/public/assets/chunks/list-87b359bebd26986a.js +0 -1
- package/dist/dash/public/assets/chunks/mcp-list-b42f0d2ee463b37d.js +0 -1
- package/dist/dash/public/assets/chunks/models-list-0669d26fd662aec3.js +0 -1
- package/dist/dash/public/assets/chunks/paged-bc6fa0c2b9d52ed7.js +0 -1
- package/dist/dash/public/assets/chunks/platform-actions-c92ca3c6198a9387.js +0 -1
- package/dist/dash/public/assets/chunks/runners-list-9fffa50432c470c9.js +0 -1
- package/dist/dash/public/assets/chunks/runtime-246221e985d863e5-1.js +0 -2
- package/dist/dash/public/assets/chunks/segmented-358ff2b4992b8384.js +0 -1
- package/dist/dash/public/assets/chunks/select-1013702bdfb1ade4.js +0 -1
- package/dist/dash/public/assets/chunks/sentinel-c972a33dc69a5135.js +0 -1
- package/dist/dash/public/assets/chunks/shared-init-20e199043ff5d00f.js +0 -2
- package/dist/dash/public/assets/chunks/shared-init-246221e985d863e5-2.js +0 -1
- package/dist/dash/public/assets/chunks/shared-init-88cce66bb3cfe1e5.js +0 -5
- package/dist/dash/public/assets/chunks/tail-7c27aab8ba268bd9.js +0 -1
- package/dist/dash/public/assets/chunks/task-actions-a9603d520434baab.js +0 -1
- package/dist/dash/public/assets/chunks/task-fa8b82e95e771c4a.js +0 -1
- package/dist/dash/public/assets/chunks/task-view-f7039cb330bcb0b5.js +0 -3
- package/dist/dash/public/assets/chunks/tasks-list-2a905b4a0c3a9042.js +0 -1
- package/dist/dash/public/assets/chunks/toolbar-f964fa864699f095.js +0 -1
- package/dist/dash/public/assets/chunks/versions-list-fc2e0d2a7382e049.js +0 -1
- package/dist/dash/public/assets/chunks/wular-pnext-246221e985d863e5-0.js +0 -1
- package/dist/dash/public/assets/dash-account-96fc41be318839fa.css +0 -1
- package/dist/dash/public/assets/dash-agents-290a7b21c7dc0c92.css +0 -1
- package/dist/dash/public/assets/dash-agents-new-a7a07bf4ebda24c2.css +0 -1
- package/dist/dash/public/assets/dash-agents-param-slug-69a72fb0bbd14cc2.css +0 -1
- package/dist/dash/public/assets/dash-agents-param-slug-edit-397bdfb2f0ca328c.css +0 -1
- package/dist/dash/public/assets/dash-agents-param-slug-platforms-a7b3b7247c27f1d2.css +0 -1
- package/dist/dash/public/assets/dash-agents-param-slug-settings-8389b7d0555e8ccf.css +0 -1
- package/dist/dash/public/assets/dash-agents-param-slug-tasks-5987b8aea5e8f30d.css +0 -1
- package/dist/dash/public/assets/dash-agents-param-slug-usage-19abc69e1d4e6b0a.css +0 -1
- package/dist/dash/public/assets/dash-settings-53b8e6a8f656fa1a.css +0 -1
- package/dist/dash/public/assets/dash-settings-param-tab-ac61fdfdd6fd533f.css +0 -1
- package/dist/dash/public/assets/dash-tasks-cc0b1d32874b731c.css +0 -1
- package/dist/dash/public/assets/dash-tasks-param-id-02b8c7bd99cc1090.css +0 -1
- package/dist/dash/public/assets/dash-usage-884943221f76ad93.css +0 -1
- package/dist/dash/public/assets/pnext-client-17ba55bb57a1f4da.js +0 -1
- package/dist/dash/public/assets/pnext-client-1afa4148bea69ad2.js +0 -1
- package/dist/dash/public/assets/pnext-client-2693db10b197ade1.js +0 -1
- package/dist/dash/public/assets/pnext-client-43f52a07f8067b1b.js +0 -1
- package/dist/dash/public/assets/pnext-client-4594b693fe612835.js +0 -1
- package/dist/dash/public/assets/pnext-client-73f73e24f8141fb6.js +0 -1
- package/dist/dash/public/assets/pnext-client-7574da4651b40eae.js +0 -1
- package/dist/dash/public/assets/pnext-client-7b3a2c1092cbbb02.js +0 -1
- package/dist/dash/public/assets/pnext-client-816fe5fc96d3f768.js +0 -1
- package/dist/dash/public/assets/pnext-client-86cb956b448b0887.js +0 -1
- package/dist/dash/public/assets/pnext-client-8b64e3c030164288.js +0 -1
- package/dist/dash/public/assets/pnext-client-8f6161084c595a22.js +0 -1
- package/dist/dash/public/assets/pnext-client-9203ec11926e5d04.js +0 -1
- package/dist/dash/public/assets/pnext-client-a38b446f941d44df.js +0 -1
- package/dist/dash/public/assets/pnext-client-bd8d51aaa095e8a4.js +0 -1
- package/dist/dash/public/assets/pnext-client-e9821d1f1bdb281d.js +0 -1
- package/dist/dash/server/bundle-0.1.6-b29ec45cb963d47f/entry.js +0 -2
- package/dist/default-CwQXCtoB.js +0 -1
- package/dist/default-De8FXiWz.js +0 -1
- package/dist/delete-BD6AnCLg.js +0 -2
- package/dist/delete-cS01oOIb.js +0 -4
- package/dist/disable-BMWWeYFQ.js +0 -1
- package/dist/discover-Cfx5RPU7.js +0 -3
- package/dist/discover-Dvr_3_Xr.js +0 -1
- package/dist/dispatch-BKeAch9E.js +0 -14
- package/dist/docs-BX65z2Iu.js +0 -2
- package/dist/docs-DWegDRiu.js +0 -2
- package/dist/enable-Cfzeau2x.js +0 -1
- package/dist/env-CRf6wkM2.js +0 -1
- package/dist/exec-RZFLclKX.js +0 -11
- package/dist/executor-BvAA7Cgw.js +0 -10
- package/dist/flow-kAxxVOiR.js +0 -1
- package/dist/github-actions-DwUzm4hC.js +0 -24
- package/dist/http-Bkg_OQ6r.js +0 -1
- package/dist/index-CZjFX5zV.d.ts +0 -357
- package/dist/init-C4tDFH4G.js +0 -1
- package/dist/integrations-BAgdVDhj.js +0 -5
- package/dist/integrations-D-L3uQRj.js +0 -1
- package/dist/list-5Ljf9TxF.js +0 -2
- package/dist/list-COAo7eZd.js +0 -4
- package/dist/list-DuPqU3fk.js +0 -3
- package/dist/list-DzGuMkQy.js +0 -1
- package/dist/list-J8d_zh-o.js +0 -1
- package/dist/list-vOvIpbOH.js +0 -1
- package/dist/list-vpyS-hv8.js +0 -1
- package/dist/list-way5oLO0.js +0 -4
- package/dist/load-BpEsAn51.js +0 -2
- package/dist/local-H3uvqEbq.js +0 -1
- package/dist/log-view-dg0TlKLA.js +0 -1
- package/dist/login-BBw95-S3.js +0 -1
- package/dist/login-CNmeRAL7.js +0 -1
- package/dist/logout-j0dTo_Ib.js +0 -1
- package/dist/maintenance-DkLVtqM7.js +0 -1
- package/dist/match-CXAjDhg7.js +0 -1
- package/dist/mcp-BgKb2Cdk.js +0 -1
- package/dist/mcp-CsmBtlW9.js +0 -1
- package/dist/migrate-D4nzYhk8.js +0 -2
- package/dist/migrate-N-85_N7J.js +0 -1
- package/dist/model-B79MFtRV.js +0 -1
- package/dist/models-_5LVGC3m.js +0 -1
- package/dist/prompt-CEuBMNhk.js +0 -7
- package/dist/push-DbdnbZYt.js +0 -1
- package/dist/queue-C9fSdE_X.js +0 -116
- package/dist/refresh-BDmap1RA.js +0 -1
- package/dist/remote-miQNTVRa.js +0 -1
- package/dist/remove-BNzbUhaK.js +0 -1
- package/dist/remove-CLpL12Ya.js +0 -1
- package/dist/remove-CaYH9Cna.js +0 -1
- package/dist/remove-D-QeeZQL.js +0 -1
- package/dist/rename-Bhcb4t9F.js +0 -1
- package/dist/result-BfTfJayl.js +0 -5
- package/dist/result-D8DsvJDu.js +0 -15
- package/dist/resume-aZ8yWDBh.js +0 -3
- package/dist/review-BEhDcX4b.js +0 -7
- package/dist/rotate-key-BqnKhTK8.js +0 -1
- package/dist/run-BWbabvub.js +0 -5
- package/dist/run-BdPjxaZU.js +0 -2
- package/dist/run-Dqe38jX8.js +0 -2
- package/dist/runner-BPpiJvHx.js +0 -1
- package/dist/runner-sUpWJ_k0.js +0 -1
- package/dist/schema-CU2iFkp8.js +0 -1
- package/dist/serve-BTeomYxW.js +0 -1
- package/dist/serve-C0WC-QrV.js +0 -2
- package/dist/serve-CcObDKKQ.js +0 -12
- package/dist/serve-Ck95047c.js +0 -1
- package/dist/serve-DA5I2qXj.js +0 -4
- package/dist/server-BxLFZL80.js +0 -1
- package/dist/setup-host-DLd_j2Uw.js +0 -6
- package/dist/shared-BLkGRKty.js +0 -1
- package/dist/show-DzoQIs75.js +0 -1
- package/dist/show-FC3dJcD-.js +0 -1
- package/dist/status-BU3DR1XU.js +0 -1
- package/dist/steer-P_38hRRD.js +0 -4
- package/dist/stop-BJGDRPsp.js +0 -1
- package/dist/stop-BWY6k6v5.js +0 -3
- package/dist/store-B3ZHoBJY.js +0 -8
- package/dist/store-BLi19UDE.js +0 -42
- package/dist/task-C6VAg5WU.js +0 -1
- package/dist/task-DeglY79z.js +0 -5
- package/dist/task-b2BK481M.js +0 -1
- package/dist/test-BrSrhop9.js +0 -1
- package/dist/tools-CgswhJzh.js +0 -1
- package/dist/types-I5Cwtl_K.d.ts +0 -389
- package/dist/unalias-mMHXqok7.js +0 -1
- package/dist/update-DbOWToPy.js +0 -2
- package/dist/upgrade-D6oC9HQI.js +0 -2
- package/dist/usage-Cb8Dtv9V.js +0 -1
- package/dist/usage-DMs-IIJC.js +0 -1
- package/dist/watch-BcMQXGYO.js +0 -8
- package/dist/watch-eE2XiwsC.js +0 -5
- package/dist/wire-BeT1Axeo.js +0 -1
- package/dist/worker-CXndxmGF.js +0 -9
- package/dist/worker-DrucI22w.js +0 -1
- package/dist/workflow-Cshghoas.js +0 -1
- package/src/client/index.ts +0 -573
- package/src/client/types.ts +0 -506
- package/src/core/defaults.ts +0 -25
- package/src/core/errors.ts +0 -72
- package/src/core/task/log-view.ts +0 -173
- package/src/server/auth/sign-in.ts +0 -14
- package/src/server/dash/api/load.ts +0 -62
- package/src/server/dash/api/types.ts +0 -11
- package/src/server/dash/app/connect/page.tsx +0 -42
- package/src/server/dash/app/dash/account/loading.tsx +0 -11
- package/src/server/dash/app/dash/account/notify.tsx +0 -42
- package/src/server/dash/app/dash/account/page.css +0 -81
- package/src/server/dash/app/dash/account/page.tsx +0 -126
- package/src/server/dash/app/dash/account/sign-out.tsx +0 -24
- package/src/server/dash/app/dash/agents/(list)/agent-menu.tsx +0 -10
- package/src/server/dash/app/dash/agents/(list)/agents-grid.tsx +0 -143
- package/src/server/dash/app/dash/agents/(list)/connect-apps.tsx +0 -46
- package/src/server/dash/app/dash/agents/(list)/loading.tsx +0 -14
- package/src/server/dash/app/dash/agents/(list)/page.css +0 -72
- package/src/server/dash/app/dash/agents/(list)/page.tsx +0 -89
- package/src/server/dash/app/dash/agents/[slug]/(tabs)/layout.tsx +0 -135
- package/src/server/dash/app/dash/agents/[slug]/(tabs)/loading.tsx +0 -5
- package/src/server/dash/app/dash/agents/[slug]/(tabs)/page.css +0 -21
- package/src/server/dash/app/dash/agents/[slug]/(tabs)/page.tsx +0 -173
- package/src/server/dash/app/dash/agents/[slug]/(tabs)/platforms/loading.tsx +0 -18
- package/src/server/dash/app/dash/agents/[slug]/(tabs)/platforms/page.css +0 -87
- package/src/server/dash/app/dash/agents/[slug]/(tabs)/platforms/page.tsx +0 -258
- package/src/server/dash/app/dash/agents/[slug]/(tabs)/platforms/platform-actions.tsx +0 -111
- package/src/server/dash/app/dash/agents/[slug]/(tabs)/settings/agent-settings-form.css +0 -114
- package/src/server/dash/app/dash/agents/[slug]/(tabs)/settings/agent-settings-form.tsx +0 -294
- package/src/server/dash/app/dash/agents/[slug]/(tabs)/settings/loading.tsx +0 -5
- package/src/server/dash/app/dash/agents/[slug]/(tabs)/settings/page.tsx +0 -54
- package/src/server/dash/app/dash/agents/[slug]/(tabs)/tasks/loading.tsx +0 -5
- package/src/server/dash/app/dash/agents/[slug]/(tabs)/tasks/page.tsx +0 -14
- package/src/server/dash/app/dash/agents/[slug]/(tabs)/usage/loading.tsx +0 -31
- package/src/server/dash/app/dash/agents/[slug]/(tabs)/usage/page.css +0 -12
- package/src/server/dash/app/dash/agents/[slug]/(tabs)/usage/page.tsx +0 -163
- package/src/server/dash/app/dash/agents/[slug]/(tabs)/versions-list.tsx +0 -53
- package/src/server/dash/app/dash/agents/[slug]/edit/loading.tsx +0 -31
- package/src/server/dash/app/dash/agents/[slug]/edit/page.tsx +0 -91
- package/src/server/dash/app/dash/agents/agent/agent-pills.css +0 -27
- package/src/server/dash/app/dash/agents/agent/agent-pills.tsx +0 -133
- package/src/server/dash/app/dash/agents/agent/hero.css +0 -40
- package/src/server/dash/app/dash/agents/agent/hero.tsx +0 -60
- package/src/server/dash/app/dash/agents/agent/instructions.css +0 -29
- package/src/server/dash/app/dash/agents/agent/instructions.tsx +0 -82
- package/src/server/dash/app/dash/agents/editor/connect-repositories.ts +0 -16
- package/src/server/dash/app/dash/agents/editor/editor.css +0 -263
- package/src/server/dash/app/dash/agents/editor/editor.tsx +0 -774
- package/src/server/dash/app/dash/agents/editor/import-picker.css +0 -48
- package/src/server/dash/app/dash/agents/editor/import-picker.tsx +0 -253
- package/src/server/dash/app/dash/agents/editor/names.ts +0 -35
- package/src/server/dash/app/dash/agents/new/loading.tsx +0 -25
- package/src/server/dash/app/dash/agents/new/page.tsx +0 -72
- package/src/server/dash/app/dash/layout.css +0 -322
- package/src/server/dash/app/dash/layout.tsx +0 -344
- package/src/server/dash/app/dash/page.tsx +0 -14
- package/src/server/dash/app/dash/settings/[tab]/credentials-list.css +0 -94
- package/src/server/dash/app/dash/settings/[tab]/credentials-list.tsx +0 -619
- package/src/server/dash/app/dash/settings/[tab]/credentials.tsx +0 -36
- package/src/server/dash/app/dash/settings/[tab]/engines-list.css +0 -16
- package/src/server/dash/app/dash/settings/[tab]/engines-list.tsx +0 -135
- package/src/server/dash/app/dash/settings/[tab]/list.css +0 -98
- package/src/server/dash/app/dash/settings/[tab]/list.tsx +0 -215
- package/src/server/dash/app/dash/settings/[tab]/loading.tsx +0 -6
- package/src/server/dash/app/dash/settings/[tab]/mcp-list.css +0 -43
- package/src/server/dash/app/dash/settings/[tab]/mcp-list.tsx +0 -290
- package/src/server/dash/app/dash/settings/[tab]/models-list.tsx +0 -513
- package/src/server/dash/app/dash/settings/[tab]/page.tsx +0 -89
- package/src/server/dash/app/dash/settings/[tab]/runners-list.css +0 -153
- package/src/server/dash/app/dash/settings/[tab]/runners-list.tsx +0 -457
- package/src/server/dash/app/dash/settings/layout.tsx +0 -50
- package/src/server/dash/app/dash/settings/model-options.ts +0 -117
- package/src/server/dash/app/dash/settings/page.tsx +0 -7
- package/src/server/dash/app/dash/settings/settings-head.tsx +0 -24
- package/src/server/dash/app/dash/settings/tunnel-guide.tsx +0 -28
- package/src/server/dash/app/dash/tasks/[id]/activity.tsx +0 -202
- package/src/server/dash/app/dash/tasks/[id]/loading.tsx +0 -31
- package/src/server/dash/app/dash/tasks/[id]/page.tsx +0 -30
- package/src/server/dash/app/dash/tasks/[id]/task-actions.tsx +0 -164
- package/src/server/dash/app/dash/tasks/[id]/task-view.css +0 -407
- package/src/server/dash/app/dash/tasks/[id]/task-view.tsx +0 -513
- package/src/server/dash/app/dash/tasks/composer-data.ts +0 -96
- package/src/server/dash/app/dash/tasks/composer.css +0 -316
- package/src/server/dash/app/dash/tasks/composer.tsx +0 -890
- package/src/server/dash/app/dash/tasks/list/status.css +0 -50
- package/src/server/dash/app/dash/tasks/list/status.tsx +0 -20
- package/src/server/dash/app/dash/tasks/list/task.ts +0 -45
- package/src/server/dash/app/dash/tasks/list/tasks-list.css +0 -85
- package/src/server/dash/app/dash/tasks/list/tasks-list.tsx +0 -402
- package/src/server/dash/app/dash/tasks/list/tasks-section.tsx +0 -96
- package/src/server/dash/app/dash/tasks/page.tsx +0 -53
- package/src/server/dash/app/dash/usage/custom-range.tsx +0 -63
- package/src/server/dash/app/dash/usage/day-chart.css +0 -109
- package/src/server/dash/app/dash/usage/day-chart.tsx +0 -110
- package/src/server/dash/app/dash/usage/loading.tsx +0 -17
- package/src/server/dash/app/dash/usage/metric.ts +0 -13
- package/src/server/dash/app/dash/usage/page.tsx +0 -117
- package/src/server/dash/app/dash/usage/range-bar.css +0 -13
- package/src/server/dash/app/dash/usage/range-bar.tsx +0 -69
- package/src/server/dash/app/dash/usage/stats.css +0 -52
- package/src/server/dash/app/dash/usage/stats.tsx +0 -19
- package/src/server/dash/app/dash/usage/top-agents.css +0 -40
- package/src/server/dash/app/dash/usage/top-agents.tsx +0 -138
- package/src/server/dash/app/globals.css +0 -692
- package/src/server/dash/app/layout.tsx +0 -52
- package/src/server/dash/app/login/page.css +0 -26
- package/src/server/dash/app/login/page.tsx +0 -57
- package/src/server/dash/app/page.tsx +0 -5
- package/src/server/dash/app/responsive.css +0 -49
- package/src/server/dash/app/zone.tsx +0 -13
- package/src/server/dash/comps/frame/auth-panel.css +0 -60
- package/src/server/dash/comps/frame/auth-panel.tsx +0 -44
- package/src/server/dash/comps/frame/drawer.css +0 -28
- package/src/server/dash/comps/frame/drawer.tsx +0 -39
- package/src/server/dash/comps/frame/heads.ts +0 -41
- package/src/server/dash/comps/frame/loading-card.tsx +0 -65
- package/src/server/dash/comps/frame/page-head.css +0 -83
- package/src/server/dash/comps/frame/page-head.tsx +0 -71
- package/src/server/dash/comps/frame/stream.tsx +0 -50
- package/src/server/dash/comps/frame/task-toasts.tsx +0 -214
- package/src/server/dash/comps/frame/theme-choices.tsx +0 -46
- package/src/server/dash/comps/nav/current-link.tsx +0 -53
- package/src/server/dash/comps/nav/side-toggle.tsx +0 -30
- package/src/server/dash/comps/nav/to.ts +0 -22
- package/src/server/dash/comps/ui/badge.css +0 -64
- package/src/server/dash/comps/ui/badge.tsx +0 -41
- package/src/server/dash/comps/ui/card.css +0 -93
- package/src/server/dash/comps/ui/card.tsx +0 -77
- package/src/server/dash/comps/ui/collapse.css +0 -32
- package/src/server/dash/comps/ui/collapse.tsx +0 -49
- package/src/server/dash/comps/ui/combo.tsx +0 -154
- package/src/server/dash/comps/ui/confirm.css +0 -36
- package/src/server/dash/comps/ui/confirm.tsx +0 -67
- package/src/server/dash/comps/ui/field.css +0 -25
- package/src/server/dash/comps/ui/field.tsx +0 -34
- package/src/server/dash/comps/ui/icon.css +0 -22
- package/src/server/dash/comps/ui/icon.tsx +0 -17
- package/src/server/dash/comps/ui/icons.ts +0 -44
- package/src/server/dash/comps/ui/menu.css +0 -178
- package/src/server/dash/comps/ui/menu.tsx +0 -156
- package/src/server/dash/comps/ui/segmented.css +0 -44
- package/src/server/dash/comps/ui/segmented.tsx +0 -58
- package/src/server/dash/comps/ui/select.css +0 -103
- package/src/server/dash/comps/ui/select.tsx +0 -250
- package/src/server/dash/comps/ui/sentinel.css +0 -58
- package/src/server/dash/comps/ui/sentinel.tsx +0 -67
- package/src/server/dash/comps/ui/tabs.css +0 -81
- package/src/server/dash/comps/ui/tabs.tsx +0 -32
- package/src/server/dash/comps/ui/tail.css +0 -12
- package/src/server/dash/comps/ui/tail.tsx +0 -37
- package/src/server/dash/comps/ui/toast.css +0 -73
- package/src/server/dash/comps/ui/toolbar.css +0 -143
- package/src/server/dash/comps/ui/toolbar.tsx +0 -93
- package/src/server/dash/package.json +0 -5
- package/src/server/dash/pnext-env.d.ts +0 -4
- package/src/server/dash/pnext.config.ts +0 -5
- package/src/server/dash/public/assets/apple-touch-icon.png +0 -0
- package/src/server/dash/public/assets/favicon.ico +0 -0
- package/src/server/dash/public/assets/favicon.svg +0 -1
- package/src/server/dash/public/assets/fonts/LICENSE-fira-code +0 -93
- package/src/server/dash/public/assets/fonts/fira-code-latin-400-normal-717ee080.woff2 +0 -0
- package/src/server/dash/public/assets/fonts/fira-code-latin-500-normal-530b6706.woff2 +0 -0
- package/src/server/dash/public/assets/fonts/fira-code-latin-700-normal-98730669.woff2 +0 -0
- package/src/server/dash/tsconfig.json +0 -10
- package/src/server/dash/utils/client.ts +0 -19
- package/src/server/dash/utils/format.ts +0 -75
- package/src/server/dash/utils/paged.ts +0 -184
- package/src/server/dash/utils/range.ts +0 -117
- /package/{src/server/dash/app/dash/usage/usage.css → dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/account/page.1df2bb5150dd9575.css.pnext-asset.js} +0 -0
- /package/dist/dash/{public → standalone/static}/assets/apple-touch-icon.png +0 -0
- /package/dist/dash/{public → standalone/static}/assets/chunks/composer-data-6f7608fed13f3dd7.js +0 -0
- /package/dist/dash/{public → standalone/static}/assets/chunks/model-options-15c53331a2f28a4f.js +0 -0
- /package/dist/dash/{public → standalone/static}/assets/chunks/shared-init-8f2ac936c95a7f7b.js +0 -0
- /package/dist/dash/{public → standalone/static}/assets/connect-382b1729a7ae7808.css +0 -0
- /package/dist/dash/{public → standalone/static}/assets/dash-49ca85b59ac65c20.css +0 -0
- /package/dist/dash/{public → standalone/static}/assets/favicon.ico +0 -0
- /package/dist/dash/{public → standalone/static}/assets/favicon.svg +0 -0
- /package/dist/dash/{public → standalone/static}/assets/fonts/LICENSE-fira-code +0 -0
- /package/dist/dash/{public → standalone/static}/assets/fonts/fira-code-latin-400-normal-717ee080.woff2 +0 -0
- /package/dist/dash/{public → standalone/static}/assets/fonts/fira-code-latin-500-normal-530b6706.woff2 +0 -0
- /package/dist/dash/{public → standalone/static}/assets/fonts/fira-code-latin-700-normal-98730669.woff2 +0 -0
- /package/dist/dash/{public → standalone/static}/assets/global-d2adbf01910d9df5.css +0 -0
- /package/dist/dash/{public → standalone/static}/assets/login-c129b1ce237be260.css +0 -0
|
@@ -0,0 +1,819 @@
|
|
|
1
|
+
// @bun
|
|
2
|
+
import {
|
|
3
|
+
hasLocalMatch,
|
|
4
|
+
hasRemoteMatch
|
|
5
|
+
} from "./index-tgsfjmep.js";
|
|
6
|
+
import {
|
|
7
|
+
getImagesConfig
|
|
8
|
+
} from "./index-141vcwk6.js";
|
|
9
|
+
import {
|
|
10
|
+
cacheHandlerGet,
|
|
11
|
+
cacheHandlerSet,
|
|
12
|
+
hasCacheHandler
|
|
13
|
+
} from "./index-bcws5eh2.js";
|
|
14
|
+
import {
|
|
15
|
+
getNextConfig
|
|
16
|
+
} from "./index-m63czgq5.js";
|
|
17
|
+
import {
|
|
18
|
+
__require
|
|
19
|
+
} from "./index-rt9qq1va.js";
|
|
20
|
+
|
|
21
|
+
// src/compat/image-optimizer/optimize.ts
|
|
22
|
+
import path2 from "path";
|
|
23
|
+
|
|
24
|
+
// src/compat/image-optimizer/detect.ts
|
|
25
|
+
var AVIF = "image/avif";
|
|
26
|
+
var WEBP = "image/webp";
|
|
27
|
+
var PNG = "image/png";
|
|
28
|
+
var JPEG = "image/jpeg";
|
|
29
|
+
var JXL = "image/jxl";
|
|
30
|
+
var JP2 = "image/jp2";
|
|
31
|
+
var HEIC = "image/heic";
|
|
32
|
+
var GIF = "image/gif";
|
|
33
|
+
var SVG = "image/svg+xml";
|
|
34
|
+
var ICO = "image/x-icon";
|
|
35
|
+
var ICNS = "image/x-icns";
|
|
36
|
+
var TIFF = "image/tiff";
|
|
37
|
+
var BMP = "image/bmp";
|
|
38
|
+
var PDF = "application/pdf";
|
|
39
|
+
var ANIMATABLE_TYPES = [WEBP, PNG, GIF];
|
|
40
|
+
var BYPASS_TYPES = [SVG, ICO, ICNS, BMP, JXL, HEIC];
|
|
41
|
+
var EXTENSION_BY_TYPE = {
|
|
42
|
+
[AVIF]: "avif",
|
|
43
|
+
[WEBP]: "webp",
|
|
44
|
+
[PNG]: "png",
|
|
45
|
+
[JPEG]: "jpeg",
|
|
46
|
+
[JXL]: "jxl",
|
|
47
|
+
[JP2]: "jp2",
|
|
48
|
+
[HEIC]: "heic",
|
|
49
|
+
[GIF]: "gif",
|
|
50
|
+
[SVG]: "svg",
|
|
51
|
+
[ICO]: "ico",
|
|
52
|
+
[ICNS]: "icns",
|
|
53
|
+
[TIFF]: "tiff",
|
|
54
|
+
[BMP]: "bmp"
|
|
55
|
+
};
|
|
56
|
+
var TYPE_BY_EXTENSION = Object.fromEntries(Object.entries(EXTENSION_BY_TYPE).map(([type, ext]) => [ext, type]));
|
|
57
|
+
function extensionForType(contentType) {
|
|
58
|
+
return EXTENSION_BY_TYPE[contentType];
|
|
59
|
+
}
|
|
60
|
+
function typeForExtension(extension) {
|
|
61
|
+
return TYPE_BY_EXTENSION[extension];
|
|
62
|
+
}
|
|
63
|
+
function startsWithBytes(buffer, bytes) {
|
|
64
|
+
return bytes.every((b, i) => !b || buffer[i] === b);
|
|
65
|
+
}
|
|
66
|
+
function detectContentType(buffer) {
|
|
67
|
+
if (buffer.byteLength === 0)
|
|
68
|
+
return null;
|
|
69
|
+
if ([255, 216, 255].every((b, i) => buffer[i] === b))
|
|
70
|
+
return JPEG;
|
|
71
|
+
if ([137, 80, 78, 71, 13, 10, 26, 10].every((b, i) => buffer[i] === b)) {
|
|
72
|
+
return PNG;
|
|
73
|
+
}
|
|
74
|
+
if ([71, 73, 70, 56].every((b, i) => buffer[i] === b))
|
|
75
|
+
return GIF;
|
|
76
|
+
if (startsWithBytes(buffer, [82, 73, 70, 70, 0, 0, 0, 0, 87, 69, 66, 80])) {
|
|
77
|
+
return WEBP;
|
|
78
|
+
}
|
|
79
|
+
if ([60, 63, 120, 109, 108].every((b, i) => buffer[i] === b))
|
|
80
|
+
return SVG;
|
|
81
|
+
if ([60, 115, 118, 103].every((b, i) => buffer[i] === b))
|
|
82
|
+
return SVG;
|
|
83
|
+
if (startsWithBytes(buffer, [0, 0, 0, 0, 102, 116, 121, 112, 97, 118, 105, 102])) {
|
|
84
|
+
return AVIF;
|
|
85
|
+
}
|
|
86
|
+
if ([0, 0, 1, 0].every((b, i) => buffer[i] === b))
|
|
87
|
+
return ICO;
|
|
88
|
+
if ([105, 99, 110, 115].every((b, i) => buffer[i] === b))
|
|
89
|
+
return ICNS;
|
|
90
|
+
if ([73, 73, 42, 0].every((b, i) => buffer[i] === b))
|
|
91
|
+
return TIFF;
|
|
92
|
+
if ([77, 77, 0, 42].every((b, i) => buffer[i] === b))
|
|
93
|
+
return TIFF;
|
|
94
|
+
if ([66, 77].every((b, i) => buffer[i] === b))
|
|
95
|
+
return BMP;
|
|
96
|
+
if ([255, 10].every((b, i) => buffer[i] === b))
|
|
97
|
+
return JXL;
|
|
98
|
+
if ([0, 0, 0, 12, 74, 88, 76, 32, 13, 10, 135, 10].every((b, i) => buffer[i] === b)) {
|
|
99
|
+
return JXL;
|
|
100
|
+
}
|
|
101
|
+
if (startsWithBytes(buffer, [0, 0, 0, 0, 102, 116, 121, 112, 104, 101, 105, 99])) {
|
|
102
|
+
return HEIC;
|
|
103
|
+
}
|
|
104
|
+
if ([37, 80, 68, 70, 45].every((b, i) => buffer[i] === b))
|
|
105
|
+
return PDF;
|
|
106
|
+
if ([0, 0, 0, 12, 106, 80, 32, 32, 13, 10, 135, 10].every((b, i) => buffer[i] === b)) {
|
|
107
|
+
return JP2;
|
|
108
|
+
}
|
|
109
|
+
const head = buffer.toString("utf8", 0, Math.min(buffer.length, 512)).trimStart();
|
|
110
|
+
if (/^(<\?xml|<!doctype svg|<svg)/i.test(head))
|
|
111
|
+
return SVG;
|
|
112
|
+
return null;
|
|
113
|
+
}
|
|
114
|
+
function isAnimated(buffer) {
|
|
115
|
+
if (buffer.length > 6 && buffer.toString("ascii", 0, 3) === "GIF") {
|
|
116
|
+
let frames = 0;
|
|
117
|
+
for (let i = 0;i < buffer.length - 2; i++) {
|
|
118
|
+
if (buffer[i] === 33 && buffer[i + 1] === 249 && buffer[i + 2] === 4) {
|
|
119
|
+
frames++;
|
|
120
|
+
if (frames > 1)
|
|
121
|
+
return true;
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
return false;
|
|
125
|
+
}
|
|
126
|
+
if (buffer.length > 8 && [137, 80, 78, 71, 13, 10, 26, 10].every((b, i) => buffer[i] === b)) {
|
|
127
|
+
const actl = buffer.indexOf("acTL");
|
|
128
|
+
if (actl === -1)
|
|
129
|
+
return false;
|
|
130
|
+
const idat = buffer.indexOf("IDAT");
|
|
131
|
+
return idat === -1 || actl < idat;
|
|
132
|
+
}
|
|
133
|
+
if (buffer.length > 16 && buffer.toString("ascii", 0, 4) === "RIFF" && buffer.toString("ascii", 8, 12) === "WEBP") {
|
|
134
|
+
return buffer.includes("ANIM");
|
|
135
|
+
}
|
|
136
|
+
return false;
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
// src/compat/image-optimizer/cache.ts
|
|
140
|
+
import { createHash } from "crypto";
|
|
141
|
+
import { promises as fs } from "fs";
|
|
142
|
+
import path from "path";
|
|
143
|
+
var IMAGE_CACHE_VERSION = 4;
|
|
144
|
+
function getHash(items) {
|
|
145
|
+
const hash = createHash("sha256");
|
|
146
|
+
for (const item of items) {
|
|
147
|
+
hash.update(typeof item === "number" ? String(item) : item);
|
|
148
|
+
}
|
|
149
|
+
return hash.digest("base64url");
|
|
150
|
+
}
|
|
151
|
+
function imageCacheDir(root) {
|
|
152
|
+
return path.join(root, ".next", "cache", "images");
|
|
153
|
+
}
|
|
154
|
+
async function readCacheEntry(cacheDir, cacheKey) {
|
|
155
|
+
try {
|
|
156
|
+
const dir = path.join(cacheDir, cacheKey);
|
|
157
|
+
const files = await fs.readdir(dir);
|
|
158
|
+
const file = files[0];
|
|
159
|
+
if (!file)
|
|
160
|
+
return;
|
|
161
|
+
const [maxAgeSt, expireAtSt, etag, upstreamEtag, extension] = file.split(".", 5);
|
|
162
|
+
if (!etag || !upstreamEtag || !extension)
|
|
163
|
+
return;
|
|
164
|
+
const buffer = await fs.readFile(path.join(dir, file));
|
|
165
|
+
return {
|
|
166
|
+
buffer,
|
|
167
|
+
etag,
|
|
168
|
+
upstreamEtag,
|
|
169
|
+
extension,
|
|
170
|
+
maxAge: Number(maxAgeSt),
|
|
171
|
+
expireAt: Number(expireAtSt)
|
|
172
|
+
};
|
|
173
|
+
} catch {
|
|
174
|
+
return;
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
async function writeCacheEntry(cacheDir, cacheKey, entry, maximumDiskCacheSize) {
|
|
178
|
+
if (maximumDiskCacheSize === 0)
|
|
179
|
+
return;
|
|
180
|
+
if (maximumDiskCacheSize !== undefined && entry.buffer.byteLength > maximumDiskCacheSize) {
|
|
181
|
+
return;
|
|
182
|
+
}
|
|
183
|
+
try {
|
|
184
|
+
const dir = path.join(cacheDir, cacheKey);
|
|
185
|
+
const filename = path.join(dir, `${entry.maxAge}.${entry.expireAt}.${entry.etag}.${entry.upstreamEtag}.${entry.extension}`);
|
|
186
|
+
await fs.rm(dir, { recursive: true, force: true }).catch(() => {
|
|
187
|
+
return;
|
|
188
|
+
});
|
|
189
|
+
await fs.mkdir(dir, { recursive: true });
|
|
190
|
+
await fs.writeFile(filename, entry.buffer);
|
|
191
|
+
if (maximumDiskCacheSize !== undefined) {
|
|
192
|
+
await evictToBudget(cacheDir, cacheKey, maximumDiskCacheSize);
|
|
193
|
+
}
|
|
194
|
+
} catch (err) {
|
|
195
|
+
console.error(`Failed to write image to cache ${cacheKey}`, err);
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
async function evictToBudget(cacheDir, keepKey, maximumDiskCacheSize) {
|
|
199
|
+
const keys = await fs.readdir(cacheDir).catch(() => []);
|
|
200
|
+
const entries = [];
|
|
201
|
+
let total = 0;
|
|
202
|
+
for (const key of keys) {
|
|
203
|
+
const dir = path.join(cacheDir, key);
|
|
204
|
+
const files = await fs.readdir(dir).catch(() => []);
|
|
205
|
+
const file = files[0];
|
|
206
|
+
if (!file)
|
|
207
|
+
continue;
|
|
208
|
+
const stat = await fs.stat(path.join(dir, file)).catch(() => null);
|
|
209
|
+
if (!stat)
|
|
210
|
+
continue;
|
|
211
|
+
total += stat.size;
|
|
212
|
+
entries.push({ key, size: stat.size, expireAt: Number(file.split(".", 2)[1]) || 0 });
|
|
213
|
+
}
|
|
214
|
+
if (total <= maximumDiskCacheSize)
|
|
215
|
+
return;
|
|
216
|
+
entries.sort((a, b) => a.expireAt - b.expireAt);
|
|
217
|
+
for (const entry of entries) {
|
|
218
|
+
if (total <= maximumDiskCacheSize)
|
|
219
|
+
break;
|
|
220
|
+
if (entry.key === keepKey)
|
|
221
|
+
continue;
|
|
222
|
+
await fs.rm(path.join(cacheDir, entry.key), { recursive: true, force: true }).catch(() => {
|
|
223
|
+
return;
|
|
224
|
+
});
|
|
225
|
+
total -= entry.size;
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
|
|
229
|
+
// src/compat/image-optimizer/source.ts
|
|
230
|
+
import { lookup } from "dns/promises";
|
|
231
|
+
import { isIP } from "net";
|
|
232
|
+
class ImageError extends Error {
|
|
233
|
+
statusCode;
|
|
234
|
+
constructor(statusCode, message) {
|
|
235
|
+
super(message);
|
|
236
|
+
this.statusCode = statusCode >= 400 ? statusCode : 500;
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
function extractEtag(etag, buffer) {
|
|
240
|
+
if (etag)
|
|
241
|
+
return Buffer.from(etag).toString("base64url");
|
|
242
|
+
return getHash([buffer]);
|
|
243
|
+
}
|
|
244
|
+
function isPrivateIp(ip) {
|
|
245
|
+
if (isIP(ip) === 4) {
|
|
246
|
+
const parts = ip.split(".").map(Number);
|
|
247
|
+
const [a = -1, b = -1] = parts;
|
|
248
|
+
return a === 0 || a === 10 || a === 127 || a === 100 && b >= 64 && b <= 127 || a === 172 && b >= 16 && b <= 31 || a === 192 && b === 168 || a === 169 && b === 254;
|
|
249
|
+
}
|
|
250
|
+
const lower = ip.toLowerCase();
|
|
251
|
+
return lower === "::" || lower === "::1" || lower.startsWith("fc") || lower.startsWith("fd") || lower.startsWith("fe8") || lower.startsWith("fe9") || lower.startsWith("fea") || lower.startsWith("feb") || lower.startsWith("::ffff:127.") || lower === "localhost";
|
|
252
|
+
}
|
|
253
|
+
function isRedirect(status) {
|
|
254
|
+
return [301, 302, 303, 307, 308].includes(status);
|
|
255
|
+
}
|
|
256
|
+
async function readBodyWithLimit(body, maximumResponseBody, onExceeded) {
|
|
257
|
+
const chunks = [];
|
|
258
|
+
let totalSize = 0;
|
|
259
|
+
const reader = body.getReader();
|
|
260
|
+
for (;; ) {
|
|
261
|
+
const { done, value } = await reader.read();
|
|
262
|
+
if (done)
|
|
263
|
+
break;
|
|
264
|
+
const chunk = Buffer.from(value);
|
|
265
|
+
totalSize += chunk.byteLength;
|
|
266
|
+
if (totalSize > maximumResponseBody) {
|
|
267
|
+
await reader.cancel().catch(() => {
|
|
268
|
+
return;
|
|
269
|
+
});
|
|
270
|
+
onExceeded();
|
|
271
|
+
}
|
|
272
|
+
chunks.push(chunk);
|
|
273
|
+
}
|
|
274
|
+
return Buffer.concat(chunks);
|
|
275
|
+
}
|
|
276
|
+
async function fetchExternalImage(href, dangerouslyAllowLocalIP, maximumResponseBody, count) {
|
|
277
|
+
if (!dangerouslyAllowLocalIP) {
|
|
278
|
+
const { hostname } = new URL(href);
|
|
279
|
+
let ips = [hostname];
|
|
280
|
+
if (!isIP(hostname)) {
|
|
281
|
+
const records = await lookup(hostname, { family: 0, all: true }).catch(() => [
|
|
282
|
+
{ address: hostname }
|
|
283
|
+
]);
|
|
284
|
+
ips = records.map((record) => record.address);
|
|
285
|
+
}
|
|
286
|
+
const privateIps = ips.filter((ip) => isPrivateIp(ip));
|
|
287
|
+
if (privateIps.length > 0) {
|
|
288
|
+
console.error("upstream image", href, "hostname resolved to private IP", JSON.stringify(privateIps), "If this is expected and you understand SSRF risk, use images.dangerouslyAllowLocalIP = true to continue.");
|
|
289
|
+
throw new ImageError(400, '"url" parameter is not allowed');
|
|
290
|
+
}
|
|
291
|
+
}
|
|
292
|
+
const res = await fetch(href, {
|
|
293
|
+
signal: AbortSignal.timeout(7000),
|
|
294
|
+
redirect: "manual"
|
|
295
|
+
}).catch((err) => err);
|
|
296
|
+
if (res instanceof Error) {
|
|
297
|
+
const err = res;
|
|
298
|
+
if (err.name === "TimeoutError" || err.name === "AbortError") {
|
|
299
|
+
console.error("upstream image response timed out for", href);
|
|
300
|
+
throw new ImageError(504, '"url" parameter is valid but upstream response timed out');
|
|
301
|
+
}
|
|
302
|
+
throw err;
|
|
303
|
+
}
|
|
304
|
+
const locationHeader = res.headers.get("Location");
|
|
305
|
+
if (isRedirect(res.status) && locationHeader && URL.canParse(locationHeader, href)) {
|
|
306
|
+
await res.body?.cancel().catch(() => {
|
|
307
|
+
return;
|
|
308
|
+
});
|
|
309
|
+
if (count === 0) {
|
|
310
|
+
console.error("upstream image response had too many redirects", href);
|
|
311
|
+
throw new ImageError(508, '"url" parameter is valid but upstream response is invalid');
|
|
312
|
+
}
|
|
313
|
+
const redirect = new URL(locationHeader, href).href;
|
|
314
|
+
return fetchExternalImage(redirect, dangerouslyAllowLocalIP, maximumResponseBody, count - 1);
|
|
315
|
+
}
|
|
316
|
+
if (!res.ok) {
|
|
317
|
+
console.error("upstream image response failed for", href, res.status);
|
|
318
|
+
throw new ImageError(res.status, '"url" parameter is valid but upstream response is invalid');
|
|
319
|
+
}
|
|
320
|
+
if (!res.body) {
|
|
321
|
+
console.error("upstream image response is empty for", href);
|
|
322
|
+
throw new ImageError(400, '"url" parameter is valid but upstream response is invalid');
|
|
323
|
+
}
|
|
324
|
+
const buffer = await readBodyWithLimit(res.body, maximumResponseBody, () => {
|
|
325
|
+
console.error("upstream image response exceeded maximum size for", href);
|
|
326
|
+
throw new ImageError(413, '"url" parameter is valid but upstream response is invalid');
|
|
327
|
+
});
|
|
328
|
+
return {
|
|
329
|
+
buffer,
|
|
330
|
+
contentType: res.headers.get("Content-Type"),
|
|
331
|
+
cacheControl: res.headers.get("Cache-Control"),
|
|
332
|
+
etag: extractEtag(res.headers.get("ETag"), buffer)
|
|
333
|
+
};
|
|
334
|
+
}
|
|
335
|
+
async function readPublicFile(publicDirs, href) {
|
|
336
|
+
let decoded;
|
|
337
|
+
try {
|
|
338
|
+
decoded = decodeURIComponent(href.split("?", 1)[0] ?? href);
|
|
339
|
+
} catch {
|
|
340
|
+
return;
|
|
341
|
+
}
|
|
342
|
+
if (decoded.includes("..") || decoded.includes("\x00"))
|
|
343
|
+
return;
|
|
344
|
+
const fs2 = await import("fs/promises");
|
|
345
|
+
const path2 = await import("path");
|
|
346
|
+
for (const dir of publicDirs) {
|
|
347
|
+
for (const form of ["NFC", "NFD"]) {
|
|
348
|
+
const candidate = path2.join(dir, ...decoded.normalize(form).split("/").filter(Boolean));
|
|
349
|
+
if (!candidate.startsWith(dir))
|
|
350
|
+
continue;
|
|
351
|
+
try {
|
|
352
|
+
return await fs2.readFile(candidate);
|
|
353
|
+
} catch {}
|
|
354
|
+
}
|
|
355
|
+
}
|
|
356
|
+
return;
|
|
357
|
+
}
|
|
358
|
+
async function fetchInternalImage(href, origin, maximumResponseBody) {
|
|
359
|
+
try {
|
|
360
|
+
const res = await fetch(new URL(href, origin), {
|
|
361
|
+
redirect: "follow",
|
|
362
|
+
headers: { "x-pnext-internal-image": "1" }
|
|
363
|
+
});
|
|
364
|
+
if (!res.body) {
|
|
365
|
+
console.error("internal image response is empty for", href);
|
|
366
|
+
throw new ImageError(400, '"url" parameter is valid but internal response is invalid');
|
|
367
|
+
}
|
|
368
|
+
const buffer = await readBodyWithLimit(res.body, maximumResponseBody, () => {
|
|
369
|
+
console.error("internal image response exceeded maximum size for", href);
|
|
370
|
+
throw new ImageError(413, '"url" parameter is valid but internal response is invalid');
|
|
371
|
+
});
|
|
372
|
+
if (buffer.byteLength === 0) {
|
|
373
|
+
console.error("internal image response is empty for", href);
|
|
374
|
+
throw new ImageError(400, '"url" parameter is valid but internal response is invalid');
|
|
375
|
+
}
|
|
376
|
+
return {
|
|
377
|
+
buffer,
|
|
378
|
+
contentType: res.headers.get("Content-Type"),
|
|
379
|
+
cacheControl: res.headers.get("Cache-Control"),
|
|
380
|
+
etag: extractEtag(res.headers.get("ETag"), buffer)
|
|
381
|
+
};
|
|
382
|
+
} catch (err) {
|
|
383
|
+
if (err instanceof ImageError)
|
|
384
|
+
throw err;
|
|
385
|
+
console.error("upstream image response failed for", href, err);
|
|
386
|
+
throw new ImageError(500, '"url" parameter is valid but upstream response is invalid');
|
|
387
|
+
}
|
|
388
|
+
}
|
|
389
|
+
|
|
390
|
+
// src/compat/image-optimizer/optimize.ts
|
|
391
|
+
var sharpPromise;
|
|
392
|
+
function loadSharp() {
|
|
393
|
+
if (!sharpPromise) {
|
|
394
|
+
sharpPromise = import("sharp").then((m) => m.default ?? m).catch(() => {
|
|
395
|
+
return;
|
|
396
|
+
});
|
|
397
|
+
}
|
|
398
|
+
return sharpPromise;
|
|
399
|
+
}
|
|
400
|
+
var warnedOnce = new Set;
|
|
401
|
+
function warnOnce(message) {
|
|
402
|
+
if (warnedOnce.has(message))
|
|
403
|
+
return;
|
|
404
|
+
warnedOnce.add(message);
|
|
405
|
+
console.warn(message);
|
|
406
|
+
}
|
|
407
|
+
function badRequest(message) {
|
|
408
|
+
return new Response(message, { status: 400, headers: { "content-type": "text/plain" } });
|
|
409
|
+
}
|
|
410
|
+
function errorResponse(error) {
|
|
411
|
+
if (error instanceof ImageError) {
|
|
412
|
+
return new Response(error.message, {
|
|
413
|
+
status: error.statusCode,
|
|
414
|
+
headers: { "content-type": "text/plain" }
|
|
415
|
+
});
|
|
416
|
+
}
|
|
417
|
+
console.error("image optimizer failed", error);
|
|
418
|
+
return new Response("Internal Server Error", { status: 500 });
|
|
419
|
+
}
|
|
420
|
+
function getMaxAge(cacheControl) {
|
|
421
|
+
if (!cacheControl)
|
|
422
|
+
return 0;
|
|
423
|
+
for (const directive of cacheControl.split(",")) {
|
|
424
|
+
const [key = "", rawValue] = directive.trim().split("=", 2);
|
|
425
|
+
if (key.toLowerCase() !== "s-maxage" && key.toLowerCase() !== "max-age")
|
|
426
|
+
continue;
|
|
427
|
+
let value = (rawValue ?? "").toLowerCase();
|
|
428
|
+
if (value.startsWith('"') && value.endsWith('"'))
|
|
429
|
+
value = value.slice(1, -1);
|
|
430
|
+
const n = parseInt(value, 10);
|
|
431
|
+
if (!isNaN(n))
|
|
432
|
+
return n;
|
|
433
|
+
}
|
|
434
|
+
return 0;
|
|
435
|
+
}
|
|
436
|
+
function getSupportedMimeType(formats, accept) {
|
|
437
|
+
for (const format of formats) {
|
|
438
|
+
if (accept.includes(format))
|
|
439
|
+
return format;
|
|
440
|
+
}
|
|
441
|
+
return "";
|
|
442
|
+
}
|
|
443
|
+
function getFileNameWithExtension(url, contentType) {
|
|
444
|
+
const [urlWithoutQueryParams = url] = url.split("?", 1);
|
|
445
|
+
const fileNameWithExtension = urlWithoutQueryParams.split("/").pop();
|
|
446
|
+
if (!contentType || !fileNameWithExtension)
|
|
447
|
+
return "image.bin";
|
|
448
|
+
const [fileName = "image"] = fileNameWithExtension.split(".", 1);
|
|
449
|
+
const extension = extensionForType(contentType) ?? "bin";
|
|
450
|
+
return `${fileName}.${extension}`;
|
|
451
|
+
}
|
|
452
|
+
function contentDispositionHeader(type, fileName) {
|
|
453
|
+
if (/^[\x20-\x7e]*$/.test(fileName) && !fileName.includes('"')) {
|
|
454
|
+
return `${type}; filename="${fileName}"`;
|
|
455
|
+
}
|
|
456
|
+
return `${type}; filename*=UTF-8''${encodeURIComponent(fileName)}`;
|
|
457
|
+
}
|
|
458
|
+
function validateParams(request, searchParams, config, basePath) {
|
|
459
|
+
const url = searchParams.get("url");
|
|
460
|
+
const w = searchParams.get("w");
|
|
461
|
+
const q = searchParams.get("q");
|
|
462
|
+
if (!url)
|
|
463
|
+
return { errorMessage: '"url" parameter is required' };
|
|
464
|
+
if (url.length > 3072)
|
|
465
|
+
return { errorMessage: '"url" parameter is too long' };
|
|
466
|
+
if (url.startsWith("//")) {
|
|
467
|
+
return { errorMessage: '"url" parameter cannot be a protocol-relative URL (//)' };
|
|
468
|
+
}
|
|
469
|
+
let href;
|
|
470
|
+
let isAbsolute;
|
|
471
|
+
if (url.startsWith("/")) {
|
|
472
|
+
href = url;
|
|
473
|
+
isAbsolute = false;
|
|
474
|
+
let pathname = url.split("?", 1)[0] ?? url;
|
|
475
|
+
try {
|
|
476
|
+
pathname = decodeURIComponent(pathname);
|
|
477
|
+
} catch {}
|
|
478
|
+
if (/\/_next\/image($|\/)/.test(pathname)) {
|
|
479
|
+
return { errorMessage: '"url" parameter cannot be recursive' };
|
|
480
|
+
}
|
|
481
|
+
if (!hasLocalMatch(config.localPatterns, new URL(url, "http://n"))) {
|
|
482
|
+
return { errorMessage: '"url" parameter is not allowed' };
|
|
483
|
+
}
|
|
484
|
+
} else {
|
|
485
|
+
let parsed;
|
|
486
|
+
try {
|
|
487
|
+
parsed = new URL(url);
|
|
488
|
+
} catch {
|
|
489
|
+
return { errorMessage: '"url" parameter is invalid' };
|
|
490
|
+
}
|
|
491
|
+
href = parsed.toString();
|
|
492
|
+
isAbsolute = true;
|
|
493
|
+
if (!["http:", "https:"].includes(parsed.protocol)) {
|
|
494
|
+
return { errorMessage: '"url" parameter is invalid' };
|
|
495
|
+
}
|
|
496
|
+
if (!hasRemoteMatch(config.domains, config.remotePatterns, parsed)) {
|
|
497
|
+
return { errorMessage: '"url" parameter is not allowed' };
|
|
498
|
+
}
|
|
499
|
+
}
|
|
500
|
+
if (!w)
|
|
501
|
+
return { errorMessage: '"w" parameter (width) is required' };
|
|
502
|
+
if (!/^[0-9]+$/.test(w)) {
|
|
503
|
+
return { errorMessage: '"w" parameter (width) must be an integer greater than 0' };
|
|
504
|
+
}
|
|
505
|
+
if (!q)
|
|
506
|
+
return { errorMessage: '"q" parameter (quality) is required' };
|
|
507
|
+
if (!/^[0-9]+$/.test(q)) {
|
|
508
|
+
return { errorMessage: '"q" parameter (quality) must be an integer between 1 and 100' };
|
|
509
|
+
}
|
|
510
|
+
const width = parseInt(w, 10);
|
|
511
|
+
if (width <= 0 || isNaN(width)) {
|
|
512
|
+
return { errorMessage: '"w" parameter (width) must be an integer greater than 0' };
|
|
513
|
+
}
|
|
514
|
+
const sizes = [...config.deviceSizes, ...config.imageSizes];
|
|
515
|
+
if (!sizes.includes(width)) {
|
|
516
|
+
return { errorMessage: `"w" parameter (width) of ${width} is not allowed` };
|
|
517
|
+
}
|
|
518
|
+
const quality = parseInt(q, 10);
|
|
519
|
+
if (isNaN(quality) || quality < 1 || quality > 100) {
|
|
520
|
+
return { errorMessage: '"q" parameter (quality) must be an integer between 1 and 100' };
|
|
521
|
+
}
|
|
522
|
+
if (config.qualities && !config.qualities.includes(quality)) {
|
|
523
|
+
return { errorMessage: `"q" parameter (quality) of ${q} is not allowed` };
|
|
524
|
+
}
|
|
525
|
+
const mimeType = getSupportedMimeType(config.formats, request.headers.get("accept") ?? "");
|
|
526
|
+
const isStatic = url.startsWith(`${basePath}/_next/static/media`) || url.startsWith(`${basePath}/_next/static/immutable/media`);
|
|
527
|
+
return { href, isAbsolute, isStatic, width, quality, mimeType };
|
|
528
|
+
}
|
|
529
|
+
async function optimizeImage(buffer, contentType, width, quality) {
|
|
530
|
+
const sharp = await loadSharp();
|
|
531
|
+
if (!sharp)
|
|
532
|
+
throw new Error("sharp is not available");
|
|
533
|
+
let transformer = sharp(buffer).timeout({ seconds: 7 }).rotate().resize(width, undefined, { withoutEnlargement: true });
|
|
534
|
+
if (contentType === AVIF) {
|
|
535
|
+
transformer = transformer.avif({ quality: Math.max(quality - 20, 1), effort: 3 });
|
|
536
|
+
} else if (contentType === WEBP) {
|
|
537
|
+
transformer = transformer.webp({ quality });
|
|
538
|
+
} else if (contentType === PNG) {
|
|
539
|
+
transformer = transformer.png({ quality });
|
|
540
|
+
} else if (contentType === JPEG) {
|
|
541
|
+
transformer = transformer.jpeg({ quality, mozjpeg: true });
|
|
542
|
+
}
|
|
543
|
+
return transformer.toBuffer();
|
|
544
|
+
}
|
|
545
|
+
async function generateImage(upstream, params, config) {
|
|
546
|
+
const { href, width, quality, mimeType } = params;
|
|
547
|
+
const upstreamBuffer = upstream.buffer;
|
|
548
|
+
const upstreamEtag = upstream.etag;
|
|
549
|
+
const maxAge = Math.max(config.minimumCacheTTL, getMaxAge(upstream.cacheControl));
|
|
550
|
+
const upstreamType = detectContentType(upstreamBuffer);
|
|
551
|
+
if (!upstreamType || !upstreamType.startsWith("image/") || upstreamType.includes(",")) {
|
|
552
|
+
console.error("The requested resource isn't a valid image for", href, "received", upstreamType);
|
|
553
|
+
throw new ImageError(400, "The requested resource isn't a valid image.");
|
|
554
|
+
}
|
|
555
|
+
if (upstreamType.startsWith("image/svg") && !config.dangerouslyAllowSVG) {
|
|
556
|
+
console.error(`The requested resource "${href}" has type "${upstreamType}" but dangerouslyAllowSVG is disabled. Consider adding the "unoptimized" property to the <Image>.`);
|
|
557
|
+
throw new ImageError(400, '"url" parameter is valid but image type is not allowed');
|
|
558
|
+
}
|
|
559
|
+
if (ANIMATABLE_TYPES.includes(upstreamType) && isAnimated(upstreamBuffer)) {
|
|
560
|
+
warnOnce(`The requested resource "${href}" is an animated image so it will not be optimized. Consider adding the "unoptimized" property to the <Image>.`);
|
|
561
|
+
return {
|
|
562
|
+
buffer: upstreamBuffer,
|
|
563
|
+
contentType: upstreamType,
|
|
564
|
+
maxAge,
|
|
565
|
+
etag: upstreamEtag,
|
|
566
|
+
upstreamEtag
|
|
567
|
+
};
|
|
568
|
+
}
|
|
569
|
+
if (BYPASS_TYPES.includes(upstreamType)) {
|
|
570
|
+
return {
|
|
571
|
+
buffer: upstreamBuffer,
|
|
572
|
+
contentType: upstreamType,
|
|
573
|
+
maxAge,
|
|
574
|
+
etag: upstreamEtag,
|
|
575
|
+
upstreamEtag
|
|
576
|
+
};
|
|
577
|
+
}
|
|
578
|
+
let contentType;
|
|
579
|
+
if (mimeType) {
|
|
580
|
+
contentType = mimeType;
|
|
581
|
+
} else if (extensionForType(upstreamType) && upstreamType !== WEBP && upstreamType !== AVIF) {
|
|
582
|
+
contentType = upstreamType;
|
|
583
|
+
} else {
|
|
584
|
+
contentType = JPEG;
|
|
585
|
+
}
|
|
586
|
+
try {
|
|
587
|
+
const optimizedBuffer = await optimizeImage(upstreamBuffer, contentType, width, quality);
|
|
588
|
+
return {
|
|
589
|
+
buffer: optimizedBuffer,
|
|
590
|
+
contentType,
|
|
591
|
+
maxAge,
|
|
592
|
+
etag: getHash([optimizedBuffer]),
|
|
593
|
+
upstreamEtag
|
|
594
|
+
};
|
|
595
|
+
} catch {
|
|
596
|
+
return {
|
|
597
|
+
buffer: upstreamBuffer,
|
|
598
|
+
contentType: upstreamType,
|
|
599
|
+
maxAge: config.minimumCacheTTL,
|
|
600
|
+
etag: upstreamEtag,
|
|
601
|
+
upstreamEtag
|
|
602
|
+
};
|
|
603
|
+
}
|
|
604
|
+
}
|
|
605
|
+
function resolveOptimizerConfig() {
|
|
606
|
+
const base = getImagesConfig();
|
|
607
|
+
const raw = getNextConfig().images ?? {};
|
|
608
|
+
return {
|
|
609
|
+
...base,
|
|
610
|
+
maximumDiskCacheSize: typeof raw.maximumDiskCacheSize === "number" ? raw.maximumDiskCacheSize : undefined
|
|
611
|
+
};
|
|
612
|
+
}
|
|
613
|
+
function diskCacheEnabled(config) {
|
|
614
|
+
if (config.customCacheHandler && hasCacheHandler())
|
|
615
|
+
return false;
|
|
616
|
+
if (config.maximumDiskCacheSize === 0)
|
|
617
|
+
return false;
|
|
618
|
+
const experimental = getNextConfig().experimental ?? {};
|
|
619
|
+
return experimental.isrFlushToDisk !== false;
|
|
620
|
+
}
|
|
621
|
+
async function fetchUpstream(params, config, coreConfig, origin) {
|
|
622
|
+
if (params.isAbsolute) {
|
|
623
|
+
return fetchExternalImage(params.href, config.dangerouslyAllowLocalIP, config.maximumResponseBody, config.maximumRedirects);
|
|
624
|
+
}
|
|
625
|
+
const publicFile = await readPublicFile([
|
|
626
|
+
path2.join(coreConfig.outPath, "static"),
|
|
627
|
+
coreConfig.publicPath,
|
|
628
|
+
path2.join(coreConfig.root, "public")
|
|
629
|
+
], params.href);
|
|
630
|
+
if (publicFile) {
|
|
631
|
+
return {
|
|
632
|
+
buffer: publicFile,
|
|
633
|
+
contentType: null,
|
|
634
|
+
cacheControl: null,
|
|
635
|
+
etag: getHash([publicFile])
|
|
636
|
+
};
|
|
637
|
+
}
|
|
638
|
+
return fetchInternalImage(params.href, origin, config.maximumResponseBody);
|
|
639
|
+
}
|
|
640
|
+
async function generateAndStore(cacheKey, params, config, coreConfig, origin) {
|
|
641
|
+
const upstream = await fetchUpstream(params, config, coreConfig, origin);
|
|
642
|
+
const image = await generateImage(upstream, params, config);
|
|
643
|
+
const entry = {
|
|
644
|
+
buffer: image.buffer,
|
|
645
|
+
etag: image.etag,
|
|
646
|
+
upstreamEtag: image.upstreamEtag,
|
|
647
|
+
extension: extensionForType(image.contentType) ?? "bin",
|
|
648
|
+
maxAge: image.maxAge,
|
|
649
|
+
expireAt: Math.max(image.maxAge, config.minimumCacheTTL) * 1000 + Date.now(),
|
|
650
|
+
contentType: image.contentType
|
|
651
|
+
};
|
|
652
|
+
if (config.customCacheHandler && hasCacheHandler()) {
|
|
653
|
+
const revalidate = Math.max(image.maxAge, config.minimumCacheTTL);
|
|
654
|
+
await cacheHandlerSet(cacheKey, {
|
|
655
|
+
kind: "IMAGE",
|
|
656
|
+
buffer: entry.buffer.toString("base64"),
|
|
657
|
+
etag: entry.etag,
|
|
658
|
+
upstreamEtag: entry.upstreamEtag,
|
|
659
|
+
extension: entry.extension,
|
|
660
|
+
revalidate
|
|
661
|
+
}, { kind: "IMAGE" });
|
|
662
|
+
} else if (diskCacheEnabled(config)) {
|
|
663
|
+
await writeCacheEntry(imageCacheDir(coreConfig.root), cacheKey, entry, config.maximumDiskCacheSize);
|
|
664
|
+
}
|
|
665
|
+
return entry;
|
|
666
|
+
}
|
|
667
|
+
var inFlight = new Map;
|
|
668
|
+
var refreshing = new Set;
|
|
669
|
+
async function readCache(cacheKey, config, coreConfig) {
|
|
670
|
+
if (config.customCacheHandler && hasCacheHandler()) {
|
|
671
|
+
const cached = await cacheHandlerGet(cacheKey, { kind: "IMAGE" });
|
|
672
|
+
const value = cached?.value;
|
|
673
|
+
if (value?.kind !== "IMAGE" || typeof value.buffer !== "string")
|
|
674
|
+
return;
|
|
675
|
+
const revalidate = typeof value.revalidate === "number" ? value.revalidate : config.minimumCacheTTL;
|
|
676
|
+
const lastModified = cached?.lastModified ?? Date.now();
|
|
677
|
+
const expireAt = Math.max(revalidate, config.minimumCacheTTL) * 1000 + lastModified;
|
|
678
|
+
return {
|
|
679
|
+
buffer: Buffer.from(value.buffer, "base64"),
|
|
680
|
+
etag: typeof value.etag === "string" ? value.etag : getHash([value.buffer]),
|
|
681
|
+
upstreamEtag: typeof value.upstreamEtag === "string" ? value.upstreamEtag : "",
|
|
682
|
+
extension: typeof value.extension === "string" ? value.extension : "bin",
|
|
683
|
+
maxAge: revalidate,
|
|
684
|
+
expireAt,
|
|
685
|
+
isStale: expireAt < Date.now()
|
|
686
|
+
};
|
|
687
|
+
}
|
|
688
|
+
if (!diskCacheEnabled(config))
|
|
689
|
+
return;
|
|
690
|
+
const entry = await readCacheEntry(imageCacheDir(coreConfig.root), cacheKey);
|
|
691
|
+
if (!entry)
|
|
692
|
+
return;
|
|
693
|
+
return { ...entry, isStale: Date.now() > entry.expireAt };
|
|
694
|
+
}
|
|
695
|
+
function buildResponse(request, params, config, buffer, contentType, etag, maxAge, xCache) {
|
|
696
|
+
const headers = new Headers;
|
|
697
|
+
headers.set("Vary", "Accept");
|
|
698
|
+
headers.set("Cache-Control", params.isStatic ? "public, max-age=315360000, immutable" : `public, max-age=${maxAge}, must-revalidate`);
|
|
699
|
+
headers.set("ETag", etag);
|
|
700
|
+
const ifNoneMatch = request.headers.get("if-none-match");
|
|
701
|
+
if (ifNoneMatch && (ifNoneMatch === etag || ifNoneMatch === `"${etag}"`)) {
|
|
702
|
+
headers.set("X-Nextjs-Cache", xCache);
|
|
703
|
+
return new Response(null, { status: 304, headers });
|
|
704
|
+
}
|
|
705
|
+
headers.set("Content-Type", contentType);
|
|
706
|
+
const fileName = getFileNameWithExtension(params.href, contentType);
|
|
707
|
+
headers.set("Content-Disposition", contentDispositionHeader(config.contentDispositionType, fileName));
|
|
708
|
+
headers.set("Content-Security-Policy", config.contentSecurityPolicy);
|
|
709
|
+
headers.set("X-Nextjs-Cache", xCache);
|
|
710
|
+
headers.set("Content-Length", String(buffer.byteLength));
|
|
711
|
+
if (request.method === "HEAD")
|
|
712
|
+
return new Response(null, { status: 200, headers });
|
|
713
|
+
return new Response(new Uint8Array(buffer), { status: 200, headers });
|
|
714
|
+
}
|
|
715
|
+
async function serveImageOptimizer(request, coreConfig) {
|
|
716
|
+
const config = resolveOptimizerConfig();
|
|
717
|
+
const url = new URL(request.url);
|
|
718
|
+
const basePath = "";
|
|
719
|
+
const paramsResult = validateParams(request, url.searchParams, config, basePath);
|
|
720
|
+
if ("errorMessage" in paramsResult)
|
|
721
|
+
return badRequest(paramsResult.errorMessage);
|
|
722
|
+
const params = paramsResult;
|
|
723
|
+
const cacheKey = getHash([
|
|
724
|
+
IMAGE_CACHE_VERSION,
|
|
725
|
+
params.href,
|
|
726
|
+
params.width,
|
|
727
|
+
params.quality,
|
|
728
|
+
params.mimeType
|
|
729
|
+
]);
|
|
730
|
+
const origin = url.origin;
|
|
731
|
+
try {
|
|
732
|
+
const cached = await readCache(cacheKey, config, coreConfig);
|
|
733
|
+
if (cached && !cached.isStale) {
|
|
734
|
+
return buildResponse(request, params, config, cached.buffer, typeForExtension(cached.extension) ?? "application/octet-stream", cached.etag, cached.maxAge, "HIT");
|
|
735
|
+
}
|
|
736
|
+
if (cached) {
|
|
737
|
+
if (!refreshing.has(cacheKey)) {
|
|
738
|
+
refreshing.add(cacheKey);
|
|
739
|
+
generateAndStore(cacheKey, params, config, coreConfig, origin).catch(() => {
|
|
740
|
+
return;
|
|
741
|
+
}).finally(() => refreshing.delete(cacheKey));
|
|
742
|
+
}
|
|
743
|
+
return buildResponse(request, params, config, cached.buffer, typeForExtension(cached.extension) ?? "application/octet-stream", cached.etag, cached.maxAge, "STALE");
|
|
744
|
+
}
|
|
745
|
+
let pending = inFlight.get(cacheKey);
|
|
746
|
+
if (!pending) {
|
|
747
|
+
pending = generateAndStore(cacheKey, params, config, coreConfig, origin);
|
|
748
|
+
inFlight.set(cacheKey, pending);
|
|
749
|
+
pending.catch(() => {
|
|
750
|
+
return;
|
|
751
|
+
}).finally(() => inFlight.delete(cacheKey));
|
|
752
|
+
}
|
|
753
|
+
const entry = await pending;
|
|
754
|
+
return buildResponse(request, params, config, entry.buffer, entry.contentType, entry.etag, entry.maxAge, "MISS");
|
|
755
|
+
} catch (error) {
|
|
756
|
+
return errorResponse(error);
|
|
757
|
+
}
|
|
758
|
+
}
|
|
759
|
+
|
|
760
|
+
// src/compat/next/image/optimizer.ts
|
|
761
|
+
var BLUR_QUALITY = 70;
|
|
762
|
+
var sharpPromise2;
|
|
763
|
+
function loadSharp2() {
|
|
764
|
+
if (!sharpPromise2) {
|
|
765
|
+
sharpPromise2 = import("sharp").then((m) => m.default ?? m).catch(() => {
|
|
766
|
+
return;
|
|
767
|
+
});
|
|
768
|
+
}
|
|
769
|
+
return sharpPromise2;
|
|
770
|
+
}
|
|
771
|
+
function isImageOptimizerRequest(url, config) {
|
|
772
|
+
return url.pathname === config.path || url.pathname === `${config.path}/`;
|
|
773
|
+
}
|
|
774
|
+
var VALID_BLUR_EXT = new Set(["jpeg", "jpg", "png", "webp", "avif"]);
|
|
775
|
+
function isAnimated2(buffer) {
|
|
776
|
+
if (buffer.length > 16 && buffer.toString("ascii", 0, 4) === "RIFF" && buffer.toString("ascii", 8, 12) === "WEBP") {
|
|
777
|
+
return buffer.includes(Buffer.from("ANIM", "ascii"));
|
|
778
|
+
}
|
|
779
|
+
if (buffer.length > 6 && buffer.toString("ascii", 0, 3) === "GIF") {
|
|
780
|
+
let frames = 0;
|
|
781
|
+
for (let i = 6;i < buffer.length; i++) {
|
|
782
|
+
if (buffer[i] === 44)
|
|
783
|
+
frames++;
|
|
784
|
+
if (frames > 1)
|
|
785
|
+
return true;
|
|
786
|
+
}
|
|
787
|
+
return false;
|
|
788
|
+
}
|
|
789
|
+
if (buffer.length > 16 && buffer.toString("ascii", 4, 8) === "ftyp") {
|
|
790
|
+
return buffer.toString("ascii", 8, 200).includes("avis");
|
|
791
|
+
}
|
|
792
|
+
return false;
|
|
793
|
+
}
|
|
794
|
+
async function generateBlurDataURL(buffer, ext, blurWidth, blurHeight) {
|
|
795
|
+
const extension = ext === "jpg" ? "jpeg" : ext;
|
|
796
|
+
if (!VALID_BLUR_EXT.has(extension) || isAnimated2(buffer))
|
|
797
|
+
return;
|
|
798
|
+
const sharp = await loadSharp2();
|
|
799
|
+
if (!sharp)
|
|
800
|
+
return;
|
|
801
|
+
try {
|
|
802
|
+
const pipeline = sharp(buffer).resize({ width: blurWidth, height: blurHeight });
|
|
803
|
+
let out;
|
|
804
|
+
if (extension === "png")
|
|
805
|
+
out = pipeline.png({ quality: BLUR_QUALITY });
|
|
806
|
+
else if (extension === "webp")
|
|
807
|
+
out = pipeline.webp({ quality: BLUR_QUALITY });
|
|
808
|
+
else if (extension === "avif")
|
|
809
|
+
out = pipeline.avif({ quality: BLUR_QUALITY });
|
|
810
|
+
else
|
|
811
|
+
out = pipeline.jpeg({ quality: BLUR_QUALITY, mozjpeg: true });
|
|
812
|
+
const resized = await out.toBuffer();
|
|
813
|
+
return `data:image/${extension};base64,${resized.toString("base64")}`;
|
|
814
|
+
} catch {
|
|
815
|
+
return;
|
|
816
|
+
}
|
|
817
|
+
}
|
|
818
|
+
|
|
819
|
+
export { serveImageOptimizer, isImageOptimizerRequest, generateBlurDataURL };
|