@wular/coder 0.4.2 → 0.4.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/actions-CmfXOVXQ.js +20 -0
- package/dist/adapter-7SEiVsmp.js +1 -0
- package/dist/adapter-BLEfUqoQ.js +1 -0
- package/dist/adapter-H4GlcKQz.js +1 -0
- package/dist/add-Bffwutko.js +1 -0
- package/dist/add-Bz8uaOcu.js +1 -0
- package/dist/add-DTwoL7vJ.js +1 -0
- package/dist/add-cdKdz3K0.js +6 -0
- package/dist/add-json-BIcbE3Nf.js +1 -0
- package/dist/agent-BcXXkOmD.js +3 -0
- package/dist/agent-DQK_S1PE.js +1 -0
- package/dist/alias-KQ85bphl.js +2 -0
- package/dist/app-DaccLHrx.js +1 -0
- package/dist/approvals-CZt_aPCy.js +2 -0
- package/dist/approve-DxjyXd66.js +2 -0
- package/dist/apps-eueTmHR5.js +1 -0
- package/dist/archive-C3JazQuo.js +3 -0
- package/dist/archive-C9yrU4Wg.js +4 -0
- package/dist/archive-sweep-CHbOP-p6.js +1 -0
- package/dist/args-DEMOfLz2.js +1 -0
- package/dist/ask-DdYrvsTk.js +4 -0
- package/dist/auth-FTKev9__.js +1 -0
- package/dist/auth-q8CROpG-.js +1 -0
- package/dist/chat-bridge-18koyS7c.js +2 -0
- package/dist/chat-cknlIhVh.js +13 -0
- package/dist/cli-msOzZFXW.js +9 -0
- package/dist/cli.d.ts +1 -1
- package/dist/cli.js +1 -1
- package/dist/client-31YzOj-i.js +1 -0
- package/dist/config-BllYHi8S.js +3 -0
- package/dist/create-BYki3g42.js +1 -0
- package/dist/credentials-DLMuf9OT.js +1 -0
- package/dist/dash/standalone/node_modules/@tanstack/virtual-core/dist/esm/index.js +1238 -0
- package/dist/dash/standalone/node_modules/@tanstack/virtual-core/dist/esm/lazy-measurements.js +34 -0
- package/dist/dash/standalone/node_modules/@tanstack/virtual-core/dist/esm/utils.js +74 -0
- package/dist/dash/standalone/node_modules/@tanstack/virtual-core/package.json +56 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/config/ts/react.json +10 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/boot-bhemypxz.js +38 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/build-tier-0a96kmx3.js +2456 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/config-0tvz03a6.js +24 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/generate-myw9hef7.js +22 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-0r5eqfc7.js +279 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-0yjv5v47.js +105 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-11xpbfej.js +17 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-141vcwk6.js +109 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-29pq0kax.js +590 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-2vz0wzdn.js +59 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-2wfv4kvx.js +182 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-3e075kny.js +128 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-3ycf5ckv.js +472 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-4399bvd2.js +18 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-4da76t62.js +297 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-4zzebszd.js +10 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-52k54ykj.js +95 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-5hr4062s.js +70 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-68m3mwbd.js +84 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-6b009mt0.js +56 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-6kp9r0d9.js +11 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-6q7zvrap.js +134 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-71885zaq.js +284 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-73z4esab.js +38 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-79ngvam8.js +60 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-7wc9n8be.js +25 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-8ct7rqy3.js +198 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-8kcxdfya.js +206 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-9f49w76j.js +213 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-9hz3s0m8.js +851 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-akkrvjn6.js +535 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-b6wtkdp4.js +24 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-b7j671dj.js +207 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-bcws5eh2.js +35 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-bzd2ef7t.js +10 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-cjgqs13g.js +65 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-ckkdpht5.js +41 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-cn86z041.js +296 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-cvr4z22m.js +92 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-d158y67j.js +152 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-d1jsmhhk.js +955 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-dgr390q7.js +9438 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-e3a6yx84.js +18 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-en7n9f7m.js +22 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-ezgj0tr1.js +88 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-fn1chkkd.js +214 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-fp8r0sqs.js +64 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-gcmj16xy.js +92 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-gkndxkxf.js +736 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-grta8ap3.js +238 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-h2a70tg4.js +7 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-h4xy648y.js +51 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-hdbwtdv2.js +352 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-he6n2bvp.js +1270 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-j0m1jxqa.js +1253 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-j2zrcp1k.js +66 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-j681c48a.js +2530 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-jbj7ehef.js +50 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-jcsjq3d1.js +20 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-jks0x0a1.js +14 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-jn9rbhrx.js +1599 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-jt8e1pje.js +12 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-kdhxpwyq.js +483 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-knp0s912.js +7 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-kresp2n8.js +445 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-m63czgq5.js +590 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-n4hxpng2.js +11 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-n629dy38.js +1071 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-nf3df4jy.js +266 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-nqh3xhdc.js +57 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-pym1cezq.js +39 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-q3r9z8mq.js +213 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-q738kkhj.js +100 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-qcrvt6er.js +112 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-qjj6gddn.js +54 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-qpwsgt3a.js +158 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-ras0sdab.js +26 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-rcs322t1.js +19 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-rgj5mx84.js +101 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-rt9qq1va.js +4 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-sq3kvz3g.js +200 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-stbk3jhn.js +31 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-tf4j19ge.js +130 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-tgcakdxc.js +125 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-tgsfjmep.js +74 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-tq3b39a5.js +107 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-typcbcsv.js +819 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-v1ags1na.js +132 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-vmr35jjw.js +170 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-vz0km5qk.js +33 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-w6h8m6vp.js +138 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-web361b8.js +138 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-wm36rj4v.js +311 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-x0y005nh.js +283 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-x2m17v9c.js +6166 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-x9c55pzy.js +871 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-xh1nbk46.js +1299 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-xvj80c3a.js +30 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-y4d02znn.js +66 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-y7mzvq2q.js +110 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-ye9hmsvf.js +47 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-yhxkxghe.js +56 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-yrjkqtfj.js +86 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-z88qv16t.js +11 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/index-zqpqyg8p.js +666 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/pipeline-4t9q43ht.js +836 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/proxy-config-60gprphe.js +23 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/proxy-gfhmktbk.js +35 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/router-xnrva921.js +501 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/routes-ht868pdc.js +66 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/_chunks/tsconfig-defaults-bcn34eqb.js +21 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/dist/server/cli/start.js +158 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/package.json +98 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/src/api/client-navigation.ts +337 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/src/api/dynamic.tsx +188 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/src/api/link.tsx +118 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/src/api/navigation.ts +199 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/src/api/server.ts +349 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/src/api/suspense.ts +16 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/src/client/router/events.ts +68 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/src/client/router/history.ts +70 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/src/client/router/hub.ts +201 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/src/client/router/index.ts +168 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/src/client/router/page-slot.ts +139 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/src/client/router/policies.ts +107 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/src/client/router/runtime.ts +6272 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/src/request/cache.ts +64 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/src/routing/href.ts +236 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/src/utils/decode.ts +7 -0
- package/dist/dash/standalone/node_modules/@wular/pnext/tsconfig.json +10 -0
- package/dist/dash/standalone/node_modules/dotenv/lib/main.js +386 -0
- package/dist/dash/standalone/node_modules/dotenv/package.json +62 -0
- package/dist/dash/standalone/node_modules/preact/compat/client.mjs +24 -0
- package/dist/dash/standalone/node_modules/preact/compat/dist/compat.mjs +2 -0
- package/dist/dash/standalone/node_modules/preact/compat/package.json +55 -0
- package/dist/dash/standalone/node_modules/preact/dist/preact.mjs +2 -0
- package/dist/dash/standalone/node_modules/preact/hooks/dist/hooks.mjs +2 -0
- package/dist/dash/standalone/node_modules/preact/hooks/package.json +35 -0
- package/dist/dash/standalone/node_modules/preact/jsx-runtime/dist/jsxRuntime.mjs +2 -0
- package/dist/dash/standalone/node_modules/preact/jsx-runtime/package.json +28 -0
- package/dist/dash/standalone/node_modules/preact/package.json +265 -0
- package/dist/dash/standalone/node_modules/preact-render-to-string/dist/index.mjs +2 -0
- package/dist/dash/standalone/node_modules/preact-render-to-string/dist/stream/index.mjs +2 -0
- package/dist/dash/standalone/node_modules/preact-render-to-string/package.json +147 -0
- package/dist/dash/standalone/node_modules/react/cjs/react.react-server.development.js +878 -0
- package/dist/dash/standalone/node_modules/react/cjs/react.react-server.production.js +436 -0
- package/dist/dash/standalone/node_modules/react/package.json +51 -0
- package/dist/dash/standalone/node_modules/react/react.react-server.js +7 -0
- package/dist/dash/standalone/node_modules/react-compiler-runtime/dist/index.js +385 -0
- package/dist/dash/standalone/node_modules/react-compiler-runtime/package.json +25 -0
- package/dist/dash/standalone/package.json +1 -0
- package/dist/dash/standalone/server/build-index.json +1 -0
- package/dist/dash/standalone/server/entry.js +1 -0
- package/dist/dash/standalone/server/manifest.json +3311 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/client/index.2feb1c162fab6033.js +336 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/core/defaults.f8b4eee28e030eda.js +27 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/core/errors.5e991e43e42bd943.js +21 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/core/task/log-view.d6aae19495a81adb.js +211 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/auth/sign-in.7ee1680af722840f.js +11 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/api/load.bdbf17006af803d1.js +45 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/api/types.0cf02e7714d7c1a2.js +5 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/connect/page.0a054a6c9dda53b3.js +23 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/account/loading.02d57ab48022f8d8.js +9 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/account/notify.b7451fdf9c3bb62a.js +34 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/account/page.f9ab6ed02876880e.js +113 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/account/sign-out.3368aed882d8f1ac.js +13 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/agents/(list)/agent-menu.e4b6d486442476b5.js +12 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/agents/(list)/agents-grid.0dbc57156286a18e.js +118 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/agents/(list)/connect-apps.3a5673bcd9aa57d9.js +42 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/agents/(list)/loading.8df9f4459410cfaa.js +18 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/agents/(list)/page.8f85fbaff456c5fe.js +71 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/agents/(list)/page.9ea9df9d5f80f310.css.pnext-asset.js +0 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/agents/[slug]/(tabs)/layout.d3aec63db0f5230d.js +105 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/agents/[slug]/(tabs)/loading.d53d174ffe56aab3.js +5 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/agents/[slug]/(tabs)/page.3120ea9ec90cb9cc.css.pnext-asset.js +0 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/agents/[slug]/(tabs)/page.7fd1bfcf08e25919.js +116 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/agents/[slug]/(tabs)/platforms/loading.849dc6e6050a7e21.js +10 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/agents/[slug]/(tabs)/platforms/page.143668a9c21806d6.css.pnext-asset.js +0 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/agents/[slug]/(tabs)/platforms/page.31687af871d75d39.js +170 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/agents/[slug]/(tabs)/platforms/platform-actions.754eff65aec1ab59.js +70 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/agents/[slug]/(tabs)/settings/agent-settings-form.861ed9832cbe89c1.js +268 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/agents/[slug]/(tabs)/settings/agent-settings-form.d6de90cb40c3bd46.css.pnext-asset.js +0 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/agents/[slug]/(tabs)/settings/loading.2ec7a3b893925df0.js +8 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/agents/[slug]/(tabs)/settings/page.1ed5379637860fab.js +35 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/agents/[slug]/(tabs)/tasks/loading.20a52282c5806719.js +5 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/agents/[slug]/(tabs)/tasks/page.4fd369ba79ed9943.js +11 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/agents/[slug]/(tabs)/usage/@/app/dash/usage/range-bar.4408a4e0ee81b7b6.css.pnext-asset.js +0 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/agents/[slug]/(tabs)/usage/@/comps/ui/segmented.ded4aa5c0cd2c608.css.pnext-asset.js +0 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/agents/[slug]/(tabs)/usage/loading.43b58c5eef3d4253.js +48 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/agents/[slug]/(tabs)/usage/page.78bf188a8077c64e.js +160 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/agents/[slug]/(tabs)/usage/page.ae5cbdfc43af6658.css.pnext-asset.js +0 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/agents/[slug]/(tabs)/versions-list.0c6811b66b2fcc49.js +41 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/agents/[slug]/edit/loading.a18042397ffeaf55.js +29 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/agents/[slug]/edit/page.1798dbd9cd334e8f.js +69 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/agents/agent/agent-pills.c5710a4f634f9d6a.js +67 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/agents/agent/agent-pills.dcf7e785044cc900.css.pnext-asset.js +0 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/agents/agent/hero.a794a01218c5c9ce.css.pnext-asset.js +0 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/agents/agent/hero.e5c5af2f9fab6a63.js +62 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/agents/agent/instructions.2176859ec1028fc0.css.pnext-asset.js +0 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/agents/agent/instructions.403838f7cb218391.js +74 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/agents/editor/@/app/dash/agents/(list)/page.f2e88eb443d45a74.css.pnext-asset.js +0 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/agents/editor/connect-repositories.6c7088fd2fcd54f4.js +11 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/agents/editor/editor.4b164e6eb19daa2f.js +691 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/agents/editor/editor.6b13621790a6d5d6.css.pnext-asset.js +0 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/agents/editor/import-picker.4bff9b5642aeab17.js +214 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/agents/editor/names.cf9e376a918a5341.js +30 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/agents/new/loading.72e1b274c475e39a.js +28 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/agents/new/page.44f60b1a32344f70.js +55 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/layout.946ec7c4ebb1d7c6.css.pnext-asset.js +0 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/layout.96376d18592adfa9.js +391 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/page.669f5926ae12d101.js +10 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/settings/[tab]/credentials-list.3bd27b14c0d60e48.css.pnext-asset.js +0 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/settings/[tab]/credentials-list.3fbc413d972a0447.js +538 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/settings/[tab]/credentials.6423846391b20446.js +34 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/settings/[tab]/engines-list.39cd71b7dc568516.css.pnext-asset.js +0 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/settings/[tab]/engines-list.5bad79f0d4e12e07.js +75 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/settings/[tab]/list.2a204889b73638d9.css.pnext-asset.js +0 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/settings/[tab]/list.2cafbe93b7b2dc0f.js +172 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/settings/[tab]/loading.1a810cc50ea61706.js +6 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/settings/[tab]/mcp-list.1fc0f6165dd85b8c.js +249 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/settings/[tab]/mcp-list.d743e37cd6dc85d8.css.pnext-asset.js +0 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/settings/[tab]/models-list.520cb30b291794c3.js +396 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/settings/[tab]/page.04b07f9c365be073.js +86 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/settings/[tab]/runners-list.3dac92fb9f64e2be.css.pnext-asset.js +0 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/settings/[tab]/runners-list.67786d7d51692d19.js +380 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/settings/layout.a619ac4fe999d1b5.js +39 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/settings/model-options.2ca6c87aedf3588c.js +87 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/settings/page.5edeae58f2154a50.js +6 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/settings/settings-head.d726e31e4dd04d60.js +32 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/settings/tunnel-guide.22448081e9e042d6.js +31 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/tasks/[id]/activity.b23683e6be363068.js +177 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/tasks/[id]/loading.a8f2aa099bd76606.js +37 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/tasks/[id]/page.d1ded90712ca586f.js +24 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/tasks/[id]/task-actions.f2be118dd5a02896.js +184 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/tasks/[id]/task-view.97433b52e6f7175c.js +593 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/tasks/[id]/task-view.c2288044c9032a89.css.pnext-asset.js +0 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/tasks/composer-data.e2d442d6ecbaa6d3.js +63 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/tasks/composer.41721fb98004e79e.css.pnext-asset.js +0 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/tasks/composer.78b7d3000d615c7c.js +730 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/tasks/list/status.9516cc22cbd5d84b.css.pnext-asset.js +0 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/tasks/list/status.d78e769ff1411932.js +16 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/tasks/list/task.674ebeabafa0a7e1.js +53 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/tasks/list/tasks-list.55fa11c945f9c6db.css.pnext-asset.js +0 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/tasks/list/tasks-list.9698bdff71c3b3c7.js +429 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/tasks/list/tasks-section.c77194f05c3f58fb.js +79 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/tasks/page.157ac3a0938206b0.js +16 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/usage/@/app/dash/usage/range-bar.72f0c7c440fb34af.css.pnext-asset.js +0 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/usage/@/comps/ui/segmented.81631cafb8e3b260.css.pnext-asset.js +0 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/usage/custom-range.9343f6115e244cb4.js +64 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/usage/day-chart.c7b7d04403f0fc79.css.pnext-asset.js +0 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/usage/day-chart.c7f6c8981a7acb15.js +70 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/usage/loading.1716941ff725f152.js +15 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/usage/metric.5481ab0e025e218e.js +10 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/usage/page.4159d729e8aa0439.js +132 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/usage/range-bar.671afdd0798f4de9.css.pnext-asset.js +0 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/usage/range-bar.8c9b18116c8eb5f0.js +60 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/usage/stats.3b02ee8317b9c4e3.css.pnext-asset.js +0 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/usage/stats.7b8db8c56920b311.js +12 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/usage/top-agents.441006da5b4eae17.css.pnext-asset.js +0 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/usage/top-agents.8af5d53eb64bae9c.js +89 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/usage/usage.d6df7cb6980171ce.css.pnext-asset.js +0 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/globals.89a59affc5df947b.css.pnext-asset.js +0 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/layout.77960a272f19bf24.js +41 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/login/page.33464bce52044759.js +50 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/login/page.f852a09edc8b6b44.css.pnext-asset.js +0 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/page.7e7f8611a9bb7b22.js +4 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/responsive.1fd73ea94977bfc0.css.pnext-asset.js +0 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/zone.66f36b17e74cf5f8.js +10 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/frame/@/comps/ui/toast.8d599c6821860a1c.css.pnext-asset.js +0 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/frame/auth-panel.3e020d19aa5ab464.js +48 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/frame/auth-panel.e5af611567239b13.css.pnext-asset.js +0 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/frame/drawer.9090aa789dffa730.css.pnext-asset.js +0 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/frame/drawer.cf0eb4936a2c7222.js +30 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/frame/heads.5407f7793f985b16.js +47 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/frame/loading-card.9648c7782502babc.js +64 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/frame/page-head.53db3a3d313c0473.css.pnext-asset.js +0 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/frame/page-head.857951b5dc1ad827.js +65 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/frame/stream.4c04416dab6ffc52.js +39 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/frame/task-toasts.b14bb1f66ed75e75.js +324 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/frame/theme-choices.60d3a5adbd49989f.js +49 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/nav/current-link.87758179b507850c.js +34 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/nav/side-toggle.581456c353d76d67.js +36 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/nav/to.248665fde7daaf07.js +11 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/badge.d21391f2f8573db8.css.pnext-asset.js +0 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/badge.e52db98d78836f9a.js +31 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/card.4f9265213510ffd3.css.pnext-asset.js +0 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/card.e6876039e375b849.js +40 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/collapse.60c9038c70fb9c46.css.pnext-asset.js +0 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/collapse.730d674a8f7eeeae.js +33 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/combo.d478120a76502dd1.js +115 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/confirm.cd23ea20bdf120d2.js +53 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/confirm.fc6d4da835b75a30.css.pnext-asset.js +0 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/field.37f93068217e1470.js +16 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/field.8db4420dfb447e42.css.pnext-asset.js +0 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/filter.3e8df59ca8abf397.js +252 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/filter.9311d535531caaf3.css.pnext-asset.js +0 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/icon.476b846e39908951.css.pnext-asset.js +0 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/icon.93605083edf7efe3.js +19 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/icons.e17bdd0b5504787f.js +36 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/menu.3b3026ecd4dc31f0.js +103 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/menu.d412af459c187b41.css.pnext-asset.js +0 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/segmented.171b067d7cb36977.css.pnext-asset.js +0 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/segmented.620f07f6b949d7f1.js +38 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/select.14e820c8a26ab8b5.js +218 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/select.5dbceaae2ba7ace4.css.pnext-asset.js +0 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/sentinel.332fb99b3a214f0e.css.pnext-asset.js +0 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/sentinel.50afec82b0fd53a1.js +59 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/tabs.051c87be5bbb7f2b.js +27 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/tabs.87bc5cdfc4d1b85e.css.pnext-asset.js +0 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/tail.25fd24d6cd0564b7.css.pnext-asset.js +0 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/tail.2d57d68076cef3e1.js +25 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/toolbar.32503820243ede06.js +80 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/toolbar.5e35e79f4d575452.css.pnext-asset.js +0 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/utils/client.f37a313f4811ddb8.js +26 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/utils/format.ba382c381ea40e77.js +75 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/utils/paged.64ead375df845ff2.js +152 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/utils/range.f0a5ef1763ff3cb9.js +102 -0
- package/dist/dash/standalone/static/assets/chunks/agent-pills-0163fdf910179991.js +1 -0
- package/dist/dash/standalone/static/assets/chunks/agent-settings-form-b1fcd9a5236b1fc7.js +1 -0
- package/dist/dash/standalone/static/assets/chunks/agents-grid-1d8f0ec6cf8c797e.js +1 -0
- package/dist/dash/standalone/static/assets/chunks/badge-9984d2fd0e7f995d.js +1 -0
- package/dist/dash/standalone/static/assets/chunks/card-818c7a0d580e2e0d.js +1 -0
- package/dist/dash/standalone/static/assets/chunks/combo-0d55fb62af761ac5.js +1 -0
- package/dist/dash/standalone/static/assets/chunks/composer-44516934e5619d32.js +1 -0
- package/dist/dash/standalone/static/assets/chunks/composer-8abfcac26339cc99.js +1 -0
- package/dist/dash/standalone/static/assets/chunks/confirm-be929e2de15876a6.js +1 -0
- package/dist/dash/standalone/static/assets/chunks/connect-apps-3e8b55a43315f58a.js +1 -0
- package/dist/dash/standalone/static/assets/chunks/connect-repositories-8864a63f83ffd411.js +1 -0
- package/dist/dash/standalone/static/assets/chunks/credentials-list-518af85578eacf6d.js +2 -0
- package/dist/dash/standalone/static/assets/chunks/custom-range-e8977f0d9699c1e6.js +1 -0
- package/dist/dash/standalone/static/assets/chunks/editor-75d6d2d01f4fc35a.js +7 -0
- package/dist/dash/standalone/static/assets/chunks/engines-list-2f6b8b3f2e873e4d.js +1 -0
- package/dist/dash/standalone/static/assets/chunks/field-43fea54c1c287e30.js +1 -0
- package/dist/dash/standalone/static/assets/chunks/filter-55618648fc10c377.js +1 -0
- package/dist/dash/standalone/static/assets/chunks/format-b19b8eec331414f4.js +1 -0
- package/dist/dash/standalone/static/assets/chunks/heads-1326669bdce3da2f.js +1 -0
- package/dist/dash/standalone/static/assets/chunks/instructions-0b968d5d0a58c716.js +2 -0
- package/dist/dash/standalone/static/assets/chunks/instructions-f3ecfb5c50f270c2.js +1 -0
- package/dist/dash/standalone/static/assets/chunks/list-90a47c07c4dd932e.js +1 -0
- package/dist/dash/standalone/static/assets/chunks/mcp-list-735e401c60ab51a3.js +1 -0
- package/dist/dash/standalone/static/assets/chunks/models-list-999f54c76ca31379.js +1 -0
- package/dist/dash/standalone/static/assets/chunks/paged-3ddb6077bef42752.js +1 -0
- package/dist/dash/standalone/static/assets/chunks/platform-actions-4592c82f72b21b1a.js +1 -0
- package/dist/dash/standalone/static/assets/chunks/runners-list-ab64a5fb01d5eef8.js +1 -0
- package/dist/dash/standalone/static/assets/chunks/runtime-37175329f2865f15-1.js +2 -0
- package/dist/dash/standalone/static/assets/chunks/segmented-bf5a4c06605249e0.js +1 -0
- package/dist/dash/standalone/static/assets/chunks/select-591ca78b6ae29bd8.js +1 -0
- package/dist/dash/standalone/static/assets/chunks/sentinel-b4c91a38a5d79219.js +1 -0
- package/dist/dash/standalone/static/assets/chunks/shared-init-17c1fd399ac53851.js +5 -0
- package/dist/dash/standalone/static/assets/chunks/shared-init-37175329f2865f15-2.js +1 -0
- package/dist/dash/standalone/static/assets/chunks/shared-init-8a34c730aabe942d.js +2 -0
- package/dist/dash/standalone/static/assets/chunks/tail-74153aeac1f0baec.js +1 -0
- package/dist/dash/standalone/static/assets/chunks/task-actions-26ad7f7c937f2589.js +1 -0
- package/dist/dash/standalone/static/assets/chunks/task-ddfddeaf07fb684c.js +1 -0
- package/dist/dash/standalone/static/assets/chunks/task-view-0d085ce407e8511e.js +5 -0
- package/dist/dash/standalone/static/assets/chunks/tasks-list-e9e914cf5dd959e9.js +1 -0
- package/dist/dash/standalone/static/assets/chunks/toolbar-a99d36b4b6f05bb1.js +1 -0
- package/dist/dash/standalone/static/assets/chunks/versions-list-875a9a0ebb3f7d08.js +1 -0
- package/dist/dash/standalone/static/assets/chunks/wular-pnext-37175329f2865f15-0.js +1 -0
- package/dist/dash/standalone/static/assets/dash-account-edc56e85dbaaabe0.css +1 -0
- package/dist/dash/standalone/static/assets/dash-agents-edba57b67e4005d0.css +1 -0
- package/dist/dash/standalone/static/assets/dash-agents-new-fe22253fbada2fbf.css +1 -0
- package/dist/dash/standalone/static/assets/dash-agents-param-slug-adf52e9dacb2d825.css +1 -0
- package/dist/dash/standalone/static/assets/dash-agents-param-slug-edit-a2937a347689ef29.css +1 -0
- package/dist/dash/standalone/static/assets/dash-agents-param-slug-platforms-265ba13db32a460d.css +1 -0
- package/dist/dash/standalone/static/assets/dash-agents-param-slug-settings-8afc52eb0372bc4b.css +1 -0
- package/dist/dash/standalone/static/assets/dash-agents-param-slug-tasks-6193e646be68dbd2.css +1 -0
- package/dist/dash/standalone/static/assets/dash-agents-param-slug-usage-ceadb3a1c911c402.css +1 -0
- package/dist/dash/standalone/static/assets/dash-settings-cf1997cd7f72e518.css +1 -0
- package/dist/dash/standalone/static/assets/dash-settings-param-tab-b44dac8e79a560e6.css +1 -0
- package/dist/dash/standalone/static/assets/dash-tasks-916c7100a8058aa3.css +1 -0
- package/dist/dash/standalone/static/assets/dash-tasks-param-id-24265771fd1e3f78.css +1 -0
- package/dist/dash/standalone/static/assets/dash-usage-40940b289f85e0b6.css +1 -0
- package/dist/dash/standalone/static/assets/pnext-client-1473d0349f242421.js +1 -0
- package/dist/dash/standalone/static/assets/pnext-client-195f74ae46e817da.js +1 -0
- package/dist/dash/standalone/static/assets/pnext-client-2b5532ce488c9391.js +1 -0
- package/dist/dash/standalone/static/assets/pnext-client-2d3ea662f22db27f.js +1 -0
- package/dist/dash/standalone/static/assets/pnext-client-43c0166e51dce87f.js +1 -0
- package/dist/dash/standalone/static/assets/pnext-client-4ed05f9a51f559a3.js +1 -0
- package/dist/dash/standalone/static/assets/pnext-client-652affde71fecdf7.js +1 -0
- package/dist/dash/standalone/static/assets/pnext-client-82beeebf704714a6.js +1 -0
- package/dist/dash/standalone/static/assets/pnext-client-899f9625435988dd.js +1 -0
- package/dist/dash/standalone/static/assets/pnext-client-ad1fab64ee1a5b30.js +1 -0
- package/dist/dash/standalone/static/assets/pnext-client-b2dccebfff1465f5.js +1 -0
- package/dist/dash/standalone/static/assets/pnext-client-c8a42c9bfeded4e4.js +1 -0
- package/dist/dash/standalone/static/assets/pnext-client-d04d2ffbb491564c.js +1 -0
- package/dist/dash/standalone/static/assets/pnext-client-d060565c4d80b60e.js +1 -0
- package/dist/dash/standalone/static/assets/pnext-client-dce6e1b84ee02f09.js +1 -0
- package/dist/dash/standalone/static/assets/pnext-client-e753846e298d2403.js +1 -0
- package/dist/default-aLeIO8IR.js +1 -0
- package/dist/default-fMaQH1wm.js +1 -0
- package/dist/delete-Cj16PYaw.js +2 -0
- package/dist/delete-DNj3leWA.js +4 -0
- package/dist/disable-CQg5Vybq.js +1 -0
- package/dist/discover-CaAtyC0h.js +1 -0
- package/dist/discover-bVM8EJEz.js +3 -0
- package/dist/dispatch-YW1aqjEg.js +14 -0
- package/dist/docs-Byrpar10.js +2 -0
- package/dist/docs-CqeYenUp.js +2 -0
- package/dist/enable-8m3z7i3i.js +1 -0
- package/dist/env-LsVTi18f.js +1 -0
- package/dist/exec-DgI3boHa.js +11 -0
- package/dist/executor-HWnIIYUL.js +10 -0
- package/dist/flow/builtin/review.js +1 -1
- package/dist/flow/index.d.ts +2 -2
- package/dist/flow/index.js +1 -1
- package/dist/flow-DeCL3x2p.js +1 -0
- package/dist/github-actions-CvLya8ve.js +24 -0
- package/dist/http-DG54kyx4.js +1 -0
- package/dist/index-Xe8n_t2Z.d.ts +365 -0
- package/dist/init-BujliQ7q.js +1 -0
- package/dist/integrations-6kXL9hRo.js +1 -0
- package/dist/integrations-B2CavXR1.js +5 -0
- package/dist/lib/broker.js +2 -2
- package/dist/list-BdiYneg5.js +1 -0
- package/dist/list-CXu4cr8D.js +4 -0
- package/dist/list-DGoVY-ao.js +1 -0
- package/dist/list-DbY1jyj3.js +2 -0
- package/dist/list-DhVfqr0A.js +1 -0
- package/dist/list-DyqtSWvn.js +1 -0
- package/dist/list-QLTjk5SN.js +3 -0
- package/dist/list-vKOTwd4G.js +4 -0
- package/dist/load-DDZfByUe.js +2 -0
- package/dist/local-B0GiaLV0.js +1 -0
- package/dist/log-view-DeJstSkw.js +3 -0
- package/dist/login-BzdlmD_o.js +1 -0
- package/dist/login-otJB9SYu.js +1 -0
- package/dist/logout-DOrRoxDV.js +1 -0
- package/dist/maintenance-Bg_FzXSq.js +1 -0
- package/dist/match-DMI54zg4.js +1 -0
- package/dist/mcp-DgMoPoUo.js +1 -0
- package/dist/mcp-xSvAWiXX.js +1 -0
- package/dist/migrate-CN-fdMV9.js +2 -0
- package/dist/migrate-DAC6sFgg.js +1 -0
- package/dist/model-BJ-Sokha.js +1 -0
- package/dist/models-DGPrMV51.js +1 -0
- package/dist/prompt-K7-bKcTC.js +7 -0
- package/dist/push-Cg7-XT5h.js +1 -0
- package/dist/queue-yo-Z8TaE.js +117 -0
- package/dist/refresh-CmBQALAW.js +1 -0
- package/dist/remote-AcWWfKVS.js +1 -0
- package/dist/remove-BuaShRZ3.js +1 -0
- package/dist/remove-C8Rm8KP-.js +1 -0
- package/dist/remove-CcMma1x3.js +1 -0
- package/dist/remove-DgMg_OOu.js +1 -0
- package/dist/rename-C0vNcl8e.js +1 -0
- package/dist/result-C6ovl_Dn.js +5 -0
- package/dist/result-oQey_hdw.js +18 -0
- package/dist/resume-T_TXWfqE.js +3 -0
- package/dist/review-CCs6XUSO.js +7 -0
- package/dist/rotate-key-CYimsQR5.js +1 -0
- package/dist/run-BFYg-zZt.js +5 -0
- package/dist/run-D7F7JPV6.js +2 -0
- package/dist/run-hiPyO7js.js +2 -0
- package/dist/runner-D5jaEfhG.js +1 -0
- package/dist/runner-c-2w6Eoj.js +1 -0
- package/dist/schema-DoNO0dPh.js +1 -0
- package/dist/sdk.d.ts +4 -3
- package/dist/sdk.js +1 -1
- package/dist/serve-BgGXjT_O.js +1 -0
- package/dist/serve-C-AD60Wa.js +12 -0
- package/dist/serve-GIK3fqKA.js +8 -0
- package/dist/serve-K3BVTcDI.js +2 -0
- package/dist/serve-xMihn4g-.js +1 -0
- package/dist/server-DQTGc55C.js +1 -0
- package/dist/setup-host-By8-gv_v.js +6 -0
- package/dist/shared-TznJgMFW.js +1 -0
- package/dist/show-C9ojrH5W.js +1 -0
- package/dist/show-o4yXzSWZ.js +1 -0
- package/dist/status-BBW7Qyde.js +1 -0
- package/dist/steer-D47cuggj.js +4 -0
- package/dist/stop-7brPdki9.js +1 -0
- package/dist/stop-CD2JW6dI.js +3 -0
- package/dist/store-BCBTo0rl.js +42 -0
- package/dist/store-qp7UE2ES.js +19 -0
- package/dist/task-CyrDqqf8.js +1 -0
- package/dist/task-DEp3GHwH.js +1 -0
- package/dist/task-DhZ5vhyY.js +5 -0
- package/dist/test-BcFQUHRo.js +1 -0
- package/dist/tools-D20XYPnO.js +1 -0
- package/dist/types-DMGBYB_K.d.ts +391 -0
- package/dist/unalias-G3sM8fVw.js +1 -0
- package/dist/update-JvgB6Xws.js +2 -0
- package/dist/upgrade-DN3hXDdo.js +2 -0
- package/dist/usage-C1oN2W9c.js +1 -0
- package/dist/usage-DR3wWtYD.js +1 -0
- package/dist/watch-DDmHonTf.js +5 -0
- package/dist/watch-DYkC6Q2q.js +8 -0
- package/dist/wire-DxxfWapP.js +1 -0
- package/dist/worker-C4Lo6rLS.js +9 -0
- package/dist/worker-CaNTsqcD.js +1 -0
- package/dist/workflow-7rqzHHWZ.js +1 -0
- package/docs/cli.md +1 -2
- package/docs/config.md +1 -1
- package/docs/flows.md +12 -1
- package/docs/mcp.md +1 -1
- package/docs/sdk.md +1 -1
- package/migrations/0000_initial.sql +8 -0
- package/migrations/meta/0000_snapshot.json +75 -1
- package/migrations/meta/_journal.json +1 -1
- package/package.json +2 -10
- package/plugins/agents/skills/coder/SKILL.md +1 -0
- package/plugins/claude/.claude-plugin/plugin.json +1 -1
- package/plugins/claude/skills/dispatch/SKILL.md +1 -1
- package/plugins/cursor/.cursor-plugin/plugin.json +1 -1
- package/plugins/cursor/skills/coder/SKILL.md +1 -0
- package/dist/actions-Mk3FSlpJ.js +0 -20
- package/dist/adapter-B0oYCI0S.js +0 -1
- package/dist/adapter-BKVzTDnn.js +0 -1
- package/dist/adapter-DPInwbJG.js +0 -1
- package/dist/add-C2y-mVzl.js +0 -1
- package/dist/add-CLYTF_up.js +0 -6
- package/dist/add-DRsPpQFl.js +0 -1
- package/dist/add-DkpUwhtO.js +0 -1
- package/dist/add-json-5uPnWPoD.js +0 -1
- package/dist/agent-hw3zKw8y.js +0 -3
- package/dist/agent-r5mMcehf.js +0 -1
- package/dist/alias-_0Rwf2cA.js +0 -2
- package/dist/app-oE8G1-bi.js +0 -1
- package/dist/approvals-DbVrsxec.js +0 -2
- package/dist/approve-DeAhFL-m.js +0 -2
- package/dist/apps-eujHiNca.js +0 -1
- package/dist/archive-BCUfymIB.js +0 -3
- package/dist/archive-DZ6vpMHb.js +0 -4
- package/dist/archive-sweep-Cxbh8yAI.js +0 -1
- package/dist/args-BOEEdpWk.js +0 -1
- package/dist/ask-BU2WVxVM.js +0 -4
- package/dist/auth-CBWTmAPA.js +0 -1
- package/dist/auth-Dmn2U7rr.js +0 -1
- package/dist/chat-B_yhNTo0.js +0 -13
- package/dist/chat-bridge-BS9WtP3X.js +0 -2
- package/dist/cli-DWCR7iqa.js +0 -9
- package/dist/client-D9IoAuDD.js +0 -1
- package/dist/config-12pK4qW7.js +0 -3
- package/dist/create-D3f6q0Yq.js +0 -1
- package/dist/credentials-l6dsrZLL.js +0 -1
- package/dist/dash/manifest.json +0 -3313
- package/dist/dash/public/assets/chunks/agent-pills-dd0b7643e125bbf1.js +0 -1
- package/dist/dash/public/assets/chunks/agent-settings-form-45ae6aeaaed2b568.js +0 -1
- package/dist/dash/public/assets/chunks/agents-grid-b906da80c31fc035.js +0 -1
- package/dist/dash/public/assets/chunks/badge-676b01e0c615bf7b.js +0 -1
- package/dist/dash/public/assets/chunks/card-e0901d68b79dfa93.js +0 -1
- package/dist/dash/public/assets/chunks/combo-952a457d52360d88.js +0 -1
- package/dist/dash/public/assets/chunks/composer-49f9e7c5c4dfda3b.js +0 -1
- package/dist/dash/public/assets/chunks/composer-f331d00837143aee.js +0 -1
- package/dist/dash/public/assets/chunks/confirm-f2fe4ba9905a89c6.js +0 -1
- package/dist/dash/public/assets/chunks/connect-apps-661f3b3a85f1776a.js +0 -1
- package/dist/dash/public/assets/chunks/connect-repositories-5389ec8701a3deac.js +0 -1
- package/dist/dash/public/assets/chunks/credentials-list-e6177d0943517929.js +0 -2
- package/dist/dash/public/assets/chunks/custom-range-03ba6fb2ade7d282.js +0 -1
- package/dist/dash/public/assets/chunks/editor-34cb529d6d8a4b09.js +0 -7
- package/dist/dash/public/assets/chunks/engines-list-2f1acee3ecc8461a.js +0 -1
- package/dist/dash/public/assets/chunks/field-901f1f35c18c39c9.js +0 -1
- package/dist/dash/public/assets/chunks/format-eb03fc9d9744d960.js +0 -1
- package/dist/dash/public/assets/chunks/heads-1570a3a6db331979.js +0 -1
- package/dist/dash/public/assets/chunks/instructions-052fa45a9daf6db6.js +0 -2
- package/dist/dash/public/assets/chunks/instructions-d0a4b0d95009c262.js +0 -1
- package/dist/dash/public/assets/chunks/list-87b359bebd26986a.js +0 -1
- package/dist/dash/public/assets/chunks/mcp-list-b42f0d2ee463b37d.js +0 -1
- package/dist/dash/public/assets/chunks/models-list-0669d26fd662aec3.js +0 -1
- package/dist/dash/public/assets/chunks/paged-bc6fa0c2b9d52ed7.js +0 -1
- package/dist/dash/public/assets/chunks/platform-actions-c92ca3c6198a9387.js +0 -1
- package/dist/dash/public/assets/chunks/runners-list-9fffa50432c470c9.js +0 -1
- package/dist/dash/public/assets/chunks/runtime-246221e985d863e5-1.js +0 -2
- package/dist/dash/public/assets/chunks/segmented-358ff2b4992b8384.js +0 -1
- package/dist/dash/public/assets/chunks/select-1013702bdfb1ade4.js +0 -1
- package/dist/dash/public/assets/chunks/sentinel-c972a33dc69a5135.js +0 -1
- package/dist/dash/public/assets/chunks/shared-init-20e199043ff5d00f.js +0 -2
- package/dist/dash/public/assets/chunks/shared-init-246221e985d863e5-2.js +0 -1
- package/dist/dash/public/assets/chunks/shared-init-88cce66bb3cfe1e5.js +0 -5
- package/dist/dash/public/assets/chunks/tail-7c27aab8ba268bd9.js +0 -1
- package/dist/dash/public/assets/chunks/task-actions-a9603d520434baab.js +0 -1
- package/dist/dash/public/assets/chunks/task-fa8b82e95e771c4a.js +0 -1
- package/dist/dash/public/assets/chunks/task-view-f7039cb330bcb0b5.js +0 -3
- package/dist/dash/public/assets/chunks/tasks-list-2a905b4a0c3a9042.js +0 -1
- package/dist/dash/public/assets/chunks/toolbar-f964fa864699f095.js +0 -1
- package/dist/dash/public/assets/chunks/versions-list-fc2e0d2a7382e049.js +0 -1
- package/dist/dash/public/assets/chunks/wular-pnext-246221e985d863e5-0.js +0 -1
- package/dist/dash/public/assets/dash-account-96fc41be318839fa.css +0 -1
- package/dist/dash/public/assets/dash-agents-290a7b21c7dc0c92.css +0 -1
- package/dist/dash/public/assets/dash-agents-new-a7a07bf4ebda24c2.css +0 -1
- package/dist/dash/public/assets/dash-agents-param-slug-69a72fb0bbd14cc2.css +0 -1
- package/dist/dash/public/assets/dash-agents-param-slug-edit-397bdfb2f0ca328c.css +0 -1
- package/dist/dash/public/assets/dash-agents-param-slug-platforms-a7b3b7247c27f1d2.css +0 -1
- package/dist/dash/public/assets/dash-agents-param-slug-settings-8389b7d0555e8ccf.css +0 -1
- package/dist/dash/public/assets/dash-agents-param-slug-tasks-5987b8aea5e8f30d.css +0 -1
- package/dist/dash/public/assets/dash-agents-param-slug-usage-19abc69e1d4e6b0a.css +0 -1
- package/dist/dash/public/assets/dash-settings-53b8e6a8f656fa1a.css +0 -1
- package/dist/dash/public/assets/dash-settings-param-tab-ac61fdfdd6fd533f.css +0 -1
- package/dist/dash/public/assets/dash-tasks-cc0b1d32874b731c.css +0 -1
- package/dist/dash/public/assets/dash-tasks-param-id-02b8c7bd99cc1090.css +0 -1
- package/dist/dash/public/assets/dash-usage-884943221f76ad93.css +0 -1
- package/dist/dash/public/assets/pnext-client-17ba55bb57a1f4da.js +0 -1
- package/dist/dash/public/assets/pnext-client-1afa4148bea69ad2.js +0 -1
- package/dist/dash/public/assets/pnext-client-2693db10b197ade1.js +0 -1
- package/dist/dash/public/assets/pnext-client-43f52a07f8067b1b.js +0 -1
- package/dist/dash/public/assets/pnext-client-4594b693fe612835.js +0 -1
- package/dist/dash/public/assets/pnext-client-73f73e24f8141fb6.js +0 -1
- package/dist/dash/public/assets/pnext-client-7574da4651b40eae.js +0 -1
- package/dist/dash/public/assets/pnext-client-7b3a2c1092cbbb02.js +0 -1
- package/dist/dash/public/assets/pnext-client-816fe5fc96d3f768.js +0 -1
- package/dist/dash/public/assets/pnext-client-86cb956b448b0887.js +0 -1
- package/dist/dash/public/assets/pnext-client-8b64e3c030164288.js +0 -1
- package/dist/dash/public/assets/pnext-client-8f6161084c595a22.js +0 -1
- package/dist/dash/public/assets/pnext-client-9203ec11926e5d04.js +0 -1
- package/dist/dash/public/assets/pnext-client-a38b446f941d44df.js +0 -1
- package/dist/dash/public/assets/pnext-client-bd8d51aaa095e8a4.js +0 -1
- package/dist/dash/public/assets/pnext-client-e9821d1f1bdb281d.js +0 -1
- package/dist/dash/server/bundle-0.1.6-b29ec45cb963d47f/entry.js +0 -2
- package/dist/default-CwQXCtoB.js +0 -1
- package/dist/default-De8FXiWz.js +0 -1
- package/dist/delete-BD6AnCLg.js +0 -2
- package/dist/delete-cS01oOIb.js +0 -4
- package/dist/disable-BMWWeYFQ.js +0 -1
- package/dist/discover-Cfx5RPU7.js +0 -3
- package/dist/discover-Dvr_3_Xr.js +0 -1
- package/dist/dispatch-BKeAch9E.js +0 -14
- package/dist/docs-BX65z2Iu.js +0 -2
- package/dist/docs-DWegDRiu.js +0 -2
- package/dist/enable-Cfzeau2x.js +0 -1
- package/dist/env-CRf6wkM2.js +0 -1
- package/dist/exec-RZFLclKX.js +0 -11
- package/dist/executor-BvAA7Cgw.js +0 -10
- package/dist/flow-kAxxVOiR.js +0 -1
- package/dist/github-actions-DwUzm4hC.js +0 -24
- package/dist/http-Bkg_OQ6r.js +0 -1
- package/dist/index-CZjFX5zV.d.ts +0 -357
- package/dist/init-C4tDFH4G.js +0 -1
- package/dist/integrations-BAgdVDhj.js +0 -5
- package/dist/integrations-D-L3uQRj.js +0 -1
- package/dist/list-5Ljf9TxF.js +0 -2
- package/dist/list-COAo7eZd.js +0 -4
- package/dist/list-DuPqU3fk.js +0 -3
- package/dist/list-DzGuMkQy.js +0 -1
- package/dist/list-J8d_zh-o.js +0 -1
- package/dist/list-vOvIpbOH.js +0 -1
- package/dist/list-vpyS-hv8.js +0 -1
- package/dist/list-way5oLO0.js +0 -4
- package/dist/load-BpEsAn51.js +0 -2
- package/dist/local-H3uvqEbq.js +0 -1
- package/dist/log-view-dg0TlKLA.js +0 -1
- package/dist/login-BBw95-S3.js +0 -1
- package/dist/login-CNmeRAL7.js +0 -1
- package/dist/logout-j0dTo_Ib.js +0 -1
- package/dist/maintenance-DkLVtqM7.js +0 -1
- package/dist/match-CXAjDhg7.js +0 -1
- package/dist/mcp-BgKb2Cdk.js +0 -1
- package/dist/mcp-CsmBtlW9.js +0 -1
- package/dist/migrate-D4nzYhk8.js +0 -2
- package/dist/migrate-N-85_N7J.js +0 -1
- package/dist/model-B79MFtRV.js +0 -1
- package/dist/models-_5LVGC3m.js +0 -1
- package/dist/prompt-CEuBMNhk.js +0 -7
- package/dist/push-DbdnbZYt.js +0 -1
- package/dist/queue-C9fSdE_X.js +0 -116
- package/dist/refresh-BDmap1RA.js +0 -1
- package/dist/remote-miQNTVRa.js +0 -1
- package/dist/remove-BNzbUhaK.js +0 -1
- package/dist/remove-CLpL12Ya.js +0 -1
- package/dist/remove-CaYH9Cna.js +0 -1
- package/dist/remove-D-QeeZQL.js +0 -1
- package/dist/rename-Bhcb4t9F.js +0 -1
- package/dist/result-BfTfJayl.js +0 -5
- package/dist/result-D8DsvJDu.js +0 -15
- package/dist/resume-aZ8yWDBh.js +0 -3
- package/dist/review-BEhDcX4b.js +0 -7
- package/dist/rotate-key-BqnKhTK8.js +0 -1
- package/dist/run-BWbabvub.js +0 -5
- package/dist/run-BdPjxaZU.js +0 -2
- package/dist/run-Dqe38jX8.js +0 -2
- package/dist/runner-BPpiJvHx.js +0 -1
- package/dist/runner-sUpWJ_k0.js +0 -1
- package/dist/schema-CU2iFkp8.js +0 -1
- package/dist/serve-BTeomYxW.js +0 -1
- package/dist/serve-C0WC-QrV.js +0 -2
- package/dist/serve-CcObDKKQ.js +0 -12
- package/dist/serve-Ck95047c.js +0 -1
- package/dist/serve-DA5I2qXj.js +0 -4
- package/dist/server-BxLFZL80.js +0 -1
- package/dist/setup-host-DLd_j2Uw.js +0 -6
- package/dist/shared-BLkGRKty.js +0 -1
- package/dist/show-DzoQIs75.js +0 -1
- package/dist/show-FC3dJcD-.js +0 -1
- package/dist/status-BU3DR1XU.js +0 -1
- package/dist/steer-P_38hRRD.js +0 -4
- package/dist/stop-BJGDRPsp.js +0 -1
- package/dist/stop-BWY6k6v5.js +0 -3
- package/dist/store-B3ZHoBJY.js +0 -8
- package/dist/store-BLi19UDE.js +0 -42
- package/dist/task-C6VAg5WU.js +0 -1
- package/dist/task-DeglY79z.js +0 -5
- package/dist/task-b2BK481M.js +0 -1
- package/dist/test-BrSrhop9.js +0 -1
- package/dist/tools-CgswhJzh.js +0 -1
- package/dist/types-I5Cwtl_K.d.ts +0 -389
- package/dist/unalias-mMHXqok7.js +0 -1
- package/dist/update-DbOWToPy.js +0 -2
- package/dist/upgrade-D6oC9HQI.js +0 -2
- package/dist/usage-Cb8Dtv9V.js +0 -1
- package/dist/usage-DMs-IIJC.js +0 -1
- package/dist/watch-BcMQXGYO.js +0 -8
- package/dist/watch-eE2XiwsC.js +0 -5
- package/dist/wire-BeT1Axeo.js +0 -1
- package/dist/worker-CXndxmGF.js +0 -9
- package/dist/worker-DrucI22w.js +0 -1
- package/dist/workflow-Cshghoas.js +0 -1
- package/src/client/index.ts +0 -573
- package/src/client/types.ts +0 -506
- package/src/core/defaults.ts +0 -25
- package/src/core/errors.ts +0 -72
- package/src/core/task/log-view.ts +0 -173
- package/src/server/auth/sign-in.ts +0 -14
- package/src/server/dash/api/load.ts +0 -62
- package/src/server/dash/api/types.ts +0 -11
- package/src/server/dash/app/connect/page.tsx +0 -42
- package/src/server/dash/app/dash/account/loading.tsx +0 -11
- package/src/server/dash/app/dash/account/notify.tsx +0 -42
- package/src/server/dash/app/dash/account/page.css +0 -81
- package/src/server/dash/app/dash/account/page.tsx +0 -126
- package/src/server/dash/app/dash/account/sign-out.tsx +0 -24
- package/src/server/dash/app/dash/agents/(list)/agent-menu.tsx +0 -10
- package/src/server/dash/app/dash/agents/(list)/agents-grid.tsx +0 -143
- package/src/server/dash/app/dash/agents/(list)/connect-apps.tsx +0 -46
- package/src/server/dash/app/dash/agents/(list)/loading.tsx +0 -14
- package/src/server/dash/app/dash/agents/(list)/page.css +0 -72
- package/src/server/dash/app/dash/agents/(list)/page.tsx +0 -89
- package/src/server/dash/app/dash/agents/[slug]/(tabs)/layout.tsx +0 -135
- package/src/server/dash/app/dash/agents/[slug]/(tabs)/loading.tsx +0 -5
- package/src/server/dash/app/dash/agents/[slug]/(tabs)/page.css +0 -21
- package/src/server/dash/app/dash/agents/[slug]/(tabs)/page.tsx +0 -173
- package/src/server/dash/app/dash/agents/[slug]/(tabs)/platforms/loading.tsx +0 -18
- package/src/server/dash/app/dash/agents/[slug]/(tabs)/platforms/page.css +0 -87
- package/src/server/dash/app/dash/agents/[slug]/(tabs)/platforms/page.tsx +0 -258
- package/src/server/dash/app/dash/agents/[slug]/(tabs)/platforms/platform-actions.tsx +0 -111
- package/src/server/dash/app/dash/agents/[slug]/(tabs)/settings/agent-settings-form.css +0 -114
- package/src/server/dash/app/dash/agents/[slug]/(tabs)/settings/agent-settings-form.tsx +0 -294
- package/src/server/dash/app/dash/agents/[slug]/(tabs)/settings/loading.tsx +0 -5
- package/src/server/dash/app/dash/agents/[slug]/(tabs)/settings/page.tsx +0 -54
- package/src/server/dash/app/dash/agents/[slug]/(tabs)/tasks/loading.tsx +0 -5
- package/src/server/dash/app/dash/agents/[slug]/(tabs)/tasks/page.tsx +0 -14
- package/src/server/dash/app/dash/agents/[slug]/(tabs)/usage/loading.tsx +0 -31
- package/src/server/dash/app/dash/agents/[slug]/(tabs)/usage/page.css +0 -12
- package/src/server/dash/app/dash/agents/[slug]/(tabs)/usage/page.tsx +0 -163
- package/src/server/dash/app/dash/agents/[slug]/(tabs)/versions-list.tsx +0 -53
- package/src/server/dash/app/dash/agents/[slug]/edit/loading.tsx +0 -31
- package/src/server/dash/app/dash/agents/[slug]/edit/page.tsx +0 -91
- package/src/server/dash/app/dash/agents/agent/agent-pills.css +0 -27
- package/src/server/dash/app/dash/agents/agent/agent-pills.tsx +0 -133
- package/src/server/dash/app/dash/agents/agent/hero.css +0 -40
- package/src/server/dash/app/dash/agents/agent/hero.tsx +0 -60
- package/src/server/dash/app/dash/agents/agent/instructions.css +0 -29
- package/src/server/dash/app/dash/agents/agent/instructions.tsx +0 -82
- package/src/server/dash/app/dash/agents/editor/connect-repositories.ts +0 -16
- package/src/server/dash/app/dash/agents/editor/editor.css +0 -263
- package/src/server/dash/app/dash/agents/editor/editor.tsx +0 -774
- package/src/server/dash/app/dash/agents/editor/import-picker.css +0 -48
- package/src/server/dash/app/dash/agents/editor/import-picker.tsx +0 -253
- package/src/server/dash/app/dash/agents/editor/names.ts +0 -35
- package/src/server/dash/app/dash/agents/new/loading.tsx +0 -25
- package/src/server/dash/app/dash/agents/new/page.tsx +0 -72
- package/src/server/dash/app/dash/layout.css +0 -322
- package/src/server/dash/app/dash/layout.tsx +0 -344
- package/src/server/dash/app/dash/page.tsx +0 -14
- package/src/server/dash/app/dash/settings/[tab]/credentials-list.css +0 -94
- package/src/server/dash/app/dash/settings/[tab]/credentials-list.tsx +0 -619
- package/src/server/dash/app/dash/settings/[tab]/credentials.tsx +0 -36
- package/src/server/dash/app/dash/settings/[tab]/engines-list.css +0 -16
- package/src/server/dash/app/dash/settings/[tab]/engines-list.tsx +0 -135
- package/src/server/dash/app/dash/settings/[tab]/list.css +0 -98
- package/src/server/dash/app/dash/settings/[tab]/list.tsx +0 -215
- package/src/server/dash/app/dash/settings/[tab]/loading.tsx +0 -6
- package/src/server/dash/app/dash/settings/[tab]/mcp-list.css +0 -43
- package/src/server/dash/app/dash/settings/[tab]/mcp-list.tsx +0 -290
- package/src/server/dash/app/dash/settings/[tab]/models-list.tsx +0 -513
- package/src/server/dash/app/dash/settings/[tab]/page.tsx +0 -89
- package/src/server/dash/app/dash/settings/[tab]/runners-list.css +0 -153
- package/src/server/dash/app/dash/settings/[tab]/runners-list.tsx +0 -457
- package/src/server/dash/app/dash/settings/layout.tsx +0 -50
- package/src/server/dash/app/dash/settings/model-options.ts +0 -117
- package/src/server/dash/app/dash/settings/page.tsx +0 -7
- package/src/server/dash/app/dash/settings/settings-head.tsx +0 -24
- package/src/server/dash/app/dash/settings/tunnel-guide.tsx +0 -28
- package/src/server/dash/app/dash/tasks/[id]/activity.tsx +0 -202
- package/src/server/dash/app/dash/tasks/[id]/loading.tsx +0 -31
- package/src/server/dash/app/dash/tasks/[id]/page.tsx +0 -30
- package/src/server/dash/app/dash/tasks/[id]/task-actions.tsx +0 -164
- package/src/server/dash/app/dash/tasks/[id]/task-view.css +0 -407
- package/src/server/dash/app/dash/tasks/[id]/task-view.tsx +0 -513
- package/src/server/dash/app/dash/tasks/composer-data.ts +0 -96
- package/src/server/dash/app/dash/tasks/composer.css +0 -316
- package/src/server/dash/app/dash/tasks/composer.tsx +0 -890
- package/src/server/dash/app/dash/tasks/list/status.css +0 -50
- package/src/server/dash/app/dash/tasks/list/status.tsx +0 -20
- package/src/server/dash/app/dash/tasks/list/task.ts +0 -45
- package/src/server/dash/app/dash/tasks/list/tasks-list.css +0 -85
- package/src/server/dash/app/dash/tasks/list/tasks-list.tsx +0 -402
- package/src/server/dash/app/dash/tasks/list/tasks-section.tsx +0 -96
- package/src/server/dash/app/dash/tasks/page.tsx +0 -53
- package/src/server/dash/app/dash/usage/custom-range.tsx +0 -63
- package/src/server/dash/app/dash/usage/day-chart.css +0 -109
- package/src/server/dash/app/dash/usage/day-chart.tsx +0 -110
- package/src/server/dash/app/dash/usage/loading.tsx +0 -17
- package/src/server/dash/app/dash/usage/metric.ts +0 -13
- package/src/server/dash/app/dash/usage/page.tsx +0 -117
- package/src/server/dash/app/dash/usage/range-bar.css +0 -13
- package/src/server/dash/app/dash/usage/range-bar.tsx +0 -69
- package/src/server/dash/app/dash/usage/stats.css +0 -52
- package/src/server/dash/app/dash/usage/stats.tsx +0 -19
- package/src/server/dash/app/dash/usage/top-agents.css +0 -40
- package/src/server/dash/app/dash/usage/top-agents.tsx +0 -138
- package/src/server/dash/app/globals.css +0 -692
- package/src/server/dash/app/layout.tsx +0 -52
- package/src/server/dash/app/login/page.css +0 -26
- package/src/server/dash/app/login/page.tsx +0 -57
- package/src/server/dash/app/page.tsx +0 -5
- package/src/server/dash/app/responsive.css +0 -49
- package/src/server/dash/app/zone.tsx +0 -13
- package/src/server/dash/comps/frame/auth-panel.css +0 -60
- package/src/server/dash/comps/frame/auth-panel.tsx +0 -44
- package/src/server/dash/comps/frame/drawer.css +0 -28
- package/src/server/dash/comps/frame/drawer.tsx +0 -39
- package/src/server/dash/comps/frame/heads.ts +0 -41
- package/src/server/dash/comps/frame/loading-card.tsx +0 -65
- package/src/server/dash/comps/frame/page-head.css +0 -83
- package/src/server/dash/comps/frame/page-head.tsx +0 -71
- package/src/server/dash/comps/frame/stream.tsx +0 -50
- package/src/server/dash/comps/frame/task-toasts.tsx +0 -214
- package/src/server/dash/comps/frame/theme-choices.tsx +0 -46
- package/src/server/dash/comps/nav/current-link.tsx +0 -53
- package/src/server/dash/comps/nav/side-toggle.tsx +0 -30
- package/src/server/dash/comps/nav/to.ts +0 -22
- package/src/server/dash/comps/ui/badge.css +0 -64
- package/src/server/dash/comps/ui/badge.tsx +0 -41
- package/src/server/dash/comps/ui/card.css +0 -93
- package/src/server/dash/comps/ui/card.tsx +0 -77
- package/src/server/dash/comps/ui/collapse.css +0 -32
- package/src/server/dash/comps/ui/collapse.tsx +0 -49
- package/src/server/dash/comps/ui/combo.tsx +0 -154
- package/src/server/dash/comps/ui/confirm.css +0 -36
- package/src/server/dash/comps/ui/confirm.tsx +0 -67
- package/src/server/dash/comps/ui/field.css +0 -25
- package/src/server/dash/comps/ui/field.tsx +0 -34
- package/src/server/dash/comps/ui/icon.css +0 -22
- package/src/server/dash/comps/ui/icon.tsx +0 -17
- package/src/server/dash/comps/ui/icons.ts +0 -44
- package/src/server/dash/comps/ui/menu.css +0 -178
- package/src/server/dash/comps/ui/menu.tsx +0 -156
- package/src/server/dash/comps/ui/segmented.css +0 -44
- package/src/server/dash/comps/ui/segmented.tsx +0 -58
- package/src/server/dash/comps/ui/select.css +0 -103
- package/src/server/dash/comps/ui/select.tsx +0 -250
- package/src/server/dash/comps/ui/sentinel.css +0 -58
- package/src/server/dash/comps/ui/sentinel.tsx +0 -67
- package/src/server/dash/comps/ui/tabs.css +0 -81
- package/src/server/dash/comps/ui/tabs.tsx +0 -32
- package/src/server/dash/comps/ui/tail.css +0 -12
- package/src/server/dash/comps/ui/tail.tsx +0 -37
- package/src/server/dash/comps/ui/toast.css +0 -73
- package/src/server/dash/comps/ui/toolbar.css +0 -143
- package/src/server/dash/comps/ui/toolbar.tsx +0 -93
- package/src/server/dash/package.json +0 -5
- package/src/server/dash/pnext-env.d.ts +0 -4
- package/src/server/dash/pnext.config.ts +0 -5
- package/src/server/dash/public/assets/apple-touch-icon.png +0 -0
- package/src/server/dash/public/assets/favicon.ico +0 -0
- package/src/server/dash/public/assets/favicon.svg +0 -1
- package/src/server/dash/public/assets/fonts/LICENSE-fira-code +0 -93
- package/src/server/dash/public/assets/fonts/fira-code-latin-400-normal-717ee080.woff2 +0 -0
- package/src/server/dash/public/assets/fonts/fira-code-latin-500-normal-530b6706.woff2 +0 -0
- package/src/server/dash/public/assets/fonts/fira-code-latin-700-normal-98730669.woff2 +0 -0
- package/src/server/dash/tsconfig.json +0 -10
- package/src/server/dash/utils/client.ts +0 -19
- package/src/server/dash/utils/format.ts +0 -75
- package/src/server/dash/utils/paged.ts +0 -184
- package/src/server/dash/utils/range.ts +0 -117
- /package/{src/server/dash/app/dash/usage/usage.css → dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/account/page.1df2bb5150dd9575.css.pnext-asset.js} +0 -0
- /package/dist/dash/{public → standalone/static}/assets/apple-touch-icon.png +0 -0
- /package/dist/dash/{public → standalone/static}/assets/chunks/composer-data-6f7608fed13f3dd7.js +0 -0
- /package/dist/dash/{public → standalone/static}/assets/chunks/model-options-15c53331a2f28a4f.js +0 -0
- /package/dist/dash/{public → standalone/static}/assets/chunks/shared-init-8f2ac936c95a7f7b.js +0 -0
- /package/dist/dash/{public → standalone/static}/assets/connect-382b1729a7ae7808.css +0 -0
- /package/dist/dash/{public → standalone/static}/assets/dash-49ca85b59ac65c20.css +0 -0
- /package/dist/dash/{public → standalone/static}/assets/favicon.ico +0 -0
- /package/dist/dash/{public → standalone/static}/assets/favicon.svg +0 -0
- /package/dist/dash/{public → standalone/static}/assets/fonts/LICENSE-fira-code +0 -0
- /package/dist/dash/{public → standalone/static}/assets/fonts/fira-code-latin-400-normal-717ee080.woff2 +0 -0
- /package/dist/dash/{public → standalone/static}/assets/fonts/fira-code-latin-500-normal-530b6706.woff2 +0 -0
- /package/dist/dash/{public → standalone/static}/assets/fonts/fira-code-latin-700-normal-98730669.woff2 +0 -0
- /package/dist/dash/{public → standalone/static}/assets/global-d2adbf01910d9df5.css +0 -0
- /package/dist/dash/{public → standalone/static}/assets/login-c129b1ce237be260.css +0 -0
|
@@ -0,0 +1,365 @@
|
|
|
1
|
+
import { c as TaskStatus, d as TokenUsage, l as TurnResult, o as McpServerSpec, s as Task, u as TaskLogEntry } from "./types-DMGBYB_K.js";
|
|
2
|
+
import { AsyncLocalStorage } from "node:async_hooks";
|
|
3
|
+
//#region src/flow/types.d.ts
|
|
4
|
+
/** Anything with zod's parse shape; the flow runtime never imports zod itself. */
|
|
5
|
+
interface FlowSchema<T> {
|
|
6
|
+
parse(value: unknown): T;
|
|
7
|
+
}
|
|
8
|
+
interface FlowTaskResult<T = unknown> {
|
|
9
|
+
taskId: string;
|
|
10
|
+
status: string;
|
|
11
|
+
output: string;
|
|
12
|
+
data?: T;
|
|
13
|
+
tokens: TokenUsage | null;
|
|
14
|
+
model: string | null;
|
|
15
|
+
}
|
|
16
|
+
interface GateResult {
|
|
17
|
+
ok: boolean;
|
|
18
|
+
code: number;
|
|
19
|
+
output: string;
|
|
20
|
+
}
|
|
21
|
+
/** Options shared with `coder run`, plus `returns`. */
|
|
22
|
+
interface FlowTaskOptions<T = unknown> {
|
|
23
|
+
engine?: string;
|
|
24
|
+
model?: string;
|
|
25
|
+
effort?: string;
|
|
26
|
+
permissions?: string;
|
|
27
|
+
mcp?: string | McpServerSpec[];
|
|
28
|
+
name?: string;
|
|
29
|
+
system?: string;
|
|
30
|
+
cwd?: string;
|
|
31
|
+
addDirs?: string[];
|
|
32
|
+
returns?: FlowSchema<T>;
|
|
33
|
+
}
|
|
34
|
+
/** Overrides for one more turn, as `coder task steer` takes them. */
|
|
35
|
+
interface FlowSteerOptions {
|
|
36
|
+
model?: string;
|
|
37
|
+
effort?: string;
|
|
38
|
+
permissions?: string;
|
|
39
|
+
}
|
|
40
|
+
type FlowRunStatus = 'queued' | 'running' | 'completed' | 'failed' | 'stopped';
|
|
41
|
+
/**
|
|
42
|
+
* One line of a run's events.jsonl: a hook payload tagged with its kind. The
|
|
43
|
+
* attached orchestrator appends these; `flow stream` / `flow.stream()` replay
|
|
44
|
+
* and follow them.
|
|
45
|
+
*/
|
|
46
|
+
type FlowEvent = {
|
|
47
|
+
kind: 'task-start';
|
|
48
|
+
taskId: string;
|
|
49
|
+
name?: string;
|
|
50
|
+
prompt: string;
|
|
51
|
+
engine?: string;
|
|
52
|
+
depth?: number;
|
|
53
|
+
} | {
|
|
54
|
+
kind: 'task-end';
|
|
55
|
+
taskId: string;
|
|
56
|
+
status: string;
|
|
57
|
+
tokens: TokenUsage | null;
|
|
58
|
+
} | {
|
|
59
|
+
kind: 'gate-start';
|
|
60
|
+
gateId: string;
|
|
61
|
+
cmd: string;
|
|
62
|
+
depth?: number;
|
|
63
|
+
} | {
|
|
64
|
+
kind: 'gate';
|
|
65
|
+
gateId?: string;
|
|
66
|
+
cmd: string;
|
|
67
|
+
ok: boolean;
|
|
68
|
+
code: number;
|
|
69
|
+
depth?: number;
|
|
70
|
+
} | {
|
|
71
|
+
kind: 'log';
|
|
72
|
+
message: string;
|
|
73
|
+
depth?: number;
|
|
74
|
+
} | {
|
|
75
|
+
kind: 'flow-start';
|
|
76
|
+
name: string;
|
|
77
|
+
depth: number;
|
|
78
|
+
} | {
|
|
79
|
+
kind: 'replay';
|
|
80
|
+
count: number;
|
|
81
|
+
};
|
|
82
|
+
interface JournalEntry {
|
|
83
|
+
seq: number;
|
|
84
|
+
kind: 'task' | 'gate' | 'flow';
|
|
85
|
+
fingerprint: string;
|
|
86
|
+
result: unknown;
|
|
87
|
+
taskId?: string;
|
|
88
|
+
tokens?: TokenUsage | null;
|
|
89
|
+
startedAt: string;
|
|
90
|
+
endedAt: string;
|
|
91
|
+
}
|
|
92
|
+
/** flow.json: the persisted run record. */
|
|
93
|
+
interface FlowRecord {
|
|
94
|
+
runId: string;
|
|
95
|
+
name: string;
|
|
96
|
+
script: string;
|
|
97
|
+
args: unknown;
|
|
98
|
+
status: FlowRunStatus;
|
|
99
|
+
startedAt: string;
|
|
100
|
+
endedAt?: string;
|
|
101
|
+
/** Orchestrator process while status is running; cleared on every terminal write. */
|
|
102
|
+
pid?: number;
|
|
103
|
+
pidStartedAt?: string;
|
|
104
|
+
concurrency: number;
|
|
105
|
+
maxTasks: number;
|
|
106
|
+
taskCount: number;
|
|
107
|
+
ledger: Record<string, TokenUsage>;
|
|
108
|
+
result?: unknown;
|
|
109
|
+
error?: string;
|
|
110
|
+
/** Hidden from the default list; set by auto-archive or `flow archive`. */
|
|
111
|
+
archived?: boolean;
|
|
112
|
+
archivedAt?: string;
|
|
113
|
+
}
|
|
114
|
+
/** One `flow result` step row: a journaled task with its current status. */
|
|
115
|
+
interface FlowStep {
|
|
116
|
+
taskId: string | null;
|
|
117
|
+
name: string | null;
|
|
118
|
+
status: string;
|
|
119
|
+
tokens: TokenUsage | null;
|
|
120
|
+
}
|
|
121
|
+
interface DiscoveredFlow {
|
|
122
|
+
name: string;
|
|
123
|
+
path: string;
|
|
124
|
+
/** `builtin` flows ship with coder; their `path` is `builtin:<name>`. */
|
|
125
|
+
scope: 'workspace' | 'global' | 'builtin';
|
|
126
|
+
}
|
|
127
|
+
//#endregion
|
|
128
|
+
//#region src/flow/runtime.d.ts
|
|
129
|
+
/**
|
|
130
|
+
* Dispatch one coder task and await its result. With a `returns` schema the
|
|
131
|
+
* reply is validated and `data` is guaranteed (validation failure throws).
|
|
132
|
+
* Inside a flow run, results are journaled and replayed on resume.
|
|
133
|
+
*/
|
|
134
|
+
declare function task<T>(prompt: string, opts: FlowTaskOptions<T> & {
|
|
135
|
+
returns: FlowSchema<T>;
|
|
136
|
+
}): Promise<FlowTaskResult<T> & {
|
|
137
|
+
data: T;
|
|
138
|
+
}>;
|
|
139
|
+
/** Dispatch one coder task and await its result. Mirrors `coder run`. */
|
|
140
|
+
declare function task(prompt: string, opts?: FlowTaskOptions): Promise<FlowTaskResult>;
|
|
141
|
+
/** Continue a task this run started, on the same id, and await the turn. Mirrors `coder task steer --wait`. */
|
|
142
|
+
declare function steer(taskId: string, text: string, opts?: FlowSteerOptions): Promise<FlowTaskResult>;
|
|
143
|
+
/**
|
|
144
|
+
* Run a shell command as a checkpoint. Never throws. Inspect `ok`/`code`.
|
|
145
|
+
* output is captured (capped) and journaled for resume.
|
|
146
|
+
*/
|
|
147
|
+
declare function gate(cmd: string, opts?: {
|
|
148
|
+
cwd?: string;
|
|
149
|
+
}): Promise<GateResult>;
|
|
150
|
+
type Stage = (prev: any, item: any, index: number) => unknown;
|
|
151
|
+
type S<P, T, R> = (prev: P, item: T, index: number) => R | Promise<R>;
|
|
152
|
+
/**
|
|
153
|
+
* Run each item through the stages independently, with no barrier between
|
|
154
|
+
* stages. Each stage receives `(prev, item, index)`; a thrown stage drops
|
|
155
|
+
* that item to `null` and skips its remaining stages.
|
|
156
|
+
*/
|
|
157
|
+
declare function pipeline<T, A>(items: T[], s1: S<T, T, A>): Promise<(A | null)[]>;
|
|
158
|
+
declare function pipeline<T, A, B>(items: T[], s1: S<T, T, A>, s2: S<A, T, B>): Promise<(B | null)[]>;
|
|
159
|
+
declare function pipeline<T, A, B, C>(items: T[], s1: S<T, T, A>, s2: S<A, T, B>, s3: S<B, T, C>): Promise<(C | null)[]>;
|
|
160
|
+
declare function pipeline<T, A, B, C, D>(items: T[], s1: S<T, T, A>, s2: S<A, T, B>, s3: S<B, T, C>, s4: S<C, T, D>): Promise<(D | null)[]>;
|
|
161
|
+
declare function pipeline<T>(items: T[], ...stages: Stage[]): Promise<any[]>;
|
|
162
|
+
/** Emit a progress line: appended to the run's flow.log and streamed to watchers. */
|
|
163
|
+
declare function log(msg: string): void;
|
|
164
|
+
/**
|
|
165
|
+
* Run another flow inline as a sub-step and return its result. Nesting is one
|
|
166
|
+
* level deep. A subflow cannot call `flow()` itself.
|
|
167
|
+
*/
|
|
168
|
+
declare function flow(name: string, args?: unknown): Promise<unknown>;
|
|
169
|
+
//#endregion
|
|
170
|
+
//#region src/flow/executor.d.ts
|
|
171
|
+
interface RunOptions {
|
|
172
|
+
runId?: string;
|
|
173
|
+
args?: unknown;
|
|
174
|
+
concurrency?: number;
|
|
175
|
+
maxTasks?: number;
|
|
176
|
+
dryRun?: boolean;
|
|
177
|
+
cwd?: string;
|
|
178
|
+
/** Platform credential for built-in integrations; never persisted with the run. */
|
|
179
|
+
integrationToken?: string;
|
|
180
|
+
/** The agent whose permissions cap every task this run starts. */
|
|
181
|
+
ceiling?: {
|
|
182
|
+
agent: string;
|
|
183
|
+
permissions: string;
|
|
184
|
+
};
|
|
185
|
+
}
|
|
186
|
+
interface RunSummary {
|
|
187
|
+
runId: string;
|
|
188
|
+
name: string;
|
|
189
|
+
status: 'completed';
|
|
190
|
+
result: unknown;
|
|
191
|
+
tokens: Record<string, TokenUsage>;
|
|
192
|
+
taskCount: number;
|
|
193
|
+
}
|
|
194
|
+
interface StopSummary {
|
|
195
|
+
runId: string;
|
|
196
|
+
status: FlowRecord['status'];
|
|
197
|
+
stoppedTasks: string[];
|
|
198
|
+
keptTasks: string[];
|
|
199
|
+
}
|
|
200
|
+
//#endregion
|
|
201
|
+
//#region src/flow/runs.d.ts
|
|
202
|
+
/** A run's record with its step rows, trimmed journal and recorded events. */
|
|
203
|
+
type RunResult = FlowRecord & {
|
|
204
|
+
steps: FlowStep[];
|
|
205
|
+
journal: Array<Pick<JournalEntry, 'kind' | 'taskId' | 'tokens'>>;
|
|
206
|
+
events: FlowEvent[];
|
|
207
|
+
};
|
|
208
|
+
type Archived = {
|
|
209
|
+
runId: string;
|
|
210
|
+
archived: true;
|
|
211
|
+
};
|
|
212
|
+
type ArchivedAll = {
|
|
213
|
+
archived: string[];
|
|
214
|
+
count: number;
|
|
215
|
+
};
|
|
216
|
+
/** Archive one stopped run, or with `allStopped` every one. */
|
|
217
|
+
declare function archiveRuns(runId: string, opts?: {
|
|
218
|
+
allStopped?: false;
|
|
219
|
+
}): Archived;
|
|
220
|
+
declare function archiveRuns(runId: string | undefined, opts: {
|
|
221
|
+
allStopped: true;
|
|
222
|
+
}): ArchivedAll;
|
|
223
|
+
declare function archiveRuns(runId?: string, opts?: {
|
|
224
|
+
allStopped?: boolean;
|
|
225
|
+
}): Archived | ArchivedAll;
|
|
226
|
+
type Deleted = {
|
|
227
|
+
runId: string;
|
|
228
|
+
deleted: boolean;
|
|
229
|
+
};
|
|
230
|
+
type DeletedAll = {
|
|
231
|
+
deleted: string[];
|
|
232
|
+
count: number;
|
|
233
|
+
};
|
|
234
|
+
/** Delete one stopped run's record (its tasks are left alone), or with `allArchived` every archived one. */
|
|
235
|
+
declare function deleteRuns(runId: string, opts?: {
|
|
236
|
+
allArchived?: false;
|
|
237
|
+
}): Deleted;
|
|
238
|
+
declare function deleteRuns(runId: string | undefined, opts: {
|
|
239
|
+
allArchived: true;
|
|
240
|
+
}): DeletedAll;
|
|
241
|
+
declare function deleteRuns(runId?: string, opts?: {
|
|
242
|
+
allArchived?: boolean;
|
|
243
|
+
}): Deleted | DeletedAll;
|
|
244
|
+
//#endregion
|
|
245
|
+
//#region src/core/errors.d.ts
|
|
246
|
+
/** The run-native-subagent fallback payload the CLI prints on exit 3. */
|
|
247
|
+
interface FallbackPayload {
|
|
248
|
+
error: string;
|
|
249
|
+
fallback: {
|
|
250
|
+
action: 'run-native-subagent';
|
|
251
|
+
reason: 'no-engine-available';
|
|
252
|
+
permissions: string;
|
|
253
|
+
instructions: string;
|
|
254
|
+
note: string;
|
|
255
|
+
system?: string;
|
|
256
|
+
task: string;
|
|
257
|
+
};
|
|
258
|
+
}
|
|
259
|
+
/** Recoverable errors with CLI exit codes. */
|
|
260
|
+
type CoderErrorCode = 'nested-dispatch' | 'invalid-option' | 'read-only-unavailable' | 'startup-failed' | 'chain-exhausted' | 'approval-pending' | 'task-failed' | 'flow-failed' |
|
|
261
|
+
/** A Coder server refused or failed a request; `status` carries the HTTP status. */
|
|
262
|
+
'server' |
|
|
263
|
+
/** Sign-in to a server did not complete. */
|
|
264
|
+
'login-failed';
|
|
265
|
+
declare class CoderError extends Error {
|
|
266
|
+
code: CoderErrorCode;
|
|
267
|
+
hint?: string | string[];
|
|
268
|
+
taskId?: string;
|
|
269
|
+
/** chain-exhausted: the run-native-subagent payload the CLI prints on exit 3. */
|
|
270
|
+
payload?: FallbackPayload;
|
|
271
|
+
/** approval-pending: the approval to answer. */
|
|
272
|
+
approval?: {
|
|
273
|
+
id: string;
|
|
274
|
+
summary: string;
|
|
275
|
+
cwd?: string | null;
|
|
276
|
+
networkHost?: string | null;
|
|
277
|
+
};
|
|
278
|
+
/** task-failed (flow task()): the failed task's result. */
|
|
279
|
+
result?: unknown;
|
|
280
|
+
/** flow-failed: the run to resume. */
|
|
281
|
+
runId?: string;
|
|
282
|
+
/** server: the HTTP status the server answered with. */
|
|
283
|
+
status?: number;
|
|
284
|
+
constructor(code: CoderErrorCode, message: string, extra?: {
|
|
285
|
+
hint?: string | string[];
|
|
286
|
+
taskId?: string;
|
|
287
|
+
payload?: FallbackPayload;
|
|
288
|
+
approval?: {
|
|
289
|
+
id: string;
|
|
290
|
+
summary: string;
|
|
291
|
+
cwd?: string | null;
|
|
292
|
+
networkHost?: string | null;
|
|
293
|
+
};
|
|
294
|
+
result?: unknown;
|
|
295
|
+
runId?: string;
|
|
296
|
+
status?: number;
|
|
297
|
+
});
|
|
298
|
+
}
|
|
299
|
+
//#endregion
|
|
300
|
+
//#region src/core/state.d.ts
|
|
301
|
+
interface TurnResultEntry {
|
|
302
|
+
at?: string;
|
|
303
|
+
prompt?: string | null;
|
|
304
|
+
finalMessage?: string;
|
|
305
|
+
status?: number;
|
|
306
|
+
tokens?: TurnResult['tokens'];
|
|
307
|
+
model?: TurnResult['model'];
|
|
308
|
+
[key: string]: unknown;
|
|
309
|
+
}
|
|
310
|
+
declare function readTurnResults(cwd: string, taskId: string): TurnResultEntry[];
|
|
311
|
+
//#endregion
|
|
312
|
+
//#region src/core/dispatch.d.ts
|
|
313
|
+
interface TaskResult {
|
|
314
|
+
taskId: string;
|
|
315
|
+
status: TaskStatus;
|
|
316
|
+
result: TurnResult | null;
|
|
317
|
+
/** The last `tail` progress-log entries; [] at the default tail of 0. */
|
|
318
|
+
steps: TaskLogEntry[];
|
|
319
|
+
/** One entry per finished turn (a steered task accretes turns). */
|
|
320
|
+
turns: TurnResultEntry[];
|
|
321
|
+
task: Task;
|
|
322
|
+
}
|
|
323
|
+
/** Read a task's current state and result.json without waiting. `tail` fills `steps`. */
|
|
324
|
+
declare function readTask(cwd: string, taskId: string, opts?: {
|
|
325
|
+
tail?: number | 'all';
|
|
326
|
+
}): TaskResult;
|
|
327
|
+
//#endregion
|
|
328
|
+
//#region src/flow/index.d.ts
|
|
329
|
+
/**
|
|
330
|
+
* The flow's `--args` value. A Proxy over the ALS-bound current args, so a
|
|
331
|
+
* top-level `import { args }` reflects whichever run is executing.
|
|
332
|
+
*/
|
|
333
|
+
declare const args: Record<string, unknown>;
|
|
334
|
+
/** Run and inspect flows programmatically; mirrors `coder flow`. */
|
|
335
|
+
declare const flowSdk: {
|
|
336
|
+
/** Run a flow and await its result. */
|
|
337
|
+
run(nameOrPath: string, opts?: RunOptions): Promise<RunSummary>;
|
|
338
|
+
/** Recent flow runs (mirrors `coder flow list`). */
|
|
339
|
+
list(opts?: {
|
|
340
|
+
archived?: boolean;
|
|
341
|
+
limit?: number | "all";
|
|
342
|
+
}): FlowRecord[];
|
|
343
|
+
/** Flows discoverable from a directory (workspace + global). */
|
|
344
|
+
discover(cwd?: string): DiscoveredFlow[];
|
|
345
|
+
/** A run's record with its step rows, journal and events (omit the id for the most recent run). `tail` caps steps (default 'all'; 0 → []). */
|
|
346
|
+
result(runId?: string, opts?: {
|
|
347
|
+
tail?: number | "all";
|
|
348
|
+
}): RunResult | null;
|
|
349
|
+
/** Follow a run live: an async iterable of flow events, ending when the run is terminal. `tail` replays only the last n (default 'all'). */
|
|
350
|
+
stream(runId?: string, opts?: {
|
|
351
|
+
tail?: number | "all";
|
|
352
|
+
}): AsyncGenerator<FlowEvent>;
|
|
353
|
+
/** Stop a running flow (and, by default, its still-running tasks). */
|
|
354
|
+
stop(runId?: string, opts?: {
|
|
355
|
+
keepTasks?: boolean;
|
|
356
|
+
}): Promise<StopSummary>;
|
|
357
|
+
/** Continue a stopped or edited run from its journal and await the result. */
|
|
358
|
+
resume(runId?: string, opts?: RunOptions): Promise<RunSummary>;
|
|
359
|
+
/** Archive a run (hide it from the default list), or with `allStopped` every stopped one. A running run must be stopped first. */
|
|
360
|
+
archive: typeof archiveRuns;
|
|
361
|
+
/** Delete a run's record from disk (its tasks are left alone), or with `allArchived` every archived one. A running run must be stopped first. */
|
|
362
|
+
delete: typeof deleteRuns;
|
|
363
|
+
};
|
|
364
|
+
//#endregion
|
|
365
|
+
export { FlowStep as C, GateResult as E, FlowSteerOptions as S, FlowTaskResult as T, steer as _, readTurnResults as a, FlowEvent as b, archiveRuns as c, RunSummary as d, StopSummary as f, pipeline as g, log as h, readTask as i, deleteRuns as l, gate as m, flowSdk as n, CoderError as o, flow as p, TaskResult as r, RunResult as s, args as t, RunOptions as u, task as v, FlowTaskOptions as w, FlowRecord as x, DiscoveredFlow as y };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{a as e,n as t,o as n,r}from"./prompt-K7-bKcTC.js";import{i}from"./cli-msOzZFXW.js";import{p as a,s as o}from"./output-BKeyLbvt.js";import{n as s,s as c,t as l}from"./args-DEMOfLz2.js";import u from"node:path";import d from"node:process";const f={observe:`read the platform only`,comment:`also post replies and reactions`,write:`also push, branch, and open or merge pull requests`};function p(e,t){let n=a,{id:r,samples:i,integrations:s}=e;d.stdout.write(`Created ${n.cyan(t)}.\n`);let c=s.length?[`1. Write ${t}/system.md. Try it with no server: coder task run --agent ${r} "<task>"`,`2. Run it on a server: coder dash on this machine reads it from this repo; a cloud server imports it from the dashboard or with coder agent push.`,`3. On the dashboard, create the agent's app on each platform it uses (${s.join(`, `)}) from its Platforms tab, and install it.`,`4. Fire an event by hand, or leave --server out to run it offline: coder agent run ${r} ${i[0]??`<event.json>`} --server <url>`,`Guide: https://github.com/muzam1l/coder/blob/main/docs/agents/index.md`,`Agents: coder docs agents`]:[`1. Write ${t}/system.md. Try it with no server: coder task run --agent ${r} "<task>"`,`2. Give the agent a platform under "integrations" in ${t}/agent.json, then run init again or follow the guide: coder agent integrations list`,`Guide: https://github.com/muzam1l/coder/blob/main/docs/agents/index.md`,`Agents: coder docs agents`];d.stdout.write(`\n${o(c,n)}\n`)}async function m(r){let{regexError:i}=await import(`./agent-BcXXkOmD.js`).then(e=>e.t),{INTEGRATIONS:o}=await import(`./integrations-B2CavXR1.js`).then(e=>e.r),{PRESETS:s}=await import(`./types-D0q15RJa.js`).then(e=>e.n),c=a;d.stdout.write(`Creating ${c.cyan(`.coder/agents/${r}`)}. Pick what the agent listens to and what it may do; flags skip these questions.\n\n`);let l=await e({title:`Integrations`,hint:`Platforms the agent listens to and acts on. Add or remove them later in agent.json.`,multi:!0,selected:[Object.keys(o)[0]],options:Object.values(o).map(e=>({value:e.id,hint:e.description}))}),u={},p={};for(let e of l){let t=o[e],r=Object.keys(t.events),a=await n({title:`${e} events`,hint:`What wakes the agent on ${e}; each event runs the agent with that event as its prompt.`,multi:!0,required:!0,selected:[r.includes(`mention`)?`mention`:r[0]],options:Object.entries(t.events).map(([e,t])=>({value:e,hint:t.description,...t.noisy?{input:{label:`match`,value:`^help\\b`,placeholder:`tab to add a match`,validate:i}}:{}}))});u[e]=a.values,p[e]=a.inputs}let[m]=l.length?await e({title:`Tools`,hint:`What the agent may do on its platforms; comment suits most agents.`,selected:[`comment`],options:s.map(e=>({value:e,hint:f[e]}))}):[`comment`],h=await t(`Display name`,r,void 0,`Shown in replies and app names.`);return{...h===r?{}:{name:h},integrations:l,events:u,matches:p,tools:m}}const h=i({name:`agent init`,help:{usage:`coder agent init [id] [--integrations a,b] [--triggers a,b] [--tools <preset>] [--name <text>] [--description <text>] [--permissions <mode>] [--yes]`,summary:"Create .coder/agents/<id>/ with an agent.json built from the integration catalog, a system.md to write the prompt in, and one sample event per integration for `coder agent run`. Asks for the id, integrations, events, and tools when run in a terminal without them.",flags:[[`--integrations <a,b>`,`platforms the agent listens to (see coder agent integrations list)`],[`--triggers <a,b>`,`events that start tasks, applied to each integration that has them (default: mention)`],[`--tools <preset>`,`observe, comment, or write (default: comment)`],[`--name <text>`,`display name used in replies (default: the id)`],[`--description <text>`,`one line for agent list`],[`--permissions <mode>`,`engine permission mode (default: read-only)`],[`--yes`,`skip the questions and take the defaults`]],examples:[[`coder agent init`,`answer the questions, id included`],[`coder agent init triage --integrations github --triggers issue,mention --tools comment`,`no questions`]]},options:{...l,name:c,description:c,integrations:c,triggers:c,tools:c,permissions:c,match:c,yes:s},args:1,run:async({options:e,args:[n],cwd:i})=>{let{agents:a}=await import(`./agent-BcXXkOmD.js`).then(e=>e.t),o=r()&&!e.yes;return a.init(n,{...e,cwd:i,permissions:e.permissions,...o?{askId:e=>t(`Agent id`,``,e,`Folder name under .coder/agents and the name used in commands.`)}:{},...o&&!e.integrations?{askPicks:m}:{}})},json:(e,{cwd:t})=>({id:e.id,dir:u.relative(t,e.dir),files:e.files,samples:e.samples}),print:(e,{cwd:t})=>p(e,u.relative(t,e.dir))});export{h as commandAgentInit};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{s as e}from"./cli-msOzZFXW.js";const t=e(`agent integrations`,{list:async()=>(await import(`./list-DhVfqr0A.js`)).commandIntegrationsList,ls:async()=>(await import(`./list-DhVfqr0A.js`)).commandIntegrationsList,show:async()=>(await import(`./show-C9ojrH5W.js`)).commandIntegrationsShow},{menu:[{usage:`list`,blurb:`list integrations with their events and tools`},{usage:`show <id>`,blurb:`events and tools of one integration`}],description:[`The platforms an agent can listen to and act on: their events and tool presets.`]},{aliases:{ls:`list`}});export{t as commandAgentIntegrations};
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import{t as e}from"./rolldown-runtime-DT7IzrpZ.js";import{t}from"./types-D0q15RJa.js";import*as n from"zod/mini";import{createHash as r,createHmac as i,timingSafeEqual as a}from"node:crypto";function o(e,t){let n=typeof e==`string`?Buffer.from(e):e,r=typeof t==`string`?Buffer.from(t):t;return n.length===r.length&&a(n,r)}const s=e=>r(`sha256`).update(e).digest(`base64url`),c=`https://api.github.com`;function l(e,t=`application/vnd.github+json`){return{accept:t,...e?{authorization:`Bearer ${e}`}:{},"user-agent":`coder`,"x-github-api-version":`2022-11-28`}}async function u(e){let[{createGitHubAdapter:t},{ConsoleLogger:n}]=await Promise.all([import(`@chat-adapter/github`),import(`chat`)]);return t({installationToken:e,apiUrl:c,webhookVerifier:()=>!1,logger:new n(`error`)}).octokit}const d=e=>t=>{if(!e.includes(t.status??0))throw t},f=e=>{let[t=``,n=``]=e.split(`/`);return{owner:t,repo:n}};async function ee(e,t,n,r){let i=await(await u(n)).repos.getContent({...f(e),path:t,...r?{ref:r}:{},mediaType:{format:`raw`}}).catch(d([404]));return typeof i?.data==`string`?i.data:void 0}async function te(e,t,n){let r=await(await u(n)).repos.getCommit({...f(e),ref:t,mediaType:{format:`sha`}}).catch(d([404,422]));return r?String(r.data).trim():void 0}async function ne(e,t,n,r){let i=await(await u(n)).repos.getContent({...f(e),path:t,...r?{ref:r}:{}}).catch(d([404]));return Array.isArray(i?.data)?i.data.map(e=>e.name):[]}async function re(e){let t=await u(e);return(await t.paginate(t.apps.listReposAccessibleToInstallation,{per_page:100})).map(e=>e.full_name)}async function ie(e,t){let{data:n}=await(await u(t)).pulls.list({...f(e),state:`open`,sort:`created`,direction:`desc`,per_page:50});return n.map(e=>({number:e.number,title:e.title,author:e.user?.login,createdAt:e.created_at}))}async function ae(e,t){let{data:n}=await(await u(t)).repos.get(f(e));return{owner:n.owner.login,name:n.name,cloneUrl:n.clone_url,ref:n.default_branch,defaultBranch:n.default_branch}}async function oe(e,t,n){let r=await(await u(n)).repos.getCollaboratorPermissionLevel({...f(e),username:t}).catch(()=>void 0);return[`admin`,`maintain`,`write`].includes(r?.data.permission??``)}function se(e,t,n){let r=`https://github.com/${e}`;return t?`${r}/tree/${n??`HEAD`}/${t}`:r}const p=e=>e.replace(/[&<>"']/g,e=>`&#${e.charCodeAt(0)};`);function m(e,t=200){return new Response(`<!doctype html><meta charset="utf-8">${e}`,{status:t,headers:{"content-type":`text/html; charset=utf-8`}})}const h={observe:[`read`],comment:[`read`,`comment`],write:[`read`,`comment`,`write`]},ce=[`repos`,`pull_requests`,`issues`],le=[`repos`,`issues`];function ue(e){return e?.type===`pull_request`||/^github:[^:]+:\d+(:|$)/.test(e?.chat?.thread.id??``)?ce:le}function de(e,t,n){let r=!e.some(e=>e!==`read`);return{name:`github`,command:`github-mcp-server`,args:[`stdio`,`--toolsets=${ue(t).join(`,`)}`,...r?[`--read-only`]:[]],env:{GITHUB_PERSONAL_ACCESS_TOKEN:n}}}function fe(e,{name:t,permissions:n,events:r,state:i,isPublic:a=!1}){let o=e.replace(/\/$/,``);return{name:t,url:o,hook_attributes:{url:`${o}/hooks/github`,active:!0},redirect_url:`${o}/create/github/callback?state=${encodeURIComponent(i)}`,callback_urls:[`${o}/install/github/callback`,`${o}/connect/github/callback`],request_oauth_on_install:!0,public:a,default_permissions:n,default_events:r}}function pe(e){return e?`https://github.com/organizations/${encodeURIComponent(e)}/settings/apps/new`:`https://github.com/settings/apps/new`}function me(e,t){let n=JSON.stringify(e).replace(/'/g,`'`);return`<form method="post" action="${pe(t)}"><input type="hidden" name="manifest" value='${n}'><button type="submit">Create GitHub App</button></form>`}async function he(e,t=fetch){let n=await t(`${c}/app-manifests/${encodeURIComponent(e)}/conversions`,{method:`POST`,headers:l()});if(!n.ok)throw Error(`GitHub App manifest conversion failed: ${n.status}`);let r=await n.json(),i=r.app_id??r.id;if(!i||!r.slug||!r.pem||!r.webhook_secret||!r.client_id||!r.client_secret||!r.html_url||!r.install_url)throw Error(`GitHub App manifest conversion response was incomplete`);return{appId:String(i),slug:r.slug,privateKey:r.pem,webhookSecret:r.webhook_secret,clientId:r.client_id,clientSecret:r.client_secret,htmlUrl:r.html_url,installUrl:r.install_url}}const g=`https://github.com/login/oauth`;function _(e){let{clientId:t,clientSecret:n}=e;if(!t||!n)throw Error(`This GitHub App has no OAuth client; create it again from the dashboard`);return{clientId:t,clientSecret:n}}async function v(e,t,n,r){let{clientId:i,clientSecret:a}=_(e),o=await n(`${g}/access_token`,{method:`POST`,headers:{accept:`application/json`,"content-type":`application/x-www-form-urlencoded`},body:new URLSearchParams({client_id:i,client_secret:a,...t})}),s=await o.json().catch(()=>({}));if(!o.ok||!s.access_token)throw Error(`GitHub authorization failed: ${s.error??o.status}`);return{accessToken:s.access_token,...s.refresh_token?{refreshToken:s.refresh_token}:{},...s.expires_in?{expiresAt:r+s.expires_in*1e3}:{}}}async function ge(e,t){let n=await t(`${c}/user`,{headers:l(e)}),r=await n.json().catch(()=>({}));if(!n.ok||!r.id||!r.login)throw Error(`GitHub user lookup failed: ${n.status}`);return{id:r.id,login:r.login}}async function _e(e,t,n,r=fetch){for(let i=1;i<=10;i++){let a=await r(`${c}/user/installations?per_page=100&page=${i}`,{headers:l(e)});if(!a.ok)throw Error(`GitHub installation check failed: ${a.status}`);let o=(await a.json()).installations??[],s=o.find(e=>String(e.id)===n&&String(e.app_id)===t);if(s)return{login:s.account?.login??`unknown`,...s.account?.type?{type:s.account.type}:{}};if(o.length<100)return}}async function y(e,t,n,r){let i=new URL(e.url).searchParams.get(`code`);if(!i)throw Error(`GitHub sent no authorization code`);let a=await v(t,{code:i,...n?{redirect_uri:n}:{}},r,Date.now()),o=await ge(a.accessToken,r);return{id:String(o.id),login:o.login,token:JSON.stringify(a),accessToken:a.accessToken}}const ve={authorizeUrl(e,{publicUrl:t,state:n}){let r=new URLSearchParams({client_id:_(e).clientId,redirect_uri:`${t.replace(/\/$/,``)}/connect/github/callback`,state:n});return`${g}/authorize?${r}`},async exchange(e,t,{publicUrl:n,fetch:r}){let{accessToken:i,...a}=await y(e,t,`${n.replace(/\/$/,``)}/connect/github/callback`,r);return a},async access(e,t,{fetch:n,now:r}){let i=JSON.parse(e);if(!i.expiresAt||i.expiresAt-3e5>r||!i.refreshToken)return{accessToken:i.accessToken};let a=await v(t,{grant_type:`refresh_token`,refresh_token:i.refreshToken},n,r);return{accessToken:a.accessToken,refreshed:JSON.stringify(a)}}};function ye(e){return Array.isArray(e)?t.find(t=>e.every(e=>h[t].includes(e)))??`write`:e}const be={observe:{metadata:`read`,contents:`read`,pull_requests:`read`,issues:`read`},comment:{metadata:`read`,contents:`read`,pull_requests:`write`,issues:`write`},write:{metadata:`read`,contents:`write`,pull_requests:`write`,issues:`write`}};function b(e=`observe`){return{...be[ye(e)]}}const xe={pull_request:`pull_request`,issue:`issues`,comment:`issue_comment`,mention:`issue_comment`};function Se(e){let t=e.map(e=>xe[e]).filter(e=>!!e);return[...new Set([...t,`push`,`installation`,`installation_repositories`])]}const Ce={createPage({publicUrl:e,state:t,definition:n,encodedState:r}){let i=n.integrations.github??{},a=Array.isArray(i.triggers)?i.triggers:Object.keys(i.triggers??{}),o=fe(e,{name:n.name??t.agent,permissions:b(i.tools),events:Se(a),state:r,isPublic:t.public===!0});return m(`<title>Create GitHub App</title><p>Creating the GitHub App for <b>${p(o.name)}</b>…</p>${me(o,t.owner)}<script>document.forms[0].submit()<\/script>`)},async createCallback(e,{fetch:t}){let n=new URL(e.url).searchParams.get(`code`);if(!n)throw Error(`Missing GitHub manifest code`);let r=await he(n,t),i={appId:r.appId,slug:r.slug,privateKey:r.privateKey,webhookSecret:r.webhookSecret,clientId:r.clientId,clientSecret:r.clientSecret};return{platformAppId:r.appId,name:r.slug,credentials:i}},installUrl(e,t,{state:n}){let{slug:r}=t;return`https://github.com/apps/${r}/installations/new?state=${encodeURIComponent(n)}`},async installCallback(e,{credentials:t,fetch:n}){let r=new URL(e.url).searchParams.get(`installation_id`);if(!r)throw Error(`Missing installation_id`);let{accessToken:i,...a}=await y(e,t,void 0,n),o=await _e(i,t.appId,r,n);if(!o)throw Error(`That installation is not one of yours on GitHub`);return{platformInstallId:r,account:o,installer:a.id,user:a,response:m(`<title>Connected</title><p>GitHub connected. The agent now runs on the repositories you picked; manage them from the app's settings page on GitHub.</p>`)}}};function x(e){return e&&typeof e==`object`?e:{}}function S(e){return e?.agent===!0||e?.type===`Bot`||e?.login?.endsWith(`[bot]`)===!0}function C(e,t){return[e,t].filter(e=>!!e).join(`
|
|
2
|
+
|
|
3
|
+
`)}const we=[`OWNER`,`MEMBER`],Te=[`issue_comment`,`pull_request_review_comment`,`ping`];function w(e){try{return JSON.parse(e)}catch{return}}function T(e,t,n){if(!n||!t?.startsWith(`sha256=`))return!1;let r=Buffer.from(i(`sha256`,n).update(e).digest(`hex`),`hex`);return o(Buffer.from(t.slice(7),`hex`),r)}function E(e,t,n,r,i){let a=n.installation?.id,o=D(n,i.headSha),s=i.user??n.sender;if(a===void 0||!o||!i.number)return;let c=s?.author_association;return{integration:`github`,type:r,appId:t.id,installationId:String(a),deliveryId:e.headers.get(`x-github-delivery`)??``,actor:{id:String(s?.id??s?.login??``),...s?.login?{login:s.login}:{},...c?{role:c}:{},...S(s)?{agent:!0}:{}},text:i.body??``,repo:o,chat:{thread:O(`${o.owner}/${o.name}`,i.number,i.kind===`pull`)}}}function D(e,t){let n=e.repository;return n?.owner?.login&&n.name&&n.clone_url&&n.default_branch?{owner:n.owner.login,name:n.name,cloneUrl:n.clone_url,ref:t??n.default_branch,defaultBranch:n.default_branch}:void 0}function O(e,t,n){return{_type:`chat:Thread`,adapterName:`github`,channelId:`github:${e}`,id:`github:${e}:${n?``:`issue:`}${t}`,isDM:!1}}function Ee(e,t,n,r){let i=x(t),a=e.headers.get(`x-github-event`);if(a===`pull_request`){let t=i.pull_request,a=i.action??``,o=i.requested_reviewer?.login?.toLowerCase();if(!t||![`opened`,`synchronize`,`reopened`,`ready_for_review`,`review_requested`].includes(a)||a===`review_requested`&&o!==`${r.slug}[bot]`.toLowerCase()||t.draft||a!==`review_requested`&&S(t.user)||!t.number||!t.head?.sha||!t.base?.sha)return[];let s=E(e,n,i,`pull_request`,{user:i.sender??t.user,body:C(t.title,t.body),number:t.number,kind:`pull`,headSha:t.head.sha});return s?[s]:[]}if(a===`issues`){let t=i.issue;if(!t||![`opened`,`edited`].includes(i.action??``)||S(i.sender??t.user)||!t.number)return[];let r=E(e,n,i,`issue`,{user:i.sender??t.user,body:C(t.title,t.body),number:t.number});return r?[r]:[]}return[]}async function De(e,t,n={}){let{createAppAuth:r}=await import(`@octokit/auth-app`),{token:i}=await r(e)({type:`installation`,installationId:t,...n.repositories?{repositoryNames:n.repositories}:{},...n.permissions?{permissions:n.permissions}:{}});return i}const Oe={installation:[`created`,`deleted`,`suspend`,`unsuspend`],installation_repositories:[`added`,`removed`]};function ke(e,t,n){let r=x(t),i=r.installation?.id,a=r.action;if(i===void 0||!Oe[e??``]?.includes(a??``))return;let o=r.installation?.account,s=Date.now(),c=a===`deleted`||a===`suspend`;return{op:c?`delete`:`upsert`,installation:{integration:`github`,id:`${n.id}:${i}`,app:n.id,account:{login:o?.login??r.repository?.owner?.login??`unknown`,...o?.type?{type:o.type}:{}},createdAt:s,...c?{deletedAt:s}:{}}}}function Ae(e,t){let n=x(e),r=n.repository?.full_name,i=t.branch??n.repository?.default_branch;if(!r||r!==t.agentsRepo||!i||n.ref!==`refs/heads/${i}`||!n.after||!n.commits)return;let a=[...new Set(n.commits.flatMap(e=>[...e.added??[],...e.modified??[],...e.removed??[]]))].filter(e=>e.startsWith(`.coder/agents/`));return a.length?{repo:r,ref:n.after,branch:i,paths:a}:void 0}function je(e={}){return{...e.repo?{repositories:[e.repo.name]}:{},...e.tools?{permissions:b(e.tools)}:{}}}const Me={id:`github`,brand:{color:`#000000`,icon:`M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12`,dark:`#fff`,svg:`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 98 96" fill="none" style="color:light-dark(#000,#fff)"><g clip-path="url(#github-mark-4)"><path d="M 41.44 69.38 C 28.81 67.85 19.91 58.76 19.91 46.99 C 19.91 42.21 21.63 37.04 24.5 33.59 C 23.26 30.43 23.45 23.73 24.88 20.96 C 28.71 20.48 33.88 22.49 36.94 25.27 C 40.58 24.12 44.41 23.54 49.1 23.54 C 53.79 23.54 57.61 24.12 61.06 25.17 C 64.03 22.49 69.29 20.48 73.12 20.96 C 74.46 23.54 74.65 30.24 73.4 33.5 C 76.47 37.13 78.09 42.01 78.09 46.99 C 78.09 58.76 69.19 67.66 56.37 69.29 C 59.62 71.39 61.82 75.99 61.82 81.25 L 61.82 91.21 C 61.82 94.08 64.22 95.7 67.09 94.55 C 84.41 87.95 98 70.63 98 49.19 C 98 22.11 75.99 0 48.9 0 C 21.82 0 0 22.11 0 49.19 C 0 70.44 13.49 88.05 31.68 94.65 C 34.26 95.61 36.75 93.88 36.75 91.3 L 36.75 83.64 C 35.41 84.22 33.69 84.6 32.16 84.6 C 25.84 84.6 22.11 81.16 19.43 74.74 C 18.38 72.16 17.23 70.63 15.03 70.34 C 13.88 70.25 13.49 69.77 13.49 69.19 C 13.49 68.04 15.41 67.18 17.32 67.18 C 20.1 67.18 22.49 68.91 24.98 72.45 C 26.89 75.22 28.9 76.47 31.29 76.47 C 33.69 76.47 35.22 75.61 37.42 73.4 C 39.05 71.78 40.29 70.34 41.44 69.38 Z" fill="black" style="fill:currentColor"/></g><defs><clipPath id="github-mark-4"><rect width="98" height="96" fill="white"/></clipPath></defs></svg>`},name:`GitHub`,description:`Pull requests, issues, and comments on GitHub repositories`,installLabel:`Connect GitHub`,organizationApps:!0,hint:`Cite repository file paths when discussing code. After making changes, link the pull request.`,sample:`github:owner/repo:1`,author:e=>`${e}[bot]`,events:{mention:{description:`Comment from a repo owner or org member mentioning @<agent>; text has the mention stripped.`,on:`mention`,addressed:!0},pull_request:{description:`Opened, updated, or ready non-draft pull request.`},issue:{description:`Opened or edited issue.`},comment:{description:`New non-agent issue or pull-request comment.`,on:`message`,noisy:!0}},tools:{presets:h,server:de,install:`arch=$(uname -m); [ "$arch" = aarch64 ] && arch=arm64; curl -fsSL "https://github.com/github/github-mcp-server/releases/latest/download/github-mcp-server_Linux_$arch.tar.gz" | tar -xz -C /usr/local/bin github-mcp-server`},get app(){return Ce},auth:{token:(e,t,n)=>De(t,e.id.split(`:`).pop(),je(n)),get user(){return ve},canWrite:async(e,t)=>!!(e.repo&&e.actor.login)&&oe(`${e.repo.owner}/${e.repo.name}`,e.actor.login,t)},repos:{cloneHosts:[`github.com`],readFile:ee,listDir:ne,commit:te,list:(e,t)=>re(t),get:ae,url:se,pullRequests:ie,pullRequest:e=>{let t=/^github:[^:]+:(\d+)(?::|$)/.exec(e.chat?.thread.id??``);return t?Number(t[1]):void 0},pullRequestThread:(e,t)=>O(e,t,!0)},target(e,t){let n=e.headers.get(`x-github-hook-installation-target-id`);if(!n)return;let r=x(w(t)),i=D(r);return{app:n,...r.installation?.id===void 0?{}:{installation:String(r.installation.id)},...i?{repo:i}:{}}},adapter:async e=>(await import(`./adapter-7SEiVsmp.js`)).githubAdapter(e),ownEvents(e,t,n,r){let i=e.headers.get(`x-github-event`);if(!i||Te.includes(i))return;let{webhookSecret:a,slug:o}=r;if(!T(t,e.headers.get(`x-hub-signature-256`),a))return{invalid:!0};let s=w(t),c=ke(i,s,n);if(c)return{installation:c};let l=Ae(s,n);return l?{changes:l}:{events:Ee(e,s,n,{slug:o})}},event(e,t,n){let r=n.raw.comment?.author_association;return{type:e===`mention`&&!we.includes(r??``)?`comment`:e,actor:{id:n.author.userId,login:n.author.userName,...r?{role:r}:{}}}}};function k(e,t,n,r){let i=Object.entries(n).filter(([,e])=>e!==void 0).map(([e,t])=>`<input type="hidden" name="${e}" value="${p(String(t))}">`).join(``),a=r.steps.map(e=>`<li>${p(e)}</li>`).join(``),o=r.fields.map(([e,t])=>`<p><label>${p(t)}<br><input name="${e}" size="60" required></label></p>`).join(``);return m(`<title>${p(r.title)}</title><ol>${a}</ol><form method="post" action="${e.replace(/\/$/,``)}/create/${t}/callback">${i}${o}<button type="submit">${p(r.title)}</button></form>`)}async function A(e,t){let n=new URLSearchParams(await e.text()),r=Object.fromEntries(t.map(e=>[e,n.get(e)?.trim()??``])),i=t.filter(e=>!r[e]);if(i.length)throw Error(`Missing ${i.join(`, `)}`);return r}async function j(e,t,n=fetch,r=Date.now()){let i=await n(e,{method:`POST`,headers:{accept:`application/json`,"content-type":`application/x-www-form-urlencoded`},body:new URLSearchParams(t)}),a=await i.json().catch(()=>({}));if(!i.ok||!a.access_token)throw Error(`${new URL(e).host} refused the token request: ${a.error_description??a.error??i.status}`);return{accessToken:a.access_token,...a.refresh_token?{refreshToken:a.refresh_token}:{},...a.expires_in?{expiresAt:r+a.expires_in*1e3}:{},...a.id_token?{idToken:a.id_token}:{}}}async function M(e,t,n,r=Date.now()){if(!e)throw Error(`The installation has no token; connect it again from the dashboard`);let i=JSON.parse(e);if(!i.refreshToken||(i.expiresAt??1/0)-3e5>r)return i.accessToken;let{idToken:a,...o}=await t(i.refreshToken),s={...o,refreshToken:o.refreshToken??i.refreshToken};return await n?.(JSON.stringify(s)),s.accessToken}function N(e,t){let n=JSON.parse(Buffer.from(e?.split(`.`)[1]??``,`base64url`).toString()||`{}`);if(!(Array.isArray(n.aud)?n.aud:[n.aud]).includes(t))throw Error(`The sign-in returned no identity for this app`);return n}const P=`https://oauth2.googleapis.com/token`,F=`https://www.googleapis.com/auth/gmail.modify`,Ne=[`clientId`,`clientSecret`,`topic`,`subscription`,`serviceAccount`,`label`],I=e=>e.replace(/\/$/,``),Pe=(e,t)=>`${I(e)}/hooks/gmail?app=${encodeURIComponent(t)}`;function L(e,t,n,r){let i=new URLSearchParams({client_id:e.clientId,redirect_uri:t,response_type:`code`,scope:r,state:n});return r.includes(F)&&(i.set(`access_type`,`offline`),i.set(`prompt`,`consent`)),`https://accounts.google.com/o/oauth2/v2/auth?${i}`}async function R(e,t,n,r){let i=new URL(e.url).searchParams.get(`code`);if(!i)throw Error(`Google sent no authorization code`);let{clientId:a,clientSecret:o}=t,{idToken:s,...c}=await j(P,{grant_type:`authorization_code`,code:i,client_id:a,client_secret:o,redirect_uri:n},r),l=N(s,a);if(typeof l.email!=`string`||l.email_verified!==!0)throw Error(`Google returned no verified email address`);return{email:l.email.toLowerCase(),token:c}}const Fe={createPage({publicUrl:e,state:t}){return k(e,`gmail`,t,{title:`Connect Gmail`,steps:[`In a Google Cloud project you own, enable the Gmail API and the Pub/Sub API.`,`Create an OAuth client of type Web application with the redirect URIs ${I(e)}/install/gmail/callback and ${I(e)}/connect/gmail/callback.`,`Create a Pub/Sub topic and give gmail-api-push@system.gserviceaccount.com the Pub/Sub Publisher role on it.`,`Add a push subscription to the topic with authentication on, a service account of yours, and the endpoint ${I(e)}/hooks/gmail?app= followed by the OAuth client ID.`,`Fill in the client ID and secret, the full topic and subscription names, the service account email, and the label to watch, such as INBOX.`],fields:[[`clientId`,`OAuth client ID`],[`clientSecret`,`OAuth client secret`],[`topic`,`Topic, projects/<project>/topics/<name>`],[`subscription`,`Subscription, projects/<project>/subscriptions/<name>`],[`serviceAccount`,`Push service account email`],[`label`,`Label ID`]]})},async createCallback(e,{publicUrl:t,state:n,definition:r}){let i=await A(e,Ne);if(!/^projects\/[^/\s]+\/topics\/[^/\s]+$/.test(i.topic))throw Error(`The topic must be projects/<project>/topics/<name>`);if(!/^projects\/[^/\s]+\/subscriptions\/[^/\s]+$/.test(i.subscription))throw Error(`The subscription must be projects/<project>/subscriptions/<name>`);let a={...i,audience:Pe(t,i.clientId)};return{platformAppId:i.clientId,name:r.name??n.agent,credentials:a}},installUrl(e,t,{publicUrl:n,state:r}){return L(t,`${I(n)}/install/gmail/callback`,r,`openid email ${F}`)},async installCallback(e,{credentials:t,publicUrl:n,fetch:r}){let{email:i,token:a}=await R(e,t,`${I(n)}/install/gmail/callback`,r);if(!a.refreshToken)throw Error(`Google sent no refresh token; remove the app's access from the Google account and connect again`);return{platformInstallId:i,account:{login:i},token:JSON.stringify(a),response:m(`<title>Connected</title><p>Connected ${p(i)}.</p>`)}}},Ie={authorizeUrl:(e,{publicUrl:t,state:n})=>L(e,`${I(t)}/connect/gmail/callback`,n,`openid email`),async exchange(e,t,{publicUrl:n,fetch:r}){let{email:i}=await R(e,t,`${I(n)}/connect/gmail/callback`,r);return{id:i,login:i}},access:async e=>({accessToken:e})};function Le(e,t,n){let{clientId:r,clientSecret:i}=t;return M(e.token,e=>j(P,{grant_type:`refresh_token`,refresh_token:e,client_id:r,client_secret:i}),n)}function Re(e){try{let t=JSON.parse(e).message?.data,n=JSON.parse(Buffer.from(t??``,`base64`).toString()).emailAddress;return typeof n==`string`?n.toLowerCase():void 0}catch{return}}function ze(e){let t=e.email.headers.find(e=>e.key===`authentication-results`)?.value??``;return/^\s*mx\.google\.com;/.test(t)&&/\bdmarc=pass\b/.test(t)}const Be={id:`gmail`,brand:{color:`#FC413D`,icon:`M24 5.457v13.909c0 .904-.732 1.636-1.636 1.636h-3.819V11.73L12 16.64l-6.545-4.91v9.273H1.636A1.636 1.636 0 0 1 0 19.366V5.457c0-2.023 2.309-3.178 3.927-1.964L5.455 4.64 12 9.548l6.545-4.91 1.528-1.145C21.69 2.28 24 3.434 24 5.457z`,svg:`<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 192 192"><path fill="url(#gmail-mark-5)" d="M 146 44 h 38 v 110 c 0 6.63 -5.37 12 -12 12 h -20 a 6 6 0 0 1 -6 -6 z"/><path fill="#fc413d" d="M 46 44 H 8 v 110 c 0 6.63 5.37 12 12 12 h 20 a 6 6 0 0 0 6 -6 z"/><path fill="url(#gmail-mark-12)" d="M 39.23 30.46 c -8.03 -6.75 -20.02 -5.71 -26.77 2.32 -6.75 8.03 -5.71 20.02 2.32 26.77 l 76.08 63.95 a 8 8 0 0 0 10.29 0 l 76.08 -63.95 c 8.03 -6.75 9.07 -18.74 2.32 -26.77 -6.75 -8.03 -18.74 -9.07 -26.77 -2.32 L 96 78.18 z"/><defs><linearGradient id="gmail-mark-5" x1="165" x2="165" y1="44" y2="166" gradientUnits="userSpaceOnUse"><stop stop-color="#60d673"/><stop offset="0.17" stop-color="#42c868"/><stop offset="0.39" stop-color="#0ebc5f"/><stop offset="0.62" stop-color="#00a9bb"/><stop offset="0.86" stop-color="#3c90ff"/><stop offset="1" stop-color="#3186ff"/></linearGradient><linearGradient id="gmail-mark-12" x1="8" x2="184" y1="46.13" y2="46.13" gradientUnits="userSpaceOnUse"><stop offset="0.08" stop-color="#ff63a0"/><stop offset="0.3" stop-color="#fc413d"/><stop offset="0.5" stop-color="#fc413d"/><stop offset="0.65" stop-color="#fc413d"/><stop offset="0.72" stop-color="#fc5c30"/><stop offset="0.86" stop-color="#feb10c"/><stop offset="0.91" stop-color="#fec700"/><stop offset="0.96" stop-color="#ffdb0f"/></linearGradient></defs></svg>`},name:`Gmail`,description:`Email that arrives under one label of a Gmail mailbox`,installLabel:`Connect Gmail`,sample:`gmail:YWdlbnRAZXhhbXBsZS5jb20:18c0a1b2c3d4e5f6`,hint:`You are answering an email. Write plain text with short paragraphs, no Markdown headings or tables.`,events:{mail:{description:`Email under the watched label from a sender whose domain passes DMARC`,on:`mention`,addressed:!0}},tools:{presets:{observe:[],comment:[],write:[]}},get app(){return Fe},auth:{token:(e,t,n,r)=>Le(e,t,r),get user(){return Ie}},target(e,t){let n=new URL(e.url).searchParams.get(`app`),r=Re(t);return n&&r?{app:n,installation:r}:void 0},adapter:async e=>(await import(`./adapter-PeKziOUg.js`)).gmailAdapter(e),async renew(e){await e.watch(),await e.sync()},sync:e=>e.sync(),event(e,t,n){return ze(n.raw)?{type:e,actor:{id:n.author.userId,login:n.author.userId}}:void 0}},z=`https://api.linear.app/oauth/token`,Ve=[`clientId`,`clientSecret`,`webhookSecret`],B=e=>e.replace(/\/$/,``);async function V(e,t,n){let r=await n(`https://api.linear.app/graphql`,{method:`POST`,headers:{authorization:`Bearer ${e}`,"content-type":`application/json`},body:JSON.stringify({query:t})}),i=await r.json().catch(()=>({}));if(!r.ok||!i.data)throw Error(`Linear refused the query: ${r.status}`);return i.data}function H(e,t,n,r){return`https://linear.app/oauth/authorize?${new URLSearchParams({client_id:e.clientId,redirect_uri:t,response_type:`code`,scope:r?`read,write,app:mentionable,app:assignable`:`read`,state:n,...r?{actor:`app`}:{}})}`}function U(e,t,n,r){let i=new URL(e.url).searchParams.get(`code`);if(!i)throw Error(`Linear sent no authorization code`);let{clientId:a,clientSecret:o}=t;return j(z,{grant_type:`authorization_code`,code:i,redirect_uri:n,client_id:a,client_secret:o},r)}const He={createPage({publicUrl:e,state:t}){return k(e,`linear`,t,{title:`Connect Linear`,steps:[`In Linear, open Settings, then API, and create a new OAuth application.`,`Add the callback URLs ${B(e)}/install/linear/callback and ${B(e)}/connect/linear/callback.`,`Turn on webhooks with the URL ${B(e)}/hooks/linear?app= followed by the client ID, and select Agent session events.`,`Fill in the client ID, the client secret, and the webhook signing secret.`],fields:[[`clientId`,`Client ID`],[`clientSecret`,`Client secret`],[`webhookSecret`,`Webhook signing secret`]]})},async createCallback(e,{state:t,definition:n}){let r=await A(e,Ve);return{platformAppId:r.clientId,name:n.name??t.agent,credentials:r}},installUrl(e,t,{publicUrl:n,state:r}){return H(t,`${B(n)}/install/linear/callback`,r,!0)},async installCallback(e,{credentials:t,publicUrl:n,fetch:r}){let{idToken:i,...a}=await U(e,t,`${B(n)}/install/linear/callback`,r),{organization:o}=await V(a.accessToken,`query { organization { id name urlKey } }`,r);return{platformInstallId:o.id,account:{login:o.urlKey},token:JSON.stringify(a),response:m(`<title>Connected</title><p>Connected the ${p(o.name)} Linear workspace.</p>`)}}},Ue={authorizeUrl:(e,{publicUrl:t,state:n})=>H(e,`${B(t)}/connect/linear/callback`,n,!1),async exchange(e,t,{publicUrl:n,fetch:r}){let{viewer:i}=await V((await U(e,t,`${B(n)}/connect/linear/callback`,r)).accessToken,`query { viewer { id displayName } }`,r);return{id:i.id,login:i.displayName}},access:async e=>({accessToken:e})};function We(e,t,n){let{clientId:r,clientSecret:i}=t;return M(e.token,e=>j(z,{grant_type:`refresh_token`,refresh_token:e,client_id:r,client_secret:i}),n)}const Ge={id:`linear`,brand:{color:`#222326`,icon:`M2.886 4.18A11.982 11.982 0 0 1 11.99 0C18.624 0 24 5.376 24 12.009c0 3.64-1.62 6.903-4.18 9.105L2.887 4.18ZM1.817 5.626l16.556 16.556c-.524.33-1.075.62-1.65.866L.951 7.277c.247-.575.537-1.126.866-1.65ZM.322 9.163l14.515 14.515c-.71.172-1.443.282-2.195.322L0 11.358a12 12 0 0 1 .322-2.195Zm-.17 4.862 9.823 9.824a12.02 12.02 0 0 1-9.824-9.824Z`,svg:`<svg xmlns="http://www.w3.org/2000/svg" fill="#222326" viewBox="0 0 100 100" style="fill:light-dark(#222326,#fff)"><path d="M 1.23 61.52 c -0.22 -0.95 0.91 -1.55 1.6 -0.86 L 39.33 97.18 c 0.69 0.69 0.09 1.82 -0.86 1.6 C 20.05 94.45 5.55 79.95 1.23 61.52 Z M 0 46.89 c -0.02 0.28 0.09 0.56 0.29 0.76 L 52.35 99.71 c 0.2 0.2 0.48 0.31 0.76 0.29 2.37 -0.15 4.69 -0.46 6.96 -0.93 0.76 -0.16 1.03 -1.1 0.48 -1.65 L 2.58 39.45 c -0.55 -0.55 -1.49 -0.29 -1.65 0.48 -0.47 2.27 -0.78 4.59 -0.93 6.96 Z M 4.21 29.71 c -0.17 0.37 -0.08 0.81 0.21 1.1 l 64.78 64.78 c 0.29 0.29 0.73 0.37 1.1 0.21 1.79 -0.8 3.52 -1.69 5.19 -2.68 0.55 -0.33 0.64 -1.09 0.18 -1.54 L 8.44 24.34 c -0.45 -0.45 -1.21 -0.37 -1.54 0.18 -0.99 1.67 -1.89 3.4 -2.68 5.19 Z M 12.66 18.07 c -0.37 -0.37 -0.39 -0.96 -0.04 -1.35 C 21.78 6.46 35.11 0 49.95 0 77.59 0 100 22.41 100 50.05 c 0 14.84 -6.46 28.17 -16.72 37.34 -0.39 0.35 -0.98 0.33 -1.35 -0.04 L 12.66 18.07 Z"/></svg>`},name:`Linear`,description:`Agent sessions on Linear issues: mentions and assignments`,installLabel:`Connect Linear`,sample:`linear:2f1e6a1c-0000-4000-8000-000000000001:s:5b7d3c2a-0000-4000-8000-000000000002`,hint:`You are working in a Linear issue's agent session. Keep replies short and about the issue; link pull requests you open.`,events:{mention:{description:`Agent session started or prompted by mentioning or assigning the agent`,on:`mention`,addressed:!0,steers:!0}},tools:{presets:{observe:[],comment:[],write:[]}},get app(){return He},auth:{token:(e,t,n,r)=>We(e,t,r),get user(){return Ue}},target(e,t){let n=new URL(e.url).searchParams.get(`app`),r;try{r=JSON.parse(t).organizationId}catch{return}return n&&typeof r==`string`?{app:n,installation:r}:void 0},adapter:async e=>(await import(`./adapter-BLEfUqoQ.js`)).linearAdapter(e),event(e,t,n){t.startTyping(`Reading the issue`).catch(()=>{});let r=n.raw.agentSessionPromptContext;return{type:e,actor:{id:n.author.userId,login:n.author.userName},...r?{promptContext:r.slice(0,16384)}:{}}}},W=[`channels:history`,`groups:history`,`im:history`,`mpim:history`],G=[`channels:read`,`groups:read`,`im:read`,`mpim:read`],K={"conversations.history":W,"conversations.replies":W,"conversations.info":G,"conversations.list":G,"users.info":[`users:read`],"users.list":[`users:read`],"reactions.get":[`reactions:read`]},q={"chat.postMessage":[`chat:write`],"reactions.add":[`reactions:write`]},J={"chat.postMessage":`thread_ts`,"reactions.add":`timestamp`},Ke={...K,...q};async function qe(e,t,n={}){let r=e.tools??[];if(!r.includes(t)||!Ke[t])throw Error(`Slack method ${t} is not allowed for this task; allowed: ${r.join(`, `)||`none`}`);if(t in q){let[,r,i]=(e.scope?.thread??``).split(`:`);if(!r||n.channel!==r)throw Error(`This task may only write to its connected channel.`);let a=Object.hasOwn(J,t)?J[t]:void 0;if(!i||!a||n[a]!==i||n.reply_broadcast)throw Error(`This task may only write to its triggering thread.`)}let{callSlackApi:i}=await import(`@chat-adapter/slack/api`),a=await i(t,n,{token:e.token,fetch:e.fetch,contentType:`json`});if(a.error===`missing_scope`)throw Error(`Slack method ${t} needs the ${Ke[t].join(` or `)} scope, which this app does not have`);if(!a.ok)throw Error(`Slack ${t} failed: ${a.error}`);return a}const Je={slack_api:{description:`Call a Slack Web API method, such as conversations.replies or chat.postMessage, with its JSON arguments. Only the methods this task allows work; others fail with the allowed list.`,inputSchema:{type:`object`,properties:{method:{type:`string`},args:{type:`object`}},required:[`method`]},handler:(e,t)=>qe(t,String(e.method??``),e.args??{})}};function Y(e){return e.replace(/\/$/,``)}function Ye(e,{name:t,scopes:n,events:r,extras:i}){let a=Y(e);return{display_information:{name:t},features:{bot_user:{display_name:t},...i},oauth_config:{redirect_urls:[`${a}/install/slack/callback`],scopes:{bot:n}},settings:{event_subscriptions:{request_url:`${a}/hooks/slack`,bot_events:r}}}}async function X(e,t,n,r){let{assertSlackOk:i,callSlackApi:a}=await import(`@chat-adapter/slack/api`),o=await a(e,t,{token:n,fetch:r});return i(e,o),o}async function Xe(e,t,n=fetch){let r=await X(`apps.manifest.create`,{manifest:JSON.stringify(t)},e,n);return{appId:r.app_id,clientId:r.credentials.client_id,clientSecret:r.credentials.client_secret,signingSecret:r.credentials.signing_secret}}function Ze(e,t,n){let r=n.integrations.slack??{},i=Array.isArray(r.triggers)?r.triggers:Object.keys(r.triggers??{});return Ye(e,{name:t,scopes:it(r.tools),events:ot(i),extras:st(e,n)})}async function Qe(e,t=fetch){let n=await t(`https://slack.com/api/tooling.tokens.rotate`,{method:`POST`,headers:{"content-type":`application/x-www-form-urlencoded`},body:new URLSearchParams({refresh_token:e})}),r=await n.json();if(!n.ok||!r.ok||!r.token||!r.refresh_token)throw Error(`Slack token rotation failed: ${r.error??n.statusText}`);return{token:r.token,refreshToken:r.refresh_token}}function $e(e,t,n,r=[]){let i=new URLSearchParams({client_id:e.clientId,state:n,redirect_uri:`${Y(t)}/install/slack/callback`});return r.length&&i.set(`scope`,r.join(`,`)),`https://slack.com/oauth/v2/authorize?${i}`}async function et(e,t,n,r=fetch){let i=await r(`https://slack.com/api/oauth.v2.access`,{method:`POST`,headers:{"content-type":`application/x-www-form-urlencoded`},body:new URLSearchParams({client_id:t.clientId,client_secret:t.clientSecret,code:e,redirect_uri:`${Y(n)}/install/slack/callback`})}),a=await i.json();if(!i.ok||!a.ok||!a.access_token||!a.team?.id||!a.team.name)throw Error(`Slack OAuth failed: ${a.error??i.statusText}`);return{teamId:a.team.id,teamName:a.team.name,accessToken:a.access_token,...a.authed_user?.id?{installer:a.authed_user.id}:{}}}function tt(e,t){return[`Hi, I'm ${e}. Ask me here or mention me in any channel; a thread keeps its context for follow-ups.`,"Use `/setup show` to see my settings. Workspace admins configure connected repositories in the Coder dashboard.",...Object.entries(t).map(([e,t])=>`Connect ${e} so I can act there: ${t}`)].join(`
|
|
4
|
+
|
|
5
|
+
`)}const nt={createPage({publicUrl:e,state:t}){return m(`<title>Create Slack app</title><p>Slack creates apps only with an app configuration token. Open <a href="https://api.slack.com/apps" target="_blank">api.slack.com/apps</a>, scroll to “Your App Configuration Tokens”, click Generate, and paste the access token below. Tokens expire after 12 hours; paste the refresh token too so the receiver can keep the app's manifest updated when this agent changes.</p><form method="post" action="${Y(e)}/create/slack/callback">${Object.entries(t).filter(([,e])=>e!==void 0).map(([e,t])=>`<input type="hidden" name="${e}" value="${p(String(t))}">`).join(``)}<p><input name="token" size="60" placeholder="xoxe.xoxp-..." required></p><p><input name="refreshToken" size="60" placeholder="xoxe-... refresh token (recommended)"></p><button type="submit">Create Slack app</button></form>`)},async createCallback(e,{publicUrl:t,state:n,definition:r,fetch:i}){let a=new URLSearchParams(await e.text()),o=a.get(`token`);if(!o)throw Error(`Missing configuration token`);let s=r.name??n.agent,c=await Xe(o,Ze(t,s,r),i),l=a.get(`refreshToken`),u=l?await Qe(l,i):void 0,d={...c,configToken:u?.token??o,configRefreshToken:u?.refreshToken??l??void 0};return{platformAppId:c.appId,name:s,credentials:d}},async update(e,t,{publicUrl:n,definition:r,fetch:i,saveCredentials:a}){let o=t;if(!o.configRefreshToken)return;let s=await Qe(o.configRefreshToken,i);await a({...o,configToken:s.token,configRefreshToken:s.refreshToken}),await X(`apps.manifest.update`,{app_id:o.appId,manifest:JSON.stringify(Ze(n,e.name,r))},s.token,i)},installUrl(e,t,{publicUrl:n,state:r}){return $e(t,n,r)},async installCallback(e,{app:t,credentials:n,publicUrl:r,fetch:i,connect:a}){let o=new URL(e.url).searchParams.get(`code`);if(!o)throw Error(`Missing Slack OAuth code`);let s=await et(o,n,r,i),c=await a(`${t.id}:${s.teamId}`);s.installer&&await X(`chat.postMessage`,{channel:s.installer,text:tt(t.name,c)},s.accessToken,i).catch(()=>void 0);let l=Object.entries(c).map(([e,t])=>`<p><a href="${p(t)}">Connect ${p(e)}</a> so the agent can act there.</p>`).join(``);return{platformInstallId:s.teamId,account:{login:s.teamName},token:s.accessToken,installer:s.installer,...s.installer?{user:{id:s.installer}}:{},response:m(`<title>Connected</title><p>Connected ${p(s.teamName)}.</p>${l}`)}}},rt=[`app_mentions:read`,`channels:history`,`groups:history`,`im:history`,`channels:read`,`users:read`,`reactions:read`,`commands`];function it(e=`observe`){let t=new Set(Object.keys(K));return(Array.isArray(e)?e.every(e=>t.has(e)):e===`observe`)?[...rt]:[...rt,`chat:write`,`reactions:write`,`im:write`,`assistant:write`]}const at={mention:[`app_mention`],message:[`message.channels`,`message.groups`,`message.im`],reaction:[`reaction_added`]};function ot(e){return[...new Set(e.flatMap(e=>at[e]??[]))]}function st(e,t){return{slash_commands:[{command:`/setup`,url:`${e.replace(/\/$/,``)}/hooks/slack`,description:`Configure this agent`,usage_hint:`repo owner/name | model <name> | show`}],assistant_view:{assistant_description:t.description??`${t.name??`Coder`} in your workspace.`}}}const ct=n.object({type:n.optional(n.string()),team_id:n.optional(n.string()),api_app_id:n.optional(n.string()),challenge:n.optional(n.string()),authorizations:n.optional(n.array(n.object({user_id:n.optional(n.string()),team_id:n.optional(n.string())})))});function lt(e){try{return JSON.parse(e)}catch{let t=new URLSearchParams(e),n=t.get(`payload`);if(!n)return Object.fromEntries(t);try{return JSON.parse(n)}catch{return{}}}}const ut={id:`slack`,brand:{color:`#E3066A`,icon:`M5.042 15.165a2.528 2.528 0 0 1-2.52 2.523A2.528 2.528 0 0 1 0 15.165a2.527 2.527 0 0 1 2.522-2.52h2.52v2.52zM6.313 15.165a2.527 2.527 0 0 1 2.521-2.52 2.527 2.527 0 0 1 2.521 2.52v6.313A2.528 2.528 0 0 1 8.834 24a2.528 2.528 0 0 1-2.521-2.522v-6.313zM8.834 5.042a2.528 2.528 0 0 1-2.521-2.52A2.528 2.528 0 0 1 8.834 0a2.528 2.528 0 0 1 2.521 2.522v2.52H8.834zM8.834 6.313a2.528 2.528 0 0 1 2.521 2.521 2.528 2.528 0 0 1-2.521 2.521H2.522A2.528 2.528 0 0 1 0 8.834a2.528 2.528 0 0 1 2.522-2.521h6.312zM18.956 8.834a2.528 2.528 0 0 1 2.522-2.521A2.528 2.528 0 0 1 24 8.834a2.528 2.528 0 0 1-2.522 2.521h-2.522V8.834zM17.688 8.834a2.528 2.528 0 0 1-2.523 2.521 2.527 2.527 0 0 1-2.52-2.521V2.522A2.527 2.527 0 0 1 15.165 0a2.528 2.528 0 0 1 2.523 2.522v6.312zM15.165 18.956a2.528 2.528 0 0 1 2.523 2.522A2.528 2.528 0 0 1 15.165 24a2.527 2.527 0 0 1-2.52-2.522v-2.522h2.52zM15.165 17.688a2.527 2.527 0 0 1-2.52-2.523 2.526 2.526 0 0 1 2.52-2.52h6.313A2.527 2.527 0 0 1 24 15.165a2.528 2.528 0 0 1-2.522 2.523h-6.313z`,svg:`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 400 400"><g><path d="M 84.04 252.77 c 0 23.13 -18.89 42.02 -42.02 42.02 S 0 275.9 0 252.77 s 18.89 -42.02 42.02 -42.02 h 42.02 v 42.02 Z" fill="#e3066a"/><path d="M 105.21 252.77 c 0 -23.13 18.89 -42.02 42.02 -42.02 s 42.02 18.89 42.02 42.02 v 105.21 c 0 23.13 -18.89 42.02 -42.02 42.02 s -42.02 -18.89 -42.02 -42.02 c 0 0 0 -105.21 0 -105.21 Z" fill="#e3066a"/></g><g><path d="M 147.23 84.04 c -23.13 0 -42.02 -18.89 -42.02 -42.02 S 124.1 0 147.23 0 s 42.02 18.89 42.02 42.02 v 42.02 h -42.02 Z" fill="#00b3ff"/><path d="M 147.23 105.21 c 23.13 0 42.02 18.89 42.02 42.02 s -18.89 42.02 -42.02 42.02 H 42.02 c -23.13 0 -42.02 -18.89 -42.02 -42.02 s 18.89 -42.02 42.02 -42.02 c 0 0 105.21 0 105.21 0 Z" fill="#00b3ff"/></g><g><path d="M 315.96 147.23 c 0 -23.13 18.89 -42.02 42.02 -42.02 s 42.02 18.89 42.02 42.02 -18.89 42.02 -42.02 42.02 h -42.02 v -42.02 Z" fill="#41b658"/><path d="M 294.79 147.23 c 0 23.13 -18.89 42.02 -42.02 42.02 s -42.02 -18.89 -42.02 -42.02 V 42.02 c 0 -23.13 18.89 -42.02 42.02 -42.02 s 42.02 18.89 42.02 42.02 v 105.21 Z" fill="#41b658"/></g><g><path d="M 252.77 315.96 c 23.13 0 42.02 18.89 42.02 42.02 s -18.89 42.02 -42.02 42.02 -42.02 -18.89 -42.02 -42.02 v -42.02 h 42.02 Z" fill="#fcc003"/><path d="M 252.77 294.79 c -23.13 0 -42.02 -18.89 -42.02 -42.02 s 18.89 -42.02 42.02 -42.02 h 105.21 c 23.13 0 42.02 18.89 42.02 42.02 s -18.89 42.02 -42.02 42.02 h -105.21 Z" fill="#fcc003"/></g></svg>`},name:`Slack`,description:`Mentions, messages, and reactions in a Slack workspace`,installLabel:`Add to Slack`,sample:`slack:C0000000000:1700000000.000100`,hint:`Do not use Markdown headings. Use short paragraphs and code spans, and reply only in the thread where you were addressed.`,events:{mention:{description:`Slack app mention`,on:`mention`,addressed:!0},command:{description:`/setup and other slash commands`,on:`command`},reaction:{description:`Reaction added`,on:`reaction`},message:{description:`Channel, group, or direct message`,on:`message`,noisy:!0,addressed:!0}},tools:{presets:{observe:Object.keys(K),comment:[...Object.keys(K),...Object.keys(q)],write:[...Object.keys(K),...Object.keys(q)]},serve:Je},get app(){return nt},target(e,t){let n=ct.safeParse(lt(t)).data;if(n?.type===`url_verification`&&n.challenge)return new Response(n.challenge);let r=n?.authorizations?.[0]?.team_id??n?.team_id??lt(t).team?.id,i=n?.authorizations?.[0]?.user_id;return n?.api_app_id?{app:n.api_app_id,...r?{installation:r}:{},...i?{self:i}:{}}:void 0},adapter:async e=>(await import(`./adapter-DaiJMOYo.js`)).slackAdapter(e),reactionId:e=>e.raw.event_ts,auth:{async token(e){if(!e.token)throw Error(`Slack installation ${e.id} has no bot token`);return e.token}}},Z=`https://login.microsoftonline.com`,dt=`https://api.botframework.com/.default`,ft=[`appId`,`appPassword`,`tenantId`],Q=e=>e.replace(/\/$/,``),pt={createPage({publicUrl:e,state:t}){return k(e,`teams`,t,{title:`Connect Microsoft Teams`,steps:[`In the Azure portal, create an Azure Bot of type Single Tenant with a new app registration.`,`Set its messaging endpoint to ${Q(e)}/hooks/teams?app= followed by the Microsoft App ID, and turn on the Microsoft Teams channel.`,`In the app registration, add the web redirect URI ${Q(e)}/install/teams/callback and create a client secret.`,`In the Teams Developer Portal, create a Teams app for the bot and install it in your organization.`,`Fill in the Microsoft App ID, the client secret, and the directory (tenant) ID.`],fields:[[`appId`,`Microsoft App ID`],[`appPassword`,`Client secret`],[`tenantId`,`Directory (tenant) ID`]]})},async createCallback(e,{state:t,definition:n}){let r=await A(e,ft);return{platformAppId:r.appId,name:n.name??t.agent,credentials:r}},installUrl(e,t,{publicUrl:n,state:r}){let{appId:i,tenantId:a}=t,o=new URLSearchParams({client_id:i,response_type:`code`,redirect_uri:`${Q(n)}/install/teams/callback`,scope:`openid profile`,state:r});return`${Z}/${encodeURIComponent(a)}/oauth2/v2.0/authorize?${o}`},async installCallback(e,{credentials:t,publicUrl:n,fetch:r}){let i=new URL(e.url).searchParams.get(`code`);if(!i)throw Error(`Microsoft sent no authorization code`);let{appId:a,appPassword:o,tenantId:s}=t,{idToken:c}=await j(`${Z}/${encodeURIComponent(s)}/oauth2/v2.0/token`,{grant_type:`authorization_code`,code:i,client_id:a,client_secret:o,redirect_uri:`${Q(n)}/install/teams/callback`,scope:`openid profile`},r),l=N(c,a);if(l.tid!==s)throw Error(`That account belongs to another Microsoft directory than the bot`);let u=String(l.preferred_username??``).split(`@`)[1]||s;return{platformInstallId:s,account:{login:u},response:m(`<title>Connected</title><p>Connected Microsoft Teams for ${p(u)}.</p>`)}}};async function mt(e){let{appId:t,appPassword:n,tenantId:r}=e;return(await j(`${Z}/${encodeURIComponent(r)}/oauth2/v2.0/token`,{grant_type:`client_credentials`,client_id:t,client_secret:n,scope:dt})).accessToken}const ht={id:`teams`,brand:{color:`#4B53BC`,icon:`M3 4h18v4h-7v12h-4V8H3z`,svg:`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 48 48" fill="none"><path d="M 22 20 H 34 C 37.31 20 40 22.69 40 26 V 36 C 40 39.31 37.31 42 34 42 C 30.69 42 28 39.31 28 36 V 26 C 28 22.69 25.31 20 22 20 Z" fill="url(#teams-mark-15)"/><path d="M 8 24 C 8 20.69 10.69 18 14 18 H 22 C 25.31 18 28 20.69 28 24 V 36 C 28 39.31 30.69 42 34 42 L 18 42 C 12.48 42 8 37.52 8 32 V 24 Z" fill="url(#teams-mark-20)"/><path d="M 8 24 C 8 20.69 10.69 18 14 18 H 22 C 25.31 18 28 20.69 28 24 V 36 C 28 39.31 30.69 42 34 42 L 18 42 C 12.48 42 8 37.52 8 32 V 24 Z" fill="url(#teams-mark-24)" fill-opacity="0.7"/><path d="M 8 24 C 8 20.69 10.69 18 14 18 H 22 C 25.31 18 28 20.69 28 24 V 36 C 28 39.31 30.69 42 34 42 L 18 42 C 12.48 42 8 37.52 8 32 V 24 Z" fill="url(#teams-mark-27)" fill-opacity="0.7"/><path d="M 33 18 C 35.76 18 38 15.76 38 13 C 38 10.24 35.76 8 33 8 C 30.24 8 28 10.24 28 13 C 28 15.76 30.24 18 33 18 Z" fill="url(#teams-mark-30)"/><path d="M 33 18 C 35.76 18 38 15.76 38 13 C 38 10.24 35.76 8 33 8 C 30.24 8 28 10.24 28 13 C 28 15.76 30.24 18 33 18 Z" fill="url(#teams-mark-33)" fill-opacity="0.46"/><path d="M 33 18 C 35.76 18 38 15.76 38 13 C 38 10.24 35.76 8 33 8 C 30.24 8 28 10.24 28 13 C 28 15.76 30.24 18 33 18 Z" fill="url(#teams-mark-36)" fill-opacity="0.4"/><path d="M 18 16 C 21.31 16 24 13.31 24 10 C 24 6.69 21.31 4 18 4 C 14.69 4 12 6.69 12 10 C 12 13.31 14.69 16 18 16 Z" fill="url(#teams-mark-39)"/><path d="M 18 16 C 21.31 16 24 13.31 24 10 C 24 6.69 21.31 4 18 4 C 14.69 4 12 6.69 12 10 C 12 13.31 14.69 16 18 16 Z" fill="url(#teams-mark-42)" fill-opacity="0.6"/><path d="M 18 16 C 21.31 16 24 13.31 24 10 C 24 6.69 21.31 4 18 4 C 14.69 4 12 6.69 12 10 C 12 13.31 14.69 16 18 16 Z" fill="url(#teams-mark-45)" fill-opacity="0.5"/><rect x="4" y="23" width="16" height="16" rx="3.25" fill="url(#teams-mark-48)"/><rect x="4" y="23" width="16" height="16" rx="3.25" fill="url(#teams-mark-51)" fill-opacity="0.7"/><path d="M 15.48 28.11 H 13.03 V 35.57 H 10.97 V 28.11 H 8.52 V 26.43 H 15.48 V 28.11 Z" fill="white"/><defs><radialGradient id="teams-mark-15" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(39.8 22.17) scale(13.48 33.27)"><stop stop-color="#A98AFF"/><stop offset="0.14" stop-color="#8C75FF"/><stop offset="0.56" stop-color="#5F50E2"/><stop offset="0.9" stop-color="#3C2CB8"/></radialGradient><radialGradient id="teams-mark-20" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(8.81 16.4) rotate(68.15) scale(32.75 33.12)"><stop stop-color="#85C2FF"/><stop offset="0.69" stop-color="#7588FF"/><stop offset="1" stop-color="#6459FE"/></radialGradient><linearGradient id="teams-mark-24" x1="20.59" y1="18" x2="20.59" y2="42" gradientUnits="userSpaceOnUse"><stop offset="0.8" stop-color="#6864F6" stop-opacity="0"/><stop offset="1" stop-color="#5149DE"/></linearGradient><radialGradient id="teams-mark-27" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(27.5 17.2) rotate(113.33) scale(19.22 15.43)"><stop stop-color="#BD96FF"/><stop offset="0.69" stop-color="#BD96FF" stop-opacity="0"/></radialGradient><radialGradient id="teams-mark-30" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(33 11.57) rotate(-90) scale(10 12.62)"><stop offset="0.27" stop-color="#6868F7"/><stop offset="1" stop-color="#3923B1"/></radialGradient><radialGradient id="teams-mark-33" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(28.87 10.54) rotate(40.05) scale(7.15 10.34)"><stop offset="0.27" stop-color="#A1D3FF"/><stop offset="0.81" stop-color="#A1D3FF" stop-opacity="0"/></radialGradient><radialGradient id="teams-mark-36" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(36.98 10.37) rotate(-41.66) scale(8.51 20.88)"><stop stop-color="#E3ACFD"/><stop offset="0.82" stop-color="#9FA2FF" stop-opacity="0"/></radialGradient><radialGradient id="teams-mark-39" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(18 8.29) rotate(-90) scale(12 15.15)"><stop offset="0.27" stop-color="#8282FF"/><stop offset="1" stop-color="#3923B1"/></radialGradient><radialGradient id="teams-mark-42" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(13.04 7.05) rotate(40.05) scale(8.58 12.4)"><stop offset="0.27" stop-color="#A1D3FF"/><stop offset="0.81" stop-color="#A1D3FF" stop-opacity="0"/></radialGradient><radialGradient id="teams-mark-45" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(22.78 6.84) rotate(-41.66) scale(10.22 25.06)"><stop stop-color="#E3ACFD"/><stop offset="0.82" stop-color="#9FA2FF" stop-opacity="0"/></radialGradient><radialGradient id="teams-mark-48" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(4 23) rotate(45) scale(22.63)"><stop offset="0.05" stop-color="#688EFF"/><stop offset="0.95" stop-color="#230F94"/></radialGradient><radialGradient id="teams-mark-51" cx="0" cy="0" r="1" gradientUnits="userSpaceOnUse" gradientTransform="translate(12 32.6) rotate(90) scale(11.2 13.07)"><stop offset="0.57" stop-color="#6965F6" stop-opacity="0"/><stop offset="1" stop-color="#8F8FFF"/></radialGradient></defs></svg>`},name:`Microsoft Teams`,description:`Mentions, messages, and reactions in Microsoft Teams`,installLabel:`Add to Teams`,sample:`teams:MTk6Z2VuZXJhbEB0aHJlYWQudGFjdjI:aHR0cHM6Ly9zbWJhLnRyYWZmaWNtYW5hZ2VyLm5ldC90ZWFtcy8:channel`,history:!1,hint:`Keep replies short. Use plain paragraphs and code spans, no Markdown headings, and reply in the conversation where you were addressed.`,events:{mention:{description:`Teams mention of the bot, or a direct message to it`,on:`mention`,addressed:!0},reaction:{description:`Reaction added`,on:`reaction`},message:{description:`Channel or group chat message the bot can read`,on:`message`,noisy:!0,addressed:!0}},tools:{presets:{observe:[],comment:[],write:[]}},get app(){return pt},auth:{token:(e,t)=>mt(t)},target(e,t){let n=new URL(e.url).searchParams.get(`app`),r;try{let e=JSON.parse(t);r=e.channelData?.tenant?.id??e.conversation?.tenantId}catch{return}return n&&typeof r==`string`?{app:n,installation:r}:void 0},reactionId:e=>e.raw.id,adapter:async e=>(await import(`./adapter-H4GlcKQz.js`)).teamsAdapter(e)};var gt=e({INTEGRATIONS:()=>$,enabledIntegrations:()=>_t,repositoryReader:()=>vt});const $={github:Me,slack:ut,teams:ht,gmail:Be,linear:Ge};function _t(e){if(!e)return $;let t=e.filter(e=>!$[e]);if(t.length)throw Error(`Unknown integration ${t.join(`, `)} in SERVER_INTEGRATIONS; pick from ${Object.keys($).join(`, `)}`);return Object.fromEntries(e.map(e=>[e,$[e]]))}const vt=e=>Object.values(e).find(e=>e.repos);export{dt as a,p as c,s as d,vt as i,m as l,_t as n,T as o,gt as r,h as s,$ as t,o as u};
|
package/dist/lib/broker.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
import{
|
|
2
|
+
import{B as e,En as t,V as n,_n as r,gn as i,hn as a,xn as o,yn as s}from"../dispatch-YW1aqjEg.js";import{a as c,s as l}from"../args-DEMOfLz2.js";import u from"node:path";import d from"node:process";import*as f from"zod/mini";import p from"node:fs";import m from"node:net";const h=new Set([`turn/start`,`review/start`,`thread/compact/start`]),g=3e4;function _(e,t,n){let r=new Set;return t?.threadId&&r.add(t.threadId),e===`review/start`&&n?.reviewThreadId&&r.add(n.reviewThreadId),r}function v(e,t,n){return n===void 0?{code:e,message:t}:{code:e,message:t,data:n}}function y(e,t){e.destroyed||e.write(`${JSON.stringify(t)}\n`)}const b=new Set([`turn/interrupt`,`turn/steer`,`thread/archive`,`thread/delete`]);function x(e){return typeof e?.method==`string`&&b.has(e.method)}function S(e){e&&(p.mkdirSync(u.dirname(e),{recursive:!0}),p.writeFileSync(e,`${d.pid}\n`,`utf8`))}async function C(){let[b,...C]=d.argv.slice(2);if(b!==`serve`)throw Error(`Usage: coder broker serve --endpoint <value> [--cwd <path>] [--pid-file <path>] [--network-access <true|false>]`);let{options:w}=c(C,f.object({cwd:l,"pid-file":l,endpoint:f.string(),"network-access":f.optional(f.enum([`true`,`false`]))})),T=w.cwd?u.resolve(d.cwd(),w.cwd):d.cwd(),E=String(w.endpoint),D=t(E),O=w[`pid-file`]?u.resolve(w[`pid-file`]):null,k=w[`network-access`]===`true`;S(O);let A=null,j=``,M={},N=null,P=!1,F=!1,I=null,L=null,R=null,z=new Set,B=new Map;function V(e){d.stderr.write(`[coder broker] ${e}\n`)}function H(e){for(let[t,n]of B)n.socket===e&&(B.delete(t),n.client.exitResolved||n.client.sendMessage({id:t,error:v(-32e3,`Broker client disconnected before answering the server request.`)}))}function U(e,t){let n=L??I;if(!n||n.destroyed){e.sendMessage({id:t.id,error:v(-32601,`No broker client available to answer ${t.method}.`)});return}B.set(t.id,{socket:n,client:e}),y(n,t)}function W(e){if(e!==A||F)return;A=null;let t=e.exitError?.message??`codex app-server exited.`;V(`${t} Starting a fresh one on the next request.`);for(let e of new Set([I,L]))e&&y(e,{method:a,params:{message:t}});B.clear(),I=null,L=null,R=null}async function G(){let t=e(d.env,M),r=s.connect(T,{disableBroker:!0,networkAccess:k}),i,a=new Promise((e,t)=>{i=setTimeout(()=>t(Error(`no answer within ${g/1e3}s`)),g)});try{let e=await Promise.race([r,a]);return e.setNotificationHandler(Y),e.handleServerRequest=t=>U(e,t),e.exitPromise.then(()=>W(e)),j=t,e}catch(e){throw r.then(e=>e.close()).catch(()=>{}),Error(`codex app-server could not start: ${n(e)}`)}finally{clearTimeout(i)}}async function K(){let e=A;A=null,B.clear(),await e?.close().catch(()=>{})}async function q(t){if(N)return N;let n=P||e(d.env,M)!==j;if(A&&!A.exitResolved&&!n)return A;if(A&&!A.exitResolved){let e=`Codex login changed; restarted the shared Codex app-server.`;V(e),y(t,{method:r,params:{message:e}})}return P=!1,await K(),N=G().finally(()=>{N=null}),A=await N,A}function J(e){H(e),I===e&&(I=null),L===e&&(L=null,R=null)}function Y(e){let t=I??L;if(t&&(y(t,e),e.method===`turn/completed`&&L===t)){let n=e.params?.threadId??null;(!n||!R||R.has(n))&&(L=null,R=null,I===t&&(I=null))}}async function X(e){F=!0;for(let e of z)e.end();await A?.close().catch(()=>{}),await new Promise(t=>e.close(t)),D.kind===`unix`&&p.existsSync(D.path)&&p.unlinkSync(D.path),O&&p.existsSync(O)&&p.unlinkSync(O)}A=await G();let Z=m.createServer(e=>{z.add(e),e.setEncoding(`utf8`);let t=``;e.on(`data`,async n=>{t+=n;let r=t.indexOf(`
|
|
3
3
|
`);for(;r!==-1;){let n=t.slice(0,r);if(t=t.slice(r+1),r=t.indexOf(`
|
|
4
|
-
`),!n.trim())continue;let
|
|
4
|
+
`),!n.trim())continue;let a;try{a=JSON.parse(n)}catch(t){y(e,{id:null,error:v(-32700,`Invalid JSON: ${t instanceof Error?t.message:String(t)}`)});continue}let o=a.id!==void 0&&!a.method?B.get(a.id):void 0;if(o){B.delete(a.id),o.client.exitResolved||o.client.sendMessage(a);continue}if(a.id!==void 0&&a.method===`initialize`){y(e,{id:a.id,result:{userAgent:`coder-broker`}});continue}if(a.method===`initialized`&&a.id===void 0||(a.id!==void 0&&a.method===`broker/shutdown`&&(y(e,{id:a.id,result:{}}),await X(Z),d.exit(0)),a.id===void 0||!a.method))continue;let s=I&&I!==e||L&&L!==e;if(a.method===`broker/recycle`){P=!0,!s&&A&&(V(`Recycling the shared Codex app-server after a stale-login error.`),P=!1,await K()),y(e,{id:a.id,result:{recycled:!s}});continue}let c=x(a)&&L&&L!==e&&!I;if(s&&!c){y(e,{id:a.id,error:v(i,`Shared Codex broker is busy.`)});continue}if(c){try{if(!A)throw Error(`codex app-server is not running.`);let t=await A.request(a.method,a.params??{});y(e,{id:a.id,result:t})}catch(t){let n=t;y(e,{id:a.id,error:v(n.rpcCode??-32e3,n.message)})}continue}let l=h.has(a.method);I=e,l&&(L=e,R=_(a.method,a.params??{},null));try{let t=await(await q(e)).request(a.method,a.params??{});y(e,{id:a.id,result:t}),l&&(R=_(a.method,a.params??{},t)),I===e&&(I=null)}catch(t){let n=t;y(e,{id:a.id,error:v(n.rpcCode??-32e3,n.message)}),I===e&&(I=null),L===e&&l&&(L=null,R=null)}}}),e.on(`close`,()=>{z.delete(e),J(e)}),e.on(`error`,()=>{z.delete(e),J(e)})});d.on(`SIGTERM`,async()=>{await X(Z),d.exit(0)}),d.on(`SIGINT`,async()=>{await X(Z),d.exit(0)}),setInterval(async()=>{z.size===0&&o(T,k)?.endpoint!==E&&(await X(Z),d.exit(0))},3e4).unref(),Z.listen(D.path)}C().catch(e=>{d.stderr.write(`${e instanceof Error?e.message:String(e)}\n`),d.exit(1)});export{};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{i as e,t}from"./cli-msOzZFXW.js";import{g as n,p as r}from"./output-BKeyLbvt.js";import{runnerOptions as i}from"./remove-CcMma1x3.js";import a from"node:process";function o({items:e}){if(!e.length)return void a.stdout.write(`${r.dim(`No runners.`)}\n`);a.stdout.write(`${n([{header:`id`,value:e=>e.id,paint:e=>r.cyan(e)},{header:`name`,value:e=>e.name},{header:`scope`,value:e=>e.scope},{header:`status`,value:e=>e.online?`online`:`offline`},{header:`kind`,value:e=>e.kind},{header:`default`,value:e=>e.default?`yes`:``}],e,r)}\n`)}const s=e({name:`runner list`,globalFlags:{cwd:!1},help:{usage:`coder runner list [--server [url]] [--json]`,flags:[t]},options:i,run:async({options:e})=>{let{listRunners:t}=await import(`./runner-c-2w6Eoj.js`).then(e=>e.a);return t(e)},print:o});export{s as commandRunnerList};
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import"./dispatch-YW1aqjEg.js";import{i as e,r as t}from"./cli-msOzZFXW.js";import{a as n,g as r,m as i,p as a,s as o}from"./output-BKeyLbvt.js";import{i as s,n as c,r as l,s as u}from"./args-DEMOfLz2.js";import{c as d,o as f}from"./result-oQey_hdw.js";import p from"node:path";import m from"node:process";const h={server:s,workspace:u,yes:c};function g(e){if(!e.length)return void m.stdout.write(`No server tasks.
|
|
2
|
+
`);let t=a;m.stdout.write(r([{header:`task-id`,value:e=>e.task.id,paint:e=>t.cyan(e)},{header:`status`,value:e=>e.status,paint:e=>d(e,t)},{header:`agent`,value:e=>e.task.agent},{header:`source`,value:e=>e.task.source},{header:`request`,value:e=>(e.task.prompt??(e.task.event?`${e.task.event.type}: ${e.task.event.text}`:`-`)).slice(0,80)},{header:`reply`,value:e=>f(e)??`-`}],e,t))}function _(e,t,s){let c=a;if(!e.length){let n=t.archived?`archived tasks`:t.running?`running tasks`:t.stopped?`recently stopped tasks`:`recent tasks`;m.stdout.write(`No ${n}.\n`),e.archived&&m.stdout.write(`\n${o([`${e.archived} archived: coder task list --archived [--limit N]`],c)}\n`);return}let l=[{header:`task-id`,value:e=>e.taskId,paint:e=>c.cyan(e),max:28},{header:`status`,value:e=>e.status,paint:(e,t)=>i(t.status,e.length),max:16},{header:`engine`,value:e=>(e.engine===`custom`&&e.model?e.model:(e.engine??`-`)+(e.model?`/${e.model}`:``))+(e.effort?`/${e.effort}`:``),paint:e=>c.light(e),max:26},{header:`cwd`,value:e=>e.cwd?p.basename(e.cwd):`-`,paint:e=>c.light(e),max:24},{header:`name`,value:e=>{let t=e.archived?` ${c.dim(`(archived)`)}`:``;return`${e.name?e.name:c.light(e.prompt)}${e.idleMs!==null&&e.idleMs>=12e4?` ${(e.idleMs>6e5?c.red:c.dim)(`· idle ${n(e.idleMs)}`)}`:``}${t}`}}],u=[],d=new Map;for(let t of e){if(!t.flowRunId){let e=u.at(-1);e&&!e.header?e.rows.push(t):u.push({rows:[t]});continue}let e=d.get(t.flowRunId);if(!e){let n=s(t.flowRunId);e={header:n?`(${c.bold(t.flowRunId)} ${n.status}. Flow ${n.name})`:`(${c.bold(t.flowRunId)} flow)`,rows:[]},d.set(t.flowRunId,e),u.push(e)}e.rows.push(t)}m.stdout.write(r(l,u,c)),e.clipped&&m.stdout.write(c.dim(`\n... ${e.clipped} more not shown (--limit ${t.limit===`all`?void 0:t.limit})\n`));let f=[`Result: coder task result <task-id>`];t.archived||f.push(`Older tasks: coder task list --archived [--limit N]`),m.stdout.write(`\n${o(f,c)}\n`)}const v=e({name:`task list`,help:{usage:`coder task list [--running] [--stopped] [--archived [--limit N]] [--server [url]]`,summary:`List recent tasks across all workspaces, most recent first: running tasks plus
|
|
3
|
+
ones stopped within the last 30 minutes. Older stopped tasks auto-archive and
|
|
4
|
+
move to --archived. Shortcut: \`coder list\`.`,flags:[[`--running`,`show only running tasks`],[`--stopped`,`show only recently stopped tasks (not yet archived)`],[`--archived`,`show only archived tasks (auto-archived or via task archive)`],[`--limit <n|all>`,`show at most n tasks (default all)`],[`--dir <dir>`,`only tasks launched in that workspace`],t]},options:{cwd:u,dir:u,limit:l,json:c,running:c,stopped:c,archived:c,...h},run:async({options:e})=>{let{tasks:t}=await import(`./task-DEp3GHwH.js`).then(e=>e.t);return t.list({...e,organization:e.workspace})},async print(e,{options:t}){if(t.server!==void 0)return g(e);let{readFlowRecord:n}=await import(`./executor-HWnIIYUL.js`).then(e=>e.b);_(e,t,n)}});export{v as commandTasks};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{i as e,t}from"./cli-msOzZFXW.js";import{g as n,p as r}from"./output-BKeyLbvt.js";import{n as i,o as a}from"./args-DEMOfLz2.js";import o from"node:process";function s(e){if(!e.length)return void o.stdout.write(`${r.dim(`No engine credentials.`)}\n`);o.stdout.write(`${n([{header:`label`,value:e=>e.label,paint:e=>r.cyan(e)},{header:`engine`,value:e=>e.engine},{header:`scope`,value:e=>e.scope},{header:`default`,value:e=>e.isDefault?`✔`:``},{header:`value`,value:e=>e.masked},{header:`account`,value:e=>[e.account?.email,e.account?.plan].filter(Boolean).join(` `)}],e,r)}\n`)}const c=e({name:`credentials list`,globalFlags:{cwd:!1},help:{usage:`coder credentials list [--server [url]] [--json]`,flags:[t]},options:{json:i,server:a,yes:i},run:async({options:e})=>{let{connect:t}=await import(`./remote-AcWWfKVS.js`).then(e=>e.a);return t(e).credentials.list()},print:s});export{c as commandCredentialsList};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{i as e,r as t}from"./cli-msOzZFXW.js";import{g as n,p as r,s as i}from"./output-BKeyLbvt.js";import{i as a,n as o,s,t as c}from"./args-DEMOfLz2.js";import l from"node:process";const u={server:a,workspace:s,yes:o},d=e=>`builtin`in e,f=e=>e.map(e=>d(e)?{id:e.id,name:e.name,source:e.builtin?`builtin`:`repo`,description:e.definition.description??null}:{id:e.id,name:e.name,source:e.source,version:e.currentVersion,description:e.description??null});function p(e,t){if(!e.length)return void l.stdout.write(`No agents configured.
|
|
2
|
+
`);let a=r;l.stdout.write(n([{header:`id`,value:e=>e.id,paint:e=>a.cyan(e)},{header:`name`,value:e=>e.name},{header:`source`,value:e=>e.source,paint:e=>a.light(e)},...t?[{header:`version`,value:e=>String(e.version)}]:[],{header:`description`,value:e=>e.description??`-`}],e,a)),!t&&l.stdout.write(`\n${i([`An agent's settings, triggers, and tools: coder agent show <id>`,`Scaffold a new agent in this repo: coder agent init <id>`],a)}\n`)}const m=e({name:`agent list`,help:{usage:`coder agent list [--server [url]] [--json] [--cwd <dir>]`,summary:`Without --server, one row per built-in and workspace agent. With --server, list the agent records and current versions owned by that Coder server.`,flags:[t]},options:{...c,...u},run:async({options:e,cwd:t})=>{let{agents:n}=await import(`./agent-BcXXkOmD.js`).then(e=>e.t);return n.list({...e,cwd:t,organization:e.workspace})},json:e=>f(e),print:(e,{options:t})=>p(f(e),t.server!==void 0)});export{m as commandAgentList,d as isLocal};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{i as e}from"./cli-msOzZFXW.js";import{g as t,p as n,s as r}from"./output-BKeyLbvt.js";import{n as i}from"./args-DEMOfLz2.js";import a from"node:process";function o(e){let i=n;a.stdout.write(t([{header:`id`,value:e=>e.id,paint:e=>i.cyan(e)},{header:`description`,value:e=>e.description},{header:`events`,value:e=>e.events.join(`, `)},{header:`tools`,value:e=>e.tools.join(`, `)}],e,{style:i,border:!0})),a.stdout.write(`\n${r([`Event descriptions and the tools each preset allows: coder agent integrations show <id>`],i)}\n`)}const s=e({name:`agent integrations list`,globalFlags:{cwd:!1},help:{usage:`coder agent integrations list [--json]`,summary:"One row per integration: its id, the events an agent can wire, and every tool it offers; `show` splits the tools by preset."},options:{json:i},run:async()=>{let{agents:e}=await import(`./agent-BcXXkOmD.js`).then(e=>e.t);return e.integrations.list()},print:o});export{s as commandIntegrationsList};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{at as e}from"./dispatch-YW1aqjEg.js";import{i as t}from"./cli-msOzZFXW.js";import{g as n,p as r,s as i}from"./output-BKeyLbvt.js";import{t as a}from"./args-DEMOfLz2.js";import o from"node:process";const s=t({name:`mcp list`,help:{usage:`coder mcp list [--json] [--cwd <dir>]`,summary:`List MCP servers from the merged user and repo config.`},options:a,run:({cwd:t})=>e(t),print:c});function c(e){let t=r,a=Object.keys(e);if(!a.length)return void o.stdout.write(`No MCP servers configured.\n\n${i([`Add a server: coder mcp add <name> -- <command>`],t)}\n`);o.stdout.write(n([{header:`name`,value:e=>e.name,paint:e=>t.cyan(e)},{header:`target`,value:e=>e.entry.url??[e.entry.command,...e.entry.args??[]].join(` `),paint:e=>t.light(e)},{header:`tools`,value:e=>e.entry.tools?.join(`, `)??`-`,paint:e=>t.light(e)}],a.map(t=>({name:t,entry:e[t]})),t))}export{s as commandMcpList};
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import{i as e,n as t}from"./cli-msOzZFXW.js";import{p as n,s as r}from"./output-BKeyLbvt.js";import{r as i}from"./models-DGPrMV51.js";import{n as a}from"./add-cdKdz3K0.js";import o from"node:process";const s=e({name:`model list`,help:{usage:`coder model list [--json]`,summary:`List built-in aliases, configured custom models, and user aliases. Only custom\nmodels are probed.\n\n${t}`},options:a,run:({cwd:e})=>i(e),print:c});function c(e){let i=n,a=e=>e?` ${i.dim(`(disabled)`)}`:``,s=[],c=(e,t)=>{s.push(i.bold(e));for(let e of t)`overrides`in e?s.push(` ${e.disabled?i.dim(`∅`):i.cyan(`↳`)} ${e.alias.padEnd(14)} ${i.dim(`-> ${e.spec} (overrides ${e.overrides})`)}${a(e.disabled)}`):`builtin`in e?s.push(` ${e.disabled?i.dim(`∅`):i.green(`✔`)} ${e.alias.padEnd(14)} ${i.dim(`-> ${e.model}`)}${a(e.disabled)}`):s.push(` ${e.disabled?i.dim(`∅`):i.cyan(`↳`)} ${e.alias.padEnd(14)} ${i.dim(`-> ${e.spec}`)}${a(e.disabled)}`);s.push(``)};c(`Codex models`,e.codex),c(`Claude models`,e.claude),s.push(i.bold(`Custom models`),``),e.custom.length||s.push(i.dim(` None.`));for(let{name:t,probe:n,...r}of e.custom){let e=r.disabled?i.dim(`∅`):n.reachable?i.green(`✔`):i.red(`✘`);s.push(` ${e} ${t.padEnd(14)} ${r.model} ${i.dim(`@ ${r.baseUrl}. ${n.detail}`)}${a(r.disabled)}`)}if(s.push(``),e.toggles){s.push(i.bold(`Other`),``);for(let t of e.toggles)s.push(` ${t.disabled?i.dim(`∅`):i.green(`✔`)} ${t.name.padEnd(14)} ${i.dim(`raw model id`)}${a(t.disabled)}`);s.push(``)}s.push(...t.split(`
|
|
2
|
+
`),``,r([`Add a custom model: coder model add <name> --base-url <url> --model <id> [--env-key VAR]`,`Alias a model, e.g. fast codex:luna: coder model alias <name> <spec>`,`Run with a model: coder run --model <name> "<task>"`],i)),o.stdout.write(`${s.join(`
|
|
3
|
+
`)}\n`)}export{s as commandModelList};
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import{Tt as e}from"./dispatch-YW1aqjEg.js";import{i as t}from"./cli-msOzZFXW.js";import{a as n,l as r,m as i,n as a,p as o,s}from"./output-BKeyLbvt.js";import{n as c,r as l,t as u}from"./args-DEMOfLz2.js";import d from"node:process";const f=t({name:`flow list`,help:{usage:`coder flow list [--archived] [--limit N] [--json]`,summary:`List recent flow runs, most recent first: running runs plus ones that ended
|
|
2
|
+
within the last 30 minutes. Older runs auto-archive and move to --archived.`,flags:[[`--archived`,`show archived runs (auto-archived or via flow archive)`],[`--limit <n|all>`,`show at most n runs (default all)`]]},options:{...u,archived:c,limit:l},run:async({options:e})=>{let{collectFlowRuns:t}=await import(`./executor-HWnIIYUL.js`).then(e=>e.b);return t(e)},json:e=>e.runs,print:(e,{options:t})=>p(e,t)});function p({runs:t,clipped:c},l){if(!t.length){d.stdout.write(l.archived?`No archived flow runs.
|
|
3
|
+
`:`No recent flow runs.
|
|
4
|
+
`),d.stdout.write(`\n${s([`Run one: coder flow run <name>`,`Runnable flows: coder flow discover`],o)}\n`);return}let u=o,f=(e,t,n)=>Math.min(t,Math.max(e,...n.map(e=>e.length))),p={id:f(6,28,t.map(e=>e.runId)),name:f(4,30,t.map(e=>e.name))};d.stdout.write(u.bold(u.light(`${`run-id`.padEnd(p.id)} ${`name`.padEnd(p.name)} ${`status`.padEnd(10)} ${`tasks`.padEnd(9)} ${`tokens`.padEnd(10)} age\n`)));for(let o of t){let t=Object.values(o.ledger).reduce((e,t)=>e+t.total,0);d.stdout.write(`${u.cyan(a(o.runId,p.id))} ${a(o.name,p.name)} ${i(o.status,10)} ${u.light(a(`${o.taskCount} tasks`,9))} ${u.light(a(t?`${r(t)} tok`:`-`,10))} ${u.light(n(e(o.startedAt)))}\n`)}c&&d.stdout.write(u.dim(`\n... ${c} more not shown (--limit ${l.limit})\n`)),d.stdout.write(`\n${s([`Result: coder flow result <run-id>`,`Tasks: coder list`,`Runnable flows: coder flow discover`],u)}\n`)}export{f as commandList};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{Mt as e,an as t,ht as n,it as r,tt as i}from"./dispatch-YW1aqjEg.js";import{t as a}from"./types-D0q15RJa.js";import o from"node:path";import{fileURLToPath as s}from"node:url";import*as c from"zod/mini";import l from"node:fs";const u=c.string().check(c.regex(/^[a-z0-9][a-z0-9_-]*$/i,`agent or flow name`)),d=c.enum([`low`,`medium`,`high`]),f=c.enum([`read-only`,`workspace-write`,`auto`]),p=c.enum([`observe`,`comment`,`write`]),m=c.union([p,c.array(c.string())]),h=c.strictObject({flow:c.optional(u),match:c.optional(c.string().check(c.minLength(1))),permissions:c.optional(f),actAs:c.optional(c.literal(`requester`))}),g=c.strictObject({triggers:c.optional(c.union([c.array(c.string()),c.record(c.string(),c.union([u,h,c.literal(!0)]))])),tools:c.optional(m)}),_=c.strictObject({$schema:c.optional(c.string()),name:c.optional(c.string().check(c.minLength(1))),description:c.optional(c.string()),engine:c.optional(c.string()),runner:c.optional(c.string().check(c.minLength(1))),model:c.optional(c.string()),effort:c.optional(d),permissions:c.optional(f),mcp:c.optional(c.record(u,r)),integrations:c._default(c.record(c.string(),g),{})}),v=c.strictObject({allowedTools:c.optional(m),allowedEvents:c.optional(c.array(c.string()))}),y=c.strictObject({engine:c.optional(c.string()),model:c.optional(c.string()),effort:c.optional(d),permissions:c.optional(f),integrations:c.optional(c.record(c.string(),v))}),b=c.record(u,c.union([c.boolean(),y]));function x(e){return e.issues.map(e=>`${e.path.map(String).join(`.`)||`(root)`}: ${e.message}`).join(`; `)}function S(e,t){let n=_.safeParse(t);if(!n.success)throw Error(`Invalid agent definition "${e}": ${x(n.error)}`);let{$schema:r,...i}=n.data;return i}function C(e){if(e===void 0)return{};let t=b.safeParse(e);if(!t.success)throw Error(`Invalid agents usage: ${x(t.error)}`);return t.data}function w(e){return e?.triggers?Array.isArray(e.triggers)?e.triggers:Object.keys(e.triggers):[]}function T(e,t){if(!e?.triggers)return;if(Array.isArray(e.triggers))return e.triggers.includes(t)?{}:void 0;if(!Object.prototype.hasOwnProperty.call(e.triggers,t))return;let n=e.triggers[t];return n===!0?{}:typeof n==`string`?{flow:n}:n}function E(e,t){let n=[],r=Object.keys(t).sort().join(`, `)||`none`;for(let i of e){for(let[e,a]of Object.entries(i.definition.integrations)){let o=`agents.${i.id}.integrations.${e}`,s=t[e];if(!s){n.push(`${o}: unknown integration; valid: ${r}`);continue}let c=Object.keys(s.events).sort().join(`, `)||`none`;for(let e of w(a)){e in s.events||n.push(`${o}.triggers.${e}: unknown event; valid: ${c}`);let t=T(a,e)?.match;if(t!==void 0)try{new RegExp(t)}catch{n.push(`${o}.triggers.${e}.match: invalid regex`)}}n.push(...D(`${o}.tools`,a.tools,s))}for(let[e,a]of Object.entries(i.usage?.integrations??{})){let o=`agents.${i.id}.integrations.${e}`,s=t[e];if(!s){n.push(`${o}: unknown integration; valid: ${r}`);continue}n.push(...D(`${o}.allowedTools`,a.allowedTools,s));let c=Object.keys(s.events).sort().join(`, `)||`none`;for(let e of a.allowedEvents??[])e in s.events||n.push(`${o}.allowedEvents: unknown event "${e}"; valid: ${c}`)}}return n}function D(e,t,n){if(t===void 0)return[];if(typeof t==`string`)return a.includes(t)?[]:[`${e}: unknown preset "${t}"; valid: ${a.join(`, `)}`];let r=new Set(Object.values(n.tools.presets).flat());return t.filter(e=>!r.has(e)).map(t=>`${e}: unknown tool "${t}"; valid: ${[...r].sort().join(`, `)||`none`}`)}function O(e,t){if(Array.isArray(e))return[...new Set(e)];let n=a.indexOf(e);return[...new Set(a.slice(0,n+1).flatMap(e=>t.tools.presets[e]??[]))]}function k(e,t,n){let r=O(e.definition.integrations[t]?.tools??`observe`,n),i=e.usage?.integrations?.[t]?.allowedTools;if(i===void 0)return r;let a=new Set(O(i,n));return r.filter(e=>a.has(e))}function A(e,t){let n=w(e.definition.integrations[t]),r=e.usage?.integrations?.[t]?.allowedEvents;return r===void 0?n:n.filter(e=>r.includes(e))}function j(e){return{engine:e.usage?.engine??e.definition.engine,model:e.usage?.model??e.definition.model,effort:e.usage?.effort??e.definition.effort,permissions:e.usage?.permissions??e.definition.permissions??`read-only`}}const M={"read-only":0,"workspace-write":1,auto:2};function N(e,t){return t&&M[t]<=M[e]?t:e}const P=`coder`;function F(){let e=o.dirname(s(import.meta.url));for(let t of[o.join(e,`builtin`),e])if(l.statSync(o.join(t,`coder`),{throwIfNoEntry:!1})?.isDirectory())return t;return e}function I(e,t=!1){let n={},r;try{r=l.readdirSync(e,{withFileTypes:!0}).filter(e=>e.isDirectory()).map(e=>e.name)}catch{return n}for(let i of r){let r=o.join(e,i),a=o.join(r,`agent.json`);l.statSync(a,{throwIfNoEntry:!1})?.isFile()&&(n[i]={json:JSON.parse(l.readFileSync(a,`utf8`)),builtin:t,dir:r})}return n}function L(){return I(F(),!0)}function R(e,t,n){let r=C(e.usage),i=Object.keys(r).filter(t=>!(t in e.definitions));if(i.length){let t=Object.keys(e.definitions).sort().join(`, `)||`none`;throw Error(`Invalid agents:\n agents.${i.sort().join(`, agents.`)}: no agent definition; known ids: ${t}`)}let a=[];for(let[t,n]of Object.entries(e.definitions)){let e=r[t];if(e===!1)continue;let i=S(t,n.json);a.push({id:t,name:i.name??t,definition:i,...typeof e==`object`?{usage:e}:{},...n.dir?{dir:n.dir}:{},builtin:n.builtin})}let o=E(a,t);if(o.length)throw Error(`Invalid agents:\n ${o.join(`
|
|
2
|
+
`)}`);return a}function z(e){let t=e.filter(e=>e in L()).sort();if(t.length)throw Error(`Invalid agents:\n agents.${t.join(`, agents.`)}: built-in agent ids are reserved`)}async function B(r,a){r=o.resolve(r);let s={...L()},c=I(e(`agents`)),u=I(o.join(r,`.coder`,`agents`));z([...Object.keys(c),...Object.keys(u)]),Object.assign(s,c,u);let d={...i(r).agents},f=n(t(r)),p=l.existsSync(f)?JSON.parse(l.readFileSync(f,`utf8`)).agents??{}:{};for(let e of Object.keys(d))!(e in s)&&!(e in p)&&delete d[e];return R({definitions:s,usage:d},a,r)}export{B as a,N as c,A as d,k as f,L as i,S as l,R as n,j as o,z as r,T as s,P as t,C as u};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{Sn as e}from"./dispatch-YW1aqjEg.js";import{t}from"./integrations-B2CavXR1.js";import{a as n,i as r,l as i,s as a}from"./task-DhZ5vhyY.js";import o from"node:path";import s from"node:process";import c from"node:fs";import{execFile as l,spawn as u}from"node:child_process";import d from"node:fs/promises";import{promisify as f}from"node:util";const p=e=>Buffer.from(JSON.stringify(e)).toString(`base64url`),m=e=>JSON.parse(Buffer.from(e,`base64url`).toString(`utf8`)),h=f(l);async function g(e){if(s.platform===`linux`){let t=await d.readFile(`/proc/${e}/stat`,`utf8`).catch(()=>``);return t.slice(t.lastIndexOf(`)`)+2).split(` `)[19]}return(await h(`ps`,[`-p`,String(e),`-o`,`lstart=`]).catch(()=>void 0))?.stdout.trim()||void 0}function _(e){let t=m(e);if(!Number.isInteger(t.pid)||typeof t.dir!=`string`||typeof t.started!=`string`)throw Error(`Invalid local runner handle`);return t}var v=class{workDir;kind=`local`;children=new Map;constructor(e){this.workDir=e}async start(t,i){await d.mkdir(this.workDir,{recursive:!0});let l=await d.mkdtemp(o.join(this.workDir,`task-`)),f=t.runner===`local`?r(t):void 0,m=c.openSync(o.join(l,`runner.log`),`a`),h=u(s.execPath,[e,`agent`,`run`,`--task`,t.id],{cwd:l,detached:!0,env:{PATH:s.env.PATH??``,HOME:s.env.HOME??``,TMPDIR:s.env.TMPDIR??``,...s.env.CODER_HOME?{CODER_HOME:s.env.CODER_HOME}:{},...i,...f?{CODER_CHECKOUT_CACHE:f}:{},CODER_INBOX_SOCKET:n(l)},stdio:[`ignore`,m,m]});await new Promise((e,t)=>{h.once(`spawn`,e),h.once(`error`,t)}),c.closeSync(m);let _={child:h};this.children.set(h.pid,_),h.once(`close`,e=>{_.code=e,a(o.join(l,`repo`)).catch(e=>console.error(`coder runner: checkout cleanup failed`,e))}),h.unref();let v=await g(h.pid);if(!v)throw Error(`Could not identify the local runner process`);return p({pid:h.pid,dir:l,started:v})}async status(e){let{pid:t,dir:n,started:r}=_(e),i=this.children.get(t);if(i?.code===void 0)try{if(s.kill(t,0),await g(t)===r)return{state:`running`}}catch{}return await a(o.join(n,`repo`)),{state:`exited`,...i?.code==null?{}:{code:i.code}}}async logs(e,t=-1){let{dir:n}=_(e),r=x(await d.readFile(o.join(n,`runner.log`),`utf8`).catch(()=>``));return{lines:r.slice(t+1),next:r.length-1}}async stop(e){let{pid:t,started:n}=_(e);if(await g(t)===n)try{s.kill(-t,`SIGTERM`)}catch{try{s.kill(t,`SIGTERM`)}catch{}}}async push(e,t){let{pid:r,dir:a,started:o}=_(e);if(await g(r)!==o)throw Error(`The task process exited`);return i(n(a),t)}};function y(e,t,n={}){return new Promise((r,i)=>{let a=u(e,t,{env:n,stdio:[`ignore`,`pipe`,`pipe`]}),o=``,s=``;a.stdout.on(`data`,e=>o+=String(e)),a.stderr.on(`data`,e=>s+=String(e)),a.once(`error`,i),a.once(`close`,e=>r({code:e,stdout:o,stderr:s}))})}function b(){return Object.values(t).flatMap(e=>e.tools.install?[`(${e.tools.install})`]:[])}function x(e,t=`out`){return e.split(/\r?\n/).filter(Boolean).map(e=>({level:t,line:e}))}export{m as a,b as i,x as n,p as o,y as r,v as t};
|