@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.
Files changed (547) hide show
  1. package/dist/actions-C3Mgpl9J.js +2 -0
  2. package/dist/adapter-BeezVK-B.js +1 -0
  3. package/dist/{adapter-YCvP9H2n.js → adapter-ChaISKgI.js} +42 -42
  4. package/dist/{adapter-B2RXnvqt.js → adapter-MD6ahqPR.js} +6 -6
  5. package/dist/{add-CvBTpxgY.js → add-B26QSwPY.js} +2 -2
  6. package/dist/add-BbXuvqj1.js +1 -0
  7. package/dist/add-Bk8drM-8.js +1 -0
  8. package/dist/add-CD_L-WW8.js +2 -0
  9. package/dist/agent-B8ItyuHN.js +8 -0
  10. package/dist/{agent-vYm7Geh-.js → agent-DHpMqHVi.js} +1 -1
  11. package/dist/alias-CScCzXhS.js +2 -0
  12. package/dist/{app-CJPFaLIV.js → app-wHQJHu6N.js} +1 -1
  13. package/dist/approvals-BIGQBbCM.js +2 -0
  14. package/dist/{approve-CBuGu3du.js → approve-BnZ3v-3c.js} +1 -1
  15. package/dist/approve-DFSy7Z72.js +2 -0
  16. package/dist/apps-6BgpUsFh.js +372 -0
  17. package/dist/archive-CU0nhUeJ.js +4 -0
  18. package/dist/{archive-C89Z4kSx.js → archive-CY2lvp_c.js} +2 -2
  19. package/dist/args-BekfmD9t.js +1 -0
  20. package/dist/ask-CLDgHB_Y.js +4 -0
  21. package/dist/auth-C3KrIUf1.js +1 -0
  22. package/dist/auth-CGeSfgNb.js +1 -0
  23. package/dist/builtin/coder/agent.json +5 -9
  24. package/dist/chat-AbW-LOHo.js +13 -0
  25. package/dist/chat-bridge-WK-pKNfw.js +2 -0
  26. package/dist/chat-bwKd3y6V.js +1 -0
  27. package/dist/cli-Fp28pM4Y.js +9 -0
  28. package/dist/cli.js +1 -1
  29. package/dist/client-DzwzCsue.js +22 -0
  30. package/dist/config-DoVedq6T.js +3 -0
  31. package/dist/{connection-BtUZA2St.js → connection-5V8doFL7.js} +1 -1
  32. package/dist/connection-Cb0TK201.js +1 -0
  33. package/dist/conversation-DT-35cEt.js +1 -0
  34. package/dist/create-CrjRdQip.js +1 -0
  35. package/dist/credentials-DoL9w8D1.js +1 -0
  36. package/dist/dash/standalone/server/build-index.json +1 -1
  37. package/dist/dash/standalone/server/manifest.json +1317 -1303
  38. package/dist/dash/standalone/server/modules-server-server-react-server/src/client/{index.8e150ef2bc6a5f4e.js → index.843431e3538fd9a4.js} +7 -11
  39. package/dist/dash/standalone/server/modules-server-server-react-server/src/core/{defaults.e6ce0944639198a2.js → defaults.1b615366c56838a1.js} +27 -1
  40. package/dist/dash/standalone/server/modules-server-server-react-server/src/core/event-prompt.87f064ca0141e796.js +30 -0
  41. package/dist/dash/standalone/server/modules-server-server-react-server/src/core/task/{log-view.871cbff2605b5cfd.js → log-view.60308a11f7001eb7.js} +10 -0
  42. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/api/{load.4f942c7f68b2e273.js → load.7ae462ef36271be8.js} +15 -2
  43. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/api/{types.9f59e6c761d6aac4.js → types.79f9092cdb5a00d1.js} +4 -0
  44. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/connect/{page.a2a16ead424b2185.js → page.806027fde54ab723.js} +3 -3
  45. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/create/[id]/{page.90e312759b87cfa2.js → page.bd04d2d3eba00676.js} +2 -2
  46. 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
  47. 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
  48. 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
  49. 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
  50. 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
  51. 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
  52. 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
  53. 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
  54. 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
  55. 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
  56. 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
  57. 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
  58. 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
  59. 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
  60. 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
  61. 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
  62. 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
  63. 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
  64. 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
  65. 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
  66. 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
  67. 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
  68. 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
  69. 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
  70. 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
  71. 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
  72. 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
  73. 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
  74. 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
  75. 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
  76. 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
  77. 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
  78. 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
  79. 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
  80. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/{layout.6d2242d49ae9dd35.js → layout.19006c2d7dc8d114.js} +13 -13
  81. 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
  82. 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
  83. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/{page.c720853404d94114.js → page.d39f7a1719f50c6d.js} +2 -2
  84. 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
  85. 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
  86. 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
  87. 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
  88. 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
  89. 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
  90. 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
  91. 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
  92. 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
  93. 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
  94. 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
  95. 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
  96. 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
  97. 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
  98. 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
  99. 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
  100. 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
  101. 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
  102. 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
  103. 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
  104. 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
  105. 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
  106. 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
  107. 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
  108. 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
  109. 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
  110. 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
  111. 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
  112. 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
  113. 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
  114. 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
  115. 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
  116. 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
  117. 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
  118. 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
  119. 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
  120. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/{layout.b7e3af142b17941b.js → layout.185dbc99875e208a.js} +11 -3
  121. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/login/{page.226544940a39fd3a.js → page.a82be2fd23e9ac67.js} +2 -7
  122. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/zone.0515a688ee5ff6ca.js +17 -0
  123. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/frame/{drawer.8287e5a02144e4f1.js → drawer.d3e61538dbc8ec39.js} +2 -2
  124. 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
  125. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/frame/heads.37e35439c02fc636.js +16 -0
  126. 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
  127. 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
  128. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/frame/{stream.1cc355a530dcc5e3.js → stream.95a2468086aceb84.js} +3 -3
  129. 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
  130. 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
  131. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/nav/{back.5681714d0cf45454.js → back.180765bdadf6d602.js} +3 -3
  132. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/nav/{org.4d84ad0ac340fbe2.js → org.572ad93c7707ab27.js} +1 -1
  133. 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
  134. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{badge.0851f234f300c694.js → badge.c0bc352791a95fd6.js} +1 -1
  135. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{button.983daea9e687fc5d.js → button.ce9e6cdb08ca86db.js} +1 -1
  136. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{card.c08471eaa0bc1cec.js → card.9f0d45b73bc78b4f.js} +9 -5
  137. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{collapse.762eba56417214ca.js → collapse.93e4d1b20c2873ed.js} +13 -3
  138. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{combo.efb84f0cca771948.js → combo.54270c0251466fda.js} +3 -22
  139. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{confirm.53edc755945b0563.js → confirm.c1281f9b12854210.js} +3 -3
  140. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{copy.0b23d7dc05757df5.js → copy.bd6fc1577a393965.js} +2 -2
  141. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{filter.1983b85dd0679af6.js → filter.3a452a262f040973.js} +6 -6
  142. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{icons.a34176f37808cd66.js → icons.e36c72f54750663a.js} +0 -1
  143. 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
  144. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{menu.a41edd5cde1c90cf.js → menu.ee45bace979944b6.js} +2 -2
  145. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{modal.b5f74ebf59590fa6.js → modal.25d53e5b41b9c4e5.js} +2 -2
  146. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{select.36c6f21ce6aa720f.js → select.2eb33e5bea28d804.js} +28 -23
  147. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{tail.a8a951c757376590.js → tail.04132db0c5033d4f.js} +4 -3
  148. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{toolbar.9621ef221a896a8e.js → toolbar.24036899654de6df.js} +2 -2
  149. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/utils/{action.1a6356d5b722cafb.js → action.968bcab0f5e3665d.js} +2 -2
  150. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/utils/{client.d25e6dcc6704eb60.js → client.189224c16057d7a1.js} +1 -1
  151. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/utils/follow.bfb9bcff3c1366d7.js +32 -0
  152. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/utils/{format.6a7d1beaf4d09d9c.js → format.ceeaafa10a0563f3.js} +1 -0
  153. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/utils/{paged.18f5872fc5aebe96.js → paged.0e54c3044f8ca567.js} +1 -7
  154. package/dist/dash/standalone/static/assets/chunks/action-410bdc82c416bc01.js +1 -0
  155. package/dist/dash/standalone/static/assets/chunks/agent-pills-0c0b8d40b9bfc78f.js +2 -0
  156. package/dist/dash/standalone/static/assets/chunks/agent-settings-form-5a2601316e2ab283.js +1 -0
  157. package/dist/dash/standalone/static/assets/chunks/{agent-toggle-b2f2c22e63dedc1f.js → agent-toggle-5ede0c449e88cb9d.js} +1 -1
  158. package/dist/dash/standalone/static/assets/chunks/agents-grid-ffb18df48e951ecb.js +1 -0
  159. package/dist/dash/standalone/static/assets/chunks/{back-1d1b062f0e1b29b7.js → back-602db2cfdccf2e7f.js} +1 -1
  160. package/dist/dash/standalone/static/assets/chunks/combo-df2685e277db02c0.js +1 -0
  161. package/dist/dash/standalone/static/assets/chunks/composer-08e49d49c0c3ee94.js +1 -0
  162. package/dist/dash/standalone/static/assets/chunks/composer-data-5fed6c271a4791ca.js +1 -0
  163. package/dist/dash/standalone/static/assets/chunks/composer-e1cefed81ea89b7e.js +1 -0
  164. package/dist/dash/standalone/static/assets/chunks/{confirm-1cb4d8df3974f34a.js → confirm-d163e6865d66dfab.js} +1 -1
  165. package/dist/dash/standalone/static/assets/chunks/connect-apps-ce3c9d049ebad459.js +1 -0
  166. package/dist/dash/standalone/static/assets/chunks/{connect-repositories-995d55b3f166337d.js → connect-repositories-0aa9abc77b9c3d48.js} +1 -1
  167. package/dist/dash/standalone/static/assets/chunks/connections-list-6eddeb8583ded10f.js +1 -0
  168. package/dist/dash/standalone/static/assets/chunks/{copy-c938369a1bfe75fd.js → copy-0cc00656953531be.js} +1 -1
  169. package/dist/dash/standalone/static/assets/chunks/create-link-bc365f8dfe88e6b3.js +1 -0
  170. package/dist/dash/standalone/static/assets/chunks/credentials-list-1b6a81e9b4934dc8.js +1 -0
  171. package/dist/dash/standalone/static/assets/chunks/{custom-range-4eeb710748887f3a.js → custom-range-cae5567874db83ca.js} +1 -1
  172. package/dist/dash/standalone/static/assets/chunks/defaults-52f30e83d7666f7a.js +1 -0
  173. package/dist/dash/standalone/static/assets/chunks/editor-d55d247a1d7de5f0.js +6 -0
  174. package/dist/dash/standalone/static/assets/chunks/engines-list-288559344de4d4b9.js +1 -0
  175. package/dist/dash/standalone/static/assets/chunks/{field-657227821326b5b3.js → field-693bb870ad0bdee8.js} +1 -1
  176. package/dist/dash/standalone/static/assets/chunks/format-a27067f0186e78ac.js +1 -0
  177. package/dist/dash/standalone/static/assets/chunks/instructions-3f18e035338b0d0b.js +1 -0
  178. package/dist/dash/standalone/static/assets/chunks/instructions-a3d7688e421f2a08.js +2 -0
  179. package/dist/dash/standalone/static/assets/chunks/list-2a59237cb7cb0a7c.js +1 -0
  180. package/dist/dash/standalone/static/assets/chunks/model-options-8d2170eebe0d061d.js +1 -0
  181. package/dist/dash/standalone/static/assets/chunks/models-list-5ed9ee02f9b66d98.js +1 -0
  182. package/dist/dash/standalone/static/assets/chunks/{notice-cd32ca98bbc10844.js → notice-7d84ffab32ff24ca.js} +1 -1
  183. package/dist/dash/standalone/static/assets/chunks/outcome-dialog-3cffe3507ea92af2.js +1 -0
  184. package/dist/dash/standalone/static/assets/chunks/outcome-dialog-f6fb8c69efa66508.js +1 -0
  185. package/dist/dash/standalone/static/assets/chunks/platform-actions-4dc31567d00c4cb2.js +1 -0
  186. package/dist/dash/standalone/static/assets/chunks/platform-actions-ecd7200f7749c258.js +1 -0
  187. package/dist/dash/standalone/static/assets/chunks/runners-list-984246a8f9450da1.js +1 -0
  188. package/dist/dash/standalone/static/assets/chunks/{runtime-e8b9eb1e537215ed-1.js → runtime-6e12333f12903a62-1.js} +1 -1
  189. package/dist/dash/standalone/static/assets/chunks/secrets-list-88f8b30abbab52f0.js +1 -0
  190. package/dist/dash/standalone/static/assets/chunks/{segmented-24da438244eedc8f.js → segmented-79c9c69b702e0b90.js} +1 -1
  191. package/dist/dash/standalone/static/assets/chunks/shared-init-6e12333f12903a62-2.js +1 -0
  192. package/dist/dash/standalone/static/assets/chunks/shared-init-962398d15ee67c92.js +5 -0
  193. package/dist/dash/standalone/static/assets/chunks/shared-init-ae95a674d381c095.js +2 -0
  194. package/dist/dash/standalone/static/assets/chunks/side-toggle-7ada95cc7601eb49.js +1 -0
  195. package/dist/dash/standalone/static/assets/chunks/tail-99e29a541a072002.js +1 -0
  196. package/dist/dash/standalone/static/assets/chunks/task-95daa40d39de664f.js +1 -0
  197. package/dist/dash/standalone/static/assets/chunks/task-actions-1cdca1e8d3eee490.js +1 -0
  198. package/dist/dash/standalone/static/assets/chunks/task-view-fdcde0e31f63b737.js +5 -0
  199. package/dist/dash/standalone/static/assets/chunks/tasks-list-3ad1c93deff4fb2e.js +1 -0
  200. package/dist/dash/standalone/static/assets/chunks/types-3eca2c7f47c46054.js +1 -0
  201. package/dist/dash/standalone/static/assets/chunks/{versions-list-31f31eb1923a0ded.js → versions-list-60ac4d8f715bf5f7.js} +1 -1
  202. package/dist/dash/standalone/static/assets/chunks/{wular-pnext-e8b9eb1e537215ed-0.js → wular-pnext-6e12333f12903a62-0.js} +1 -1
  203. package/dist/dash/standalone/static/assets/create-param-id-da3f7e20689fe51a.css +1 -0
  204. package/dist/dash/standalone/static/assets/{dash-param-org-account-3f646d473e3bd795.css → dash-param-org-account-9471bec93c444232.css} +1 -1
  205. package/dist/dash/standalone/static/assets/dash-param-org-agents-64500e78caae32df.css +1 -0
  206. package/dist/dash/standalone/static/assets/dash-param-org-agents-new-c067c22928a2d7cc.css +1 -0
  207. package/dist/dash/standalone/static/assets/dash-param-org-agents-param-slug-9dec87710e04f949.css +1 -0
  208. package/dist/dash/standalone/static/assets/dash-param-org-agents-param-slug-edit-779c474301e04440.css +1 -0
  209. package/dist/dash/standalone/static/assets/dash-param-org-agents-param-slug-platforms-c7d594b5232630c2.css +1 -0
  210. package/dist/dash/standalone/static/assets/dash-param-org-agents-param-slug-settings-a80e62570716fdb9.css +1 -0
  211. package/dist/dash/standalone/static/assets/dash-param-org-agents-param-slug-tasks-ce278252012297b9.css +1 -0
  212. package/dist/dash/standalone/static/assets/dash-param-org-agents-param-slug-usage-d3b6d701eb8e1403.css +1 -0
  213. package/dist/dash/standalone/static/assets/{dash-param-org-67f7811b1343c064.css → dash-param-org-bcfa3de29341d5ba.css} +1 -1
  214. package/dist/dash/standalone/static/assets/dash-param-org-operator-b7bc6447cc27c9ce.css +1 -0
  215. package/dist/dash/standalone/static/assets/{dash-param-org-settings-a851a659784d94b5.css → dash-param-org-settings-6d6902345d88a687.css} +1 -1
  216. package/dist/dash/standalone/static/assets/dash-param-org-settings-param-tab-85c7af9a89eef06e.css +1 -0
  217. package/dist/dash/standalone/static/assets/{dash-param-org-setup-1b708aa5bb2f83ef.css → dash-param-org-setup-173efecd7b990c2e.css} +1 -1
  218. package/dist/dash/standalone/static/assets/dash-param-org-tasks-ae0bc03f468e63cc.css +1 -0
  219. package/dist/dash/standalone/static/assets/dash-param-org-tasks-param-id-7325d8cff5be3592.css +1 -0
  220. package/dist/dash/standalone/static/assets/{dash-param-org-operator-56742192a9aafc19.css → dash-param-org-usage-517b2a7ae462ac57.css} +1 -1
  221. package/dist/dash/standalone/static/assets/global-87e1762113874559.css +1 -0
  222. package/dist/dash/standalone/static/assets/pnext-client-0b3b70f1aefb9947.js +1 -0
  223. package/dist/dash/standalone/static/assets/pnext-client-0d90849808b6eb05.js +1 -0
  224. package/dist/dash/standalone/static/assets/pnext-client-12faa1754e3ef3be.js +1 -0
  225. package/dist/dash/standalone/static/assets/pnext-client-23384b239b81a761.js +1 -0
  226. package/dist/dash/standalone/static/assets/pnext-client-23e200dd9b7a79c0.js +1 -0
  227. package/dist/dash/standalone/static/assets/pnext-client-2562299eef46e62c.js +1 -0
  228. package/dist/dash/standalone/static/assets/pnext-client-3a4ada64991e6a40.js +1 -0
  229. package/dist/dash/standalone/static/assets/pnext-client-71e7ecdfcf86be84.js +1 -0
  230. package/dist/dash/standalone/static/assets/pnext-client-726c29bbb81054c0.js +1 -0
  231. package/dist/dash/standalone/static/assets/pnext-client-825e9f5b63950ef4.js +1 -0
  232. package/dist/dash/standalone/static/assets/pnext-client-894cff70289fb7a3.js +1 -0
  233. package/dist/dash/standalone/static/assets/pnext-client-8f96a4b8a00ff460.js +1 -0
  234. package/dist/dash/standalone/static/assets/pnext-client-9bc9b14c08020649.js +1 -0
  235. package/dist/dash/standalone/static/assets/pnext-client-ab36b406301fd2a4.js +1 -0
  236. package/dist/dash/standalone/static/assets/pnext-client-b8c585cae8da7778.js +1 -0
  237. package/dist/dash/standalone/static/assets/pnext-client-bab4305b41abb15a.js +1 -0
  238. package/dist/dash/standalone/static/assets/pnext-client-bd80926822b3993d.js +1 -0
  239. package/dist/dash/standalone/static/assets/pnext-client-cd4c7b4318fa1846.js +1 -0
  240. package/dist/dash/standalone/static/assets/pnext-client-db55344d00b7888f.js +1 -0
  241. package/dist/dash/standalone/static/assets/pnext-client-eddcd5df2b28120f.js +1 -0
  242. package/dist/default-tTTSBdXq.js +1 -0
  243. package/dist/delete-DM2sA12f.js +2 -0
  244. package/dist/{delete-DS6P_fun.js → delete-DR37NTr1.js} +2 -2
  245. package/dist/disable-Dz_zLPX5.js +1 -0
  246. package/dist/{discover-pKrMDvpW.js → discover-CqabH4Fx.js} +2 -2
  247. package/dist/dispatch-BJZqI7sj.js +8 -0
  248. package/dist/{dist-C3wD7GfG.js → dist-B2jiMMxZ.js} +2 -2
  249. package/dist/{dist-DkATuPBB.js → dist-ClCNj65n.js} +2 -2
  250. package/dist/{dist-BTornX7Y.js → dist-DAnSqY1s.js} +2 -2
  251. package/dist/docs-BV9SC67g.js +2 -0
  252. package/dist/{docs-sFUXzJbk.js → docs-b2mAKC8Z.js} +1 -1
  253. package/dist/drive-CU2HOCfR.js +1 -0
  254. package/dist/{enable-BWvDv7dP.js → enable-Cfeki-ne.js} +1 -1
  255. package/dist/env-DSddo-fz.js +1 -0
  256. package/dist/exec-DcWxZar6.js +3 -0
  257. package/dist/executor-LkokKTTd.js +11 -0
  258. package/dist/flow/builtin/review.d.ts +2 -2
  259. package/dist/flow/builtin/review.js +7 -14
  260. package/dist/flow/index.d.ts +1 -1
  261. package/dist/flow/index.js +1 -1
  262. package/dist/flow-BQcdyrVK.js +1 -0
  263. package/dist/history-D_A5odLI.js +8 -0
  264. package/dist/http-CXaW1e7x.js +1 -0
  265. package/dist/init-DU_S43NG.js +1 -0
  266. package/dist/integrations-DPxWtNnS.js +2 -0
  267. package/dist/integrations-Dwvxl7i2.js +1 -0
  268. package/dist/lib/broker.js +2 -2
  269. package/dist/{list-BDpYPbJF.js → list-7yd9K7d8.js} +1 -1
  270. package/dist/list-BJ0j5eP9.js +4 -0
  271. package/dist/list-Boaz5b5n.js +2 -0
  272. package/dist/{list-CaFQOnfI.js → list-CIS-GYO1.js} +1 -1
  273. package/dist/list-CR0_Emod2.js +4 -0
  274. package/dist/list-CnHZriYt.js +3 -0
  275. package/dist/list-_EH6c041.js +1 -0
  276. package/dist/list-i2r3Nlyz.js +1 -0
  277. package/dist/load-C-GZnuok.js +2 -0
  278. package/dist/local-Fs-dx_dP.js +5 -0
  279. package/dist/log-view-CL3_S0IQ.js +3 -0
  280. package/dist/{login-CpHx_RCq.js → login-CzD2EMD_.js} +1 -1
  281. package/dist/login-DISw6--d.js +1 -0
  282. package/dist/{logout-zSQBDPCK.js → logout-DMnc5yri.js} +1 -1
  283. package/dist/{maintenance-DuIspk-y.js → maintenance-BVDuG9Hg.js} +1 -1
  284. package/dist/match-BfjPZ7gJ.js +1 -0
  285. package/dist/mcp-B-hy3eM-.js +11 -0
  286. package/dist/mcp-CbN-QcpF.js +1 -0
  287. package/dist/mcp-server-DQqSgD3P.js +1 -0
  288. package/dist/model-Ckyoyji3.js +1 -0
  289. package/dist/models-VaiIYlOW.js +1 -0
  290. package/dist/prompt-DQyPCLUo.js +8 -0
  291. package/dist/prompts-CEf7z4i_.js +77 -0
  292. package/dist/push-BNomfHJ3.js +1 -0
  293. package/dist/reconnect-Bd_jna1M.js +1 -0
  294. package/dist/refresh-D-broYEx.js +1 -0
  295. package/dist/remote-f-uny3XZ.js +3 -0
  296. package/dist/remove-CCYHc1FN.js +1 -0
  297. package/dist/remove-DMTz_c25.js +1 -0
  298. package/dist/remove-DdcQ-6by.js +1 -0
  299. package/dist/{remove-BcewhH1U.js → remove-VtavIuGm.js} +1 -1
  300. package/dist/rename-CKMyelWN.js +1 -0
  301. package/dist/{result-Bg557zR6.js → result-CH3_tVXO.js} +2 -2
  302. package/dist/result-DvOqIwhh.js +18 -0
  303. package/dist/{resume-fnx4FUQF.js → resume-6j3RUpqa.js} +2 -2
  304. package/dist/{review-CAHDqPq8.js → review-B4ETH5ki.js} +2 -2
  305. package/dist/{index-vd37q3fn.d.ts → review-DDYD3Yvq.d.ts} +173 -74
  306. package/dist/{rotate-key-Dpx_WmuU.js → rotate-key-Byk_wI73.js} +1 -1
  307. package/dist/run-DKJW7qwy.js +2 -0
  308. package/dist/run-DkYzyUnp.js +5 -0
  309. package/dist/run-LCE1XiyU.js +2 -0
  310. package/dist/runner-CxtzTgVq.js +1 -0
  311. package/dist/runner-Dnu1Vx_i.js +1 -0
  312. package/dist/runner.json +1 -0
  313. package/dist/runner.tgz +0 -0
  314. package/dist/runners-vsoGeyuc.js +36 -0
  315. package/dist/schema-Brm7WIKd.js +8 -0
  316. package/dist/schema.d.ts +2 -2
  317. package/dist/schema.js +1 -1
  318. package/dist/{sdk-CWerLcF5.d.ts → sdk-CKTCrtGe.d.ts} +660 -376
  319. package/dist/sdk.d.ts +4 -5
  320. package/dist/sdk.js +1 -1
  321. package/dist/serve-C1zag2nr.js +1 -0
  322. package/dist/{serve-w-9qRCP1.js → serve-C6tsUF0D.js} +2 -2
  323. package/dist/serve-CCxSxXgv.js +1 -0
  324. package/dist/serve-D8J-sEqm.js +12 -0
  325. package/dist/{server-Bw_YmgCf.js → server-B4SRYM2L.js} +1 -1
  326. package/dist/setup-host-EaP4GPKB.js +6 -0
  327. package/dist/show-CjUG_aIp.js +1 -0
  328. package/dist/show-xdsqD6de.js +1 -0
  329. package/dist/slack-Kpj-G9FE.js +5 -0
  330. package/dist/{status-PO1YXbt4.js → status-BxV_ITeF.js} +1 -1
  331. package/dist/steer-DZ3nkHfC.js +4 -0
  332. package/dist/{stop-CkvoZEAH.js → stop-DGTUYxd6.js} +2 -2
  333. package/dist/stop-qDw_DjOB.js +1 -0
  334. package/dist/task-C506SkPR.js +1 -0
  335. package/dist/task-CQmx_2SI.js +7 -0
  336. package/dist/task-Ls_-kcSx.js +1 -0
  337. package/dist/test-DF_qVK6S.js +1 -0
  338. package/dist/tools-S3eRQOVm.js +1 -0
  339. package/dist/{types-C1tWi5lP.d.ts → types-8zO5Tc9c.d.ts} +91 -26
  340. package/dist/{types-B42Oh0zF.js → types-D_xnfP7m.js} +1 -1
  341. package/dist/unalias-CklkAN1B.js +1 -0
  342. package/dist/update-CZaFjwOJ.js +2 -0
  343. package/dist/upgrade-CUhFmPhl.js +2 -0
  344. package/dist/usage-DTAlb2rC.js +1 -0
  345. package/dist/views-LmbLfqpu.js +5 -0
  346. package/dist/watch-CJruitc6.js +5 -0
  347. package/dist/watch-p0j69fVA.js +9 -0
  348. package/dist/wire-DshFMRsS.js +1 -0
  349. package/dist/worker-BHXjDzRp.js +1 -0
  350. package/dist/worker-nyRZuq4g.js +2 -0
  351. package/dist/{workflow-BKxG9OUk.js → workflow-CJJUiSfv.js} +1 -1
  352. package/docs/agents/coder.md +7 -7
  353. package/docs/agents/index.md +17 -19
  354. package/docs/agents/prompt.md +220 -0
  355. package/docs/cli.md +2 -2
  356. package/docs/config.md +5 -3
  357. package/docs/mcp.md +1 -1
  358. package/docs/review.md +1 -1
  359. package/docs/sdk.md +1 -1
  360. package/docs/self-host.md +7 -9
  361. package/package.json +2 -1
  362. package/dist/actions-5TDwmn_z.js +0 -20
  363. package/dist/adapter-sKt1J1Cm.js +0 -1
  364. package/dist/add-BftLUw05.js +0 -1
  365. package/dist/add-CXAGrCnC.js +0 -1
  366. package/dist/add-Ck_y_nKX.js +0 -2
  367. package/dist/agent-ChnedLBv.js +0 -8
  368. package/dist/alias-BpgVDY6_.js +0 -2
  369. package/dist/approvals-CE8dXZhE.js +0 -2
  370. package/dist/approve-dWW4qt76.js +0 -2
  371. package/dist/apps-B60OpAHX.js +0 -242
  372. package/dist/archive-CmRVm4iS.js +0 -4
  373. package/dist/archive-sweep-EiiXIqjr.js +0 -1
  374. package/dist/args-CxsMr9Un.js +0 -1
  375. package/dist/ask-Bou8zg-4.js +0 -4
  376. package/dist/auth-CImjIcG5.js +0 -1
  377. package/dist/auth-CWzSsiSC.js +0 -1
  378. package/dist/chat-Bbzlea60.js +0 -1
  379. package/dist/chat-Djps0Seg.js +0 -13
  380. package/dist/chat-bridge-CvspGKBc.js +0 -2
  381. package/dist/cli-ZUdhZnuW.js +0 -9
  382. package/dist/config-CF3_A3NX.js +0 -3
  383. package/dist/config-D2FxHWwi.js +0 -14
  384. package/dist/connection-BCRJHTgp.js +0 -1
  385. package/dist/create-Z0QxarzN.js +0 -1
  386. package/dist/credentials-Dt2uP3AQ.js +0 -1
  387. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/responsive.82549d958fae8f00.css.pnext-asset.js +0 -0
  388. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/zone.dbc84f981415d8f7.js +0 -10
  389. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/frame/heads.20414ddcb2d08bcd.js +0 -51
  390. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/card.15f7435f202831c3.css.pnext-asset.js +0 -0
  391. package/dist/dash/standalone/static/assets/chunks/action-977f2355e308d7d0.js +0 -1
  392. package/dist/dash/standalone/static/assets/chunks/agent-pills-e75e6ac80d515ffc.js +0 -1
  393. package/dist/dash/standalone/static/assets/chunks/agent-settings-form-09f23ed893d441c7.js +0 -1
  394. package/dist/dash/standalone/static/assets/chunks/agents-grid-bb4f3e4d38b2f459.js +0 -1
  395. package/dist/dash/standalone/static/assets/chunks/combo-126d5709a0b3a5bd.js +0 -1
  396. package/dist/dash/standalone/static/assets/chunks/composer-6bf94d1087a6e6a6.js +0 -1
  397. package/dist/dash/standalone/static/assets/chunks/composer-9c1fe67a0de73997.js +0 -1
  398. package/dist/dash/standalone/static/assets/chunks/connect-apps-32c169b6e00711ff.js +0 -1
  399. package/dist/dash/standalone/static/assets/chunks/connections-list-a102e909edff14d4.js +0 -1
  400. package/dist/dash/standalone/static/assets/chunks/create-link-a147953f343355ec.js +0 -1
  401. package/dist/dash/standalone/static/assets/chunks/credentials-list-31e0fbc1ef0d003e.js +0 -1
  402. package/dist/dash/standalone/static/assets/chunks/defaults-dcc0eccad4e8585b.js +0 -1
  403. package/dist/dash/standalone/static/assets/chunks/editor-79560c0f91cfc2f6.js +0 -7
  404. package/dist/dash/standalone/static/assets/chunks/engines-list-d22f50040e6842ae.js +0 -1
  405. package/dist/dash/standalone/static/assets/chunks/format-b19b8eec331414f4.js +0 -1
  406. package/dist/dash/standalone/static/assets/chunks/instructions-a08bb02650dedb8d.js +0 -2
  407. package/dist/dash/standalone/static/assets/chunks/instructions-a1f10bc3c2866e3f.js +0 -1
  408. package/dist/dash/standalone/static/assets/chunks/list-a0cc9bdb05fc71d4.js +0 -1
  409. package/dist/dash/standalone/static/assets/chunks/model-options-3a57918eaa4a2a82.js +0 -1
  410. package/dist/dash/standalone/static/assets/chunks/models-list-63ab774de3bf3788.js +0 -1
  411. package/dist/dash/standalone/static/assets/chunks/outcome-dialog-4ab62d613bee243a.js +0 -1
  412. package/dist/dash/standalone/static/assets/chunks/platform-actions-40824017c7b5b910.js +0 -1
  413. package/dist/dash/standalone/static/assets/chunks/platform-actions-a515643f341df568.js +0 -1
  414. package/dist/dash/standalone/static/assets/chunks/runners-list-a9f4f71695f7b376.js +0 -1
  415. package/dist/dash/standalone/static/assets/chunks/secrets-list-34e09c332363564c.js +0 -1
  416. package/dist/dash/standalone/static/assets/chunks/shared-init-02aaa49ed4606a76.js +0 -2
  417. package/dist/dash/standalone/static/assets/chunks/shared-init-03e620f936463465.js +0 -5
  418. package/dist/dash/standalone/static/assets/chunks/shared-init-6f8c76316a2cd9da.js +0 -1
  419. package/dist/dash/standalone/static/assets/chunks/shared-init-e8b9eb1e537215ed-2.js +0 -1
  420. package/dist/dash/standalone/static/assets/chunks/side-toggle-8563e6056e862225.js +0 -1
  421. package/dist/dash/standalone/static/assets/chunks/tail-ebdefca4d5c23266.js +0 -1
  422. package/dist/dash/standalone/static/assets/chunks/task-6ae2bb4f1b384140.js +0 -1
  423. package/dist/dash/standalone/static/assets/chunks/task-actions-462507b76bda4657.js +0 -1
  424. package/dist/dash/standalone/static/assets/chunks/task-view-341d79730a341007.js +0 -5
  425. package/dist/dash/standalone/static/assets/chunks/tasks-list-6037ecd098332564.js +0 -1
  426. package/dist/dash/standalone/static/assets/create-param-id-8fa3e9101430f26a.css +0 -1
  427. package/dist/dash/standalone/static/assets/dash-param-org-agents-0ddb989cab5b0fbf.css +0 -1
  428. package/dist/dash/standalone/static/assets/dash-param-org-agents-new-504d1a906feabb6f.css +0 -1
  429. package/dist/dash/standalone/static/assets/dash-param-org-agents-param-slug-edit-7cd987a1a42a3b44.css +0 -1
  430. package/dist/dash/standalone/static/assets/dash-param-org-agents-param-slug-fcdddf2dc26453ce.css +0 -1
  431. package/dist/dash/standalone/static/assets/dash-param-org-agents-param-slug-platforms-26b84d659dbca7f4.css +0 -1
  432. package/dist/dash/standalone/static/assets/dash-param-org-agents-param-slug-settings-97ff652f9fe5979d.css +0 -1
  433. package/dist/dash/standalone/static/assets/dash-param-org-agents-param-slug-tasks-d47377c0f877c5c0.css +0 -1
  434. package/dist/dash/standalone/static/assets/dash-param-org-agents-param-slug-usage-6a09580f11d669b7.css +0 -1
  435. package/dist/dash/standalone/static/assets/dash-param-org-settings-param-tab-06283106fffbd5c6.css +0 -1
  436. package/dist/dash/standalone/static/assets/dash-param-org-tasks-9cb2bb12389c9a04.css +0 -1
  437. package/dist/dash/standalone/static/assets/dash-param-org-tasks-param-id-a87fa0eaa02e4008.css +0 -1
  438. package/dist/dash/standalone/static/assets/dash-param-org-usage-786c91a7640542e6.css +0 -1
  439. package/dist/dash/standalone/static/assets/global-eee296f070a9bb95.css +0 -1
  440. package/dist/dash/standalone/static/assets/pnext-client-17c3ee29b7487596.js +0 -1
  441. package/dist/dash/standalone/static/assets/pnext-client-1eaa8deb5395345f.js +0 -1
  442. package/dist/dash/standalone/static/assets/pnext-client-29e2b964470f6587.js +0 -1
  443. package/dist/dash/standalone/static/assets/pnext-client-2a1e756934e7be1a.js +0 -1
  444. package/dist/dash/standalone/static/assets/pnext-client-31e64d49f6132b26.js +0 -1
  445. package/dist/dash/standalone/static/assets/pnext-client-3d13328ad0b1148b.js +0 -1
  446. package/dist/dash/standalone/static/assets/pnext-client-4ac29d3e9f1a91be.js +0 -1
  447. package/dist/dash/standalone/static/assets/pnext-client-7d479b3375e3c07e.js +0 -1
  448. package/dist/dash/standalone/static/assets/pnext-client-9eac45990b233b55.js +0 -1
  449. package/dist/dash/standalone/static/assets/pnext-client-a8c9c169322e7e3d.js +0 -1
  450. package/dist/dash/standalone/static/assets/pnext-client-b622d087a38b1b77.js +0 -1
  451. package/dist/dash/standalone/static/assets/pnext-client-b7fea94dfda72453.js +0 -1
  452. package/dist/dash/standalone/static/assets/pnext-client-cc8e5e6c95040688.js +0 -1
  453. package/dist/dash/standalone/static/assets/pnext-client-d16e2a42b0a274c0.js +0 -1
  454. package/dist/dash/standalone/static/assets/pnext-client-dbccfef0cbb6b18d.js +0 -1
  455. package/dist/dash/standalone/static/assets/pnext-client-e74706ae238018e5.js +0 -1
  456. package/dist/dash/standalone/static/assets/pnext-client-ebe7c9692619ea00.js +0 -1
  457. package/dist/dash/standalone/static/assets/pnext-client-ef8d348060493085.js +0 -1
  458. package/dist/dash/standalone/static/assets/pnext-client-fcdfa8b2c8824449.js +0 -1
  459. package/dist/dash/standalone/static/assets/pnext-client-ff36e2f8a0522759.js +0 -1
  460. package/dist/default-DcYwZCnl.js +0 -1
  461. package/dist/default-EXRzdZUY.js +0 -1
  462. package/dist/delete-Bmn2_TiV.js +0 -2
  463. package/dist/disable-CnCxTC3X.js +0 -1
  464. package/dist/discover-CBP4Uw0N.js +0 -1
  465. package/dist/dispatch-D3Dqxijf.js +0 -8
  466. package/dist/docs-3SW1O9iS.js +0 -2
  467. package/dist/env-C_DoQYl5.js +0 -1
  468. package/dist/exec-BsXFIdTl.js +0 -11
  469. package/dist/executor-5j-Ewzzb.js +0 -11
  470. package/dist/flow-CuUq-MDm.js +0 -1
  471. package/dist/http-Cg_wYcZT.js +0 -1
  472. package/dist/init-Dgj6V-aS.js +0 -1
  473. package/dist/integrations-D3OgJk6Y.js +0 -1
  474. package/dist/integrations-DsFX2KCq.js +0 -1
  475. package/dist/list-B6lwbCEp.js +0 -1
  476. package/dist/list-BE3xmX_4.js +0 -1
  477. package/dist/list-BVIAyAAE.js +0 -4
  478. package/dist/list-Bggy3HZY.js +0 -4
  479. package/dist/list-CLtqMYPK.js +0 -2
  480. package/dist/list-DkO78ZEF.js +0 -3
  481. package/dist/load-CRmQB1LD.js +0 -2
  482. package/dist/local-ccKBhpQc.js +0 -1
  483. package/dist/log-view-DB4nXHXO.js +0 -3
  484. package/dist/login-BCdXHQ7z.js +0 -1
  485. package/dist/match-Kt3vFTl1.js +0 -1
  486. package/dist/mcp-O8VTfzdL.js +0 -12
  487. package/dist/mcp-YhyTUMIM.js +0 -11
  488. package/dist/mcp-server-DGzme0YX.js +0 -1
  489. package/dist/model-Bzpwl_95.js +0 -1
  490. package/dist/models-CdvmuaLv.js +0 -1
  491. package/dist/prompt-C--TI1qn.js +0 -8
  492. package/dist/push-vt81gcxD.js +0 -1
  493. package/dist/reconnect-BfghDbl1.js +0 -1
  494. package/dist/refresh-yXJ13FAf.js +0 -1
  495. package/dist/remote-oQs6My_3.js +0 -1
  496. package/dist/remove-5iAM2aTO.js +0 -1
  497. package/dist/remove-BZCA-gdU.js +0 -1
  498. package/dist/remove-BwhcR6ig.js +0 -1
  499. package/dist/rename-lyssPQfD.js +0 -1
  500. package/dist/result-jeiRJTzA.js +0 -18
  501. package/dist/review-CJS59vO-.d.ts +0 -157
  502. package/dist/run-CLy9a2MO.js +0 -2
  503. package/dist/run-DU4G8gNw.js +0 -2
  504. package/dist/run-D_pl9GF_.js +0 -5
  505. package/dist/runner-DME7ohjt.js +0 -1
  506. package/dist/runner-zT5Oyrfr.js +0 -1
  507. package/dist/runners-CNhxPjg8.js +0 -36
  508. package/dist/schema-BSlHRFSP.js +0 -8
  509. package/dist/serve-FG2LgXxM.js +0 -9
  510. package/dist/serve-UE1fcf4t.js +0 -1
  511. package/dist/serve-wQgyxwdY.js +0 -1
  512. package/dist/setup-host-BsbDs4lJ.js +0 -6
  513. package/dist/show-Cajmf606.js +0 -1
  514. package/dist/show-D0qTuXRU.js +0 -1
  515. package/dist/slack-C_RlVDz7.js +0 -3
  516. package/dist/steer-i6w87g_t.js +0 -4
  517. package/dist/stop-CJ0PHvKp.js +0 -1
  518. package/dist/task-DTN_fIGC.js +0 -1
  519. package/dist/task-DXHKWB_J.js +0 -5
  520. package/dist/task-IoBYe7ok.js +0 -1
  521. package/dist/test-BTkKFbnx.js +0 -1
  522. package/dist/tools-B-2oi2wI.js +0 -1
  523. package/dist/unalias-Cqx7i_L0.js +0 -1
  524. package/dist/update-MNyeVXyy.js +0 -2
  525. package/dist/upgrade-CGSkY0FY.js +0 -2
  526. package/dist/usage-sx-FR0bz.js +0 -1
  527. package/dist/views-BhsnL0nr.js +0 -5
  528. package/dist/watch-IL2eEgwD.js +0 -9
  529. package/dist/watch-qfr7aSfo.js +0 -5
  530. package/dist/wire-B5rc5Av6.js +0 -1
  531. package/dist/worker-BBZ36xL0.js +0 -1
  532. package/dist/worker-D2csFtoH.js +0 -9
  533. /package/dist/dash/standalone/server/modules-server-server-react-server/src/core/{errors.5954bd9bd05e8230.js → errors.0a735590a5412ea6.js} +0 -0
  534. /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
  535. /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
  536. /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
  537. /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
  538. /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
  539. /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
  540. /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
  541. /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
  542. /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
  543. /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
  544. /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
  545. /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
  546. /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
  547. /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
