@wular/coder 0.4.5 → 0.4.7
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/{add-Bz8uaOcu.js → add-8Z5bNm74.js} +1 -1
- package/dist/{add-DTwoL7vJ.js → add-B3zygDO5.js} +1 -1
- package/dist/{add-Bffwutko.js → add-DiwLZmjp.js} +1 -1
- package/dist/{add-cdKdz3K0.js → add-DpsjB8Mp.js} +1 -1
- package/dist/{add-json-BIcbE3Nf.js → add-json-wOUPHwUD.js} +1 -1
- package/dist/{agent-DQK_S1PE.js → agent-B69nSuTY.js} +1 -1
- package/dist/{agent-BcXXkOmD.js → agent-D0pQ_ewc.js} +1 -1
- package/dist/{alias-KQ85bphl.js → alias-CZjD1F0F.js} +1 -1
- package/dist/{app-DaccLHrx.js → app-CE5j7IDN.js} +1 -1
- package/dist/{approvals-CZt_aPCy.js → approvals-Gv7x14u3.js} +1 -1
- package/dist/{approve-DxjyXd66.js → approve-D5Dkw1Lo.js} +1 -1
- package/dist/{apps-eueTmHR5.js → apps-CaHoLNE7.js} +1 -1
- package/dist/{archive-C9yrU4Wg.js → archive-Br2eM_A2.js} +1 -1
- package/dist/{archive-C3JazQuo.js → archive-RBPoB4cr.js} +1 -1
- package/dist/{archive-sweep-CHbOP-p6.js → archive-sweep-jE6TPk2F.js} +1 -1
- package/dist/{ask-DdYrvsTk.js → ask-zjX8kQz0.js} +1 -1
- package/dist/{auth-q8CROpG-.js → auth-DSE3SIuI.js} +1 -1
- package/dist/auth-DsxfkPsx.js +1 -0
- package/dist/{cli-msOzZFXW.js → cli-DtTdpTy3.js} +1 -1
- package/dist/cli.js +1 -1
- package/dist/{config-BllYHi8S.js → config-BAkyRxp-.js} +1 -1
- package/dist/{create-BYki3g42.js → create-BF6VHUst.js} +1 -1
- package/dist/credentials-6PHXj8k7.js +1 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/{boot-bhemypxz.js → boot-8aj7efqk.js} +8 -8
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/{build-tier-0a96kmx3.js → build-tier-qrkpfsk1.js} +17 -17
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/{config-0tvz03a6.js → config-7h84p6q8.js} +3 -3
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/{generate-myw9hef7.js → generate-d8vb1d21.js} +3 -3
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/{index-kdhxpwyq.js → index-0qt2vapb.js} +3 -3
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/{index-b7j671dj.js → index-0wm2p3ks.js} +1 -1
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/{index-n629dy38.js → index-1y0cesgn.js} +4 -4
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/{index-gkndxkxf.js → index-26gwrm07.js} +2 -2
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/{index-jn9rbhrx.js → index-3r6qpe8a.js} +4 -4
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/{index-yrjkqtfj.js → index-42fef2rv.js} +2 -2
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/{index-11xpbfej.js → index-47gx7trn.js} +1 -1
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/{index-4da76t62.js → index-4qsce64w.js} +1 -1
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/{index-9hz3s0m8.js → index-6tb725m8.js} +1 -1
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/{index-0yjv5v47.js → index-912z4mfx.js} +3 -3
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/{index-8ct7rqy3.js → index-aarf1brn.js} +1 -1
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/{index-nf3df4jy.js → index-cqcwwxfp.js} +3 -3
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/{index-he6n2bvp.js → index-e176wk6x.js} +1 -1
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/{index-hdbwtdv2.js → index-fpghsgb4.js} +1 -1
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/{index-rgj5mx84.js → index-jexsy9a8.js} +1 -1
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/{index-29pq0kax.js → index-jjppzw0s.js} +2 -2
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/{index-dgr390q7.js → index-kpdph69z.js} +23 -23
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/{index-gcmj16xy.js → index-md5jchzy.js} +1 -1
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/{index-3e075kny.js → index-n814hcky.js} +1 -1
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/{index-j681c48a.js → index-qjrh7w2g.js} +1 -1
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/{index-qcrvt6er.js → index-s61bx2aj.js} +2 -2
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/{index-cn86z041.js → index-veycp46e.js} +1 -1
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/{index-3ycf5ckv.js → index-vqs3rebe.js} +3 -3
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/{index-d158y67j.js → index-xrsg0041.js} +3 -3
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/{index-xh1nbk46.js → index-xs3411qh.js} +7 -7
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/{index-cvr4z22m.js → index-y9bygr95.js} +1 -1
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/{index-x2m17v9c.js → index-yghskk8w.js} +9 -9
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/{index-tq3b39a5.js → index-yzcpr3yw.js} +4 -4
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/{index-71885zaq.js → index-zedjt25v.js} +4 -4
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/{pipeline-4t9q43ht.js → pipeline-yjdnwbhm.js} +11 -11
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/{proxy-config-60gprphe.js → proxy-config-9r9e0jvn.js} +5 -5
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/{proxy-gfhmktbk.js → proxy-pnevsbfd.js} +7 -7
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/{router-xnrva921.js → router-rzge0vz8.js} +4 -4
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/{routes-ht868pdc.js → routes-0x8wjvcj.js} +7 -7
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/{tsconfig-defaults-bcn34eqb.js → tsconfig-defaults-qe9wd6ne.js} +3 -3
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/cli/start.js +5 -5
- package/dist/dash/standalone/node_modules/@wular/pnext/package.json +1 -1
- package/dist/dash/standalone/server/build-index.json +1 -1
- package/dist/dash/standalone/server/manifest.json +755 -755
- package/dist/dash/standalone/server/modules-server-server-react-server/src/client/{index.2feb1c162fab6033.js → index.b7c6e5f49704993d.js} +1 -1
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/api/{load.bdbf17006af803d1.js → load.35be1b07171553e7.js} +2 -2
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/connect/{page.0a054a6c9dda53b3.js → page.72b248cd95237fb6.js} +4 -4
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/account/{loading.02d57ab48022f8d8.js → loading.fce966caba9308e4.js} +2 -2
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/account/{notify.b7451fdf9c3bb62a.js → notify.fc4ba1b51ee26296.js} +1 -1
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/account/{page.f9ab6ed02876880e.js → page.6c8e958aeab2678e.js} +10 -10
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/account/{sign-out.3368aed882d8f1ac.js → sign-out.5d3bca9efecd6f70.js} +3 -3
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/agents/(list)/{agent-menu.e4b6d486442476b5.js → agent-menu.6d3339a02f02460d.js} +2 -2
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/agents/(list)/{agents-grid.0dbc57156286a18e.js → agents-grid.0813591f217e9dbb.js} +9 -9
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/agents/(list)/{connect-apps.3a5673bcd9aa57d9.js → connect-apps.8d218b96f9939819.js} +5 -5
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/agents/(list)/{loading.8df9f4459410cfaa.js → loading.02dd47fe59680cc8.js} +5 -5
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/agents/(list)/{page.8f85fbaff456c5fe.js → page.e0ad2df8b7c9a0af.js} +11 -11
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/agents/[slug]/(tabs)/{layout.d3aec63db0f5230d.js → layout.f2464375e393c96e.js} +13 -13
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/agents/[slug]/(tabs)/{loading.d53d174ffe56aab3.js → loading.b27b95d8ccf0581e.js} +1 -1
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/agents/[slug]/(tabs)/{page.7fd1bfcf08e25919.js → page.1ba2497fa9116713.js} +13 -13
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/agents/[slug]/(tabs)/platforms/{loading.849dc6e6050a7e21.js → loading.572d3404b984b163.js} +1 -1
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/agents/[slug]/(tabs)/platforms/{page.31687af871d75d39.js → page.9b30598fa84dd0df.js} +15 -15
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/agents/[slug]/(tabs)/platforms/{platform-actions.754eff65aec1ab59.js → platform-actions.bc640252ecf046c6.js} +6 -6
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/agents/[slug]/(tabs)/settings/{agent-settings-form.861ed9832cbe89c1.js → agent-settings-form.d3e6dc6bcfcfc928.js} +8 -8
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/agents/[slug]/(tabs)/settings/{loading.2ec7a3b893925df0.js → loading.a55efbdbdd995213.js} +1 -1
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/agents/[slug]/(tabs)/settings/{page.1ed5379637860fab.js → page.44eabcf6cf9fbfbd.js} +7 -7
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/agents/[slug]/(tabs)/tasks/{loading.20a52282c5806719.js → loading.f5c0c1c727da9f57.js} +1 -1
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/agents/[slug]/(tabs)/tasks/{page.4fd369ba79ed9943.js → page.9324e2d909d55c6f.js} +1 -1
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/agents/[slug]/(tabs)/usage/{loading.43b58c5eef3d4253.js → loading.5e1f922969ab7016.js} +6 -6
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/agents/[slug]/(tabs)/usage/{page.78bf188a8077c64e.js → page.30a31e2464417a08.js} +12 -12
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/agents/[slug]/(tabs)/{versions-list.0c6811b66b2fcc49.js → versions-list.e2427d618decaf7a.js} +6 -6
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/agents/[slug]/edit/{loading.a18042397ffeaf55.js → loading.21eb60e655c125c7.js} +5 -5
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/agents/[slug]/edit/{page.1798dbd9cd334e8f.js → page.057807354396ea77.js} +10 -10
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/agents/agent/{agent-pills.c5710a4f634f9d6a.js → agent-pills.6a0eea1ec99dffd7.js} +4 -4
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/agents/agent/{hero.e5c5af2f9fab6a63.js → hero.9af8c50df6487ca5.js} +5 -5
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/agents/agent/{instructions.403838f7cb218391.js → instructions.2f4229d42e7c99ef.js} +2 -2
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/agents/editor/{connect-repositories.6c7088fd2fcd54f4.js → connect-repositories.329ac182c8242a67.js} +1 -1
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/agents/editor/{editor.4b164e6eb19daa2f.js → editor.d28d4afe11d7ff71.js} +19 -19
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/agents/editor/{import-picker.4bff9b5642aeab17.js → import-picker.5e76549e7934b718.js} +10 -10
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/agents/new/{loading.72e1b274c475e39a.js → loading.02e30b3a7f1ab9f1.js} +3 -3
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/agents/new/{page.44f60b1a32344f70.js → page.c3396459a9ba5c13.js} +8 -8
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/{layout.96376d18592adfa9.js → layout.53a8a3b0e4a7917f.js} +14 -14
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/{page.669f5926ae12d101.js → page.a4be8e0779589f4e.js} +2 -2
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/settings/[tab]/{credentials-list.3fbc413d972a0447.js → credentials-list.c25242f7f4ef6399.js} +13 -13
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/settings/[tab]/{credentials.6423846391b20446.js → credentials.a62d1642ca580836.js} +7 -7
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/settings/[tab]/{engines-list.5bad79f0d4e12e07.js → engines-list.6c02a7e6d3c965cc.js} +6 -6
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/settings/[tab]/{list.2cafbe93b7b2dc0f.js → list.db2e212e3c8b5d32.js} +9 -9
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/settings/[tab]/{loading.1a810cc50ea61706.js → loading.f4024074bf71b11b.js} +1 -1
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/settings/[tab]/{mcp-list.1fc0f6165dd85b8c.js → mcp-list.0ce34ed7d7e756a7.js} +9 -9
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/settings/[tab]/{models-list.520cb30b291794c3.js → models-list.052f3ccc66833937.js} +10 -10
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/settings/[tab]/{page.04b07f9c365be073.js → page.3458e42728e30f54.js} +20 -20
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/settings/[tab]/{runners-list.67786d7d51692d19.js → runners-list.b5296983ba8007aa.js} +12 -12
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/settings/{layout.a619ac4fe999d1b5.js → layout.85946d20d7e48767.js} +4 -4
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/settings/{settings-head.d726e31e4dd04d60.js → settings-head.d0f5ac9cbf170a77.js} +1 -1
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/settings/{tunnel-guide.22448081e9e042d6.js → tunnel-guide.f6685b045ccccdcd.js} +1 -1
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/tasks/[id]/{activity.b23683e6be363068.js → activity.4aeb0734da711e10.js} +3 -3
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/tasks/[id]/{loading.a8f2aa099bd76606.js → loading.d88d1139ea3ff52a.js} +4 -4
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/tasks/[id]/{page.d1ded90712ca586f.js → page.e5b562dd47e19043.js} +7 -7
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/tasks/[id]/{task-actions.f2be118dd5a02896.js → task-actions.ee523c68a38a7975.js} +9 -9
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/tasks/[id]/{task-view.97433b52e6f7175c.js → task-view.1c54f267d127f4e3.js} +21 -21
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/tasks/{composer-data.e2d442d6ecbaa6d3.js → composer-data.5f12d8ef1db38026.js} +2 -2
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/tasks/{composer.78b7d3000d615c7c.js → composer.f232cc1bf2d7b08a.js} +15 -15
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/tasks/list/{status.d78e769ff1411932.js → status.b90b76ffa62e957a.js} +1 -1
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/tasks/list/{task.674ebeabafa0a7e1.js → task.465c2af602cce783.js} +1 -1
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/tasks/list/{tasks-list.9698bdff71c3b3c7.js → tasks-list.2a0e1eb5c396be42.js} +26 -26
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/tasks/list/{tasks-section.c77194f05c3f58fb.js → tasks-section.2cbc1550d723661d.js} +9 -9
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/tasks/{page.157ac3a0938206b0.js → page.107706655a927e59.js} +5 -5
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/usage/{custom-range.9343f6115e244cb4.js → custom-range.d85de32fb6ec4fe6.js} +3 -3
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/usage/{day-chart.c7f6c8981a7acb15.js → day-chart.5e716070459d785c.js} +3 -3
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/usage/loading.8aabf89dabaf1c3f.js +15 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/usage/{metric.5481ab0e025e218e.js → metric.ca0466e33225f184.js} +1 -1
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/usage/{page.4159d729e8aa0439.js → page.c2b88b495780b12a.js} +15 -15
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/usage/{range-bar.8c9b18116c8eb5f0.js → range-bar.76e3de97583e6eab.js} +8 -8
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/usage/{stats.7b8db8c56920b311.js → stats.4793e81a32ea5e8f.js} +1 -1
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/usage/{top-agents.8af5d53eb64bae9c.js → top-agents.b228062d012dc17b.js} +6 -6
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/{layout.77960a272f19bf24.js → layout.c762b39aafb84a1f.js} +3 -3
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/login/{page.33464bce52044759.js → page.3ddaa1a675a04c5a.js} +5 -5
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/frame/{auth-panel.3e020d19aa5ab464.js → auth-panel.5712a8d190b003b4.js} +2 -2
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/frame/{drawer.cf0eb4936a2c7222.js → drawer.b337ce209ff621e9.js} +3 -3
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/frame/{loading-card.9648c7782502babc.js → loading-card.bf58af8330a78704.js} +4 -4
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/frame/{page-head.857951b5dc1ad827.js → page-head.a2336c95004aed4b.js} +5 -5
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/frame/{stream.4c04416dab6ffc52.js → stream.77a2ec038d97b2b8.js} +3 -3
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/frame/{task-toasts.b14bb1f66ed75e75.js → task-toasts.10b46a8b8db1791f.js} +4 -4
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/frame/{theme-choices.60d3a5adbd49989f.js → theme-choices.ea23f57dd753683f.js} +2 -2
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/nav/{current-link.87758179b507850c.js → current-link.844899810531977f.js} +1 -1
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/nav/{side-toggle.581456c353d76d67.js → side-toggle.55d3e6c43ca5e1f9.js} +2 -2
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{badge.e52db98d78836f9a.js → badge.5abdef72e9189fdc.js} +1 -1
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{card.e6876039e375b849.js → card.b0873d38765c9d20.js} +1 -1
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{collapse.730d674a8f7eeeae.js → collapse.dab7f208cbbe6a33.js} +1 -1
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{combo.d478120a76502dd1.js → combo.ca0efacf2ce15578.js} +2 -2
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{confirm.cd23ea20bdf120d2.js → confirm.1328a7ede6c27bb9.js} +1 -1
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{field.37f93068217e1470.js → field.7b2a2075ee8c6e29.js} +1 -1
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{filter.3e8df59ca8abf397.js → filter.f19b6d5ebd6a3c2b.js} +5 -5
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{icon.93605083edf7efe3.js → icon.0874ca2f58f7db14.js} +1 -1
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{menu.3b3026ecd4dc31f0.js → menu.a4dd9fb9f566689a.js} +3 -3
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{segmented.620f07f6b949d7f1.js → segmented.5ac52bb38fb64ae5.js} +1 -1
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{select.14e820c8a26ab8b5.js → select.f036fdc3fce02b92.js} +3 -3
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{sentinel.50afec82b0fd53a1.js → sentinel.d3d29747fe976f88.js} +1 -1
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{tabs.051c87be5bbb7f2b.js → tabs.d00fc01ad9c1b91e.js} +2 -2
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{tail.2d57d68076cef3e1.js → tail.9377d261fe9e91df.js} +2 -2
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{toolbar.32503820243ede06.js → toolbar.b2c59c5fc015d08d.js} +5 -5
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/utils/{client.f37a313f4811ddb8.js → client.a8205c524e63d4a9.js} +1 -1
- package/dist/dash/standalone/static/assets/chunks/{agent-pills-0163fdf910179991.js → agent-pills-c5d56f60f9e17aea.js} +1 -1
- package/dist/dash/standalone/static/assets/chunks/{agent-settings-form-b1fcd9a5236b1fc7.js → agent-settings-form-738f9ac4b9fb67ef.js} +1 -1
- package/dist/dash/standalone/static/assets/chunks/{agents-grid-1d8f0ec6cf8c797e.js → agents-grid-37e2e7f7a37b7a35.js} +1 -1
- package/dist/dash/standalone/static/assets/chunks/{combo-0d55fb62af761ac5.js → combo-8aa7545cfda42090.js} +1 -1
- package/dist/dash/standalone/static/assets/chunks/{composer-8abfcac26339cc99.js → composer-a969037cf22215c7.js} +1 -1
- package/dist/dash/standalone/static/assets/chunks/{composer-44516934e5619d32.js → composer-f433a2e64648633a.js} +1 -1
- package/dist/dash/standalone/static/assets/chunks/{connect-apps-3e8b55a43315f58a.js → connect-apps-97c10fa6e35ccae6.js} +1 -1
- package/dist/dash/standalone/static/assets/chunks/{credentials-list-518af85578eacf6d.js → credentials-list-08cd5dfe29f42bf2.js} +2 -2
- package/dist/dash/standalone/static/assets/chunks/{custom-range-e8977f0d9699c1e6.js → custom-range-63f577240e5d5d85.js} +1 -1
- package/dist/dash/standalone/static/assets/chunks/{editor-75d6d2d01f4fc35a.js → editor-9752c8ab26ebd328.js} +2 -2
- package/dist/dash/standalone/static/assets/chunks/{engines-list-2f6b8b3f2e873e4d.js → engines-list-dab79c4e3e22eefe.js} +1 -1
- package/dist/dash/standalone/static/assets/chunks/{filter-55618648fc10c377.js → filter-02bba5796258deb0.js} +1 -1
- package/dist/dash/standalone/static/assets/chunks/{heads-1326669bdce3da2f.js → heads-8f40675f508ebe33.js} +1 -1
- package/dist/dash/standalone/static/assets/chunks/{list-90a47c07c4dd932e.js → list-591905f0aaa57629.js} +1 -1
- package/dist/dash/standalone/static/assets/chunks/{mcp-list-735e401c60ab51a3.js → mcp-list-bae4d2186f67849e.js} +1 -1
- package/dist/dash/standalone/static/assets/chunks/{models-list-999f54c76ca31379.js → models-list-c758db0c40f5173f.js} +1 -1
- package/dist/dash/standalone/static/assets/chunks/{platform-actions-4592c82f72b21b1a.js → platform-actions-4454493d02a1c172.js} +1 -1
- package/dist/dash/standalone/static/assets/chunks/{runners-list-ab64a5fb01d5eef8.js → runners-list-9d27c76eed33cb05.js} +1 -1
- package/dist/dash/standalone/static/assets/chunks/{select-591ca78b6ae29bd8.js → select-adccc9ac86ac833f.js} +1 -1
- package/dist/dash/standalone/static/assets/chunks/{shared-init-8a34c730aabe942d.js → shared-init-3a95c0e0cc27e0cb.js} +2 -2
- package/dist/dash/standalone/static/assets/chunks/{task-actions-26ad7f7c937f2589.js → task-actions-189775b88ef7ada4.js} +1 -1
- package/dist/dash/standalone/static/assets/chunks/{task-view-0d085ce407e8511e.js → task-view-0b3d7ea9cc41888b.js} +4 -4
- package/dist/dash/standalone/static/assets/chunks/{tasks-list-e9e914cf5dd959e9.js → tasks-list-1b0195e3fd68714f.js} +1 -1
- package/dist/dash/standalone/static/assets/chunks/{toolbar-a99d36b4b6f05bb1.js → toolbar-035d33d1e7ad11bf.js} +1 -1
- package/dist/dash/standalone/static/assets/pnext-client-105d2264e4064f32.js +1 -0
- package/dist/dash/standalone/static/assets/pnext-client-140064bc22718639.js +1 -0
- package/dist/dash/standalone/static/assets/pnext-client-2825c0ea7bfa1240.js +1 -0
- package/dist/dash/standalone/static/assets/pnext-client-39ac7ac446e20cfb.js +1 -0
- package/dist/dash/standalone/static/assets/pnext-client-43cbb846cb4c167f.js +1 -0
- package/dist/dash/standalone/static/assets/pnext-client-7d88eb36e6e3c301.js +1 -0
- package/dist/dash/standalone/static/assets/pnext-client-9172198a969bd1e1.js +1 -0
- package/dist/dash/standalone/static/assets/pnext-client-9c9c88e5c2fe31bc.js +1 -0
- package/dist/dash/standalone/static/assets/pnext-client-a629391487c4b8e3.js +1 -0
- package/dist/dash/standalone/static/assets/pnext-client-aace561f07b06542.js +1 -0
- package/dist/dash/standalone/static/assets/pnext-client-b7d6355b1323fff1.js +1 -0
- package/dist/dash/standalone/static/assets/pnext-client-c4be2f807668e35c.js +1 -0
- package/dist/dash/standalone/static/assets/{pnext-client-899f9625435988dd.js → pnext-client-ce83b85e9562a049.js} +1 -1
- package/dist/dash/standalone/static/assets/pnext-client-dd2046446844a78b.js +1 -0
- package/dist/dash/standalone/static/assets/pnext-client-e62f31aae8ce2c3b.js +1 -0
- package/dist/dash/standalone/static/assets/{pnext-client-4ed05f9a51f559a3.js → pnext-client-ffab25199333314f.js} +1 -1
- package/dist/{default-fMaQH1wm.js → default-B3ValFJp.js} +1 -1
- package/dist/{default-aLeIO8IR.js → default-DgP-hBmn.js} +1 -1
- package/dist/{delete-Cj16PYaw.js → delete-6T7ujDtY.js} +1 -1
- package/dist/{delete-DNj3leWA.js → delete-k7pxp5B6.js} +1 -1
- package/dist/{disable-CQg5Vybq.js → disable-BJXxuJ9s.js} +1 -1
- package/dist/{discover-bVM8EJEz.js → discover-CRUU1hdS.js} +1 -1
- package/dist/{docs-CqeYenUp.js → docs-PmFB2aMA.js} +1 -1
- package/dist/{enable-8m3z7i3i.js → enable-DZ7rw7iL.js} +1 -1
- package/dist/{flow-DeCL3x2p.js → flow-D8T71fyu.js} +1 -1
- package/dist/{init-BujliQ7q.js → init-BfXdsU46.js} +1 -1
- package/dist/integrations-DNz6PHFV.js +1 -0
- package/dist/{list-DbY1jyj3.js → list-CJhHYVb2.js} +2 -2
- package/dist/{list-QLTjk5SN.js → list-CO8x2rgz.js} +1 -1
- package/dist/{list-DyqtSWvn.js → list-Cr4c8mT6.js} +1 -1
- package/dist/{list-CXu4cr8D.js → list-DedQA2pn.js} +1 -1
- package/dist/{list-DGoVY-ao.js → list-F-PN6ieH.js} +1 -1
- package/dist/{list-DhVfqr0A.js → list-NtMN55g0.js} +1 -1
- package/dist/{list-vKOTwd4G.js → list-erdHI-w9.js} +1 -1
- package/dist/{list-BdiYneg5.js → list-yoGxyIlx.js} +1 -1
- package/dist/{login-otJB9SYu.js → login-CJjcqCg4.js} +1 -1
- package/dist/{login-BzdlmD_o.js → login-p2VknR9f.js} +1 -1
- package/dist/{logout-DOrRoxDV.js → logout-B7mHWeWr.js} +1 -1
- package/dist/{maintenance-Bg_FzXSq.js → maintenance-C02_cNLp.js} +1 -1
- package/dist/{mcp-xSvAWiXX.js → mcp--MIvjMWZ.js} +1 -1
- package/dist/{migrate-CN-fdMV9.js → migrate-CSwkAInI.js} +1 -1
- package/dist/migrate-rwTojdkz.js +1 -0
- package/dist/{model-BJ-Sokha.js → model-Cti-OOdV.js} +1 -1
- package/dist/{push-Cg7-XT5h.js → push-D3vxfhc_.js} +1 -1
- package/dist/{queue-yo-Z8TaE.js → queue-EvplGOuk.js} +2 -2
- package/dist/refresh-BFuahSFK.js +1 -0
- package/dist/{remove-BuaShRZ3.js → remove-7y1b_gHT.js} +1 -1
- package/dist/{remove-DgMg_OOu.js → remove-BRj1kPYm.js} +1 -1
- package/dist/{remove-C8Rm8KP-.js → remove-C57QDigT.js} +1 -1
- package/dist/{remove-CcMma1x3.js → remove-UVD3W2OE.js} +1 -1
- package/dist/{rename-C0vNcl8e.js → rename-CCv5pca3.js} +1 -1
- package/dist/{result-C6ovl_Dn.js → result-BWrYnt0u.js} +1 -1
- package/dist/{result-oQey_hdw.js → result-DtVw6XYk.js} +1 -1
- package/dist/{resume-T_TXWfqE.js → resume-D7XcEIbu.js} +1 -1
- package/dist/{review-CCs6XUSO.js → review-DZGyNO5h.js} +1 -1
- package/dist/{rotate-key-CYimsQR5.js → rotate-key-pIfcaeCd.js} +1 -1
- package/dist/{run-BFYg-zZt.js → run-B-2NnW4r.js} +1 -1
- package/dist/{run-hiPyO7js.js → run-BlXCPJzq.js} +1 -1
- package/dist/{run-D7F7JPV6.js → run-Co36tfya.js} +1 -1
- package/dist/runner-DRgQvMiZ.js +1 -0
- package/dist/sdk.js +1 -1
- package/dist/serve-CcqX_2qk.js +8 -0
- package/dist/{serve-K3BVTcDI.js → serve-Ci0AFWtY.js} +2 -2
- package/dist/{serve-C-AD60Wa.js → serve-DeX0lpXj.js} +1 -1
- package/dist/{serve-BgGXjT_O.js → serve-SWjydoBC.js} +1 -1
- package/dist/{server-DQTGc55C.js → server-CWbtW4W_.js} +1 -1
- package/dist/{setup-host-By8-gv_v.js → setup-host-ON6zJGqS.js} +1 -1
- package/dist/{shared-TznJgMFW.js → shared-D64pQ0XU.js} +1 -1
- package/dist/{show-o4yXzSWZ.js → show-U0XPh927.js} +1 -1
- package/dist/{show-C9ojrH5W.js → show-jdaVKG0f.js} +1 -1
- package/dist/{status-BBW7Qyde.js → status-BO1jm6NW.js} +1 -1
- package/dist/{steer-D47cuggj.js → steer-DwSAYYqb.js} +1 -1
- package/dist/{stop-CD2JW6dI.js → stop-B-dQ2-Gm.js} +1 -1
- package/dist/{stop-7brPdki9.js → stop-BS2MB4CQ.js} +1 -1
- package/dist/{store-BCBTo0rl.js → store-B0RLMUR9.js} +1 -1
- package/dist/{store-qp7UE2ES.js → store-Cxc2GYyj.js} +2 -2
- package/dist/{task-CyrDqqf8.js → task-gKnlLOGe.js} +1 -1
- package/dist/{test-BcFQUHRo.js → test-TvJAUf4S.js} +1 -1
- package/dist/{tools-D20XYPnO.js → tools-BQQfMQB9.js} +1 -1
- package/dist/{unalias-G3sM8fVw.js → unalias-DpkgCs_c.js} +1 -1
- package/dist/{update-JvgB6Xws.js → update-ChIiUO1Z.js} +1 -1
- package/dist/{upgrade-DN3hXDdo.js → upgrade-Cq24oWFZ.js} +2 -2
- package/dist/{usage-DR3wWtYD.js → usage-Bw7fQeFC.js} +1 -1
- package/dist/{usage-C1oN2W9c.js → usage-CazoINYM.js} +1 -1
- package/dist/{watch-DDmHonTf.js → watch-B3gAEK1N.js} +1 -1
- package/dist/{watch-DYkC6Q2q.js → watch-DJATTJw_.js} +1 -1
- package/dist/{worker-CaNTsqcD.js → worker-C3dzIzd3.js} +1 -1
- package/dist/{workflow-7rqzHHWZ.js → workflow-BOPHazbM.js} +1 -1
- package/docs/self-host.md +1 -1
- package/package.json +2 -2
- package/plugins/claude/.claude-plugin/plugin.json +1 -1
- package/plugins/cursor/.cursor-plugin/plugin.json +1 -1
- package/dist/auth-FTKev9__.js +0 -1
- package/dist/credentials-DLMuf9OT.js +0 -1
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/usage/loading.1716941ff725f152.js +0 -15
- package/dist/dash/standalone/static/assets/pnext-client-1473d0349f242421.js +0 -1
- package/dist/dash/standalone/static/assets/pnext-client-195f74ae46e817da.js +0 -1
- package/dist/dash/standalone/static/assets/pnext-client-2b5532ce488c9391.js +0 -1
- package/dist/dash/standalone/static/assets/pnext-client-2d3ea662f22db27f.js +0 -1
- package/dist/dash/standalone/static/assets/pnext-client-43c0166e51dce87f.js +0 -1
- package/dist/dash/standalone/static/assets/pnext-client-652affde71fecdf7.js +0 -1
- package/dist/dash/standalone/static/assets/pnext-client-82beeebf704714a6.js +0 -1
- package/dist/dash/standalone/static/assets/pnext-client-ad1fab64ee1a5b30.js +0 -1
- package/dist/dash/standalone/static/assets/pnext-client-b2dccebfff1465f5.js +0 -1
- package/dist/dash/standalone/static/assets/pnext-client-c8a42c9bfeded4e4.js +0 -1
- package/dist/dash/standalone/static/assets/pnext-client-d04d2ffbb491564c.js +0 -1
- package/dist/dash/standalone/static/assets/pnext-client-d060565c4d80b60e.js +0 -1
- package/dist/dash/standalone/static/assets/pnext-client-dce6e1b84ee02f09.js +0 -1
- package/dist/dash/standalone/static/assets/pnext-client-e753846e298d2403.js +0 -1
- package/dist/integrations-6kXL9hRo.js +0 -1
- package/dist/migrate-DAC6sFgg.js +0 -1
- package/dist/refresh-CmBQALAW.js +0 -1
- package/dist/runner-D5jaEfhG.js +0 -1
- package/dist/serve-GIK3fqKA.js +0 -8
- /package/dist/dash/standalone/server/modules-server-server-react-server/src/core/{defaults.f8b4eee28e030eda.js → defaults.36612942475445c3.js} +0 -0
- /package/dist/dash/standalone/server/modules-server-server-react-server/src/core/{errors.5e991e43e42bd943.js → errors.e10960fe4c66b9d8.js} +0 -0
- /package/dist/dash/standalone/server/modules-server-server-react-server/src/core/task/{log-view.d6aae19495a81adb.js → log-view.58ba9a3d545808d7.js} +0 -0
- /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/auth/{sign-in.7ee1680af722840f.js → sign-in.661b3a4139af5bd7.js} +0 -0
- /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/api/{types.0cf02e7714d7c1a2.js → types.9f59e6c761d6aac4.js} +0 -0
- /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/account/{page.1df2bb5150dd9575.css.pnext-asset.js → page.78ecdcf250ebe4bd.css.pnext-asset.js} +0 -0
- /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/agents/(list)/{page.9ea9df9d5f80f310.css.pnext-asset.js → page.c2085e3ab40a8b66.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.3120ea9ec90cb9cc.css.pnext-asset.js → page.31a5f9731d946f4f.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.143668a9c21806d6.css.pnext-asset.js → page.b036494aace45edf.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/{agent-settings-form.d6de90cb40c3bd46.css.pnext-asset.js → agent-settings-form.204e3ec0b23d58c7.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/@/app/dash/usage/{range-bar.4408a4e0ee81b7b6.css.pnext-asset.js → range-bar.034280ed1ab2616b.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 → segmented.4db9cac358865634.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/{page.ae5cbdfc43af6658.css.pnext-asset.js → page.6bf93d41ec4a1fab.css.pnext-asset.js} +0 -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 → agent-pills.1708253f0232e88e.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 → hero.8dd7556828e78b07.css.pnext-asset.js} +0 -0
- /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/agents/agent/{instructions.2176859ec1028fc0.css.pnext-asset.js → instructions.532dc545ddb11e88.css.pnext-asset.js} +0 -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 → page.1e19c72828fbd611.css.pnext-asset.js} +0 -0
- /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/agents/editor/{editor.6b13621790a6d5d6.css.pnext-asset.js → editor.52403b9719fb5157.css.pnext-asset.js} +0 -0
- /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/agents/editor/{names.cf9e376a918a5341.js → names.afb112f2a5a6f0f5.js} +0 -0
- /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/{layout.946ec7c4ebb1d7c6.css.pnext-asset.js → layout.4b31e7e60256f6d1.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.3bd27b14c0d60e48.css.pnext-asset.js → credentials-list.0953506d95c86a2f.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.39cd71b7dc568516.css.pnext-asset.js → engines-list.c04c712adfc0ca48.css.pnext-asset.js} +0 -0
- /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/settings/[tab]/{list.2a204889b73638d9.css.pnext-asset.js → list.4835150fd34d0c4f.css.pnext-asset.js} +0 -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 → mcp-list.a2b3bf3c7c5fa42e.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.3dac92fb9f64e2be.css.pnext-asset.js → runners-list.0e2d8a76197cde60.css.pnext-asset.js} +0 -0
- /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/settings/{model-options.2ca6c87aedf3588c.js → model-options.bccfaced52fc0c00.js} +0 -0
- /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/settings/{page.5edeae58f2154a50.js → page.9d2087e0e33d57f8.js} +0 -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 → task-view.2110bc4a16798cde.css.pnext-asset.js} +0 -0
- /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/tasks/{composer.41721fb98004e79e.css.pnext-asset.js → composer.80a979f079b29681.css.pnext-asset.js} +0 -0
- /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/tasks/list/{status.9516cc22cbd5d84b.css.pnext-asset.js → status.d71a946ed749ca30.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.55fa11c945f9c6db.css.pnext-asset.js → tasks-list.291e81e56d54513c.css.pnext-asset.js} +0 -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 → range-bar.53967f3261c8387e.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 → segmented.2ca6fee7dd2830ad.css.pnext-asset.js} +0 -0
- /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/usage/{day-chart.c7b7d04403f0fc79.css.pnext-asset.js → day-chart.c566c1a55d15bf58.css.pnext-asset.js} +0 -0
- /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/usage/{range-bar.671afdd0798f4de9.css.pnext-asset.js → range-bar.5504dd2c591a3056.css.pnext-asset.js} +0 -0
- /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/usage/{stats.3b02ee8317b9c4e3.css.pnext-asset.js → stats.cd1d20f46f1347bf.css.pnext-asset.js} +0 -0
- /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/usage/{top-agents.441006da5b4eae17.css.pnext-asset.js → top-agents.47aecd65c0c8fa2e.css.pnext-asset.js} +0 -0
- /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/usage/{usage.d6df7cb6980171ce.css.pnext-asset.js → usage.0f646568d57d13e8.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 → globals.e9ce0eb6697f992d.css.pnext-asset.js} +0 -0
- /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/login/{page.f852a09edc8b6b44.css.pnext-asset.js → page.57e5198339e9ca28.css.pnext-asset.js} +0 -0
- /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/{page.7e7f8611a9bb7b22.js → page.2c6a0a292ea8ab67.js} +0 -0
- /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/{responsive.1fd73ea94977bfc0.css.pnext-asset.js → responsive.82549d958fae8f00.css.pnext-asset.js} +0 -0
- /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/{zone.66f36b17e74cf5f8.js → zone.dbc84f981415d8f7.js} +0 -0
- /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/frame/@/comps/ui/{toast.8d599c6821860a1c.css.pnext-asset.js → toast.a4c3e977997216cf.css.pnext-asset.js} +0 -0
- /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/frame/{auth-panel.e5af611567239b13.css.pnext-asset.js → auth-panel.c6e05b4540b3d555.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 → drawer.e8201d78154045bc.css.pnext-asset.js} +0 -0
- /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/frame/{heads.5407f7793f985b16.js → heads.fa2157b3b36647f3.js} +0 -0
- /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/frame/{page-head.53db3a3d313c0473.css.pnext-asset.js → page-head.a6e3c4204ca45e94.css.pnext-asset.js} +0 -0
- /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/nav/{to.248665fde7daaf07.js → to.0116bedfbe5f1133.js} +0 -0
- /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{badge.d21391f2f8573db8.css.pnext-asset.js → badge.0cb1513f8b077560.css.pnext-asset.js} +0 -0
- /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{card.4f9265213510ffd3.css.pnext-asset.js → card.146f70c7049b5b31.css.pnext-asset.js} +0 -0
- /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{collapse.60c9038c70fb9c46.css.pnext-asset.js → collapse.fb687b120ea60247.css.pnext-asset.js} +0 -0
- /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{confirm.fc6d4da835b75a30.css.pnext-asset.js → confirm.fb57a29a70e9df56.css.pnext-asset.js} +0 -0
- /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{field.8db4420dfb447e42.css.pnext-asset.js → field.7e73edc204cd38df.css.pnext-asset.js} +0 -0
- /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{filter.9311d535531caaf3.css.pnext-asset.js → filter.e20fbd035f24ed01.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 → icon.424a21694f121010.css.pnext-asset.js} +0 -0
- /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{icons.e17bdd0b5504787f.js → icons.1777c0350d5d215e.js} +0 -0
- /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{menu.d412af459c187b41.css.pnext-asset.js → menu.6341c87b5bec4256.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 → segmented.0bd8652fdbc05eb0.css.pnext-asset.js} +0 -0
- /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{select.5dbceaae2ba7ace4.css.pnext-asset.js → select.03a695573b914d6f.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 → sentinel.bcff411a9f2355ec.css.pnext-asset.js} +0 -0
- /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{tabs.87bc5cdfc4d1b85e.css.pnext-asset.js → tabs.ca13e40ff54128d0.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 → tail.0a5f3c0595e68610.css.pnext-asset.js} +0 -0
- /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{toolbar.5e35e79f4d575452.css.pnext-asset.js → toolbar.40284b41c03c5dcb.css.pnext-asset.js} +0 -0
- /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/utils/{format.ba382c381ea40e77.js → format.6a7d1beaf4d09d9c.js} +0 -0
- /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/utils/{paged.64ead375df845ff2.js → paged.7e5713a82abf0211.js} +0 -0
- /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/utils/{range.f0a5ef1763ff3cb9.js → range.f73ba9cac0a60af1.js} +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{s as e}from"./cli-msOzZFXW.js";const t=e(`agent integrations`,{list:async()=>(await import(`./list-DhVfqr0A.js`)).commandIntegrationsList,ls:async()=>(await import(`./list-DhVfqr0A.js`)).commandIntegrationsList,show:async()=>(await import(`./show-C9ojrH5W.js`)).commandIntegrationsShow},{menu:[{usage:`list`,blurb:`list integrations with their events and tools`},{usage:`show <id>`,blurb:`events and tools of one integration`}],description:[`The platforms an agent can listen to and act on: their events and tool presets.`]},{aliases:{ls:`list`}});export{t as commandAgentIntegrations};
|
package/dist/migrate-DAC6sFgg.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{Cn as e}from"./dispatch-YW1aqjEg.js";import{i as t}from"./client-31YzOj-i.js";import n from"node:path";import r from"node:fs";import{sql as i}from"drizzle-orm";import{migrate as a}from"drizzle-orm/postgres-js/migrator";const o=n.join(e,`migrations`);async function s(e,n){let r=await t(e,()=>e.execute(n));return Array.isArray(r)?r:r.rows}async function c(e){try{let t=await s(e,i`select count(*)::text as n from drizzle.__drizzle_migrations`);return Number(t[0]?.n??0)}catch{return 0}}function l(e){try{let t=new URL(e);return`${t.hostname}${t.pathname}`}catch{return`the database`}}async function u(e,t){if(await c(e))return;let n=(await s(e,i`select table_name as name from information_schema.tables where table_schema = 'coder' order by 1`)).map(e=>e.name);if(n.length)throw Error(`${t} already has a "coder" schema with tables (${n.slice(0,5).join(`, `)}${n.length>5?`, …`:``}) that Coder did not create. Point DATABASE_URL elsewhere or drop that schema.`)}async function d(e){let t=JSON.parse(r.readFileSync(n.join(o,`meta`,`_journal.json`),`utf8`)),a=await s(e,i`select count(*)::text as n, max(created_at)::text as at from drizzle.__drizzle_migrations`).catch(()=>[]),c=Number(a[0]?.n??0),l=Number(a[0]?.at??0);return{applied:c,pending:t.entries.filter(e=>e.when>l).length,total:t.entries.length}}async function f(e,t=`the database`){await u(e.db,t);let n=await c(e.db);try{await a(e.db,{migrationsFolder:o})}catch(e){let n=e instanceof Error&&`cause`in e&&e.cause instanceof Error?e.cause:e;throw Error(`Could not migrate ${t}: ${n instanceof Error?n.message:String(n)}`)}return{applied:await c(e.db)-n}}export{f as n,d as r,l as t};
|
package/dist/refresh-CmBQALAW.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{E as e,wn as t}from"./dispatch-YW1aqjEg.js";import{i as n}from"./cli-msOzZFXW.js";const r=n({name:`upgrade refresh`,options:{},run:()=>e(t())});export{r as commandRefreshUpdate};
|
package/dist/runner-D5jaEfhG.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{s as e}from"./cli-msOzZFXW.js";const t=e(`runner`,{add:async()=>(await import(`./add-Bz8uaOcu.js`)).commandRunnerAdd,default:async()=>(await import(`./default-aLeIO8IR.js`)).commandRunnerDefault,test:async()=>(await import(`./test-BcFQUHRo.js`)).commandRunnerTest,serve:async()=>(await import(`./serve-BgGXjT_O.js`)).commandRunnerServe,list:async()=>(await import(`./list-BdiYneg5.js`)).commandRunnerList,rename:async()=>(await import(`./rename-C0vNcl8e.js`)).commandRunnerRename,remove:async()=>(await import(`./remove-CcMma1x3.js`)).commandRunnerRemove},{menu:[{usage:`add <kind>`,blurb:`connect a runner`},{usage:`default <id>`,blurb:`set the default in its scope`},{usage:`test <id>`,blurb:`check a runner connection`},{usage:`serve --url <public url>`,blurb:`run your server's tasks on this machine`},{usage:`list`,blurb:`list your runners and the workspace's`},{usage:`rename <id> <name>`,blurb:`rename a runner`},{usage:`remove <id>`,blurb:`remove a runner`}],description:[`Run your Coder server's tasks on your own machine, reached through any tunnel.`],exampleCommand:`runner serve`});export{t as commandRunner};
|
package/dist/serve-GIK3fqKA.js
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import{t as e}from"./rolldown-runtime-DT7IzrpZ.js";import{$ as t,G as n,H as r,K as i,Mt as a,Q as o,St as s,U as c,Vt as l,_t as u,ct as d,et as f,jt as p,kn as m,nn as h,ut as g,wn as _}from"./dispatch-YW1aqjEg.js";import{i as v,n as y,r as b,u as x}from"./load-DDZfByUe.js";import{c as S,d as C,l as w,n as ee}from"./integrations-B2CavXR1.js";import{c as te}from"./models-DGPrMV51.js";import{o as T}from"./local-B0GiaLV0.js";import{a as E,d as D,f as ne,l as O,n as re,o as ie,p as k,r as ae,s as oe,t as se,u as ce}from"./http-DG54kyx4.js";import{$ as le,$n as A,$t as ue,A as de,An as fe,At as j,B as pe,Bt as me,C as he,Cn as ge,Ct as _e,D as ve,Dn as ye,Dt as M,E as be,En as xe,Et as Se,F as Ce,Fn as we,Ft as Te,G as Ee,Gn as De,Gt as Oe,H as ke,Hn as Ae,Ht as je,I as Me,In as N,It as Ne,J as Pe,Jn as P,Jt as Fe,K as Ie,Kn as Le,Kt as Re,L as ze,Ln as Be,M as Ve,Mn as He,Mt as Ue,N as We,Nn as Ge,Nt as Ke,O as F,On as qe,Ot as Je,P as Ye,Pn as Xe,Pt as Ze,Q as Qe,Qn as I,Qt as $e,R as et,Rn as L,Rt as tt,S as R,Sn as nt,St as rt,T as it,Tn as at,Tt as ot,U as st,Un as ct,Ut as lt,V as ut,Vn as dt,Vt as ft,W as pt,Wn as mt,Wt as ht,X as gt,Xn as _t,Xt as vt,Yn as z,Yt as yt,Z as bt,Zn as xt,Zt as St,_ as Ct,_n as B,_t as wt,an as Tt,at as Et,b as V,bn as H,bt as Dt,c as Ot,cn as kt,ct as At,d as jt,dn as Mt,en as Nt,er as Pt,et as Ft,f as It,g as Lt,gn as Rt,gt as zt,hn as U,ht as Bt,i as Vt,in as Ht,j as Ut,jn as Wt,jt as Gt,k as Kt,kn as qt,kt as Jt,l as Yt,ln as Xt,lt as Zt,m as W,mn as Qt,mt as $t,nn as en,nt as tn,o as nn,on as rn,ot as an,p as G,pt as on,q as sn,qn as cn,qt as ln,r as un,rn as dn,sn as fn,t as pn,tn as mn,tt as hn,un as gn,ut as _n,v as vn,vn as yn,vt as bn,w as xn,wn as Sn,wt as Cn,x as K,xn as wn,xt as Tn,y as En,yn as Dn,yt as On,z as kn,zt as An}from"./store-qp7UE2ES.js";import{n as jn,r as Mn}from"./env-LsVTi18f.js";import{l as Nn}from"./schema-DoNO0dPh.js";import{r as Pn,t as Fn}from"./migrate-DAC6sFgg.js";import{n as In,r as Ln}from"./usage-DR3wWtYD.js";import q from"node:path";import J from"node:process";import*as Y from"zod/mini";import Rn from"node:fs";import{createHash as zn,randomBytes as Bn,randomUUID as Vn}from"node:crypto";import X from"node:fs/promises";import{isDeepStrictEqual as Hn}from"node:util";import Un from"node:http";import{sql as Wn}from"drizzle-orm";async function Gn(e){try{return await X.readdir(e,{withFileTypes:!0})}catch(e){if(e.code===`ENOENT`)return[];throw e}}async function Kn(e){try{return await X.lstat(e),!0}catch(e){if(e.code===`ENOENT`)return!1;throw e}}async function qn(e,t){if(e===t||!await Kn(e))return 0;let n=await Gn(e),r=n.filter(e=>e.isDirectory()).length;if(!await Kn(t))return await m(e,t),r;for(let r of n)await m(q.join(e,r.name),q.join(t,r.name));return await X.rmdir(e),r}async function Jn(e){let t=q.dirname(e),n=q.basename(e);for(let e of await Gn(t)){let r=e.name.startsWith(n)?e.name.slice(n.length):``;if(!e.isFile()||!(r===`.tmp`||/^\.\d+(?:\.[a-f0-9-]{36})?\.tmp$/.test(r)))continue;let i=Number(e.name.slice(n.length+1).split(`.`)[0]);if(Number.isInteger(i)&&i>0)try{process.kill(i,0);continue}catch(e){if(e.code!==`ESRCH`)continue}await X.unlink(q.join(t,e.name)).catch(e=>{if(e.code!==`ENOENT`)throw e})}}async function Yn(e,t){if(await Jn(e),e===t||!await Kn(e))return 0;if(!await Kn(t))return await m(e,t),1;let n=JSON.parse(await X.readFile(e,`utf8`)),r=JSON.parse(await X.readFile(t,`utf8`)),i={...n,...r,...n.rows||r.rows?{rows:{...n.rows,...r.rows}}:{}},a=`${t}.${process.pid}.${Vn()}.tmp`;try{await X.writeFile(a,`${JSON.stringify(i)}\n`,{mode:384,flag:`wx`}),await X.rename(a,t),await X.unlink(e)}finally{await X.rm(a,{force:!0})}return 1}async function Xn(){let e=p(),t=a(`state`),n=p(`archive`),r=p(`flows-archived`),i=p(`usage.json`),o=p(`runner`,`usage.json`),s={from:a(`checkouts`),to:p(`checkouts`)},c={from:a(`update-check.json`),to:p(`update-check.json`)},l={cache:e,tasks:0,flows:0,files:0},u=(await Gn(t)).filter(e=>e.isDirectory()).map(e=>({archive:a(`state`,e.name,`archive`),flows:a(`state`,e.name,`flows-archived`),usage:a(`state`,e.name,`usage.json`),runnerUsage:a(`state`,e.name,`runner`,`usage.json`)}));await Jn(i),await Jn(o);for(let e of u)l.tasks+=await qn(e.archive,n),l.flows+=await qn(e.flows,r),l.files+=await Yn(e.usage,i),l.files+=await Yn(e.runnerUsage,o);return await qn(s.from,s.to),l.files+=await Yn(c.from,c.to),l}async function Zn(e){let t=(e.now??Date.now)(),n=await e.store.list(`runner`);return{online:1+n.filter(({value:e})=>e.lastSeen!==void 0&&t-e.lastSeen<3e5).length,total:1+n.length}}async function Qn(e){let t=(e.now??Date.now)(),n=e.health,{body:r,status:i}=n&&t-n.at<5e3?n:await $n(e);e.health=i===200?{at:n&&t-n.at<5e3?n.at:t,body:r,status:i}:void 0;let a=Math.max(0,t-(e.limits?.startedAt??t))/1e3;return E({...r,uptime:a},i,{"cache-control":`no-store`})}async function $n(e){let t=e.config.store===`postgres`?`down`:`none`,n={online:0,total:0},r=!0;try{if(e.config.store===`postgres`){if(!e.databaseHealth)throw Error(`Database health probe is unavailable`);await e.databaseHealth(),t=`ok`}n=e.healthRunners?await e.healthRunners():await Zn(e)}catch{r=!1,e.config.store===`postgres`&&(t=`down`)}return{body:{ok:r,version:_(),db:t,runners:n},status:r?200:503}}async function er(e){let t=(e.now??Date.now)();if(e.queue.metrics&&!e.local)return{...await e.queue.metrics(e.organizationId,t-864e5),runnersOnline:(await Zn(e)).online,requests:e.limits?.requests??0,rateLimitRejections:e.limits?.rejections??0};let n=await e.queue.list(e.organizationId),r=e.local?[...W(e.local.cwd,!1),...W(e.local.cwd,!0)]:[],i=new Map([...r,...n.map(e=>e.status===`queued`?e:r.find(t=>t.task.id===e.task.id)??e)].map(e=>[e.task.id,e])),a={queued:0,running:0,waiting:0,completed:0,failed:0,cancelled:0},o=0;for(let e of i.values())e.createdAt>=t-864e5&&a[e.status]++,e.status===`queued`&&o++;return{tasks:a,queueDepth:o,runnersOnline:(await Zn(e)).online,requests:e.limits?.requests??0,rateLimitRejections:e.limits?.rejections??0}}async function tr(e,t,n,r){if(!t.auth)return E({mode:tt(t),organization:{id:t.organizationId},server:nr(t)});let i=t.session;return E({mode:tt(t),user:i.user,organization:i.organizations.find(e=>e.id===i.organizationId)??null,organizations:i.organizations,manageMembersUrl:`${t.auth.issuer}/auth/onboarding`,server:nr(t)})}function nr(e){return{name:e.config.name??`Coder`,store:e.config.store,...e.config.publicUrl?{url:e.config.publicUrl}:{},subscriptions:{claude:!!e.config.subscriptions?.claude,codex:!!e.config.subscriptions?.codex}}}async function rr(e,t,n,r){let i=e.headers.get(`content-type`)??``,a=i.includes(`application/json`)?await e.json().catch(()=>void 0):await e.formData().then(e=>Object.fromEntries(e.entries()),()=>void 0);if(!a||typeof a!=`object`)return E({error:`Send the workspace as a form or JSON body.`},400);let o=typeof a.organization==`string`?a.organization:``,s=o?await t.auth.setOrganization(e.headers,o):void 0;if(!s)return E({error:`You are not a member of that workspace.`},403);let{cookies:c,...l}=s,u=i.includes(`application/json`)?E({organization:l}):k(`/dash`,303);for(let e of c)u.headers.append(`set-cookie`,e);return u}async function ir(e,t,n,r){let i=t.session.user.id;n.id;let a=(await e.json().catch(()=>({}))).engine??``;if(!lr.has(a)||!t.config.subscriptions?.[a])return E({error:`Sign in with ${a||`that engine`} is off on this server.`},403);let o=t.runners[t.config.runner];if(!o||o.kind===`github-actions`)return E({error:`Sign-in cannot run on the ${t.config.runner} runner.`},409);let s=`login-${Bn(12).toString(`base64url`)}`,c=Ae(s,t.organizationId,0),l={owner:i,engine:a,state:`starting`,tokenHash:c.hash,runner:o.kind,createdAt:ur(t),expiresAt:ur(t)+cr};await dr(t,s,l);let u;try{let e=await o.start({id:s},{CODER_SERVER:t.config.publicUrl??``,CODER_TASK_TOKEN:c.token,CODER_LOGIN:a}),n=await t.store.patchLogin(s,{handle:e},{tokenHash:l.tokenHash});if(!n)return await o.stop(e).catch(()=>{}),E({error:`This sign-in is gone. Start again.`},409);u=n}catch(e){return await t.store.delete(`login`,s),E({error:e instanceof Error?e.message:String(e)},502)}return E(fr(s,u),201)}async function ar(e,t,n,r){t.session.user.id;let i=n.id??``,a=i&&!i.includes(`/`)?await pr(t,i):void 0;return a?E(fr(i,a)):E({error:`This sign-in is gone. Start again.`},404)}async function or(e,t,n,r){t.session.user.id;let i=n.id??``,a=i&&!i.includes(`/`)?await pr(t,i):void 0;if(!a)return E({error:`This sign-in is gone. Start again.`},404);let o=await e.json().catch(()=>({})),s=typeof o.code==`string`?o.code.trim():``;return a.engine!==`claude`||a.state!==`open`||!s||!await t.store.patchLogin(i,{state:`verifying`,input:L(t.config,s)},{state:`open`,tokenHash:a.tokenHash})?E({error:`This sign-in is not waiting for a code.`},409):E({ok:!0})}async function sr(e,t,n,r){t.session.user.id;let i=n.id??``,a=i&&!i.includes(`/`)?await pr(t,i):void 0;return a?(await t.store.delete(`login`,i),a.handle&&await t.runners[a.runner]?.stop(a.handle).catch(()=>{}),E({ok:!0})):E({error:`This sign-in is gone. Start again.`},404)}const cr=6e5,lr=new Set([`claude`,`codex`]),ur=e=>(e.now??Date.now)();function dr(e,t,n){return e.store.put(`login`,t,n,{ttlMs:Math.max(1,n.expiresAt-ur(e))})}function fr(e,t){return{id:e,engine:t.engine,state:t.state,expiresAt:t.expiresAt,...t.url?{url:t.url}:{},...t.code?{code:t.code}:{},...t.error?{error:t.error}:{},...t.label?{label:t.label}:{}}}async function pr(e,t){let n=await e.store.get(`login`,t);return n&&n.owner===e.session?.user.id?n:void 0}async function mr(e,t,n,r){let i=n.id,a=t.callbackLogin,o=Date.now()+25e3;for(;!a.input&&Date.now()<o&&!e.signal.aborted;){await new Promise(e=>setTimeout(e,250));let e=await t.store.get(`login`,i);if(!e)return new Response(`Unauthorized`,{status:401});a=e}if(!a.input)return E({});let s=await t.store.patchLogin(i,{input:null},{input:a.input,tokenHash:a.tokenHash});return E(s?{code:N(t.config,a.input)}:{})}async function hr(e,t,n,r){n.id;let i=t.callbackLogin;return E({engine:i.engine})}async function gr(e,t,n,r){let i=n.id,a=t.callbackLogin,o=await e.json().catch(()=>({}));if(a.state===`done`||a.state===`failed`)return E({ok:!0});let s={state:[`starting`,`open`,`verifying`],tokenHash:a.tokenHash};if(typeof o.error==`string`)return await t.store.patchLogin(i,{state:`failed`,error:o.error.slice(0,500)},s),E({ok:!0});let c=o.result?.env;if(c){let e=a.engine===`claude`?`CLAUDE_CODE_OAUTH_TOKEN`:`CODEX_AUTH_JSON`;if(Object.keys(c).join()!==e||typeof c[e]!=`string`)return E({error:`Invalid sign-in result`},400);let n=`${a.engine}-subscription`,r=o.result?.account;return await t.store.completeLogin(i,a.tokenHash,n,{...Be(t.config,{env:c}),engine:a.engine,createdAt:(t.now??Date.now)(),...r?.email||r?.plan?{account:{...typeof r.email==`string`?{email:r.email}:{},...typeof r.plan==`string`?{plan:r.plan}:{}}}:{}})?E({ok:!0}):E({error:`This sign-in changed. Try again.`},409)}let l={...typeof o.url==`string`&&/^https:\/\//.test(o.url)?{url:o.url}:{},...typeof o.code==`string`?{code:o.code.slice(0,64)}:{}};return(a.state===`starting`?await t.store.patchLogin(i,{...l,state:`open`},{state:`starting`,tokenHash:a.tokenHash})??await t.store.patchLogin(i,l,{...s,state:[`open`,`verifying`]}):await t.store.patchLogin(i,l,s))?E({ok:!0}):E({error:`This sign-in changed. Try again.`},409)}async function _r(e,t,n,r){let i=n.id,a=t.operatorApp??!1;if(!/^[a-z0-9_-]+$/.test(r.pathname.split(`/`)[2]))return;let o=a?`*`:t.session?.user.id??`anonymous`,s=t.integrations[i];if(!s)return P(`Unknown integration "${i}"; run coder agent integrations list to see them`,404);let c=t.config.publicUrl;if(!c)return P(`PUBLIC_URL is not set on this server; set it to the address platforms should call and restart`,400);t.fetch,t.now?.();let l=z(r.searchParams);if(!l)return P(`Setup link is missing or malformed; start again from the agent's Platforms tab`,400);if(!l.definition.integrations[i])return P(`This agent declares no ${i} integration in its agent.json`,400);if(l.state.public&&!a)return P(`Only the server operator creates public apps`,403);let u=De(i,l.state),d=l.state.tx?await I(t,l.state.tx,`create`,o)===u?l.state.tx:void 0:await A(t,`create`,o,u);if(!d)return P(`This app creation link is invalid, expired, or already used`,403);let f={...l.state,tx:d};return s.app.createPage({publicUrl:c,state:f,definition:l.definition,encodedState:T(f)})}async function vr(e,t,n,r){let i=n.id,a=t.operatorApp??!1;if(!/^[a-z0-9_-]+$/.test(r.pathname.split(`/`)[2]))return;let o=a?`*`:t.session?.user.id??`anonymous`,s=t.integrations[i];if(!s)return P(`Unknown integration "${i}"; run coder agent integrations list to see them`,404);let c=t.config.publicUrl;if(!c)return P(`PUBLIC_URL is not set on this server; set it to the address platforms should call and restart`,400);let l=t.fetch??fetch,u=t.now?.()??Date.now(),d=ae(r.searchParams.get(`state`)),f=z(r.searchParams)??(d&&z(new URLSearchParams(Object.entries(d).filter(([,e])=>e!==void 0))))??void 0;if(!f)return P(`Setup state was lost between the platform and this server; start again`,400);if(!f.state.tx||!await xt(t,f.state.tx,`create`,o,De(i,f.state)))return P(`This app creation link is invalid, expired, or already used`,403);let p=await s.app.createCallback(e,{publicUrl:c,...f,fetch:l}).catch(e=>P(`Creating the ${i} app failed: ${e instanceof Error?e.message:e}`,400));if(p instanceof Response)return p;let m={id:`${i}:${p.platformAppId}`,integration:i,agent:f.state.agent,name:p.name,...f.state.repo?{agentsRepo:f.state.repo}:{},...f.state.repo?{branch:f.state.branch??`main`}:{},...a?{builtin:!0}:{},credentials:L(t.config,p.credentials),createdAt:u};if(await t.store.put(`app`,m.id,m),a)return P(`Created ${p.name}. Every workspace on this server can now connect it from its dashboard.`);let h=await A(t,`install`,o,m.id),g=`/dash/agents/${encodeURIComponent(m.agent)}/platforms`;return k(`${c}/install/${i}?app=${encodeURIComponent(m.id)}&state=${T({tx:h,back:g})}`)}async function yr(e,t,n,r){let i=n.id,a=t.operatorApp??!1;if(!/^[a-z0-9_-]+$/.test(r.pathname.split(`/`)[2]))return;let o=a?`*`:t.session?.user.id??`anonymous`,s=t.integrations[i];if(!s)return P(`Unknown integration "${i}"; run coder agent integrations list to see them`,404);let c=t.config.publicUrl;if(!c)return P(`PUBLIC_URL is not set on this server; set it to the address platforms should call and restart`,400);let l=t.fetch??fetch,u=t.now?.()??Date.now(),d=new URLSearchParams(await e.clone().text()),f=ae(r.searchParams.get(`state`)),p=z(r.searchParams)??(f&&z(new URLSearchParams(Object.entries(f).filter(([,e])=>e!==void 0))))??(d&&z(d));if(!p)return P(`Setup state was lost between the platform and this server; start again`,400);if(!p.state.tx||!await xt(t,p.state.tx,`create`,o,De(i,p.state)))return P(`This app creation link is invalid, expired, or already used`,403);let m=await s.app.createCallback(e,{publicUrl:c,...p,fetch:l}).catch(e=>P(`Creating the ${i} app failed: ${e instanceof Error?e.message:e}`,400));if(m instanceof Response)return m;let h={id:`${i}:${m.platformAppId}`,integration:i,agent:p.state.agent,name:m.name,...p.state.repo?{agentsRepo:p.state.repo}:{},...p.state.repo?{branch:p.state.branch??`main`}:{},...a?{builtin:!0}:{},credentials:L(t.config,m.credentials),createdAt:u};if(await t.store.put(`app`,h.id,h),a)return P(`Created ${m.name}. Every workspace on this server can now connect it from its dashboard.`);let g=await A(t,`install`,o,h.id),_=`/dash/agents/${encodeURIComponent(h.agent)}/platforms`;return k(`${c}/install/${i}?app=${encodeURIComponent(h.id)}&state=${T({tx:g,back:_})}`)}async function br(e,t,n,r){let i=n.id,a=t.operatorApp??!1;if(!/^[a-z0-9_-]+$/.test(r.pathname.split(`/`)[2]))return;let o=a?`*`:t.session?.user.id??`anonymous`,s=t.integrations[i];if(!s)return P(`Unknown integration "${i}"; run coder agent integrations list to see them`,404);let c=t.config.publicUrl;if(!c)return P(`PUBLIC_URL is not set on this server; set it to the address platforms should call and restart`,400);t.fetch,t.now?.();let l=ae(r.searchParams.get(`state`)),u=r.searchParams.get(`app`),d=l?.tx?await I(t,l.tx,`install`,o):void 0;if(!d||u&&u!==d)return P(`This installation link is invalid, expired, or already used`,403);let f=await t.store.get(`app`,u??d);if(!f)return P(`This app is not known to this server; create it first`,400);let p=N(t.config,f.credentials);return k(s.app.installUrl(f,p,{publicUrl:c,state:r.searchParams.get(`state`)??T({})}))}async function xr(e,t,n,r){let i=n.id,a=t.operatorApp??!1;if(!/^[a-z0-9_-]+$/.test(r.pathname.split(`/`)[2]))return;let o=a?`*`:t.session?.user.id??`anonymous`,s=t.integrations[i];if(!s)return P(`Unknown integration "${i}"; run coder agent integrations list to see them`,404);let c=t.config.publicUrl;if(!c)return P(`PUBLIC_URL is not set on this server; set it to the address platforms should call and restart`,400);let l=t.fetch??fetch,u=t.now?.()??Date.now(),d=ae(r.searchParams.get(`state`)),f=r.searchParams.get(`app`),p=d?.tx?await I(t,d.tx,`install`,o):void 0;if(!p||f&&f!==p||!await xt(t,d.tx,`install`,o,p))return P(`This installation link is invalid, expired, or already used`,403);let m=await t.store.get(`app`,f??p),h=d?.link?await t.store.get(`installation`,d.link):void 0,g=m??(h&&await cn(t,h,i));if(!g)return d&&!d.link?P(`Connected.`):P(`This install does not match any app on this server; create the app first`,400);let _=N(t.config,g.credentials),v=await s.app.installCallback(e,{app:g,credentials:_,publicUrl:c,fetch:l,connect:mt(t,g,c)}).catch(e=>P(e instanceof Error?e.message:String(e),400));if(v instanceof Response)return v;let y=`${g.id}:${v.platformInstallId}`,b=t.session;v.user&&b&&t.auth&&await t.auth.link(b.user,i,v.user.id,{organizations:b.organizations.map(e=>e.id),...v.user.token?{token:L(t.config,v.user.token)}:{}});let x=await t.store.get(`installation`,y),S={...x,id:y,app:g.id,integration:i,account:v.account??x?.account??h?.account??{login:`unknown`},...v.token?{token:L(t.config,v.token)}:{},...v.installer?{installer:v.installer}:{},createdAt:x?.createdAt??u};delete S.deletedAt;let C=h&&!h.deletedAt?h:void 0;C&&(S=Le(S,C.integration,C.id));try{await t.store.put(`installation`,y,S)}catch{return P(`This ${i} installation is already connected to another workspace; disconnect it there first`,409)}if(C&&await t.store.put(`installation`,C.id,Le(C,i,y)),s.renew){let e=await(await import(`./store-qp7UE2ES.js`).then(e=>e.Y)).renewInstallation({...t,fetch:l},g,v.platformInstallId).then(()=>void 0,e=>e instanceof Error?e.message:String(e));if(e)return P(`Connected, but ${i} did not start sending events yet. ${e}. Coder tries again within the hour.`,502)}let w=ct(d?.back);return w?k(`${c.replace(/\/$/,``)}${w}`):v.response}const Z=(e,t=200)=>w(`<title>Coder</title><p>${S(e)}</p>`,t);function Sr(e,t,n){return n&&t.organizations.some(e=>e.id===n)?{...dt(e,n),session:t}:void 0}async function Cr(e,t){let n=await e.store.get(`installation`,t);return n&&!n.deletedAt?e.store.get(`app`,n.app):void 0}async function wr(e,t,n,r){let i=t.linkContext,a=i.session,o=e=>{let t=Pt(i,e);return t&&a.organizations.some(e=>e.id===t)?{...dt(i,t),session:a}:i},s=r.searchParams.get(`token`)??``,c=o(s);if(await I(c,s,`link`,a.user.id))return await gn(e,void 0,t.dashboardHosts)??new Response(`UI is not built`,{status:503});let l=await _t(c,s,`link-start`,a.user.id);if(!l)return new Response(`This link is invalid or has expired.`,{status:400});let u=await A(c,`link`,a.user.id,l,3e5);return k(`/connect?token=${encodeURIComponent(u)}`)}async function Tr(e,t,n,r){let i=t.linkContext,a=i.session,o=e=>{let t=Pt(i,e);return t&&a.organizations.some(e=>e.id===t)?{...dt(i,t),session:a}:i},s=await e.json().catch(()=>({})),c=typeof s.token==`string`?await _t(o(s.token),s.token,`link`,a.user.id):void 0;if(!c)return E({error:`This link is invalid or has expired.`},400);let l=JSON.parse(c);return await t.auth.link(a.user,l.platform,l.platformUserId,{organizations:a.organizations.map(e=>e.id)})===`taken`?E({error:`That platform account is connected to someone else.`},409):E({ok:!0,...l})}async function Er(e,t,n,r){let i=t.integrations[n.integration].auth.user,a=t.config.publicUrl,o=t.linkContext.session,s=r.searchParams.get(`installation`)??``,c=Sr(t,o,s?await t.installationOrganization?.(s):void 0);if(!c)return Z(`Only members of the workspace this agent works for can link here.`,403);let l=await Cr(c,s);if(!l)return Z(`This installation is no longer connected.`,404);let u=await A(c,`link-oauth`,o.user.id,s);return k(i.authorizeUrl(N(t.config,l.credentials),{publicUrl:a,state:u}))}async function Dr(e,t,n,r){let i=t.integrations[n.integration],a=i.auth.user,o=t.config.publicUrl,s=t.linkContext.session,c=r.searchParams.get(`state`)??``,l=Sr(t,s,Pt(t,c)),u=l&&await _t(l,c,`link-oauth`,s.user.id),d=l&&u?await Cr(l,u):void 0;if(!l||!d)return Z(`This link is invalid or has expired.`,400);let f=await a.exchange(e,N(t.config,d.credentials),{publicUrl:o,fetch:t.fetch??fetch}).catch(e=>e instanceof Error?e:Error(String(e)));return f instanceof Error?Z(f.message,400):await t.auth.link(s.user,i.id,f.id,{organizations:s.organizations.map(e=>e.id),...f.token?{token:L(t.config,f.token)}:{}})===`taken`?Z(`That ${i.id} account is connected to someone else.`,409):Z(`Linked ${f.login??f.id} on ${i.id} to your Coder account. Mention the agent again to start.`)}const Or=Y.object({installation:Y.string().check(Y.minLength(1)),integration:Y.string().check(Y.minLength(1)),token:Y.string().check(Y.minLength(1)),account:Y.optional(Y.string())});async function kr(e,t){let n;try{n=await e.json()}catch{return new Response(`Invalid JSON`,{status:400})}let r=Or.safeParse(n);if(!r.success)return new Response(`Invalid connection`,{status:400});let{installation:i,integration:a,token:o,account:s}=r.data,c=await t.store.get(`installation`,i);if(!c||c.deletedAt)return new Response(`Unknown installation`,{status:404});let l={kind:`oauth`,token:L(t.config,o),...s?{account:s}:{}};return await Vt(t.store,`installation`,i,{connections:{...c.connections,[a]:l}}),E({ok:!0})}async function Ar(e,t,n,r){let i=await t.store.get(`app`,n);if(!i)return E({error:`Unknown app`},404);let a=t.config.publicUrl;if(!a)return E({error:`PUBLIC_URL is not set on this server`},400);let o=await A(t,`install`,t.session?.user.id??`anonymous`,i.id),s=T({tx:o,...r?{back:r}:{}});return E({url:`${a.replace(/\/$/,``)}/install/${i.integration}?app=${encodeURIComponent(i.id)}&state=${s}`})}async function jr(e,t,n,r){let i=r.searchParams.get(`agent`),a=t.serverOrganizationId,[o,s]=await Promise.all([t.store.list(`app`),a!==void 0&&a!==t.organizationId&&t.scope?t.scope(a).store.list(`app`).then(e=>e.map(({id:e,value:t})=>({id:e,value:{...t,builtin:!0}}))):[]]),c=[...o,...s];return E(c.filter(({value:e})=>!i||e.agent===i).map(({id:e,value:t})=>{let{credentials:n,...r}=t;return{id:e,value:r}}))}async function Mr(e,t,n,r){let i=r.searchParams.get(`agent`),[a,o]=await Promise.all([t.store.list(`installation`),i?t.store.list(`app`):[]]),s=new Set(o.filter(({value:e})=>e.agent===i).map(({id:e})=>e));return E(a.filter(({value:e})=>!i||s.has(e.app)).map(({id:e,value:t})=>{let{token:n,connections:r,...i}=t;return{id:e,value:i}}))}function Nr(e){return E(Object.values(e.integrations).map(e=>({id:e.id,name:e.name,brand:e.brand,description:e.description,installLabel:e.installLabel??`Connect ${e.id}`,organizationApps:e.organizationApps===!0,events:Object.fromEntries(Object.entries(e.events).map(([e,{description:t,noisy:n,addressed:r}])=>[e,{description:t,...n?{noisy:n}:{},...r?{addressed:r}:{}}])),presets:e.tools.presets,repositories:!!e.repos})))}async function Pr(e){let t=new Map;for(let{value:n}of await e.store.list(`installation`)){let r=e.integrations[n.integration];if(n.deletedAt||!r?.repos)continue;let i=await e.store.get(`app`,n.app);if(i)try{let a=await r.auth.token(n.token?{...n,token:N(e.config,n.token)}:n,N(e.config,i.credentials));for(let e of await r.repos.list(n,a))t.has(e)||t.set(e,{repo:e,integration:r.id})}catch{}}return E([...t.values()].sort((e,t)=>e.repo.localeCompare(t.repo)))}async function Fr(e,t){let n=(await e.store.list(`installation`)).filter(({value:t})=>!t.deletedAt&&e.integrations[t.integration]?.repos),r=new Map((await un(e.store,n.map(({value:e})=>e.app))).map(({id:e,value:t})=>[e,t]));for(let{value:i}of n){let n=e.integrations[i.integration];if(i.deletedAt||!n?.repos)continue;let a=r.get(i.app);if(!(!a||a.integration!==n.id))try{let r=i.token?{...i,token:N(e.config,i.token)}:i,o=await n.auth.token(r,N(e.config,a.credentials));if((await n.repos.list(r,o)).includes(t))return{contents:n,token:o,app:a,installation:i}}catch{}}}async function Ir(e,t,n){let r=await Fr(e,t);if(!r)return E({error:`No installed app can read ${t}`},400);let i=await r.contents.repos.listDir(t,Ee,r.token,n).catch(()=>[]),a=await Promise.all(i.map(async i=>{let a=await r.contents.repos.readFile(t,`${Ee}/${i}/agent.json`,r.token,n).catch(()=>void 0);if(a===void 0)return;let o={};try{o=JSON.parse(a)}catch{}let s=await H(e.store,i),c=s?.source===`repo`&&s.repo===t,l=c?await wn(e.store,i):void 0;return{id:i,name:typeof o.name==`string`?o.name:i,...typeof o.description==`string`?{description:o.description}:{},...c?{version:s.currentVersion,...l?.source?{commit:l.source.commit}:{}}:{},...s&&!c?{taken:!0}:{}}}));return E({repo:t,agents:a.filter(Boolean)})}async function Lr(e,t,n,r){let i=r.searchParams.get(`repo`);return i?Ir(t,i,r.searchParams.get(`ref`)||`HEAD`):E({error:`repo is required`},400)}async function Rr(e,t,n,r){let i=await e.json().catch(()=>void 0),a=i?.agents;if(typeof i?.repo!=`string`||i.ref!==void 0&&typeof i.ref!=`string`||a!==void 0&&!(Array.isArray(a)&&a.every(e=>typeof e==`string`)))return E({error:`repo is required, ref must be a string and agents a list of ids`},400);try{let e=await Fr(t,i.repo);if(!e)return E({error:`No installed app can read ${i.repo}`},400);let n=i.ref??`HEAD`,r=a??await e.contents.repos.listDir(i.repo,`.coder/agents`,e.token,n);for(let e of r){let n=await H(t.store,e);if(n&&(n.source!==`repo`||n.repo!==i.repo))return E({error:`Agent id "${e}" is already taken`},409)}let o=await Ie(t.store,e.contents,i.repo,n,e.token,(t.now??Date.now)(),{slugs:r});return await Pe(t,o),E({imported:o.map(e=>e.agent)})}catch(e){return E({error:e instanceof Error?e.message:String(e)},400)}}async function zr(e,t,n,r){if(t.source!==`repo`||!t.repo)return;let i=(await(r??e.store.list(`app`))).find(({value:e})=>e.agent===t.id&&e.agentsRepo===t.repo)?.value;return((i&&e.integrations[i.integration])??Object.values(e.integrations).find(e=>e.repos))?.repos?.url(t.repo,t.path,i?.branch??n?.commit)}async function Br(e,t,n){let r=await yn(e.store,t);return await ge(e.store,n,t,r)?yn(e.store,t):r}async function Q(e,t){let n=(e.now??Date.now)(),r=e.local?await hn(e.store,e.local.cwd,e.integrations,t).catch(()=>void 0):void 0;return{now:n,local:r,loadCurrent:()=>r?Promise.resolve(r.find(({record:e})=>e.id===t)??{}):Br(e,t,n)}}async function Vr(e,t,n,r){let i=n.slug;if(n.version&&Number(n.version),n.version&&!/^\d+$/.test(r.pathname.split(`/`).at(-1)))return O();let{now:a,local:o,loadCurrent:s}=await Q(t,i);if(!o&&t.store.listAgentSummaries&&(await Sn(t.store,a),ne(r)))return E(await Kr(t,r));let c=o??(t.store.listAgentSummaries?await t.store.listAgentSummaries():await Dn(t.store));if(!o&&!t.store.listAgentSummaries&&await Sn(t.store,a,c)&&(c=await Dn(t.store)),ne(r))return E(await Kr(t,r,c));let l;return E(await Promise.all(c.map(async({record:e,version:n})=>{e.source===`repo`&&e.repo&&(l??=t.store.list(`app`));let r=await zr(t,e,n,l);return{...e,definition:n?.definition,...r?{sourceUrl:r}:{}}})))}async function Hr(e,t,n,r){let i=n.slug;if(n.version&&Number(n.version),n.version&&!/^\d+$/.test(r.pathname.split(`/`).at(-1)))return O();let{now:a,local:o,loadCurrent:s}=await Q(t,i),c=D(r,10,50),l=re(r),[u,d]=await Promise.all([o?s().then(e=>e.record):H(t.store,i),o?Promise.resolve(o.flatMap(({version:e})=>e?[{value:e}]:[])):t.store.listVersions?.(i,c+1,l)]);return u?E(await qr(t,u,c,l??u.currentVersion+1,d)):E({error:`No agent named "${i}"`},404)}async function Ur(e,t,n,r){let i=n.slug,a=n.version?Number(n.version):void 0;if(n.version&&!/^\d+$/.test(r.pathname.split(`/`).at(-1)))return O();let{now:o,local:s,loadCurrent:c}=await Q(t,i),l=s?s.find(({version:e})=>e?.version===a)?.version:await wn(t.store,i,a);return l?E(l):E({error:`No version ${a} for agent "${i}"`},404)}async function Wr(e,t,n,r){let i=n.slug;if(n.version&&Number(n.version),n.version&&!/^\d+$/.test(r.pathname.split(`/`).at(-1)))return O();let{now:a,local:o,loadCurrent:s}=await Q(t,i),c=r.searchParams.get(`versions`)!==`0`,l=r.searchParams.get(`content`)!==`0`,[{record:u,version:d},f]=await Promise.all([!l&&!o&&t.store.listAgentSummaries&&!v()[i]?t.store.listAgentSummaries({slug:i}).then(e=>e[0]??{}):s(),c?o?o.flatMap(({version:e})=>e?[{value:e}]:[]):t.store.listVersions?t.store.listVersions(i):t.store.list(`agentversion`,{prefix:`${i}:`}):[]]);if(!u)return E({error:`No agent named "${i}"`},404);let p=f.map(({value:e})=>{let{systemPrompt:t,files:n,...r}=e;return r}),m=await zr(t,u,d);return E({...u,...d?{definition:d.definition,...l&&`systemPrompt`in d?{systemPrompt:d.systemPrompt,...d.files?{files:d.files}:{}}:{}}:{},...m?{sourceUrl:m}:{},...c?{versions:p}:{}})}const Gr={builtin:`builtin`,dashboard:`upload`,repository:`repo`};async function Kr(e,t,n){let r=D(t,24,100),i=re(t),a=t.searchParams.get(`q`)?.trim().toLowerCase(),o=Gr[t.searchParams.get(`type`)??``],s=t.searchParams.get(`platform`),c=t.searchParams.get(`connect`)===`1`,l=e.serverOrganizationId,u=e.store.list(`app`),[d,f,p,m]=await Promise.all([u,e.store.list(`installation`),c&&l!==void 0&&l!==e.organizationId&&e.scope?e.scope(l).store.list(`app`):[],n?n.filter(({record:e})=>(!i||e.id>i)&&(!o||e.source===o)&&(!a||[e.id,e.name,e.description,e.repo].some(e=>e?.toLowerCase().includes(a)))):e.store.listAgentSummaries({after:i,source:o,q:a,platform:s??void 0,limit:r+1})]),h=new Set(f.filter(({value:e})=>!e.deletedAt).map(({value:e})=>e.app)),g=(e,t)=>{let n=d.filter(({value:n})=>n.agent===e&&n.integration===t);return n.length?n.some(({value:e})=>h.has(e.id))?`installed`:`created`:`none`},_=[];for(let{record:e,version:t}of m){let n=Object.keys(t?.definition?.integrations??{}).sort();if(!(s&&!n.includes(s))&&(_.push({record:e,version:t,ids:n}),_.length>r))break}let v=ce(_,r,e=>e.record.id);return{...v,...c?{connectable:[...d,...p.map(e=>({...e,value:{...e.value,builtin:!0}}))].filter(({value:e})=>e.builtin&&!h.has(e.id)).map(({value:e})=>({id:e.id,integration:e.integration}))}:{},items:await Promise.all(v.items.map(async({record:t,version:n,ids:r})=>{let i=await zr(e,t,n,u);return{...t,definition:n?.definition,...i?{sourceUrl:i}:{},platforms:r.map(e=>({id:e,state:g(t.id,e)}))}}))}}async function qr(e,t,n,r,i){let a=r-n-2,o=(i??await e.store.list(`agentversion`,{prefix:`${t.id}:`,...a>0?{after:ye(t.id,a)}:{},limit:n+1})).map(({value:e})=>{let{systemPrompt:t,files:n,definition:r,...i}=e;return i}).filter(e=>e.version<r).reverse();return ce(o,n,e=>e.version)}function Jr(e){if(!e||Array.isArray(e)||typeof e!=`object`)return!1;let t=Object.entries(e);if(t.length>100)return!1;let n=0;for(let[e,r]of t){if(typeof r!=`string`||e.startsWith(`/`)||e.includes(`\\`)||e.includes(`\0`)||e.split(`/`).includes(`..`)||e===`agent.json`||e===`system.md`)return!1;n+=Buffer.byteLength(e)+Buffer.byteLength(r)}return n<=262144}async function Yr(e,t,n,r){let i=n.slug;if(n.version&&Number(n.version),n.version&&!/^\d+$/.test(r.pathname.split(`/`).at(-1)))return O();let{now:a,local:o,loadCurrent:s}=await Q(t,i),c=await e.json().catch(()=>void 0);try{let e=x({[i]:c})[i];if(!e||typeof e!=`object`)throw Error(`settings must be an object`);let{record:n,version:r}=await s();if(!n||!r)throw Error(`No agent named "${i}".`);return xe({...n,settings:void 0},r,e,t.integrations),t.local?(await ve(t,t=>{t.agents={...t.agents,[i]:e}}),await hn(t.store,t.local.cwd,t.integrations),E(await H(t.store,i))):E(await at(t.store,i,e,(t.now??Date.now)()))}catch(e){return E({error:e instanceof Error?e.message:String(e)},400)}}async function Xr(e,t,n,r){let i=n.slug;if(n.version&&Number(n.version),n.version&&!/^\d+$/.test(r.pathname.split(`/`).at(-1)))return O();let{now:a,local:o,loadCurrent:s}=await Q(t,i),{record:c}=await s();if(!c)return E({error:`No agent named "${i}"`},404);if(c.source===`builtin`)return E({error:`Built-in agents cannot be deleted.`},400);if(t.local&&!await Ft(t.local.cwd,t.integrations,i))return E({error:`Delete .coder/agents/${i} in the repo`},409);for(let{id:e}of await t.store.list(`agentversion`,{prefix:`${i}:`}))await t.store.delete(`agentversion`,e);return await t.store.delete(`agent`,i),E({ok:!0})}async function Zr(e,t,n,r){let i=n.slug;if(n.version&&Number(n.version),n.version&&!/^\d+$/.test(r.pathname.split(`/`).at(-1)))return O();let{now:a,local:o,loadCurrent:s}=await Q(t,i),c=await e.json().catch(()=>void 0);if(!c||typeof c.systemPrompt!=`string`||c.files!==void 0&&!Jr(c.files)||c.name!==void 0&&typeof c.name!=`string`||c.description!==void 0&&typeof c.description!=`string`)return E({error:`definition and systemPrompt are required; files must contain strings`},400);try{b([i]);let[e]=y({definitions:{[i]:{json:c.definition,builtin:!1}},usage:void 0},t.integrations);if(!e)throw Error(`No agent named "${i}".`);let n=t.local?await H(t.store,i):void 0,r=t.local&&n?await wn(t.store,i):void 0,a=c.files;t.local&&(await tn(t.local.cwd,t.integrations,i,{definition:{...c.definition,...c.name===void 0?{}:{name:c.name},...c.description===void 0?{}:{description:c.description}},systemPrompt:c.systemPrompt,...a?{files:a}:{}}),await hn(t.store,t.local.cwd,t.integrations));let o=t.local?void 0:await nt(t.store,{id:i,name:c.name??e.name,description:c.description??e.definition.description,source:`upload`,definition:e.definition,systemPrompt:c.systemPrompt,files:a,importedFrom:`upload`},(t.now??Date.now)()),s=o?.version??await wn(t.store,i),l=o?.unchanged??Hn(r&&{...r,createdAt:0},{...s,createdAt:0});await Pe(t,[s]);let u=o?.record??await H(t.store,i);return E({...u,definition:s.definition,version:s.version,unchanged:l})}catch(e){return E({error:e instanceof Error?e.message:String(e)},400)}}async function Qr(e,t,n,r){let i=n.id,a=Number(r.searchParams.get(`after`)??-1),o=Number.isFinite(a)?a:-1;r.searchParams.has(`limit`)&&D(r,500,2e3);let s=await t.store.get(`task`,i);if(!s||t.local&&s.handle?.startsWith(`cli:`)&&s.task.flow==="default"){let n=s?.task.cwd??t.local?.cwd;if(!n||!G(n,i,!1))return E({error:`No task "${i}"`},404);{let r=Number(e.headers.get(`last-event-id`)??o);return oi(e,t,`cli:${n}:${i}`,Number.isFinite(r)?r:o,async e=>{let t=G(n,i);if(t)return{status:t,lines:It(n,i,e,500),pendingResult:$r(n,t,!t.result)}})}}let c=Number(e.headers.get(`last-event-id`)??o),l=t.statementTimeout??((e,t)=>t());return oi(e,t,i,Number.isFinite(c)?c:o,e=>l(ii,async()=>{let n=await t.store.get(`task`,i);if(!n)return;let r=n.task.runner===`github-actions`&&n.handle,a=r&&F.has(n.status)?(await(await Xe(t,n.task))?.status(n.handle).catch(()=>void 0))?.state===`running`:!1;return{status:n,lines:([`running`,`waiting`].includes(n.status)||r)&&n.handle?await yt(t,n,e,500).catch(()=>vt(t.store,i,e,500)):await vt(t.store,i,e,500),pendingLogs:a}}))}function $r(e,t,n=!1){if(!F.has(t.status)||t.error||t.status===`cancelled`)return!1;let r=l(e,t.task.id),i=Math.max(t.finishedAt??0,Date.parse(r?.resumedAt??r?.createdAt??``)||0);return n||(Rn.statSync(q.join(h(e,t.task.id),`result.json`),{throwIfNoEntry:!1})?.mtimeMs??0)<i}const ei=1e3,$=3e4;function ti(e,t,n,r){let i=[...new Set((r.searchParams.get(`tasks`)??``).split(`,`).filter(Boolean))].slice(0,100),a=Date.now(),o=t.taskWatcher??new ri,s=o.tag(t),[c,l]=(e.headers.get(`last-event-id`)??``).split(`-`),u=Number(c),d=u>0&&`-${l}`===s,f=d?Math.min(Math.max(u,a-29e4),a):a,p=u>0&&(!d||u<f)?`event: reset
|
|
2
|
-
data: {}
|
|
3
|
-
|
|
4
|
-
`:``,m=new TextEncoder,h=()=>{},g=new ReadableStream({start(n){n.enqueue(m.encode(`retry: ${ei}\nid: ${f}${s}\n\n${p}`)),h=o.watch(t,i,f,e=>n.enqueue(m.encode(e)),()=>n.close());let r=()=>{h();try{n.close()}catch{}};e.signal.aborted?r():e.signal.addEventListener(`abort`,r)},cancel(){h()}});return new Response(g,{headers:{"content-type":`text/event-stream; charset=utf-8`,"cache-control":`no-cache, no-transform`}})}function ni(e,t){let{task:n,approval:r,archivedAt:i,createdAt:a,startedAt:o,finishedAt:s}=e;return{id:n.id,agent:n.agent,status:e.status,approval:r??null,archivedAt:e.autoArchived&&!t?void 0:i,createdAt:a,startedAt:o,finishedAt:s,...t?{result:e.result??null,error:e.error??null,answer:e.answer??null}:{}}}var ri=class{options;watches=new Set;timer;reading=!1;closed=!1;last=Date.now();scans=new Map;left=new Map;archived=new Map;reads=0;generation=Vn().slice(0,8);constructor(e={}){this.options=e}watch(e,t,n,r,i){if(this.closed)return queueMicrotask(i),()=>{};let a=Date.now();this.watches.size||(this.last=a);let o={ctx:e,ids:new Set(t),sent:new Map,gone:new Set,from:n,fresh:!0,tag:this.tag(e),beat:a,marked:a,until:a+(this.options.lifeMs??29e4),send:r,close:i};return this.watches.add(o),this.timer||(this.timer=setInterval(()=>this.tick(),this.options.pollMs??1e3),this.timer.unref?.()),this.tick(),()=>this.drop(o)}tag(e){return`-${zn(`sha256`).update(e.organizationId).digest(`hex`).slice(0,8)}${e.queue instanceof nn?`.${this.generation}`:``}`}close(){this.closed=!0;for(let e of[...this.watches]){this.drop(e);try{e.close()}catch{}}}drop(e){this.watches.delete(e)&&(this.watches.size||(clearInterval(this.timer),this.timer=void 0))}tick(){let e=Date.now();for(let t of[...this.watches])if(e>=t.until){this.drop(t);try{t.close()}catch{}}else e-t.beat>=(this.options.heartbeatMs??2e4)&&(t.beat=e,this.send(t,`: ping
|
|
5
|
-
|
|
6
|
-
`));this.reading||!this.watches.size||(this.reading=!0,this.read(e).finally(()=>this.reading=!1))}send(e,t){try{e.send(t)}catch{this.drop(e)}}async read(e){let t=[...this.watches],n=new Map;for(let e of t){let t=n.get(e.ctx.organizationId)??{ctx:e.ctx,ids:new Set};for(let n of e.ids)t.ids.add(n);n.set(e.ctx.organizationId,t)}let r=Math.min(this.last,...t.flatMap(e=>e.fresh?[e.from]:[]));this.reads++;let i=await this.changes(n,r-$,e).catch(()=>void 0);if(i){this.last=e;for(let n of t){if(!this.watches.has(n))continue;let t=[];try{t=this.news(n,i,e)}catch{}!t.length&&e-n.marked>=(this.options.heartbeatMs??2e4)&&t.push(`id: ${e}${n.tag}\n\n`),t.length&&(n.marked=e,this.send(n,t.join(``)))}}}async changes(e,t,n){let r=await[...e.values()][0].ctx.queue.changes([...e].map(([e,t])=>({organizationId:e,ids:[...t.ids]})),t),i=new Map;for(let{organizationId:e,status:t}of r.rows){let n=i.get(e)??new Map;i.set(e,n.set(t.task.id,t))}let a=new Map;for(let{organizationId:e,id:t,at:n}of r.deleted){let r=a.get(e)??new Map;a.set(e,r.set(t,n))}for(let[t,{ctx:r}]of e){if(!r.local)continue;let e=[...i.get(t)?.values()??[]],a=this.scans.get(r.local.cwd);if(!a||n-a.at>=4e3||e.some(e=>e.updatedAt>a.at)){let e=!a||n-a.archivedAt>=15e3;await vn(r,r.local.cwd);let t=e?W(r.local.cwd,!0):a.archived,i=W(r.local.cwd,!1),o=new Set(i.map(e=>e.task.id)),s=[...i,...t.filter(e=>!o.has(e.task.id))],c=new Set(s.map(e=>e.task.id)),u=this.left.get(r.local.cwd)??new Map;for(let e of a?.rows??[])c.has(e.task.id)||u.set(e.task.id,a.at);for(let[e,t]of u)(t<n-6e5||c.has(e))&&u.delete(e);let d=this.archived.get(r.local.cwd)??new Set;for(let e of d)c.has(e)?d.delete(e):l(r.local.cwd,e)||(u.set(e,a?.at??n),d.delete(e));this.left.set(r.local.cwd,u),this.scans.set(r.local.cwd,a={at:n,rows:s,archived:t,archivedAt:e?n:a.archivedAt})}i.set(t,new Map(Ce(r.local.cwd,a.rows,e).map(e=>[e.task.id,e])))}return{rows:i,deleted:a}}news(e,{rows:t,deleted:n},r){let{ctx:i}=e,a=t.get(i.organizationId)??new Map,o=[],s=(t,n)=>{let i=JSON.stringify(n);e.sent.get(t)!==i&&(e.sent.set(t,i),o.push(`id: ${r}${e.tag}\nevent: task\ndata: ${i}\n\n`))},c=e=>({id:e,deleted:!0}),l=t=>{let n=i.local&&G(i.local.cwd,t,e.ids.has(t));if(s(t,n?ni(n,e.ids.has(t)):c(t)),e.gone.add(t),n&&i.local){let e=this.archived.get(i.local.cwd)??new Set;this.archived.set(i.local.cwd,e.add(t))}};for(let[t,n]of a){let a=e.ids.has(t);e.gone.delete(t);let o=ni(a&&i.local&&n.local&&F.has(n.status)?G(i.local.cwd,t)??n:n,a);if(i.local&&n.local&&e.sent.get(t)!==JSON.stringify(o)&&r-(n.finishedAt??0)<$&&$r(i.local.cwd,n)){e.sent.has(t)||e.sent.set(t,``);continue}a||i.local&&!e.fresh||n.updatedAt>e.from-$?s(t,o):e.fresh&&e.sent.set(t,JSON.stringify(o))}for(let t of e.ids)a.has(t)||l(t);for(let[t,r]of n.get(i.organizationId)??[])r>e.from-$&&s(t,c(t));if(i.local){for(let t of e.sent.keys())!a.has(t)&&!e.ids.has(t)&&!e.gone.has(t)&&l(t);for(let[t,n]of this.left.get(i.local.cwd)??[])n>e.from-$&&!a.has(t)&&e.sent.get(t)!==JSON.stringify(c(t))&&l(t)}return e.fresh=!1,e.from=r,o}};const ii=1e4;var ai=class{options;feeds=new Map;closed=!1;reads=0;constructor(e={}){this.options=e}watch(e,t,n,r,i){if(this.closed)return queueMicrotask(i),()=>{};let a=this.feeds.get(e),o=a?.reading!==void 0&&Date.now()-a.reading>=(this.options.stallMs??1e4);if(!a||o){let t={key:e,read:n,watches:new Set,head:1/0};if(a){clearTimeout(a.timer);for(let e of a.watches)t.watches.add(Object.assign(e,{feed:t}));a.watches.clear()}this.feeds.set(e,a=t)}let s={cursor:t,feed:a,timers:[],send:r,close:i};s.timers=[setTimeout(()=>this.end(s),this.options.lifeMs??5e4),setInterval(()=>this.send(s,`: ping
|
|
7
|
-
|
|
8
|
-
`),this.options.heartbeatMs??2e4)];for(let e of s.timers)e.unref?.();return a.watches.add(s),a.reading===void 0&&t<a.head&&(clearTimeout(a.timer),this.read(a)),()=>this.drop(s)}close(){this.closed=!0;for(let e of[...this.feeds.values()])for(let t of[...e.watches])this.end(t)}drop(e){let{feed:t}=e;for(let t of e.timers)clearTimeout(t);!t.watches.delete(e)||t.watches.size||(clearTimeout(t.timer),this.feeds.get(t.key)===t&&this.feeds.delete(t.key))}end(e,t=``){try{t&&e.send(t),e.close()}catch{}this.drop(e)}send(e,t){try{e.send(t)}catch{this.drop(e)}}async read(e){if(e.timer=void 0,this.feeds.get(e.key)!==e||!e.watches.size)return;let t=[...e.watches],n=Math.min(...t.map(e=>e.cursor));e.reading=Date.now(),this.reads++;let r=await e.read(n).catch(()=>null);if(e.reading=void 0,this.feeds.get(e.key)!==e)return;let i=t.filter(t=>e.watches.has(t)),a=i.length<e.watches.size?0:this.options.pollMs??1e3;if(r===void 0)for(let e of i)this.end(e);else if(r){let{status:t,lines:o,pendingLogs:s,pendingResult:c}=r,l=o.length===500,u=F.has(t.status)&&!l&&!s&&!c,d=o.map(e=>[e.seq,`id: ${e.seq}\nevent: log\ndata: ${JSON.stringify(e)}\n\n`]);e.head=Math.max(n,o.at(-1)?.seq??n),l&&(a=0);for(let e of i){let t=d.flatMap(([t,n])=>t>e.cursor?[n]:[]).join(``);e.cursor=Math.max(e.cursor,o.at(-1)?.seq??-1),u?this.end(e,`${t}event: end\ndata: {}\n\n`):t&&this.send(e,t)}}this.feeds.get(e.key)===e&&(e.timer=setTimeout(()=>void this.read(e),a),e.timer.unref?.())}};function oi(e,t,n,r,i){let a=t.logWatcher??new ai,o=new TextEncoder,s=()=>{},c=new ReadableStream({start(c){c.enqueue(o.encode(`retry: ${ei}\n\n`)),s=a.watch(`${t.organizationId}:${n}`,r,i,e=>c.enqueue(o.encode(e)),()=>c.close());let l=()=>{s();try{c.close()}catch{}};e.signal.aborted?l():e.signal.addEventListener(`abort`,l)},cancel(){s()}});return new Response(c,{headers:{"content-type":`text/event-stream; charset=utf-8`,"cache-control":`no-cache, no-transform`}})}var si=class{options;entries=new Map;pending=new Map;constructor(e={ttlMs:6e5,max:100}){this.options=e}get size(){return this.entries.size}get inFlight(){return this.pending.size}has(e){return this.entries.has(e)}keys(){return this.entries.keys()}async get(e,t){let n=this.options.now??Date.now,r=n(),i=this.entries.get(e);if(i&&r-i.at<this.options.ttlMs)return i.value;for(let[t,n]of this.entries)t!==e&&r-n.at>=this.options.ttlMs&&this.entries.delete(t);let a=this.pending.get(e);return a||(a=Promise.resolve().then(t).then(t=>{if(t===void 0)return i?.value;if(this.options.accept&&!this.options.accept(t))return i?.value??t;this.entries.set(e,{value:t,at:n()});let r=this.entries.keys().next().value;return this.entries.size>this.options.max&&r!==void 0&&this.entries.delete(r),t}).catch(()=>i?.value).finally(()=>this.pending.delete(e)),this.pending.set(e,a)),a}};const ci=/^[a-z0-9][a-z0-9-]*$/,li=new Set([`openrouter.ai`,`ai-gateway.vercel.sh`,`api.groq.com`,`api.together.xyz`]);function ui(e){return{builtin:{codex:i,claude:c},models:e.models??{}}}async function di(e,t){let{baseUrl:n,envKey:r,key:i}=await K(e);if(!n||!/^https?:\/\//.test(n)||!URL.canParse(n))return E({error:`An http or https base URL is required`},400);let a=!i&&r&&await fi(t,n,r)?await an(t,r):void 0,o=i||a,s=t.settings??={},c=s.probes??=new si({ttlMs:6e5,max:100,now:t.now,accept:e=>e.reachable}),l=`${new URL(n).host}|${r??``}|${C(String(o??``))}`;return E(await c.get(l,()=>te({baseUrl:n},{key:o,fetch:t.fetch})))}async function fi(e,t,n){let r=new URL(t).host;if(li.has(r))return!0;let i=(await be(e)).models??{};return Object.values(i).some(e=>`baseUrl`in e&&e.envKey===n&&new URL(e.baseUrl).host===r)}async function pi(e,t,n,r){return E(ui(await be(t)))}async function mi(e,n,r,i){let{name:a=``,...o}=await K(e);return!ci.test(a)||t(a)?E({error:`Invalid model name "${a}"`},400):R(n,e=>{if(e.models?.[a])throw new V(`"${a}" already exists`);e.models={...e.models,[a]:o}})}async function hi(e,t,n,r){let i=n.name;return R(t,e=>{if(!e.models?.[i])throw new V(`No model "${i}"`);g(e,i)})}async function gi(e,t,a,o){let s=a.name,{spec:l}=await K(e);return R(t,e=>{if(!ci.test(s))throw new V(`Invalid alias name "${s}"`);let t=e.models?.[s];if(t&&f(t))throw new V(`"${s}" is a custom model name`);let a=d(l,u(e));if(!a?.model||a.engine===`custom`)throw new V(`"${l}" does not name a codex or claude model`);let o=a.engine===`claude`?c:i,p=l.split(`:`).some(e=>n.has(e)||r.has(e));e.models={...e.models,[s]:{provider:a.engine,model:o[a.model]??a.model,...p&&a.effort?{effort:a.effort}:{}}}})}async function _i(e,t,n,r){let i=n.name;return R(t,e=>{let t=e.models??={},n=t[i];n&&(f(n)||o(n))?n.disabled=!0:t[i]={disabled:!0}})}async function vi(e,t,n,r){let i=n.name;return R(t,e=>{let t=e.models??={},n=t[i];n&&(f(n)||o(n))?delete n.disabled:delete t[i]})}const yi=/^[a-z0-9][a-z0-9_-]*$/i;async function bi(e,t,n,r){return E((await be(t)).mcp??{})}async function xi(e,t,n,r){let{name:i=``,...a}=await K(e);return yi.test(i)?R(t,e=>{e.mcp={...e.mcp,[i]:a}}):E({error:`Invalid server name "${i}"`},400)}async function Si(e,t,n,r){let i=n.name;return R(t,e=>{if(!e.mcp?.[i])throw new V(`No MCP server "${i}"`);delete e.mcp[i]})}const Ci={npm:[`npx`,`-y`],pypi:[`uvx`],oci:[`docker`,`run`,`-i`,`--rm`]},wi=(e=[])=>e.map(({name:e,description:t,isRequired:n,isSecret:r,value:i,default:a})=>({name:e,...t?{description:t}:{},...i??a?{placeholder:i??a}:{},required:n===!0,secret:r===!0}));function Ti(e=[],t,n){return e.flatMap((e,r)=>{let i=`${t}:${r}`,a=Object.entries(e.variables??{}),o=e.value??e.default,s=(e,t,r)=>{let[i]=wi([{...r,name:e}]);return n.push({...i,label:t}),`{${e}}`};if(a.length)for(let[e,t]of a)o=o?.replaceAll(`{${e}}`,s(`${i}:${e}`,e,t));else o===void 0&&(e.valueHint||e.isRequired)&&(o=s(i,e.valueHint??e.name??i,e));return[...e.type===`named`&&e.name?[e.name]:[],...o===void 0?[]:[o]]})}function Ei(e){let t=e.remotes?.find(e=>e.type===`streamable-http`||e.type===`sse`);if(t)return{type:t.type===`sse`?`sse`:`http`,url:t.url,env:[],headers:wi(t.headers)};let n=e.packages?.find(e=>Ci[e.registryType]&&(e.transport?.type??`stdio`)===`stdio`);if(!n)return;let[r,...i]=Ci[n.registryType],a=[],o=Ti(n.runtimeArguments,`runtime`,a),s=Ti(n.packageArguments,`package`,a);return{type:`stdio`,command:n.runtimeHint??r,args:[...!n.runtimeHint||n.runtimeHint===r?i:[],...o,n.identifier,...s],...a.length?{argumentInputs:a}:{},env:wi(n.environmentVariables),headers:[]}}async function Di(e,t,n){let r=n.searchParams.get(`q`)?.trim()??``,i=t.settings??={},a=await(i.registry??=new si({ttlMs:6e5,max:100,now:t.now})).get(r,()=>Oi(t,r));return a?E(a):E({error:`The MCP registry did not answer. Try again.`},502)}async function Oi(e,t){let n=new URLSearchParams({version:`latest`,limit:`30`});t&&n.set(`search`,t);try{let t=await(e.fetch??fetch)(`https://registry.modelcontextprotocol.io/v0.1/servers?${n}`,{headers:{accept:`application/json`},signal:AbortSignal.timeout(2e4)});if(!t.ok)return;let{servers:r=[]}=await t.json();return r.flatMap(({server:e})=>{let t=Ei(e);return t?[{name:e.name,title:e.title??e.name.split(`/`).pop()??e.name,description:e.description??``,...t}]:[]})}catch{return}}const ki=`/api/auth/callback`,Ai=`/.well-known/oauth-client.json`,ji=`/.well-known/oauth-cli-client.json`,Mi=`openid profile email offline_access organizations:read`;function Ni(e,t){return{client_id:`${e}${Ai}`,client_name:`Coder at ${new URL(e).host}`,redirect_uris:[`${e}${ki}`],post_logout_redirect_uris:[`${e}/?signed_out=1`],grant_types:[`authorization_code`,`refresh_token`],response_types:[`code`],token_endpoint_auth_method:`private_key_jwt`,token_endpoint_auth_signing_alg:`ES256`,jwks:t,scope:Mi}}function Pi(e){return{client_id:`${e}${ji}`,client_name:`Coder CLI for ${new URL(e).host}`,redirect_uris:[`http://127.0.0.1/callback`],grant_types:[`authorization_code`,`refresh_token`,`urn:ietf:params:oauth:grant-type:device_code`],response_types:[`code`],token_endpoint_auth_method:`none`,scope:Mi}}function Fi(e,t){return{resource:new URL(e).origin,authorization_servers:[t],bearer_methods_supported:[`header`],scopes_supported:Mi.split(` `)}}function Ii(e){let t=E(e);return t.headers.set(`cache-control`,`public, max-age=3600`),t}function Li(e,t,n,r){return t.config.publicUrl&&t.auth?Ii(Ni(t.config.publicUrl,t.auth.jwks)):void 0}function Ri(e,t,n,r){return t.config.publicUrl&&t.auth?Ii(Pi(t.config.publicUrl)):void 0}function zi(e,t,n,r){return t.config.publicUrl&&t.auth?Ii(Fi(t.config.publicUrl,t.auth.issuer)):void 0}const Bi=[B(`GET`,Ai,Li,Ue),B(`GET`,ji,Ri,Ue),B(`GET`,`/.well-known/oauth-protected-resource`,zi,Ue),B(`GET`,`/health`,(e,t)=>Qn(t)),B(`GET`,`/`,fn,Te),B(`GET`,`/login`,Mt,An),...Rt(`/login`,kt,An).filter(e=>e.method!==`GET`),B(`POST`,`/dash/token`,rn,Cn),...Rt(`/dash`,Tt,_e)],Vi=[B(`GET`,`/api/auth/capabilities`,(e,t)=>E({wular:t.auth?.issuer??null})),...Rt(`/api/auth`,(e,t)=>t.auth.handler(e),On),B(`GET`,`/me`,tr,zt),B(`POST`,`/me/organization`,rr,Ze)],Hi=[...U(`/tasks`,[B(`GET`,`/:id/messages`,Re,Se),B(`POST`,`/:id/ack`,lt,Se),B(`POST`,`/:id/heartbeat`,ht,Se),B(`POST`,`/:id/result`,Fe,Dt),B(`POST`,`/:id/credential`,ln,Dt),B(`GET`,`/:id`,Oe,ft)]),...U(`/logins`,[B(`GET`,`/:id/input`,mr,Gt),B(`GET`,`/:id`,hr,Gt),B(`POST`,`/:id`,gr,Gt)]),...U(`/runners`,[B(`POST`,`/register`,en)])],Ui=[...U(`/create`,[B(`GET`,`/:id`,_r,Tn),B(`POST`,`/:id`,_r,Tn),B(`GET`,`/:id/callback`,vr,Tn),B(`POST`,`/:id/callback`,yr,Tn)]),...U(`/install`,[B(`GET`,`/:id`,br,M),B(`POST`,`/:id`,br,M),B(`GET`,`/:id/callback`,xr,M),B(`POST`,`/:id/callback`,xr,M)])],Wi=U(`/connect`,[B(`GET`,``,wr,je),B(`POST`,``,Tr,je),B(`GET`,`/:integration`,Er,Ke),B(`GET`,`/:integration/callback`,Dr,Ke)]),Gi=[...U(`/hooks`,[B(`POST`,`/*`,(e,t,n)=>pe(e,t,n[`*`]),(e,t,n)=>t.integrations[n[`*`]]?t:O())]),...Ui,...Wi],Ki=[B(`GET`,`/metrics`,async(e,t)=>E(await er(t),200,{"cache-control":`no-store`}),bn),B(`GET`,`/usage`,In),B(`GET`,`/usage/totals`,Ln)],qi=U(``,[B(`GET`,`/folders`,(e,t)=>E(fe(t.local.cwd))),B(`POST`,`/folders/check`,async(e,t)=>{let n=await e.json().catch(()=>void 0);return E(qe(n?.path))}),B(`POST`,`/folders/clone`,async(e,t)=>{let n=await e.json().catch(()=>void 0);return E(await qt(n?.url))}),B(`POST`,`/folders/pick`,async(e,t)=>E(await Wt()))],Jt),Ji=U(``,[B(`GET`,`/engines/status`,async(e,t)=>E(await jt())),B(`POST`,`/engines/:engine/login`,on),B(`POST`,`/engines/:engine/logout`,$t)],ot),Yi=[B(`POST`,`/apps/:id/install`,(e,t,n,r)=>Ar(e,t,n.id,r.searchParams.get(`back`))),B(`GET`,`/apps`,jr),B(`GET`,`/installations`,Mr),B(`POST`,`/connections`,(e,t)=>kr(e,t)),B(`GET`,`/integrations`,(e,t)=>Nr(t)),B(`GET`,`/repositories`,(e,t)=>Pr(t))],Xi=[B(`GET`,`/agents/import`,Lr),B(`POST`,`/agents/import`,Rr),B(`GET`,`/agents`,Vr),B(`PATCH`,`/agents/:slug/settings`,Yr),B(`GET`,`/agents/:slug/versions`,Hr),B(`GET`,`/agents/:slug/versions/:version`,Ur),B(`GET`,`/agents/:slug`,Wr),B(`DELETE`,`/agents/:slug`,Xr,(e,t)=>Ne(t,`Only an owner or admin can delete an agent.`)),B(`PUT`,`/agents/:slug`,Zr)],Zi=[B(`GET`,`/credentials`,_n),B(`POST`,`/credentials`,Et,rt),B(`POST`,`/credentials/:label/default`,At),B(`DELETE`,`/credentials/:label`,Zt),B(`POST`,`/logins`,ir,j),B(`GET`,`/logins/:id`,ar,j),B(`POST`,`/logins/:id`,or,j),B(`DELETE`,`/logins/:id`,sr,j)],Qi=[B(`GET`,`/runners`,Nt),B(`POST`,`/runners`,$e),B(`POST`,`/runners/pair`,mn),B(`POST`,`/runners/:id/test`,St),B(`PATCH`,`/runners/:id`,dn),B(`DELETE`,`/runners/:id`,ue)],$i=[B(`GET`,`/tasks`,Ye),B(`POST`,`/tasks`,Kt),B(`GET`,`/tasks/:id`,Me),B(`DELETE`,`/tasks/:id`,ze),B(`GET`,`/tasks/:id/logs`,kn),B(`GET`,`/tasks/:id/stream`,Qr),B(`POST`,`/tasks/:id/steer`,et),B(`POST`,`/tasks/:id/ask`,Ve),B(`POST`,`/tasks/:id/approve`,de),B(`POST`,`/tasks/:id/cancel`,We),B(`POST`,`/tasks/:id/archive`,Ut),B(`GET`,`/events`,ti)],ea=[B(`GET`,`/config`,xn),B(`PATCH`,`/config`,he),B(`PUT`,`/config`,it)],ta=[B(`POST`,`/models/probe`,(e,t)=>di(e,t)),B(`GET`,`/models`,pi),B(`POST`,`/models`,mi),B(`DELETE`,`/models/:name`,hi),B(`POST`,`/models/:name/alias`,gi),B(`POST`,`/models/:name/disable`,_i),B(`POST`,`/models/:name/enable`,vi)],na=[B(`GET`,`/mcp`,bi),B(`POST`,`/mcp`,xi),B(`DELETE`,`/mcp/:name`,Si),B(`GET`,`/mcp-registry`,(e,t,n,r)=>Di(e,t,r))],ra=[B(`GET`,`/flows`,ut),B(`GET`,`/pulls`,ke),B(`POST`,`/flows/:name/run`,pt),B(`POST`,`/review`,st)],ia=U(`/admin`,[...Ki,...qi,...Ji,...Yi,...Xi,...Zi,...Qi,...$i,...ea,...ta,...na,...ra]).map(e=>({...e,guard:wt(e.guard)})),aa=[...Hi,...ia,...Vi,...Gi,...Bi];async function oa(e,t,n){if(!Je(e,t))return O();let r=new URL(e.url);return n.scope instanceof Response?n.scope:(t=n.scope??t,await Qt(aa,e,t,r)??Xt(e,t,r))}const sa=`x-coder-request-scope`;function ca(e,{sessions:t,cookies:n}){let r=e.auth;return r?{...e,auth:{...r,session(e,i){let a=JSON.stringify([...[`cookie`,`authorization`,`x-coder-organization`].map(t=>e.get(t)),!!i]),o=t.get(a);return o||(o=r.session(e,i,n),t.set(a,o)),o}}}:e}function la(e,t,n){let r=t.requestScopes??=new Map,i=e.headers.get(sa),a=n&&i?r.get(i):void 0;if(a)return{req:e,ctx:ca(t,a),end(){}};let o=new Headers(e.headers);if(o.delete(sa),!t.auth)return{req:i?new Request(e,{headers:o}):e,ctx:t,end(){}};let s=Vn(),c={sessions:new Map,cookies:[]};return r.set(s,c),o.set(sa,s),{req:new Request(e,{headers:o}),ctx:ca(t,c),cookies:c.cookies,end:()=>r.delete(s)}}async function ua(e,t,n={}){t.limits??=new Qe((t.now??Date.now)()),t.limits.requests++,t.settings??={},t.taskWatcher??=new ri,t.logWatcher??=new ai,t.dashboardHosts??=new Ht;let r=()=>da(e,t,n);return t.dbProfile?t.dbProfile.request(n.inProcess===!0,r):r()}async function da(e,t,n){let r=await ie(e,se(new URL(e.url).pathname));if(r instanceof Response)return r;let i=la(r,t,n.inProcess===!0),a=!1;try{let r=n.clientIp??`unknown`,o=await le(i.req,i.ctx,r),s=fa(o instanceof Response?o:await oa(i.req,i.ctx,o),i.cookies),c=new URL(e.url).pathname.split(`/`),l=c[1]===`tasks`,u=c[1]===`admin`&&c[2]===`tasks`;return e.method!==`GET`&&s.ok&&![`hooks`,`tasks`,`logins`].includes(c[1])&&Yt(t),e.method!==`GET`&&s.ok&&!(l&&c.length===4&&c[2]&&c[3]===`heartbeat`)&&!(u&&c.length===5&&c[3]&&[`steer`,`ask`,`approve`,`archive`].includes(c[4]))&&(l||u||c[1]===`admin`&&c[2]===`review`||c[1]===`admin`&&c[2]===`flows`&&c.length===5&&c[3]&&c[4]===`run`)&&bt(t,u&&c.length===3&&e.method===`POST`),a=!!s.body&&(s.headers.get(`content-type`)??``).includes(`text/html`),a?pa(s,i.end):s}finally{a||i.end()}}function fa(e,t=[]){if(!t.length)return e;let n=new Headers(e.headers);for(let e of t)n.append(`set-cookie`,e);return new Response(e.body,{status:e.status,statusText:e.statusText,headers:n})}function pa(e,t){let n=e.body.getReader(),r=new ReadableStream({async pull(e){try{let{done:r,value:i}=await n.read();r?(t(),e.close()):e.enqueue(i)}catch(n){t(),e.error(n)}},cancel(e){return t(),n.cancel(e)}});return new Response(r,e)}async function ma(e={}){let t=e.env??J.env,n=jn(t,e.host??`node`),r=e.runner??n.runner;if((e.host===`vercel`||t.VERCEL)&&(r===`local`||r===`local-docker`))throw new s(`invalid-option`,`The ${r} runner cannot run on Vercel.`,{hint:`Leave RUNNER unset to use vercel-sandbox.`});if(n.store===`memory`&&r!==`local`&&r!==`local-docker`)throw new s(`invalid-option`,`The ${r} runner needs a database.`,{hint:`Set DATABASE_URL, or use RUNNER=local for a memory server.`});if(!n.publicUrl)throw new s(`invalid-option`,`PUBLIC_URL is required to start a Coder server.`,{hint:`Set PUBLIC_URL to the address platforms and browsers use.`});let i=[];if(n.store===`memory`&&!e.local&&i.push(`test server, not for production: everything is in memory, nothing survives a restart, no sign-in; set DATABASE_URL for a real deployment`),!t.SERVER_ENCRYPTION_KEY&&!e.local&&i.push(`secrets are stored unencrypted; set SERVER_ENCRYPTION_KEY (openssl rand -base64 32)`),n.store===`postgres`&&!n.encryptionKey)throw new s(`invalid-option`,`SERVER_ENCRYPTION_KEY is required for a Postgres server.`,{hint:`Set SERVER_ENCRYPTION_KEY (openssl rand -base64 32); sign-in keys derive from it.`});let a=ee(n.integrations),o=n.store===`memory`&&!n.adminToken?Bn(18).toString(`base64url`):void 0;n.store===`postgres`&&n.adminToken&&i.push(`ADMIN_TOKEN is ignored with Postgres; owners and admins sign in with coder auth login`);let c={...n,...n.store===`postgres`?{adminToken:void 0}:{},...o?{adminToken:o}:{},...e.runner?{runner:e.runner}:{}},l=await pn(c,{local:!!e.local});if(l.connection)try{let e=await Pn(l.connection.db);if(!e.applied)throw new s(`server`,`The database is not set up yet.`,{hint:`Create the tables: coder server migrate`});e.pending&&i.push(`database is ${e.pending} migration${e.pending===1?``:`s`} behind; run coder server migrate`)}catch(e){throw await l.close(),e}try{c.store===`memory`&&await Sn(l.store(l.defaultOrganizationId),Date.now());let n=l.connection&&c.auth?await(await import(`./auth-q8CROpG-.js`)).createAuth(l.connection.db,c):void 0,r=e.cwd??J.cwd(),u=l.store(l.defaultOrganizationId),d=Ge({kind:c.runner,workDir:c.workDir,config:c.runnerConfig,local:!(e.host===`vercel`||t.VERCEL),sandbox:{region:we(c.databaseUrl),snapshots:{get:e=>u.get(`snapshot`,e),put:(e,t)=>u.put(`snapshot`,e,t)}}});if(!d[c.runner])throw await l.close(),new s(`invalid-option`,`Runner ${c.runner} is not configured.`,{hint:`Set RUNNER_CONFIG to JSON containing url and secret.`});let f=new Ht,p=new Qe,m=new Map,h=new Map,g=new ri,_=new ai,v=t=>{let i=m.get(t);if(i)return i;let o=l.store(t),s={limits:p,...l.connection?{databaseHealth:async()=>{await l.connection.db.execute(Wn`select 1`)},statementTimeout:l.connection.statementTimeout,healthRunners:async()=>{let[e]=await l.connection.db.select({total:Wn`count(*)::int`,online:Wn`count(*) filter (where ${Nn.lastSeen} > clock_timestamp() - interval '5 minutes')::int`}).from(Nn);return e??{online:0,total:0}}}:{},config:c,settings:{},organizationId:t,integrations:a,runners:d,store:o,queue:l.queue,requestScopes:h,taskWatcher:g,logWatcher:_,dashboardHosts:f,dbProfile:l.connection?.profile,chatState:l.chatState,loadAgent:sn(a,{cwd:r,config:c,store:o}),...n?{auth:n}:{},scope:v,webhookTarget:(e,t)=>l.webhookTarget(e,t),appRecord:e=>l.appRecord(e),installationOrganization:e=>l.installationOrganization(e),installations:e=>l.installations(e),serverOrganizationId:l.defaultOrganizationId,taskOrganization:(e,t)=>l.taskOrganization(e,t),...e.local?{local:e.local}:{}};return m.set(t,s),s};globalThis.__coder={handle:e=>ua(e,v(l.defaultOrganizationId),{inProcess:!0})};let y=v(l.defaultOrganizationId),b;return e.local&&(await Lt(y),b=setImmediate(()=>{En(y).catch(()=>void 0)})),{config:c,context:v,defaultContext:y,warnings:i,...o?{mintedToken:o}:{},sweep:l.sweep,close:async()=>{g.close(),_.close(),b&&clearImmediate(b),await y.local?.usageSync?.catch(()=>void 0),await Ct(y),await l.close()}}}catch(e){throw await l.close(),e}}var ha=e({serve:()=>ya,serverHandler:()=>_a});function ga(e){try{let t=new URL(e);return Bt.has(t.hostname)?Number(t.port||(t.protocol===`https:`?443:80)):void 0}catch{return}}function _a(e=J.env,t=e.VERCEL?`vercel`:`node`){Mn();let n,r=()=>n??=ma({env:e,host:t}).catch(e=>{throw n=void 0,e});return Object.assign(async(t,n)=>{let i=await r(),a=n?e=>n(e):e=>void e.catch(()=>{}),o=e=>({...i.context(e),waitUntil:a,scope:o});return ua(t,o(i.defaultContext.organizationId),{clientIp:e.VERCEL?t.headers.get(`x-forwarded-for`)?.split(`,`,1)[0]?.trim():void 0})},{scheduled:async()=>{let e=await r();await Promise.all([e.sweep(),import(`./store-qp7UE2ES.js`).then(e=>e.Y).then(t=>t.renewInstallations(e.defaultContext)),gt(e.defaultContext,!1,!0),Ot(e.defaultContext)])},close:async()=>{let e=n;n=void 0,await(await e)?.close()}})}async function va(e={}){Mn();let t=e.env??J.env;if(e.runner&&!He.includes(e.runner))throw new s(`invalid-option`,`Invalid --runner value: use ${He.join(`, `)}`);if(e.port!==void 0&&(!Number.isInteger(e.port)||e.port<1||e.port>65535))throw new s(`invalid-option`,`Invalid port: use 1 through 65535.`);let n=t.PORT&&/^\d+$/.test(t.PORT)?Number(t.PORT):void 0,r=ga(t.PUBLIC_URL),i=e.port??n??r??8787;if(!Number.isInteger(i)||i<1||i>65535)throw new s(`invalid-option`,`Invalid PORT: use 1 through 65535.`);let a=t.PUBLIC_URL?t:{...t,PUBLIC_URL:`http://localhost:${i}`},o=!!(t.DATABASE_URL||t.POSTGRES_URL);if(o&&e.memory)throw new s(`invalid-option`,`A memory server cannot use DATABASE_URL.`,{hint:`Unset DATABASE_URL, or drop --memory.`});let c=(e.host??t.HOST??(o?void 0:`127.0.0.1`))?.replace(/^\[(.*)\]$/,`$1`),l=!o&&!e.memory;if(l&&!Bt.has(c))throw new s(`invalid-option`,`A local server listens on loopback only.`,{hint:`Reach it through a tunnel or a proxy on this machine; set DATABASE_URL for a deployment, or use --memory for a test server.`});if(e.memory&&t.VERCEL)throw new s(`invalid-option`,`A memory server cannot run on Vercel.`,{hint:`Set DATABASE_URL for a real deployment.`});let u,d,f=l?new Promise((e,t)=>{d=t,u=()=>{Xn().then(e,t)}}):void 0,p=f?.then(()=>void 0).catch(()=>void 0),m=l?{cwd:e.cwd??J.cwd(),port:i,cacheMaintenance:p}:void 0,h=await ma({cwd:e.cwd,env:a,runner:e.runner,...m?{local:m}:{}}),g=h.defaultContext,_=()=>{h.sweep().catch(()=>{}),import(`./store-qp7UE2ES.js`).then(e=>e.Y).then(e=>e.renewInstallations(g)).catch(()=>{})};_();let v=setInterval(_,36e5);v.unref();let y=setInterval(()=>{gt(g,!1,!0).catch(()=>{}),Ot(g).catch(()=>{}),t.PUBLIC_URL||import(`./store-qp7UE2ES.js`).then(e=>e.Y).then(e=>e.renewInstallations(g,`sync`)).catch(()=>{})},6e4);y.unref();let b=Un.createServer(oe((e,t)=>ua(e,g,{clientIp:t}),{limit:se,admit:e=>o||me(e.socket.remoteAddress,e.url??`/`)})),x=h.config.publicUrl;r!==void 0&&r!==i&&h.warnings.push(`PUBLIC_URL points at port ${r} but the server listens on ${i}`),await new Promise((e,t)=>{b.once(`error`,t),b.listen(i,c,e)}).catch(async e=>{throw d?.(e),clearInterval(y),clearInterval(v),await h.close(),e});let S=u?setTimeout(u,0):void 0,C=!1,w=async()=>{C||(C=!0,clearInterval(y),clearInterval(v),g.taskWatcher?.close(),g.logWatcher?.close(),await new Promise((e,t)=>b.close(n=>n?t(n):e())),await p,S&&clearTimeout(S),await h.close())},ee=g.auth?`Wular Auth (${g.auth.issuer})`:void 0,te=`http://localhost:${i}`,T=tt(g),E=T===`local`?te:x,D=h.config.store===`memory`?h.mintedToken??t.ADMIN_TOKEN:void 0;return{address:te,publicUrl:x,warnings:h.warnings,close:w,runner:h.config.runner,store:h.config.store,mode:T,...f?{cacheMigration:f}:{},maxTasks:h.config.maxTasks??h.config.limits?.concurrentTasks??10,...ee?{signIn:ee}:{},...h.mintedToken?{mintedToken:h.mintedToken}:{},...h.config.store===`postgres`&&t.DATABASE_URL?{database:Fn(t.DATABASE_URL)}:{},...Bt.has(new URL(E).hostname)?{dashboard:`${E}/dash${D?`#token=${encodeURIComponent(D)}`:``}`}:{}}}async function ya(e={}){try{return await va(e)}catch(e){if(e instanceof s)throw e;let t=e instanceof Error&&e.cause instanceof Error?`: ${e.cause.message}`:``;throw new s(`server`,`${e instanceof Error?e.message:String(e)}${t}`)}}export{Mi as a,ki as i,ha as n,Ai as o,_a as r,ya as t};
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|