@wular/coder 0.4.9 → 0.4.10
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-C3Mgpl9J.js +2 -0
- package/dist/adapter-BeezVK-B.js +1 -0
- package/dist/{adapter-YCvP9H2n.js → adapter-ChaISKgI.js} +42 -42
- package/dist/{adapter-B2RXnvqt.js → adapter-MD6ahqPR.js} +6 -6
- package/dist/{add-CvBTpxgY.js → add-B26QSwPY.js} +2 -2
- package/dist/add-BbXuvqj1.js +1 -0
- package/dist/add-Bk8drM-8.js +1 -0
- package/dist/add-CD_L-WW8.js +2 -0
- package/dist/agent-B8ItyuHN.js +8 -0
- package/dist/{agent-vYm7Geh-.js → agent-DHpMqHVi.js} +1 -1
- package/dist/alias-CScCzXhS.js +2 -0
- package/dist/{app-CJPFaLIV.js → app-wHQJHu6N.js} +1 -1
- package/dist/approvals-BIGQBbCM.js +2 -0
- package/dist/{approve-CBuGu3du.js → approve-BnZ3v-3c.js} +1 -1
- package/dist/approve-DFSy7Z72.js +2 -0
- package/dist/apps-6BgpUsFh.js +372 -0
- package/dist/archive-CU0nhUeJ.js +4 -0
- package/dist/{archive-C89Z4kSx.js → archive-CY2lvp_c.js} +2 -2
- package/dist/args-BekfmD9t.js +1 -0
- package/dist/ask-CLDgHB_Y.js +4 -0
- package/dist/auth-C3KrIUf1.js +1 -0
- package/dist/auth-CGeSfgNb.js +1 -0
- package/dist/builtin/coder/agent.json +5 -9
- package/dist/chat-AbW-LOHo.js +13 -0
- package/dist/chat-bridge-WK-pKNfw.js +2 -0
- package/dist/chat-bwKd3y6V.js +1 -0
- package/dist/cli-Fp28pM4Y.js +9 -0
- package/dist/cli.js +1 -1
- package/dist/client-DzwzCsue.js +22 -0
- package/dist/config-DoVedq6T.js +3 -0
- package/dist/{connection-BtUZA2St.js → connection-5V8doFL7.js} +1 -1
- package/dist/connection-Cb0TK201.js +1 -0
- package/dist/conversation-DT-35cEt.js +1 -0
- package/dist/create-CrjRdQip.js +1 -0
- package/dist/credentials-DoL9w8D1.js +1 -0
- package/dist/dash/standalone/server/build-index.json +1 -1
- package/dist/dash/standalone/server/manifest.json +1317 -1303
- package/dist/dash/standalone/server/modules-server-server-react-server/src/client/{index.8e150ef2bc6a5f4e.js → index.843431e3538fd9a4.js} +7 -11
- package/dist/dash/standalone/server/modules-server-server-react-server/src/core/{defaults.e6ce0944639198a2.js → defaults.1b615366c56838a1.js} +27 -1
- package/dist/dash/standalone/server/modules-server-server-react-server/src/core/event-prompt.87f064ca0141e796.js +30 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/core/task/{log-view.871cbff2605b5cfd.js → log-view.60308a11f7001eb7.js} +10 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/api/{load.4f942c7f68b2e273.js → load.7ae462ef36271be8.js} +15 -2
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/api/{types.9f59e6c761d6aac4.js → types.79f9092cdb5a00d1.js} +4 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/connect/{page.a2a16ead424b2185.js → page.806027fde54ab723.js} +3 -3
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/create/[id]/{page.90e312759b87cfa2.js → page.bd04d2d3eba00676.js} +2 -2
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/account/{loading.787d09fb0b2b6b57.js → loading.e348ec45e9ed951b.js} +2 -2
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/account/{notify.5fc5e4346dcbfc32.js → notify.857748e260c691e3.js} +1 -1
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/account/{page.1641da62504df30a.js → page.25153459858542f9.js} +9 -9
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/account/{sign-out.5dac3bf780c74354.js → sign-out.ff98573f362d76f3.js} +4 -4
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/(list)/{agent-menu.f1dacbfebc27a656.js → agent-menu.2ed0e66d131fc148.js} +3 -3
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/(list)/{agents-grid.5da78e9a741b028a.js → agents-grid.8efd14bc39281da9.js} +22 -13
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/(list)/{connect-apps.722bc3e4ec1f9fad.js → connect-apps.d1e67db29b12dc0a.js} +5 -5
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/(list)/{loading.2815a010098aa676.js → loading.fac1132ad9c4248e.js} +5 -5
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/(list)/{page.b01992337eeca2dc.js → page.0f7d5e3e42462870.js} +15 -20
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/{layout.8aeb0fddffe22ad5.js → layout.05210ffa6038791f.js} +19 -19
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/{loading.50692149df9abb28.js → loading.388aeaf0c2edf8f8.js} +1 -1
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/{page.e2e23101c05b9548.js → page.19fe116c0f802cb1.js} +80 -30
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/platforms/{loading.31d2c13229ae9222.js → loading.4da9e2ba3fea937f.js} +2 -2
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/platforms/{page.11c7b50d6119efe6.js → page.f87fd8eb66f73af0.js} +37 -30
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/platforms/{platform-actions.92ac7aa258e706a4.js → platform-actions.b6c3d3184e167d0b.js} +68 -41
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/settings/{agent-settings-form.fc530622fa2292a0.js → agent-settings-form.28220621573033d7.js} +47 -72
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/settings/{loading.bf17bd39f41db826.js → loading.ad1a4c9b000d269a.js} +1 -1
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/settings/{page.6e95dfe07dfebf4b.js → page.2f7467868f599ebc.js} +15 -21
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/tasks/{loading.7b17368ee81275ab.js → loading.ec94096015346f2c.js} +2 -2
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/tasks/{page.0bd3da9b3227b12f.js → page.a92a36a8ce21088c.js} +1 -1
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/usage/{loading.d2cc33cf044a92a3.js → loading.8f998a9c511e1fb3.js} +3 -3
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/usage/{page.91c43fbc54e37646.js → page.8935a5fe5c08bcf1.js} +7 -7
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/{versions-list.23e4131cdf71daa5.js → versions-list.5b97ab6d40e2e639.js} +6 -6
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/edit/{loading.47c4c8f31b4f17cc.js → loading.bedcc1aba372fbce.js} +5 -5
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/edit/{page.cbd2bad8fede6fef.js → page.14760e9eedd6ff8e.js} +13 -24
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/agent/{agent-pills.d8e785c45f5410a6.js → agent-pills.f987c12bcbc5c850.js} +13 -7
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/agent/{agent-toggle.a6e27ac4171bfdb0.js → agent-toggle.a6ee8bd882178e29.js} +3 -3
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/agent/{hero.96bdca9762ff3e2e.js → hero.8be1dd4ea3ed6e17.js} +6 -6
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/agent/{instructions.ca0c09d4849bfc30.js → instructions.85b1cd986a9edbb5.js} +1 -1
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/editor/{connect-repositories.258f6c2c5f1b1b17.js → connect-repositories.59d89152fe845af2.js} +1 -1
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/editor/{editor.20c42102ed262db7.js → editor.77f68d431408745b.js} +36 -76
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/editor/{import-picker.b8093a7ca97656a5.js → import-picker.a7b01817a821819a.js} +15 -16
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/new/{loading.6012b36c10c68657.js → loading.ee001af7a96e3972.js} +6 -6
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/new/{page.1ebdb0247922fc14.js → page.c4570fd80bdda68c.js} +11 -19
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/{layout.6d2242d49ae9dd35.js → layout.19006c2d7dc8d114.js} +13 -13
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/operator/{operator-apps.a56516bc0ba79187.js → operator-apps.d350a52d27f69fa6.js} +7 -7
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/operator/{page.af19494c89ac62c0.js → page.4a652f5080c2b863.js} +8 -9
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/{page.c720853404d94114.js → page.d39f7a1719f50c6d.js} +2 -2
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/{connections-list.9b96914a4fa4e2a9.js → connections-list.ff7e1dadcd4df17f.js} +36 -31
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/{credentials-list.dbaa8f3d82445b90.js → credentials-list.87a1f8ab71eb4bed.js} +204 -240
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/{credentials.c4b01484d183549d.js → credentials.a535c9c6dd8b4cdf.js} +10 -11
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/{engines-list.5c03e83663a6a9b7.js → engines-list.29fffd07c1c3b771.js} +7 -7
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/{list.df5ee5d74bec0f5b.js → list.0c87d55cf4ef382c.js} +43 -33
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/{loading.480b8f915bae18c1.js → loading.7ca95dcb4fb3362b.js} +1 -1
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/{models-list.2835a48d1edeb6d1.js → models-list.6fea9faddb8300bb.js} +147 -137
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/{page.1d53415d55e77fee.js → page.295245052b93af90.js} +23 -23
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/{runners-list.bf5746f48e3f78f5.js → runners-list.a4a38e54d834a1ec.js} +18 -19
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/{secrets-list.b0dedc1567efc09f.js → secrets-list.50f487766f87383c.js} +23 -15
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/{layout.567d27e39d42d719.js → layout.c42e0ab39cb2c0e0.js} +5 -5
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/{model-options.2eacf7f8ac0032df.js → model-options.a96c11d11674f598.js} +13 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/{page.bac05d6e87953d0e.js → page.6997506eaa1a4824.js} +1 -1
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/{settings-head.5e2dff2550b3b73e.js → settings-head.bbc7ced8dd5491eb.js} +1 -1
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/{tunnel-guide.d6fae1c5d62f2c74.js → tunnel-guide.29eee1a0b1852168.js} +1 -1
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/setup/{create-link.03989d2f7585a045.js → create-link.9458b49dc99bbaaa.js} +5 -5
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/setup/{outcome-dialog.4debc1a8c644df4b.js → outcome-dialog.894c73f9abee3ce1.js} +5 -4
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/setup/{page.43c969f59a710781.js → page.77e402bb6e8e7f7e.js} +7 -7
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/[id]/{activity.3755ae6065c3fc28.js → activity.fcda6f18c8207c99.js} +22 -27
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/[id]/{loading.9efbed6531879838.js → loading.56520888d5270b88.js} +6 -9
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/[id]/{page.7b92dcd08095b934.js → page.d0f039221a27b8ef.js} +7 -7
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/[id]/{task-actions.62422b873f98ee8e.js → task-actions.f5f2016d2dc7f422.js} +14 -12
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/[id]/{task-view.ae0e9c9dffe0ff9f.js → task-view.a292baa2410cdf64.js} +129 -66
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/{composer-data.ff108c0ef82a4d7b.js → composer-data.309a194fc7fa34be.js} +3 -3
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/{composer.fdad306647cbaa59.js → composer.2d4122eb33addbdd.js} +29 -41
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/list/{task.af5001e51d2f612b.js → task.a0c68180db5fb4c1.js} +26 -2
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/list/{tasks-list.952f37a9486aebe7.js → tasks-list.021bdc2f3d90af2d.js} +34 -31
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/list/{tasks-section.1247d4765d0e1bdc.js → tasks-section.13f64b0836ae406b.js} +10 -10
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/{page.cf74c55e6528c7c9.js → page.b78f0df100410db0.js} +5 -5
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/usage/{custom-range.2d55812ec086b540.js → custom-range.2e21c7f891966c15.js} +3 -3
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/usage/{day-chart.08d378cca93d3ab1.js → day-chart.261b6651df2d3966.js} +2 -2
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/usage/{loading.7aed78a276b08a4f.js → loading.97d277dbab9c15cf.js} +4 -5
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/usage/{metric.ada350d2b7449b39.js → metric.5ff3636065481c44.js} +1 -1
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/usage/{page.fed9345ebac3e1b3.js → page.93c2306069c03c68.js} +11 -18
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/usage/{range-bar.b1296c2378128472.js → range-bar.2197d8f43216d104.js} +4 -4
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/usage/{top-agents.e215d44e00192271.js → top-agents.18fc469e781e2305.js} +6 -10
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/{layout.b7e3af142b17941b.js → layout.185dbc99875e208a.js} +11 -3
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/login/{page.226544940a39fd3a.js → page.a82be2fd23e9ac67.js} +2 -7
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/zone.0515a688ee5ff6ca.js +17 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/frame/{drawer.8287e5a02144e4f1.js → drawer.d3e61538dbc8ec39.js} +2 -2
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/frame/{foreign-link.86f0cc228353da6e.js → foreign-link.1f4217895ff1e835.js} +3 -3
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/frame/heads.37e35439c02fc636.js +16 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/frame/{loading-card.0c6ac62ff3ccf38a.js → loading-card.cc76fc9708142525.js} +5 -5
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/frame/{page-head.bd54e52ac4a7a89c.js → page-head.85f15db7b648d48c.js} +4 -3
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/frame/{stream.1cc355a530dcc5e3.js → stream.95a2468086aceb84.js} +3 -3
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/frame/{task-toasts.63f673632770924d.js → task-toasts.e1a484113e1df660.js} +11 -7
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/frame/{theme-choices.5f59814a635caeec.js → theme-choices.85100ed66d6f9200.js} +2 -2
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/nav/{back.5681714d0cf45454.js → back.180765bdadf6d602.js} +3 -3
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/nav/{org.4d84ad0ac340fbe2.js → org.572ad93c7707ab27.js} +1 -1
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/nav/{side-toggle.249400957d6a7527.js → side-toggle.489faf1a259479f7.js} +2 -2
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{badge.0851f234f300c694.js → badge.c0bc352791a95fd6.js} +1 -1
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{button.983daea9e687fc5d.js → button.ce9e6cdb08ca86db.js} +1 -1
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{card.c08471eaa0bc1cec.js → card.9f0d45b73bc78b4f.js} +9 -5
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{collapse.762eba56417214ca.js → collapse.93e4d1b20c2873ed.js} +13 -3
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{combo.efb84f0cca771948.js → combo.54270c0251466fda.js} +3 -22
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{confirm.53edc755945b0563.js → confirm.c1281f9b12854210.js} +3 -3
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{copy.0b23d7dc05757df5.js → copy.bd6fc1577a393965.js} +2 -2
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{filter.1983b85dd0679af6.js → filter.3a452a262f040973.js} +6 -6
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{icons.a34176f37808cd66.js → icons.e36c72f54750663a.js} +0 -1
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{menu-items.a8e580a0c90631ff.js → menu-items.1d082ac4dae8f3d4.js} +1 -1
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{menu.a41edd5cde1c90cf.js → menu.ee45bace979944b6.js} +2 -2
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{modal.b5f74ebf59590fa6.js → modal.25d53e5b41b9c4e5.js} +2 -2
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{select.36c6f21ce6aa720f.js → select.2eb33e5bea28d804.js} +28 -23
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{tail.a8a951c757376590.js → tail.04132db0c5033d4f.js} +4 -3
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{toolbar.9621ef221a896a8e.js → toolbar.24036899654de6df.js} +2 -2
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/utils/{action.1a6356d5b722cafb.js → action.968bcab0f5e3665d.js} +2 -2
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/utils/{client.d25e6dcc6704eb60.js → client.189224c16057d7a1.js} +1 -1
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/utils/follow.bfb9bcff3c1366d7.js +32 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/utils/{format.6a7d1beaf4d09d9c.js → format.ceeaafa10a0563f3.js} +1 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/utils/{paged.18f5872fc5aebe96.js → paged.0e54c3044f8ca567.js} +1 -7
- package/dist/dash/standalone/static/assets/chunks/action-410bdc82c416bc01.js +1 -0
- package/dist/dash/standalone/static/assets/chunks/agent-pills-0c0b8d40b9bfc78f.js +2 -0
- package/dist/dash/standalone/static/assets/chunks/agent-settings-form-5a2601316e2ab283.js +1 -0
- package/dist/dash/standalone/static/assets/chunks/{agent-toggle-b2f2c22e63dedc1f.js → agent-toggle-5ede0c449e88cb9d.js} +1 -1
- package/dist/dash/standalone/static/assets/chunks/agents-grid-ffb18df48e951ecb.js +1 -0
- package/dist/dash/standalone/static/assets/chunks/{back-1d1b062f0e1b29b7.js → back-602db2cfdccf2e7f.js} +1 -1
- package/dist/dash/standalone/static/assets/chunks/combo-df2685e277db02c0.js +1 -0
- package/dist/dash/standalone/static/assets/chunks/composer-08e49d49c0c3ee94.js +1 -0
- package/dist/dash/standalone/static/assets/chunks/composer-data-5fed6c271a4791ca.js +1 -0
- package/dist/dash/standalone/static/assets/chunks/composer-e1cefed81ea89b7e.js +1 -0
- package/dist/dash/standalone/static/assets/chunks/{confirm-1cb4d8df3974f34a.js → confirm-d163e6865d66dfab.js} +1 -1
- package/dist/dash/standalone/static/assets/chunks/connect-apps-ce3c9d049ebad459.js +1 -0
- package/dist/dash/standalone/static/assets/chunks/{connect-repositories-995d55b3f166337d.js → connect-repositories-0aa9abc77b9c3d48.js} +1 -1
- package/dist/dash/standalone/static/assets/chunks/connections-list-6eddeb8583ded10f.js +1 -0
- package/dist/dash/standalone/static/assets/chunks/{copy-c938369a1bfe75fd.js → copy-0cc00656953531be.js} +1 -1
- package/dist/dash/standalone/static/assets/chunks/create-link-bc365f8dfe88e6b3.js +1 -0
- package/dist/dash/standalone/static/assets/chunks/credentials-list-1b6a81e9b4934dc8.js +1 -0
- package/dist/dash/standalone/static/assets/chunks/{custom-range-4eeb710748887f3a.js → custom-range-cae5567874db83ca.js} +1 -1
- package/dist/dash/standalone/static/assets/chunks/defaults-52f30e83d7666f7a.js +1 -0
- package/dist/dash/standalone/static/assets/chunks/editor-d55d247a1d7de5f0.js +6 -0
- package/dist/dash/standalone/static/assets/chunks/engines-list-288559344de4d4b9.js +1 -0
- package/dist/dash/standalone/static/assets/chunks/{field-657227821326b5b3.js → field-693bb870ad0bdee8.js} +1 -1
- package/dist/dash/standalone/static/assets/chunks/format-a27067f0186e78ac.js +1 -0
- package/dist/dash/standalone/static/assets/chunks/instructions-3f18e035338b0d0b.js +1 -0
- package/dist/dash/standalone/static/assets/chunks/instructions-a3d7688e421f2a08.js +2 -0
- package/dist/dash/standalone/static/assets/chunks/list-2a59237cb7cb0a7c.js +1 -0
- package/dist/dash/standalone/static/assets/chunks/model-options-8d2170eebe0d061d.js +1 -0
- package/dist/dash/standalone/static/assets/chunks/models-list-5ed9ee02f9b66d98.js +1 -0
- package/dist/dash/standalone/static/assets/chunks/{notice-cd32ca98bbc10844.js → notice-7d84ffab32ff24ca.js} +1 -1
- package/dist/dash/standalone/static/assets/chunks/outcome-dialog-3cffe3507ea92af2.js +1 -0
- package/dist/dash/standalone/static/assets/chunks/outcome-dialog-f6fb8c69efa66508.js +1 -0
- package/dist/dash/standalone/static/assets/chunks/platform-actions-4dc31567d00c4cb2.js +1 -0
- package/dist/dash/standalone/static/assets/chunks/platform-actions-ecd7200f7749c258.js +1 -0
- package/dist/dash/standalone/static/assets/chunks/runners-list-984246a8f9450da1.js +1 -0
- package/dist/dash/standalone/static/assets/chunks/{runtime-e8b9eb1e537215ed-1.js → runtime-6e12333f12903a62-1.js} +1 -1
- package/dist/dash/standalone/static/assets/chunks/secrets-list-88f8b30abbab52f0.js +1 -0
- package/dist/dash/standalone/static/assets/chunks/{segmented-24da438244eedc8f.js → segmented-79c9c69b702e0b90.js} +1 -1
- package/dist/dash/standalone/static/assets/chunks/shared-init-6e12333f12903a62-2.js +1 -0
- package/dist/dash/standalone/static/assets/chunks/shared-init-962398d15ee67c92.js +5 -0
- package/dist/dash/standalone/static/assets/chunks/shared-init-ae95a674d381c095.js +2 -0
- package/dist/dash/standalone/static/assets/chunks/side-toggle-7ada95cc7601eb49.js +1 -0
- package/dist/dash/standalone/static/assets/chunks/tail-99e29a541a072002.js +1 -0
- package/dist/dash/standalone/static/assets/chunks/task-95daa40d39de664f.js +1 -0
- package/dist/dash/standalone/static/assets/chunks/task-actions-1cdca1e8d3eee490.js +1 -0
- package/dist/dash/standalone/static/assets/chunks/task-view-fdcde0e31f63b737.js +5 -0
- package/dist/dash/standalone/static/assets/chunks/tasks-list-3ad1c93deff4fb2e.js +1 -0
- package/dist/dash/standalone/static/assets/chunks/types-3eca2c7f47c46054.js +1 -0
- package/dist/dash/standalone/static/assets/chunks/{versions-list-31f31eb1923a0ded.js → versions-list-60ac4d8f715bf5f7.js} +1 -1
- package/dist/dash/standalone/static/assets/chunks/{wular-pnext-e8b9eb1e537215ed-0.js → wular-pnext-6e12333f12903a62-0.js} +1 -1
- package/dist/dash/standalone/static/assets/create-param-id-da3f7e20689fe51a.css +1 -0
- package/dist/dash/standalone/static/assets/{dash-param-org-account-3f646d473e3bd795.css → dash-param-org-account-9471bec93c444232.css} +1 -1
- package/dist/dash/standalone/static/assets/dash-param-org-agents-64500e78caae32df.css +1 -0
- package/dist/dash/standalone/static/assets/dash-param-org-agents-new-c067c22928a2d7cc.css +1 -0
- package/dist/dash/standalone/static/assets/dash-param-org-agents-param-slug-9dec87710e04f949.css +1 -0
- package/dist/dash/standalone/static/assets/dash-param-org-agents-param-slug-edit-779c474301e04440.css +1 -0
- package/dist/dash/standalone/static/assets/dash-param-org-agents-param-slug-platforms-c7d594b5232630c2.css +1 -0
- package/dist/dash/standalone/static/assets/dash-param-org-agents-param-slug-settings-a80e62570716fdb9.css +1 -0
- package/dist/dash/standalone/static/assets/dash-param-org-agents-param-slug-tasks-ce278252012297b9.css +1 -0
- package/dist/dash/standalone/static/assets/dash-param-org-agents-param-slug-usage-d3b6d701eb8e1403.css +1 -0
- package/dist/dash/standalone/static/assets/{dash-param-org-67f7811b1343c064.css → dash-param-org-bcfa3de29341d5ba.css} +1 -1
- package/dist/dash/standalone/static/assets/dash-param-org-operator-b7bc6447cc27c9ce.css +1 -0
- package/dist/dash/standalone/static/assets/{dash-param-org-settings-a851a659784d94b5.css → dash-param-org-settings-6d6902345d88a687.css} +1 -1
- package/dist/dash/standalone/static/assets/dash-param-org-settings-param-tab-85c7af9a89eef06e.css +1 -0
- package/dist/dash/standalone/static/assets/{dash-param-org-setup-1b708aa5bb2f83ef.css → dash-param-org-setup-173efecd7b990c2e.css} +1 -1
- package/dist/dash/standalone/static/assets/dash-param-org-tasks-ae0bc03f468e63cc.css +1 -0
- package/dist/dash/standalone/static/assets/dash-param-org-tasks-param-id-7325d8cff5be3592.css +1 -0
- package/dist/dash/standalone/static/assets/{dash-param-org-operator-56742192a9aafc19.css → dash-param-org-usage-517b2a7ae462ac57.css} +1 -1
- package/dist/dash/standalone/static/assets/global-87e1762113874559.css +1 -0
- package/dist/dash/standalone/static/assets/pnext-client-0b3b70f1aefb9947.js +1 -0
- package/dist/dash/standalone/static/assets/pnext-client-0d90849808b6eb05.js +1 -0
- package/dist/dash/standalone/static/assets/pnext-client-12faa1754e3ef3be.js +1 -0
- package/dist/dash/standalone/static/assets/pnext-client-23384b239b81a761.js +1 -0
- package/dist/dash/standalone/static/assets/pnext-client-23e200dd9b7a79c0.js +1 -0
- package/dist/dash/standalone/static/assets/pnext-client-2562299eef46e62c.js +1 -0
- package/dist/dash/standalone/static/assets/pnext-client-3a4ada64991e6a40.js +1 -0
- package/dist/dash/standalone/static/assets/pnext-client-71e7ecdfcf86be84.js +1 -0
- package/dist/dash/standalone/static/assets/pnext-client-726c29bbb81054c0.js +1 -0
- package/dist/dash/standalone/static/assets/pnext-client-825e9f5b63950ef4.js +1 -0
- package/dist/dash/standalone/static/assets/pnext-client-894cff70289fb7a3.js +1 -0
- package/dist/dash/standalone/static/assets/pnext-client-8f96a4b8a00ff460.js +1 -0
- package/dist/dash/standalone/static/assets/pnext-client-9bc9b14c08020649.js +1 -0
- package/dist/dash/standalone/static/assets/pnext-client-ab36b406301fd2a4.js +1 -0
- package/dist/dash/standalone/static/assets/pnext-client-b8c585cae8da7778.js +1 -0
- package/dist/dash/standalone/static/assets/pnext-client-bab4305b41abb15a.js +1 -0
- package/dist/dash/standalone/static/assets/pnext-client-bd80926822b3993d.js +1 -0
- package/dist/dash/standalone/static/assets/pnext-client-cd4c7b4318fa1846.js +1 -0
- package/dist/dash/standalone/static/assets/pnext-client-db55344d00b7888f.js +1 -0
- package/dist/dash/standalone/static/assets/pnext-client-eddcd5df2b28120f.js +1 -0
- package/dist/default-tTTSBdXq.js +1 -0
- package/dist/delete-DM2sA12f.js +2 -0
- package/dist/{delete-DS6P_fun.js → delete-DR37NTr1.js} +2 -2
- package/dist/disable-Dz_zLPX5.js +1 -0
- package/dist/{discover-pKrMDvpW.js → discover-CqabH4Fx.js} +2 -2
- package/dist/dispatch-BJZqI7sj.js +8 -0
- package/dist/{dist-C3wD7GfG.js → dist-B2jiMMxZ.js} +2 -2
- package/dist/{dist-DkATuPBB.js → dist-ClCNj65n.js} +2 -2
- package/dist/{dist-BTornX7Y.js → dist-DAnSqY1s.js} +2 -2
- package/dist/docs-BV9SC67g.js +2 -0
- package/dist/{docs-sFUXzJbk.js → docs-b2mAKC8Z.js} +1 -1
- package/dist/drive-CU2HOCfR.js +1 -0
- package/dist/{enable-BWvDv7dP.js → enable-Cfeki-ne.js} +1 -1
- package/dist/env-DSddo-fz.js +1 -0
- package/dist/exec-DcWxZar6.js +3 -0
- package/dist/executor-LkokKTTd.js +11 -0
- package/dist/flow/builtin/review.d.ts +2 -2
- package/dist/flow/builtin/review.js +7 -14
- package/dist/flow/index.d.ts +1 -1
- package/dist/flow/index.js +1 -1
- package/dist/flow-BQcdyrVK.js +1 -0
- package/dist/history-D_A5odLI.js +8 -0
- package/dist/http-CXaW1e7x.js +1 -0
- package/dist/init-DU_S43NG.js +1 -0
- package/dist/integrations-DPxWtNnS.js +2 -0
- package/dist/integrations-Dwvxl7i2.js +1 -0
- package/dist/lib/broker.js +2 -2
- package/dist/{list-BDpYPbJF.js → list-7yd9K7d8.js} +1 -1
- package/dist/list-BJ0j5eP9.js +4 -0
- package/dist/list-Boaz5b5n.js +2 -0
- package/dist/{list-CaFQOnfI.js → list-CIS-GYO1.js} +1 -1
- package/dist/list-CR0_Emod2.js +4 -0
- package/dist/list-CnHZriYt.js +3 -0
- package/dist/list-_EH6c041.js +1 -0
- package/dist/list-i2r3Nlyz.js +1 -0
- package/dist/load-C-GZnuok.js +2 -0
- package/dist/local-Fs-dx_dP.js +5 -0
- package/dist/log-view-CL3_S0IQ.js +3 -0
- package/dist/{login-CpHx_RCq.js → login-CzD2EMD_.js} +1 -1
- package/dist/login-DISw6--d.js +1 -0
- package/dist/{logout-zSQBDPCK.js → logout-DMnc5yri.js} +1 -1
- package/dist/{maintenance-DuIspk-y.js → maintenance-BVDuG9Hg.js} +1 -1
- package/dist/match-BfjPZ7gJ.js +1 -0
- package/dist/mcp-B-hy3eM-.js +11 -0
- package/dist/mcp-CbN-QcpF.js +1 -0
- package/dist/mcp-server-DQqSgD3P.js +1 -0
- package/dist/model-Ckyoyji3.js +1 -0
- package/dist/models-VaiIYlOW.js +1 -0
- package/dist/prompt-DQyPCLUo.js +8 -0
- package/dist/prompts-CEf7z4i_.js +77 -0
- package/dist/push-BNomfHJ3.js +1 -0
- package/dist/reconnect-Bd_jna1M.js +1 -0
- package/dist/refresh-D-broYEx.js +1 -0
- package/dist/remote-f-uny3XZ.js +3 -0
- package/dist/remove-CCYHc1FN.js +1 -0
- package/dist/remove-DMTz_c25.js +1 -0
- package/dist/remove-DdcQ-6by.js +1 -0
- package/dist/{remove-BcewhH1U.js → remove-VtavIuGm.js} +1 -1
- package/dist/rename-CKMyelWN.js +1 -0
- package/dist/{result-Bg557zR6.js → result-CH3_tVXO.js} +2 -2
- package/dist/result-DvOqIwhh.js +18 -0
- package/dist/{resume-fnx4FUQF.js → resume-6j3RUpqa.js} +2 -2
- package/dist/{review-CAHDqPq8.js → review-B4ETH5ki.js} +2 -2
- package/dist/{index-vd37q3fn.d.ts → review-DDYD3Yvq.d.ts} +173 -74
- package/dist/{rotate-key-Dpx_WmuU.js → rotate-key-Byk_wI73.js} +1 -1
- package/dist/run-DKJW7qwy.js +2 -0
- package/dist/run-DkYzyUnp.js +5 -0
- package/dist/run-LCE1XiyU.js +2 -0
- package/dist/runner-CxtzTgVq.js +1 -0
- package/dist/runner-Dnu1Vx_i.js +1 -0
- package/dist/runner.json +1 -0
- package/dist/runner.tgz +0 -0
- package/dist/runners-vsoGeyuc.js +36 -0
- package/dist/schema-Brm7WIKd.js +8 -0
- package/dist/schema.d.ts +2 -2
- package/dist/schema.js +1 -1
- package/dist/{sdk-CWerLcF5.d.ts → sdk-CKTCrtGe.d.ts} +660 -376
- package/dist/sdk.d.ts +4 -5
- package/dist/sdk.js +1 -1
- package/dist/serve-C1zag2nr.js +1 -0
- package/dist/{serve-w-9qRCP1.js → serve-C6tsUF0D.js} +2 -2
- package/dist/serve-CCxSxXgv.js +1 -0
- package/dist/serve-D8J-sEqm.js +12 -0
- package/dist/{server-Bw_YmgCf.js → server-B4SRYM2L.js} +1 -1
- package/dist/setup-host-EaP4GPKB.js +6 -0
- package/dist/show-CjUG_aIp.js +1 -0
- package/dist/show-xdsqD6de.js +1 -0
- package/dist/slack-Kpj-G9FE.js +5 -0
- package/dist/{status-PO1YXbt4.js → status-BxV_ITeF.js} +1 -1
- package/dist/steer-DZ3nkHfC.js +4 -0
- package/dist/{stop-CkvoZEAH.js → stop-DGTUYxd6.js} +2 -2
- package/dist/stop-qDw_DjOB.js +1 -0
- package/dist/task-C506SkPR.js +1 -0
- package/dist/task-CQmx_2SI.js +7 -0
- package/dist/task-Ls_-kcSx.js +1 -0
- package/dist/test-DF_qVK6S.js +1 -0
- package/dist/tools-S3eRQOVm.js +1 -0
- package/dist/{types-C1tWi5lP.d.ts → types-8zO5Tc9c.d.ts} +91 -26
- package/dist/{types-B42Oh0zF.js → types-D_xnfP7m.js} +1 -1
- package/dist/unalias-CklkAN1B.js +1 -0
- package/dist/update-CZaFjwOJ.js +2 -0
- package/dist/upgrade-CUhFmPhl.js +2 -0
- package/dist/usage-DTAlb2rC.js +1 -0
- package/dist/views-LmbLfqpu.js +5 -0
- package/dist/watch-CJruitc6.js +5 -0
- package/dist/watch-p0j69fVA.js +9 -0
- package/dist/wire-DshFMRsS.js +1 -0
- package/dist/worker-BHXjDzRp.js +1 -0
- package/dist/worker-nyRZuq4g.js +2 -0
- package/dist/{workflow-BKxG9OUk.js → workflow-CJJUiSfv.js} +1 -1
- package/docs/agents/coder.md +7 -7
- package/docs/agents/index.md +17 -19
- package/docs/agents/prompt.md +220 -0
- package/docs/cli.md +2 -2
- package/docs/config.md +5 -3
- package/docs/mcp.md +1 -1
- package/docs/review.md +1 -1
- package/docs/sdk.md +1 -1
- package/docs/self-host.md +7 -9
- package/package.json +2 -1
- package/dist/actions-5TDwmn_z.js +0 -20
- package/dist/adapter-sKt1J1Cm.js +0 -1
- package/dist/add-BftLUw05.js +0 -1
- package/dist/add-CXAGrCnC.js +0 -1
- package/dist/add-Ck_y_nKX.js +0 -2
- package/dist/agent-ChnedLBv.js +0 -8
- package/dist/alias-BpgVDY6_.js +0 -2
- package/dist/approvals-CE8dXZhE.js +0 -2
- package/dist/approve-dWW4qt76.js +0 -2
- package/dist/apps-B60OpAHX.js +0 -242
- package/dist/archive-CmRVm4iS.js +0 -4
- package/dist/archive-sweep-EiiXIqjr.js +0 -1
- package/dist/args-CxsMr9Un.js +0 -1
- package/dist/ask-Bou8zg-4.js +0 -4
- package/dist/auth-CImjIcG5.js +0 -1
- package/dist/auth-CWzSsiSC.js +0 -1
- package/dist/chat-Bbzlea60.js +0 -1
- package/dist/chat-Djps0Seg.js +0 -13
- package/dist/chat-bridge-CvspGKBc.js +0 -2
- package/dist/cli-ZUdhZnuW.js +0 -9
- package/dist/config-CF3_A3NX.js +0 -3
- package/dist/config-D2FxHWwi.js +0 -14
- package/dist/connection-BCRJHTgp.js +0 -1
- package/dist/create-Z0QxarzN.js +0 -1
- package/dist/credentials-Dt2uP3AQ.js +0 -1
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/responsive.82549d958fae8f00.css.pnext-asset.js +0 -0
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/zone.dbc84f981415d8f7.js +0 -10
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/frame/heads.20414ddcb2d08bcd.js +0 -51
- package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/card.15f7435f202831c3.css.pnext-asset.js +0 -0
- package/dist/dash/standalone/static/assets/chunks/action-977f2355e308d7d0.js +0 -1
- package/dist/dash/standalone/static/assets/chunks/agent-pills-e75e6ac80d515ffc.js +0 -1
- package/dist/dash/standalone/static/assets/chunks/agent-settings-form-09f23ed893d441c7.js +0 -1
- package/dist/dash/standalone/static/assets/chunks/agents-grid-bb4f3e4d38b2f459.js +0 -1
- package/dist/dash/standalone/static/assets/chunks/combo-126d5709a0b3a5bd.js +0 -1
- package/dist/dash/standalone/static/assets/chunks/composer-6bf94d1087a6e6a6.js +0 -1
- package/dist/dash/standalone/static/assets/chunks/composer-9c1fe67a0de73997.js +0 -1
- package/dist/dash/standalone/static/assets/chunks/connect-apps-32c169b6e00711ff.js +0 -1
- package/dist/dash/standalone/static/assets/chunks/connections-list-a102e909edff14d4.js +0 -1
- package/dist/dash/standalone/static/assets/chunks/create-link-a147953f343355ec.js +0 -1
- package/dist/dash/standalone/static/assets/chunks/credentials-list-31e0fbc1ef0d003e.js +0 -1
- package/dist/dash/standalone/static/assets/chunks/defaults-dcc0eccad4e8585b.js +0 -1
- package/dist/dash/standalone/static/assets/chunks/editor-79560c0f91cfc2f6.js +0 -7
- package/dist/dash/standalone/static/assets/chunks/engines-list-d22f50040e6842ae.js +0 -1
- package/dist/dash/standalone/static/assets/chunks/format-b19b8eec331414f4.js +0 -1
- package/dist/dash/standalone/static/assets/chunks/instructions-a08bb02650dedb8d.js +0 -2
- package/dist/dash/standalone/static/assets/chunks/instructions-a1f10bc3c2866e3f.js +0 -1
- package/dist/dash/standalone/static/assets/chunks/list-a0cc9bdb05fc71d4.js +0 -1
- package/dist/dash/standalone/static/assets/chunks/model-options-3a57918eaa4a2a82.js +0 -1
- package/dist/dash/standalone/static/assets/chunks/models-list-63ab774de3bf3788.js +0 -1
- package/dist/dash/standalone/static/assets/chunks/outcome-dialog-4ab62d613bee243a.js +0 -1
- package/dist/dash/standalone/static/assets/chunks/platform-actions-40824017c7b5b910.js +0 -1
- package/dist/dash/standalone/static/assets/chunks/platform-actions-a515643f341df568.js +0 -1
- package/dist/dash/standalone/static/assets/chunks/runners-list-a9f4f71695f7b376.js +0 -1
- package/dist/dash/standalone/static/assets/chunks/secrets-list-34e09c332363564c.js +0 -1
- package/dist/dash/standalone/static/assets/chunks/shared-init-02aaa49ed4606a76.js +0 -2
- package/dist/dash/standalone/static/assets/chunks/shared-init-03e620f936463465.js +0 -5
- package/dist/dash/standalone/static/assets/chunks/shared-init-6f8c76316a2cd9da.js +0 -1
- package/dist/dash/standalone/static/assets/chunks/shared-init-e8b9eb1e537215ed-2.js +0 -1
- package/dist/dash/standalone/static/assets/chunks/side-toggle-8563e6056e862225.js +0 -1
- package/dist/dash/standalone/static/assets/chunks/tail-ebdefca4d5c23266.js +0 -1
- package/dist/dash/standalone/static/assets/chunks/task-6ae2bb4f1b384140.js +0 -1
- package/dist/dash/standalone/static/assets/chunks/task-actions-462507b76bda4657.js +0 -1
- package/dist/dash/standalone/static/assets/chunks/task-view-341d79730a341007.js +0 -5
- package/dist/dash/standalone/static/assets/chunks/tasks-list-6037ecd098332564.js +0 -1
- package/dist/dash/standalone/static/assets/create-param-id-8fa3e9101430f26a.css +0 -1
- package/dist/dash/standalone/static/assets/dash-param-org-agents-0ddb989cab5b0fbf.css +0 -1
- package/dist/dash/standalone/static/assets/dash-param-org-agents-new-504d1a906feabb6f.css +0 -1
- package/dist/dash/standalone/static/assets/dash-param-org-agents-param-slug-edit-7cd987a1a42a3b44.css +0 -1
- package/dist/dash/standalone/static/assets/dash-param-org-agents-param-slug-fcdddf2dc26453ce.css +0 -1
- package/dist/dash/standalone/static/assets/dash-param-org-agents-param-slug-platforms-26b84d659dbca7f4.css +0 -1
- package/dist/dash/standalone/static/assets/dash-param-org-agents-param-slug-settings-97ff652f9fe5979d.css +0 -1
- package/dist/dash/standalone/static/assets/dash-param-org-agents-param-slug-tasks-d47377c0f877c5c0.css +0 -1
- package/dist/dash/standalone/static/assets/dash-param-org-agents-param-slug-usage-6a09580f11d669b7.css +0 -1
- package/dist/dash/standalone/static/assets/dash-param-org-settings-param-tab-06283106fffbd5c6.css +0 -1
- package/dist/dash/standalone/static/assets/dash-param-org-tasks-9cb2bb12389c9a04.css +0 -1
- package/dist/dash/standalone/static/assets/dash-param-org-tasks-param-id-a87fa0eaa02e4008.css +0 -1
- package/dist/dash/standalone/static/assets/dash-param-org-usage-786c91a7640542e6.css +0 -1
- package/dist/dash/standalone/static/assets/global-eee296f070a9bb95.css +0 -1
- package/dist/dash/standalone/static/assets/pnext-client-17c3ee29b7487596.js +0 -1
- package/dist/dash/standalone/static/assets/pnext-client-1eaa8deb5395345f.js +0 -1
- package/dist/dash/standalone/static/assets/pnext-client-29e2b964470f6587.js +0 -1
- package/dist/dash/standalone/static/assets/pnext-client-2a1e756934e7be1a.js +0 -1
- package/dist/dash/standalone/static/assets/pnext-client-31e64d49f6132b26.js +0 -1
- package/dist/dash/standalone/static/assets/pnext-client-3d13328ad0b1148b.js +0 -1
- package/dist/dash/standalone/static/assets/pnext-client-4ac29d3e9f1a91be.js +0 -1
- package/dist/dash/standalone/static/assets/pnext-client-7d479b3375e3c07e.js +0 -1
- package/dist/dash/standalone/static/assets/pnext-client-9eac45990b233b55.js +0 -1
- package/dist/dash/standalone/static/assets/pnext-client-a8c9c169322e7e3d.js +0 -1
- package/dist/dash/standalone/static/assets/pnext-client-b622d087a38b1b77.js +0 -1
- package/dist/dash/standalone/static/assets/pnext-client-b7fea94dfda72453.js +0 -1
- package/dist/dash/standalone/static/assets/pnext-client-cc8e5e6c95040688.js +0 -1
- package/dist/dash/standalone/static/assets/pnext-client-d16e2a42b0a274c0.js +0 -1
- package/dist/dash/standalone/static/assets/pnext-client-dbccfef0cbb6b18d.js +0 -1
- package/dist/dash/standalone/static/assets/pnext-client-e74706ae238018e5.js +0 -1
- package/dist/dash/standalone/static/assets/pnext-client-ebe7c9692619ea00.js +0 -1
- package/dist/dash/standalone/static/assets/pnext-client-ef8d348060493085.js +0 -1
- package/dist/dash/standalone/static/assets/pnext-client-fcdfa8b2c8824449.js +0 -1
- package/dist/dash/standalone/static/assets/pnext-client-ff36e2f8a0522759.js +0 -1
- package/dist/default-DcYwZCnl.js +0 -1
- package/dist/default-EXRzdZUY.js +0 -1
- package/dist/delete-Bmn2_TiV.js +0 -2
- package/dist/disable-CnCxTC3X.js +0 -1
- package/dist/discover-CBP4Uw0N.js +0 -1
- package/dist/dispatch-D3Dqxijf.js +0 -8
- package/dist/docs-3SW1O9iS.js +0 -2
- package/dist/env-C_DoQYl5.js +0 -1
- package/dist/exec-BsXFIdTl.js +0 -11
- package/dist/executor-5j-Ewzzb.js +0 -11
- package/dist/flow-CuUq-MDm.js +0 -1
- package/dist/http-Cg_wYcZT.js +0 -1
- package/dist/init-Dgj6V-aS.js +0 -1
- package/dist/integrations-D3OgJk6Y.js +0 -1
- package/dist/integrations-DsFX2KCq.js +0 -1
- package/dist/list-B6lwbCEp.js +0 -1
- package/dist/list-BE3xmX_4.js +0 -1
- package/dist/list-BVIAyAAE.js +0 -4
- package/dist/list-Bggy3HZY.js +0 -4
- package/dist/list-CLtqMYPK.js +0 -2
- package/dist/list-DkO78ZEF.js +0 -3
- package/dist/load-CRmQB1LD.js +0 -2
- package/dist/local-ccKBhpQc.js +0 -1
- package/dist/log-view-DB4nXHXO.js +0 -3
- package/dist/login-BCdXHQ7z.js +0 -1
- package/dist/match-Kt3vFTl1.js +0 -1
- package/dist/mcp-O8VTfzdL.js +0 -12
- package/dist/mcp-YhyTUMIM.js +0 -11
- package/dist/mcp-server-DGzme0YX.js +0 -1
- package/dist/model-Bzpwl_95.js +0 -1
- package/dist/models-CdvmuaLv.js +0 -1
- package/dist/prompt-C--TI1qn.js +0 -8
- package/dist/push-vt81gcxD.js +0 -1
- package/dist/reconnect-BfghDbl1.js +0 -1
- package/dist/refresh-yXJ13FAf.js +0 -1
- package/dist/remote-oQs6My_3.js +0 -1
- package/dist/remove-5iAM2aTO.js +0 -1
- package/dist/remove-BZCA-gdU.js +0 -1
- package/dist/remove-BwhcR6ig.js +0 -1
- package/dist/rename-lyssPQfD.js +0 -1
- package/dist/result-jeiRJTzA.js +0 -18
- package/dist/review-CJS59vO-.d.ts +0 -157
- package/dist/run-CLy9a2MO.js +0 -2
- package/dist/run-DU4G8gNw.js +0 -2
- package/dist/run-D_pl9GF_.js +0 -5
- package/dist/runner-DME7ohjt.js +0 -1
- package/dist/runner-zT5Oyrfr.js +0 -1
- package/dist/runners-CNhxPjg8.js +0 -36
- package/dist/schema-BSlHRFSP.js +0 -8
- package/dist/serve-FG2LgXxM.js +0 -9
- package/dist/serve-UE1fcf4t.js +0 -1
- package/dist/serve-wQgyxwdY.js +0 -1
- package/dist/setup-host-BsbDs4lJ.js +0 -6
- package/dist/show-Cajmf606.js +0 -1
- package/dist/show-D0qTuXRU.js +0 -1
- package/dist/slack-C_RlVDz7.js +0 -3
- package/dist/steer-i6w87g_t.js +0 -4
- package/dist/stop-CJ0PHvKp.js +0 -1
- package/dist/task-DTN_fIGC.js +0 -1
- package/dist/task-DXHKWB_J.js +0 -5
- package/dist/task-IoBYe7ok.js +0 -1
- package/dist/test-BTkKFbnx.js +0 -1
- package/dist/tools-B-2oi2wI.js +0 -1
- package/dist/unalias-Cqx7i_L0.js +0 -1
- package/dist/update-MNyeVXyy.js +0 -2
- package/dist/upgrade-CGSkY0FY.js +0 -2
- package/dist/usage-sx-FR0bz.js +0 -1
- package/dist/views-BhsnL0nr.js +0 -5
- package/dist/watch-IL2eEgwD.js +0 -9
- package/dist/watch-qfr7aSfo.js +0 -5
- package/dist/wire-B5rc5Av6.js +0 -1
- package/dist/worker-BBZ36xL0.js +0 -1
- package/dist/worker-D2csFtoH.js +0 -9
- /package/dist/dash/standalone/server/modules-server-server-react-server/src/core/{errors.5954bd9bd05e8230.js → errors.0a735590a5412ea6.js} +0 -0
- /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/(list)/{page.76589c15dee1732d.css.pnext-asset.js → page.cf7460a024706f75.css.pnext-asset.js} +0 -0
- /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/platforms/{page.3ffef848a0b0dda3.css.pnext-asset.js → page.c811938ae8a8f1df.css.pnext-asset.js} +0 -0
- /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/settings/{agent-settings-form.2d19ea3a4d380e0d.css.pnext-asset.js → agent-settings-form.ca926c58d15044aa.css.pnext-asset.js} +0 -0
- /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/agent/{hero.13019680f38b0630.css.pnext-asset.js → hero.1bef5dca89b5942c.css.pnext-asset.js} +0 -0
- /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/{operator/page.9002a449f872a10e.css.pnext-asset.js → settings/[tab]/connections-list.46786fe36b121a43.css.pnext-asset.js} +0 -0
- /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/{connections-list.f742847e4887f072.css.pnext-asset.js → credentials-list.f7c27f170ec1e868.css.pnext-asset.js} +0 -0
- /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/{credentials-list.98e0b34932a6ee4c.css.pnext-asset.js → list.8cbee173a5aff98d.css.pnext-asset.js} +0 -0
- /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/{list.e0ce46919b75ef76.css.pnext-asset.js → runners-list.53c7ea80b6fb734c.css.pnext-asset.js} +0 -0
- /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/{settings/[tab]/runners-list.a835c9a264cf8903.css.pnext-asset.js → tasks/[id]/task-view.57990cfd2bdf5c11.css.pnext-asset.js} +0 -0
- /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/{[id]/task-view.38b1b7ef3976ba71.css.pnext-asset.js → composer.5b8687662e1629fa.css.pnext-asset.js} +0 -0
- /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/{composer.79c015348f861749.css.pnext-asset.js → list/tasks-list.abbbc9ace4d866e5.css.pnext-asset.js} +0 -0
- /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/{dash/[org]/tasks/list/tasks-list.2282a7cef8b15bd8.css.pnext-asset.js → globals.c8fd2b8b01e7077b.css.pnext-asset.js} +0 -0
- /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/{dash/[org]/usage/usage.775df2f43187c487.css.pnext-asset.js → responsive.ebc5f7d77b4b86a0.css.pnext-asset.js} +0 -0
- /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/{app/globals.dccea8b03fa4b6d2.css.pnext-asset.js → comps/ui/card.f80288cc42f9bcae.css.pnext-asset.js} +0 -0
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { c as TaskStatus, d as TokenUsage, l as TurnResult, o as McpServerSpec, s as Task, u as TaskLogEntry } from "./types-
|
|
1
|
+
import { c as TaskStatus, d as TokenUsage, l as TurnResult, o as McpServerSpec, s as Task, u as TaskLogEntry } from "./types-8zO5Tc9c.js";
|
|
2
2
|
import { AsyncLocalStorage } from "node:async_hooks";
|
|
3
|
+
import * as z from "zod";
|
|
3
4
|
//#region src/flow/types.d.ts
|
|
4
5
|
/** Anything with zod's parse shape; the flow runtime never imports zod itself. */
|
|
5
6
|
interface FlowSchema<T> {
|
|
@@ -37,12 +38,8 @@ interface FlowSteerOptions {
|
|
|
37
38
|
effort?: string;
|
|
38
39
|
permissions?: string;
|
|
39
40
|
}
|
|
40
|
-
type FlowRunStatus = '
|
|
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
|
-
*/
|
|
41
|
+
type FlowRunStatus = 'running' | 'completed' | 'failed' | 'stopped';
|
|
42
|
+
/** An event recorded by the flow runtime and delivered to its hooks and followers. */
|
|
46
43
|
type FlowEvent = {
|
|
47
44
|
kind: 'task-start';
|
|
48
45
|
taskId: string;
|
|
@@ -102,6 +99,7 @@ interface FlowRecord {
|
|
|
102
99
|
pid?: number;
|
|
103
100
|
pidStartedAt?: string;
|
|
104
101
|
concurrency: number;
|
|
102
|
+
concurrencySet?: boolean;
|
|
105
103
|
maxTasks: number;
|
|
106
104
|
taskCount: number;
|
|
107
105
|
ledger: Record<string, TokenUsage>;
|
|
@@ -153,43 +151,7 @@ interface FlowHooks {
|
|
|
153
151
|
requestStop: () => void;
|
|
154
152
|
runningIds: () => string[];
|
|
155
153
|
}) => void;
|
|
156
|
-
|
|
157
|
-
onTaskStart?: (info: {
|
|
158
|
-
taskId: string;
|
|
159
|
-
name?: string;
|
|
160
|
-
prompt: string;
|
|
161
|
-
engine?: string;
|
|
162
|
-
depth?: number;
|
|
163
|
-
}) => void;
|
|
164
|
-
/** A task reached a terminal state. */
|
|
165
|
-
onTaskEnd?: (info: {
|
|
166
|
-
taskId: string;
|
|
167
|
-
status: string;
|
|
168
|
-
tokens: TokenUsage | null;
|
|
169
|
-
}) => void;
|
|
170
|
-
/** A gate command was spawned (real runs only, never dry-run or replay). */
|
|
171
|
-
onGateStart?: (info: {
|
|
172
|
-
gateId: string;
|
|
173
|
-
cmd: string;
|
|
174
|
-
depth?: number;
|
|
175
|
-
}) => void;
|
|
176
|
-
/** A gate command finished; `gateId` pairs it with its onGateStart. */
|
|
177
|
-
onGate?: (info: {
|
|
178
|
-
gateId?: string;
|
|
179
|
-
cmd: string;
|
|
180
|
-
ok: boolean;
|
|
181
|
-
code: number;
|
|
182
|
-
depth?: number;
|
|
183
|
-
}) => void;
|
|
184
|
-
/** The flow called log(). */
|
|
185
|
-
onLog?: (msg: string, depth?: number) => void;
|
|
186
|
-
/** A sub-flow started (depth is the sub-flow's own nesting level). */
|
|
187
|
-
onFlowStart?: (info: {
|
|
188
|
-
name: string;
|
|
189
|
-
depth: number;
|
|
190
|
-
}) => void;
|
|
191
|
-
/** A resume replayed recorded steps from the journal. */
|
|
192
|
-
onReplay?: (count: number) => void;
|
|
154
|
+
onEvent?: (event: FlowEvent) => void;
|
|
193
155
|
}
|
|
194
156
|
interface RunContext {
|
|
195
157
|
runId: string;
|
|
@@ -258,7 +220,7 @@ declare function pipeline<T, A, B>(items: T[], s1: S<T, T, A>, s2: S<A, T, B>):
|
|
|
258
220
|
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)[]>;
|
|
259
221
|
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)[]>;
|
|
260
222
|
declare function pipeline<T>(items: T[], ...stages: Stage[]): Promise<any[]>;
|
|
261
|
-
/** Emit a progress line
|
|
223
|
+
/** Emit a progress line to the run's event stream. */
|
|
262
224
|
declare function log(msg: string): void;
|
|
263
225
|
/**
|
|
264
226
|
* Run another flow inline as a sub-step and return its result. Nesting is one
|
|
@@ -266,6 +228,22 @@ declare function log(msg: string): void;
|
|
|
266
228
|
*/
|
|
267
229
|
declare function flow(name: string, args?: unknown): Promise<unknown>;
|
|
268
230
|
//#endregion
|
|
231
|
+
//#region src/core/state.d.ts
|
|
232
|
+
interface TurnResultEntry {
|
|
233
|
+
at?: string;
|
|
234
|
+
prompt?: string | null;
|
|
235
|
+
/** Steers the engine took into this turn while it ran. */
|
|
236
|
+
steers?: string[];
|
|
237
|
+
lastReply?: string;
|
|
238
|
+
finalMessage?: string;
|
|
239
|
+
error?: TurnResult['error'];
|
|
240
|
+
status?: number;
|
|
241
|
+
tokens?: TurnResult['tokens'];
|
|
242
|
+
model?: TurnResult['model'];
|
|
243
|
+
[key: string]: unknown;
|
|
244
|
+
}
|
|
245
|
+
declare function readTurnResults(cwd: string, taskId: string): TurnResultEntry[];
|
|
246
|
+
//#endregion
|
|
269
247
|
//#region src/flow/executor.d.ts
|
|
270
248
|
interface RunOptions {
|
|
271
249
|
runId?: string;
|
|
@@ -297,6 +275,11 @@ interface StopSummary {
|
|
|
297
275
|
stoppedTasks: string[];
|
|
298
276
|
keptTasks: string[];
|
|
299
277
|
}
|
|
278
|
+
declare const review$1: {
|
|
279
|
+
run(options?: ReviewArgs): Promise<ReviewResult & {
|
|
280
|
+
runId: string;
|
|
281
|
+
}>;
|
|
282
|
+
};
|
|
300
283
|
//#endregion
|
|
301
284
|
//#region src/flow/runs.d.ts
|
|
302
285
|
/** A run's record with its step rows, trimmed journal and recorded events. */
|
|
@@ -382,35 +365,9 @@ declare class CoderError extends Error {
|
|
|
382
365
|
/** server: the HTTP status the server answered with. */
|
|
383
366
|
status?: number;
|
|
384
367
|
needs?: 'key';
|
|
385
|
-
constructor(code: CoderErrorCode, message: string, extra?:
|
|
386
|
-
hint?: string | string[];
|
|
387
|
-
taskId?: string;
|
|
388
|
-
payload?: FallbackPayload;
|
|
389
|
-
approval?: {
|
|
390
|
-
id: string;
|
|
391
|
-
summary: string;
|
|
392
|
-
cwd?: string | null;
|
|
393
|
-
networkHost?: string | null;
|
|
394
|
-
};
|
|
395
|
-
result?: unknown;
|
|
396
|
-
runId?: string;
|
|
397
|
-
status?: number;
|
|
398
|
-
needs?: 'key';
|
|
399
|
-
});
|
|
368
|
+
constructor(code: CoderErrorCode, message: string, extra?: Partial<Pick<CoderError, 'hint' | 'taskId' | 'payload' | 'approval' | 'result' | 'runId' | 'status' | 'needs'>>);
|
|
400
369
|
}
|
|
401
370
|
//#endregion
|
|
402
|
-
//#region src/core/state.d.ts
|
|
403
|
-
interface TurnResultEntry {
|
|
404
|
-
at?: string;
|
|
405
|
-
prompt?: string | null;
|
|
406
|
-
finalMessage?: string;
|
|
407
|
-
status?: number;
|
|
408
|
-
tokens?: TurnResult['tokens'];
|
|
409
|
-
model?: TurnResult['model'];
|
|
410
|
-
[key: string]: unknown;
|
|
411
|
-
}
|
|
412
|
-
declare function readTurnResults(cwd: string, taskId: string): TurnResultEntry[];
|
|
413
|
-
//#endregion
|
|
414
371
|
//#region src/core/dispatch.d.ts
|
|
415
372
|
interface TaskResult {
|
|
416
373
|
taskId: string;
|
|
@@ -432,7 +389,7 @@ declare function readTask(cwd: string, taskId: string, opts?: {
|
|
|
432
389
|
* The flow's `--args` value. A Proxy over the ALS-bound current args, so a
|
|
433
390
|
* top-level `import { args }` reflects whichever run is executing.
|
|
434
391
|
*/
|
|
435
|
-
declare const args: Record<string, unknown>;
|
|
392
|
+
declare const args$1: Record<string, unknown>;
|
|
436
393
|
/** Run and inspect flows programmatically; mirrors `coder flow`. */
|
|
437
394
|
declare const flowSdk: {
|
|
438
395
|
/** Run a flow and await its result. */
|
|
@@ -464,4 +421,146 @@ declare const flowSdk: {
|
|
|
464
421
|
delete: typeof deleteRuns;
|
|
465
422
|
};
|
|
466
423
|
//#endregion
|
|
467
|
-
|
|
424
|
+
//#region src/flow/builtin/review.d.ts
|
|
425
|
+
declare const description = "Review a code change.";
|
|
426
|
+
declare const args: z.ZodObject<{
|
|
427
|
+
pr: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodString]>>;
|
|
428
|
+
base: z.ZodOptional<z.ZodString>;
|
|
429
|
+
head: z.ZodOptional<z.ZodString>;
|
|
430
|
+
since: z.ZodOptional<z.ZodString>;
|
|
431
|
+
post: z.ZodOptional<z.ZodBoolean>;
|
|
432
|
+
author: z.ZodOptional<z.ZodString>;
|
|
433
|
+
path: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
434
|
+
exclude: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
435
|
+
engine: z.ZodOptional<z.ZodString>;
|
|
436
|
+
model: z.ZodOptional<z.ZodString>;
|
|
437
|
+
effort: z.ZodOptional<z.ZodEnum<{
|
|
438
|
+
low: "low";
|
|
439
|
+
medium: "medium";
|
|
440
|
+
high: "high";
|
|
441
|
+
}>>;
|
|
442
|
+
cwd: z.ZodOptional<z.ZodString>;
|
|
443
|
+
}, z.core.$strip>;
|
|
444
|
+
type ReviewArgs = z.infer<typeof args>;
|
|
445
|
+
/** Tasks at once unless the caller sets a concurrency. */
|
|
446
|
+
declare const concurrency = 4;
|
|
447
|
+
declare const Finding: z.ZodObject<{
|
|
448
|
+
file: z.ZodString;
|
|
449
|
+
line: z.ZodNumber;
|
|
450
|
+
severity: z.ZodEnum<{
|
|
451
|
+
critical: "critical";
|
|
452
|
+
major: "major";
|
|
453
|
+
minor: "minor";
|
|
454
|
+
nit: "nit";
|
|
455
|
+
}>;
|
|
456
|
+
category: z.ZodEnum<{
|
|
457
|
+
correctness: "correctness";
|
|
458
|
+
security: "security";
|
|
459
|
+
reliability: "reliability";
|
|
460
|
+
performance: "performance";
|
|
461
|
+
maintainability: "maintainability";
|
|
462
|
+
testing: "testing";
|
|
463
|
+
documentation: "documentation";
|
|
464
|
+
}>;
|
|
465
|
+
summary: z.ZodString;
|
|
466
|
+
failure_scenario: z.ZodString;
|
|
467
|
+
}, z.core.$strict>;
|
|
468
|
+
type Finding = z.infer<typeof Finding> & {
|
|
469
|
+
fingerprint: string;
|
|
470
|
+
};
|
|
471
|
+
interface ReviewSummary {
|
|
472
|
+
baseSha: string;
|
|
473
|
+
headSha: string;
|
|
474
|
+
/** Also covers uncommitted and untracked files on top of `headSha`. */
|
|
475
|
+
worktree: boolean;
|
|
476
|
+
files: number;
|
|
477
|
+
model: string | null;
|
|
478
|
+
elapsedMs: number;
|
|
479
|
+
posted?: number;
|
|
480
|
+
/** Parts left out of the review, such as uninitialized submodules. */
|
|
481
|
+
warnings?: string[];
|
|
482
|
+
}
|
|
483
|
+
interface ReviewResult {
|
|
484
|
+
findings: Finding[];
|
|
485
|
+
summary: ReviewSummary;
|
|
486
|
+
}
|
|
487
|
+
/** New-side line ranges per file from a unified diff. */
|
|
488
|
+
declare function changedLines(patch: string): Map<string, Array<[number, number]>>;
|
|
489
|
+
/** Stable finding key from its file, category and neighbouring lines. */
|
|
490
|
+
declare function fingerprint(file: string, text: string, category: string): string;
|
|
491
|
+
/** AGENTS.md / CLAUDE.md, then .coder/review.md, all read at `sha`. */
|
|
492
|
+
declare function repositoryRules(exec: ReviewExec, sha: string): Array<[name: string, text: string]>;
|
|
493
|
+
interface ReviewServices {
|
|
494
|
+
exec?: ReviewExec;
|
|
495
|
+
reviewTask?: typeof task;
|
|
496
|
+
/** Test-only override for the transient task credential. */
|
|
497
|
+
integrationToken?: string;
|
|
498
|
+
}
|
|
499
|
+
declare function review(a: ReviewArgs, services?: ReviewServices): Promise<ReviewResult>;
|
|
500
|
+
type ReviewExec = (command: string, args: string[], input?: string) => string;
|
|
501
|
+
type ReviewPostFinding = Finding;
|
|
502
|
+
type ReviewPostSummary = Pick<ReviewSummary, 'baseSha' | 'headSha' | 'model' | 'elapsedMs'> & {
|
|
503
|
+
author: string;
|
|
504
|
+
};
|
|
505
|
+
interface ReviewPostInput {
|
|
506
|
+
repo: string;
|
|
507
|
+
pr: number;
|
|
508
|
+
cwd?: string;
|
|
509
|
+
findings: ReviewPostFinding[];
|
|
510
|
+
summary: ReviewPostSummary;
|
|
511
|
+
since?: string;
|
|
512
|
+
}
|
|
513
|
+
interface ReviewTargetInput {
|
|
514
|
+
pr: number | string;
|
|
515
|
+
/** The only repository the target may be in. */
|
|
516
|
+
repo?: string;
|
|
517
|
+
cwd?: string;
|
|
518
|
+
since?: string;
|
|
519
|
+
author?: string;
|
|
520
|
+
}
|
|
521
|
+
interface ReviewTarget {
|
|
522
|
+
pr?: {
|
|
523
|
+
number: number;
|
|
524
|
+
repo: string;
|
|
525
|
+
author: string;
|
|
526
|
+
};
|
|
527
|
+
baseSha: string;
|
|
528
|
+
headSha: string;
|
|
529
|
+
since?: string;
|
|
530
|
+
}
|
|
531
|
+
interface ReviewAuth {
|
|
532
|
+
/** Installation token from the task context. Omit to use local gh auth. */
|
|
533
|
+
token?: string;
|
|
534
|
+
exec?: ReviewExec;
|
|
535
|
+
}
|
|
536
|
+
/** The platform reviews post to; its tool server holds the token. */
|
|
537
|
+
declare const REVIEW_PLATFORM = "github";
|
|
538
|
+
interface ReviewComment {
|
|
539
|
+
id: number;
|
|
540
|
+
body?: string | null;
|
|
541
|
+
user?: {
|
|
542
|
+
login?: string;
|
|
543
|
+
} | null;
|
|
544
|
+
}
|
|
545
|
+
declare function reviewCli(cwd?: string, token?: string): ReviewExec;
|
|
546
|
+
declare function parseGithubPr(value: number | string): {
|
|
547
|
+
number: number;
|
|
548
|
+
repo?: string;
|
|
549
|
+
};
|
|
550
|
+
declare function reviewFingerprints(comments: Array<{
|
|
551
|
+
body?: string | null;
|
|
552
|
+
}>): Set<string>;
|
|
553
|
+
declare function lastReviewSummary(comments: Array<{
|
|
554
|
+
id: number;
|
|
555
|
+
body?: string | null;
|
|
556
|
+
}>): {
|
|
557
|
+
id: number;
|
|
558
|
+
head: string;
|
|
559
|
+
} | undefined;
|
|
560
|
+
declare function ownReviewComments(comments: ReviewComment[], author: string): ReviewComment[];
|
|
561
|
+
/** Resolve and fetch a GitHub pull request for the integration-generic review flow. */
|
|
562
|
+
declare function resolveReviewTarget(input: ReviewTargetInput, auth?: ReviewAuth): ReviewTarget;
|
|
563
|
+
/** Post unseen findings and upsert the sticky summary through GitHub's integration. */
|
|
564
|
+
declare function postReview(input: ReviewPostInput, auth?: ReviewAuth): number;
|
|
565
|
+
//#endregion
|
|
566
|
+
export { FlowTaskResult as $, TaskResult as A, readTurnResults as B, repositoryRules as C, reviewFingerprints as D, reviewCli as E, deleteRuns as F, steer as G, gate as H, RunOptions as I, FlowEvent as J, task as K, RunSummary as L, CoderError as M, RunResult as N, args$1 as O, archiveRuns as P, FlowTaskOptions as Q, StopSummary as R, postReview as S, review as T, log as U, flow as V, pipeline as W, FlowSteerOptions as X, FlowRecord as Y, FlowStep as Z, description as _, ReviewExec as a, ownReviewComments as b, ReviewPostSummary as c, ReviewSummary as d, GateResult as et, ReviewTarget as f, concurrency as g, changedLines as h, ReviewAuth as i, readTask as j, flowSdk as k, ReviewResult as l, args as m, REVIEW_PLATFORM as n, ReviewPostFinding as o, ReviewTargetInput as p, DiscoveredFlow as q, ReviewArgs as r, ReviewPostInput as s, Finding as t, ReviewServices as u, fingerprint as v, resolveReviewTarget as w, parseGithubPr as x, lastReviewSummary as y, review$1 as z };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{i as e}from"./cli-
|
|
1
|
+
import{i as e}from"./cli-Fp28pM4Y.js";import{n as t}from"./args-BekfmD9t.js";import n from"node:process";const r=e({name:`server rotate-key`,globalFlags:{cwd:!1},help:{usage:`coder server rotate-key [--json]`,summary:`Re-seal stored app, installation, engine, and linked user secrets with the current key.`,env:[[`SERVER_ENCRYPTION_KEY`,`the new key`],[`SERVER_ENCRYPTION_KEY_PREVIOUS`,`the old key, still accepted while rotating`]]},options:{json:t},run:async()=>{let{rotateKey:e}=await import(`./maintenance-BVDuG9Hg.js`).then(e=>e.t);return e()},json:({moved:e})=>({ok:!0,moved:e}),print:({moved:e})=>n.stdout.write(`Re-sealed ${e} secret${e===1?``:`s`}.\n`)});export{r as commandServerRotateKey};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{d as e,i as t,n,p as r}from"./cli-Fp28pM4Y.js";import{p as i,r as a,s as o,u as s}from"./output-BKeyLbvt.js";import{c,i as l,l as u,n as d,t as f}from"./args-BekfmD9t.js";import{i as p,n as m,r as h}from"./result-DvOqIwhh.js";import{printLine as g}from"./watch-p0j69fVA.js";import{TASK_FLAGS as _}from"./task-Ls_-kcSx.js";import v from"node:process";function y(t){let n=e([{usage:`coder task result ${t} --wait`,blurb:`run this in its own background shell, one per task (never wait on several tasks in one call). Returns with the answer or a pending approval.`},{usage:`coder task steer ${t} "<follow-up>"`,blurb:`steer the task with a message (use 'ask' without interrupting main thread)`},{usage:`coder task stop ${t}`,blurb:`stop the task`},{usage:`coder task list`,blurb:`recent tasks`},{usage:`coder task --help`,blurb:`all task commands`}],i,i.blue);return[...r(`Next step`,n.slice(0,1),i),...r(`Related`,n.slice(1),i)].join(`
|
|
2
|
+
`)}function b(e,t){v.stdout.write(`${i.dim(`[coder]`)} task ${i.blue(e)} started in the background (${t}).\n`),v.stdout.write(`${y(e)}\n`)}function x(e){v.stderr.write(`${i.dim(`[coder]`)} Task ${i.cyan(e)} started and is waiting to finish. Press Ctrl-C to detach. It keeps running.\n`),v.stderr.write(`${y(e)}\n`)}function S(e){v.stderr.write(`\n${i.dim(`[coder] Detached. The task is still running.`)}\n\n${o([`Wait in its own background shell, one per task: coder task result ${e} --wait`],a)}\n`)}function C(e){v.stdout.write(`\n${m({finalMessage:e.finalMessage??void 0},e.error,`(no final message)`)}\n\n`);let t=e.tokens?` tokens=${s(e.tokens,e.model)}`:``;v.stderr.write(`${i.dim(`[coder] task=${e.taskId} status=${e.status}${t}`)}\n\n${h(e.taskId,a)}\n`)}const w=t({name:`task run`,help:{usage:`coder task run "<task text>"`,summary:`Dispatch a coding task to the configured engine. Backgrounds by default and\nprints a task id; --wait runs in the foreground and prints the answer.\nShortcut: \`coder run "<text>"\`.\n\nWriting a task: one task per focused goal, independent goals as parallel runs.\nThe worker starts with nothing but the text, so include the goal, file paths,\nconstraints and any context only you have. Delegate rather than doing the work\nyourself first, however small it looks.\n\nWaiting: run \`coder task result <task-id> --wait\` in its own background shell, one\nper task. Never wait on several tasks in one call, or their approvals and answers\nnever reach you one by one.\n\n${n}`,flags:[[`--output-schema <json>`,`JSON Schema for the task answer`],[`--name <name>`,`label the task (shown in list/result)`],[`--agent <id>`,`run as that agent: its system.md, engine settings, MCP servers and flows; flags override them`],[`--system <text>`,`standing instructions prepended to the task (kept out of prompt previews)`],..._,[`--server [url] [--workspace <slug>]`,`run the task on your Coder server and follow it here (--background prints its id)`],[`--repo <owner/name>`,`with --server: check out a repo from the workspace's installs`],[`--runner <name>`,`with --server: where it runs (a runner kind or a registered runner)`]],exitCodes:[[`0`,`The task started, or --wait printed a successful answer.`],[`1`,`Dispatch or the task failed.`],[`3`,`No engine could start; follow fallback.instructions in the JSON payload.`],[`4`,`An approval is pending; answer it, then run result --wait again.`],[`130`,`The foreground wait was detached and the task is still running.`]],examples:[[`coder run "add a /health endpoint"`,`dispatch in the background, print a task id`],[`coder result <task-id> --wait`,`then block until it finishes and print the answer`],[`coder run --wait "fix the failing test"`,`or block on the run itself`],[`coder task run --model luna --system "tests live in test/, don't touch anything outside of it" "rename foo to bar"`,`pick an engine via its model alias; --system adds standing instructions`],[`coder task run --agent reviewer "review the last commit"`,`run a repo agent from .coder/agents/reviewer`],[`coder run --add-dir ../api --add-dir ../shared "update the client for the new endpoint"`,`let the task reach sibling repos too`]]},options:{...f,agent:c,"output-schema":c,engine:c,model:c,effort:c,permissions:c,name:c,system:c,mcp:c,connections:c,"add-dir":u,background:d,wait:d,"simulate-approval":d,server:l,workspace:c,yes:d,repo:c,runner:c},args:1/0,async run({options:e,args:t}){let{tasks:n}=await import(`./task-C506SkPR.js`).then(e=>e.t),r=e.json,a;return v.on(`SIGINT`,()=>{a&&S(a),v.exit(130)}),n.run(t.join(` `).trim(),{cwd:e.cwd,agent:e.agent,outputSchema:e[`output-schema`]?JSON.parse(e[`output-schema`]):void 0,engine:e.engine,model:e.model,effort:e.effort,permissions:e.permissions,name:e.name,system:e.system,mcp:e.mcp,connections:e.connections?.split(`,`).map(e=>e.trim()).filter(Boolean),addDirs:e[`add-dir`],wait:e.server===void 0?e.wait:!e.background,simulateApproval:e[`simulate-approval`],repo:e.repo,runner:e.runner,server:e.server,yes:e.yes,organization:e.workspace,onFallback:({engine:e,detail:t,next:n})=>v.stderr.write(`[coder] ${e} failed to start (${t}); falling back to ${n}.\n`),onNote:e=>v.stderr.write(`[coder] ${e}\n`),onWaiting:e=>{a=e,r||x(e)},onLog:e=>r?v.stdout.write(`${JSON.stringify(e,null,2)}\n`):g(e,i)})},print(e,{options:t}){if(`attempts`in e)return t.background?void v.stdout.write(`${e.task.id}\n`):p(e,i);t.wait?C(e):b(e.taskId,e.status)},exit:(e,{options:t})=>(`attempts`in e?!t.background:t.wait)?e.status===`completed`?0:1:void 0});export{w as commandTask};
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import{U as e}from"./dispatch-BJZqI7sj.js";import{i as t}from"./cli-Fp28pM4Y.js";import{p as n,s as r}from"./output-BKeyLbvt.js";import{c as i,n as a,t as o}from"./args-BekfmD9t.js";import{FlowStepRenderer as s,printFollow as c,printRunSummary as l}from"./watch-CJruitc6.js";import u from"node:process";const d={...o,args:i,wait:a,concurrency:i,"max-tasks":i,"dry-run":a};function f(t){let n={};for(let r of t){let t=r.indexOf(`=`);if(t===-1)throw new e(`invalid-option`,`Invalid argument "${r}": expected key=value.`,{hint:`Help: coder flow run --help`});let i=r.slice(0,t),a=r.slice(t+1);try{n[i]=JSON.parse(a)}catch{n[i]=a}}return n}function p(t,n){if(t!==void 0)try{return JSON.parse(t)}catch(t){throw new e(`invalid-option`,`Invalid --args JSON: ${t instanceof Error?t.message:String(t)}`)}return n.length?f(n):{}}const m=e=>e?Number(e):void 0,h=(e,t)=>({cwd:t,dryRun:e[`dry-run`],concurrency:m(e.concurrency),maxTasks:m(e[`max-tasks`]),detached:!0,wait:e.wait}),g=e=>e[`dry-run`]&&!e.json?v():{},_=t({name:`flow run`,help:{usage:`coder flow run <name|path> [--args '<json>' | key=value...] [--wait] [--concurrency N] [--max-tasks N] [--json] [--dry-run]`,summary:`Run a flow: a TypeScript file that orchestrates many coder tasks with gates,
|
|
2
|
+
journaling, and resume. Prints the run id and orchestrates in the background;
|
|
3
|
+
--wait follows the run in the foreground with live progress (Ctrl-C detaches;
|
|
4
|
+
it keeps running), and \`coder flow watch\` shows the same lines any time.
|
|
5
|
+
Stop a run with \`coder flow stop\`.`,flags:[[`--wait`,`follow the run in the foreground (Ctrl-C detaches; it keeps running)`],[`--args <json>`,`the flow's input as a JSON value (or pass bare key=value pairs)`],[`--concurrency <n>`,`tasks running at once (default: CPU count)`],[`--max-tasks <n>`,`total tasks the run may dispatch (default: CPU count x 10)`],[`--dry-run`,`print every resolved prompt and gate command without dispatching`]],examples:[[`coder flow run audit-routes --wait`,`run a discovered flow`],[`coder flow run ./scratch/one-off.ts --wait`,`run a flow by path`],[`coder flow run verify --args '{"clusters":["a","b"]}' --wait`,`pass structured input`]]},options:d,args:1/0,required:[`<name|path>`],async run({options:e,args:[t,...n],cwd:r}){let{startRun:i}=await import(`./executor-LkokKTTd.js`).then(e=>e.S),a=await i(t,{...h(e,r),args:p(e.args,n)},g(e));return a.status===`running`&&a.watch&&await c(a.watch,e),a},print:e=>e.status===`running`?y(e):l(e)});function v(){let e=new s;return{onEvent:t=>e.emit(t)}}function y(e){u.stdout.write(`${n.dim(`[flow]`)} run ${n.cyan(e.runId)} started in the background (running).\n`),u.stdout.write(`\n${r([`Result: coder flow result ${e.runId}`,`Runs: coder flow list`],n)}\n`)}export{d as RUN_FLAGS,_ as commandRun,g as hooks,p as parseRunArgs,y as printDetached,h as runOptions};
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{m as e}from"./prompt-DQyPCLUo.js";import{i as t,r as n}from"./cli-Fp28pM4Y.js";import{p as r,s as i}from"./output-BKeyLbvt.js";import{c as a,i as o,n as s,t as c}from"./args-BekfmD9t.js";import{i as l}from"./result-DvOqIwhh.js";import{printLine as u}from"./watch-p0j69fVA.js";import d from"node:process";const f={...c,flow:a,server:o,workspace:a,wait:s,task:a,yes:s},p=t({name:`agent run --task`,options:f,run:async({options:e,cwd:t})=>{let{agents:n}=await import(`./agent-B8ItyuHN.js`).then(e=>e.t);return n.runTask(e.task,{cwd:t})}}),m=t({name:`agent run`,help:{usage:`coder agent run <agent> <file> [--server [url] [--wait]] [--flow <name>] [--json] [--cwd <dir>]`,summary:`Run a recorded platform event (AgentEvent JSON) through an agent. With --server it goes through your Coder server exactly like a webhook: real app, tokens, runner, and the reply is posted. Without it the engine runs here on the agent's prompt and this checkout, platform tools off, and the reply is printed.`,flags:[n,[`--wait`,`with --server: follow the task log here until it finishes, then print the reply`],[`--flow <name>`,`override the matched flow`]],examples:[[`coder agent run helper sample-slack-mention.json`,`offline: print what the agent would reply`],[`coder agent run helper event.json --server`,`for real, through the server`]]},options:f,args:2,run:async({options:e,args:[t,n],cwd:i})=>{let{agents:a}=await import(`./agent-B8ItyuHN.js`).then(e=>e.t);return a.run(t,n,{...e,cwd:i,organization:e.workspace,...e.json?{}:{onLog:e=>u(e,r),onDone:e=>l(e,r)}})},json:e=>Array.isArray(e)&&e.length===1?e[0]:e,print(t,{options:n}){if(!Array.isArray(t)){if(`tasks`in t){if(!t.tasks.length)return void d.stdout.write(`The server accepted the event but no agent matched it.
|
|
2
|
+
`);d.stdout.write(`${r.bold(`Queued on the server`)} as task ${t.tasks.join(`, `)}.\n\n${i([`Watch it: coder task watch ${t.tasks[0]} --server ${e(n.server)}`],r)}\n`);return}t.reply===void 0?t.result!==void 0&&d.stdout.write(`${JSON.stringify(t.result,null,2)}\n`):d.stdout.write(`${t.reply.trim()}\n`)}}}),h=Object.assign(e=>(e.some(e=>e===`--task`||e.startsWith(`--task=`))?p:m)(e),{commandName:`agent run`,help:m.help});export{h as commandAgentRun};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{qi as e}from"./core-DwsAMCnL.js";import{U as t}from"./dispatch-BJZqI7sj.js";import{t as n}from"./remote-f-uny3XZ.js";import{t as r}from"./serve-CCxSxXgv.js";var i=e({addRunner:()=>o,addRunnerFields:()=>d,listRunners:()=>a,pairRunner:()=>s,removeRunner:()=>u,runners:()=>f,testRunner:()=>l,updateRunner:()=>c});const a=(e={})=>n(e).runners.list(),o=(e,t={})=>n(t).runners.add(e),s=(e,t={})=>n(t).runners.pair(e),c=(e,t,r={})=>n(r).runners.update(e,t),l=(e,t={})=>n(t).runners.test(e),u=(e,t={})=>n(t).runners.remove(e);async function d(e,r){let i=n(r),{catalog:a}=await i.runners.list(),o=a.find(t=>t.kind===e);if(!o)throw new t(`invalid-option`,`Unknown runner kind.`);if(!o.available)throw new t(`invalid-option`,o.reason??`Runner unavailable.`);let s={};for(let e of r.field??[]){let n=e.indexOf(`=`);if(n<1)throw new t(`invalid-option`,`Use --field key=value.`);let r=e.slice(0,n),i=e.slice(n+1),a=o.fields.find(e=>e.key===r);if(!a)throw new t(`invalid-option`,`Unknown runner field ${r}.`);if(a.secret){if(!/^env:[A-Z_][A-Z0-9_]*$/.test(i)||!process.env[i.slice(4)])throw new t(`invalid-option`,`Read ${r} from the environment with --field ${r}=env:VARIABLE.`);s[r]=process.env[i.slice(4)]}else s[r]=i}let c=r.scope??((await i.me()).user?`personal`:`workspace`);if(c!==`personal`&&c!==`workspace`)throw new t(`invalid-option`,`Scope must be personal or workspace.`);return o.connect===`pair`?i.runners.pair({name:r.name,scope:c}):i.runners.add({kind:o.kind,name:r.name??o.name,scope:c,config:s})}const f={list:a,add:o,pair:s,update:c,default:(e,t={})=>c(e,{default:!0},t),test:l,rename:(e,t,n={})=>c(e,{name:t},n),remove:u,serve:r};export{f as n,i as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{s as e}from"./cli-Fp28pM4Y.js";const t=e(`runner`,{add:async()=>(await import(`./add-Bk8drM-8.js`)).commandRunnerAdd,default:async()=>(await import(`./default-tTTSBdXq.js`)).commandRunnerDefault,test:async()=>(await import(`./test-DF_qVK6S.js`)).commandRunnerTest,serve:async()=>(await import(`./serve-C1zag2nr.js`)).commandRunnerServe,list:async()=>(await import(`./list-CIS-GYO1.js`)).commandRunnerList,rename:async()=>(await import(`./rename-CKMyelWN.js`)).commandRunnerRename,remove:async()=>(await import(`./remove-CCYHc1FN.js`)).commandRunnerRemove},{menu:[{usage:`add <kind>`,blurb:`connect a runner`},{usage:`default <id>`,blurb:`set the default in its scope`},{usage:`test <id>`,blurb:`check a runner connection`},{usage:`serve --url <public url>`,blurb:`run your server's tasks on this machine`},{usage:`list`,blurb:`list your runners and the workspace's`},{usage:`rename <id> <name>`,blurb:`rename a runner`},{usage:`remove <id>`,blurb:`remove a runner`}],description:[`Run your Coder server's tasks on your own machine, reached through any tunnel.`],exampleCommand:`runner serve`});export{t as commandRunner};
|
package/dist/runner.json
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"hash":"2d75923552c73b42581465cee2821c042c5a08be45bdf49269f68900d324d2a7"}
|
package/dist/runner.tgz
ADDED
|
Binary file
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import{Rt as e,qi as t}from"./core-DwsAMCnL.js";import{N as n,Or as r,Sr as i,Tr as a,jn as o}from"./prompts-CEf7z4i_.js";import{m as s}from"./slack-Kpj-G9FE.js";import{t as c}from"./integrations-DPxWtNnS.js";import{n as l,t as u}from"./task-CQmx_2SI.js";import{_ as ee,g as d,h as te,l as f,v as p,y as m}from"./http-CXaW1e7x.js";import h from"node:path";import g from"node:process";import{existsSync as _,readFileSync as ne}from"node:fs";import{execFile as re}from"node:child_process";import{createCipheriv as v,createDecipheriv as y,createHash as b,createHmac as ie,randomBytes as x,randomUUID as S}from"node:crypto";import C,{isIP as w}from"node:net";import{readFile as ae}from"node:fs/promises";import{lookup as oe}from"node:dns/promises";import{request as se}from"node:https";const ce=i({env:a(r(),r().check(e(1)))}),T=`plain`;function E(e,t=`SERVER_ENCRYPTION_KEY`){if(!e)return;let n=Buffer.from(e,`base64`);if(n.length!==32)throw Error(`${t} must be a base64-encoded 32-byte key`);return n}function D(e){return E(e.encryptionKey)}function O(e){let t=E(e);return t?b(`sha256`).update(t).digest().readInt32BE(0):0}function k(e){return[[e.encryptionKey,`SERVER_ENCRYPTION_KEY`],[e.previousEncryptionKey,`SERVER_ENCRYPTION_KEY_PREVIOUS`]].filter(e=>!!e[0]).map(([e,t])=>({value:E(e,t),version:O(e)}))}function A(e){let t=ce.safeParse(e);if(!t.success||!Object.keys(t.data.env).length)throw Error(`Invalid engine credential`);return t.data}function le(e,t){let n=D(e);if(!n)return{iv:T,tag:``,ciphertext:Buffer.from(JSON.stringify(A(t))).toString(`base64`)};let r=x(12),i=v(`aes-256-gcm`,n,r),a=Buffer.concat([i.update(JSON.stringify(A(t)),`utf8`),i.final()]);return{iv:r.toString(`base64`),tag:i.getAuthTag().toString(`base64`),ciphertext:a.toString(`base64`)}}function ue(e,t){if(t.iv===T)return A(JSON.parse(Buffer.from(t.ciphertext,`base64`).toString(`utf8`)));for(let n of k(e))try{let e=y(`aes-256-gcm`,n.value,Buffer.from(t.iv,`base64`));return e.setAuthTag(Buffer.from(t.tag,`base64`)),A(JSON.parse(Buffer.concat([e.update(Buffer.from(t.ciphertext,`base64`)),e.final()]).toString(`utf8`)))}catch{}throw Error(`Stored credential was sealed with an unavailable encryption key`)}function de(e,t){let n=D(e);if(!n)return`${T}.${Buffer.from(JSON.stringify(t)).toString(`base64`)}`;let r=x(12),i=v(`aes-256-gcm`,n,r),a=Buffer.concat([i.update(JSON.stringify(t),`utf8`),i.final()]);return[r,i.getAuthTag(),a].map(e=>e.toString(`base64`)).join(`.`)}function j(e,t){if(t.startsWith(`${T}.`))return JSON.parse(Buffer.from(t.slice(6),`base64`).toString(`utf8`));let[n,r,i]=t.split(`.`).map(e=>Buffer.from(e,`base64`));for(let t of k(e))try{let e=y(`aes-256-gcm`,t.value,n);return e.setAuthTag(r),JSON.parse(Buffer.concat([e.update(i),e.final()]).toString(`utf8`))}catch{}throw Error(`Stored secret was sealed with an unavailable encryption key`)}function M(e,t){if(t.startsWith(`${T}.`))return 0;let[n,r,i]=t.split(`.`).map(e=>Buffer.from(e,`base64`));for(let t of k(e))try{let e=y(`aes-256-gcm`,t.value,n);return e.setAuthTag(r),e.update(i),e.final(),t.version}catch{}throw Error(`Stored secret was sealed with an unavailable encryption key`)}function fe(e,t,n={}){let r=`coder-${e.id.replace(/[^a-zA-Z0-9_.-]/g,`-`).slice(0,48)}-${Date.now()}`;t={...t,CODER_RUNNER_IMAGE:n.image??`ghcr.io/muzam1l/coder-runner:latest`,CODER_RUNNER_TARBALL_URL:G(t.CODER_SERVER)};let i=Object.keys(t).flatMap(e=>[`-e`,e]);return{args:[`run`,`-d`,`--name`,r,`--memory`,String(n.memory??`4g`),`--cpus`,String(n.cpus??2),`--pids-limit`,String(n.pidsLimit??512),`--network`,n.network??`bridge`,...i,n.image??`ghcr.io/muzam1l/coder-runner:latest`,`sh`,`-c`,q(``,`for binary in node bun git curl tar claude codex github-mcp-server; do command -v "$binary" >/dev/null 2>&1 || { printf "Docker image %s is missing required binary %s\\n" "$CODER_RUNNER_IMAGE" "$binary"; exit 127; }; done`),`coder-task`,e.id,K],env:t}}var pe=class{options;kind=`local-docker`;constructor(e={}){this.options=e}async start(e,t){let n=fe(e,{...t,CODER_INBOX_SOCKET:l},this.options),r=await d(`docker`,n.args,{PATH:g.env.PATH??``,...n.env});if(r.code!==0)throw Error(r.stderr.trim()||`docker run failed`);return r.stdout.trim()}async status(e){let t=await d(`docker`,[`inspect`,`--format`,`{{.State.Running}} {{.State.ExitCode}}`,e],{PATH:g.env.PATH??``});if(t.code!==0)return{state:`exited`};let[n,r]=t.stdout.trim().split(/\s+/);return n===`true`?{state:`running`}:{state:`exited`,code:Number(r)||0}}async stop(e){await d(`docker`,[`rm`,`-f`,e],{PATH:g.env.PATH??``})}async push(e,t){let n=await d(`docker`,[`exec`,`-e`,`CODER_INBOX_MESSAGES`,e,`node`,`-e`,u],{PATH:g.env.PATH??``,CODER_INBOX_MESSAGES:JSON.stringify(t)});if(n.code!==0)throw Error(`Docker inbox delivery failed`);return JSON.parse(n.stdout)}},me=t({GithubActionsRunner:()=>F,actionsWorkflow:()=>N});function N(){return`name: Coder agent
|
|
2
|
+
run-name: Coder agent \${{ inputs.task }}
|
|
3
|
+
on:
|
|
4
|
+
workflow_dispatch:
|
|
5
|
+
inputs:
|
|
6
|
+
task: { required: true, type: string }
|
|
7
|
+
server: { required: true, type: string }
|
|
8
|
+
token: { required: true, type: string }
|
|
9
|
+
mode: { required: true, type: string }
|
|
10
|
+
tarball: { required: true, type: string }
|
|
11
|
+
jobs:
|
|
12
|
+
run:
|
|
13
|
+
runs-on: ubuntu-latest
|
|
14
|
+
container: ${U}
|
|
15
|
+
steps:
|
|
16
|
+
- run: |
|
|
17
|
+
sh -c '${q().replaceAll(`'`,`'\\''`)}' coder-task "$TASK" '${K.replaceAll(`'`,`'\\''`).trim().replaceAll(`
|
|
18
|
+
`,` `)}'
|
|
19
|
+
env:
|
|
20
|
+
TASK: \${{ inputs.task }}
|
|
21
|
+
CODER_SERVER: \${{ inputs.server }}
|
|
22
|
+
CODER_TASK_TOKEN: \${{ inputs.token }}
|
|
23
|
+
CODER_INBOX_MODE: \${{ inputs.mode }}
|
|
24
|
+
CODER_RUNNER_TARBALL_URL: \${{ inputs.tarball }}
|
|
25
|
+
`}const P=e=>p(e);var F=class{options;kind=`github-actions`;fetcher;constructor(e={}){this.options=e,this.fetcher=e.fetch??fetch}async request(e,t={},n=1e4){if(!this.options.token)throw Error(`RUNNER_CONFIG.token is required for github-actions`);let r=AbortSignal.timeout(n);for(let n=0;;n++){let i=await this.fetcher(`https://api.github.com${e}`,{...t,signal:r,redirect:`manual`,headers:{accept:`application/vnd.github+json`,authorization:`Bearer ${this.options.token}`,"content-type":`application/json`,"user-agent":`coder`,"x-github-api-version":`2022-11-28`,...t.headers}});if((t.method??`GET`)!==`GET`||n===2||i.status!==429&&i.status<500)return i;let a=Number(i.headers.get(`retry-after`));await i.body?.cancel(),await new Promise((e,t)=>{let i=()=>{clearTimeout(s),r.removeEventListener(`abort`,o)},o=()=>{i(),t(r.reason)},s=setTimeout(()=>{i(),e()},Number.isFinite(a)&&a>0?a*1e3:100*2**n);r.addEventListener(`abort`,o,{once:!0}),r.aborted&&o()})}}async start(e,t){let n=this.options.repo??(e.event?.repo&&`${e.event.repo.owner}/${e.event.repo.name}`);if(!n)throw Error(`The github-actions runner requires a repository`);let r=Date.now()+(this.options.lookupTimeoutMs??25e3),i=encodeURIComponent(this.options.workflow??`coder-agent.yml`),a=e.event?.repo,o=this.options.ref??(a&&`${a.owner}/${a.name}`===n?a.defaultBranch:void 0);if(!o){let e=await this.request(`/repos/${n}`,{},Math.max(1,r-Date.now()));if(!e.ok)throw Error(`GitHub repository lookup failed: ${e.status}`);let t=await e.json();if(!t.default_branch)throw Error(`GitHub repository has no default branch`);o=t.default_branch}let s=await this.request(`/repos/${n}/actions/workflows/${i}/dispatches`,{method:`POST`,headers:{"x-github-api-version":`2026-03-10`},body:JSON.stringify({ref:o,inputs:{task:e.id,server:t.CODER_SERVER,token:t.CODER_TASK_TOKEN,mode:t.CODER_INBOX_MODE,tarball:G(t.CODER_SERVER)}})},Math.max(1,r-Date.now()));if(s.status!==200)throw Error(`GitHub workflow dispatch failed: ${s.status}`);let c=await s.json();if(!Number.isSafeInteger(c.workflow_run_id)||c.workflow_run_id<=0)throw Error(`GitHub workflow dispatch returned no run id`);return m({repo:n,run:c.workflow_run_id})}async status(e){let{repo:t,run:n}=P(e),r=await this.request(`/repos/${t}/actions/runs/${n}`);if(r.status===404)return{state:`exited`,code:1};if(!r.ok)throw Error(`GitHub workflow status failed: ${r.status}`);let i=await r.json();return i.status===`completed`?{state:`exited`,code:i.conclusion===`success`?0:1}:{state:`running`}}async stop(e){let{repo:t,run:n}=P(e),r=await this.request(`/repos/${t}/actions/runs/${n}/cancel`,{method:`POST`});if(r.status!==202&&r.status!==409)throw Error(`GitHub workflow cancellation failed: ${r.status}`)}};function he(e){if(!w(e))return!0;if(w(e)===6){let t=new URL(`https://[${e}]/`).hostname.slice(1,-1).split(`::`),n=t[0]?t[0].split(`:`):[],r=t[1]?t[1].split(`:`):[],i=[...n,...Array(8-n.length-r.length).fill(`0`),...r].map(e=>parseInt(e,16));if(i.every(e=>e===0)||i.slice(0,7).every(e=>e===0)&&i[7]===1||(i[0]&65024)==64512||(i[0]&65472)==65152||(i[0]&65280)==65280)return!0;let a;if(i.slice(0,5).every(e=>e===0)&&(i[5]===0||i[5]===65535))a=i.slice(6);else if(i.slice(0,4).every(e=>e===0)&&i[4]===65535&&i[5]===0)a=i.slice(6);else if((i[4]===0||i[4]===512)&&i[5]===24318)a=i.slice(6);else if(i[0]===100&&i[1]===65435&&i.slice(2,6).every(e=>e===0))a=i.slice(6);else if(i[0]===8194)a=i.slice(1,3);else if(i[0]===8193&&(i[1]===0||i[1]===3512)||i[0]===100&&i[1]===65435&&i[2]===1)return!0;if(!a)return!1;e=a.flatMap(e=>[e>>8,e&255]).join(`.`)}let t=e.split(`.`).map(Number);return t[0]===0||t[0]===10||t[0]===127||t[0]===169&&t[1]===254||t[0]===172&&t[1]>=16&&t[1]<=31||t[0]===192&&t[1]===168||t[0]===192&&t[1]===0&&(t[2]===0||t[2]===2)||t[0]===198&&t[1]>=18&&t[1]<=19||t[0]===198&&t[1]===51&&t[2]===100||t[0]===203&&t[1]===0&&t[2]===113||t[0]===100&&t[1]>=64&&t[1]<=127||t[0]>=224}var I=class{options;kind=`http`;base;fetcher;resolver;constructor(e){if(this.options=e,!e?.url)throw Error(`The http runner requires RUNNER_CONFIG.url`);if(this.base=new URL(`${e.url.replace(/\/+$/,``)}/`),this.base.protocol!==`https:`)throw Error(`The http runner requires an HTTPS URL`);if(this.base.username||this.base.password)throw Error(`The http runner URL cannot contain credentials`);if(!e.secret)throw Error(`RUNNER_CONFIG.secret is required for the http runner`);this.fetcher=e.fetch,this.resolver=e.lookup??oe}async safe(){let e=this.base.hostname.replace(/^\[|\]$/g,``),t=w(e)?[{address:e,family:w(e)}]:await this.resolver(e,{all:!0});if(!t.length)throw Error(`The http runner resolved no address`);if(t.some(e=>he(e.address)))throw Error(`The http runner refuses private and metadata addresses`);return t[0]}send(e,t,n){return this.fetcher?this.fetcher(e,t):new Promise((r,i)=>{let a=(this.options.request??se)(e,{method:t.method,headers:t.headers,signal:t.signal??void 0,agent:!1,lookup:(e,t,r)=>{t.all?r(null,[n]):r(null,n.address,n.family)}},e=>{let t=[];e.on(`data`,e=>t.push(Buffer.from(e))),e.on(`error`,i),e.on(`end`,()=>r(new Response(e.statusCode===204?null:Buffer.concat(t),{status:e.statusCode})))});a.on(`error`,i),a.end(t.body)})}async request(e,t=`GET`,n,r){let i=await this.safe(),a=n===void 0?``:JSON.stringify(n),o=String(Date.now()),s=x(16).toString(`base64url`),c=ie(`sha256`,this.options.secret).update(`${a}.${o}.${s}`).digest(`base64url`),l=await this.send(new URL(e.replace(/^\//,``),this.base),{method:t,redirect:`manual`,headers:{...this.options.headers,"content-type":`application/json`,"x-coder-timestamp":o,"x-coder-nonce":s,"x-coder-signature":c},...a?{body:a}:{},signal:r??AbortSignal.timeout(e===`/start`?3e4:1e4)},i);if(l.status>=300&&l.status<400)throw Error(`The http runner refuses redirects`);if(!l.ok)throw Error(`HTTP runner request failed: ${l.status}`);if(l.status===204)return;let u=await l.text();return u?JSON.parse(u):void 0}health(e){return this.request(`/health`,`GET`,void 0,e)}async start(e,t){let n=await this.request(`/start`,`POST`,{task:e.id,env:t});if(!n.handle)throw Error(`HTTP runner returned no handle`);return n.handle}status(e){return this.request(`/status/${encodeURIComponent(e)}`)}async stop(e){await this.request(`/stop/${encodeURIComponent(e)}`,`POST`,{})}push(e,t){return this.request(`/messages/${encodeURIComponent(e)}`,`POST`,{entries:t})}};const L=e=>p(e),R=18e5,ge={"eu-north-1":`arn1`,"ap-south-1":`bom1`,"eu-west-3":`cdg1`,"us-east-2":`cle1`,"af-south-1":`cpt1`,"eu-west-1":`dub1`,"eu-central-1":`fra1`,"sa-east-1":`gru1`,"ap-east-1":`hkg1`,"ap-northeast-1":`hnd1`,"us-east-1":`iad1`,"ap-northeast-2":`icn1`,"ap-northeast-3":`kix1`,"eu-west-2":`lhr1`,"us-west-2":`pdx1`,"us-west-1":`sfo1`,"ap-southeast-1":`sin1`,"ap-southeast-2":`syd1`,"ca-central-1":`yul1`};function _e(e){if(!e)return;let t=(()=>{try{return new URL(e).hostname}catch{return``}})();return Object.entries(ge).find(([e])=>t.includes(e))?.[1]}const z=[{name:`ANTHROPIC_API_KEY`,host:`api.anthropic.com`,header:`x-api-key`,prefix:``},{name:`OPENAI_API_KEY`,host:`api.openai.com`,header:`authorization`,prefix:`Bearer `}],ve=`brokered`,B={claude:{api:`api.anthropic.com`,account:[`claude.ai`,`platform.claude.com`]},codex:{api:`api.openai.com`,account:[`auth.openai.com`,`chatgpt.com`]}};function ye(e,t){let n=B[e],r=t.CLAUDE_CODE_OAUTH_TOKEN||t.CODEX_AUTH_JSON,i=[t.ANTHROPIC_BASE_URL,t.OPENAI_BASE_URL].filter(e=>e&&URL.canParse(e));return[...n?[n.api,...r?n.account:[]]:[],...i.map(e=>new URL(e).hostname)]}function be(e={},t,n=z){let r={};for(let t of n)e[t.name]&&((r[t.host]??={})[t.header]=`${t.prefix}${e[t.name]}`);let i=Object.entries(r).map(([e,t])=>[e,[{transform:[{headers:t}]}]]);if(!t)return i.length?{allow:{...Object.fromEntries(i),"*":[]}}:void 0;let a=[...new Set(t.filter(e=>C.isIP(e)))],o=t.filter(e=>!C.isIP(e)).map(e=>[e,[]]);return{allow:{...Object.fromEntries(o),...Object.fromEntries(i)},...a.length?{subnets:{allow:a.map(e=>`${e}/${C.isIPv6(e)?128:32}`)}}:{}}}function xe(e){return[...[e.CODER_SERVER,e.CODER_RUNNER_TARBALL_URL].filter(e=>e&&URL.canParse(e)).map(e=>new URL(e).hostname),...Object.values(c).flatMap(e=>e.tools.installHosts??[])]}async function Se(){try{return(await import(`@vercel/sandbox`)).Sandbox}catch{throw Error(`The vercel-sandbox runner requires @vercel/sandbox in the adapter app.`)}}function V(e){return e&&typeof e==`object`&&`response`in e&&e.response instanceof Response?e.response.status:void 0}function Ce(e){if(V(e)!==410||!e||typeof e!=`object`||!(`json`in e))return!1;let t=e.json;if(!t||typeof t!=`object`||!(`error`in t))return!1;let n=t.error;return!!n&&typeof n==`object`&&`code`in n&&n.code===`snapshot_not_found`}var H=class extends Error{snapshotId;constructor(e,t,n){super(e,n),this.snapshotId=t}},we=class{options;kind=`vercel-sandbox`;sandboxes=new Map;constructor(e={}){this.options=e}api(){return this.options.sandbox?Promise.resolve(this.options.sandbox):Se()}async sandbox(e){for(let[e,t]of this.sandboxes)t.expiresAt<=this.now()&&this.sandboxes.delete(e);return this.sandboxes.get(e)?.sandbox??(await this.api()).get({...this.auth(),name:e})}now(){return(this.options.now??Date.now)()}auth(){return{...this.options.token?{token:this.options.token,projectId:this.options.projectId??process.env.VERCEL_PROJECT_ID,teamId:this.options.team??process.env.VERCEL_TEAM_ID}:{}}}base(e){return{...e?{source:{type:`snapshot`,snapshotId:e}}:this.options.image?{image:this.options.image}:{},...this.options.region?{region:this.options.region}:{},...this.auth(),resources:{vcpus:this.options.vcpus??1},persistent:!1}}snapshotKey(e){let t=e.event?.repo;if(!t)return;let n=[W(),this.options.image??null,e.event.appId,e.event.installationId,t.owner,t.name];return`repo:${this.options.region??``}:${s(JSON.stringify(n))}`}async stopSandbox(e){try{await e.stop()}finally{this.sandboxes.delete(e.name)}}async withSandbox(e,t){let n;try{if(n=typeof e==`string`?await this.sandbox(e):e,n.status!==`running`&&n.status!==`pending`)throw new H(`Vercel Sandbox ${n.name} is ${n.status}`);return await t(n)}catch(t){let r=V(t);throw(r===404||r===410)&&typeof e==`string`&&this.sandboxes.delete(e),r===410||!n&&typeof e==`string`&&r===404?new H(t instanceof Error?t.message:`Vercel Sandbox expired`,void 0,{cause:t}):t}}withSnapshotLock(e,t){let n=this.options.snapshots;return n.withLock?n.withLock(e,t):t(n)}async finalizeSnapshot(e,t){let n=this.now(),r=S(),i=await this.withSnapshotLock(e,async i=>{let a=await i.get(e)??{};if(!a.build||a.lease&&a.lease.expiresAt>n||t?.build&&(a.build.sandbox!==t.build.sandbox||a.build.command!==t.build.command||a.build.startedAt!==t.build.startedAt))return a;let o={...a,lease:{owner:r,expiresAt:n+R}};return await i.put(e,o),o});if(i.lease?.owner!==r||!i.build)return i;let{build:a,lease:o,...s}=i,c={...s,build:a},l;try{c=await this.withSandbox(a.sandbox,async e=>{let t=await e.getCommand(a.command);if(t.exitCode===null&&n-a.startedAt<R)return c;if(t.exitCode===0){let r=/^coder-snapshot (\S+)$/m.exec(await t.stdout())?.[1];if(r&&r===i.sha)return await this.stopSandbox(e).catch(()=>{}),{...s,checkedAt:n};let a=await e.snapshot({expiration:2592e6});return this.sandboxes.delete(e.name),{...s,snapshotId:a.snapshotId,...r?{sha:r}:{},checkedAt:n}}return await this.stopSandbox(e).catch(()=>{}),{...s,failedAt:n}})}catch(e){if(l=e,e instanceof H){let{failedAt:e,...t}=s;c=t}}let u=await this.withSnapshotLock(e,async t=>{let n=await t.get(e)??{};return n.lease?.owner===r?(await t.put(e,c),c):n});if(l)throw l;return u}async snapshot(e,t,n,r){if(!this.options.snapshots)return;let i=await this.finalizeSnapshot(e);if(i.build)return i.snapshotId;let a=this.now(),o=S(),s=await this.withSnapshotLock(e,async t=>{let r=await t.get(e)??{},i=!r.snapshotId||n&&a-(r.checkedAt??0)>=9e5,s=r.failedAt!==void 0&&a-r.failedAt<36e5;if(r.build||r.lease&&r.lease.expiresAt>a||!i||s)return r;let c={...r,lease:{owner:o,expiresAt:a+R}};return await t.put(e,c),c});if(s.lease?.owner!==o)return s.snapshotId;let c,l;try{c=await t(s.snapshotId)}catch(e){e instanceof H&&(l=e)}let u=await this.withSnapshotLock(e,async t=>{let n=await t.get(e)??{};if(n.lease?.owner!==o)return n;let{lease:r,...i}=n,s={...i,...c?{build:{sandbox:c.sandbox,command:c.command,startedAt:a}}:{}};return await t.put(e,s),s});if(c)if(u.build?.sandbox===c.sandbox&&u.build.command===c.command){let t=(async()=>{await c.wait(),await this.finalizeSnapshot(e,u)})().catch(()=>{});r?.(t)}else await this.withSandbox(c.sandbox,e=>this.stopSandbox(e)).catch(()=>{});if(l)throw l;return u.snapshotId}async detached(e,t,n={}){let r=await(await this.api()).create({...this.base(e),timeout:this.options.timeoutMs??18e5,...n}).catch(t=>{throw e&&Ce(t)?new H(t.message,e,{cause:t}):t});if(!t.env?.CODER_PREPARE){for(let[e,t]of this.sandboxes)t.expiresAt<=this.now()&&this.sandboxes.delete(e);this.sandboxes.size>=1e3&&this.sandboxes.delete(this.sandboxes.keys().next().value),this.sandboxes.set(r.name,{sandbox:r,expiresAt:this.now()+Number(n.timeout??this.options.timeoutMs??R)})}try{let e=await this.withSandbox(r,e=>e.runCommand({...t,detached:!0}));return{sandbox:r.name,command:e.cmdId,wait:()=>e.wait({signal:AbortSignal.timeout(R)})}}catch(e){throw this.sandboxes.delete(r.name),await this.stopSandbox(r).catch(()=>{}),e}}async start(e,t,r,i={}){t={...t,[n]:`1`,CODER_RUNNER_TARBALL_URL:G(t.CODER_SERVER),CODER_RUNNER_HASH:W()};let a=be(r,i.hosts&&[...xe(t),...i.hosts],i.brokered),o=t=>({cmd:`sh`,args:[`-c`,q(ee().map(e=>`sudo sh -c '${e.replaceAll(`'`,`'\\''`)}'`).join(` && `),``,`setpriv --inh-caps=-all --ambient-caps=-all bun`),`coder-task`,e.id,K],env:t});for(let n=0;;n++){let r;try{r=this.snapshotKey(e);let n=r?await this.snapshot(r,e=>this.detached(e,o({...t,CODER_PREPARE:`1`})),!0,i.waitUntil):void 0,s=await this.detached(n,o({...t,CODER_INBOX_SOCKET:l}),{...a?{networkPolicy:a}:{},...i.timeoutMs?{timeout:i.timeoutMs}:{}});return m({sandbox:s.sandbox,command:s.command})}catch(e){if(!(e instanceof H))throw e;if(r&&e.snapshotId&&this.options.snapshots){let t=e.snapshotId;await this.withSnapshotLock(r,async e=>{let n=await e.get(r);if(n?.snapshotId!==t)return;let{snapshotId:i,sha:a,checkedAt:o,failedAt:s,...c}=n;await e.put(r,c)})}if(n===2)throw e}}}async status(e){let t=L(e);try{let e=await this.sandbox(t.sandbox);if(e.status===`pending`)return{state:`running`};if(e.status!==`running`)return this.sandboxes.delete(t.sandbox),{state:`exited`,code:1};let n=await e.getCommand(t.command);return n.exitCode===null?{state:`running`}:{state:`exited`,code:n.exitCode}}catch(e){throw[404,410].includes(V(e)??0)&&this.sandboxes.delete(t.sandbox),e}}async push(e,t){return this.withSandbox(L(e).sandbox,async e=>{let n=await e.runCommand({cmd:`node`,args:[`-e`,u],detached:!1,env:{CODER_INBOX_MESSAGES:JSON.stringify(t)}}),r=await n.stdout();if(n.exitCode!==0)throw Error(`Sandbox inbox delivery failed`);return JSON.parse(r)})}async stop(e){let t=L(e).sandbox;try{await(await this.sandbox(t)).stop()}finally{this.sandboxes.delete(t)}}};const U=`ghcr.io/muzam1l/coder-runner:latest`;function W(){let e=new URL(`./runner.json`,import.meta.url),{hash:t}=JSON.parse(ne(_(e)?e:h.join(o,`dist/runner.json`),`utf8`));if(typeof t!=`string`||!/^[a-f0-9]{64}$/.test(t))throw Error(`The runner package is missing; run bun run build.`);return t}function G(e){return`${e.replace(/\/+$/,``)}/runner/${W()}.tgz`}async function Te(e,t,n){if(n.file!==`${W()}.tgz`)return f();try{let e=new URL(`./runner.tgz`,import.meta.url),t=await ae(_(e)?e:h.join(o,`dist/runner.tgz`));return new Response(t,{headers:{"content-type":`application/gzip`,"cache-control":`public, max-age=31536000, immutable`}})}catch(e){if(e.code===`ENOENT`)return f();throw e}}const K=`
|
|
26
|
+
const [file, id] = process.argv.slice(1);
|
|
27
|
+
const lines = require('fs').readFileSync(file, 'utf8').split('\\n').map(line => line.trim()).filter(Boolean);
|
|
28
|
+
const error = 'The machine failed: ' + lines.slice(-6).join(' ').slice(-800);
|
|
29
|
+
const login = process.env.CODER_LOGIN;
|
|
30
|
+
const url = process.env.CODER_SERVER.replace(/\\/+$/, '') + (login ? '/logins/' : '/tasks/') + encodeURIComponent(id) + (login ? '' : '/result');
|
|
31
|
+
fetch(url, {
|
|
32
|
+
method: 'POST', signal: AbortSignal.timeout(10000),
|
|
33
|
+
headers: { authorization: 'Bearer ' + process.env.CODER_TASK_TOKEN, 'content-type': 'application/json' },
|
|
34
|
+
body: JSON.stringify(login ? { error } : { status: 'failed', error, machine: true }),
|
|
35
|
+
}).then(response => { if (!response.ok) process.exitCode = 1; }).catch(() => { process.exitCode = 1; });
|
|
36
|
+
`;function q(e=``,t=``,n=`bun`){let r=[`rm -rf .coder-runner/package && tar -xzf .coder-runner/package.tgz -C .coder-runner`,`mkdir -p .coder-runner/bin`,`printf '#!/bin/sh\nexec ${n} "$(dirname "$0")/../package/bin/coder.mjs" "$@"\n' > .coder-runner/bin/coder`,`chmod +x .coder-runner/bin/coder`].join(` && `),i=`node -e 'const fs=require("fs"),crypto=require("crypto");process.exit(/^[a-f0-9]{64}$/.test(process.env.CODER_RUNNER_HASH||"")&&crypto.createHash("sha256").update(fs.readFileSync(".coder-runner/package.tgz")).digest("hex")===process.env.CODER_RUNNER_HASH?0:1)'`,a=[`mkdir -p .coder-runner`,'curl -fsSL --retry 2 --connect-timeout 10 --max-time 30 "${CODER_RUNNER_TARBALL_URL:?Runner package URL is required}" -o .coder-runner/package.tgz',`{ [ -z "$CODER_RUNNER_HASH" ] || ${i}; }`,r,...e?[e]:[],`printf "%s" "$CODER_RUNNER_HASH" > .coder-runner/hash`].join(` && `),o=`[ -n "$CODER_RUNNER_HASH" ] && [ -f .coder-runner/package.tgz ] && [ "$(cat .coder-runner/hash 2>/dev/null)" = "$CODER_RUNNER_HASH" ] && ${i}`;return[`out=$(mktemp)`,`{ (${[...t?[t]:[],`if ${o}; then ${r}; else ${a}; fi`,`PATH="$PWD/.coder-runner/bin:$PATH" CODER_NO_UPDATE_CHECK=1 ${n} .coder-runner/package/bin/coder.mjs agent run --task "$1"`].join(` && `)}) 2>&1; echo $? >"$out.status"; } | tee "$out"`,`status=$(cat "$out.status")`,`[ "$status" = 0 ] || { [ -n "$CODER_PREPARE" ] || { if command -v node >/dev/null 2>&1; then node -e "$2" "$out" "$1"; else bun -e "$2" "$out" "$1"; fi; }; }`,`rm -f "$out" "$out.status"`,`exit "$status"`].join(`; `)}const Ee=[`local`,`local-docker`,`vercel-sandbox`,`github-actions`,`http`];function J(e,t=``){return{get:n=>e.get(`snapshot`,`${t}${n}`),put:(n,r)=>e.put(`snapshot`,`${t}${n}`,r),withLock:(n,r)=>e.withAppLock(`snapshot:${t}${n}`,e=>r({get:n=>e.get(`snapshot`,`${t}${n}`),put:(n,r)=>e.put(`snapshot`,`${t}${n}`,r)}))}}function De(e){let t=e.kind;return e.local===!1&&(t===`local`||t===`local-docker`)?{}:{[t]:Y(t,e)}}function Y(e,t){let n=t.config??{};if(e===`local`)return new te(t.workDir);if(e===`local-docker`)return new pe(n);if(e===`vercel-sandbox`)return new we({...t.sandbox,...n});if(e===`github-actions`)return new F({...n,...t.fetch?{fetch:t.fetch}:{}});if(typeof n.url!=`string`||typeof n.secret!=`string`)throw Error(`HTTP runner requires a URL and secret`);return new I({url:n.url,secret:n.secret,...t.fetch?{fetch:t.fetch}:{}})}function X(e,t){return e.scope===`workspace`||!!(t&&e.owner===t)}function Z(e){return e.local?`local`:`default`}async function Oe(e,t={}){let n=t.runner??t.agent;if(n===Z(e))return{runner:e.config.runner};let r=(await e.store.list(`runner`,{visibleTo:t.requester,...n?{runner:n}:{defaults:!0}})).filter(({value:n})=>X(n,t.requester)&&(e.local||n.kind!==`local`&&n.kind!==`local-docker`)),i=n?r.find(({id:e,value:t})=>e===n||t.name===n):r.find(({value:e})=>e.scope===`personal`&&e.default)??r.find(({value:e})=>e.scope===`workspace`&&e.default);if(n&&!i)throw Error(`Unknown runner "${n}".`);return i?{runner:i.value.kind,runnerId:i.id}:{runner:e.config.runner}}function Q(e,t,n){let r={...t.config,...j(e.config,t.secret)};return Y(t.kind,{workDir:e.config.workDir,config:r,fetch:e.fetch,sandbox:{...n?{snapshots:J(e.store,`runner:${n}:`)}:{}}})}async function ke(e,t){if(!t.runnerId)return e.runners[t.runner];let n=await e.store.get(`runner`,t.runnerId);if(!n||n.kind!==t.runner||!e.local&&(n.kind===`local`||n.kind===`local-docker`)){e.settings?.runnerInstances?.delete(t.runnerId);return}j(e.config,n.secret);let r=(e.settings??={}).runnerInstances??=new Map,i=JSON.stringify([n.kind,n.config,n.secret]),a=r.get(t.runnerId);return a?.signature!==i&&(a={signature:i,runner:Q(e,n,t.runnerId)},r.set(t.runnerId,a)),a.runner}function Ae(e,t){if(Object.keys(t).some(t=>!e.fields.some(e=>e.key===t)))throw Error(`Unknown runner field`);for(let n of e.fields)if(!n.optional&&!t[n.key]?.trim())throw Error(`${n.label} is required`);if(e.kind===`http`){if(t.secret.length<32)throw Error(`Secret must contain at least 32 characters`);new I({url:t.url,secret:t.secret})}if(e.kind===`github-actions`&&!/^[\w.-]+\/[\w.-]+$/.test(t.repo))throw Error(`Repository must be owner/repo`);if(e.kind===`local-docker`&&t.cpus&&!(Number(t.cpus)>0&&Number.isFinite(Number(t.cpus))))throw Error(`CPUs must be positive`)}var $=class extends Error{};async function je(e,t){let n=Date.now(),r=new AbortController,i,a=new Promise((t,n)=>{i=setTimeout(()=>{r.abort(),n(new $(`Runner check timed out`))},e.runnerTimeoutMs??5e3)});try{return{ok:!0,detail:await Promise.race([a,(async()=>{let n=t?.kind??e.config.runner,i=t?{...t.config,...j(e.config,t.secret)}:e.config.runnerConfig??{};if(n===`local`){if(!e.local)throw new $(`Local runners require a local server`);return`This machine is available`}if(n===`http`){let n=t?Q(e,t):e.runners.http;if(!(n instanceof I)||!(await n.health(r.signal)).ok)throw new $(`Runner health check failed`);return`Runner is reachable`}if(n===`local-docker`){if(!e.local)throw new $(`Docker runners require a local server`);return await new Promise((t,n)=>{(e.runnerExec??re)(`docker`,[`info`],{timeout:5e3,signal:r.signal},e=>e?n(new $(`Docker is unavailable`)):t())}),`Docker is available`}let a=async t=>{let n=await(e.fetch??fetch)(t,{signal:r.signal,redirect:`manual`,headers:{authorization:`Bearer ${i.token}`,accept:`application/json`,"user-agent":`coder`}});if(!n.ok)throw new $(`Runner check failed with HTTP ${n.status}`);return n};if(n===`github-actions`){let e=String(i.repo).split(`/`).map(encodeURIComponent).join(`/`);return await a(`https://api.github.com/repos/${e}`),await a(`https://api.github.com/repos/${e}/actions/workflows/${encodeURIComponent(String(i.workflow))}`),`Repository and workflow are accessible`}let o=await(await a(`https://api.vercel.com/v2/teams?limit=100`)).json();if(!Array.isArray(o.teams))throw new $(`Invalid team response`);if(i.team&&!o.teams.some(e=>e.id===i.team||e.slug===i.team))throw new $(`Team is not accessible`);return`Teams are accessible`})()]),ms:Date.now()-n}}catch(e){return{ok:!1,detail:e instanceof $?e.message:`Runner check failed`,ms:Date.now()-n}}finally{clearTimeout(i)}}export{de as C,le as S,M as T,I as _,Te as a,ue as b,ke as c,X as d,z as f,_e as g,ye as h,De as i,je as l,B as m,Ee as n,J as o,ve as p,Oe as r,Z as s,U as t,Ae as u,N as v,O as w,j as x,me as y};
|