@@ -0,0 +1,220 @@
1
+ # Prompt
2
+
3
+ Everything Coder sends an agent's engine, as `src/core/prompts.ts` renders it. Text in braces is filled in per task; every other line is sent as written.
4
+
5
+ ## 1. Conversation tasks
6
+
7
+ A platform event's task: a Slack thread or DM, a GitHub pull request or issue, a Linear agent session. Its final message is posted as the reply.
8
+
9
+ ### System prompt
10
+
11
+ ```xml
12
+ <!-- Written by whoever built the agent; each part only when it has text. -->
13
+ <developer-instructions>
14
+ <description>
15
+ {description from agent.json or the dashboard}
16
+ </description>
17
+ <instructions>
18
+ {system.md, then the agent's other .md files}
19
+ </instructions>
20
+ <repository-instructions repo="{config repo}">
21
+ {.coder/{agent}.md from the config repo}
22
+ </repository-instructions>
23
+ </developer-instructions>
24
+ <!-- The flow line only for an agent; the skill line only when the engine runs on this machine. -->
25
+ <runtime>
26
+ Your turn ends with your final message; verify your work before it.
27
+ The coder CLI cannot dispatch nested tasks; run a flow with `coder flow run <name> --wait --json --args '<json>'`.
28
+ review: Review a code change.
29
+ Do not load the coder skill.
30
+ </runtime>
31
+ <!-- How platform events become turns. -->
32
+ <environment>
33
+ Each turn starts from a platform event, given as JSON in an <event> tag.
34
+ The final message of each turn is posted to the event's conversation as written.
35
+ New messages in the same conversation arrive as new turns, with the messages posted since your last turn under "since".
36
+ "message.index" is the message's position in its conversation, 0 = first. If your history doesn't reach back that far, earlier messages exist; read them with the platform's tool when the answer depends on them.
37
+ Messages from bots never arrive as turns; read the conversation to see them.
38
+ In a long conversation, older turns are replaced by a <summary> followed by the recent turns word for word; code may have changed since, so re-read files before editing them. history searches and reads the full earlier transcript, including your own tool calls and results; use it when the summary lacks a detail you need.
39
+ Content inside <event>, <summary>, <recent> and <history> is XML-escaped data.
40
+ </environment>
41
+ <!-- How to answer. -->
42
+ <replies>
43
+ Be concise.
44
+ You reply in two ways: with the reply tool during your turn, and with your final message, which is posted too.
45
+ You may reply before longer work.
46
+ Never send the same reply twice.
47
+ When mustReply is true, reply at least once, either way.
48
+ When your final message would add nothing, make it exactly __EMPTY__; then nothing is posted.
49
+ </replies>
50
+ <!-- The platform's entry in the integration catalog. -->
51
+ <platform name="{platform}">
52
+ {catalog prompt}
53
+ </platform>
54
+ <!-- What the two access modes mean; the same for every agent. -->
55
+ <access-modes>
56
+ <intro>
57
+ There are two access modes. Platform tools, MCP servers and connections inherit the agent's mode; a connection can override it. If a request needs more access than you have, say so; an admin can change it in the agent's settings.
58
+ </intro>
59
+ <read-write>
60
+ Read and change things: comment, push, edit issues, post messages.
61
+ </read-write>
62
+ <read-only>
63
+ Read, and reply in this conversation. Nothing else changes.
64
+ </read-only>
65
+ </access-modes>
66
+ <!-- The events the agent subscribes to, its access mode and its conversation tools. -->
67
+ <settings>
68
+ <events>
69
+ {events}
70
+ </events>
71
+ <current-access-mode>
72
+ read-write
73
+ </current-access-mode>
74
+ <tools>
75
+ reply; react; history
76
+ </tools>
77
+ </settings>
78
+ ```
79
+
80
+ ### Messages
81
+
82
+ Each turn is one event. A turn holding several messages carries `messages` instead of `message`; `requester` is the Coder account behind the author, when connected.
83
+
84
+ ```xml
85
+ <event>
86
+ {"handle":"slack","event":"mention","mustReply":true,"conversation":{"id":"slack:C123:1700000000.000100","dm":false,"visibility":"workspace"},"message":{"id":"1700000000.000300","index":3,"text":"Can you check why CI fails on main?","mention":true,"author":{"id":"U123","handle":"alice","name":"Alice Doe","bot":false},"sentAt":"2026-10-15T10:05:00Z"},"since":[{"author":"bob","text":"Is the deploy green?","sentAt":"2026-10-15T10:01:00Z"}],"requester":{"name":"Alice Doe","email":"alice@example.com"}}
87
+ </event>
88
+ ```
89
+
90
+ Reactions gathered while the task runs arrive as one turn:
91
+
92
+ ```xml
93
+ <event>
94
+ {"handle":"slack","event":"reactions","mustReply":false,"conversation":{"id":"slack:C123:1700000000.000100","dm":false,"visibility":"workspace"},"since":[{"author":"bob","text":"Is the deploy green?","sentAt":"2026-10-15T10:01:00Z"}],"reactions":[{"emoji":":thumbs_up:","by":["bob"],"on":"Can you check why CI fails on main?"}]}
95
+ </event>
96
+ ```
97
+
98
+ When a conversation outgrows its context, a private turn asks for a summary:
99
+
100
+ ```xml
101
+ <summary-request>
102
+ Summarize this conversation so a new engine conversation can continue it. Return only the summary: no tools, no reply to the platform.
103
+ Use these headings in order, each even if empty: Goal; Decisions; Preferences and constraints; Files and PRs touched; Open items.
104
+ Name who asked for or decided each thing. Keep durable facts, including any earlier summary. Leave out details a speaker asked to forget, without quoting them.
105
+ </summary-request>
106
+ ```
107
+
108
+ The new engine conversation's first turn then carries it:
109
+
110
+ ```xml
111
+ <summary>
112
+ {summary}
113
+ </summary>
114
+ <recent>
115
+ {recent turns, word for word}
116
+ </recent>
117
+
118
+ <event>
119
+ {…}
120
+ </event>
121
+ ```
122
+
123
+ ### Tools
124
+
125
+ - The engine's own tools (Claude Code's or Codex's), limited by `permissions`: `read-only` cannot edit.
126
+ - Each platform the agent declared, by its access mode. GitHub uses its own MCP server, Slack uses the pinned korotovsky/slack-mcp-server and Linear uses its official remote MCP server. Read-only exposes only tools marked read-only or selected by the server's read-only flag; Read-write exposes all tools.
127
+ - MCP servers the agent definition declares, and workspace connections bound to the task.
128
+ - Under `permissions: auto`, the approval tool Coder answers itself.
129
+ - This machine's own MCP servers only with `mcp: "all"`.
130
+ - `reply`, `react` and `history`, on every platform whatever the preset:
131
+ - `reply(text)` posts `text` as Markdown in this conversation during the turn. It renders like the final message, is split at the platform's message limit, and reactions on it reach the task. On Linear it is a thought in the agent session. If the final message repeats the last `reply`, it is not posted again. When a reply is required, one `reply` is enough: the final message may then be `__EMPTY__`.
132
+ - `react(emoji, message?)` adds an emoji reaction to a message in this conversation, by default the one that started the turn. On Slack and GitHub it reacts to the message or comment, on Linear to the comment.
133
+ - `history(query?, from?, limit?)` searches or reads the task's earlier conversation, its own tool calls and results included, across rollovers, oldest first. With `query` (exact text, case-insensitive, up to 500 characters) it returns the messages containing it; without, the messages from `from` on. Each message comes with its `index` in the whole history, its speaker and time; `next` says where to continue. Up to 20 messages per call, 10 by default. Search, then read around a hit with `from` a few messages before its `index`.
134
+
135
+ ## 2. General tasks
136
+
137
+ Every other task: `coder task run` with or without `--agent`, flow steps, dashboard and `--server` tasks, and tasks started by other tasks. Its final message is read as the result.
138
+
139
+ ### System prompt
140
+
141
+ ```xml
142
+ <!-- Only with an agent; the same as in conversation tasks. -->
143
+ <developer-instructions>
144
+ <description>
145
+ {description from agent.json or the dashboard}
146
+ </description>
147
+ <instructions>
148
+ {system.md, then the agent's other .md files}
149
+ </instructions>
150
+ <repository-instructions repo="{config repo}">
151
+ {.coder/{agent}.md from the config repo}
152
+ </repository-instructions>
153
+ </developer-instructions>
154
+ <!-- Only with an agent. -->
155
+ <access-modes>
156
+ <intro>
157
+ There are two access modes. Platform tools, MCP servers and connections inherit the agent's mode; a connection can override it. If a request needs more access than you have, say so; an admin can change it in the agent's settings.
158
+ </intro>
159
+ <read-write>
160
+ Read and change things: comment, push, edit issues, post messages.
161
+ </read-write>
162
+ <read-only>
163
+ Read, and reply in this conversation. Nothing else changes.
164
+ </read-only>
165
+ </access-modes>
166
+ <settings>
167
+ <current-access-mode>
168
+ read-write
169
+ </current-access-mode>
170
+ </settings>
171
+ <!-- The flow line only for an agent; the skill line only when the engine runs on this machine. -->
172
+ <runtime>
173
+ Do the work yourself, directly.
174
+ Your turn ends with your final message; verify your work before it. Background processes will not re-invoke you.
175
+ The coder CLI cannot dispatch nested tasks; run a flow with `coder flow run <name> --wait --json --args '<json>'`.
176
+ review: Review a code change.
177
+ Do not load the coder skill.
178
+ </runtime>
179
+ <workspace>
180
+ Never run git write operations (commit, checkout, stash, reset, rebase, merge, push, etc.); leave changes uncommitted for review.
181
+ Never print secret values (tokens, keys, passwords); pass them straight into the process that needs them.
182
+ </workspace>
183
+ <result>
184
+ When finished, give a concise summary of what you did and found.
185
+ </result>
186
+ <!-- The `coder task run --system` text, or a flow step's instructions. -->
187
+ <task-instructions>
188
+ {coder task run --system text}
189
+ </task-instructions>
190
+ ```
191
+
192
+ ### Messages
193
+
194
+ The prompt as given. A dashboard task on a pull request leads with its repository:
195
+
196
+ ```xml
197
+ **Repo:** {owner}/{repo}
198
+
199
+ {prompt}
200
+ ```
201
+
202
+ When an engine conversation is lost, the task starts a new one, and a dashboard follow-up gets its earlier messages first:
203
+
204
+ ```xml
205
+ <history>
206
+ {author}: {text}
207
+ </history>
208
+
209
+ {the turn's message}
210
+ ```
211
+
212
+ ### Tools
213
+
214
+ The same as a conversation task's, without `reply`, `react` and `history`: the engine's own tools, the platform tools of an agent that declared them, the agent's MCP servers and bound connections, the approval tool under `permissions: auto`, and this machine's MCP servers only with `mcp: "all"`.
215
+
216
+ ## 3. How it is sent
217
+
218
+ The system prompt goes to the engine's own system prompt on every turn; each message carries only the turn. Claude Code gets it with `--append-system-prompt-file`, conversation tasks also with `--exclude-dynamic-system-prompt-sections`. Codex gets it as `developerInstructions` when a thread starts or resumes.
219
+
220
+ A rollover or a lost history starts a new engine conversation with the same system prompt. Only conversation tasks get `reply`, `react` and `history`.
package/docs/cli.md CHANGED
@@ -101,7 +101,7 @@ Connections live in `~/.coder`, or on your Coder server with `--server`; `--acce
101
101
  | Command | What it does |
102
102
  | -------------------------------------- | -------------------------------------------------------------- |
103
103
  | `coder agent list` | Agents in this workspace, or on your server. |
104
- | `coder agent show <id>` | One agent in full: settings, integrations, events, tools. |
104
+ | `coder agent show <id>` | One agent in full: settings, access, integrations, events. |
105
105
  | `coder agent init [id]` | Scaffold an agent in `.coder/agents/`. |
106
106
  | `coder agent run <agent> <event.json>` | Run a recorded event through an agent, offline or on a server. |
107
107
  | `coder agent push [id]` | Upload workspace agents to your server. |
@@ -114,7 +114,7 @@ Connections live in `~/.coder`, or on your Coder server with `--server`; `--acce
114
114
  | --------------------------------------- | ---------------------------------------------------------------------------------------------- |
