@wular/coder 0.4.0 → 0.4.2
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/README.md +69 -70
- package/dist/{add-ej0X9e3a.js → add-C2y-mVzl.js} +1 -1
- package/dist/{add-U-pty9qJ.js → add-CLYTF_up.js} +1 -1
- package/dist/{add-CE-70LFs.js → add-DRsPpQFl.js} +1 -1
- package/dist/{add-BxpLHnvD.js → add-DkpUwhtO.js} +1 -1
- package/dist/{add-json-CEa-6luW.js → add-json-5uPnWPoD.js} +1 -1
- package/dist/{agent-BsYx3Odz.js → agent-hw3zKw8y.js} +1 -1
- package/dist/{agent-JdtZozvP.js → agent-r5mMcehf.js} +1 -1
- package/dist/{alias-DX-Bm86x.js → alias-_0Rwf2cA.js} +1 -1
- package/dist/{app-BT5f7zL5.js → app-oE8G1-bi.js} +1 -1
- package/dist/{approvals-C-AvFt6s.js → approvals-DbVrsxec.js} +1 -1
- package/dist/{approve-DOmpQRNd.js → approve-DeAhFL-m.js} +1 -1
- package/dist/{apps-CjfrZyM5.js → apps-eujHiNca.js} +1 -1
- package/dist/{archive-BziJ1rQ-.js → archive-BCUfymIB.js} +1 -1
- package/dist/{archive-BUB8gFKD.js → archive-DZ6vpMHb.js} +1 -1
- package/dist/{archive-sweep-CtBcARgN.js → archive-sweep-Cxbh8yAI.js} +1 -1
- package/dist/{ask-dE3U3ss2.js → ask-BU2WVxVM.js} +1 -1
- package/dist/auth-CBWTmAPA.js +1 -0
- package/dist/{auth-BFny--17.js → auth-Dmn2U7rr.js} +1 -1
- package/dist/{cli-BilSDkvE.js → cli-DWCR7iqa.js} +1 -1
- package/dist/cli.d.ts +1 -1
- package/dist/cli.js +1 -1
- package/dist/{config-Da_cwoxI.js → config-12pK4qW7.js} +1 -1
- package/dist/{create-C_iMJV4Y.js → create-D3f6q0Yq.js} +1 -1
- package/dist/credentials-l6dsrZLL.js +1 -0
- package/dist/dash/manifest.json +841 -955
- package/dist/dash/public/assets/chunks/{agent-pills-69c965aae1737cef.js → agent-pills-dd0b7643e125bbf1.js} +1 -1
- package/dist/dash/public/assets/chunks/{agent-settings-form-a1ce70812eea3f20.js → agent-settings-form-45ae6aeaaed2b568.js} +1 -1
- package/dist/dash/public/assets/chunks/{agents-grid-f62180478e43c192.js → agents-grid-b906da80c31fc035.js} +1 -1
- package/dist/dash/public/assets/chunks/{badge-d07f35e9abc80e14.js → badge-676b01e0c615bf7b.js} +1 -1
- package/dist/dash/public/assets/chunks/{card-be04148b64223a52.js → card-e0901d68b79dfa93.js} +1 -1
- package/dist/dash/public/assets/chunks/{combo-32c321a7a84fa902.js → combo-952a457d52360d88.js} +1 -1
- package/dist/dash/public/assets/chunks/{composer-aec9c3c691f1f79a.js → composer-49f9e7c5c4dfda3b.js} +1 -1
- package/dist/dash/public/assets/chunks/composer-f331d00837143aee.js +1 -0
- package/dist/dash/public/assets/chunks/{confirm-b4e2c16aef4b3431.js → confirm-f2fe4ba9905a89c6.js} +1 -1
- package/dist/dash/public/assets/chunks/{connect-apps-a5a63941e287c33f.js → connect-apps-661f3b3a85f1776a.js} +1 -1
- package/dist/dash/public/assets/chunks/{connect-repositories-e4c049b5b4384623.js → connect-repositories-5389ec8701a3deac.js} +1 -1
- package/dist/dash/public/assets/chunks/{credentials-list-2b7d0c771b89f9c5.js → credentials-list-e6177d0943517929.js} +2 -2
- package/dist/dash/public/assets/chunks/{custom-range-53b70e0d9eeae84e.js → custom-range-03ba6fb2ade7d282.js} +1 -1
- package/dist/dash/public/assets/chunks/{editor-691d2bcecb1ecb87.js → editor-34cb529d6d8a4b09.js} +2 -2
- package/dist/dash/public/assets/chunks/{engines-list-a5fe1671601ce3b0.js → engines-list-2f1acee3ecc8461a.js} +1 -1
- package/dist/dash/public/assets/chunks/{field-9e12e5fc8774b6e5.js → field-901f1f35c18c39c9.js} +1 -1
- package/dist/dash/public/assets/chunks/{heads-4041a925d63ab116.js → heads-1570a3a6db331979.js} +1 -1
- package/dist/dash/public/assets/chunks/{instructions-4e0d18b9b40edbd7.js → instructions-052fa45a9daf6db6.js} +1 -1
- package/dist/dash/public/assets/chunks/instructions-d0a4b0d95009c262.js +1 -0
- package/dist/dash/public/assets/chunks/{list-d7eb9e02cf261fbe.js → list-87b359bebd26986a.js} +1 -1
- package/dist/dash/public/assets/chunks/{mcp-list-a450533109045ef5.js → mcp-list-b42f0d2ee463b37d.js} +1 -1
- package/dist/dash/public/assets/chunks/{models-list-1e273c6843858148.js → models-list-0669d26fd662aec3.js} +1 -1
- package/dist/dash/public/assets/chunks/{platform-actions-87f3f76ec1b840cb.js → platform-actions-c92ca3c6198a9387.js} +1 -1
- package/dist/dash/public/assets/chunks/{runners-list-fc7cdae4fa93e78b.js → runners-list-9fffa50432c470c9.js} +1 -1
- package/dist/dash/public/assets/chunks/{segmented-6091dfb2f954799f.js → segmented-358ff2b4992b8384.js} +1 -1
- package/dist/dash/public/assets/chunks/{select-dd09a6b9544cfde2.js → select-1013702bdfb1ade4.js} +1 -1
- package/dist/dash/public/assets/chunks/{sentinel-ff7143a47fd22835.js → sentinel-c972a33dc69a5135.js} +1 -1
- package/dist/dash/public/assets/chunks/shared-init-20e199043ff5d00f.js +2 -0
- package/dist/dash/public/assets/chunks/shared-init-88cce66bb3cfe1e5.js +5 -0
- package/dist/dash/public/assets/chunks/{tail-5a5bfcd308535d70.js → tail-7c27aab8ba268bd9.js} +1 -1
- package/dist/dash/public/assets/chunks/{task-actions-7919ca0e901131f4.js → task-actions-a9603d520434baab.js} +1 -1
- package/dist/dash/public/assets/chunks/{task-view-e8a0f99c992fa11e.js → task-view-f7039cb330bcb0b5.js} +3 -3
- package/dist/dash/public/assets/chunks/{tasks-list-7b72f5b295349532.js → tasks-list-2a905b4a0c3a9042.js} +1 -1
- package/dist/dash/public/assets/chunks/{toolbar-9b18a5d26dee37c3.js → toolbar-f964fa864699f095.js} +1 -1
- package/dist/dash/public/assets/chunks/{versions-list-8cdf3a41c56b2152.js → versions-list-fc2e0d2a7382e049.js} +1 -1
- package/dist/dash/public/assets/dash-49ca85b59ac65c20.css +1 -0
- package/dist/dash/public/assets/dash-account-96fc41be318839fa.css +1 -0
- package/dist/dash/public/assets/dash-agents-290a7b21c7dc0c92.css +1 -0
- package/dist/dash/public/assets/dash-agents-new-a7a07bf4ebda24c2.css +1 -0
- package/dist/dash/public/assets/dash-agents-param-slug-69a72fb0bbd14cc2.css +1 -0
- package/dist/dash/public/assets/dash-agents-param-slug-edit-397bdfb2f0ca328c.css +1 -0
- package/dist/dash/public/assets/dash-agents-param-slug-platforms-a7b3b7247c27f1d2.css +1 -0
- package/dist/dash/public/assets/dash-agents-param-slug-settings-8389b7d0555e8ccf.css +1 -0
- package/dist/dash/public/assets/dash-agents-param-slug-tasks-5987b8aea5e8f30d.css +1 -0
- package/dist/dash/public/assets/dash-agents-param-slug-usage-19abc69e1d4e6b0a.css +1 -0
- package/dist/dash/public/assets/dash-settings-53b8e6a8f656fa1a.css +1 -0
- package/dist/dash/public/assets/dash-settings-param-tab-ac61fdfdd6fd533f.css +1 -0
- package/dist/dash/public/assets/dash-tasks-cc0b1d32874b731c.css +1 -0
- package/dist/dash/public/assets/dash-tasks-param-id-02b8c7bd99cc1090.css +1 -0
- package/dist/dash/public/assets/dash-usage-884943221f76ad93.css +1 -0
- package/dist/dash/public/assets/pnext-client-17ba55bb57a1f4da.js +1 -0
- package/dist/dash/public/assets/{pnext-client-0b6720fdec66eeb0.js → pnext-client-1afa4148bea69ad2.js} +1 -1
- package/dist/dash/public/assets/{pnext-client-4cf2e27d0b9c0365.js → pnext-client-2693db10b197ade1.js} +1 -1
- package/dist/dash/public/assets/pnext-client-43f52a07f8067b1b.js +1 -0
- package/dist/dash/public/assets/pnext-client-4594b693fe612835.js +1 -0
- package/dist/dash/public/assets/pnext-client-73f73e24f8141fb6.js +1 -0
- package/dist/dash/public/assets/pnext-client-7574da4651b40eae.js +1 -0
- package/dist/dash/public/assets/pnext-client-7b3a2c1092cbbb02.js +1 -0
- package/dist/dash/public/assets/pnext-client-816fe5fc96d3f768.js +1 -0
- package/dist/dash/public/assets/pnext-client-86cb956b448b0887.js +1 -0
- package/dist/dash/public/assets/pnext-client-8b64e3c030164288.js +1 -0
- package/dist/dash/public/assets/pnext-client-8f6161084c595a22.js +1 -0
- package/dist/dash/public/assets/pnext-client-9203ec11926e5d04.js +1 -0
- package/dist/dash/public/assets/pnext-client-a38b446f941d44df.js +1 -0
- package/dist/dash/public/assets/pnext-client-bd8d51aaa095e8a4.js +1 -0
- package/dist/dash/public/assets/pnext-client-e9821d1f1bdb281d.js +1 -0
- package/dist/dash/server/bundle-0.1.6-b29ec45cb963d47f/entry.js +2 -0
- package/dist/{default-vYPT26DR.js → default-CwQXCtoB.js} +1 -1
- package/dist/{default-Bobztoxf.js → default-De8FXiWz.js} +1 -1
- package/dist/{delete-z1_86nf6.js → delete-BD6AnCLg.js} +1 -1
- package/dist/{delete-D8gEwoOj.js → delete-cS01oOIb.js} +1 -1
- package/dist/{disable-DVKd-0Xb.js → disable-BMWWeYFQ.js} +1 -1
- package/dist/{discover-Df-a8K4R.js → discover-Cfx5RPU7.js} +1 -1
- package/dist/{docs-DKJnqZqt.js → docs-DWegDRiu.js} +1 -1
- package/dist/{enable-C8Zf_wpN.js → enable-Cfzeau2x.js} +1 -1
- package/dist/flow/index.d.ts +1 -1
- package/dist/{flow-17k25MHt.js → flow-kAxxVOiR.js} +1 -1
- package/dist/{index-DT7EST00.d.ts → index-CZjFX5zV.d.ts} +1 -1
- package/dist/{init-CoMfFxbG.js → init-C4tDFH4G.js} +1 -1
- package/dist/integrations-D-L3uQRj.js +1 -0
- package/dist/{list-BYiG8Zav.js → list-5Ljf9TxF.js} +2 -2
- package/dist/{list-BAKvxSbh.js → list-COAo7eZd.js} +1 -1
- package/dist/{list-DX-z3SBp.js → list-DuPqU3fk.js} +1 -1
- package/dist/{list-C5w01-8q.js → list-DzGuMkQy.js} +1 -1
- package/dist/{list-VToARh3C.js → list-J8d_zh-o.js} +1 -1
- package/dist/{list-BxEywhHU.js → list-vOvIpbOH.js} +1 -1
- package/dist/{list-CIW2joV1.js → list-vpyS-hv8.js} +1 -1
- package/dist/{list-DpCf4G-H.js → list-way5oLO0.js} +1 -1
- package/dist/{login-DkkslfBx.js → login-BBw95-S3.js} +1 -1
- package/dist/{login-BFxX4jJy.js → login-CNmeRAL7.js} +1 -1
- package/dist/{logout-BHAtw4Z8.js → logout-j0dTo_Ib.js} +1 -1
- package/dist/{maintenance-C5FklUw3.js → maintenance-DkLVtqM7.js} +1 -1
- package/dist/{mcp-CCZOAo06.js → mcp-CsmBtlW9.js} +1 -1
- package/dist/{migrate-C4vM7DQN.js → migrate-D4nzYhk8.js} +1 -1
- package/dist/{model-Bs1StDo3.js → model-B79MFtRV.js} +1 -1
- package/dist/{push-CUC55Bqd.js → push-DbdnbZYt.js} +1 -1
- package/dist/{queue-6io_NOP3.js → queue-C9fSdE_X.js} +27 -27
- package/dist/refresh-BDmap1RA.js +1 -0
- package/dist/{remove-B93LNkZI.js → remove-BNzbUhaK.js} +1 -1
- package/dist/{remove-eQ8y5C5p.js → remove-CLpL12Ya.js} +1 -1
- package/dist/{remove-CuH8a3L9.js → remove-CaYH9Cna.js} +1 -1
- package/dist/{remove-C5_xggx7.js → remove-D-QeeZQL.js} +1 -1
- package/dist/{rename-CYfy03FE.js → rename-Bhcb4t9F.js} +1 -1
- package/dist/{result-BEtQZHaY.js → result-BfTfJayl.js} +1 -1
- package/dist/{result-BzaM3inj.js → result-D8DsvJDu.js} +1 -1
- package/dist/{resume-DYzKvyEw.js → resume-aZ8yWDBh.js} +1 -1
- package/dist/{review-oIBeECZE.js → review-BEhDcX4b.js} +1 -1
- package/dist/{rotate-key-IdMYH7gg.js → rotate-key-BqnKhTK8.js} +1 -1
- package/dist/{run-CTtd0Znc.js → run-BWbabvub.js} +1 -1
- package/dist/{run-CawRGnOg.js → run-BdPjxaZU.js} +1 -1
- package/dist/{run-BDYl0CKl.js → run-Dqe38jX8.js} +1 -1
- package/dist/runner-BPpiJvHx.js +1 -0
- package/dist/sdk.d.ts +2 -2
- package/dist/sdk.js +1 -1
- package/dist/{serve-CPnmrKyf.js → serve-C0WC-QrV.js} +2 -2
- package/dist/{serve-GmRO89s5.js → serve-CcObDKKQ.js} +1 -1
- package/dist/{serve-CE8YV2e9.js → serve-Ck95047c.js} +1 -1
- package/dist/{serve-CQKZxzFE.js → serve-DA5I2qXj.js} +2 -2
- package/dist/{server-Kb22cWfF.js → server-BxLFZL80.js} +1 -1
- package/dist/{setup-host-GFTUzzZJ.js → setup-host-DLd_j2Uw.js} +1 -1
- package/dist/{shared-DVtzWhUT.js → shared-BLkGRKty.js} +1 -1
- package/dist/{show-COTZEYgc.js → show-DzoQIs75.js} +1 -1
- package/dist/{show-CMUg8SJu.js → show-FC3dJcD-.js} +1 -1
- package/dist/{status-D26U--p8.js → status-BU3DR1XU.js} +1 -1
- package/dist/{steer-C6uARLp5.js → steer-P_38hRRD.js} +1 -1
- package/dist/{stop-BrGI3hSS.js → stop-BJGDRPsp.js} +1 -1
- package/dist/{stop-ByCAlbmN.js → stop-BWY6k6v5.js} +1 -1
- package/dist/{store-DzqXS2wT.js → store-B3ZHoBJY.js} +4 -4
- package/dist/{store-B94tSate.js → store-BLi19UDE.js} +1 -1
- package/dist/{task-CgOKgkEG.js → task-b2BK481M.js} +1 -1
- package/dist/{test-NEbhlxvo.js → test-BrSrhop9.js} +1 -1
- package/dist/{tools-D0Zfs8Hx.js → tools-CgswhJzh.js} +1 -1
- package/dist/{types-Dve7Z0ZP.d.ts → types-I5Cwtl_K.d.ts} +2 -2
- package/dist/{unalias-C9NqmSDq.js → unalias-mMHXqok7.js} +1 -1
- package/dist/{update-BTxYQj7Z.js → update-DbOWToPy.js} +1 -1
- package/dist/{upgrade-hA0yWBvx.js → upgrade-D6oC9HQI.js} +2 -2
- package/dist/{usage-BhqoCjvE.js → usage-Cb8Dtv9V.js} +1 -1
- package/dist/{usage-C4d9X2Uq.js → usage-DMs-IIJC.js} +1 -1
- package/dist/{watch-DtRuC0Wc.js → watch-BcMQXGYO.js} +1 -1
- package/dist/{watch-CSdj24ct.js → watch-eE2XiwsC.js} +1 -1
- package/dist/{worker-DX7P9kWl.js → worker-DrucI22w.js} +1 -1
- package/dist/{workflow-Dcmdooi8.js → workflow-Cshghoas.js} +1 -1
- package/docs/cli.md +145 -0
- package/package.json +3 -2
- package/plugins/claude/.claude-plugin/plugin.json +1 -1
- package/plugins/cursor/.cursor-plugin/plugin.json +1 -1
- package/src/core/defaults.ts +25 -0
- package/src/server/dash/app/dash/layout.css +58 -1
- package/src/server/dash/app/dash/layout.tsx +16 -4
- package/src/server/dash/app/dash/settings/[tab]/page.tsx +1 -1
- package/src/server/dash/comps/nav/side-toggle.tsx +1 -1
- package/src/server/dash/comps/ui/menu.tsx +5 -1
- package/src/server/dash/comps/ui/toast.css +3 -2
- package/dist/auth-DWHIzqbA.js +0 -1
- package/dist/credentials-B1jv6dkg.js +0 -1
- package/dist/dash/public/assets/chunks/composer-e56860d72742379e.js +0 -1
- package/dist/dash/public/assets/chunks/instructions-b00959bd4bb70502.js +0 -1
- package/dist/dash/public/assets/chunks/shared-init-986901c810947c12.js +0 -5
- package/dist/dash/public/assets/chunks/shared-init-baceed9fd2d43661.js +0 -2
- package/dist/dash/public/assets/dash-9e02d5d1a6d42ee3.css +0 -1
- package/dist/dash/public/assets/dash-account-04859899c1838ada.css +0 -1
- package/dist/dash/public/assets/dash-agents-9e678137267dec07.css +0 -1
- package/dist/dash/public/assets/dash-agents-new-26fa27b17ef9b8d8.css +0 -1
- package/dist/dash/public/assets/dash-agents-param-slug-b975c48f8abf3444.css +0 -1
- package/dist/dash/public/assets/dash-agents-param-slug-edit-e13fda599bb04843.css +0 -1
- package/dist/dash/public/assets/dash-agents-param-slug-platforms-70292932cb27bc96.css +0 -1
- package/dist/dash/public/assets/dash-agents-param-slug-settings-71f9a86251723fcc.css +0 -1
- package/dist/dash/public/assets/dash-agents-param-slug-tasks-fb8eb2ed71006601.css +0 -1
- package/dist/dash/public/assets/dash-agents-param-slug-usage-7c8740f1cdd52c71.css +0 -1
- package/dist/dash/public/assets/dash-settings-8eb818da462227e8.css +0 -1
- package/dist/dash/public/assets/dash-settings-param-tab-849a1a9542e273f5.css +0 -1
- package/dist/dash/public/assets/dash-tasks-81e510e0b6931b42.css +0 -1
- package/dist/dash/public/assets/dash-tasks-param-id-bbd2a83342f2ec10.css +0 -1
- package/dist/dash/public/assets/dash-usage-8e0259e03eaed1bd.css +0 -1
- package/dist/dash/public/assets/pnext-client-073464b8f422ef57.js +0 -1
- package/dist/dash/public/assets/pnext-client-1e9cb2f4f6387a87.js +0 -1
- package/dist/dash/public/assets/pnext-client-2f0e78dd006fed0f.js +0 -1
- package/dist/dash/public/assets/pnext-client-3c62e2aa2cbe9fe1.js +0 -1
- package/dist/dash/public/assets/pnext-client-43a88896ed42dd39.js +0 -1
- package/dist/dash/public/assets/pnext-client-587008fa987d3073.js +0 -1
- package/dist/dash/public/assets/pnext-client-676360cc86f31573.js +0 -1
- package/dist/dash/public/assets/pnext-client-813427605f424145.js +0 -1
- package/dist/dash/public/assets/pnext-client-82de7cf6dfc35b98.js +0 -1
- package/dist/dash/public/assets/pnext-client-831e8004c09f0b5b.js +0 -1
- package/dist/dash/public/assets/pnext-client-9b557fe468a45ca3.js +0 -1
- package/dist/dash/public/assets/pnext-client-ab7c900c802fe827.js +0 -1
- package/dist/dash/public/assets/pnext-client-d87d00e402811f0c.js +0 -1
- package/dist/dash/public/assets/pnext-client-fbdb7c1da7eda7e5.js +0 -1
- package/dist/dash/server/bundle-0.1.5-1508b6c99c0d1e68/boot-B2MFTRO2.js +0 -28
- package/dist/dash/server/bundle-0.1.5-1508b6c99c0d1e68/build-tier-XJJSL5FR.js +0 -2702
- package/dist/dash/server/bundle-0.1.5-1508b6c99c0d1e68/chunk-2HFY3DQT.js +0 -206
- package/dist/dash/server/bundle-0.1.5-1508b6c99c0d1e68/chunk-2ICEVELW.js +0 -832
- package/dist/dash/server/bundle-0.1.5-1508b6c99c0d1e68/chunk-3UPROT2C.js +0 -33
- package/dist/dash/server/bundle-0.1.5-1508b6c99c0d1e68/chunk-4P5CMIYT.js +0 -1580
- package/dist/dash/server/bundle-0.1.5-1508b6c99c0d1e68/chunk-4TKZKZ3Q.js +0 -129
- package/dist/dash/server/bundle-0.1.5-1508b6c99c0d1e68/chunk-5RDEILQB.js +0 -435
- package/dist/dash/server/bundle-0.1.5-1508b6c99c0d1e68/chunk-62KEQM43.js +0 -23
- package/dist/dash/server/bundle-0.1.5-1508b6c99c0d1e68/chunk-6KQSWT6D.js +0 -829
- package/dist/dash/server/bundle-0.1.5-1508b6c99c0d1e68/chunk-7DCNCW6O.js +0 -722
- package/dist/dash/server/bundle-0.1.5-1508b6c99c0d1e68/chunk-B4THCTQP.js +0 -20
- package/dist/dash/server/bundle-0.1.5-1508b6c99c0d1e68/chunk-C2LIV2MM.js +0 -170
- package/dist/dash/server/bundle-0.1.5-1508b6c99c0d1e68/chunk-CCATPVTW.js +0 -376
- package/dist/dash/server/bundle-0.1.5-1508b6c99c0d1e68/chunk-COXJAPTU.js +0 -87
- package/dist/dash/server/bundle-0.1.5-1508b6c99c0d1e68/chunk-E6IXL2NJ.js +0 -6268
- package/dist/dash/server/bundle-0.1.5-1508b6c99c0d1e68/chunk-FLGRBFAH.js +0 -1196
- package/dist/dash/server/bundle-0.1.5-1508b6c99c0d1e68/chunk-FTJVHFWD.js +0 -59
- package/dist/dash/server/bundle-0.1.5-1508b6c99c0d1e68/chunk-H523KSIH.js +0 -5149
- package/dist/dash/server/bundle-0.1.5-1508b6c99c0d1e68/chunk-HT6KKX6A.js +0 -18
- package/dist/dash/server/bundle-0.1.5-1508b6c99c0d1e68/chunk-JESFYECC.js +0 -436
- package/dist/dash/server/bundle-0.1.5-1508b6c99c0d1e68/chunk-JRPJM2XY.js +0 -15
- package/dist/dash/server/bundle-0.1.5-1508b6c99c0d1e68/chunk-L2IWDUXG.js +0 -105
- package/dist/dash/server/bundle-0.1.5-1508b6c99c0d1e68/chunk-L5P4Y4UC.js +0 -181
- package/dist/dash/server/bundle-0.1.5-1508b6c99c0d1e68/chunk-NQE46AZN.js +0 -645
- package/dist/dash/server/bundle-0.1.5-1508b6c99c0d1e68/chunk-PA4QEARJ.js +0 -127
- package/dist/dash/server/bundle-0.1.5-1508b6c99c0d1e68/chunk-PZ5AXOLW.js +0 -7144
- package/dist/dash/server/bundle-0.1.5-1508b6c99c0d1e68/chunk-SNVPTULL.js +0 -2395
- package/dist/dash/server/bundle-0.1.5-1508b6c99c0d1e68/chunk-T3QZT3PG.js +0 -218
- package/dist/dash/server/bundle-0.1.5-1508b6c99c0d1e68/chunk-VC5O2SDP.js +0 -70
- package/dist/dash/server/bundle-0.1.5-1508b6c99c0d1e68/chunk-WZX4V6CM.js +0 -229
- package/dist/dash/server/bundle-0.1.5-1508b6c99c0d1e68/chunk-XUUIDXY5.js +0 -625
- package/dist/dash/server/bundle-0.1.5-1508b6c99c0d1e68/chunk-ZHFDO3PR.js +0 -263
- package/dist/dash/server/bundle-0.1.5-1508b6c99c0d1e68/compile-CE2DN7ZA.js +0 -16
- package/dist/dash/server/bundle-0.1.5-1508b6c99c0d1e68/config-UREY7XJT.js +0 -14
- package/dist/dash/server/bundle-0.1.5-1508b6c99c0d1e68/config-loader-UI2XE3PZ.js +0 -15
- package/dist/dash/server/bundle-0.1.5-1508b6c99c0d1e68/entry.js +0 -217
- package/dist/dash/server/bundle-0.1.5-1508b6c99c0d1e68/generate-I2PPTDFD.js +0 -14
- package/dist/dash/server/bundle-0.1.5-1508b6c99c0d1e68/modules-UVOCE4C2.js +0 -46
- package/dist/dash/server/bundle-0.1.5-1508b6c99c0d1e68/pipeline-UW47K537.js +0 -961
- package/dist/dash/server/bundle-0.1.5-1508b6c99c0d1e68/proxy-ITGOVJBW.js +0 -24
- package/dist/dash/server/bundle-0.1.5-1508b6c99c0d1e68/register-4SA55SWT.js +0 -12577
- package/dist/dash/server/bundle-0.1.5-1508b6c99c0d1e68/router-JNKHLBCZ.js +0 -503
- package/dist/dash/server/bundle-0.1.5-1508b6c99c0d1e68/routes-PD6J2NXW.js +0 -52
- package/dist/dash/server/bundle-0.1.5-1508b6c99c0d1e68/tsconfig-defaults-ZXEH7RQK.js +0 -13
- package/dist/integrations-5xCaXSd-.js +0 -1
- package/dist/refresh-BIrmrWYq.js +0 -1
- package/dist/runner-D7ScbIHJ.js +0 -1
- package/src/server/dash/app/dash/token-from-hash.tsx +0 -17
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as t}from"./badge-
|
|
1
|
+
import{a as t}from"./badge-676b01e0c615bf7b.js";import{$5m as n}from"./shared-init-20e199043ff5d00f.js";import{$1a as l}from"./shared-init-88cce66bb3cfe1e5.js";import{$2a as o}from"./shared-init-88cce66bb3cfe1e5.js";import{$1c as a,$1m as c}from"./shared-init-8f2ac936c95a7f7b.js";var d={installed:"installed",created:"app created, not installed yet",none:"no app yet"},u=(r,e)=>r.replace(/\bid="([^"]+)"/g,`id="$1${e}"`).replace(/url\(#([^)]+)\)/g,`url(#$1${e})`).replace(/href="#([^"]+)"/g,`href="#$1${e}"`);function m({brand:r}){let e=c().replace(/[^a-zA-Z0-9_-]/g,"");return r.svg?o("span",{class:"brand-icon","aria-hidden":"true",dangerouslySetInnerHTML:{__html:u(r.svg,`-${e}`)}}):o("svg",{class:"brand-icon",width:"12",height:"12",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true",style:{color:r.dark?`light-dark(${r.color}, ${r.dark})`:r.color},children:o("path",{d:r.icon})})}function k({id:r,info:e,state:i}){let s=e?.name??r;return o("span",{class:`pf ${i}`,title:`${s}, ${d[i]}`,"data-s":d[i],children:[e?o(m,{brand:e.brand}):null,s]})}var h={builtin:"built-in",upload:"dashboard",repo:"repository",home:"local"};function v({agent:r}){return o(a,{children:[r.source==="repo"&&r.repo?r.sourceUrl?o("a",{class:"badge link-pill",href:r.sourceUrl,target:"_blank",rel:"noreferrer",title:`Repository agent, opens ${r.repo}`,children:[o(l,{d:n}),r.repo]}):o("span",{class:"badge link-pill",title:"Repository agent",children:[o(l,{d:n}),r.repo]}):o(t,{title:r.local&&r.source==="repo"?"Repo agent, a folder in this repository":r.source==="home"?"Local agent, a folder on this machine":r.source!=="upload"?"Ships with Coder":r.local?"Local agent, a folder on this machine":"Dashboard agent, made and edited here",children:r.local&&r.source==="upload"?"local":h[r.source]??r.source}),r.local?r.commit&&o(t,{title:"Last commit of the agent's folder",children:r.commit.slice(0,7)}):o(t,{children:["v",r.currentVersion]})]})}export{m as a,k as b,v as c};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";import{c as J}from"./toolbar-
|
|
1
|
+
"use client";import{c as J}from"./toolbar-f964fa864699f095.js";import"./paged-bc6fa0c2b9d52ed7.js";import{b as z}from"./badge-676b01e0c615bf7b.js";import{c as G,e as y,f as Q,g as C,h as M,i as _}from"./model-options-15c53331a2f28a4f.js";import{a as O}from"./select-1013702bdfb1ade4.js";import{a as T,b as I}from"./field-901f1f35c18c39c9.js";import{g as B}from"./format-eb03fc9d9744d960.js";import"./sentinel-c972a33dc69a5135.js";import"./shared-init-20e199043ff5d00f.js";import"./shared-init-88cce66bb3cfe1e5.js";import{$0b as V}from"./shared-init-88cce66bb3cfe1e5.js";import{$2a as e}from"./shared-init-88cce66bb3cfe1e5.js";import{$1g as m,$1j as D,$1k as q}from"./shared-init-8f2ac936c95a7f7b.js";var ee=["low","medium","high"],te=["read-only","workspace-write","auto"],ne=["observe","comment","write"],K=o=>Array.isArray(o)?o.map(String):o&&typeof o=="object"?Object.keys(o):[];function H({name:o,label:g,hint:h,value:f,options:c,blank:b}){let F=f&&!c.includes(f)?[...c,f]:c;return e(T,{label:g,hint:h,group:!0,children:e(O,{name:o,label:g,defaultValue:f??"",options:[["",b],...F.map(v=>[v,v])]})})}function ge({agent:o,models:g,defaults:h,runners:f}){let[c,b]=m(0),[F,v]=m(""),[L,P]=m(""),[U,$]=m(!1),[N,W]=m(""),[p,X]=m(),j=q(null),i=o.settings??{},[R,Y]=m(C(i.engine,i.model)),w=o.definition?.integrations??{},k=Object.keys(w).sort(),S=o.definition,E=S?.engine??h.engine;return D(()=>{let n=N.trim().toLowerCase(),s=[];j.current.querySelectorAll(".vpanel").forEach((l,a)=>{let r=!1;l.querySelectorAll(".field").forEach(t=>{let d=[...t.querySelectorAll("input")].map(A=>A.value).join(" "),u=!n||`${t.textContent} ${d}`.toLowerCase().includes(n);t.hidden=!u,r||=u}),r&&s.push(a)}),X(n?s:void 0),n&&s.length&&!s.includes(c)&&b(s[0])},[N]),e("form",{ref:j,class:"vsettings card frame",onSubmit:async n=>{n.preventDefault();let s=new FormData(n.currentTarget),l=t=>String(s.get(t)??"").trim(),a={};for(let t of["effort","permissions","runner"])l(t)&&(a[t]=l(t));let r=M(R);r.engine&&(a.engine=r.engine),r.model&&(a.model=r.model);for(let t of k){let d=i.integrations?.[t]??{},u={};Array.isArray(d.allowedTools)?u.allowedTools=d.allowedTools:l(`tools:${t}`)&&(u.allowedTools=l(`tools:${t}`));let A=K(w[t]?.triggers),x=s.getAll(`event:${t}`).map(String);A.length&&x.length<A.length&&(u.allowedEvents=x),Object.keys(u).length&&((a.integrations??={})[t]=u)}$(!0),v(""),P("");try{await V.agents.settings(o.id,a),P("Saved. New tasks use these settings.")}catch(t){v(B(t))}$(!1)},children:[e("nav",{class:"tabs vertical","aria-label":"Settings sections",children:[e("p",{class:"tabs-label",children:"Runtime"}),e("button",{type:"button","aria-current":c===0?"true":void 0,class:p&&!p.includes(0)?"miss":void 0,onClick:()=>b(0),children:"How it runs"}),k.length?e("p",{class:"tabs-label",children:"Platforms"}):null,k.map((n,s)=>e("button",{type:"button","aria-current":c===s+1?"true":void 0,class:p&&!p.includes(s+1)?"miss":void 0,onClick:()=>b(s+1),children:n},n))]}),e("div",{class:"vbody",children:[e("div",{class:"vsearch",children:[e(J,{value:N,label:"Search settings",onInput:W}),p&&!p.length?e("span",{class:"muted",children:"No setting matches."}):null]}),e("section",{class:"vpanel",hidden:c!==0,children:[e("h2",{children:"How it runs"}),e("p",{class:"muted",children:"Anything left on Default follows the agent's own definition."}),e("div",{class:"fields",children:[e(T,{label:"Model",hint:"picking a model picks its engine",group:!0,children:e(O,{label:"Model",value:R,options:[...Q(g,y([G[E]??E,S?.model??h.engines[E]?.model].filter(Boolean).join(" \xB7 "))),...!i.engine&&i.model?[[C(void 0,i.model),i.model]]:[]],headings:_(g),onChange:Y})}),e(H,{name:"effort",label:"Effort",value:i.effort,options:ee,blank:y(S?.effort??h.engines[M(R).engine??E]?.effort)}),e(H,{name:"permissions",label:"Permissions",hint:"what the runner may change in the checkout",value:i.permissions,options:te,blank:y(S?.permissions??"read-only")}),f.length>1?e(T,{label:"Runs on",group:!0,children:e(O,{name:"runner",label:"Runs on",defaultValue:i.runner??"",options:f})}):null]})]}),k.map((n,s)=>{let l=i.integrations?.[n]??{},a=K(w[n]?.triggers),r=l.allowedEvents,t=w[n]?.tools;return e("section",{class:"vpanel",hidden:c!==s+1,children:[e("h2",{children:n}),e("p",{class:"muted",children:"Narrow what the agent does here. Only the events its definition declares can be picked."}),Array.isArray(l.allowedTools)?e("div",{class:"field",children:[e("span",{children:"Platform access"}),e(z,{values:l.allowedTools})]}):e(H,{name:`tools:${n}`,label:"Platform access",hint:"observe reads, comment also replies, write also pushes and merges",value:typeof l.allowedTools=="string"?l.allowedTools:void 0,options:ne,blank:y(typeof t=="string"?t:t?"custom":"observe")}),a.length?e("div",{class:"field",children:[e("span",{children:["Events ",e("small",{children:"all declared events unless you narrow it"})]}),e("div",{class:"checks",children:a.map(d=>e("label",{class:"check",children:[e("input",{type:"checkbox",name:`event:${n}`,value:d,defaultChecked:!r||r.includes(d)}),d]},d))})]}):null]},n)}),e("div",{class:"form-actions save",children:[e("button",{class:"btn",disabled:U,children:"Save"}),e(I,{value:F}),L?e("span",{class:"flash",role:"status",children:L}):null]})]})]})}export{ge as AgentSettingsForm};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";import{a as h,b,c as k}from"./agent-pills-
|
|
1
|
+
"use client";import{a as h,b,c as k}from"./agent-pills-dd0b7643e125bbf1.js";import{a as C}from"./tail-7c27aab8ba268bd9.js";import{a as w,b as A,c as v,d as P}from"./toolbar-f964fa864699f095.js";import{b as y}from"./paged-bc6fa0c2b9d52ed7.js";import"./badge-676b01e0c615bf7b.js";import{b as u}from"./card-e0901d68b79dfa93.js";import{f}from"./format-eb03fc9d9744d960.js";import"./sentinel-c972a33dc69a5135.js";import{$1a as p}from"./shared-init-20e199043ff5d00f.js";import"./shared-init-20e199043ff5d00f.js";import{$4a as g,$4d as l}from"./shared-init-20e199043ff5d00f.js";import"./shared-init-20e199043ff5d00f.js";import"./shared-init-88cce66bb3cfe1e5.js";import{$0b as c}from"./shared-init-88cce66bb3cfe1e5.js";import{$2a as a}from"./shared-init-88cce66bb3cfe1e5.js";import{$1c as d}from"./shared-init-8f2ac936c95a7f7b.js";function I(){return a(p,{class:"btn",href:"/dash/agents/new",children:"New agent"})}function S({agent:t,catalog:m}){return a("li",{class:"agent-card",children:[a("div",{class:"bc-head",children:[a("span",{class:"mark",children:f(t.name)}),a("div",{class:"grow",children:[a("h3",{children:a(p,{class:"cover",href:"/dash/agents/[slug]",params:{slug:t.id},children:t.name})}),a("span",{class:"pills",children:a(k,{agent:t})})]})]}),a("div",{class:"lead-clamp",children:a("span",{children:t.description??"No description yet."})}),t.platforms.length?a("span",{class:"pfs",children:t.platforms.map(o=>a(b,{id:o.id,info:m.find(s=>s.id===o.id),state:o.state},o.id))}):a("span",{class:"pfs muted",children:"Listens nowhere yet"})]})}var K=[["","All agents"],["dashboard","Dashboard agents"],["repository","Repository agents"],["builtin","Built-in"]];function X({first:t,limit:m,filters:o,catalog:s,head:R,children:M}){let{values:n,set:i,query:N}=A(o),r=y({name:"agents",fetchPage:e=>c.agents.list({cursor:e,limit:m,...n}),query:N,first:t,initial:w(o)});return a(d,{children:[a(P,{head:R,action:a(I,{}),children:[a(v,{value:n.q,label:"Search agents",onInput:e=>i("q",e,250)}),a(g,{class:"filter-more",label:"More filters",summaryClass:`field-btn${n.platform||n.type?" on":""}`,summary:"Filter",children:[a("p",{class:"pop-label",children:"Platform"}),a("div",{role:"group","aria-label":"Platform",children:[a(l,{on:!n.platform,onPick:()=>i("platform",""),children:"All platforms"}),s.map(e=>a(l,{on:n.platform===e.id,onPick:()=>i("platform",e.id),children:a("span",{class:"pf",children:[a(h,{brand:e.brand}),e.name]})},e.id))]}),a("p",{class:"pop-label",children:"Source"}),a("div",{role:"group","aria-label":"Source",children:K.map(([e,q])=>a(l,{on:n.type===e,onPick:()=>i("type",e),children:q},e))})]})]}),M,r.rows.length?a("ul",{class:"agent-grid","aria-busy":r.stale,children:r.rows.map(e=>a(S,{agent:e,catalog:s},e.id))}):r.stale?null:a(u,{title:"No agents match",children:"Try another search or filter."}),a(C,{noun:"agents",...r})]})}export{X as AgentsGrid,K as KINDS};
|
package/dist/dash/public/assets/chunks/{badge-d07f35e9abc80e14.js → badge-676b01e0c615bf7b.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{$2a as s}from"./shared-init-
|
|
1
|
+
import{$2a as s}from"./shared-init-88cce66bb3cfe1e5.js";function o({tone:n,title:t,children:e}){return s("span",{class:n?`badge ${n}`:"badge",title:t,children:e})}function l({values:n}){let t=n.filter(e=>!!e);return t.length?s("span",{class:"chips",children:t.map(e=>s("span",{class:"chip",children:e},e))}):s("span",{class:"muted",children:"None"})}function d({value:n,title:t}){return s("span",{class:"id",title:t??n,children:n})}export{o as a,l as b,d as c};
|
package/dist/dash/public/assets/chunks/{card-be04148b64223a52.js → card-e0901d68b79dfa93.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{$2a as n}from"./shared-init-
|
|
1
|
+
import{$2a as n}from"./shared-init-88cce66bb3cfe1e5.js";function p({title:a,count:e,actions:t,tone:s,children:i}){return n("section",{class:s?`card frame ${s}`:"card frame",children:[a?n("div",{class:"bar",children:[n("h2",{children:[a,e!==void 0?n("span",{class:"n",children:e}):null]}),t?n("span",{class:"bar-r",children:t}):null]}):null,i]})}function c({title:a,children:e}){return n("div",{class:"empty",children:[n("b",{children:a}),e?n("span",{children:e}):null]})}function u({label:a,inline:e,dots:t,h:s}){return n(e?"span":"div",{class:e?"loading inline":"loading",role:"status",style:s?`--h:${s}px`:void 0,children:n("span",{children:[t?n("i",{class:"dots",children:[n("b",{}),n("b",{}),n("b",{})]}):n("i",{class:"spin"}),a]})})}export{p as a,c as b,u as c};
|
package/dist/dash/public/assets/chunks/{combo-32c321a7a84fa902.js → combo-952a457d52360d88.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{$5p as D}from"./shared-init-
|
|
1
|
+
import{$5p as D}from"./shared-init-20e199043ff5d00f.js";import{$1a as C}from"./shared-init-88cce66bb3cfe1e5.js";import{$2a as r}from"./shared-init-88cce66bb3cfe1e5.js";import{$1c as E,$1g as l,$1j as m,$1k as g,$1m as L}from"./shared-init-8f2ac936c95a7f7b.js";var q=50;function F({label:v,name:H,class:I,options:b,placeholder:T,value:d,onChange:w,onOpen:M}){let[A,i]=l(!1),[P,a]=l(!1),[o,c]=l(0),[y,S]=l(""),$=g(null),u=g(null),p=L(),k=P?d.trim().toLowerCase():"",s=(k?b.filter(e=>e.toLowerCase().includes(k)):b).slice(0,q),n=A&&s.length>0,x=e=>{let t=s[e];t&&w(t),i(!1),a(!1)};return m(()=>{if(!n)return;u.current?.showPopover();let e=()=>{let t=$.current?.getBoundingClientRect(),f=u.current;if(!t||!f)return;let h=innerHeight-t.bottom-12,W=h<Math.min(f.scrollHeight,240)&&t.top>h;S(`left:${Math.round(Math.min(t.left,innerWidth-f.offsetWidth-8))}px;min-width:${Math.round(t.width)}px;`+(W?`bottom:${Math.round(innerHeight-t.top+4)}px;max-height:${Math.round(Math.min(360,t.top-12))}px`:`top:${Math.round(t.bottom+4)}px;max-height:${Math.round(Math.min(360,h))}px`))};return e(),addEventListener("resize",e),addEventListener("scroll",e,!0),()=>{removeEventListener("resize",e),removeEventListener("scroll",e,!0)}},[n,s.length]),m(()=>{n&&u.current?.querySelector(`[data-index="${o}"]`)?.scrollIntoView({block:"nearest"})},[n,o,y]),r(E,{children:[r("input",{ref:$,name:H,class:I,role:"combobox","aria-label":v,"aria-autocomplete":"list","aria-expanded":n,"aria-controls":`${p}-list`,"aria-activedescendant":n?`${p}-${o}`:void 0,autocomplete:"off",placeholder:T,value:d,onInput:e=>{w(e.currentTarget.value),a(!0),c(0),i(!0)},onFocus:()=>{a(!1),i(!0),M?.()},onClick:()=>{i(!0),M?.()},onBlur:()=>{i(!1),a(!1)},onKeyDown:e=>{if(n){if(e.key==="ArrowDown")c((o+1)%s.length);else if(e.key==="ArrowUp")c((o-1+s.length)%s.length);else if(e.key==="Enter")x(o);else if(e.key==="Escape")i(!1);else return;e.preventDefault()}}}),n?r("div",{ref:u,id:`${p}-list`,class:"pop select-pop",popover:"manual",role:"listbox","aria-label":v,style:y||"visibility:hidden",onMouseDown:e=>e.preventDefault(),children:s.map((e,t)=>r("div",{id:`${p}-${t}`,"data-index":t,role:"option","aria-selected":e===d,class:t===o?"pop-item on":"pop-item",onPointerMove:()=>t!==o&&c(t),onClick:()=>x(t),children:[r("span",{class:"grow",children:e}),r(C,{d:D})]},e))}):null]})}export{F as a};
|
package/dist/dash/public/assets/chunks/{composer-aec9c3c691f1f79a.js → composer-49f9e7c5c4dfda3b.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as Fe}from"./connect-repositories-e4c049b5b4384623.js";import{a as ce,b as qe,c as je,e as Ke}from"./composer-data-6f7608fed13f3dd7.js";import{b as Ie,c as ae,e as le,g as G,h as Be}from"./model-options-15c53331a2f28a4f.js";import{a as H}from"./select-dd09a6b9544cfde2.js";import{g as He}from"./task-fa8b82e95e771c4a.js";import{c as Pe}from"./card-be04148b64223a52.js";import{b as ne}from"./field-9e12e5fc8774b6e5.js";import{a as Le,g as E}from"./format-eb03fc9d9744d960.js";import{$1d as Ae}from"./shared-init-baceed9fd2d43661.js";import{$4a as Se}from"./shared-init-baceed9fd2d43661.js";import{$0a as ie}from"./shared-init-baceed9fd2d43661.js";import{$2d as se}from"./shared-init-baceed9fd2d43661.js";import{$5B as Ne,$5f as Oe,$5o as Re,$5p as re,$5r as Me,$5t as Te,$5w as De}from"./shared-init-baceed9fd2d43661.js";import{$0a as C}from"./shared-init-986901c810947c12.js";import{$1b as h}from"./shared-init-986901c810947c12.js";import{$2a as t}from"./shared-init-986901c810947c12.js";import{$1c as g,$1g as u,$1i as U,$1j as $e,$1k as T,$1m as xe}from"./shared-init-8f2ac936c95a7f7b.js";var it=[["","Default"],["low","Low"],["medium","Medium"],["high","High"]],at=[["","Default"],["read-only","Read-only"],["workspace-write","Write"],["auto","Auto"]],J="coder:draft",V="+connect",pe="+other",de="+pick",ue="+clone",lt=/^\/(review|flow)(?:\s+(\S+))?\s*([\s\S]*)$/,ct=(l,s,i)=>[["",l],...[...new Set([s,...i])].filter(Boolean).map(a=>[a,a])],pt=(l,s,i)=>[["",l],...s&&!i.some(([a])=>a===s)?[[s,s]]:[],...i],We=(l,s,i)=>{let a=[...l.recent,...s].map(p=>p.path);return[["","No folder"],...[...new Set([...a,i])].filter(p=>p&&p!==l.current.path).map(p=>[p,He(p)]),l.picker?[de,"Choose\u2026"]:[pe,"Type a path\u2026"],[ue,"Repository\u2026"]]};function dt(l,s){let i=[["",[["",`Default \xB7 ${[ae[s.engine]??s.engine,s.engines[s.engine]?.model].filter(Boolean).join(" ")}`]]]];for(let a of Ie)l[a]?.length&&i.push([ae[a]??a,[[G(a,""),le(s.engines[a]?.model)],...l[a].map(p=>[G(a,p),p])]]);return i}var ze=(l,s)=>{let i=l.find(([a])=>a&&a===s)?.[1];return[["",le(i?.toLowerCase())],...l.slice(1)]};function ut(l){let s=l.currentTarget,i=document.querySelector(`[popovertarget="${s.id}"]`)?.getBoundingClientRect();if(l.newState!=="open"||!i)return;let a=Math.round(i.bottom+6);s.style.top=`${a}px`,s.style.right=`${Math.round(document.documentElement.clientWidth-i.right)}px`,s.style.maxHeight=`${Math.max(160,window.innerHeight-a-16)}px`}function ft(l){return Object.fromEntries(l.split(/\s+/).filter(Boolean).map(s=>{let i=s.indexOf("="),a=i<0?"true":s.slice(i+1);try{return[i<0?s:s.slice(0,i),JSON.parse(a)]}catch{return[s.slice(0,i),a]}}))}function mt({id:l,entries:s,active:i,selected:a,onActive:p}){return t(g,{children:s.flatMap((m,b)=>[m.head?t("div",{class:"pop-label",role:"presentation",children:m.head},`h:${m.key}`):null,t("div",{id:`${l}-${b}`,role:"option","aria-selected":a===void 0?b===i:m.key===a,class:b===i?"pop-item on":"pop-item",onMouseDown:r=>r.preventDefault(),onPointerMove:()=>b!==i&&p(b),onClick:m.pick,children:[t("span",{class:"grow",children:m.label}),m.hint?t("small",{children:m.hint}):null,a===void 0?null:t(C,{d:re})]},m.key)])})}var gt=(l,s,i,a)=>{let p={ArrowDown:1,ArrowUp:-1}[l.key];return!p||!i?!1:(l.preventDefault(),a((s+p+i)%i),!0)};function ht({reason:l,back:s="/dash/tasks"}){return t("div",{class:"notice slim",role:"status",children:[t(C,{d:De}),t("span",{class:"grow",children:l||"Tasks need a model credential to run."}),t(ie,{class:"btn outline sm",href:"/dash/settings/[tab]",params:{tab:"credentials"},search:{return:s},children:"Add credential"})]})}function bt({initial:l,data:s,defaults:i,missing:a,connectLabel:p,tz:m}){let b=Se(),[r,X]=u({...qe,...l}),[d,fe]=u(s),[w,Z]=u(),[q,me]=u(!1),[Ue,$]=u(""),[ge,Ge]=u(),[Je,Ve]=u(),[D,_]=u(""),[Xe,S]=u(!1),[Ze,j]=u(0),[Q,_e]=u([]),[O,A]=u(""),[N,he]=u(!1),be=T(null),y=T(null),we=T(null),ye=T(null),R=xe();U(()=>void(O&&ye.current?.focus()),[O]),U(()=>{let e=localStorage.getItem(J);e&&y.current&&!y.current.value&&(y.current.value=e),_(y.current?.value??""),y.current?.focus(),S(!0)},[]);let ke=D.startsWith("/");U(()=>{let e=r.repo;!ke||!e||w?.repo===e||(Z({repo:e}),h.pulls.list(e).then(o=>Z({repo:e,items:o})).catch(o=>{Z({repo:e,items:[]}),$(E(o))}),h.flows.list(e).then(o=>fe(c=>({...c,flows:o.map(n=>n.name)}))).catch(()=>{}))},[ke,r.repo]);let P=(e,o)=>{if(o===pe)return A("path");if(o===ue)return A("url");if(o===de)return void Ye();if(o===V)return void Fe("/dash/tasks").catch(c=>$(E(c)));M({[e]:o}),(e==="repo"||e==="cwd")&&y.current?.focus({preventScroll:!0})},M=e=>{let o={...r,...e};X(o),document.cookie=`compose=${encodeURIComponent(JSON.stringify(o))}; path=/; max-age=31536000; samesite=lax`},Y=e=>{if(!e.ok)return $(e.detail);$(""),A(""),_e(o=>[...o.filter(c=>c.path!==e.folder.path),e.folder]),P("cwd",e.folder.path===d.folders?.current.path?"":e.folder.path)},Qe=async e=>{e.trim()&&Y(await h.folders.check(e.trim()).catch(o=>({ok:!1,detail:E(o)})))},Ye=async()=>{document.body.style.cursor="progress";let e=await h.folders.pick().catch(o=>({ok:!1,detail:E(o)}));document.body.style.cursor="",(e.ok||e.detail)&&Y(e)},et=async e=>{if(!e.trim())return;he(!0),document.body.style.cursor="progress";let o=await h.folders.clone(e.trim()).catch(c=>({ok:!1,detail:E(c)}));document.body.style.cursor="",he(!1),Y(o)},ee=e=>{let o=y.current;o.value=e,localStorage.setItem(J,e),_(e),j(0),S(!1),o.focus(),o.setSelectionRange(e.length,e.length)},K=async e=>{let o=y.current?.value.trim()??"";if(q||N||!(o||e))return;let[,c,n="",k=""]=lt.exec(o)??[];if(!e&&c&&!(c==="flow"?n:/^#?\d+$/.test(n)))return void S(!1);let x=e??(c==="review"?Number(n.replace("#","")):void 0);if(x&&!r.repo)return $("Pick a repository first.");let{agent:I,engine:z,model:B,effort:v,permissions:te,runner:ot}=r,[nt,rt]=d.folders?["",r.cwd]:[r.repo,""],oe=Object.fromEntries(Object.entries({repo:nt,cwd:rt,engine:z,model:B,effort:v,permissions:te,runner:ot}).filter(([,L])=>L));me(!0),$("");try{let L=x?await h.review({...oe,repo:r.repo,pr:x}):c==="flow"?await h.flows.run(n,{...oe,agent:I,args:ft(k)}):await h.tasks.create({...oe,agent:I,prompt:o});(!e||c)&&localStorage.removeItem(J),Ae(L.task.id,"queued",o||`Review of #${x}`),b.push("/dash/tasks/[id]",{params:{id:L.task.id}})}catch(L){me(!1),L.status===409?Ge(E(L)):$(E(L))}},f=(()=>{let e=/^\/(\S*)$/.exec(D)?.[1]?.toLowerCase();if(e!==void 0)return{label:"Commands",entries:[{key:"review",label:"/review",hint:"Review a pull request",pick:()=>ee("/review ")},...d.flows.map(n=>({key:`flow ${n}`,label:`/flow ${n}`,hint:`Run the ${n} flow`,pick:()=>ee(`/flow ${n} `)}))].filter(n=>n.key.includes(e)),note:"No command matches."};let o=/^\/flow\s+(\S*)$/.exec(D)?.[1];if(o!==void 0)return{label:"Flows",entries:d.flows.filter(n=>n.includes(o)).map(n=>({key:n,label:n,hint:`Run the ${n} flow`,pick:()=>n===o?void K():ee(`/flow ${n} `)})),note:"No flow matches."};let c=/^\/review\s+#?(\S*)$/.exec(D)?.[1];if(c!==void 0)return r.repo?w?.items?{label:`Pull requests in ${r.repo}`,entries:[...w.items.filter(n=>String(n.number).startsWith(c)||n.title.toLowerCase().includes(c.toLowerCase())).sort((n,k)=>+(String(k.number)===c)-+(String(n.number)===c)).map(n=>({key:`#${n.number}`,label:`#${n.number} ${n.title}`,hint:[n.author,n.createdAt?Le(Date.parse(n.createdAt),m):""].filter(Boolean).join(" \xB7 "),pick:()=>void K(n.number)})),...c?[]:[{key:"",label:r.repo,hint:"Pick another repository",pick:()=>M({repo:""})}]],note:w.items.length?"No open pull request matches.":"No open pull requests."}:{label:`Pull requests in ${r.repo}`,entries:[],note:"loading"}:{label:"Pick a repository",entries:[...d.repos.filter(n=>n.includes(c)).map(n=>({key:n,label:n,pick:()=>P("repo",n)})),{key:V,label:p,pick:()=>P("repo",V)}]}})(),F=!!(f&&!Xe),W=f?Math.min(Ze,Math.max(0,f.entries.length-1)):0;$e(()=>{let e=we.current;if(!e)return;if(!F)return void(e.matches(":popover-open")&&e.hidePopover());let o=()=>{let c=be.current.getBoundingClientRect();e.style.top=`${Math.round(c.bottom+6)}px`,e.style.left=`${Math.round(c.left)}px`,e.style.width=`${Math.round(Math.min(c.width,460))}px`};return o(),e.matches(":popover-open")||e.showPopover(),addEventListener("scroll",o,!0),addEventListener("resize",o),()=>{removeEventListener("scroll",o,!0),removeEventListener("resize",o)}},[F,D]);let tt=r.engine||i.engine,ve=i.engines[tt]??{},Ee=d.agents.filter(([e])=>e!=="coder"),Ce=[r.agent!=="coder"&&r.agent,r.engine!==i.engine&&r.engine,...["model","effort","permissions"].map(e=>r[e]!==ve[e]&&r[e]),r.runner&&(d.runners.find(([e])=>e===r.runner)?.[1]??r.runner)].filter(Boolean).join(" \xB7 ");return t(g,{children:[t("form",{ref:be,class:"composer",onSubmit:e=>{e.preventDefault(),K()},children:[t("textarea",{ref:y,name:"prompt",rows:1,role:"combobox","aria-label":"What should the agent do?","aria-autocomplete":"list","aria-expanded":F,"aria-controls":`${R}-slash`,"aria-activedescendant":F&&f?.entries.length?`${R}-slash-${W}`:void 0,placeholder:ce,autofocus:!0,onFocus:()=>S(!1),onBlur:()=>S(!0),onInput:e=>{let o=e.currentTarget.value;localStorage.setItem(J,o),_(o),j(0),S(!1)},onKeyDown:e=>{if(!e.isComposing){if(F&&f){if(gt(e,W,f.entries.length,j))return;if(e.key==="Escape")return e.preventDefault(),S(!0);if(f.entries.length&&(e.key==="Enter"&&!e.shiftKey||e.key==="Tab"))return e.preventDefault(),f.entries[W].pick()}e.key!=="Enter"||e.shiftKey||(e.preventDefault(),K())}}}),t("div",{class:"composer-line",children:[d.folders?O?t(g,{children:[t("input",{class:"folder-path","aria-label":O==="url"?"Repository URL":"Folder path",ref:ye,placeholder:O==="url"?"https://github.com/owner/repo":"Absolute path or ~/\u2026",readOnly:N,"aria-busy":N,onKeyDown:e=>{if(N)return e.preventDefault();if(e.key==="Escape")return e.preventDefault(),$(""),A("");e.key!=="Enter"||e.isComposing||(e.preventDefault(),(O==="url"?et:Qe)(e.currentTarget.value))},onBlur:e=>!N&&!e.currentTarget.value.trim()&&A("")}),N?t("span",{class:"folder-busy",children:"Cloning\u2026"}):null]}):t("span",{class:"folder",title:r.cwd||d.folders.current.path,children:t(H,{label:"Folder",value:r.cwd,options:We(d.folders,Q,r.cwd),subs:Object.fromEntries(We(d.folders,Q,r.cwd).flatMap(([e])=>e&&e!==pe&&e!==de&&e!==ue?[[e,Q.find(o=>o.path===e)?.url??e]]:[])),onChange:e=>P("cwd",e)})}):t(H,{label:"Repository",value:r.repo,options:[...ct("No repository",r.repo,d.repos),[V,p]],onChange:e=>P("repo",e)}),t("button",{type:"button",class:"quiet",popovertarget:`${R}-settings`,"aria-label":"Run options",title:"Model, effort, permissions and more",children:[t(C,{d:Ne}),Ce?t("span",{children:Ce}):null]}),t("button",{class:"btn sm send",disabled:q||!D.trim(),"aria-busy":q,"aria-label":q?"Starting task":"Start task",title:"Start task (Enter)",children:t(C,{d:Te})})]}),O==="url"?t("small",{class:"folder-hint",children:"Uses this machine's git logins"}):null,t(ne,{value:Ue}),t("div",{id:`${R}-settings`,class:"pop composer-settings",popover:"auto",onBeforeToggle:ut,children:[t("p",{class:"pop-label",children:"Model"}),t("div",{role:"group","aria-label":"Model",class:"pop-radios",children:[dt(d.models,i).map(([e,o])=>t(g,{children:[e?t("p",{class:"pop-group",children:e}):null,o.map(([c,n])=>{let k=c===G(r.engine,r.model),x=Be(c),I=ze(it,i.engines[x.engine||i.engine]?.effort),z=k&&r.effort?I.find(([v])=>v===r.effort)?.[1]:void 0,B=Je===c;return t(g,{children:[t("div",{class:"pop-row",children:[t("button",{type:"button",role:"menuitemradio","aria-checked":k,class:k?"pop-item on":"pop-item",onClick:v=>{M({...x,effort:""}),v.currentTarget.closest("[popover]")?.hidePopover()},children:[t("span",{class:"grow",children:n}),z?t("small",{children:z.toLowerCase()}):null,k?t(C,{d:re}):null]}),t("button",{type:"button",class:"pop-chev","data-keep":!0,"aria-label":`Effort for ${n}`,"aria-expanded":B,onClick:()=>Ve(B?void 0:c),children:t(C,{d:Oe})})]}),B?t("div",{role:"group","aria-label":`Effort for ${n}`,class:"pop-sub",children:I.map(([v,te])=>t(se,{on:k&&r.effort===v,onPick:()=>{M({...x,effort:v}),document.getElementById(`${R}-settings`)?.hidePopover()},children:te},v))}):null]},c)})]},e)),t(ie,{class:"pop-item add-models",href:"/dash/settings/[tab]",params:{tab:"models"},children:[t(C,{d:Me}),t("span",{class:"grow",children:"Add models"})]})]}),t("p",{class:"pop-label",children:"Permissions"}),t("div",{role:"group","aria-label":"Permissions",children:ze(at,ve.permissions??"auto").map(([e,o])=>t(se,{on:r.permissions===e,onPick:()=>M({permissions:e}),children:o},e))}),Ee.length||r.agent!=="coder"?t(g,{children:[t("p",{class:"pop-label",children:"Agent"}),t(H,{label:"Agent",value:r.agent,options:pt("coder",r.agent,Ee),onChange:e=>M({agent:e})})]}):null,d.runners.length>1?t(g,{children:[t("p",{class:"pop-label",children:"Runs on"}),t(H,{label:"Runs on",options:d.runners,value:r.runner,onChange:e=>M({runner:e})})]}):null]}),t("div",{ref:we,id:`${R}-slash`,class:"pop composer-slash",popover:"manual",role:"listbox","aria-label":f?.label??"Commands",children:f?t(g,{children:[t("div",{class:"pop-label",children:f.label}),t(mt,{id:`${R}-slash`,entries:f.entries,active:W,onActive:j}),f.note==="loading"?t(Pe,{label:"Loading pull requests",inline:!0}):f.note&&!f.entries.length?t("p",{class:"pop-note",children:f.note}):null]}):null})]}),ge===void 0||a?null:t(ht,{reason:ge})]})}function wt(){return t("div",{class:"composer","aria-hidden":"true",children:[t("textarea",{rows:1,disabled:!0,tabIndex:-1,placeholder:ce}),t("div",{class:"composer-line"})]})}function jt({agent:l}){let s=T(null),[i,a]=u(),[p,m]=u(""),[b,r]=u(!1),X=T(),d=()=>X.current??=Ke(h).then(a,w=>m(E(w)));return t(g,{children:[t("button",{type:"button",class:"btn new-task",onClick:()=>{r(!0),s.current?.showModal(),d()},onPointerEnter:d,onFocus:d,children:"New task"}),t("dialog",{ref:s,class:"compose-dialog","aria-label":`New task for ${l}`,onClose:()=>r(!1),onClick:w=>w.target===w.currentTarget&&s.current?.close(),children:[t("header",{children:[t("h2",{children:"New task"}),t("span",{class:"sub",children:l}),t("button",{type:"button",class:"icon-btn","aria-label":"Close",onClick:()=>s.current?.close(),children:t(C,{d:Re})})]}),b?i?t(bt,{...i,initial:{...je(document.cookie),agent:l},tz:Intl.DateTimeFormat().resolvedOptions().timeZone}):p?t(ne,{value:p}):t(wt,{}):null]})]})}export{ht as a,bt as b,wt as c,jt as d};
|
|
1
|
+
import{a as Fe}from"./connect-repositories-5389ec8701a3deac.js";import{a as ce,b as qe,c as je,e as Ke}from"./composer-data-6f7608fed13f3dd7.js";import{b as Ie,c as ae,e as le,g as G,h as Be}from"./model-options-15c53331a2f28a4f.js";import{a as H}from"./select-1013702bdfb1ade4.js";import{g as He}from"./task-fa8b82e95e771c4a.js";import{c as Pe}from"./card-e0901d68b79dfa93.js";import{b as ne}from"./field-901f1f35c18c39c9.js";import{a as Le,g as E}from"./format-eb03fc9d9744d960.js";import{$0d as Ae}from"./shared-init-20e199043ff5d00f.js";import{$6a as Ne}from"./shared-init-20e199043ff5d00f.js";import{$1a as ie}from"./shared-init-20e199043ff5d00f.js";import{$4d as se}from"./shared-init-20e199043ff5d00f.js";import{$5B as De,$5f as Se,$5o as Oe,$5p as re,$5r as Re,$5t as Me,$5w as Te}from"./shared-init-20e199043ff5d00f.js";import{$1a as C}from"./shared-init-88cce66bb3cfe1e5.js";import{$0b as h}from"./shared-init-88cce66bb3cfe1e5.js";import{$2a as t}from"./shared-init-88cce66bb3cfe1e5.js";import{$1c as g,$1g as u,$1i as U,$1j as $e,$1k as T,$1m as xe}from"./shared-init-8f2ac936c95a7f7b.js";var it=[["","Default"],["low","Low"],["medium","Medium"],["high","High"]],at=[["","Default"],["read-only","Read-only"],["workspace-write","Write"],["auto","Auto"]],J="coder:draft",V="+connect",pe="+other",de="+pick",ue="+clone",lt=/^\/(review|flow)(?:\s+(\S+))?\s*([\s\S]*)$/,ct=(l,s,i)=>[["",l],...[...new Set([s,...i])].filter(Boolean).map(a=>[a,a])],pt=(l,s,i)=>[["",l],...s&&!i.some(([a])=>a===s)?[[s,s]]:[],...i],We=(l,s,i)=>{let a=[...l.recent,...s].map(p=>p.path);return[["","No folder"],...[...new Set([...a,i])].filter(p=>p&&p!==l.current.path).map(p=>[p,He(p)]),l.picker?[de,"Choose\u2026"]:[pe,"Type a path\u2026"],[ue,"Repository\u2026"]]};function dt(l,s){let i=[["",[["",`Default \xB7 ${[ae[s.engine]??s.engine,s.engines[s.engine]?.model].filter(Boolean).join(" ")}`]]]];for(let a of Ie)l[a]?.length&&i.push([ae[a]??a,[[G(a,""),le(s.engines[a]?.model)],...l[a].map(p=>[G(a,p),p])]]);return i}var ze=(l,s)=>{let i=l.find(([a])=>a&&a===s)?.[1];return[["",le(i?.toLowerCase())],...l.slice(1)]};function ut(l){let s=l.currentTarget,i=document.querySelector(`[popovertarget="${s.id}"]`)?.getBoundingClientRect();if(l.newState!=="open"||!i)return;let a=Math.round(i.bottom+6);s.style.top=`${a}px`,s.style.right=`${Math.round(document.documentElement.clientWidth-i.right)}px`,s.style.maxHeight=`${Math.max(160,window.innerHeight-a-16)}px`}function ft(l){return Object.fromEntries(l.split(/\s+/).filter(Boolean).map(s=>{let i=s.indexOf("="),a=i<0?"true":s.slice(i+1);try{return[i<0?s:s.slice(0,i),JSON.parse(a)]}catch{return[s.slice(0,i),a]}}))}function mt({id:l,entries:s,active:i,selected:a,onActive:p}){return t(g,{children:s.flatMap((m,b)=>[m.head?t("div",{class:"pop-label",role:"presentation",children:m.head},`h:${m.key}`):null,t("div",{id:`${l}-${b}`,role:"option","aria-selected":a===void 0?b===i:m.key===a,class:b===i?"pop-item on":"pop-item",onMouseDown:r=>r.preventDefault(),onPointerMove:()=>b!==i&&p(b),onClick:m.pick,children:[t("span",{class:"grow",children:m.label}),m.hint?t("small",{children:m.hint}):null,a===void 0?null:t(C,{d:re})]},m.key)])})}var gt=(l,s,i,a)=>{let p={ArrowDown:1,ArrowUp:-1}[l.key];return!p||!i?!1:(l.preventDefault(),a((s+p+i)%i),!0)};function ht({reason:l,back:s="/dash/tasks"}){return t("div",{class:"notice slim",role:"status",children:[t(C,{d:Te}),t("span",{class:"grow",children:l||"Tasks need a model credential to run."}),t(ie,{class:"btn outline sm",href:"/dash/settings/[tab]",params:{tab:"credentials"},search:{return:s},children:"Add credential"})]})}function bt({initial:l,data:s,defaults:i,missing:a,connectLabel:p,tz:m}){let b=Ne(),[r,X]=u({...qe,...l}),[d,fe]=u(s),[w,Z]=u(),[q,me]=u(!1),[Ue,$]=u(""),[ge,Ge]=u(),[Je,Ve]=u(),[D,_]=u(""),[Xe,S]=u(!1),[Ze,j]=u(0),[Q,_e]=u([]),[O,A]=u(""),[N,he]=u(!1),be=T(null),y=T(null),we=T(null),ye=T(null),R=xe();U(()=>void(O&&ye.current?.focus()),[O]),U(()=>{let e=localStorage.getItem(J);e&&y.current&&!y.current.value&&(y.current.value=e),_(y.current?.value??""),y.current?.focus(),S(!0)},[]);let ke=D.startsWith("/");U(()=>{let e=r.repo;!ke||!e||w?.repo===e||(Z({repo:e}),h.pulls.list(e).then(o=>Z({repo:e,items:o})).catch(o=>{Z({repo:e,items:[]}),$(E(o))}),h.flows.list(e).then(o=>fe(c=>({...c,flows:o.map(n=>n.name)}))).catch(()=>{}))},[ke,r.repo]);let P=(e,o)=>{if(o===pe)return A("path");if(o===ue)return A("url");if(o===de)return void Ye();if(o===V)return void Fe("/dash/tasks").catch(c=>$(E(c)));M({[e]:o}),(e==="repo"||e==="cwd")&&y.current?.focus({preventScroll:!0})},M=e=>{let o={...r,...e};X(o),document.cookie=`compose=${encodeURIComponent(JSON.stringify(o))}; path=/; max-age=31536000; samesite=lax`},Y=e=>{if(!e.ok)return $(e.detail);$(""),A(""),_e(o=>[...o.filter(c=>c.path!==e.folder.path),e.folder]),P("cwd",e.folder.path===d.folders?.current.path?"":e.folder.path)},Qe=async e=>{e.trim()&&Y(await h.folders.check(e.trim()).catch(o=>({ok:!1,detail:E(o)})))},Ye=async()=>{document.body.style.cursor="progress";let e=await h.folders.pick().catch(o=>({ok:!1,detail:E(o)}));document.body.style.cursor="",(e.ok||e.detail)&&Y(e)},et=async e=>{if(!e.trim())return;he(!0),document.body.style.cursor="progress";let o=await h.folders.clone(e.trim()).catch(c=>({ok:!1,detail:E(c)}));document.body.style.cursor="",he(!1),Y(o)},ee=e=>{let o=y.current;o.value=e,localStorage.setItem(J,e),_(e),j(0),S(!1),o.focus(),o.setSelectionRange(e.length,e.length)},K=async e=>{let o=y.current?.value.trim()??"";if(q||N||!(o||e))return;let[,c,n="",k=""]=lt.exec(o)??[];if(!e&&c&&!(c==="flow"?n:/^#?\d+$/.test(n)))return void S(!1);let x=e??(c==="review"?Number(n.replace("#","")):void 0);if(x&&!r.repo)return $("Pick a repository first.");let{agent:I,engine:z,model:B,effort:v,permissions:te,runner:ot}=r,[nt,rt]=d.folders?["",r.cwd]:[r.repo,""],oe=Object.fromEntries(Object.entries({repo:nt,cwd:rt,engine:z,model:B,effort:v,permissions:te,runner:ot}).filter(([,L])=>L));me(!0),$("");try{let L=x?await h.review({...oe,repo:r.repo,pr:x}):c==="flow"?await h.flows.run(n,{...oe,agent:I,args:ft(k)}):await h.tasks.create({...oe,agent:I,prompt:o});(!e||c)&&localStorage.removeItem(J),Ae(L.task.id,"queued",o||`Review of #${x}`),b.push("/dash/tasks/[id]",{params:{id:L.task.id}})}catch(L){me(!1),L.status===409?Ge(E(L)):$(E(L))}},f=(()=>{let e=/^\/(\S*)$/.exec(D)?.[1]?.toLowerCase();if(e!==void 0)return{label:"Commands",entries:[{key:"review",label:"/review",hint:"Review a pull request",pick:()=>ee("/review ")},...d.flows.map(n=>({key:`flow ${n}`,label:`/flow ${n}`,hint:`Run the ${n} flow`,pick:()=>ee(`/flow ${n} `)}))].filter(n=>n.key.includes(e)),note:"No command matches."};let o=/^\/flow\s+(\S*)$/.exec(D)?.[1];if(o!==void 0)return{label:"Flows",entries:d.flows.filter(n=>n.includes(o)).map(n=>({key:n,label:n,hint:`Run the ${n} flow`,pick:()=>n===o?void K():ee(`/flow ${n} `)})),note:"No flow matches."};let c=/^\/review\s+#?(\S*)$/.exec(D)?.[1];if(c!==void 0)return r.repo?w?.items?{label:`Pull requests in ${r.repo}`,entries:[...w.items.filter(n=>String(n.number).startsWith(c)||n.title.toLowerCase().includes(c.toLowerCase())).sort((n,k)=>+(String(k.number)===c)-+(String(n.number)===c)).map(n=>({key:`#${n.number}`,label:`#${n.number} ${n.title}`,hint:[n.author,n.createdAt?Le(Date.parse(n.createdAt),m):""].filter(Boolean).join(" \xB7 "),pick:()=>void K(n.number)})),...c?[]:[{key:"",label:r.repo,hint:"Pick another repository",pick:()=>M({repo:""})}]],note:w.items.length?"No open pull request matches.":"No open pull requests."}:{label:`Pull requests in ${r.repo}`,entries:[],note:"loading"}:{label:"Pick a repository",entries:[...d.repos.filter(n=>n.includes(c)).map(n=>({key:n,label:n,pick:()=>P("repo",n)})),{key:V,label:p,pick:()=>P("repo",V)}]}})(),F=!!(f&&!Xe),W=f?Math.min(Ze,Math.max(0,f.entries.length-1)):0;$e(()=>{let e=we.current;if(!e)return;if(!F)return void(e.matches(":popover-open")&&e.hidePopover());let o=()=>{let c=be.current.getBoundingClientRect();e.style.top=`${Math.round(c.bottom+6)}px`,e.style.left=`${Math.round(c.left)}px`,e.style.width=`${Math.round(Math.min(c.width,460))}px`};return o(),e.matches(":popover-open")||e.showPopover(),addEventListener("scroll",o,!0),addEventListener("resize",o),()=>{removeEventListener("scroll",o,!0),removeEventListener("resize",o)}},[F,D]);let tt=r.engine||i.engine,ve=i.engines[tt]??{},Ee=d.agents.filter(([e])=>e!=="coder"),Ce=[r.agent!=="coder"&&r.agent,r.engine!==i.engine&&r.engine,...["model","effort","permissions"].map(e=>r[e]!==ve[e]&&r[e]),r.runner&&(d.runners.find(([e])=>e===r.runner)?.[1]??r.runner)].filter(Boolean).join(" \xB7 ");return t(g,{children:[t("form",{ref:be,class:"composer",onSubmit:e=>{e.preventDefault(),K()},children:[t("textarea",{ref:y,name:"prompt",rows:1,role:"combobox","aria-label":"What should the agent do?","aria-autocomplete":"list","aria-expanded":F,"aria-controls":`${R}-slash`,"aria-activedescendant":F&&f?.entries.length?`${R}-slash-${W}`:void 0,placeholder:ce,autofocus:!0,onFocus:()=>S(!1),onBlur:()=>S(!0),onInput:e=>{let o=e.currentTarget.value;localStorage.setItem(J,o),_(o),j(0),S(!1)},onKeyDown:e=>{if(!e.isComposing){if(F&&f){if(gt(e,W,f.entries.length,j))return;if(e.key==="Escape")return e.preventDefault(),S(!0);if(f.entries.length&&(e.key==="Enter"&&!e.shiftKey||e.key==="Tab"))return e.preventDefault(),f.entries[W].pick()}e.key!=="Enter"||e.shiftKey||(e.preventDefault(),K())}}}),t("div",{class:"composer-line",children:[d.folders?O?t(g,{children:[t("input",{class:"folder-path","aria-label":O==="url"?"Repository URL":"Folder path",ref:ye,placeholder:O==="url"?"https://github.com/owner/repo":"Absolute path or ~/\u2026",readOnly:N,"aria-busy":N,onKeyDown:e=>{if(N)return e.preventDefault();if(e.key==="Escape")return e.preventDefault(),$(""),A("");e.key!=="Enter"||e.isComposing||(e.preventDefault(),(O==="url"?et:Qe)(e.currentTarget.value))},onBlur:e=>!N&&!e.currentTarget.value.trim()&&A("")}),N?t("span",{class:"folder-busy",children:"Cloning\u2026"}):null]}):t("span",{class:"folder",title:r.cwd||d.folders.current.path,children:t(H,{label:"Folder",value:r.cwd,options:We(d.folders,Q,r.cwd),subs:Object.fromEntries(We(d.folders,Q,r.cwd).flatMap(([e])=>e&&e!==pe&&e!==de&&e!==ue?[[e,Q.find(o=>o.path===e)?.url??e]]:[])),onChange:e=>P("cwd",e)})}):t(H,{label:"Repository",value:r.repo,options:[...ct("No repository",r.repo,d.repos),[V,p]],onChange:e=>P("repo",e)}),t("button",{type:"button",class:"quiet",popovertarget:`${R}-settings`,"aria-label":"Run options",title:"Model, effort, permissions and more",children:[t(C,{d:De}),Ce?t("span",{children:Ce}):null]}),t("button",{class:"btn sm send",disabled:q||!D.trim(),"aria-busy":q,"aria-label":q?"Starting task":"Start task",title:"Start task (Enter)",children:t(C,{d:Me})})]}),O==="url"?t("small",{class:"folder-hint",children:"Uses this machine's git logins"}):null,t(ne,{value:Ue}),t("div",{id:`${R}-settings`,class:"pop composer-settings",popover:"auto",onBeforeToggle:ut,children:[t("p",{class:"pop-label",children:"Model"}),t("div",{role:"group","aria-label":"Model",class:"pop-radios",children:[dt(d.models,i).map(([e,o])=>t(g,{children:[e?t("p",{class:"pop-group",children:e}):null,o.map(([c,n])=>{let k=c===G(r.engine,r.model),x=Be(c),I=ze(it,i.engines[x.engine||i.engine]?.effort),z=k&&r.effort?I.find(([v])=>v===r.effort)?.[1]:void 0,B=Je===c;return t(g,{children:[t("div",{class:"pop-row",children:[t("button",{type:"button",role:"menuitemradio","aria-checked":k,class:k?"pop-item on":"pop-item",onClick:v=>{M({...x,effort:""}),v.currentTarget.closest("[popover]")?.hidePopover()},children:[t("span",{class:"grow",children:n}),z?t("small",{children:z.toLowerCase()}):null,k?t(C,{d:re}):null]}),t("button",{type:"button",class:"pop-chev","data-keep":!0,"aria-label":`Effort for ${n}`,"aria-expanded":B,onClick:()=>Ve(B?void 0:c),children:t(C,{d:Se})})]}),B?t("div",{role:"group","aria-label":`Effort for ${n}`,class:"pop-sub",children:I.map(([v,te])=>t(se,{on:k&&r.effort===v,onPick:()=>{M({...x,effort:v}),document.getElementById(`${R}-settings`)?.hidePopover()},children:te},v))}):null]},c)})]},e)),t(ie,{class:"pop-item add-models",href:"/dash/settings/[tab]",params:{tab:"models"},children:[t(C,{d:Re}),t("span",{class:"grow",children:"Add models"})]})]}),t("p",{class:"pop-label",children:"Permissions"}),t("div",{role:"group","aria-label":"Permissions",children:ze(at,ve.permissions??"auto").map(([e,o])=>t(se,{on:r.permissions===e,onPick:()=>M({permissions:e}),children:o},e))}),Ee.length||r.agent!=="coder"?t(g,{children:[t("p",{class:"pop-label",children:"Agent"}),t(H,{label:"Agent",value:r.agent,options:pt("coder",r.agent,Ee),onChange:e=>M({agent:e})})]}):null,d.runners.length>1?t(g,{children:[t("p",{class:"pop-label",children:"Runs on"}),t(H,{label:"Runs on",options:d.runners,value:r.runner,onChange:e=>M({runner:e})})]}):null]}),t("div",{ref:we,id:`${R}-slash`,class:"pop composer-slash",popover:"manual",role:"listbox","aria-label":f?.label??"Commands",children:f?t(g,{children:[t("div",{class:"pop-label",children:f.label}),t(mt,{id:`${R}-slash`,entries:f.entries,active:W,onActive:j}),f.note==="loading"?t(Pe,{label:"Loading pull requests",inline:!0}):f.note&&!f.entries.length?t("p",{class:"pop-note",children:f.note}):null]}):null})]}),ge===void 0||a?null:t(ht,{reason:ge})]})}function wt(){return t("div",{class:"composer","aria-hidden":"true",children:[t("textarea",{rows:1,disabled:!0,tabIndex:-1,placeholder:ce}),t("div",{class:"composer-line"})]})}function jt({agent:l}){let s=T(null),[i,a]=u(),[p,m]=u(""),[b,r]=u(!1),X=T(),d=()=>X.current??=Ke(h).then(a,w=>m(E(w)));return t(g,{children:[t("button",{type:"button",class:"btn new-task",onClick:()=>{r(!0),s.current?.showModal(),d()},onPointerEnter:d,onFocus:d,children:"New task"}),t("dialog",{ref:s,class:"compose-dialog","aria-label":`New task for ${l}`,onClose:()=>r(!1),onClick:w=>w.target===w.currentTarget&&s.current?.close(),children:[t("header",{children:[t("h2",{children:"New task"}),t("span",{class:"sub",children:l}),t("button",{type:"button",class:"icon-btn","aria-label":"Close",onClick:()=>s.current?.close(),children:t(C,{d:Oe})})]}),b?i?t(bt,{...i,initial:{...je(document.cookie),agent:l},tz:Intl.DateTimeFormat().resolvedOptions().timeZone}):p?t(ne,{value:p}):t(wt,{}):null]})]})}export{ht as a,bt as b,wt as c,jt as d};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use client";import{a,b,c,d}from"./composer-49f9e7c5c4dfda3b.js";import"./connect-repositories-5389ec8701a3deac.js";import"./composer-data-6f7608fed13f3dd7.js";import"./model-options-15c53331a2f28a4f.js";import"./select-1013702bdfb1ade4.js";import"./task-fa8b82e95e771c4a.js";import"./card-e0901d68b79dfa93.js";import"./field-901f1f35c18c39c9.js";import"./format-eb03fc9d9744d960.js";import"./shared-init-20e199043ff5d00f.js";import"./shared-init-20e199043ff5d00f.js";import"./wular-pnext-246221e985d863e5-0.js";import"./shared-init-20e199043ff5d00f.js";import"./shared-init-20e199043ff5d00f.js";import"./shared-init-20e199043ff5d00f.js";import"./shared-init-20e199043ff5d00f.js";import"./shared-init-88cce66bb3cfe1e5.js";import"./shared-init-88cce66bb3cfe1e5.js";import"./shared-init-88cce66bb3cfe1e5.js";import"./shared-init-246221e985d863e5-2.js";import"./shared-init-246221e985d863e5-2.js";import"./shared-init-8f2ac936c95a7f7b.js";export{b as Composer,c as LoadingComposer,a as NeedsCredential,d as NewTaskButton};
|
package/dist/dash/public/assets/chunks/{confirm-b4e2c16aef4b3431.js → confirm-f2fe4ba9905a89c6.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{$2a as e}from"./shared-init-
|
|
1
|
+
import{$2a as e}from"./shared-init-88cce66bb3cfe1e5.js";import{$1i as s,$1k as c,$1m as u}from"./shared-init-8f2ac936c95a7f7b.js";function D({open:n,title:d,body:i,confirmLabel:f,onConfirm:m,onClose:p,busy:t}){let r=c(null),a=u();s(()=>{let o=r.current;n&&!o.open?o.showModal():!n&&o.open&&o.close()},[n]);let l=()=>!t&&p();return e("dialog",{ref:r,class:"confirm","aria-labelledby":a,onCancel:o=>{o.preventDefault(),l()},onClick:o=>o.target===o.currentTarget&&l(),children:e("form",{onSubmit:o=>{o.preventDefault(),m()},children:[e("h2",{id:a,children:d}),i?e("p",{children:i}):null,e("div",{class:"actions",children:[e("button",{type:"button",class:"btn ghost",disabled:t,onClick:l,autofocus:!0,children:"Cancel"}),e("button",{class:"btn destructive","aria-busy":t,children:f})]})]})})}export{D as a};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";import{b as i}from"./field-
|
|
1
|
+
"use client";import{b as i}from"./field-901f1f35c18c39c9.js";import{g as l}from"./format-eb03fc9d9744d960.js";import{$5r as m}from"./shared-init-20e199043ff5d00f.js";import{$1a as c}from"./shared-init-88cce66bb3cfe1e5.js";import{$0b as a}from"./shared-init-88cce66bb3cfe1e5.js";import{$2a as t}from"./shared-init-88cce66bb3cfe1e5.js";import{$1g as r}from"./shared-init-8f2ac936c95a7f7b.js";function x({apps:u}){let[d,s]=r(""),[p,e]=r(""),b=o=>{e(o),s(""),a.apps.install(o,location.pathname).then(({url:n})=>{location.href=n}).catch(n=>{e(""),s(l(n))})};return t("div",{class:"notice soft",role:"status",children:[t(c,{d:m}),t("span",{class:"grow",children:"Add the built-in agent to your repositories and channels."}),u.map(o=>t("button",{type:"button",class:"btn outline sm",disabled:p!=="",onClick:()=>b(o.id),children:o.label},o.id)),t(i,{value:d})]})}export{x as ConnectApps};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{$
|
|
1
|
+
import{$0b as i}from"./shared-init-88cce66bb3cfe1e5.js";async function u(o){let[a,n]=await Promise.all([i.apps.list(),i.integrations.list()]),r=new Set(n.filter(t=>t.repositories).map(t=>t.id)),e=a.map(t=>t.value).sort((t,l)=>+!!l.builtin-+!!t.builtin).find(t=>r.has(t.integration));if(!e)throw new Error("No app here can reach repositories yet.");let{url:s}=await i.apps.install(e.id,o);location.href=s}export{u as a};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use client";import{a as Q}from"./segmented-
|
|
2
|
-
`),children:a})}function ce({login:n,engine:a,onChange:d,onDone:f,onError:r}){let[u,p]=c(!1),[i,m]=c(!1);_(()=>{if(!n.id||n.state==="done"||n.state==="failed")return;let o=setTimeout(()=>{y.credentials.loginStatus(n.id).then(s=>{if(s.state==="done")return f();if(s.state==="failed")return r(s.error??"Sign-in failed. Try again.");d(s)}).catch(s=>r(E(s)))},800);return()=>clearTimeout(o)},[n]);let v=o=>{d({...n,state:"verifying"}),y.credentials.loginCode(n.id,o).catch(s=>r(E(s)))};return n.url?n.engine==="codex"?e("div",{class:"cred-login grow end",role:"status",children:[e(z,{label:"Waiting for approval\u2026",inline:!0}),e("span",{class:"code-box",children:[n.code,e("button",{type:"button",class:"icon-btn","aria-label":u?"Copied":"Copy code",title:u?"Copied":"Copy code",onClick:()=>void navigator.clipboard.writeText(n.code??"").then(()=>p(!0)),children:e($,{d:u?Y:
|
|
1
|
+
"use client";import{a as Q}from"./segmented-358ff2b4992b8384.js";import{a as q}from"./combo-952a457d52360d88.js";import{f as V}from"./list-87b359bebd26986a.js";import"./confirm-f2fe4ba9905a89c6.js";import{a as B}from"./badge-676b01e0c615bf7b.js";import{a as J}from"./select-1013702bdfb1ade4.js";import{a as M,c as z}from"./card-e0901d68b79dfa93.js";import{b as R}from"./field-901f1f35c18c39c9.js";import{g as E}from"./format-eb03fc9d9744d960.js";import{$6a as U}from"./shared-init-20e199043ff5d00f.js";import"./wular-pnext-246221e985d863e5-0.js";import"./shared-init-20e199043ff5d00f.js";import{$4a as j,$4b as x}from"./shared-init-20e199043ff5d00f.js";import{$5A as W,$5p as Y,$5q as F}from"./shared-init-20e199043ff5d00f.js";import{$1a as $}from"./shared-init-88cce66bb3cfe1e5.js";import{$0b as y}from"./shared-init-88cce66bb3cfe1e5.js";import{$2a as e}from"./shared-init-88cce66bb3cfe1e5.js";import"./shared-init-246221e985d863e5-2.js";import"./shared-init-246221e985d863e5-2.js";import{$1c as P,$1g as c,$1i as _,$1k as K}from"./shared-init-8f2ac936c95a7f7b.js";var X=[{id:"claude",name:"Claude",key:"ANTHROPIC_API_KEY",hint:"Anthropic API key",signIn:"Claude"},{id:"codex",name:"Codex",key:"OPENAI_API_KEY",hint:"OpenAI API key",signIn:"ChatGPT"},{id:"custom",name:"Custom",key:"OPENAI_API_KEY",hint:"API key"}],oe=["OPENAI_API_KEY","OPENROUTER_API_KEY","AI_GATEWAY_API_KEY","GROQ_API_KEY","TOGETHER_API_KEY","ANTHROPIC_API_KEY"],se=[["personal","Just me"],["workspace","Workspace"]],ae={signin:"Sign in",key:"API key",token:"Setup token"},ie=new Set(["owner","admin"]);function re({row:n,busy:a,onAct:d,onSignIn:f,canManage:r}){let u=n.label.endsWith("-subscription"),p=[n.account?.email,n.account?.plan].filter(Boolean).join(" \xB7 "),i=u&&f,m=V(r?{label:u?"Sign out":"Remove",title:u?`Sign out of ${n.label}?`:`Remove ${n.label}?`,body:"Tasks that use it stop running.",onRemove:()=>d("remove")}:void 0);return e("tr",{children:[e("td",{children:[e("span",{class:"row-title",children:[e("b",{children:n.label}),e(B,{children:n.scope}),n.isDefault?e(B,{tone:"acc",children:"default"}):null]}),e("span",{class:"sub mono",children:p?`${p} \xB7 ${n.masked}`:n.masked})]}),e("td",{class:"acts",children:[n.isDefault||!r?null:e("button",{type:"button",class:"btn ghost sm","aria-busy":a==="default",onClick:()=>void d("default"),children:"Make default"}),i||m.item?e(j,{summaryClass:"icon-btn",label:"Actions",summary:e($,{d:F}),children:[i?e(P,{children:[e(x,{title:"Sign in again",onClick:i}),e(x,{title:"Switch account",onClick:i})]}):null,m.item]}):null,m.dialog]})]})}function le({engine:n,token:a,admin:d,autoFocus:f,onSaved:r}){let[u,p]=c(""),i=K(null),[m,v]=c(n.key),[o,s]=c("personal"),[g,S]=c(!1),[N,A]=c("");_(()=>{f&&i.current?.focus()},[]);let O=()=>{g||!u.trim()||!m.trim()||(S(!0),A(""),y.credentials.add({engine:n.id,env:{[a?"CLAUDE_CODE_OAUTH_TOKEN":m.trim()]:u.trim()},...o==="workspace"&&!a?{workspace:!0}:{}}).then(r).catch(I=>{S(!1),A(E(I))}))};return e("form",{class:"cred-add",method:"post",onSubmit:I=>{I.preventDefault(),O()},children:[n.id==="custom"?e(P,{children:e(q,{label:"Environment variable",name:"custom-var",class:"mono cred-var",options:oe,placeholder:"OPENAI_API_KEY",value:m,onChange:v})}):null,e("input",{type:"password",autocomplete:"off",name:`${n.id}-${a?"token":"key"}`,"aria-label":a?"Your claude setup-token":n.hint,placeholder:a?"Paste a claude setup-token, then Enter":`${n.hint}, then Enter`,ref:i,"aria-busy":g,value:u,onInput:I=>p(I.currentTarget.value)}),d?e(J,{label:"Who can use this key",options:se,value:a?"personal":o,onChange:s,disabled:a}):null,e(R,{value:N}),e("button",{hidden:!0})]})}function T({engine:n,label:a}){let d=[`Sign in with ${n.signIn}`,`Open ${n.signIn} sign-in`,"Open sign-in page","Open again"];return e("span",{class:"sign-label","data-all":d.join(`
|
|
2
|
+
`),children:a})}function ce({login:n,engine:a,onChange:d,onDone:f,onError:r}){let[u,p]=c(!1),[i,m]=c(!1);_(()=>{if(!n.id||n.state==="done"||n.state==="failed")return;let o=setTimeout(()=>{y.credentials.loginStatus(n.id).then(s=>{if(s.state==="done")return f();if(s.state==="failed")return r(s.error??"Sign-in failed. Try again.");d(s)}).catch(s=>r(E(s)))},800);return()=>clearTimeout(o)},[n]);let v=o=>{d({...n,state:"verifying"}),y.credentials.loginCode(n.id,o).catch(s=>r(E(s)))};return n.url?n.engine==="codex"?e("div",{class:"cred-login grow end",role:"status",children:[e(z,{label:"Waiting for approval\u2026",inline:!0}),e("span",{class:"code-box",children:[n.code,e("button",{type:"button",class:"icon-btn","aria-label":u?"Copied":"Copy code",title:u?"Copied":"Copy code",onClick:()=>void navigator.clipboard.writeText(n.code??"").then(()=>p(!0)),children:e($,{d:u?Y:W})})]}),e("a",{class:"btn",href:n.url,target:"_blank",rel:"noopener noreferrer",children:e(T,{engine:a,label:"Open sign-in page"})})]}):e("div",{class:"cred-login grow end",role:"status",children:[i?e("input",{class:"mono",autoFocus:!0,autocomplete:"off","aria-label":`Code from the ${a.signIn} sign-in page`,placeholder:"Paste the code from the sign-in page",disabled:n.state==="verifying",onPaste:o=>{let s=o.clipboardData?.getData("text").trim();s&&(o.preventDefault(),v(s))},onKeyDown:o=>{let s=o.currentTarget.value.trim();o.key==="Enter"&&s&&v(s)}}):null,e("a",{class:"btn",href:n.url,target:"_blank",rel:"noopener noreferrer",onClick:()=>m(!0),children:e(T,{engine:a,label:i?"Open again":`Open ${a.signIn} sign-in`})})]}):e("div",{class:"cred-login grow end",role:"status",children:e("button",{type:"button",class:"btn",disabled:!0,"aria-busy":"true",children:e(T,{engine:a,label:`Sign in with ${a.signIn}`})})})}function _e({status:n}){let[a,d]=c(n),[f,r]=c(""),[u,p]=c(""),i=K(),m=o=>{clearInterval(i.current);let s=Date.now()+5*6e4;i.current=setInterval(()=>{y.engines.status().then(g=>{d(g),(g[o]?.signedIn||Date.now()>s)&&(clearInterval(i.current),r(""))})},2e3)};_(()=>()=>clearInterval(i.current),[]);let v=(o,s)=>{r(`${o}:${s}`),p(""),y.engines[s](o).then(g=>{d(g),s==="login"?m(o):r("")}).catch(g=>{r(""),p(E(g))})};return e(P,{children:[X.filter(o=>o.id!=="custom").map(o=>{let s=a[o.id],g=f===`${o.id}:login`;return e(M,{title:o.name,children:e("div",{class:"cred-new",children:[s?.signedIn?e("span",{class:"signed grow",children:[e($,{d:Y}),"Signed in to ",o.name]}):g?e("span",{class:"grow muted",children:["Finish signing in in the window ",o.name," opened."]}):e("span",{class:"grow muted",children:"Not signed in on this machine."}),s?.signedIn?e("button",{type:"button",class:"btn secondary-danger sm",disabled:f===`${o.id}:logout`,onClick:()=>v(o.id,"logout"),children:"Sign out"}):e("button",{type:"button",class:"btn secondary sm","aria-busy":g,disabled:!!f,onClick:()=>v(o.id,"login"),children:"Sign in"}),g?e("button",{type:"button",class:"btn ghost sm",onClick:()=>{clearInterval(i.current),r("")},children:"Cancel"}):null]})},o.id)}),e(R,{value:u}),e("p",{class:"muted",children:"On the local server, custom models read their key variable from this machine's environment."})]})}function Oe({rows:n,me:a,focus:d,back:f}){let r=U(),[u,p]=c(""),[i,m]=c(""),[v,o]=c(""),[s,g]=c({}),[S,N]=c({}),A=!a.user,O=A||ie.has(a.organization?.role??""),I=a.server?.subscriptions;_(()=>m(""),[n]);let k=(t,b)=>g(C=>({...C,[t]:b})),G=t=>{t&&k(t),o(""),f?location.href=f:r.refresh()},H=t=>{p(""),k(t,{id:"",engine:t,state:"starting"}),y.credentials.login(t).then(b=>k(t,b)).catch(b=>{k(t),p(E(b))})},Z=(t,b)=>i?Promise.resolve():(m(`${t.scope}/${t.label}/${b}`),p(""),y.credentials[b==="default"?"setDefault":"remove"](t.label,{workspace:t.scope==="workspace"}).then(()=>r.refresh()).catch(C=>{m(""),p(E(C))}));return e(P,{children:[e(R,{value:u}),X.map(t=>{let b=n.filter(l=>l.engine===t.id),C=t.id!=="custom"&&!A&&!!I?.[t.id],L=[...C?["signin"]:[],"key",...t.id==="claude"&&!C?["token"]:[]],w=S[t.id]??L[0],ee=!b.length||v===t.id,h=t.id==="custom"?void 0:s[t.id];return e(M,{title:t.name,count:b.length||void 0,actions:h?e("button",{type:"button",class:"btn ghost-danger sm",onClick:()=>{k(h.engine),h.id&&y.credentials.cancelLogin(h.id).catch(()=>{})},children:"Cancel"}):b.length&&v!==t.id?e("button",{type:"button",class:"btn ghost sm",onClick:()=>o(t.id),children:"Add"}):null,children:e("div",{id:`engine-${t.id}`,class:"cred-engine",children:[t.id==="custom"?e("p",{class:"muted cred-note",children:["Custom keys back ",e("a",{href:"/dash/settings/models",children:"custom models"}),". A model uses OPENAI_API_KEY unless it names another variable."]}):null,b.length?e("table",{class:"rows creds",children:e("tbody",{children:b.map(l=>{let D=`${l.scope}/${l.label}/`;return e(re,{row:l,busy:i.startsWith(D)?i.slice(D.length):"",canManage:l.scope==="personal"||O,onAct:te=>Z(l,te),...C&&l.scope==="personal"?{onSignIn:()=>H(t.id)}:{}},D)})})}):null,b.length&&t.id!=="custom"?e("p",{class:"muted cred-note",children:["Ready. Built-in models run on this key. Add aliases or custom endpoints on"," ",e("a",{href:"/dash/settings/models",children:"Models"}),"."]}):null,ee||h?e("div",{class:"cred-new",children:[L.length>1?e(Q,{label:`How to add ${t.name}`,disabled:!!h,options:L.map(l=>[l,ae[l]]),value:w,onChange:l=>N({...S,[t.id]:l})}):null,h?e(ce,{login:h,engine:t,onChange:l=>k(h.engine,l),onDone:()=>G(h.engine),onError:l=>{k(h.engine),p(l)}}):w==="signin"?e("div",{class:"cred-login grow end",children:e("button",{type:"button",class:"btn",autoFocus:d===t.id,onClick:()=>H(t.id),children:e(T,{engine:t,label:`Sign in with ${t.signIn}`})})}):e(le,{engine:t,token:w==="token",admin:O,autoFocus:d===t.id||!!S[t.id],onSaved:()=>G()},w)]}):null]})},t.id)})]})}export{Oe as CredentialsList,_e as EngineLogins};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{$
|
|
1
|
+
import{$2e as l}from"./shared-init-20e199043ff5d00f.js";import{$6a as u}from"./shared-init-20e199043ff5d00f.js";import{$5e as p}from"./shared-init-20e199043ff5d00f.js";import{$1a as m}from"./shared-init-88cce66bb3cfe1e5.js";import{$2a as t}from"./shared-init-88cce66bb3cfe1e5.js";import{$1m as s}from"./shared-init-8f2ac936c95a7f7b.js";function D({page:o,from:i,to:c,today:e,on:f}){let d=u(),a=s();return t("span",{class:f?"menu custom on":"menu custom",children:[t("button",{popovertarget:a,type:"button",children:["Custom",t(m,{d:p})]}),t("form",{id:a,class:"pop date-pop",popover:"auto",onSubmit:r=>{r.preventDefault();let n=new FormData(r.currentTarget),[b,g]=[String(n.get("from")),String(n.get("to"))].sort();r.currentTarget.hidePopover(),d.push(o.href,{params:o.params,search:l(o.search,{from:String(b),to:String(g)}),scroll:!1})},children:[t("label",{class:"field",children:[t("span",{children:"From"}),t("input",{type:"date",name:"from",defaultValue:i,max:e,required:!0})]}),t("label",{class:"field",children:[t("span",{children:"To"}),t("input",{type:"date",name:"to",defaultValue:c,max:e,required:!0})]}),t("button",{class:"btn sm",children:"Apply"})]})]})}export{D as a};
|
package/dist/dash/public/assets/chunks/{editor-691d2bcecb1ecb87.js → editor-34cb529d6d8a4b09.js}
RENAMED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
"use client";import{a as j}from"./segmented-
|
|
1
|
+
"use client";import{a as j}from"./segmented-358ff2b4992b8384.js";import{a as xe,c as oe,d as Le}from"./heads-1570a3a6db331979.js";import{a as Ee,b as Ae,c as Te}from"./agent-pills-dd0b7643e125bbf1.js";import{c as U}from"./toolbar-f964fa864699f095.js";import{a as se}from"./paged-bc6fa0c2b9d52ed7.js";import{a as ne}from"./badge-676b01e0c615bf7b.js";import{b as Oe}from"./instructions-052fa45a9daf6db6.js";import{a as Ce}from"./connect-repositories-5389ec8701a3deac.js";import{c as ee,e as te,f as Se,g as Ie,h as Re,i as Pe}from"./model-options-15c53331a2f28a4f.js";import{a as ke}from"./select-1013702bdfb1ade4.js";import{a as Z,c as K}from"./card-e0901d68b79dfa93.js";import{a as A,b as $}from"./field-901f1f35c18c39c9.js";import{f as H,g as D}from"./format-eb03fc9d9744d960.js";import{a as we}from"./sentinel-c972a33dc69a5135.js";import{$6a as W}from"./shared-init-20e199043ff5d00f.js";import"./wular-pnext-246221e985d863e5-0.js";import{$1a as ye}from"./shared-init-20e199043ff5d00f.js";import"./shared-init-20e199043ff5d00f.js";import{$5e as X,$5m as _,$5r as be,$5u as ve}from"./shared-init-20e199043ff5d00f.js";import{$1a as T}from"./shared-init-88cce66bb3cfe1e5.js";import{$0b as q}from"./shared-init-88cce66bb3cfe1e5.js";import{$2a as e}from"./shared-init-88cce66bb3cfe1e5.js";import"./shared-init-246221e985d863e5-2.js";import"./shared-init-246221e985d863e5-2.js";import{$1c as E,$1g as y,$1i as B}from"./shared-init-8f2ac936c95a7f7b.js";function De({agent:s,actions:o,back:c}){return e(E,{children:[e(we,{}),e("header",{class:"hero",children:[e("span",{class:"hero-mark",children:H(s.name)}),e("div",{class:"grow",children:[c,e("div",{class:"title-row",children:[e("h1",{children:s.name}),e(Te,{agent:s})]}),e("p",{class:"lead",children:s.description??"No description yet."})]}),o?e("div",{class:"actions",children:o}):null]})]})}function Ne({port:s}){return e(Z,{title:"Receive platform events",children:e("div",{class:"guide",children:[e("p",{children:["Platforms reach this server through a public address. Expose port ",s," with one of these."]}),e("ul",{class:"steps-list",children:[e("li",{children:e("code",{children:["ngrok http ",s]})}),e("li",{children:e("code",{children:["cloudflared tunnel --url http://localhost:",s]})}),e("li",{children:"VS Code's Ports panel, with the port's visibility set to Public"})]}),e("p",{children:["Then restart with ",e("code",{children:"PUBLIC_URL=<tunnel URL> coder server serve"}),". The tunnel serves only webhooks and app setup, never this dashboard."]})]})})}var $e=/^[\w.-]+\/[\w.-]+$/,nt=s=>/^[0-9a-f]{12,}$/i.test(s)?s.slice(0,7):s;function ot({preview:s,onDone:o}){let[c,l]=y(new Set),[f,i]=y(!1),[b,g]=y("");if(B(()=>l(new Set),[s.repo]),s.error)return e($,{value:s.error});if(!s.agents)return e(K,{label:`Reading ${s.repo}`,h:180});if(!s.agents.length)return e("p",{class:"muted",children:[s.repo," has no agents yet. Add a folder per agent under ",e("code",{children:".coder/agents"}),", with an ",e("code",{children:"agent.json"})," and a ",e("code",{children:"system.md"}),"."]});let w=s.agents.filter(p=>!p.taken&&!c.has(p.id)).map(p=>p.id);return e("form",{class:"import-agents",onSubmit:async p=>{if(p.preventDefault(),!!w.length){i(!0),g("");try{let{imported:k}=await q.agents.import(s.repo,void 0,w);o(k)}catch(k){i(!1),g(D(k))}}},children:[e("ul",{class:"picks-list",children:s.agents.map(p=>e("li",{children:e("label",{class:"check",children:[e("input",{type:"checkbox",checked:!p.taken&&!c.has(p.id),disabled:p.taken,onChange:k=>{let S=new Set(c);k.currentTarget.checked?S.delete(p.id):S.add(p.id),l(S)}}),e("span",{children:[e("b",{children:p.name})," ",e("span",{class:"id",children:p.id}),p.version?e("span",{class:"badge",children:["v",p.version,p.commit?` \xB7 ${nt(p.commit)}`:""]}):null,e("small",{children:p.taken?"An agent with this id already exists here.":p.description??"No description."})]})]})},p.id))}),e("p",{class:"muted",children:["Each push to ",s.repo," that changes an agent publishes its new version here."]}),e("div",{class:"form-actions end",children:[e($,{value:b}),e("button",{class:"btn",disabled:f||!w.length,children:["Import ",w.length===1?"1 agent":`${w.length} agents`]})]})]})}function qe({connected:s,connectLabel:o,tunnel:c,port:l}){let f=W(),[i,b]=y(),[g,w]=y(""),[p,k]=y(),[S,v]=y("");B(()=>{s&&q.repositories.list().then(se(performance.now())).then(d=>b(d.map(P=>P.repo))).catch(d=>{b([]),v(D(d))})},[]);let R=d=>{k({repo:d}),q.agents.preview(d).then(se(performance.now())).then(({agents:P})=>k(L=>L?.repo===d?{repo:d,agents:P}:L)).catch(P=>k(L=>L?.repo===d?{repo:d,error:D(P)}:L))},V=d=>d.length===1?f.push("/dash/agents/[slug]",{params:{slug:d[0]}}):f.push("/dash/agents"),n=g.trim().toLowerCase(),C=(i??[]).filter(d=>d.toLowerCase().includes(n)),x=$e.test(g.trim())&&!i?.includes(g.trim())?g.trim():"";return e("div",{class:"import",children:[e("div",{class:"import-repos",children:[s?e(U,{value:g,label:"Search repositories or type owner/repo",onInput:w}):e(E,{children:[e("div",{class:"notice soft",children:[e(T,{d:_}),e("span",{class:"grow",children:"Connect to list your repositories here."}),e("button",{type:"button",class:"btn outline sm",onClick:()=>void Ce("/dash/agents/new?template=import").catch(d=>v(D(d))),children:o})]}),e("form",{class:"with-btn",onSubmit:d=>{d.preventDefault(),$e.test(g.trim())&&R(g.trim())},children:[e("input",{class:"mono","aria-label":"Repository",placeholder:"owner/repo",autocomplete:"off",value:g,onInput:d=>w(d.currentTarget.value)}),e("button",{class:"btn outline",children:"Look up"})]})]}),e($,{value:S}),s?e("div",{class:"repo-list scroll-box",role:"list",children:i?e(E,{children:[x?e("button",{type:"button",class:"pop-item","aria-pressed":p?.repo===x,onClick:()=>R(x),children:[e(T,{d:_}),e("span",{class:"grow",children:x})]}):null,C.map(d=>e("button",{type:"button",class:"pop-item","aria-pressed":p?.repo===d,onClick:()=>R(d),children:[e(T,{d:_}),e("span",{class:"grow",children:d})]},d)),!C.length&&!x?e("p",{class:"pop-note",children:"No repository matches. Type owner/repo to use another."}):null]}):e(K,{label:"Loading repositories",h:240})}):null,!s&&c?e(Ne,{port:l}):null]}),e("div",{class:"import-preview",children:p?e(E,{children:[e("h3",{children:["Agents in ",p.repo]}),e(ot,{preview:p,onDone:V})]}):e("p",{class:"muted",children:"Pick a repository to see the agents in its .coder/agents folder."})})]})}var Be=[["Brisk","Calm","Clever","Keen","Nimble","Quiet","Steady","Swift","Tidy","Bright","Patient","Lucky"],["Heron","Otter","Falcon","Lynx","Badger","Relay","Beacon","Compass","Lantern","Pilot","Sparrow","Harbor"]],je=s=>s[Math.floor(Math.random()*s.length)],Fe=()=>`${je(Be[0])} ${je(Be[1])}`;var Me=[["read-only","Read only"],["workspace-write","Edit files"],["auto","Auto"]],rt={"read-only":"reads the repository and changes nothing","workspace-write":"edits files inside the repository",auto:"edits files, reaches the network, and asks when it needs more"},it=[["low","Low"],["medium","Medium"],["high","High"]],F=["observe","comment","write"],He={observe:["Observe","reads the platform only"],comment:["Comment","also replies and reacts"],write:["Write","also changes code there, like opening pull requests"]},at=[["blank","Blank","start from nothing"],["helper","Slack helper","answers questions in chat"],["reviewer","Reviewer","reviews pull requests"]],lt=6,ct=`Review each pull request for bugs, risky changes and missing tests.
|
|
2
2
|
Comment on the lines that matter and keep it short.
|
|
3
3
|
When mentioned, answer questions about the code and cite file paths.`,pt=`Answer the team's questions in the thread.
|
|
4
4
|
Read the code before you answer, cite file paths, and say when you are unsure.
|
|
5
|
-
If asked to change code, describe the change and stop.`,dt={mention:"replies to @mentions",pull_request:"reviews pull requests",issue:"triages issues",comment:"reads comments",message:"reads messages",reaction:"answers reactions",command:"runs slash commands"},mt=s=>Array.isArray(s)?s.map(String):s&&typeof s=="object"?Object.keys(s):[],We=s=>s.toLowerCase().replace(/[^a-z0-9_-]+/g,"-").replace(/^-+|-+$/g,"").slice(0,40);function ut(s,o){let c=s?.definition,l={name:s?.name??o,id:s?.id??We(o),description:s?.description??c?.description??"",platforms:[],events:{},match:{},tools:{},permissions:c?.permissions??"read-only",systemPrompt:s?.systemPrompt??"",engine:c?.engine??"",model:c?.model??"",effort:c?.effort??""};for(let[f,i]of Object.entries(c?.integrations??{})){if(l.platforms.push(f),l.events[f]=mt(i.triggers),l.match[f]={},i.triggers&&!Array.isArray(i.triggers))for(let[b,g]of Object.entries(i.triggers))g&&typeof g=="object"&&"match"in g&&(l.match[f][b]=String(g.match));l.tools[f]=i.tools}return l}var Ke=s=>Object.entries(s?.events??{}).filter(([,o])=>!o.noisy).map(([o])=>o);function _e(s,o){let c=l=>{let f=o.filter(l).map(i=>i.id);return{platforms:f,events:Object.fromEntries(f.map(i=>[i,Ke(o.find(b=>b.id===i))])),tools:Object.fromEntries(f.map(i=>[i,"comment"])),match:{}}};return s==="reviewer"?{...c(l=>"pull_request"in l.events),description:"Reviews pull requests and answers questions about the code.",systemPrompt:ct}:s==="helper"?{...c(l=>l.id==="slack"),description:"Answers the team's questions in chat.",systemPrompt:pt}:{platforms:[],events:{},tools:{},match:{},description:"",systemPrompt:""}}function ft(s,o,c){let l=s?.triggers&&!Array.isArray(s.triggers)?s.triggers:{},f=Object.fromEntries(o.map(i=>{let b=l[i],g=c[i]?.trim(),w=b&&typeof b=="object"?{...b}:{};return g?w.match=g:delete w.match,Object.keys(w).length?[i,w]:[i,b===void 0||typeof b=="object"?!0:b]}));return Object.values(f).every(i=>i===!0)?o:f}function gt(s){let o=s.platforms.filter(l=>s.events[l]?.length).map(l=>`${s.events[l].map(f=>dt[f]??f.replace(/_/g," ")).join(" and ")} in ${l}`),c=o.length?o.join(", "):"runs from the dashboard and the CLI";return`${c.charAt(0).toUpperCase()}${c.slice(1)}.`}var ht=(s=[],o=[])=>s.length===o.length&&s.every(c=>o.includes(c));function bt(s){if(!s)return[];let o=F.filter((c,l)=>!l||!ht(s.presets[c],s.presets[F[l-1]]));return o.length>1?o:[]}var vt=(s,o)=>s.filter(c=>F.indexOf(c)<=F.indexOf(o)).at(-1)??"";function $s({catalog:s,agent:o,suggested:c="",section:l,models:f,defaults:i={engine:"",engines:{},builtin:{}},template:b,connected:g=!1,connectLabel:w="Connect",tunnel:p=!1,port:k=""}){let S=
|
|
5
|
+
If asked to change code, describe the change and stop.`,dt={mention:"replies to @mentions",pull_request:"reviews pull requests",issue:"triages issues",comment:"reads comments",message:"reads messages",reaction:"answers reactions",command:"runs slash commands"},mt=s=>Array.isArray(s)?s.map(String):s&&typeof s=="object"?Object.keys(s):[],We=s=>s.toLowerCase().replace(/[^a-z0-9_-]+/g,"-").replace(/^-+|-+$/g,"").slice(0,40);function ut(s,o){let c=s?.definition,l={name:s?.name??o,id:s?.id??We(o),description:s?.description??c?.description??"",platforms:[],events:{},match:{},tools:{},permissions:c?.permissions??"read-only",systemPrompt:s?.systemPrompt??"",engine:c?.engine??"",model:c?.model??"",effort:c?.effort??""};for(let[f,i]of Object.entries(c?.integrations??{})){if(l.platforms.push(f),l.events[f]=mt(i.triggers),l.match[f]={},i.triggers&&!Array.isArray(i.triggers))for(let[b,g]of Object.entries(i.triggers))g&&typeof g=="object"&&"match"in g&&(l.match[f][b]=String(g.match));l.tools[f]=i.tools}return l}var Ke=s=>Object.entries(s?.events??{}).filter(([,o])=>!o.noisy).map(([o])=>o);function _e(s,o){let c=l=>{let f=o.filter(l).map(i=>i.id);return{platforms:f,events:Object.fromEntries(f.map(i=>[i,Ke(o.find(b=>b.id===i))])),tools:Object.fromEntries(f.map(i=>[i,"comment"])),match:{}}};return s==="reviewer"?{...c(l=>"pull_request"in l.events),description:"Reviews pull requests and answers questions about the code.",systemPrompt:ct}:s==="helper"?{...c(l=>l.id==="slack"),description:"Answers the team's questions in chat.",systemPrompt:pt}:{platforms:[],events:{},tools:{},match:{},description:"",systemPrompt:""}}function ft(s,o,c){let l=s?.triggers&&!Array.isArray(s.triggers)?s.triggers:{},f=Object.fromEntries(o.map(i=>{let b=l[i],g=c[i]?.trim(),w=b&&typeof b=="object"?{...b}:{};return g?w.match=g:delete w.match,Object.keys(w).length?[i,w]:[i,b===void 0||typeof b=="object"?!0:b]}));return Object.values(f).every(i=>i===!0)?o:f}function gt(s){let o=s.platforms.filter(l=>s.events[l]?.length).map(l=>`${s.events[l].map(f=>dt[f]??f.replace(/_/g," ")).join(" and ")} in ${l}`),c=o.length?o.join(", "):"runs from the dashboard and the CLI";return`${c.charAt(0).toUpperCase()}${c.slice(1)}.`}var ht=(s=[],o=[])=>s.length===o.length&&s.every(c=>o.includes(c));function bt(s){if(!s)return[];let o=F.filter((c,l)=>!l||!ht(s.presets[c],s.presets[F[l-1]]));return o.length>1?o:[]}var vt=(s,o)=>s.filter(c=>F.indexOf(c)<=F.indexOf(o)).at(-1)??"";function $s({catalog:s,agent:o,suggested:c="",section:l,models:f,defaults:i={engine:"",engines:{},builtin:{}},template:b,connected:g=!1,connectLabel:w="Connect",tunnel:p=!1,port:k=""}){let S=W(),v=!o,[R,V]=y(b??"blank"),[n,C]=y(()=>({...ut(o,c),...v?_e(b??"blank",s):{}})),[x,d]=y(!1),[P,L]=y("write"),[re,Ue]=y(""),[Ve,ie]=y(!1),[ze,z]=y(""),N=(t,r)=>C(m=>({...m,[t]:r})),G=(t,r=n.tools[t])=>Array.isArray(r)?"custom":r??"observe",Q=n.platforms.length?G(n.platforms[0]):"comment",Ge=n.platforms.every(t=>G(t)===Q),ae=n.platforms.map(t=>[t,bt(s.find(r=>r.id===t))]).filter(([,t])=>t.length),Y=F.filter(t=>ae.some(([,r])=>r.includes(t))),le=new Set(ae.map(([t])=>G(t))),ce=le.size===1?vt(Y,[...le][0]):"",pe=(t,r)=>Object.entries(i.builtin[t]??{}).find(([,m])=>m===r)?.[0]??r,M=n.engine||i.engine,J=i.engines[M]??{},Qe=[ee[i.engine]??i.engine,pe(i.engine,i.engines[i.engine]?.model)].filter(Boolean).join(" \xB7 "),Ye=Me.find(([t])=>t===n.permissions),Je=[ee[M]??M,n.model||pe(M,J.model),n.effort||J.effort,Ye?.[1].toLowerCase()].filter(Boolean).join(" \xB7 ");B(()=>{if(!l)return;let t=document.getElementById(`agent-${l}`);t?.scrollIntoView({block:"start"}),t?.querySelector("input, textarea, button")?.focus({preventScroll:!0})},[]);let de=t=>{V(t),t!=="import"&&C(r=>({...r,..._e(t,s)}))},me=t=>C(r=>({...r,name:t,...v&&!x?{id:We(t)}:{}})),Xe=(t,r)=>C(m=>{let h=Object.keys(s.find(a=>a.id===t)?.events??{});return{...m,platforms:r?s.map(a=>a.id).filter(a=>a===t||m.platforms.includes(a)):m.platforms.filter(a=>a!==t),events:r&&!m.events[t]?.length?{...m.events,[t]:Ke(s.find(a=>a.id===t))}:m.events,tools:r&&!m.tools[t]?{...m.tools,[t]:Ge&&Q!=="custom"?Q:"comment"}:m.tools}}),Ze=(t,r,m)=>C(h=>{let a=h.events[t]??[],u=m?h.match:{...h.match,[t]:{...h.match[t],[r]:""}};return{...h,events:{...h.events,[t]:m?[...new Set([...a,r])]:a.filter(O=>O!==r)},match:u}}),et=(t,r,m)=>C(h=>({...h,match:{...h.match,[t]:{...h.match[t],[r]:m}}})),tt=async()=>{let t=n.platforms.find(u=>!n.events[u]?.length);if(t)return z(`Pick at least one event on ${t}, or turn ${t} off.`);let r={};for(let u of n.platforms)r[u]={triggers:ft(o?.definition?.integrations?.[u],n.events[u]??[],n.match[u]??{}),tools:n.tools[u]};let m={...o?.definition,integrations:r,permissions:n.permissions};for(let u of["name","description","engine","model","effort"]){let O=n[u].trim();O?m[u]=O:delete m[u]}let h=v?n.id:o.id,a=n.name.trim();ie(!0),z("");try{let u=o?.files;await q.agents.put(h,{definition:m,...u?{files:u}:{},systemPrompt:n.systemPrompt.trim()?n.systemPrompt:`You are ${a||h}.
|
|
6
6
|
`,...a?{name:a}:{},...n.description.trim()?{description:n.description.trim()}:{}}),v&&n.platforms.length?S.push("/dash/agents/[slug]/platforms",{params:{slug:h}}):S.push("/dash/agents/[slug]",{params:{slug:h}})}catch(u){ie(!1),z(D(u))}},ue=e(E,{children:[e($,{value:ze}),v?e("button",{type:"button",class:"btn outline","aria-pressed":R==="import",onClick:()=>de("import"),children:"Import from repo"}):null,v?null:e(ye,{class:"btn ghost",href:"/dash/agents/[slug]",params:{slug:o.id},children:"Cancel"}),e("button",{class:"btn",disabled:Ve||!n.name.trim()||R==="import",children:v?"Create agent":"Publish new version"})]}),fe=v?e(Le,{...xe.newAgent,back:e(oe,{href:"/dash/agents",params:{},label:"Agents"}),actions:ue}):e(De,{agent:o,back:e(oe,{href:"/dash/agents/[slug]",params:{slug:o.id},label:o.name}),actions:ue}),ge=v?e("div",{class:"templates",role:"radiogroup","aria-label":"Start from",children:at.map(([t,r,m])=>e("button",{type:"button",role:"radio","aria-checked":R===t,class:"tile",onClick:()=>de(t),children:[e("b",{children:r}),e("small",{children:m})]},t))}):null;if(R==="import"&&v)return e("div",{class:"agent-new",children:[fe,ge,e(qe,{connected:g,connectLabel:w,tunnel:p,port:k})]});let st=re.trim().toLowerCase(),he=s.filter(t=>`${t.id} ${t.description}`.toLowerCase().includes(st));return e("form",{class:"agent-new",onSubmit:t=>{t.preventDefault(),tt()},children:[fe,ge,e("div",{class:"agent-form",children:[e("div",{class:"agent-main",children:[e("section",{id:"agent-name",class:"form-part",children:[e("h2",{children:"Name and description"}),e("div",{class:"fields",children:[e(A,{label:"Name",hint:"its handle on every platform",children:e("span",{class:"with-btn",children:[e("input",{name:"name",required:!0,value:n.name,onInput:t=>me(t.currentTarget.value)}),v?e("button",{type:"button",class:"btn outline",title:"Suggest another name",onClick:()=>me(Fe()),children:[e(T,{d:ve}),"Suggest"]}):null]})}),v?e(A,{label:"Id",hint:"the folder and command name",children:e("input",{class:"mono",name:"id",required:!0,pattern:"[a-z0-9][a-z0-9_\\-]*",autocomplete:"off",value:n.id,onInput:t=>{d(!0),N("id",t.currentTarget.value)}})}):e("div",{class:"field",children:[e("span",{children:["Id ",e("small",{children:"fixed once created"})]}),e("p",{class:"fixed mono",children:o.id})]})]}),e(A,{label:"Description",hint:"optional, shown in lists and added to the prompt",children:e("input",{name:"description",maxLength:240,placeholder:"Answers engineering questions about acme/app.",value:n.description,onInput:t=>N("description",t.currentTarget.value)})})]}),e("section",{id:"agent-instructions",class:"form-part",children:[e("div",{class:"part-head",children:[e("h2",{children:"Instructions"}),e(j,{label:"Instructions view",options:[["write","Write"],["preview","Preview"]],value:P,onChange:L})]}),P==="write"?e("textarea",{name:"systemPrompt",rows:10,"aria-label":"Instructions",placeholder:`Markdown. The system prompt every task starts from.
|
|
7
7
|
You answer questions about acme/app from its source. Cite file paths.`,value:n.systemPrompt,onInput:t=>N("systemPrompt",t.currentTarget.value)}):e("div",{class:"body md md-preview",children:n.systemPrompt.trim()?Oe(n.systemPrompt):e("p",{class:"muted",children:"Nothing written yet."})})]}),e("section",{id:"agent-platforms",class:"form-part",children:[e("div",{class:"part-head",onKeyDown:t=>t.key==="Enter"&&t.preventDefault(),children:[e("h2",{children:"Where it listens"}),s.length>lt?e(U,{value:re,label:"Search platforms",onInput:Ue}):null]}),e("p",{class:"muted",children:"Each platform becomes an app, set up on the next page. With none it runs from the dashboard and the CLI."}),e("ul",{class:"listen",children:[he.map(t=>{let r=n.platforms.includes(t.id),m=n.events[t.id]??[],h=Object.entries(t.events);return e("li",{class:r?"on":void 0,children:[e("label",{class:"listen-row",children:[e("span",{class:"pf-mark","aria-hidden":"true",children:e(Ee,{brand:t.brand})}),e("span",{class:"grow",children:[e("b",{children:t.name}),e("small",{title:t.description,children:t.description})]}),e("input",{type:"checkbox",role:"switch",class:"switch",name:"platform",value:t.id,checked:r,onChange:a=>Xe(t.id,a.currentTarget.checked)})]}),r?e("div",{class:"triggers",children:[e("div",{class:"chips",role:"group","aria-label":`What wakes it on ${t.id}`,children:h.map(([a,u])=>{let O=m.includes(a);return e("button",{type:"button",class:"chip","aria-pressed":O,title:u.description,onClick:()=>Ze(t.id,a,!O),children:a.replace(/_/g," ")},a)})}),h.filter(([a,u])=>u.noisy&&m.includes(a)).map(([a])=>e("label",{class:"match",children:[e("span",{children:a.replace(/_/g," ")}),e("input",{class:"mono",name:`match:${t.id}:${a}`,placeholder:"only when the text matches, like ^help\\b","aria-label":`Text filter for ${a} on ${t.id}`,value:n.match[t.id]?.[a]??"",onInput:u=>et(t.id,a,u.currentTarget.value)})]},a))]}):null]},t.id)}),he.length?null:e("li",{class:"listen-none muted",children:"No platform matches."})]}),Y.length?e(A,{label:"Platform access",hint:He[ce]?.[1]??"differs between platforms",group:!0,children:e(j,{label:"Platform access",options:Y.map(t=>[t,He[t][0]]),value:ce,onChange:t=>N("tools",Object.fromEntries(n.platforms.map(r=>[r,t])))})}):null]}),e("details",{id:"agent-run",class:"form-part run",open:l==="run",children:[e("summary",{children:[e("h2",{children:"Run settings"}),e("span",{class:"grow muted",children:Je}),e(T,{d:X})]}),e("div",{class:"run-body",children:[e("div",{class:"fields",children:[e(A,{label:"Engine and model",hint:"what runs each task",group:!0,children:e(ke,{label:"Model",value:Ie(n.engine,n.model),options:Se(f,te(Qe)),headings:Pe(f),action:{label:"Add models",icon:be,onPick:()=>S.push("/dash/settings/[tab]",{params:{tab:"models"}})},onChange:t=>C(r=>({...r,...Re(t)}))})}),e(A,{label:"Effort",hint:"how hard the model thinks",group:!0,children:e(j,{label:"Effort",options:[["",te(J.effort)],...it],value:n.effort,onChange:t=>N("effort",t)})})]}),e(A,{label:"Repository access",hint:rt[n.permissions],group:!0,children:e(j,{label:"Repository access",options:Me,value:n.permissions,onChange:t=>N("permissions",t)})})]})]})]}),e("aside",{class:"agent-side","aria-label":"Preview",children:[e("span",{class:"side-label",children:"Preview"}),e("div",{class:"agent-card preview",children:[e("div",{class:"bc-head",children:[e("span",{class:"mark",children:H(n.name)}),e("div",{class:"grow",children:[e("h3",{children:n.name.trim()||"Unnamed agent"}),e("span",{class:"pills",children:[e(ne,{children:"dashboard"}),o?.local?null:e(ne,{children:["v",v?1:o.currentVersion+1]})]})]})]}),e("div",{class:"lead-clamp",children:e("span",{children:n.description.trim()||"No description yet."})}),n.platforms.length?e("span",{class:"pfs",children:n.platforms.map(t=>e(Ae,{id:t,info:s.find(r=>r.id===t),state:"none"},t))}):e("span",{class:"pfs muted",children:"Listens nowhere yet"})]}),e("p",{class:"summary",children:gt(n)})]})]})]})}export{$s as AgentEditor};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";import{a as m,b as k,c as N,e as C,g as u,h as g}from"./list-
|
|
1
|
+
"use client";import{a as m,b as k,c as N,e as C,g as u,h as g}from"./list-87b359bebd26986a.js";import"./confirm-f2fe4ba9905a89c6.js";import{a as p}from"./badge-676b01e0c615bf7b.js";import{b as c,c as f,e as S}from"./model-options-15c53331a2f28a4f.js";import{a as w}from"./select-1013702bdfb1ade4.js";import"./card-e0901d68b79dfa93.js";import"./field-901f1f35c18c39c9.js";import"./format-eb03fc9d9744d960.js";import{$4b as d}from"./shared-init-20e199043ff5d00f.js";import"./shared-init-20e199043ff5d00f.js";import"./shared-init-88cce66bb3cfe1e5.js";import"./shared-init-88cce66bb3cfe1e5.js";import{$2a as t}from"./shared-init-88cce66bb3cfe1e5.js";import{$1c as a,$1g as E}from"./shared-init-8f2ac936c95a7f7b.js";function D({first:s,defaults:R}){let[h,v]=E(""),n=m(s.config),o=n.value.chain??s.effective.chain??c,l=n.value.approvals?.allowedNetworkHosts??[],y=[...o.filter(e=>c.includes(e)),...c.filter(e=>!o.includes(e))],I=(e,i)=>(s.config.engines?.[e]?.[i]?void 0:s.effective.engines?.[e]?.[i])??R[e]?.[i],b=(e,i,L)=>t("label",{children:[i,t(w,{label:`${f[e]} ${i}`,value:n.value.engines?.[e]?.[i]??"",options:[["",S(I(e,i)??(i==="permissions"?"auto":void 0))],...L.map(r=>[r,r])],onChange:r=>void n.patch({engines:{[e]:{[i]:r||null}}})})]});return t(a,{children:[t(g,{title:"Engines",count:o.length,error:n.error,children:y.map(e=>t(u,{title:f[e],badges:t(a,{children:[o[0]===e?t(p,{tone:"acc",children:"default"}):null,o.includes(e)?null:t(p,{children:"off"})]}),sub:t("span",{class:"inline-picks",children:[b(e,"effort",k),b(e,"permissions",N)]}),actions:o[0]===e?null:t("button",{type:"button",class:"btn secondary sm",disabled:h===e,"aria-busy":h===e,onClick:()=>{v(e),n.patch({chain:[e,...o.filter(i=>i!==e)]}).finally(()=>v(""))},children:"Make default"}),menu:o.includes(e)?o.length>1?t(d,{title:"Disable",onClick:()=>void n.patch({chain:o.filter(i=>i!==e)})}):void 0:t(d,{title:"Enable",onClick:()=>void n.patch({chain:[...o,e]})})},e))}),t(g,{title:"Allowed network hosts",count:l.length,error:"",add:t(C,{fields:[["host","Host, like registry.npmjs.org"]],onAdd:({host:e})=>n.patch({approvals:{allowedNetworkHosts:[...new Set([...l,e])]}})}),children:l.map(e=>t(u,{title:e,remove:{title:`Remove ${e}?`,body:"Tasks lose access to it.",onRemove:()=>n.patch({approvals:{allowedNetworkHosts:l.filter(i=>i!==e)}})}},e))})]})}export{D as EnginesList};
|
package/dist/dash/public/assets/chunks/{field-9e12e5fc8774b6e5.js → field-901f1f35c18c39c9.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{$2a as n}from"./shared-init-
|
|
1
|
+
import{$2a as n}from"./shared-init-88cce66bb3cfe1e5.js";function s({label:e,hint:l,group:r,children:o}){return n(r?"div":"label",{class:"field",children:[n("span",{children:[e,l?n("small",{children:l}):null]}),o]})}function m({value:e}){return e?n("p",{class:"flash err",role:"alert",children:e}):null}export{s as a,m as b};
|
package/dist/dash/public/assets/chunks/{heads-4041a925d63ab116.js → heads-1570a3a6db331979.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as h}from"./sentinel-
|
|
1
|
+
import{a as h}from"./sentinel-c972a33dc69a5135.js";import{$1a as c}from"./shared-init-20e199043ff5d00f.js";import{$5d as p}from"./shared-init-20e199043ff5d00f.js";import{$1a as d}from"./shared-init-88cce66bb3cfe1e5.js";import{$2a as t}from"./shared-init-88cce66bb3cfe1e5.js";import{$1c as l}from"./shared-init-8f2ac936c95a7f7b.js";var i={agents:{title:"Agents",lead:"Each agent listens on the platforms it declares and answers as itself."},tasks:{title:"Tasks"},newAgent:{title:"New agent",lead:"Start from a template or a repository. Everything but the name has a sensible default."},usage:{title:"Usage",lead:"Tasks, runner time, and tokens by agent. Pick a range, or open an agent for its breakdown."}};function u(s,a){let n=s?.match(/^\/dash\/tasks\/([^\/?]+)$/);if(n)return{href:"/dash/tasks/[id]",params:{id:decodeURIComponent(n[1])},label:"Task"};let e=s?.match(/^\/dash\/(usage|agents|tasks)(?:\?(.*))?$/);if(!e)return a;let r=new URLSearchParams(e[2]??""),o=i[e[1]].title;return e[1]==="usage"?{href:"/dash/usage",params:{},search:r,label:o}:e[1]==="agents"?{href:"/dash/agents",params:{},search:r,label:o}:{href:"/dash/tasks",params:{},search:r,label:o}}function f(s){if(!s?.startsWith("/"))return;let a=new URL(s,"http://dash");if(a.origin!=="http://dash"||!/^\/dash(\/|$)/.test(a.pathname))return;let[,,n,e]=a.pathname.split("/"),r=i[n]?.title??"Back";if(n==="agents"&&e)try{r=decodeURIComponent(e)}catch{}return{to:{href:a.pathname,search:a.searchParams},label:r}}function E({label:s,back:a,...n}){let e=f(a);return t(c,{class:"back",...e?.to??n,children:[t(d,{d:p}),e?.label??s]})}function x({title:s,lead:a,actions:n,meta:e,back:r}){return t(l,{children:[t(h,{}),t("header",{class:"head",children:[t("div",{children:[r,t("div",{class:"title-row",children:[t("h1",{children:s}),e?t("div",{class:"meta",children:e}):null]}),a?t("p",{class:"lead",children:a}):null]}),n?t("div",{class:"actions",children:n}):null]})]})}export{i as a,u as b,E as c,x as d};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{$2a as t}from"./shared-init-
|
|
1
|
+
import{$2a as t}from"./shared-init-88cce66bb3cfe1e5.js";import{$1b as g,$1g as a,$1j as C,$1k as b}from"./shared-init-8f2ac936c95a7f7b.js";function x({lines:c=10,class:e,children:o}){let n=b(null),[p,h]=a(!1),[l,u]=a(!1);return C(()=>{let s=n.current,i=()=>h(l||s.scrollHeight>s.clientHeight+1);i();let r=new ResizeObserver(i);return r.observe(s),()=>r.disconnect()},[o,l]),t("div",{class:`collapse${p?" long":""}${l?" open":""}`,style:`--lines:${c}`,children:[t("div",{class:e?`collapse-box ${e}`:"collapse-box",ref:n,children:o}),p?t("button",{type:"button",class:"btn ghost sm more-toggle","aria-expanded":l,onClick:()=>u(!l),children:l?"Show less":"Show more"}):null]})}var v=/`([^`\n]+)`|\*\*(.+?)\*\*|__(.+?)__|\*(\S(?:.*?\S)?)\*|(?<!\w)_(\S(?:.*?\S)?)_(?!\w)|\[([^\]\n]+)\]\(([^)\s]+)\)/g,S=/^(?:https?:|mailto:)/i,_=/^\s*(```|~~~)/,$=/^(#{1,6})\s+(.*?)(?:\s+#+)?\s*$/,E=/^\s*(?:([-*+])|\d+[.)])\s+(.*)$/,w=/^\s*(?:#{1,6}\s|```|~~~|[-*+]\s|\d+[.)]\s)/;function d(c){let e=[],o=0;for(let n of c.matchAll(v)){let[p,h,l,u,s,i,r,f]=n;n.index>o&&e.push(c.slice(o,n.index)),h?e.push(t("code",{children:h})):l||u?e.push(t("strong",{children:d(l||u)})):s||i?e.push(t("em",{children:d(s||i)})):S.test(f)?e.push(t("a",{class:"link",href:f,target:"_blank",rel:"noopener noreferrer",children:d(r)})):e.push(...d(r)),o=n.index+p.length}return o<c.length&&e.push(c.slice(o)),e}function y(c){let e=c.split(/\r?\n/),o=[];for(let n=0;n<e.length;){let p=e[n],h=_.exec(p),l=$.exec(p),u=E.exec(p);if(h){let s=e.findIndex((r,f)=>f>n&&r.trim().startsWith(h[1])),i=s<0?e.length:s;o.push(t("pre",{children:t("code",{children:e.slice(n+1,i).join(`
|
|
2
2
|
`)})})),n=i+1}else if(l)o.push(g(`h${Math.min(l[1].length+2,6)}`,null,d(l[2]))),n++;else if(u){let s=!u[1],i=[];for(let r;(r=E.exec(e[n]??""))&&!r[1]===s;n++)i.push(t("li",{children:d(r[2])}));o.push(s?t("ol",{children:i}):t("ul",{children:i}))}else if(!p.trim())n++;else{let s=[];for(;e[n]?.trim()&&(!s.length||!w.test(e[n]));n++)s.length&&s.push(t("br",{})),s.push(...d(e[n]));o.push(t("p",{children:s}))}}return o}function z({text:c}){return t(x,{class:"body md",children:y(c)})}export{x as a,y as b,z as c};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use client";import{b as a,c as b}from"./instructions-052fa45a9daf6db6.js";import"./shared-init-88cce66bb3cfe1e5.js";import"./shared-init-8f2ac936c95a7f7b.js";export{b as Instructions,a as markdown};
|
package/dist/dash/public/assets/chunks/{list-d7eb9e02cf261fbe.js → list-87b359bebd26986a.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as w}from"./confirm-
|
|
1
|
+
import{a as w}from"./confirm-f2fe4ba9905a89c6.js";import{a as h}from"./card-e0901d68b79dfa93.js";import{b}from"./field-901f1f35c18c39c9.js";import{g as d}from"./format-eb03fc9d9744d960.js";import{$4a as v,$4b as R}from"./shared-init-20e199043ff5d00f.js";import{$5q as g}from"./shared-init-20e199043ff5d00f.js";import{$1a as C}from"./shared-init-88cce66bb3cfe1e5.js";import{$0b as y}from"./shared-init-88cce66bb3cfe1e5.js";import{$2a as o}from"./shared-init-88cce66bb3cfe1e5.js";import{$1g as u,$1k as f}from"./shared-init-8f2ac936c95a7f7b.js";function T(r,s){if(!s||typeof s!="object"||Array.isArray(s))return s;let e=r&&typeof r=="object"&&!Array.isArray(r)?{...r}:{};for(let[n,t]of Object.entries(s))t===null?delete e[n]:e[n]=T(e[n],t);return e}function q(r){let[s,e]=u(r),[n,t]=u(""),i=f(0),a=f(r);return{value:s,error:n,patch:l=>{let p=++i.current;return t(""),e(m=>T(m,l)),y.config.patch(l).then(m=>(a.current=m,p===i.current&&e(m),!0),m=>(p===i.current&&(e(a.current),t(d(m))),!1))}}}var B=["low","medium","high"],N=["read-only","workspace-write","auto"];function z(r){let[s,e]=u(r),[n,t]=u("");return{value:s,setValue:e,error:n,setError:t,send:async(a,c)=>{t("");try{let l=await a();return c&&e(c(l)),!0}catch(l){return t(d(l)),!1}}}}function G({fields:r,onAdd:s}){return o("form",{class:"add-row",method:"post",onSubmit:async e=>{e.preventDefault();let n=e.currentTarget,t=Object.fromEntries([...new FormData(n)].map(([i,a])=>[i,String(a).trim()]));Object.values(t).some(i=>!i)||await s(t)&&n.reset()},children:[r.map(([e,n])=>o("input",{name:e,placeholder:n,"aria-label":n,autocomplete:"off"},e)),o("button",{class:"btn",children:"Add"})]})}function A(r){let[s,e]=u(!1),[n,t]=u(!1);if(!r)return{};let{title:i,body:a,label:c="Remove",onRemove:l}=r;return{item:o(R,{title:c,danger:!0,onClick:()=>e(!0)}),dialog:s?o(w,{open:!0,title:i,body:a,confirmLabel:c,busy:n,onClose:()=>e(!1),onConfirm:()=>{t(!0),l().finally(()=>{t(!1),e(!1)})}}):null}}function H({title:r,badges:s,sub:e,actions:n,menu:t,remove:i}){let a=A(i);return o("tr",{children:[o("td",{children:[o("span",{class:"row-title",children:[o("b",{children:r}),s]}),e?o("span",{class:"sub mono",children:e}):null]}),o("td",{class:"acts",children:[n,t||a.item?o(v,{summaryClass:"icon-btn",label:"Actions",summary:o(C,{d:g}),children:[t,a.item]}):null,a.dialog]})]})}function J({title:r,count:s,error:e,children:n,add:t}){return o(h,{title:r,count:s,actions:o(b,{value:e}),children:[o("div",{class:"table-scroll",children:o("table",{class:"rows settings",children:o("tbody",{children:n})})}),t]})}export{q as a,B as b,N as c,z as d,G as e,A as f,H as g,J as h};
|
package/dist/dash/public/assets/chunks/{mcp-list-a450533109045ef5.js → mcp-list-b42f0d2ee463b37d.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";import{d as B,g as H,h as _}from"./list-
|
|
1
|
+
"use client";import{d as B,g as H,h as _}from"./list-87b359bebd26986a.js";import"./confirm-f2fe4ba9905a89c6.js";import{c as O}from"./toolbar-f964fa864699f095.js";import{a as q}from"./paged-bc6fa0c2b9d52ed7.js";import{a as F}from"./badge-676b01e0c615bf7b.js";import{a as j}from"./card-e0901d68b79dfa93.js";import{a as v,b as x}from"./field-901f1f35c18c39c9.js";import{g as P}from"./format-eb03fc9d9744d960.js";import"./sentinel-c972a33dc69a5135.js";import"./shared-init-20e199043ff5d00f.js";import"./shared-init-20e199043ff5d00f.js";import"./shared-init-88cce66bb3cfe1e5.js";import{$0b as k}from"./shared-init-88cce66bb3cfe1e5.js";import{$2a as e}from"./shared-init-88cce66bb3cfe1e5.js";import{$1c as y,$1g as h,$1k as M}from"./shared-init-8f2ac936c95a7f7b.js";var J=r=>r.toLowerCase().replace(/[^a-z0-9_-]+/g,"-").replace(/^-+|-+$/g,"").slice(0,40),K=r=>(r.match(/"[^"]*"|'[^']*'|\S+/g)??[]).map(i=>i.replace(/^(["'])(.*)\1$/,"$2")),Y=["docs","search","browser","files"],ee=r=>r.type??(r.url?"http":"stdio"),z=r=>r.url??[r.command,...(r.args??[]).map(i=>i.replace(/\{((?:runtime|package):[^}]+)\}/g,(n,d)=>`{${r.argumentInputs?.find(o=>o.name===d)?.label??d}}`))].join(" ").trim();function w({kind:r,list:i}){return e(y,{children:i.map(n=>e(v,{label:e("span",{class:"mono",children:n.label??n.name}),hint:n.description??(n.required?"required":"optional"),children:e("input",{name:`${r}:${n.name}`,type:n.secret?"password":"text",placeholder:n.placeholder,defaultValue:r==="arg"?n.placeholder:void 0,autocomplete:"off",required:n.required})},n.name))})}function te({onAdd:r,error:i,taken:n}){let[d,o]=h(""),[s,m]=h(),[a,R]=h(),[N,S]=h(!1),T=M(),b=M(null),C=t=>{m({q:t}),k.mcp.search(t.trim()).then(q(performance.now())).then(l=>m(c=>c?.q===t?{q:t,items:l}:c)).catch(l=>m(c=>c?.q===t?{q:t,error:P(l)}:c))},D=t=>{if(o(t),clearTimeout(T.current),!t.trim())return m(void 0);T.current=setTimeout(()=>C(t),250)},U=t=>{R(t),m(void 0),o("");let l=b.current.elements;l.namedItem("name").value=J(t.title),l.namedItem("target").value=z(t),requestAnimationFrame(()=>{let c=b.current;(c?.querySelector("input[name^='arg:'], input[name^='env:'], input[name^='header:']")??c?.querySelector("button"))?.focus()})};return e(j,{title:"Add an MCP server",actions:e(x,{value:i}),children:[e("div",{class:"registry",children:[e(O,{value:d,label:"Search the MCP registry",onInput:D}),s?e("div",{class:"registry-results scroll-box","aria-live":"polite","aria-busy":!s.items&&!s.error,children:s.error?e("div",{class:"registry-note err",role:"alert",children:[e("span",{class:"grow",children:s.error}),e("button",{type:"button",class:"btn ghost sm",onClick:()=>C(s.q),children:"Retry"})]}):s.items?s.items.length?s.items.map(t=>e("button",{type:"button",class:"pop-item rich",onClick:()=>U(t),children:e("span",{class:"grow",children:[e("b",{children:t.title})," ",e(F,{children:t.type}),e("small",{children:t.description||t.name})]})},t.name)):e("p",{class:"registry-note",children:"No server in the registry matches. Type its command or URL below."}):e("div",{role:"status","aria-label":"Searching the registry",children:[0,1,2].map(t=>e("div",{class:"skel",children:[e("i",{}),e("i",{})]},t))})}):null]}),e("form",{ref:b,class:"add-form",method:"post",onSubmit:async t=>{t.preventDefault();let l=[...new FormData(t.currentTarget)].map(([p,u])=>[p,String(u).trim()]),c=p=>l.find(([u])=>u===p)?.[1]??"",E=p=>Object.fromEntries(l.filter(([u,f])=>u.startsWith(p)&&f).map(([u,f])=>[u.slice(p.length),f])),I=c("name"),g=c("target");if(!I||!g)return;let W=a?.command?z(a):void 0,Z=a&&g===W?[a.command,...a.args??[]]:K(g),[Q,...L]=Z.map(p=>p.replace(/\{((?:runtime|package):[^}]+)\}/g,(u,f)=>c(`arg:${f}`))),A=E("env:"),$=E("header:"),V=/^https?:\/\//.test(g)?{url:g,...a?.url===g?{type:a.type}:{},...Object.keys($).length?{headers:$}:{}}:{command:Q,...L.length?{args:L}:{},...Object.keys(A).length?{env:A}:{}};S(!0);let X=await r({name:I,...V,...a?.description?{description:a.description}:{}});S(!1),X&&(b.current?.reset(),R(void 0))},children:e("div",{class:"add-grid",children:[e(v,{label:"Name",children:e("input",{name:"name",placeholder:Y.find(t=>!n.includes(t)),autocomplete:"off",pattern:"[A-Za-z0-9][A-Za-z0-9_\\-]*"})}),e(v,{label:"Command or URL",hint:a?a.description:void 0,children:e("input",{name:"target",class:"mono",placeholder:"npx -y @acme/mcp or https://mcp.acme.dev",autocomplete:"off"})}),e(w,{kind:"arg",list:a?.argumentInputs??[]}),e(w,{kind:"env",list:a?.env??[]}),e(w,{kind:"header",list:a?.headers??[]}),e("button",{class:"btn",disabled:N,children:"Add"})]})})]})}function ge({first:r}){let i=B(r),n=o=>o.mcp??{},d=Object.entries(i.value);return e(y,{children:[e(te,{error:i.error,taken:d.map(([o])=>o),onAdd:o=>i.send(()=>k.mcp.add(o),n)}),e(_,{title:"MCP servers",count:d.length,error:"",children:d.map(([o,s])=>{let m=s.url??[s.command,...s.args??[]].join(" ");return e(H,{title:o,badges:e(F,{children:ee(s)}),sub:s.description?e(y,{children:[e("span",{class:"plain",children:s.description}),e("br",{}),m]}):m,remove:{title:`Remove ${o}?`,body:"New tasks no longer attach it.",onRemove:()=>i.send(()=>k.mcp.remove(o),n)}},o)})})]})}export{ge as McpList};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";import{a as X}from"./combo-
|
|
1
|
+
"use client";import{a as X}from"./combo-952a457d52360d88.js";import{a as Y,d as Z,g as J,h as W}from"./list-87b359bebd26986a.js";import"./confirm-f2fe4ba9905a89c6.js";import{a as B}from"./badge-676b01e0c615bf7b.js";import{b as $,c as _,e as G,j as V}from"./model-options-15c53331a2f28a4f.js";import{a as F}from"./select-1013702bdfb1ade4.js";import{a as H,c as q}from"./card-e0901d68b79dfa93.js";import{a as p,b as x}from"./field-901f1f35c18c39c9.js";import{g as z}from"./format-eb03fc9d9744d960.js";import{$4b as D}from"./shared-init-20e199043ff5d00f.js";import"./shared-init-20e199043ff5d00f.js";import"./shared-init-88cce66bb3cfe1e5.js";import{$0b as P}from"./shared-init-88cce66bb3cfe1e5.js";import{$2a as e}from"./shared-init-88cce66bb3cfe1e5.js";import{$1c as M,$1g as c,$1k as j}from"./shared-init-8f2ac936c95a7f7b.js";var ne=[["custom","Custom endpoint"],["claude","Claude"],["codex","Codex"]],le={claude:"sonnet",codex:"sol"},se=[["low","Low"],["medium","Medium"],["high","High"]],re=[["personal","Just me"],["workspace","Workspace"]],L=V,Q={id:"other",name:"Other",baseUrl:"",envKey:"",needsKey:!0},ee=v=>v.split("/").pop().toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,""),ae=(v,m)=>v.find(C=>!(C in m));function ie({builtin:v,credentials:m,admin:C,taken:T,efforts:d,error:a,onAdd:y}){let[f,E]=c("custom"),i=f==="custom"?"custom":"alias",k=e(p,{label:"Engine",group:!0,children:e(F,{label:"Engine",options:ne,value:f,onChange:E})}),[b,U]=c(""),[o,t]=c(!1),[s,n]=c(0),h=v[f]??{},w=h[le[f]]??Object.values(h)[0];return e(H,{title:"Add a model",actions:e(x,{value:a}),children:e("form",{class:"add-form",method:"post",onSubmit:async A=>{A.preventDefault();let g=A.currentTarget,r=Object.fromEntries([...new FormData(g)].map(([R,S])=>[R,String(S).trim()]));if(i==="custom"&&!r.name&&(r.name=ee(r.model??"")),!r.name||!r.model||i==="custom"&&!r.baseUrl)return;t(!0);let I=i==="alias"?await y(()=>P.models.alias(r.name,[f,r.model,b].filter(Boolean).join(":"))):await y(async()=>{let R=r.envKey||"OPENAI_API_KEY";return r.key&&await P.credentials.add({env:{[R]:r.key},engine:"custom",label:L.find(S=>S.id===r.provider)?.name,workspace:r.scope==="workspace"}),P.models.add({name:r.name,baseUrl:r.baseUrl,model:r.model,envKey:R})});t(!1),I&&(g.reset(),n(s+1))},children:i==="alias"?e("div",{class:"add-grid",children:[k,e(p,{label:"Name",children:e("input",{name:"name",placeholder:ae(["fast","deep","quick"],T),autocomplete:"off",pattern:"[a-z0-9][a-z0-9\\-]*"})}),e(p,{label:"Model id",children:e("input",{name:"model",placeholder:w??"model id",autocomplete:"off"})}),e(p,{label:"Effort",hint:"optional",group:!0,children:e(F,{label:"Effort",options:[["",G(d[f])],...se],value:b,onChange:U})}),e("button",{class:"btn",disabled:o,children:"Add"})]}):e(de,{engine:k,credentials:m,admin:C,taken:T,busy:o},s)})})}function de({engine:v,credentials:m,admin:C,taken:T,busy:d}){let[a,y]=c(L[0]??Q),[f,E]=c(a.baseUrl),[i,k]=c(a.envKey),[b,U]=c(""),[o,t]=c("personal"),[s,n]=c(null),h=j(0),[w,A]=c(""),g=l=>!!l&&!!m?.some(u=>u.env.includes(l)),[r,I]=c(!1),R=j(),S=(l,u,O)=>{let te=++h.current;if(!l.trim())return n(null);I(!0),P.models.probe({baseUrl:l.trim(),...u.trim()?{envKey:u.trim()}:{},...O.trim()?{key:O.trim()}:{}}).catch(K=>({reachable:!1,modelListed:null,models:null,detail:z(K)})).then(K=>{te===h.current&&(I(!1),n(K.models?{...K,models:[...K.models].sort()}:K))})},N=(l,u,O)=>{clearTimeout(R.current),R.current=setTimeout(()=>S(l,u,O),250)},oe=s?s.reachable?s.models?`${s.models.length} listed`:"reachable, no model list":/HTTP 40[13]/.test(s.detail)?"key rejected":s.detail:void 0;return e(M,{children:[e("div",{class:"add-grid",children:[v,e(p,{label:"Provider",group:!0,children:e(F,{label:"Provider",name:"provider",options:L.map(l=>[l.id,l.name]),value:a.id,onChange:l=>{let u=L.find(O=>O.id===l)??Q;y(u),E(u.baseUrl),k(u.envKey),n(null),(b.trim()||g(u.envKey)||!u.needsKey)&&S(u.baseUrl,u.envKey,b)}})}),e(p,{label:"Model name",hint:"optional",children:e("input",{name:"name",placeholder:ee(w)||"short name like kimi",autocomplete:"off",pattern:"[a-z0-9][a-z0-9\\-]*"})})]}),e("div",{class:"add-grid",children:[a.needsKey&&m?e(p,{label:"API key",hint:e(M,{children:[g(i)?`optional, your saved ${i}`:`saved as ${i}`,a.keyUrl?e(M,{children:[", ",e("a",{class:"link",href:a.keyUrl,target:"_blank",rel:"noopener noreferrer",children:"get a key"})]}):null]}),children:e("input",{name:"key",type:"password",autocomplete:"off",placeholder:g(i)?"Optional":`${a.name} API key`,value:b,onInput:l=>{U(l.currentTarget.value),N(f,i,l.currentTarget.value)}})}):null,e(p,{label:"Model id",group:!0,hint:r?e(q,{label:"Fetching models",inline:!0,dots:!0}):oe,children:e(X,{label:"Model id",onOpen:()=>{!s&&!r&&S(f,i,b)},name:"model",options:s?.models??[],placeholder:s?.models?.[0]??"qwen3-coder",value:w,onChange:A})}),a.needsKey&&m&&C?e(p,{label:"Scope",group:!0,children:e(F,{label:"Scope",name:"scope",options:re,value:o,onChange:t})}):null]}),e("div",{class:"add-foot",children:[e("details",{class:"add-more",open:a.id==="other"||void 0,children:[e("summary",{children:"Advanced"}),e("div",{class:"add-grid",children:[e(p,{label:"Base URL",children:e("input",{name:"baseUrl",type:"url",placeholder:"http://localhost:11434/v1",autocomplete:"off",value:f,onInput:l=>{E(l.currentTarget.value),N(l.currentTarget.value,i,b)}})}),e(p,{label:"Key variable",children:e("input",{name:"envKey",class:"mono",placeholder:"OPENAI_API_KEY",autocomplete:"off",pattern:"[A-Za-z_][A-Za-z0-9_]*",value:i,onInput:l=>k(l.currentTarget.value)})})]})]}),e("button",{class:"btn",disabled:d,children:"Add model"})]})]})}function Ee({first:v,config:m,credentials:C,admin:T}){let d=Z(v),a=Y(m.config),y=o=>({...d.value,models:o.models??{}}),f=o=>a.value.engines?.[o]?.model??m.effective.engines?.[o]?.model,E=o=>d.value.models[o]?.disabled===!0,i=a.value.chain??m.effective.chain??$,k=Object.entries(d.value.models).filter(([,o])=>o.provider||o.baseUrl),b=[...Object.entries(d.value.builtin).flatMap(([o,t])=>Object.entries(t).filter(([s])=>!k.some(([n])=>n===s)).map(([s,n])=>({name:s,engine:o,target:n,entry:d.value.models[s],removable:!1}))),...k.map(([o,t])=>({name:o,engine:t.provider??"custom",target:t.baseUrl?`${t.model} \xB7 ${t.baseUrl}`:`${t.model}${t.effort?` \xB7 ${t.effort}`:""}`,entry:t,removable:!0}))],U=[...new Set([...i,...$])].map(o=>[o,b.filter(t=>t.engine===o)]).filter(([,o])=>o.length);return e(M,{children:[e(ie,{builtin:d.value.builtin,credentials:C,admin:T,taken:{...d.value.models,...Object.assign({},...Object.values(d.value.builtin))},efforts:Object.fromEntries($.map(o=>[o,a.value.engines?.[o]?.effort??m.effective.engines?.[o]?.effort])),error:d.error,onAdd:o=>d.send(o,y)}),U.map(([o,t],s)=>e(W,{title:_[o]??o,count:t.length,error:s?"":a.error,children:t.map(({name:n,target:h,entry:w,removable:A})=>{let g=[n,h].includes(f(o)??"");return e(J,{title:n,badges:e(M,{children:[g&&i[0]===o?e(B,{tone:"acc",children:"default for new tasks"}):null,g&&i[0]!==o?e(B,{children:["default for ",_[o]??o]}):null,w?.disabled?e(B,{children:"off"}):null]}),sub:h===n?void 0:`\u2192 ${h}`,actions:g||w?.disabled?null:e("button",{type:"button",class:"btn ghost sm",onClick:()=>void a.patch({engines:{[o]:{model:n}}}),children:"Make default"}),menu:e(D,{title:E(n)?"Enable":"Disable",onClick:()=>void d.send(()=>P.models[E(n)?"enable":"disable"](n),y)}),remove:A?{title:`Remove ${n}?`,body:"Tasks that ask for it stop running.",onRemove:()=>d.send(()=>P.models.remove(n),y)}:void 0},n)})},o))]})}export{Ee as ModelsList};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
"use client";import{b as C}from"./field-
|
|
1
|
+
"use client";import{b as C}from"./field-901f1f35c18c39c9.js";import{g as $}from"./format-eb03fc9d9744d960.js";import{$4a as h,$4b as r}from"./shared-init-20e199043ff5d00f.js";import{$5l as m,$5q as p,$5r as k}from"./shared-init-20e199043ff5d00f.js";import{$1a as u}from"./shared-init-88cce66bb3cfe1e5.js";import{$0b as g}from"./shared-init-88cce66bb3cfe1e5.js";import{$2a as t}from"./shared-init-88cce66bb3cfe1e5.js";import{$1c as l,$1g as c}from"./shared-init-8f2ac936c95a7f7b.js";function D({integration:a,apps:o,installed:I,createUrl:d,owners:n=[]}){let[v,f]=c(""),[M,b]=c(!1),i=(e="")=>e?`${d}&owner=${encodeURIComponent(e)}`:d,y=e=>{b(!0),f(""),g.apps.install(e,location.pathname).then(({url:s})=>{location.href=s}).catch(s=>{b(!1),f($(s))})};return o.length?t(l,{children:[I?null:t("button",{type:"button",class:"btn sm",disabled:M,onClick:()=>y(o[0].id),children:"Install"}),t(h,{summaryClass:"icon-btn",label:`More for ${a}`,wide:!0,summary:t(u,{d:p}),children:[o.map(e=>t(r,{icon:k,title:o.length>1?`Install ${e.name} on another account`:"Install on another account",sub:"Add this app to more repositories, another org, or another workspace.",onClick:()=>y(e.id)},e.id)),t(r,{icon:m,href:i(n[0]),title:`Create another ${a} app`,sub:"A separate app for an account this one cannot be installed on."})]}),t(C,{value:v})]}):t(l,{children:[t("a",{class:"btn sm",href:i(n[0]),title:n[0]?`Creates the app in ${n[0]}`:void 0,children:"Create app"}),n.length?t(h,{summaryClass:"icon-btn",label:`Where the ${a} app lives`,wide:!0,summary:t(u,{d:p}),children:[...n.slice(1),""].map(e=>t(r,{icon:m,href:i(e),title:e?`Create in ${e}`:"Create under your account",sub:"The app is private to where it lives."},e))}):null]})}export{D as PlatformActions};
|