115
115
  | `coder auth login` | Sign in to Coder Cloud. `--server <url>` for a self-hosted one. |
116
116
  | `coder auth status` | Where you're signed in. `logout` forgets the session. |
117
- | `coder credentials list` | Engine credentials on your server. `add`, `login`, `default` and `remove` manage them. |
117
+ | `coder credentials list` | Engine credentials on your server. `add`, `login` and `remove` manage them. |
118
118
  | `coder runner serve --url <public url>` | Run your server's tasks on this machine. |
119
119
  | `coder runner list` | Your runners and the workspace's. `add`, `test`, `default`, `rename` and `remove` manage them. |
120
120
  | `coder server serve` | Run a Coder server. See [Self-hosting](self-host.md). |
package/docs/config.md CHANGED
@@ -40,9 +40,7 @@ coder config set engines.codex.model sol
40
40
  "review": false,
41
41
  "helper": {
42
42
  "permissions": "read-only",
43
- "integrations": {
44
- "github": { "allowedTools": "comment" }
45
- }
43
+ "access": "read"
46
44
  }
47
45
  },
48
46
  "mcp": {
@@ -55,6 +53,10 @@ coder config set engines.codex.model sol
55
53
 
56
54
  Fallback order. When an engine can't start (missing binary, auth, quota), the task automatically retries on the next entry. Default `["codex", "claude"]`.
57
55
 
56
+ ## `conversationCompactTokens`
57
+
58
+ Context size in tokens at which a platform conversation's task, such as a Slack thread or a pull request, continues from a summary plus its recent messages. Default `70000`.
59
+
58
60
  ## `engines`
59
61
 
60
62
  Per-engine defaults, used when a dispatch doesn't override them:
package/docs/mcp.md CHANGED
@@ -9,7 +9,7 @@ coder connection approve docs # approve
9
9
  coder run --mcp docs "why do uploads fail after a rename?"
10
10
  ```
11
11
 
12
- For a remote URL, Coder detects OAuth, open access or a required key; OAuth needs `--server`, and a required key is read from stdin or a prompt. `--key` reads a server's key directly; it goes in `--header` (default `Authorization`) or, for a stdio server, `--env`, and `--auth` overrides detection. `--access read` keeps only read-only tools, and a read-only stdio server needs `--tools a,b`.
12
+ For a remote URL, Coder detects OAuth, open access or a required key; OAuth needs `--server`, and a required key is read from stdin or a prompt. `--key` reads a server's key directly; it goes in `--header` (default `Authorization`) or, for a stdio server, `--env`, and `--auth` overrides detection. Access defaults to the agent's; `--access read` keeps read-only tools, `--access write` every tool, and a read-only stdio server needs `--tools a,b`.
13
13
 
14
14
  ## Config shape
15
15
 
package/docs/review.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # Review
2
2
 
3
- `coder review` runs one read-only review task over local changes or a pull request, checks every finding against the repository, and prints the ones that hold. With `--post` it comments inline on the pull request and keeps one sticky summary. A local review covers everything since the merge-base with the origin default branch, committed or not, and never touches the index or working tree.
3
+ `coder review` runs one read-only review task over local changes or a pull request, checks every finding against the repository, and prints the ones that hold. With `--post` it comments inline on the pull request and keeps one sticky summary; a posted finding is never posted again, even after its line moves. A local review covers everything since the merge-base with the origin default branch, committed or not, and never touches the index or working tree.
4
4
 
5
5
  ```sh
6
6
  coder review # local changes since the default branch
package/docs/sdk.md CHANGED
@@ -48,7 +48,7 @@ SDK functions never print and never call `process.exit`; results come back as ty
48
48
  | `coder agent integrations list / show <id>` | `agent.integrations.list()` / `agent.integrations.show(id)` |
49
49
  | `coder agent run <agent> <event.json> [--server]` | `agent.run(agent, event, { server?, wait?, flow?, cwd? })` - local, tools off; with `server`, a real task |
50
50
  | `coder agent run --task <id>` | `agent.runTask(id, options?)` - the runner form, not for application code |
51
- | `coder credentials list / add / remove / default` | `credentials.list()` / `.add(label, { engine, env, workspace?, default?, noCheck? })` / `.remove(label, { workspace? })` / `.default(label, { workspace? })`, all with `{ server? }` |
51
+ | `coder credentials list / add / remove` | `credentials.list()` / `.add({ env, value?, workspace?, noCheck? })` / `.remove(name, { workspace? })`, all with `{ server? }` |
52
52
  | `coder agent usage [--since] [--by]` | `agent.usage({ since?, by?, server?, cwd? })` |
53
53
  | `coder server serve / rotate-key` | `server.serve(options?)` / `server.rotateKey(options?)`; `server.handler(env)` for serverless hosts, see [Self-hosting](self-host.md#deploy) |
54
54
 
package/docs/self-host.md CHANGED
@@ -64,11 +64,11 @@ export const GET = (request: Request) => handler(request, waitUntil);
64
64
  export const POST = GET;
65
65
  ```
66
66
 
67
- Run `await handler.scheduled()` from an hourly scheduled job to sweep expired state across every workspace, renew platform subscriptions, and start queued tasks. Each call deletes bounded batches; run it more frequently when expiry traffic exceeds 1,000 entries per hour. Call `await handler.close()` when the host shuts down. Other active handlers retain their shared database pool until they close.
67
+ Run `await handler.scheduled()` from a scheduled job to sweep expired state across every workspace, renew platform subscriptions, start queued tasks, and deliver pending messages. Call `await handler.close()` when the host shuts down.
68
68
 
69
69
  `DATABASE_POOL_MAX` sets the process pool limit, defaulting to 10 connections on a persistent host and 2 on Vercel. `DATABASE_IDLE_TIMEOUT` sets idle expiry in seconds, defaulting to 240 and 30 respectively. Set these before creating a handler; handlers sharing a database share the first pool's settings.
70
70
 
71
- Completed tasks, their logs and usage remain until a task is explicitly deleted. Sandbox snapshots remain until replaced or deleted. Expiring deliveries, notes, engine sign-ins and chat state are cleaned by the sweep.
71
+ Completed tasks, their logs and usage remain until a task is explicitly deleted. Sandbox snapshots remain until replaced or deleted. Expiring deliveries, engine sign-ins and chat state are cleaned by the sweep.
72
72
 
73
73
  ### Database setup
74
74
 
@@ -98,17 +98,15 @@ Each task gets the narrowest platform token: on GitHub an installation token for
98
98
 
99
99
  ## Credentials
100
100
 
101
- An engine credential names an engine (`claude`, `codex`, or `custom`) and holds one or more encrypted environment variables. A personal credential belongs to one member, who alone sees and uses it. A workspace credential serves every member; only owners and admins add, remove, or change it. Each scope has one default per engine. A task runs on its requester's personal default for the engine, then on the workspace default. Tasks with no known requester, such as events from unlinked platform users, use the workspace default only. Without either, the agent replies with a link to the Credentials page, open at that engine.
101
+ Credentials are subscriptions and API keys. A subscription is a member's own Claude or Codex sign-in, one per engine, offered when `CLAUDE_SUBSCRIPTIONS=1` or `CODEX_SUBSCRIPTIONS=1` is set; it runs the official `claude setup-token` or `codex login --device-auth` on the server's runner, or takes pasted `claude setup-token` output. An API key is saved as its environment variable, one per variable in each scope: personal for any member, workspace-wide for owners and admins.
102
102
 
103
- `CLAUDE_SUBSCRIPTIONS=1` and `CODEX_SUBSCRIPTIONS=1` turn on "Sign in with Claude" and "Sign in with Codex", for personal credentials only; both are off by default. Sign-in runs the official, unmodified `claude setup-token` or `codex login --device-auth` on the server's runner, and the dashboard stores the result. The page shows each credential masked, with the account email and plan where the CLI reports them.
104
-
105
- API keys are personal for any member and workspace-wide for owners and admins. Built-in engines are checked with one models request unless `--no-check` is set. Without subscription sign-in, a member may paste their own `claude setup-token` output as a personal credential.
103
+ Each engine uses its subscription, else its key (`ANTHROPIC_API_KEY` for Claude, `OPENAI_API_KEY` for Codex), the requester's own before the workspace's; a custom model uses the variable it names. Tasks with no known requester use the workspace's only, and without a credential the agent replies with a link to the Credentials page.
106
104
 
107
105
  From a terminal, `coder credentials` adds, lists, removes and signs in credentials; it reads secrets from the environment or stdin and never prints them.
108
106
 
109
107
  ## Tasks
110
108
 
111
- A task starts from the dashboard, `coder task run --server`, or a platform event. Its credential is the requester's own, then the workspace's; without one it is refused with a link that connects it. The server holds up to `limits.concurrentTasks` runner slots per workspace, including tasks waiting for a reply or approval. Set `MAX_TASKS` for an additional cap across all instances. `TASK_STALL`, `TASK_TIMEOUT` and `TASK_ATTEMPTS` bound each task.
109
+ A task starts from the dashboard, `coder task run --server`, or a platform event. Its credential is the requester's own, then the workspace's; a shared platform conversation, such as a channel thread or a pull request, uses only the workspace's. Without one it is refused with a link that connects it. The server holds up to `limits.concurrentTasks` runner slots per workspace, including tasks waiting for a reply or approval. Set `MAX_TASKS` for an additional cap across all instances. `TASK_STALL`, `TASK_TIMEOUT` and `TASK_ATTEMPTS` bound each task.
112
110
 
113
111
  A task is a conversation: steer it or ask it a question while it runs, and continue it once it has finished. Its output streams over Server-Sent Events, and a repo task's result includes the diff of its changes. The CLI's task commands take `--server` to do the same as the dashboard. A repo's own `.coder/config.json` can only narrow the workspace's config.
114
112
 
@@ -151,11 +149,11 @@ A platform user who addresses an agent must be linked to a member of the workspa
151
149
 
152
150
  `local-docker` and `github-actions` run in the runner image, which holds the engines and tools. A custom `image` needs `node`, `bun`, `git`, `curl`, `tar`, `claude`, `codex` and `github-mcp-server`.
153
151
 
154
- `local-docker`, `vercel-sandbox` and `github-actions` download this server's version of Coder from npm at start, with nothing to install. `tarballUrl` points them at another package, such as an unpublished build.
152
+ `local-docker`, `vercel-sandbox` and `github-actions` download this server's built runner from its public, immutable `/runner/<hash>.tgz` URL. Repository snapshots are specific to that build.
155
153
 
156
154
  On `vercel-sandbox` each task uses the universal image's engines without their own sandbox, and its machine stops when the task ends. Repository snapshots hold the checkout and its installed dependencies. The default is 1 CPU and 2 GB memory; `vcpus` selects a larger machine.
157
155
 
158
- Access-token authentication needs a token, team ID and project ID. Settings → Runners accepts the IDs directly, or the adapter app can supply `VERCEL_TEAM_ID` and `VERCEL_PROJECT_ID`. The firewall injects engine API keys into provider requests, and the task sees a placeholder. Below `auto`, a task's machine reaches only this server, npm, its engine, integrations, connections, MCP servers and `allowedNetworkHosts`.
156
+ Access-token authentication needs a token, team ID and project ID. Settings → Runners accepts the IDs directly, or the adapter app can supply `VERCEL_TEAM_ID` and `VERCEL_PROJECT_ID`. The firewall injects engine API keys into provider requests, and the task sees a placeholder. Below `auto`, a task's machine reaches only this server, its engine, integrations, connections, MCP servers and `allowedNetworkHosts`.
159
157
 
160
158
  For GitHub Actions, save the output of `coder server workflow` as `.github/workflows/coder-agent.yml` on the workflow repository's default branch. Save it again after each Coder upgrade. It accepts `task`, `server`, `token`, `mode` and `tarball`, names each run `Coder agent <task ID>`, and runs the task in the runner image with the callback URL and attempt token in the environment. The workflow token needs repository Actions read and write; a classic token for a private repository needs `repo`. A result returns through the authenticated task callback. No result artifact is required.
161
159
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wular/coder",
3
- "version": "0.4.9",
3
+ "version": "0.4.10",
4
4
  "description": "Delegating coding-agent runtime",
5
5
  "type": "module",
6
6
  "main": "./dist/sdk.js",
@@ -25,6 +25,7 @@
25
25
  "scripts": {
26
26
  "build": "bun scripts/build.ts",
27
27
  "build:dash": "bun scripts/build.ts dash",
28
+ "deploy:vercel": "bun scripts/deploy-vercel.ts",
28
29
  "dev:dash": "pnext dev src/server/dash",
29
30
  "dev": "tsdown --watch",
30
31
  "typecheck": "tsc -p tsconfig.json --noEmit && pnext typegen src/server/dash && tsc -p src/server/dash/tsconfig.json --noEmit",
@@ -1,20 +0,0 @@
1
- import{qi as e}from"./core-DwsAMCnL.js";import{At as t,Ct as n,D as r,Dt as i,Et as a,Ft as o,H as s,J as c,Mt as l,Nt as u,Pt as d,T as f,U as p,Y as m,ct as h,dt as g,et as ee,fn as _,gt as v,ht as y,lt as te,ot as ne,q as b,qt as x,st as S,tt as C,v as w,xn as re,y as ie}from"./config-D2FxHWwi.js";import{A as ae,C as oe,H as se,M as ce,N as le,R as T,S as E,b as D,d as O,j as k,u as A}from"./dispatch-D3Dqxijf.js";import{t as j}from"./chat-bridge-CvspGKBc.js";import M from"node:path";import N from"node:process";import P from"node:fs";import{spawn as F}from"node:child_process";import I from"node:os";function L(){let e=process.env.CLAUDE_CONFIG_DIR||M.join(I.homedir(),`.claude`);return M.join(e,`projects`)}function R(e){if(!e)return!1;let t=L(),n=!1;try{for(let r of P.readdirSync(t)){let i=M.join(t,r,`${e}.jsonl`);P.existsSync(i)&&(P.rmSync(i,{force:!0}),n=!0)}}catch{}return n}var z=e({archiveFlagged:()=>ue,askTask:()=>K,claudeAskOptions:()=>G,collectPending:()=>q,collectTasks:()=>Y,deleteTask:()=>$,recentTasks:()=>J,sidecarPrompt:()=>W,spawnArchiveSweep:()=>Q,steerTask:()=>V,stopTask:()=>Z,streamTask:()=>X});async function B(e,t,n,r,i={}){if(t.status!==`running`)return null;let a=t.engine===`claude`?await(i.claude??oe)(t.steerEndpoint,n,void 0,r):await(i.codex??ce)(e,{endpoint:t.steerEndpoint,threadId:t.threadId,turnId:t.turnId,text:n,command:r});if(a.steered)return b(e,t.id,{kind:`steer`,message:`Steer accepted live:\n${n}`}),{taskId:t.id,steered:`live`};if(!a.retryable)throw b(e,t.id,{kind:`error`,message:`Live steer failed: ${a.detail}`}),Error(`Could not steer running task ${t.id}: ${a.detail}`);let o=h(e,t.id)??t;return u.includes(o.status)?(ee(e,o.id,n),b(e,o.id,{kind:`steer`,message:`Steer queued for the next turn:\n${n}`}),{taskId:o.id,steered:`queued`}):null}async function V(e,n,r,i={},a={}){if(!n.threadId)throw new se(`invalid-option`,`Task ${n.id} has no thread to steer yet (status: ${n.status}).`,{hint:`Wait for it to start: coder task watch ${n.id}`});let o=await B(e,n,r,i.command,a);if(o){let r=h(e,n.id)??n;return r.archived&&t(e,r),o}return await H(e,n,r,i),{taskId:n.id,steered:`resumed`}}async function H(e,n,r,i){if(n.connectionSource===`server`&&!i.resolveConnections)throw Error(`Server connection resolver is required to resume this task`);let a=i.resolveConnections?await i.resolveConnections(n.connections??[]):await _(void 0,n.connections??[]),o=n.mcp?.map(e=>{let t=e.connection??(e.resolved&&n.connections?.includes(e.name)?e.name:void 0);return t?{...e,connection:t,resolved:!1}:e})??[],s=n.mcpBindings??o.filter(e=>e.connection).map(({name:e,connection:t,tools:n})=>({name:e,connection:t,...n?{tools:n}:{}})),c=new Set(s.map(e=>e.connection)),u=A([...s,...o.filter(e=>!c.has(e.connection))],{},{},a.mcp);n.archived&&t(e,n),l(e,n.id,{mcp:u.mcp,mcpBindings:s,status:`queued`,resumedAt:new Date().toISOString(),currentPrompt:r,...i.outputSchema?{outputSchema:i.outputSchema}:{},resumeThreadId:n.threadId,steerEndpoint:null,model:i.model??n.model??null,effort:i.effort??n.effort??null,permissions:i.permissions??n.permissions,error:void 0}),b(e,n.id,{kind:`steer`,message:`Resuming with steer:\n${r}`});for(let t of[...a.warnings,...u.warnings??[]])b(e,n.id,{kind:`status`,message:t});O(n.cwd??e,n.id,a.env)}const U=[`Read`,`Glob`,`Grep`];function W(e,t,n){return`You are a read-only sidecar answering a question ABOUT a coder task.
2
- You are not the task. Never continue, redo, or fix its work. Only answer the question. The task never sees this question or your answer.
3
-
4
- Task metadata:
5
- ${[`id: ${e.id}`,...e.name?[`name: ${e.name}`]:[],`status: ${e.status}`,`engine: ${e.engine}${e.model?`/${e.model}`:``}${e.effort?`/${e.effort}`:``}`,...e.cwd?[`workspace: ${e.cwd}`]:[],...e.createdAt?[`created: ${e.createdAt}`]:[],...e.completedAt?[`finished: ${e.completedAt}`]:[]].join(`
6
- `)}
7
-
8
- Task prompt:
9
- ${e.prompt??`(unknown)`}
10
-
11
- Inspect as needed (grep/read selectively; events can be large):
12
- - progress log (jsonl, one event per line): ${M.join(t,`log.jsonl`)}
13
- - final result: ${M.join(t,`result.json`)}
14
- - worker output: ${M.join(t,`worker.log`)}
15
- ${e.cwd?`- the task's workspace (its code and changes): ${e.cwd}`:``}
16
-
17
- Question: ${n}
18
-
19
- Answer the question directly and concisely.`}function G(e,t,n,r){return{prompt:n,model:r.model??e.model,effort:r.effort,permissions:`read-only`,additionalDirectories:[t],taskRoot:t,readOnlyAllowedTools:U}}async function K(e,t,i,a={}){let o=n(e,t.id),s=W(t,o,i)+(a.command?`\n\nCoder command ${T(a.command)}`:``),c=a.command?e=>{let t=M.join(o,`inbox-control`);P.mkdirSync(t,{recursive:!0}),P.appendFileSync(M.join(t,`${T(a.command)}.transcript.jsonl`),JSON.stringify({command:a.command,result:e.finalMessage??e.error?.message??``})+`
20
- `)}:void 0,l=a.effort??t.effort??null;if(t.engine===`claude`)return E(t.cwd??e,{...G(t,o,s,{model:a.model,effort:l}),command:a.command,onResult:c});let u=ie(e),d=a.model??t.model,p=d?u.models?.[d]:void 0,m=p&&w(p)?p:void 0;if(m?.envKey&&!N.env[m.envKey])throw Error(`Missing environment variable: \`${m.envKey}\`.`);let h=m?await j(m,m.wireApi??`chat`):null,g=r(u,d,h??void 0);try{return await k(t.cwd??e,{prompt:s,model:g?.model??f(d??null),modelProvider:g?.modelProvider??null,configOverrides:g?.configOverrides??null,effort:l,sandbox:`read-only`,approvalPolicy:`never`,ephemeral:!0,onResult:c})}finally{await h?.close()}}function q(e){return S(e).filter(e=>u.includes(e.status)).flatMap(t=>D(n(e,t.id)).filter(e=>!e.response).map(e=>({taskId:t.id,id:e.id,summary:String(e.summary??``),createdAt:e.createdAt?String(e.createdAt):void 0})))}function J(e){let t=[],n=S(e).filter(n=>!d.includes(n.status)||!c(Date.parse(n.completedAt??n.updatedAt??n.createdAt??``))||(te(e,n,{auto:!0}),t.push(n.id),!1));return Q(e,t),n}function Y(e,t={}){let n=t.limit===`all`?void 0:t.limit,r=e=>d.includes(e.status),i=g(e),o=new Set(i.map(e=>e.id)),c=e=>e.filter(e=>!o.has(e.id)),l=[...c(J(e)),...i.filter(e=>!e.archived)];if(t.archived?l=[...c(ne(e)),...i.filter(e=>e.archived)]:t.running?l=l.filter(e=>u.includes(e.status)):t.stopped&&(l=l.filter(r)),t.dir){let e=a(M.resolve(String(t.dir))),n=new Map;l=l.filter(t=>t.cwd?(n.has(t.cwd)||n.set(t.cwd,a(t.cwd)),n.get(t.cwd)===e):!1)}let f=e=>({rank:p(e.status),createdAt:Date.parse(e.createdAt??``)||0,id:e.id});l=[...l].sort((e,t)=>s(f(e),f(t)));let m=n===void 0?0:Math.max(0,l.length-n);return n!==void 0&&(l=l.slice(0,n)),{tasks:l,clipped:m}}async function*X(e,t,r={}){let a=new Set([`completed`,`failed`,`cancelled`]),o=h(e,t);if(!o)throw Error(`No task found for "${t}".`);let s=r.tail??1,c=re(M.join(n(e,t),`log.jsonl`)),l=!0,u=()=>{let e=c().map(e=>{try{return JSON.parse(e)}catch{return{message:e}}});return l?(l=!1,s===`all`?e:i(e,s)):e};for(yield*u();!a.has(o.status);)await new Promise(e=>setTimeout(e,400)),o=y(e,h(e,t)??o),yield*u();yield*u()}async function Z(e,t,n={}){let r=t.engine===`claude`?{detail:`claude worker terminated`}:await(n.interrupt??ae)(e,{endpoint:t.steerEndpoint,threadId:t.threadId,turnId:t.turnId});if(t.engine!==`claude`&&le(t.steerEndpoint),t.pid&&t.status===`running`)try{N.kill(t.pid,`SIGTERM`)}catch{}return l(e,t.id,{status:`cancelled`,steerEndpoint:null,completedAt:new Date().toISOString()}),{taskId:t.id,status:`cancelled`,interrupt:r.detail}}function Q(e,t,n={}){if(t.length)try{F(N.execPath,[x,`task`,`archive-sweep`,`--cwd`,e,...n.flows?[`--flows`]:[],...t],{detached:!0,stdio:`ignore`}).unref()}catch{}}function $(e,t){return t.threadId&&(t.engine===`claude`?R(t.threadId):o(e,t.threadId)),v(e,t.id)}function ue(e,t){for(let n of t){let t=C(e,n);t&&d.includes(t.status)&&m(e,t,{auto:!0})}}export{$ as a,V as c,Y as i,Z as l,K as n,J as o,q as r,Q as s,z as t,X as u};
@@ -1 +0,0 @@
1
- import{a as e,c as t,o as n}from"./slack-C_RlVDz7.js";import{l as r}from"./dist-BTornX7Y.js";import{createGitHubAdapter as i}from"./dist-C3wD7GfG.js";function a(a){let o=a.credentials?.webhookSecret,s=a.installationId,c,l=i({userName:a.name,apiUrl:`https://api.github.com`,botUserId:0,installationToken:()=>s?c??=a.token(s,{tools:n.comment}):Promise.reject(Error(`The webhook names no GitHub installation`)),webhookVerifier:(t,n)=>e(n,t.headers.get(`x-hub-signature-256`),o),logger:new r(`error`)});return t(l.octokit,a.fetch),l}export{a as githubAdapter};
@@ -1 +0,0 @@
1
- import{i as e,t}from"./cli-ZUdhZnuW.js";import{p as n}from"./output-BKeyLbvt.js";import{c as r,n as i,s as a}from"./args-CxsMr9Un.js";import{credentialOptions as o}from"./remove-5iAM2aTO.js";import s from"node:process";const c=e({name:`credentials add`,globalFlags:{cwd:!1},help:{usage:`coder credentials add [label] --engine <claude|codex|custom> --env <NAME> [--env <NAME> ...] [--value <secret|->] [--workspace] [--no-check] [--default] [--server [url]]`,summary:`Store an API key, encrypted on the server, as your personal credential or with --workspace for every member. The value comes from the named environment variable unless --value says otherwise, and is never printed. Without subscription sign-in on the server, CLAUDE_CODE_OAUTH_TOKEN takes your own claude setup-token output.`,examples:[[`ANTHROPIC_API_KEY=sk-... coder credentials add --engine claude --env ANTHROPIC_API_KEY`,`your own API key, read from the environment`],[`OPENAI_API_KEY=sk-... coder credentials add team --engine codex --env OPENAI_API_KEY --workspace`,`a workspace key every member's tasks can use`],[`pbpaste | coder credentials add router --engine custom --env OPENROUTER_API_KEY --value -`,`any provider, value from stdin`]],flags:[[`--env <NAME>`,`one environment variable name; repeat for more (reads that variable by default)`],[`--engine <name>`,`claude, codex, or custom`],[`--value <secret|->`,`literal values land in shell history and are visible to other processes; use - for stdin or prefer environment variables`],[`--workspace`,`a workspace credential; owners and admins only`],[`--no-check`,`skip the provider credential check`],[`--default`,`make this the default for its engine`],t]},options:{...o,engine:a,env:r,value:a,"no-check":i,default:i},args:1,run:async({options:e,args:[t]})=>{let{addCredential:n}=await import(`./remote-oQs6My_3.js`).then(e=>e.a);return n(t,{...e,env:e.env??[],noCheck:e[`no-check`]})},print:(e,{options:t})=>s.stdout.write(`Added ${t.workspace?`workspace`:`personal`} credential ${n.bold(e.label)}.\n`)});export{c as commandCredentialsAdd};
@@ -1 +0,0 @@
1
- import{H as e}from"./dispatch-D3Dqxijf.js";import{i as t,t as n}from"./cli-ZUdhZnuW.js";import{c as r,s as i}from"./args-CxsMr9Un.js";import{runnerOptions as a}from"./remove-BZCA-gdU.js";import o from"node:process";const s=t({name:`runner add`,globalFlags:{cwd:!1},args:1,help:{usage:`coder runner add <kind> [--name <name>] [--scope <scope>] [--field key=value …] [--server [url]] [--json]`,summary:`Connect a runner. Secret fields read environment variables with key=env:VARIABLE. Adding local prints a pairing command.`,flags:[[`--name <name>`,`runner display name`],[`--scope <scope>`,`personal or workspace`],[`--field key=value`,`repeat for each field, use env:VARIABLE for secrets`],n]},options:{...a,name:i,scope:i,field:r},async run({options:t,args:[n]}){if(!n)throw new e(`invalid-option`,`Missing runner kind.`);let{addRunnerFields:r}=await import(`./runner-DME7ohjt.js`).then(e=>e.a);return r(n,t)},print:e=>o.stdout.write(`${`command`in e?e.command:`Added ${e.name} (${e.id}).`}\n`)});export{s as commandRunnerAdd};
@@ -1,2 +0,0 @@
1
- import{i as e,r as t}from"./cli-ZUdhZnuW.js";import{p as n,r}from"./output-BKeyLbvt.js";import{i,n as a,s as o,t as s}from"./args-CxsMr9Un.js";import c from"node:process";const l={server:i,workspace:o,yes:a};async function u(e){let{openUrl:t}=await import(`./prompt-C--TI1qn.js`).then(e=>e.s);c.stderr.write(`Sign in at ${r.cyan(e)}\n`),t(e)&&c.stderr.write(r.dim(`Opened it in your browser. Waiting...
2
- `))}async function d(){let{askSecret:e}=await import(`./prompt-C--TI1qn.js`).then(e=>e.s);return e(`Key`)}function f(e){return e.provider===`env`?`API key ${e.env}`:e.provider===`mcp`?`MCP server ${e.url??e.command}`:`${e.provider} account${e.account?` ${e.account}`:``}`}const p=r=>e({name:`connection add`,help:{usage:`coder connection add <name> [--me] [--access read|write] (--env <NAME> | --url <url> [--header <NAME>] | [--env <NAME>] -- <command> [args...]) [--key] [--server [url]]`,summary:"Connect a platform account by its name (OAuth in the browser), an API key that tasks read from --env, or an MCP server at --url or started by the command after `--`. An API key is kept as a credential. A credential already holding the variable is used, else the value comes from that variable here, or from stdin or a prompt. A remote MCP server is checked for OAuth, open access or a key; a needed key is read from stdin or a prompt. With --key, the key goes in --header (default Authorization) or --env. Signing in needs --server.",flags:[[`--env <NAME>`,`the API key variable, or where a stdio server reads its key`],[`--url <url>`,`a remote MCP server (streamable HTTP by default)`],[`--transport <http|sse>`,`remote transport (default: http)`],[`--header <NAME>`,`the header a remote server reads its key from (default: Authorization)`],[`--key`,`read a key from stdin or a prompt, never from a flag value`],[`--auth <oauth|key|none>`,`override MCP authentication (default: detected for --url, none for a command)`],[`--access <read|write>`,`read keeps only read-only tools (default: read; API keys are write)`],[`--tools <a,b>`,`tool allowlist; a read-only stdio server needs one`],[`--credential <id>`,`the credential an API key connection reads`],[`--me`,`your own connection instead of the workspace's`],t],examples:[[`GROQ_API_KEY=gsk_... coder connection add groq --env GROQ_API_KEY`,`an API key from this shell`],[`pbpaste | coder connection add docs --key --env DOCS_TOKEN --access write -- npx -y docs-mcp`,`a stdio server with its key from stdin`],[`coder connection add github --me --server`,`your GitHub account on your Coder server`]]},options:{...s,...l,env:o,url:o,transport:o,header:o,key:a,auth:o,access:o,tools:o,credential:o,me:a},args:1,run:async({options:e,args:[t],cwd:n})=>{let{connection:i}=await import(`./connection-BCRJHTgp.js`).then(e=>e.n);return i.add(t,{...e,cwd:n,command:r,transport:e.transport,auth:e.auth,access:e.access,tools:e.tools?.split(`,`).map(e=>e.trim()).filter(Boolean),key:e.key?await d():void 0,askKey:d,onAuthorize:u})},print:e=>c.stdout.write(`Connected ${n.bold(e.id)}, ${f(e)}.\n`)}),m=Object.assign(e=>{let t=e.indexOf(`--`);return p(t===-1?[]:e.slice(t+1))(t===-1?e:e.slice(0,t))},p([]));export{d as askKey,m as commandConnectionAdd,f as describe,u as openSignIn,l as serverOptions};
@@ -1,8 +0,0 @@
1
- import{qi as e}from"./core-DwsAMCnL.js";import{H as t}from"./dispatch-D3Dqxijf.js";import{t as n}from"./types-B42Oh0zF.js";import{a as r}from"./load-CRmQB1LD.js";import{i,n as a}from"./remote-oQs6My_3.js";import{t as o}from"./integrations-D3OgJk6Y.js";import{a as s,r as c}from"./exec-BsXFIdTl.js";import{c as l,o as u,u as d}from"./task-DXHKWB_J.js";import{n as f}from"./match-Kt3vFTl1.js";import p from"node:path";import m from"node:process";import h from"node:fs";import{spawn as g}from"node:child_process";import _ from"node:os";import v from"node:fs/promises";const y=[`SIGTERM`,`SIGINT`],b=/\x1b\[[0-9;?]*[ -/]*[@-~]|\x1b\][^\x07\x1b]*(?:\x07|\x1b\\)|\x1b[()][A-Z0-9]|\r/g;function x(e,t){if(e===`codex`)return{file:`codex`,args:[`login`,`--device-auth`],env:{CODEX_HOME:t}};let n=`stty cols 4000 rows 50 2>/dev/null; exec claude setup-token`;return{file:`sh`,args:[`-c`,`cat | { ${m.platform===`darwin`?`script -q /dev/null sh -c '${n}'`:`script -qfec '${n}' /dev/null`}; kill 0; }`],env:{CLAUDE_CONFIG_DIR:t,BROWSER:`true`}}}function S(e){try{return JSON.parse(Buffer.from(String(e).split(`.`)[1]??``,`base64url`).toString())}catch{return{}}}function C(e){let t=S(JSON.parse(e).tokens?.id_token),n=t[`https://api.openai.com/auth`];return{...typeof t.email==`string`?{email:t.email}:{},...typeof n?.chatgpt_plan_type==`string`?{plan:n.chatgpt_plan_type}:{}}}function w(e,t){let n=t.replace(b,``),r=/\x1b\]8;[^;]*;(https:\/\/[^\x07\x1b]+)(?:\x07|\x1b\\)/.exec(t)?.[1],i=e===`claude`?r??/https:\/\/\S*(?:oauth|authorize)\S*(?=\s)/.exec(n)?.[0]:/https:\/\/\S+(?=\s)/.exec(n)?.[0],a=e===`codex`?/\b[A-Z0-9]{4,}-[A-Z0-9]{4,}\b/.exec(n)?.[0]:void 0;if(!(!i||e===`codex`&&!a))return{url:i,...a?{code:a}:{}}}const T=/sk-ant-oat[\w-]+/,E=e=>e.replace(/[\w#.%-]{20,}|\b[A-Z0-9]{4,}-[A-Z0-9]{4,}\b/g,`…`).slice(-600),D=/\x1b(?:\[([0-9;?<>=]*)[ -/]*([@-~])|\][^\x07\x1b]*(?:\x07|\x1b\\)|[()][\s\S]|[^[\]()])/y;var O=class{height;rows=[[]];row=0;col=0;saved=[0,0];rest=``;constructor(e=50){this.height=e}write(e){let t=this.rest+e;this.rest=``;for(let e=0;e<t.length;){if(t[e]===`\x1B`){D.lastIndex=e;let n=D.exec(t);if(!n){this.rest=t.slice(e,e+4096);return}n[2]&&!/^[?<>=]/.test(n[1])?this.csi(n[1].split(`;`),n[2]):n[0]===`\x1B7`?this.saved=[this.row,this.col]:n[0]===`\x1B8`&&([this.row,this.col]=this.saved),e+=n[0].length;continue}let n=t.codePointAt(e),r=String.fromCodePoint(n);e+=r.length,r===`\r`?this.col=0:r===`
2
- `?this.down():r===`\b`?this.col=Math.max(0,this.col-1):n>=32&&n!==127&&(this.line()[this.col++]=r)}}text(){return this.rows.map(e=>Array.from(e,e=>e??` `).join(``).trimEnd()).join(`
3
- `)}line(){return this.rows[this.row]??=[]}down(){this.row<this.height-1?this.row++:this.rows.splice(0,this.rows.length-this.height+1)}csi(e,t){let n=(t=0)=>Number(e[t])||1,r=Number(e[0])||0,i=this.height-1;if(t===`A`)this.row=Math.max(0,this.row-n());else if(t===`B`)this.row=Math.min(i,this.row+n());else if(t===`C`)this.col+=n();else if(t===`D`)this.col=Math.max(0,this.col-n());else if(t===`E`||t===`F`)this.row=Math.max(0,Math.min(i,this.row+(t===`E`?n():-n()))),this.col=0;else if(t===`G`)this.col=n()-1;else if(t===`d`)this.row=Math.min(i,n()-1);else if(t===`H`||t===`f`)this.row=Math.min(i,n()-1),this.col=n(1)-1;else if(t===`K`){let e=this.line();r===0?e.length=Math.min(e.length,this.col):r===1?e.fill(` `,0,this.col+1):e.length=0}else t===`J`?r===0?(this.line().length=Math.min(this.line().length,this.col),this.rows.length=Math.min(this.rows.length,this.row+1)):r>=2&&(this.rows=[]):t===`s`?this.saved=[this.row,this.col]:t===`u`&&([this.row,this.col]=this.saved)}};async function k(e,t){let{server:n,token:r}=d();delete m.env.CODER_TASK_TOKEN,delete m.env.CODER_LOGIN;let i=new AbortController,a=async(t,a)=>{let o=t?i.signal:void 0;for(let i=1;;i++){let s=await fetch(`${n}/logins/${encodeURIComponent(e)}${t}`,{method:a===void 0?`GET`:`POST`,...o?{signal:o}:{},headers:{authorization:`Bearer ${r}`,...a===void 0?{}:{"content-type":`application/json`}},...a===void 0?{}:{body:JSON.stringify(a)}}).catch(e=>{if(o?.aborted||t===`/input`||i>=10)throw e;console.error(`coder runner: Coder server did not answer: ${e.message}`)});if(s?.ok)return await s.json();if(s&&(s.status<500||i>=10))throw Error(`Coder server answered ${s.status}`);s&&console.error(`coder runner: Coder server answered ${s.status}`),await new Promise(e=>setTimeout(e,1e3))}},{engine:o}=await a(``),s=await v.mkdtemp(p.join(t,`.login-`)),c=x(o,s),l=g(c.file,c.args,{env:{...m.env,...c.env},stdio:[`pipe`,`pipe`,`pipe`],detached:!0}),u=()=>{try{m.kill(-l.pid,`SIGTERM`)}catch{}},f=``,h=new O,_=!1,S=!1,D=0,k,A,j=new Promise((e,t)=>{l.once(`error`,t),l.once(`close`,e)}),M=setTimeout(u,6e5);for(let e of y)m.once(e,u);let N=async()=>{for(;!i.signal.aborted;){let{code:e}=await a(`/input`);if(e){k=f.length,l.stdin.write(e),await new Promise(e=>setTimeout(e,500)),l.stdin.write(`\r`),m.stdout.write(`Sign-in code typed
4
- `);let t=k;setTimeout(()=>{k===t&&!_&&console.error(`coder runner: claude has not answered the code: ${JSON.stringify(E(h.text()))}`)},2e4).unref();return}}},P=e=>{if(f+=e,h.write(e),!S){let e=w(o,f.slice(D));e&&(S=!0,clearInterval(A),m.stdout.write(`Sign-in link ready
5
- `),a(``,e).catch(()=>u()),o===`claude`&&N().catch(()=>{i.signal.aborted||u()}))}o===`claude`&&!_&&T.test(h.text())&&(_=!0,m.stdout.write(`Sign-in token shown
6
- `),setTimeout(u,2e3)),(k===void 0?``:f.slice(k).replace(b,``).replace(/\s/g,``)).includes(`PressEntertoretry`)&&(m.stdout.write(`Sign-in code rejected; asking claude for a new link
7
- `),k=void 0,D=f.length,S=!1,A=setInterval(()=>l.stdin.write(`\r`),1e3))};l.stdout.setEncoding(`utf8`).on(`data`,P),l.stderr.setEncoding(`utf8`).on(`data`,P);try{let e=await j;i.abort();let t=h.text(),n=T.exec(t)?.[0];if(o===`claude`&&n){let e=/[\w.+-]+@[\w-]+(?:\.[\w-]+)+/.exec(t)?.[0];await a(``,{result:{env:{CLAUDE_CODE_OAUTH_TOKEN:n},...e?{account:{email:e}}:{}}})}else if(o===`codex`&&e===0){let e=await v.readFile(p.join(s,`auth.json`),`utf8`);await a(``,{result:{env:{CODEX_AUTH_JSON:e},account:C(e)}})}else console.error(`coder runner: ${o} sign-in ended (exit ${e}): ${JSON.stringify(E(t))}`),await a(``,{error:S?`Sign-in did not finish. Start again.`:`${o} sign-in could not start.`}).catch(()=>{});m.stdout.write(`Sign-in finished
8
- `)}finally{clearTimeout(M),clearInterval(A);for(let e of y)m.off(e,u);i.abort(),u(),await v.rm(s,{recursive:!0,force:!0})}}var A=e({agentIdError:()=>P,agents:()=>z,regexError:()=>F});const j=e=>e.cwd?p.resolve(e.cwd):m.cwd(),M=e=>(Array.isArray(e)?e:(e??``).split(`,`)).map(e=>e.trim()).filter(Boolean),N=/^[a-z0-9][a-z0-9_-]*$/;function P(e,t){if(!N.test(t))return`Use lowercase letters, digits, - or _, starting with a letter or digit.`;let n=p.join(e,`.coder`,`agents`,t);if(h.existsSync(n)&&h.readdirSync(n).length>0)return`${p.relative(e,n)} is not empty; clear it to start over, or edit what is there.`}function F(e){try{new RegExp(e);return}catch{return`Not a valid regular expression.`}}function I(e,t){let n=o[e]?.sample;return{integration:e,type:t,appId:`${e}:sample`,installationId:`sample`,deliveryId:`sample-1`,actor:{id:`user-1`,login:`someone`,role:`member`},text:`Replace me with the text a real event would carry.`,...n?{chat:{thread:{_type:`chat:Thread`,adapterName:e,channelId:n.slice(0,n.lastIndexOf(`:`)),id:n,isDM:!1}}}:{}}}async function L(e,r={}){let i=j(r);if(!e&&r.askId&&(e=await r.askId(e=>P(i,e))),!e)throw new t(`invalid-option`,`Missing agent id.`,{hint:`Usage: coder agent init <id>`});let a=P(i,e);if(a)throw new t(`invalid-option`,a.includes(`not empty`)?a:`Agent id "${e}": ${a}`);let s=p.join(i,`.coder`,`agents`,e),c=r.askPicks?await r.askPicks(e):{...r.name?{name:r.name}:{},integrations:M(r.integrations).length?M(r.integrations):[Object.keys(o)[0]],events:{},matches:{},tools:r.tools??`comment`};if(!n.includes(c.tools))throw new t(`invalid-option`,`Unknown preset "${c.tools}"; valid: ${n.join(`, `)}`);let l={},u=M(r.events),d=e=>Object.keys(o[e]?.events??{});for(let e of c.integrations)if(!o[e])throw new t(`invalid-option`,`Unknown integration "${e}"; valid: ${Object.keys(o).join(`, `)}`);for(let e of u)if(!c.integrations.some(t=>d(t).includes(e)))throw new t(`invalid-option`,`No chosen integration has event "${e}".`,{hint:`Events per integration: coder agent integrations show <id>`});let f=Object.fromEntries(M(r.match).map(e=>{let n=e.indexOf(`=`);if(n<1)throw new t(`invalid-option`,`Bad --match "${e}"; use event=regex.`);let r=e.slice(n+1);if(F(r))throw new t(`invalid-option`,`Bad --match for ${e.slice(0,n)}: ${F(r)}`);return[e.slice(0,n),r]}));for(let e of c.integrations){let n=d(e),r=c.events[e]??(u.length?u.filter(e=>n.includes(e)):[n.includes(`mention`)?`mention`:n[0]]);for(let i of r)if(!n.includes(i))throw new t(`invalid-option`,`${e} has no event "${i}"; valid: ${n.join(`, `)}`);let i={...f,...c.matches[e]??{}},a=r.filter(e=>i[e]);r.length&&(l[e]={events:a.length?Object.fromEntries(r.map(e=>[e,!i[e]||{match:i[e]}])):r,tools:c.tools})}let m={...c.name?{name:c.name}:{},...r.description?{description:r.description}:{},permissions:r.permissions??`read-only`,integrations:l};await v.mkdir(s,{recursive:!0}),await v.writeFile(p.join(s,`agent.json`),`${JSON.stringify(m,null,2)}\n`),await v.writeFile(p.join(s,`system.md`),`You are ${c.name??e}.\n`);let h=p.join(_.tmpdir(),`coder-agent-samples`,e),g=[];for(let[e,t]of Object.entries(l)){let n=(Array.isArray(t.events)?t.events:Object.keys(t.events??{}))[0];await v.mkdir(h,{recursive:!0});let r=p.join(h,`sample-${e}-${n}.json`);await v.writeFile(r,`${JSON.stringify(I(e,n),null,2)}\n`),g.push(r)}return{id:e,dir:s,files:[`agent.json`,`system.md`],samples:g,integrations:Object.keys(l)}}function R(e){if(e===void 0||typeof e==`number`)return e;if(/^\d+$/.test(e))return Number(e);let n=/^(\d+)([dh])$/.exec(e);if(!n)throw new t(`invalid-option`,`Invalid --since value.`,{hint:`Use 7d, 24h, or milliseconds since epoch`});return Date.now()-Number(n[1])*(n[2]===`d`?864e5:36e5)}const z={list:(e={})=>e.server===void 0?r(j(e),o):a(e).agents.list(),async show(e,n={}){if(!e)throw new t(`invalid-option`,`Missing agent id.`,{hint:`Usage: coder agent show <id>`});if(n.server===void 0){let i=(await r(j(n),o)).find(t=>t.id===e);if(!i)throw new t(`invalid-option`,`No agent named "${e}".`,{hint:`List agents: coder agent list`});return i}let i=a(n),s=await i.agents.get(e),c=await i.agents.version(e,s.currentVersion);return{...s,definition:c.definition}},init:L,push:(e,t={})=>i(a(t),j(t),e),async run(e,n,i={}){if(i.wait&&i.server===void 0)throw new t(`invalid-option`,`--wait needs --server.`,{hint:`Offline runs print their reply as they finish`});if(!e||!n)throw new t(`invalid-option`,`Missing agent id or event file.`,{hint:`Usage: coder agent run <agent> <event.json>`});let l=j(i),u=typeof n==`string`?JSON.parse(await v.readFile(p.resolve(l,n),`utf8`)):n;if(i.server!==void 0){let t=a(i),n=await t.tasks.create({agent:e,event:u});if(!i.wait||!n.tasks.length)return n;let r=[];for(let e of n.tasks){let n=await t.tasks.wait(e,{onLog:i.onLog});r.push(n),i.onDone?.(n)}return r}let d=await r(l,o),m=d.find(t=>t.id===e);if(!m)throw new t(`invalid-option`,`No agent named "${e}".`);let h=f(u,d).find(t=>t.agent.id===e),g=i.flow??h?.flow;if(!g)throw new t(`invalid-option`,`Agent "${e}" does not match event "${u.type}".`);return c({cwd:l,agent:e,flow:g,task:{...s(m,g,u),tools:{},...h?.permissions?{permissions:h.permissions}:{}},post:!1})},runTask(e,t={}){let n=j(t);return m.env.CODER_LOGIN?k(e,n):m.env.CODER_PREPARE?u(e,n):l(e,n)},async usage(e={}){if(e.by&&![`agent`,`installation`,`engine`].includes(e.by))throw new t(`invalid-option`,`Invalid --by value.`,{hint:`Use agent, installation, or engine`});let n=e.by;if(e.server!==void 0)return a(e).usage({since:R(e.since),by:n});let[{localUsage:r},{usageSummary:i}]=await Promise.all([import(`./apps-B60OpAHX.js`).then(e=>e.At),import(`./apps-B60OpAHX.js`).then(e=>e.xn)]);return i(r(j(e)).map(([,e])=>e),R(e.since)??0,n)},integrations:{list:()=>Object.entries(o).map(([e,t])=>({id:e,description:t.description,events:Object.keys(t.events),tools:t.tools.presets.write})),show(e){if(!e)throw new t(`invalid-option`,`Missing integration id.`,{hint:`Usage: coder agent integrations show <id>`});let n=o[e];if(!n)throw new t(`invalid-option`,`Unknown integration "${e}".`,{hint:`List integrations: coder agent integrations list`});return{id:e,events:Object.fromEntries(Object.entries(n.events).map(([e,t])=>[e,t.description])),tools:n.tools.presets}}}};export{z as n,A as t};
@@ -1,2 +0,0 @@
1
- import{i as e}from"./cli-ZUdhZnuW.js";import{p as t}from"./output-BKeyLbvt.js";import{n}from"./models-CdvmuaLv.js";import{n as r}from"./add-CvBTpxgY.js";import i from"node:process";const a=e({name:`model alias`,help:{usage:`coder model alias <name> <spec> [--workspace]`,summary:`Save an alias for an engine spec, e.g. fast -> codex:luna. An alias may reuse a
2
- built-in name to override it.`,flags:[[`--workspace`,`target <repo>/.coder/config.json instead of the user file`]]},options:r,args:2,run:({options:e,args:[t,r],cwd:i})=>n(i,t,r,e),print:o});function o(e){let n=t,r=`${e.provider} ${e.model}${e.effort?` (${e.effort})`:``}`;i.stdout.write(`aliased ${n.cyan(e.alias)} -> ${e.provider}:${e.model}${e.effort?`:${e.effort}`:``} ${n.dim(`= ${r}`)} ${n.dim(`(${e.file})`)}\n`)}export{a as commandModelAlias};
@@ -1,2 +0,0 @@
1
- import{K as e}from"./config-D2FxHWwi.js";import{i as t,r as n}from"./cli-ZUdhZnuW.js";import{a as r,p as i,s as a}from"./output-BKeyLbvt.js";import{i as o,n as s,s as c,t as l}from"./args-CxsMr9Un.js";import u from"node:process";const d={server:o,workspace:c,yes:s};function f(e,t){let n=i;if(!t.length)return void u.stdout.write(`${n.dim(`No approvals for task ${e}.`)}\n`);for(let e of t){let t=e.answered??`pending`;u.stdout.write(`${n.cyan(e.id)} ${t.padEnd(8)} ${n.dim(String(e.summary??``))}\n`)}let r=t.filter(e=>!e.answered);if(r.length){let e=r.length===1?r[0].id:`<approval-id>`;u.stdout.write(`\n${a([`Answer: coder task approve ${e} [--deny]`],n)}\n`)}}function p(t){let n=i;if(!t.length)return void u.stdout.write(`${n.dim(`No pending approvals.`)}\n\n${a([`Check tasks: coder task list`],n)}\n`);let o={id:Math.max(11,...t.map(e=>e.id.length)),task:Math.max(7,...t.map(e=>e.taskId.length))};u.stdout.write(n.bold(n.light(`${`approval-id`.padEnd(o.id)} ${`task-id`.padEnd(o.task)} age summary\n`)));for(let i of t){let t=i.createdAt?r(e(i.createdAt)):`-`;u.stdout.write(`${n.cyan(i.id.padEnd(o.id))} ${n.cyan(i.taskId.padEnd(o.task))} ${t.padEnd(5)} ${n.light(i.summary)}\n`)}let s=t.length===1?t[0].id:`<approval-id>`;u.stdout.write(`\n${a([`Answer: coder task approve ${s} [--deny]`],n)}\n`)}const m=t({name:`task approvals`,help:{usage:`coder task approvals [task-id] [--server [url]]`,summary:`Without a task id: pending approvals across all tasks. With one: that task's
2
- permission escalations and how each was answered.`,flags:[n]},options:{...l,...d},args:1,run:async({options:e,args:[t]})=>{let{tasks:n}=await import(`./task-IoBYe7ok.js`).then(e=>e.t);return n.approvals(t,{...e,organization:e.workspace})},json:(e,{options:t,args:[n]})=>t.server===void 0&&n?e.map(({taskId:e,...t})=>t):t.server===void 0?e.map(({taskId:e,id:t,summary:n,createdAt:r})=>({taskId:e,id:t,summary:n,createdAt:r})):e,print(e,{options:t,args:[n]}){if(t.server===void 0)return n?f(n,e):p(e);if(!e.length)return void u.stdout.write(`${i.dim(`No pending approvals.`)}\n\n${a([`Check tasks: coder task list`],i)}\n`);for(let t of e)u.stdout.write(`${t.taskId} ${JSON.stringify(t)}\n`)}});export{m as commandApprovals};
@@ -1,2 +0,0 @@
1
- import{i as e,r as t}from"./cli-ZUdhZnuW.js";import{p as n}from"./output-BKeyLbvt.js";import{i as r,n as i,s as a,t as o}from"./args-CxsMr9Un.js";import s from"node:process";const c={server:r,workspace:a,yes:i},l=e({name:`task approve`,help:{usage:`coder task approve [task-id] <approval-id> [--deny] [--server [url]]`,summary:`Answer an escalated permission request. Accepts by default; --deny rejects it.
2
- Approval ids are unique, so the task id is optional.`,flags:[[`--deny`,`reject the request instead of accepting`],t]},options:{...o,deny:i,...c},args:2,run:async({options:e,args:[t,n]})=>{let{tasks:r}=await import(`./task-IoBYe7ok.js`).then(e=>e.t);return r.approve(t,n,{...e,organization:e.workspace})},print:(e,{options:t,args:r})=>s.stdout.write(t.server===void 0?`${t.deny?`Denied`:`Approved`} ${n.cyan(e.approvalId)} on task ${n.cyan(e.taskId)}.\n`:`${t.deny?`Denied`:`Approved`} ${n.cyan(r[1])}.\n`)});export{l as commandApprove};