@wular/coder 0.4.9 → 0.4.11

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 (551) hide show
  1. package/dist/actions-Cwe3IDVs.js +2 -0
  2. package/dist/adapter-Bi768A94.js +1 -0
  3. package/dist/{adapter-YCvP9H2n.js → adapter-CkL4PqXE.js} +42 -42
  4. package/dist/{adapter-B2RXnvqt.js → adapter-DYxjaefw.js} +6 -6
  5. package/dist/add-B6vPKZEr.js +1 -0
  6. package/dist/add-n6c9OINP.js +2 -0
  7. package/dist/add-v1Pv00HX.js +1 -0
  8. package/dist/{add-CvBTpxgY.js → add-wC8ByRgM.js} +2 -2
  9. package/dist/agent-6GooVMsq.js +8 -0
  10. package/dist/{agent-vYm7Geh-.js → agent-BkxXgha0.js} +1 -1
  11. package/dist/alias-A8ObWElH.js +2 -0
  12. package/dist/{app-CJPFaLIV.js → app-CaxTL1H3.js} +1 -1
  13. package/dist/approvals-h5lytkey.js +2 -0
  14. package/dist/approve-BNhg0MLi.js +2 -0
  15. package/dist/{approve-CBuGu3du.js → approve-BiHM8kSo.js} +1 -1
  16. package/dist/apps-BNe86LfS.js +367 -0
  17. package/dist/archive-CMHRsVYf.js +4 -0
  18. package/dist/{archive-C89Z4kSx.js → archive-H2B7Me8E.js} +2 -2
  19. package/dist/args-CURX44CA.js +1 -0
  20. package/dist/ask-D8TIVhPl.js +4 -0
  21. package/dist/auth-BSMPjhnz.js +1 -0
  22. package/dist/auth-D3quZAKT.js +1 -0
  23. package/dist/builtin/coder/agent.json +5 -9
  24. package/dist/chat-3AvUDOwf.js +13 -0
  25. package/dist/chat-bridge-BmqYsASZ.js +2 -0
  26. package/dist/chat-bwKd3y6V.js +1 -0
  27. package/dist/cli-BBlH53hA.js +9 -0
  28. package/dist/cli.js +1 -1
  29. package/dist/client-sqXb-y09.js +22 -0
  30. package/dist/config-K6Rrjsee.js +3 -0
  31. package/dist/connection-B-IB8tlP.js +1 -0
  32. package/dist/{connection-BtUZA2St.js → connection-BXBDeoax.js} +1 -1
  33. package/dist/conversation-DT-35cEt.js +1 -0
  34. package/dist/create-CP_JmJnh.js +1 -0
  35. package/dist/credentials-BRFajC0d.js +1 -0
  36. package/dist/dash/standalone/server/build-index.json +1 -1
  37. package/dist/dash/standalone/server/manifest.json +1321 -1307
  38. package/dist/dash/standalone/server/modules-server-server-react-server/src/client/{index.8e150ef2bc6a5f4e.js → index.0de14cb4e30bd70d.js} +8 -16
  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.be791a5eaf328738.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.0fbfdba5254f7ae5.js} +3 -3
  45. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/create/[id]/{page.90e312759b87cfa2.js → page.70913bd4075da914.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.61aab176baeefebd.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.815371ed0d5dd4fa.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.1d6af804f9ec043d.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.f43bcc1148ce3650.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.f3af8cc8540719d7.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.5f88059c03cf82b4.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.b7392d534ce0410e.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.5aae24bbfd90c434.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.91c992fdd3b4a493.js} +38 -35
  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.8e7ca54dd1821e98.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.eb707a9e32718374.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.9ec1ec08ba05da59.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.dd9088a4581b1d65.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.71dc042821133e82.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.45e18b6dc3019af4.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.c8d76988c734dda2.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.b1367e864b4fb406.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.e3179ddf20a7e55d.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.1579dc8acbaacf92.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.ad5cc342db794e5d.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.43b4b28f194ea842.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.62cb8207218e6437.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.eafa5b41a2ed571f.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.dffb05f2d256d81a.js} +11 -19
  80. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/{layout.6d2242d49ae9dd35.js → layout.393cf7429eea189e.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.a244f3199e7cf09c.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.980adfb7c5714752.js} +8 -9
  83. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/{page.c720853404d94114.js → page.24a1987405ed7b17.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.21ec9dc73ce68656.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.683476f62a9ecde7.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.b43dd3d97c536c2a.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.9e116751bd34e2cc.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.083f5c665df04b1b.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.537f63f8e5dd085d.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.dfed4ae6ffc74434.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.3afa989490bbe77c.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.0d175ee815b22cd7.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.3e8289f888fa444c.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.06feaa5fbb06f1e6.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.ff95e4b6977d0474.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.f06fda0df59beeb5.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.3c79cf14feff12bf.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.25b29e72df84806b.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.587da79d68ab8d14.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.f2e902c8208b2e78.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.b0bb1faaac8e0b6c.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.b52a49fb5faeefd0.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.80f9c9a42ecae854.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.20b5c22658eae312.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.fb21ebe90d49dac1.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.e2915852cf82c86b.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.0ed8ccaae81b9d53.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.b9a5c37272250e82.js} +2 -2
  150. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/utils/{client.d25e6dcc6704eb60.js → client.a3928fa2dcd27b75.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-fc8716cda7527d8c.js +1 -0
  155. package/dist/dash/standalone/static/assets/chunks/agent-pills-bd32cb89331aff7e.js +2 -0
  156. package/dist/dash/standalone/static/assets/chunks/agent-settings-form-f5576a2c50fce094.js +1 -0
  157. package/dist/dash/standalone/static/assets/chunks/{agent-toggle-b2f2c22e63dedc1f.js → agent-toggle-a45b95908d62f926.js} +1 -1
  158. package/dist/dash/standalone/static/assets/chunks/agents-grid-9f79b5074899c8be.js +1 -0
  159. package/dist/dash/standalone/static/assets/chunks/{back-1d1b062f0e1b29b7.js → back-b0cd2b85c9d8403e.js} +1 -1
  160. package/dist/dash/standalone/static/assets/chunks/combo-1050768988cd0347.js +1 -0
  161. package/dist/dash/standalone/static/assets/chunks/composer-87f138e21d68370d.js +1 -0
  162. package/dist/dash/standalone/static/assets/chunks/composer-8f0e8b1d07e74aad.js +1 -0
  163. package/dist/dash/standalone/static/assets/chunks/composer-data-5fed6c271a4791ca.js +1 -0
  164. package/dist/dash/standalone/static/assets/chunks/{confirm-1cb4d8df3974f34a.js → confirm-01d5814b1c5f7721.js} +1 -1
  165. package/dist/dash/standalone/static/assets/chunks/connect-apps-857dc9fa3f6f5bbc.js +1 -0
  166. package/dist/dash/standalone/static/assets/chunks/{connect-repositories-995d55b3f166337d.js → connect-repositories-49098298b3a82647.js} +1 -1
  167. package/dist/dash/standalone/static/assets/chunks/connections-list-46d48443d8fc8a0d.js +1 -0
  168. package/dist/dash/standalone/static/assets/chunks/{copy-c938369a1bfe75fd.js → copy-5db9d328f8f65d82.js} +1 -1
  169. package/dist/dash/standalone/static/assets/chunks/create-link-6b6e9eeac436c4af.js +1 -0
  170. package/dist/dash/standalone/static/assets/chunks/credentials-list-3cccc85ef335cb22.js +1 -0
  171. package/dist/dash/standalone/static/assets/chunks/{custom-range-4eeb710748887f3a.js → custom-range-fdf1946aac09cfc3.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-d2460c315bb1fd32.js +6 -0
  174. package/dist/dash/standalone/static/assets/chunks/engines-list-0159c8baa0b3e711.js +1 -0
  175. package/dist/dash/standalone/static/assets/chunks/{field-657227821326b5b3.js → field-c530e261587d94df.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-3ea5afeea1992bf2.js +2 -0
  178. package/dist/dash/standalone/static/assets/chunks/instructions-d8884576a18e6cdb.js +1 -0
  179. package/dist/dash/standalone/static/assets/chunks/list-b67ce61483dd6acb.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-98c956ba00913a73.js +1 -0
  182. package/dist/dash/standalone/static/assets/chunks/{notice-cd32ca98bbc10844.js → notice-8939183c8a889bae.js} +1 -1
  183. package/dist/dash/standalone/static/assets/chunks/outcome-dialog-6323cb5300b6d3c9.js +1 -0
  184. package/dist/dash/standalone/static/assets/chunks/outcome-dialog-be3fbe8c4b43d180.js +1 -0
  185. package/dist/dash/standalone/static/assets/chunks/platform-actions-aafbf038008de64f.js +1 -0
  186. package/dist/dash/standalone/static/assets/chunks/platform-actions-ed27388f722b4a4c.js +1 -0
  187. package/dist/dash/standalone/static/assets/chunks/runners-list-a13d0f8f6583c6d2.js +1 -0
  188. package/dist/dash/standalone/static/assets/chunks/{runtime-e8b9eb1e537215ed-1.js → runtime-71b727f8f5906f08-1.js} +1 -1
  189. package/dist/dash/standalone/static/assets/chunks/secrets-list-53a0c079492199c9.js +1 -0
  190. package/dist/dash/standalone/static/assets/chunks/{segmented-24da438244eedc8f.js → segmented-a3642b8169857fb1.js} +1 -1
  191. package/dist/dash/standalone/static/assets/chunks/shared-init-6cad28f8cc696d91.js +2 -0
  192. package/dist/dash/standalone/static/assets/chunks/shared-init-71b727f8f5906f08-2.js +1 -0
  193. package/dist/dash/standalone/static/assets/chunks/shared-init-94883db7bc70a5a8.js +5 -0
  194. package/dist/dash/standalone/static/assets/chunks/side-toggle-a2f67a8671a0309b.js +1 -0
  195. package/dist/dash/standalone/static/assets/chunks/tail-81b69d49bfebfd4c.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-25c70b47b5a53cd2.js +1 -0
  198. package/dist/dash/standalone/static/assets/chunks/task-view-e5ee0ada38552918.js +5 -0
  199. package/dist/dash/standalone/static/assets/chunks/tasks-list-d58f3063ae31d9d2.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-fbeed95c0b4e5f0f.js} +1 -1
  202. package/dist/dash/standalone/static/assets/chunks/{wular-pnext-e8b9eb1e537215ed-0.js → wular-pnext-71b727f8f5906f08-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-037852a9f274c8c8.js +1 -0
  223. package/dist/dash/standalone/static/assets/pnext-client-10eac8df53f62104.js +1 -0
  224. package/dist/dash/standalone/static/assets/pnext-client-12635905e9754177.js +1 -0
  225. package/dist/dash/standalone/static/assets/pnext-client-12955733c71cc641.js +1 -0
  226. package/dist/dash/standalone/static/assets/pnext-client-26999113ea61d5b9.js +1 -0
  227. package/dist/dash/standalone/static/assets/pnext-client-27b6e4b7d1697094.js +1 -0
  228. package/dist/dash/standalone/static/assets/pnext-client-34fec171024dd082.js +1 -0
  229. package/dist/dash/standalone/static/assets/pnext-client-44eb6d4096f7e875.js +1 -0
  230. package/dist/dash/standalone/static/assets/pnext-client-4c558a168b95d9b1.js +1 -0
  231. package/dist/dash/standalone/static/assets/pnext-client-5d21f3dd3f4407af.js +1 -0
  232. package/dist/dash/standalone/static/assets/pnext-client-5fe04a4e1dff28a3.js +1 -0
  233. package/dist/dash/standalone/static/assets/pnext-client-88bbc009041aa776.js +1 -0
  234. package/dist/dash/standalone/static/assets/pnext-client-b36106c6b8a6cd35.js +1 -0
  235. package/dist/dash/standalone/static/assets/pnext-client-b47dda1cd4cfac04.js +1 -0
  236. package/dist/dash/standalone/static/assets/pnext-client-b556f5611fdcf545.js +1 -0
  237. package/dist/dash/standalone/static/assets/pnext-client-b8485144ca29d436.js +1 -0
  238. package/dist/dash/standalone/static/assets/pnext-client-c5c3c90b3518c5a8.js +1 -0
  239. package/dist/dash/standalone/static/assets/pnext-client-e4c659a371f4cd79.js +1 -0
  240. package/dist/dash/standalone/static/assets/pnext-client-f139547dc55d7d76.js +1 -0
  241. package/dist/dash/standalone/static/assets/pnext-client-fd280710b31af681.js +1 -0
  242. package/dist/default-Ojx5oFuw.js +1 -0
  243. package/dist/delete-D1hEPpsk.js +2 -0
  244. package/dist/{delete-DS6P_fun.js → delete-UyzcQPoG.js} +2 -2
  245. package/dist/disable-Dml_Slph.js +1 -0
  246. package/dist/{discover-pKrMDvpW.js → discover-CyIfIBGD.js} +2 -2
  247. package/dist/dispatch-CFZ9Crvg.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-sFUXzJbk.js → docs-BUHKbQjM.js} +1 -1
  252. package/dist/docs-CvjWiada.js +2 -0
  253. package/dist/drive-BqunNi9n.js +1 -0
  254. package/dist/{enable-BWvDv7dP.js → enable-xye-Nanc.js} +1 -1
  255. package/dist/env-BgE9ipvN.js +1 -0
  256. package/dist/exec-Cprez703.js +3 -0
  257. package/dist/executor-3QMa-XRY.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-CtillCQY.js +1 -0
  263. package/dist/history-C53URBjs.js +8 -0
  264. package/dist/http-CDZKt5ln.js +1 -0
  265. package/dist/hub-B0WCXtsP.js +2 -0
  266. package/dist/init-HdSVUozH.js +1 -0
  267. package/dist/integrations-BdLs4W6o.js +1 -0
  268. package/dist/integrations-IGnXBrPw.js +2 -0
  269. package/dist/lib/broker.js +2 -2
  270. package/dist/list-1IMeVNg3.js +1 -0
  271. package/dist/{list-CaFQOnfI.js → list-BTjIMvNs.js} +1 -1
  272. package/dist/list-BlOB32n6.js +4 -0
  273. package/dist/list-CZGTVKcS.js +4 -0
  274. package/dist/list-CquHtsmW.js +3 -0
  275. package/dist/list-CxjPT0Il.js +1 -0
  276. package/dist/{list-BDpYPbJF.js → list-DvFVuGT_.js} +1 -1
  277. package/dist/list-gFnOS9Hk.js +2 -0
  278. package/dist/load-Q9fL4VC6.js +2 -0
  279. package/dist/local-Bzdmzc1o.js +5 -0
  280. package/dist/log-view-CL3_S0IQ.js +3 -0
  281. package/dist/login-C723kHh6.js +1 -0
  282. package/dist/{login-CpHx_RCq.js → login-Dq3r6gh6.js} +1 -1
  283. package/dist/{logout-zSQBDPCK.js → logout-DEg0aTmq.js} +1 -1
  284. package/dist/{maintenance-DuIspk-y.js → maintenance-DYOstY6V.js} +1 -1
  285. package/dist/match-BwcxeAZF.js +1 -0
  286. package/dist/mcp-CKqinFkk.js +1 -0
  287. package/dist/mcp-Dsl3Xdd3.js +13 -0
  288. package/dist/mcp-server-BlP9lACI.js +1 -0
  289. package/dist/model-Bs27g5EX.js +1 -0
  290. package/dist/models-Cb0ZTKZ7.js +1 -0
  291. package/dist/prompt-PEgcMJO7.js +8 -0
  292. package/dist/prompts-Bj4Fbd_n.js +78 -0
  293. package/dist/push-DpEW4XbQ.js +1 -0
  294. package/dist/reconnect-BmP_XXDv.js +1 -0
  295. package/dist/refresh-SHNJq9Cx.js +1 -0
  296. package/dist/remote-D3JZ4MMQ.js +3 -0
  297. package/dist/remove-BZZgJq8Z.js +1 -0
  298. package/dist/remove-CId1EwPg.js +1 -0
  299. package/dist/remove-Ci87WQq0.js +1 -0
  300. package/dist/remove-DxCv9BB4.js +1 -0
  301. package/dist/rename-DJaf5SwH.js +1 -0
  302. package/dist/{result-Bg557zR6.js → result-BesDQ-b1.js} +2 -2
  303. package/dist/result-D0dpv2O_.js +18 -0
  304. package/dist/{resume-fnx4FUQF.js → resume-2Y0uC5MM.js} +2 -2
  305. package/dist/{review-CAHDqPq8.js → review-DIm9oK_W.js} +2 -2
  306. package/dist/{index-vd37q3fn.d.ts → review-Dxs-idTn.d.ts} +173 -74
  307. package/dist/{rotate-key-Dpx_WmuU.js → rotate-key-CS1G6ReH.js} +1 -1
  308. package/dist/run-BKUd6B8S.js +2 -0
  309. package/dist/run-DjTTb8oA.js +5 -0
  310. package/dist/run-UPW-7pKo.js +2 -0
  311. package/dist/runner-BLS_ReEw.js +1 -0
  312. package/dist/runner-BM_98EQl.js +1 -0
  313. package/dist/runner.json +1 -0
  314. package/dist/runner.tgz +0 -0
  315. package/dist/runners-DyLnqHKy.js +36 -0
  316. package/dist/schema-CjHmulYJ.js +8 -0
  317. package/dist/schema.d.ts +2 -2
  318. package/dist/schema.js +1 -1
  319. package/dist/{sdk-CWerLcF5.d.ts → sdk-B4Cl0Hbw.d.ts} +665 -485
  320. package/dist/sdk.d.ts +4 -5
  321. package/dist/sdk.js +1 -1
  322. package/dist/serve-BApfeXk8.js +12 -0
  323. package/dist/serve-DE1cKoGa.js +1 -0
  324. package/dist/{serve-w-9qRCP1.js → serve-lF97RlpX.js} +2 -2
  325. package/dist/serve-mXTjboT1.js +1 -0
  326. package/dist/{server-Bw_YmgCf.js → server-CUsxAflx.js} +1 -1
  327. package/dist/setup-host-tlsilI6C.js +6 -0
  328. package/dist/show-Dn7zTz-9.js +1 -0
  329. package/dist/show-uyUpeqa9.js +1 -0
  330. package/dist/slack-DhPhLuWb.js +5 -0
  331. package/dist/{status-PO1YXbt4.js → status-D_1VGn9F.js} +1 -1
  332. package/dist/steer-CMp-a7v2.js +4 -0
  333. package/dist/stop-C7YjN2sB.js +1 -0
  334. package/dist/{stop-CkvoZEAH.js → stop-D8G7AtdY.js} +2 -2
  335. package/dist/task-DJ6nruuA.js +1 -0
  336. package/dist/task-DeFLNmQH.js +1 -0
  337. package/dist/task-bkoi8_NN.js +7 -0
  338. package/dist/test-BD9rvefN.js +1 -0
  339. package/dist/tools-CdWkwI1g.js +1 -0
  340. package/dist/{types-C1tWi5lP.d.ts → types-C6NAqGqn.d.ts} +96 -42
  341. package/dist/{types-B42Oh0zF.js → types-D_xnfP7m.js} +1 -1
  342. package/dist/unalias-bL5t8Isc.js +1 -0
  343. package/dist/update-DIYW08ME.js +2 -0
  344. package/dist/upgrade-3fH6dGJw.js +2 -0
  345. package/dist/usage-Dr8F0xt0.js +1 -0
  346. package/dist/views-CE2d9x6T.js +5 -0
  347. package/dist/watch-BiyN4NxE.js +5 -0
  348. package/dist/watch-DJXu13jK.js +9 -0
  349. package/dist/wire-nJ7sEi-M.js +1 -0
  350. package/dist/worker-CHD_OiQS.js +1 -0
  351. package/dist/worker-KfrTK_Dk.js +2 -0
  352. package/dist/{workflow-BKxG9OUk.js → workflow-C21qQ4rT.js} +1 -1
  353. package/docs/agents/coder.md +7 -7
  354. package/docs/agents/index.md +17 -19
  355. package/docs/agents/prompt.md +231 -0
  356. package/docs/cli.md +2 -2
  357. package/docs/config.md +5 -3
  358. package/docs/mcp.md +2 -2
  359. package/docs/review.md +1 -1
  360. package/docs/sdk.md +1 -1
  361. package/docs/self-host.md +7 -9
  362. package/package.json +2 -1
  363. package/plugins/claude/.claude-plugin/plugin.json +1 -1
  364. package/plugins/cursor/.cursor-plugin/plugin.json +1 -1
  365. package/dist/actions-5TDwmn_z.js +0 -20
  366. package/dist/adapter-sKt1J1Cm.js +0 -1
  367. package/dist/add-BftLUw05.js +0 -1
  368. package/dist/add-CXAGrCnC.js +0 -1
  369. package/dist/add-Ck_y_nKX.js +0 -2
  370. package/dist/agent-ChnedLBv.js +0 -8
  371. package/dist/alias-BpgVDY6_.js +0 -2
  372. package/dist/approvals-CE8dXZhE.js +0 -2
  373. package/dist/approve-dWW4qt76.js +0 -2
  374. package/dist/apps-B60OpAHX.js +0 -242
  375. package/dist/archive-CmRVm4iS.js +0 -4
  376. package/dist/archive-sweep-EiiXIqjr.js +0 -1
  377. package/dist/args-CxsMr9Un.js +0 -1
  378. package/dist/ask-Bou8zg-4.js +0 -4
  379. package/dist/auth-CImjIcG5.js +0 -1
  380. package/dist/auth-CWzSsiSC.js +0 -1
  381. package/dist/chat-Bbzlea60.js +0 -1
  382. package/dist/chat-Djps0Seg.js +0 -13
  383. package/dist/chat-bridge-CvspGKBc.js +0 -2
  384. package/dist/cli-ZUdhZnuW.js +0 -9
  385. package/dist/config-CF3_A3NX.js +0 -3
  386. package/dist/config-D2FxHWwi.js +0 -14
  387. package/dist/connection-BCRJHTgp.js +0 -1
  388. package/dist/create-Z0QxarzN.js +0 -1
  389. package/dist/credentials-Dt2uP3AQ.js +0 -1
  390. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/responsive.82549d958fae8f00.css.pnext-asset.js +0 -0
  391. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/zone.dbc84f981415d8f7.js +0 -10
  392. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/frame/heads.20414ddcb2d08bcd.js +0 -51
  393. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/card.15f7435f202831c3.css.pnext-asset.js +0 -0
  394. package/dist/dash/standalone/static/assets/chunks/action-977f2355e308d7d0.js +0 -1
  395. package/dist/dash/standalone/static/assets/chunks/agent-pills-e75e6ac80d515ffc.js +0 -1
  396. package/dist/dash/standalone/static/assets/chunks/agent-settings-form-09f23ed893d441c7.js +0 -1
  397. package/dist/dash/standalone/static/assets/chunks/agents-grid-bb4f3e4d38b2f459.js +0 -1
  398. package/dist/dash/standalone/static/assets/chunks/combo-126d5709a0b3a5bd.js +0 -1
  399. package/dist/dash/standalone/static/assets/chunks/composer-6bf94d1087a6e6a6.js +0 -1
  400. package/dist/dash/standalone/static/assets/chunks/composer-9c1fe67a0de73997.js +0 -1
  401. package/dist/dash/standalone/static/assets/chunks/connect-apps-32c169b6e00711ff.js +0 -1
  402. package/dist/dash/standalone/static/assets/chunks/connections-list-a102e909edff14d4.js +0 -1
  403. package/dist/dash/standalone/static/assets/chunks/create-link-a147953f343355ec.js +0 -1
  404. package/dist/dash/standalone/static/assets/chunks/credentials-list-31e0fbc1ef0d003e.js +0 -1
  405. package/dist/dash/standalone/static/assets/chunks/defaults-dcc0eccad4e8585b.js +0 -1
  406. package/dist/dash/standalone/static/assets/chunks/editor-79560c0f91cfc2f6.js +0 -7
  407. package/dist/dash/standalone/static/assets/chunks/engines-list-d22f50040e6842ae.js +0 -1
  408. package/dist/dash/standalone/static/assets/chunks/format-b19b8eec331414f4.js +0 -1
  409. package/dist/dash/standalone/static/assets/chunks/instructions-a08bb02650dedb8d.js +0 -2
  410. package/dist/dash/standalone/static/assets/chunks/instructions-a1f10bc3c2866e3f.js +0 -1
  411. package/dist/dash/standalone/static/assets/chunks/list-a0cc9bdb05fc71d4.js +0 -1
  412. package/dist/dash/standalone/static/assets/chunks/model-options-3a57918eaa4a2a82.js +0 -1
  413. package/dist/dash/standalone/static/assets/chunks/models-list-63ab774de3bf3788.js +0 -1
  414. package/dist/dash/standalone/static/assets/chunks/outcome-dialog-4ab62d613bee243a.js +0 -1
  415. package/dist/dash/standalone/static/assets/chunks/platform-actions-40824017c7b5b910.js +0 -1
  416. package/dist/dash/standalone/static/assets/chunks/platform-actions-a515643f341df568.js +0 -1
  417. package/dist/dash/standalone/static/assets/chunks/runners-list-a9f4f71695f7b376.js +0 -1
  418. package/dist/dash/standalone/static/assets/chunks/secrets-list-34e09c332363564c.js +0 -1
  419. package/dist/dash/standalone/static/assets/chunks/shared-init-02aaa49ed4606a76.js +0 -2
  420. package/dist/dash/standalone/static/assets/chunks/shared-init-03e620f936463465.js +0 -5
  421. package/dist/dash/standalone/static/assets/chunks/shared-init-6f8c76316a2cd9da.js +0 -1
  422. package/dist/dash/standalone/static/assets/chunks/shared-init-e8b9eb1e537215ed-2.js +0 -1
  423. package/dist/dash/standalone/static/assets/chunks/side-toggle-8563e6056e862225.js +0 -1
  424. package/dist/dash/standalone/static/assets/chunks/tail-ebdefca4d5c23266.js +0 -1
  425. package/dist/dash/standalone/static/assets/chunks/task-6ae2bb4f1b384140.js +0 -1
  426. package/dist/dash/standalone/static/assets/chunks/task-actions-462507b76bda4657.js +0 -1
  427. package/dist/dash/standalone/static/assets/chunks/task-view-341d79730a341007.js +0 -5
  428. package/dist/dash/standalone/static/assets/chunks/tasks-list-6037ecd098332564.js +0 -1
  429. package/dist/dash/standalone/static/assets/create-param-id-8fa3e9101430f26a.css +0 -1
  430. package/dist/dash/standalone/static/assets/dash-param-org-agents-0ddb989cab5b0fbf.css +0 -1
  431. package/dist/dash/standalone/static/assets/dash-param-org-agents-new-504d1a906feabb6f.css +0 -1
  432. package/dist/dash/standalone/static/assets/dash-param-org-agents-param-slug-edit-7cd987a1a42a3b44.css +0 -1
  433. package/dist/dash/standalone/static/assets/dash-param-org-agents-param-slug-fcdddf2dc26453ce.css +0 -1
  434. package/dist/dash/standalone/static/assets/dash-param-org-agents-param-slug-platforms-26b84d659dbca7f4.css +0 -1
  435. package/dist/dash/standalone/static/assets/dash-param-org-agents-param-slug-settings-97ff652f9fe5979d.css +0 -1
  436. package/dist/dash/standalone/static/assets/dash-param-org-agents-param-slug-tasks-d47377c0f877c5c0.css +0 -1
  437. package/dist/dash/standalone/static/assets/dash-param-org-agents-param-slug-usage-6a09580f11d669b7.css +0 -1
  438. package/dist/dash/standalone/static/assets/dash-param-org-settings-param-tab-06283106fffbd5c6.css +0 -1
  439. package/dist/dash/standalone/static/assets/dash-param-org-tasks-9cb2bb12389c9a04.css +0 -1
  440. package/dist/dash/standalone/static/assets/dash-param-org-tasks-param-id-a87fa0eaa02e4008.css +0 -1
  441. package/dist/dash/standalone/static/assets/dash-param-org-usage-786c91a7640542e6.css +0 -1
  442. package/dist/dash/standalone/static/assets/global-eee296f070a9bb95.css +0 -1
  443. package/dist/dash/standalone/static/assets/pnext-client-17c3ee29b7487596.js +0 -1
  444. package/dist/dash/standalone/static/assets/pnext-client-1eaa8deb5395345f.js +0 -1
  445. package/dist/dash/standalone/static/assets/pnext-client-29e2b964470f6587.js +0 -1
  446. package/dist/dash/standalone/static/assets/pnext-client-2a1e756934e7be1a.js +0 -1
  447. package/dist/dash/standalone/static/assets/pnext-client-31e64d49f6132b26.js +0 -1
  448. package/dist/dash/standalone/static/assets/pnext-client-3d13328ad0b1148b.js +0 -1
  449. package/dist/dash/standalone/static/assets/pnext-client-4ac29d3e9f1a91be.js +0 -1
  450. package/dist/dash/standalone/static/assets/pnext-client-7d479b3375e3c07e.js +0 -1
  451. package/dist/dash/standalone/static/assets/pnext-client-9eac45990b233b55.js +0 -1
  452. package/dist/dash/standalone/static/assets/pnext-client-a8c9c169322e7e3d.js +0 -1
  453. package/dist/dash/standalone/static/assets/pnext-client-b622d087a38b1b77.js +0 -1
  454. package/dist/dash/standalone/static/assets/pnext-client-b7fea94dfda72453.js +0 -1
  455. package/dist/dash/standalone/static/assets/pnext-client-cc8e5e6c95040688.js +0 -1
  456. package/dist/dash/standalone/static/assets/pnext-client-d16e2a42b0a274c0.js +0 -1
  457. package/dist/dash/standalone/static/assets/pnext-client-dbccfef0cbb6b18d.js +0 -1
  458. package/dist/dash/standalone/static/assets/pnext-client-e74706ae238018e5.js +0 -1
  459. package/dist/dash/standalone/static/assets/pnext-client-ebe7c9692619ea00.js +0 -1
  460. package/dist/dash/standalone/static/assets/pnext-client-ef8d348060493085.js +0 -1
  461. package/dist/dash/standalone/static/assets/pnext-client-fcdfa8b2c8824449.js +0 -1
  462. package/dist/dash/standalone/static/assets/pnext-client-ff36e2f8a0522759.js +0 -1
  463. package/dist/default-DcYwZCnl.js +0 -1
  464. package/dist/default-EXRzdZUY.js +0 -1
  465. package/dist/delete-Bmn2_TiV.js +0 -2
  466. package/dist/disable-CnCxTC3X.js +0 -1
  467. package/dist/discover-CBP4Uw0N.js +0 -1
  468. package/dist/dispatch-D3Dqxijf.js +0 -8
  469. package/dist/docs-3SW1O9iS.js +0 -2
  470. package/dist/env-C_DoQYl5.js +0 -1
  471. package/dist/exec-BsXFIdTl.js +0 -11
  472. package/dist/executor-5j-Ewzzb.js +0 -11
  473. package/dist/flow-CuUq-MDm.js +0 -1
  474. package/dist/http-Cg_wYcZT.js +0 -1
  475. package/dist/init-Dgj6V-aS.js +0 -1
  476. package/dist/integrations-D3OgJk6Y.js +0 -1
  477. package/dist/integrations-DsFX2KCq.js +0 -1
  478. package/dist/list-B6lwbCEp.js +0 -1
  479. package/dist/list-BE3xmX_4.js +0 -1
  480. package/dist/list-BVIAyAAE.js +0 -4
  481. package/dist/list-Bggy3HZY.js +0 -4
  482. package/dist/list-CLtqMYPK.js +0 -2
  483. package/dist/list-DkO78ZEF.js +0 -3
  484. package/dist/load-CRmQB1LD.js +0 -2
  485. package/dist/local-ccKBhpQc.js +0 -1
  486. package/dist/log-view-DB4nXHXO.js +0 -3
  487. package/dist/login-BCdXHQ7z.js +0 -1
  488. package/dist/match-Kt3vFTl1.js +0 -1
  489. package/dist/mcp-O8VTfzdL.js +0 -12
  490. package/dist/mcp-YhyTUMIM.js +0 -11
  491. package/dist/mcp-server-DGzme0YX.js +0 -1
  492. package/dist/model-Bzpwl_95.js +0 -1
  493. package/dist/models-CdvmuaLv.js +0 -1
  494. package/dist/prompt-C--TI1qn.js +0 -8
  495. package/dist/push-vt81gcxD.js +0 -1
  496. package/dist/reconnect-BfghDbl1.js +0 -1
  497. package/dist/refresh-yXJ13FAf.js +0 -1
  498. package/dist/remote-oQs6My_3.js +0 -1
  499. package/dist/remove-5iAM2aTO.js +0 -1
  500. package/dist/remove-BZCA-gdU.js +0 -1
  501. package/dist/remove-BcewhH1U.js +0 -1
  502. package/dist/remove-BwhcR6ig.js +0 -1
  503. package/dist/rename-lyssPQfD.js +0 -1
  504. package/dist/result-jeiRJTzA.js +0 -18
  505. package/dist/review-CJS59vO-.d.ts +0 -157
  506. package/dist/run-CLy9a2MO.js +0 -2
  507. package/dist/run-DU4G8gNw.js +0 -2
  508. package/dist/run-D_pl9GF_.js +0 -5
  509. package/dist/runner-DME7ohjt.js +0 -1
  510. package/dist/runner-zT5Oyrfr.js +0 -1
  511. package/dist/runners-CNhxPjg8.js +0 -36
  512. package/dist/schema-BSlHRFSP.js +0 -8
  513. package/dist/serve-FG2LgXxM.js +0 -9
  514. package/dist/serve-UE1fcf4t.js +0 -1
  515. package/dist/serve-wQgyxwdY.js +0 -1
  516. package/dist/setup-host-BsbDs4lJ.js +0 -6
  517. package/dist/show-Cajmf606.js +0 -1
  518. package/dist/show-D0qTuXRU.js +0 -1
  519. package/dist/slack-C_RlVDz7.js +0 -3
  520. package/dist/steer-i6w87g_t.js +0 -4
  521. package/dist/stop-CJ0PHvKp.js +0 -1
  522. package/dist/task-DTN_fIGC.js +0 -1
  523. package/dist/task-DXHKWB_J.js +0 -5
  524. package/dist/task-IoBYe7ok.js +0 -1
  525. package/dist/test-BTkKFbnx.js +0 -1
  526. package/dist/tools-B-2oi2wI.js +0 -1
  527. package/dist/unalias-Cqx7i_L0.js +0 -1
  528. package/dist/update-MNyeVXyy.js +0 -2
  529. package/dist/upgrade-CGSkY0FY.js +0 -2
  530. package/dist/usage-sx-FR0bz.js +0 -1
  531. package/dist/views-BhsnL0nr.js +0 -5
  532. package/dist/watch-IL2eEgwD.js +0 -9
  533. package/dist/watch-qfr7aSfo.js +0 -5
  534. package/dist/wire-B5rc5Av6.js +0 -1
  535. package/dist/worker-BBZ36xL0.js +0 -1
  536. package/dist/worker-D2csFtoH.js +0 -9
  537. /package/dist/dash/standalone/server/modules-server-server-react-server/src/core/{errors.5954bd9bd05e8230.js → errors.0a735590a5412ea6.js} +0 -0
  538. /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
  539. /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
  540. /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
  541. /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
  542. /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
  543. /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
  544. /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
  545. /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
  546. /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
  547. /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
  548. /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
  549. /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
  550. /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
  551. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/{app/globals.dccea8b03fa4b6d2.css.pnext-asset.js → comps/ui/card.f80288cc42f9bcae.css.pnext-asset.js} +0 -0
@@ -1,9 +1,9 @@
1
1
  import * as z from "zod/mini";
2
2
  //#region src/core/config.d.ts
3
3
  declare const engineSchema: z.ZodMiniEnum<{
4
- custom: "custom";
5
4
  codex: "codex";
6
5
  claude: "claude";
6
+ custom: "custom";
7
7
  }>;
8
8
  declare const effortSchema: z.ZodMiniEnum<{
9
9
  low: "low";
@@ -42,10 +42,11 @@ declare const mcpEntrySchema: z.ZodMiniObject<{
42
42
  description: z.ZodMiniOptional<z.ZodMiniString<string>>;
43
43
  }, z.core.$strict>;
44
44
  declare const effectiveConfigSchema: z.ZodMiniObject<{
45
+ conversationCompactTokens: z.ZodMiniNumber<number>;
45
46
  chain: z.ZodMiniArray<z.ZodMiniEnum<{
46
- custom: "custom";
47
47
  codex: "codex";
48
48
  claude: "claude";
49
+ custom: "custom";
49
50
  }>>;
50
51
  engines: z.ZodMiniObject<{
51
52
  codex: z.ZodMiniOptional<z.ZodMiniObject<{
@@ -126,6 +127,10 @@ declare const effectiveConfigSchema: z.ZodMiniObject<{
126
127
  "workspace-write": "workspace-write";
127
128
  auto: "auto";
128
129
  }>>;
130
+ access: z.ZodMiniOptional<z.ZodMiniEnum<{
131
+ read: "read";
132
+ write: "write";
133
+ }>>;
129
134
  runner: z.ZodMiniOptional<z.ZodMiniEnum<{
130
135
  local: "local";
131
136
  "local-docker": "local-docker";
@@ -133,11 +138,6 @@ declare const effectiveConfigSchema: z.ZodMiniObject<{
133
138
  "github-actions": "github-actions";
134
139
  }>>;
135
140
  integrations: z.ZodMiniOptional<z.ZodMiniRecord<z.ZodMiniString<string>, z.ZodMiniObject<{
136
- allowedTools: z.ZodMiniOptional<z.ZodMiniUnion<readonly [z.ZodMiniEnum<{
137
- observe: "observe";
138
- comment: "comment";
139
- write: "write";
140
- }>, z.ZodMiniArray<z.ZodMiniString<string>>]>>;
141
141
  allowedEvents: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
142
142
  }, z.core.$strict>>>;
143
143
  connections: z.ZodMiniOptional<z.ZodMiniArray<z.ZodMiniString<string>>>;
@@ -171,6 +171,24 @@ type Effort = z.infer<typeof effortSchema>;
171
171
  type Permission = z.infer<typeof permissionSchema>;
172
172
  type CustomModelConfig = z.infer<typeof customModelSchema>;
173
173
  type CoderConfig = z.infer<typeof effectiveConfigSchema>;
174
+ declare const config: {
175
+ /** A config value by dotted key (or the whole effective config). */
176
+ get: (key?: string, opts?: {
177
+ cwd?: string;
178
+ }) => unknown;
179
+ /** Set a config value; `workspace` targets the repo file instead of the user file. */
180
+ set: (key: string, value: unknown, opts?: {
181
+ workspace?: boolean;
182
+ cwd?: string;
183
+ unset?: boolean;
184
+ }) => {
185
+ file: string;
186
+ key: string;
187
+ effective: unknown;
188
+ value?: unknown;
189
+ unset?: boolean;
190
+ };
191
+ };
174
192
  //#endregion
175
193
  //#region ../node_modules/.bun/@types+unist@3.0.3/node_modules/@types/unist/index.d.ts
176
194
  // ## Interfaces
@@ -1273,7 +1291,7 @@ interface SerializedThread {
1273
1291
  type ChannelVisibility = "private" | "workspace" | "external" | "unknown";
1274
1292
  //#endregion
1275
1293
  //#region src/agent/types.d.ts
1276
- type Preset = 'observe' | 'comment' | 'write';
1294
+ type Preset = 'read' | 'write';
1277
1295
  /** Per-integration wiring in a definition. `events` list = default behavior, map = event -> flow. */
1278
1296
  /** Event value in a definition map: a flow name, or options. */
1279
1297
  interface AgentEventOptions {
@@ -1288,8 +1306,6 @@ interface AgentEventOptions {
1288
1306
  }
1289
1307
  interface AgentDefinitionIntegration {
1290
1308
  events?: string[] | Record<string, string | true | AgentEventOptions>;
1291
- /** Platform tools the agent uses: a preset or an explicit tool list. */
1292
- tools?: Preset | string[];
1293
1309
  }
1294
1310
  /** What an agent IS: `.coder/agents/<id>/agent.json` beside its system.md. */
1295
1311
  interface AgentDefinition {
@@ -1301,13 +1317,14 @@ interface AgentDefinition {
1301
1317
  model?: string;
1302
1318
  effort?: Effort;
1303
1319
  permissions?: Permission;
1320
+ /** Read-only or Read-write on its handles and connections; defaults to `write`. */
1321
+ access?: Preset;
1304
1322
  /** MCP servers every task of this agent attaches, in the `.mcp.json` entry shape. */
1305
1323
  mcp?: Record<string, McpConfigEntry>;
1306
1324
  integrations: Record<string, AgentDefinitionIntegration>;
1307
1325
  }
1308
- /** Per-integration caps in usage: `allowedTools` and `allowedEvents` intersect the definition's. */
1326
+ /** Per-integration caps in usage: `allowedEvents` intersects the definition's. */
1309
1327
  interface AgentUsageIntegration {
1310
- allowedTools?: Preset | string[];
1311
1328
  allowedEvents?: string[];
1312
1329
  }
1313
1330
  /** How a repo RUNS an agent: one entry under `agents` in .coder/config.json. */
@@ -1316,6 +1333,8 @@ interface AgentUsage {
1316
1333
  model?: string;
1317
1334
  effort?: Effort;
1318
1335
  permissions?: Permission;
1336
+ /** May only lower the definition's access. */
1337
+ access?: Preset;
1319
1338
  integrations?: Record<string, AgentUsageIntegration>;
1320
1339
  /** Connections its tasks may use, by id; absent allows every connection the task is granted. */
1321
1340
  connections?: string[];
@@ -1360,23 +1379,28 @@ interface AgentEvent {
1360
1379
  thread: SerializedThread;
1361
1380
  message?: SerializedMessage;
1362
1381
  };
1382
+ /** Whether the agent must answer: a mention, a 1:1 direct message, or a handle that answers every prompt. */
1383
+ mustReply?: boolean;
1384
+ /** The event's place in its conversation, gathered at dispatch; `more` counts messages past `since`'s cap. */
1385
+ conversation?: {
1386
+ index?: number;
1387
+ since?: SinceMessage[];
1388
+ more?: number;
1389
+ /** Internal acknowledgement watermark of the recorded unseen snapshot. */
1390
+ unseen?: {
1391
+ version: number;
1392
+ epoch?: string;
1393
+ };
1394
+ };
1363
1395
  repo?: {
1364
1396
  owner: string;
1365
1397
  name: string;
1366
1398
  cloneUrl: string;
1367
- ref: string;
1368
1399
  defaultBranch: string;
1369
1400
  };
1370
1401
  }
1371
- /** A handle on another integration, linked to this installation at install time. */
1372
- type InstallationLink = {
1373
- kind: 'installation';
1374
- id: string;
1375
- };
1376
1402
  /** Per-installation settings a user sets from the platform (`/setup` in Slack). */
1377
1403
  interface InstallationSettings {
1378
- /** `owner/name` of the repo whose `.coder/` holds this agent's usage and instructions. */
1379
- configRepo?: string;
1380
1404
  model?: string;
1381
1405
  engine?: string;
1382
1406
  effort?: string;
@@ -1411,31 +1435,27 @@ interface AgentTask {
1411
1435
  definition: AgentDefinition;
1412
1436
  /** Frozen id of the credential selected for this task. */
1413
1437
  credential?: string;
1438
+ /** The engine order for this task; a pinned engine has one entry. */
1439
+ engineChain?: string[];
1440
+ /** Applicable credentials frozen with the engine order, without their values. */
1441
+ engineCredentials?: Record<string, string>;
1414
1442
  /** Wular user who asked, when known; their personal credential comes first. */
1415
1443
  requester?: string;
1416
1444
  /** Stored agent body for runners whose checkout does not contain the agent. */
1417
1445
  files?: Record<string, string>;
1418
1446
  usage?: AgentUsage;
1419
- /** Effective tools per integration the task may act on (event integration + connections). */
1447
+ /** Effective tools per integration the agent declares, by its access mode; every installation of the agent's apps serves them. */
1420
1448
  tools: Record<string, string[]>;
1421
- /** Frozen per-integration write targets. Missing scope means read-only tools only. */
1422
- toolScopes?: Record<string, {
1423
- repo?: {
1424
- owner: string;
1425
- name: string;
1426
- };
1427
- /** Chat SDK thread id. */
1428
- thread?: string;
1429
- within?: string;
1430
- }>;
1431
- /** Conversation context gathered by the receiver: recent thread messages and the stored note. */
1449
+ /** Context gathered by the receiver: notes for the turn and who asked. */
1432
1450
  context?: TaskContext;
1433
- /** What the platform thread gets when the run ends without an answer. */
1451
+ /** What the platform thread gets when the run fails without an answer. */
1434
1452
  failureReply?: string;
1453
+ /** The task's dashboard page, linked when the agent returns no reply where one is due. */
1454
+ taskUrl?: string;
1435
1455
  }
1436
1456
  interface TaskContext {
1437
1457
  outputSchema?: object;
1438
- /** Most recent thread messages, oldest first. */
1458
+ /** Earlier turns a dashboard continuation pastes in, oldest first. */
1439
1459
  messages?: Array<{
1440
1460
  user: string;
1441
1461
  text: string;
@@ -1443,10 +1463,12 @@ interface TaskContext {
1443
1463
  }>;
1444
1464
  /** Completed turns of this task, kept across dashboard continuations. */
1445
1465
  turns?: TaskTurn[];
1446
- /** Rolling note the agent wrote at the end of its previous turn in this thread. */
1447
- note?: string;
1448
- /** Extra instructions from the config repo (`.coder/<agent>.md`). */
1466
+ /** Notes the receiver adds for the agent, such as a missing account connection. */
1449
1467
  instructions?: string;
1468
+ /** Whether this turn requires a reply. */
1469
+ mustReply?: boolean;
1470
+ /** The last conversation batch each kind admitted, by steer or resume. */
1471
+ admissions?: Partial<Record<'batch' | 'reactions', string>>;
1450
1472
  /** The Coder account behind the event's actor, when they connected it. */
1451
1473
  user?: {
1452
1474
  name: string;
@@ -1454,6 +1476,16 @@ interface TaskContext {
1454
1476
  };
1455
1477
  }
1456
1478
  //#endregion
1479
+ //#region src/integrations/types.d.ts
1480
+ /** A message the agent did not get as a turn, as `since` lists it. */
1481
+ interface SinceMessage {
1482
+ /** The platform's message id, so a message counts once; not shown to the agent. */
1483
+ id?: string;
1484
+ author: string;
1485
+ text: string;
1486
+ sentAt: string;
1487
+ }
1488
+ //#endregion
1457
1489
  //#region src/client/types.d.ts
1458
1490
  /** What publishing did to one of the agent's apps: pushed it, failed to, or found it needs changes on the platform. */
1459
1491
  interface AppSync {
@@ -1531,7 +1563,8 @@ interface ConnectionRow {
1531
1563
  /** Set on a member's own connection; `mine` when that member is the viewer. */
1532
1564
  owner?: string;
1533
1565
  mine?: true;
1534
- access: 'observe' | 'write';
1566
+ /** Absent follows the mode of the agent whose task uses it. */
1567
+ access?: 'read' | 'write';
1535
1568
  auth: 'none' | 'key' | 'oauth';
1536
1569
  /** The remote server, or the stdio command, it is bound to. */
1537
1570
  url?: string;
@@ -1607,8 +1640,17 @@ interface McpServerSpec {
1607
1640
  };
1608
1641
  /** Tool allowlist; omit or empty for every tool the server offers. */
1609
1642
  tools?: string[];
1643
+ /** Schemas load before the first prompt instead of behind tool search or the hub. */
1644
+ alwaysLoad?: boolean;
1645
+ /** Only tools the server marks read-only may be called. */
1646
+ readOnly?: boolean;
1647
+ /** The integration a platform tool server reaches, and the account of its installation. */
1648
+ integration?: string;
1649
+ account?: string;
1650
+ /** What the server reaches and the access it allows, as the prompt lists it. */
1651
+ description?: string;
1652
+ access?: 'read' | 'write';
1610
1653
  }
1611
- type TaskKind = 'task';
1612
1654
  type TaskStatus = 'queued' | 'running' | 'completed' | 'failed' | 'cancelled';
1613
1655
  /** A persisted task record (task.json). Most fields accrete over the lifecycle. */
1614
1656
  interface Task {
@@ -1616,24 +1658,35 @@ interface Task {
1616
1658
  createdAt: string;
1617
1659
  updatedAt?: string;
1618
1660
  status: TaskStatus;
1619
- kind?: TaskKind;
1620
1661
  name?: string | null;
1621
1662
  engine?: Engine;
1622
1663
  prompt?: string;
1623
1664
  outputSchema?: object;
1624
1665
  currentPrompt?: string | null;
1625
1666
  system?: string | null;
1667
+ systemPrompt?: string;
1626
1668
  model?: string | null;
1627
1669
  effort?: Effort | null;
1628
1670
  permissions?: Permission;
1629
1671
  resumeThreadId?: string | null;
1630
1672
  cwd?: string;
1631
- background?: boolean;
1632
1673
  pid?: number | null;
1633
1674
  dispatchId?: string;
1634
1675
  threadId?: string | null;
1676
+ previousThreadIds?: string[];
1677
+ pendingRollover?: {
1678
+ summary: string;
1679
+ recent: string;
1680
+ exchanges: number;
1681
+ };
1682
+ rollingOver?: boolean;
1683
+ steerClosed?: boolean;
1684
+ conversation?: boolean;
1635
1685
  turnId?: string | null;
1636
1686
  steerEndpoint?: string | null;
1687
+ turnUsage?: Array<Pick<TurnResult, 'tokens' | 'model'> & {
1688
+ at: string;
1689
+ }>;
1637
1690
  completedAt?: string;
1638
1691
  resumedAt?: string;
1639
1692
  error?: string;
@@ -1666,6 +1719,7 @@ interface TurnResult {
1666
1719
  finalMessage?: string;
1667
1720
  touchedFiles?: string[];
1668
1721
  tokens?: TokenUsage | null;
1722
+ contextTokens?: number;
1669
1723
  /** The model that ran the turn (tokens are only comparable per model). */
1670
1724
  model?: string | null;
1671
1725
  error?: {
@@ -1707,4 +1761,4 @@ interface CommandHelpSpec {
1707
1761
  /** A subcommand handler. Receives the argv slice after the command name. */
1708
1762
  type CommandHandler = (argv: string[]) => Promise<void> | void;
1709
1763
  //#endregion
1710
- export { type InstallationLink as A, RunnerUpdate as C, type AgentEvent as D, type AgentDefinition as E, type CoderConfig as F, type CustomModelConfig as I, Preset as M, type TaskContext as N, type AgentTask as O, type TaskSource as P, type RunnerTest as S, type Agent as T, type RunnerInput as _, type HelpRow as a, type RunnerRow as b, type TaskStatus as c, type TokenUsage as d, type AppSync as f, type ProbeResult as g, type LocalFolders as h, type CommandHelpSpec as i, type InstallationSettings as j, type AgentUsage as k, type TurnResult as l, LocalFolder as m, type Availability as n, McpServerSpec as o, ConnectionRow as p, CommandHandler as r, Task as s, Approval as t, TaskLogEntry as u, RunnerKind as v, type TaskTurn as w, type RunnerSpec as x, type RunnerPairing as y };
1764
+ export { type InstallationSettings as A, RunnerUpdate as C, type AgentEvent as D, type AgentDefinition as E, type CustomModelConfig as F, type config as I, TaskContext as M, type TaskSource as N, type AgentTask as O, type CoderConfig as P, type RunnerTest as S, type Agent as T, type RunnerInput as _, type HelpRow as a, type RunnerRow as b, type TaskStatus as c, type TokenUsage as d, type AppSync as f, type ProbeResult as g, type LocalFolders as h, type CommandHelpSpec as i, type Preset as j, type AgentUsage as k, type TurnResult as l, LocalFolder as m, type Availability as n, McpServerSpec as o, ConnectionRow as p, CommandHandler as r, Task as s, Approval as t, TaskLogEntry as u, RunnerKind as v, type TaskTurn as w, type RunnerSpec as x, type RunnerPairing as y };
@@ -1 +1 @@
1
- import{qi as e}from"./core-DwsAMCnL.js";var t=e({PRESETS:()=>n});const n=[`observe`,`comment`,`write`];export{t as n,n as t};
1
+ import{qi as e}from"./core-DwsAMCnL.js";var t=e({PRESETS:()=>n});const n=[`read`,`write`];export{t as n,n as t};
@@ -0,0 +1 @@
1
+ import{i as e}from"./cli-BBlH53hA.js";import{t}from"./models-Cb0ZTKZ7.js";import{n}from"./add-wC8ByRgM.js";import{t as r}from"./remove-CId1EwPg.js";const i=e({name:`model unalias`,help:{usage:`coder model unalias <name> [--workspace]`,summary:`Remove a user-defined alias.`,flags:[[`--workspace`,`target <repo>/.coder/config.json instead of the user file`]]},options:n,args:1,run:({options:e,args:[n],cwd:r})=>t.unalias(n,{...e,cwd:r}),print:e=>r(`unaliased`,e.unaliased,e.file)});export{i as commandModelUnalias};
@@ -0,0 +1,2 @@
1
+ import{i as e}from"./cli-BBlH53hA.js";import{t}from"./models-Cb0ZTKZ7.js";import{a as n,i as r,n as i,r as a}from"./add-wC8ByRgM.js";const o=e({name:`model update`,help:{usage:`coder model update <name> [--base-url <url>] [--model <id>] [--env-key VAR]`,summary:`Update a configured custom model. Only the flags you pass change; the endpoint
2
+ is re-probed and the wire protocol re-detected.`,flags:[[`--base-url <url>`,`new API base`],[`--model <id>`,`new provider model id`],[`--env-key <VAR>`,`new API-key env var`],[`--workspace`,`write to <repo>/.coder/config.json instead of the user file`]]},options:i,args:1,run:({options:e,args:[r],cwd:i})=>t.update(r,{...n(e),cwd:i}),json:a,print:e=>r(e,`updated`)});export{o as commandModelUpdate};
@@ -0,0 +1,2 @@
1
+ import{D as e}from"./dispatch-CFZ9Crvg.js";import{i as t}from"./cli-BBlH53hA.js";import{f as n,p as r,t as i}from"./output-BKeyLbvt.js";import{c as a,n as o}from"./args-CURX44CA.js";import s from"node:process";const c=t({name:`upgrade`,globalFlags:{json:!1,cwd:!1},help:{usage:`coder upgrade [--cli-only] [--plugins-only] [--codex] [--claude] [--pm <mgr>]`,summary:`Update the coder CLI through whichever package manager installed it, then refresh
2
+ the host plugins to match.`,flags:[[`--cli-only`,`update just the CLI`],[`--plugins-only`,`refresh just the host plugins`],[`--codex`,`limit the refresh to the Agent Skills copy (Codex, Pi, ...)`],[`--claude`,`limit the refresh to the Claude Code plugin`],[`--pm <npm|pnpm|yarn|bun>`,`force a package manager instead of auto-detecting`]]},options:{pm:a,"cli-only":o,"plugins-only":o,codex:o,claude:o},run:({options:t})=>e({...t,cliOnly:t[`cli-only`],pluginsOnly:t[`plugins-only`]},l),print:u});function l(e){s.stdout.write(`${r.bold(`Updating coder CLI`)} ${r.dim(`${e}...`)}\n`)}function u(e){let t=r.bold,a=r.dim,o=(e,n)=>n&&e&&n!==e?`${e} ${a(`->`)} ${t(n)}`:`${n??e??`?`} ${a(`(unchanged)`)}`,c=(e,t)=>`${t.installed?n(`${e} ${o(t.from,t.to)} ${a(`- ${t.note}`)}`):i(`${e} ${t.note}`)}\n`;e.cli&&s.stdout.write(e.cli.changed?`${n(`coder CLI ${o(e.cli.from,e.cli.to)}`)}\n`:`${n(`coder CLI ${e.cli.from} ${a(`(already latest)`)}`)}\n`),e.claudePlugin&&s.stdout.write(c(`claude plugin`,e.claudePlugin)),e.agentsSkill&&s.stdout.write(c(`agents skill `,e.agentsSkill))}const d=async()=>(await import(`./refresh-SHNJq9Cx.js`)).commandRefreshUpdate,f=Object.assign(async e=>e[0]===`refresh`?(await d())(e.slice(1)):c(e),c,{subcommands:{refresh:d}});export{f as commandUpgrade};
@@ -0,0 +1 @@
1
+ import{i as e,r as t}from"./cli-BBlH53hA.js";import{g as n,p as r}from"./output-BKeyLbvt.js";import{c as i,s as a,t as o}from"./args-CURX44CA.js";import s from"node:process";function c(e,t){let i=Array.isArray(e.totals)?e.totals.map(e=>({group:t??``,...e})):Object.entries(e.totals).flatMap(([e,t])=>t.map(t=>({group:e,...t})));if(!i.length)return void s.stdout.write(`${r.dim(`No usage in this period.`)}\n`);s.stdout.write(`${n([{header:`by`,value:e=>e.group},{header:`key`,value:e=>e.key,paint:e=>r.cyan(e)},{header:`tasks`,value:e=>String(e.tasks)},{header:`runner ms`,value:e=>String(e.runnerMs)},{header:`tokens`,value:e=>e.tokens===void 0?``:JSON.stringify(e.tokens)}],i,r)}\n`)}const l=e({name:`agent usage`,help:{usage:`coder agent usage [--since 7d|24h|<ms>] [--by agent|installation|engine] [--server [url]] [--json] [--cwd <dir>]`,flags:[[`--since <period|ms>`,`period such as 7d or 24h, or milliseconds since epoch`],[`--by <group>`,`agent, installation, or engine`],t]},options:{...o,...a,since:i,by:i},run:async({options:e,cwd:t})=>{let{agents:n}=await import(`./agent-6GooVMsq.js`).then(e=>e.t);return n.usage({...e,cwd:t,organization:e.workspace,since:e.since??`7d`})},print:(e,{options:t})=>c(e,t.by)});export{l as commandAgentUsage};
@@ -0,0 +1,5 @@
1
+ import{a as e,i as t,r as n,t as r}from"./slack-DhPhLuWb.js";const i=e=>({type:`mrkdwn`,text:e}),a=e=>({type:`section`,text:i(e.length>3e3?`${e.slice(0,2999)}…`:e)}),o=e=>e.replace(/&/g,`&amp;`).replace(/</g,`&lt;`).replace(/>/g,`&gt;`),s=(e,t)=>`<${e}|${o(t)}>`,c={queued:`Queued`,running:`Running`,waiting:`Needs approval`,completed:`Completed`,failed:`Failed`,cancelled:`Cancelled`},l=(e,t,n,i)=>({type:`button`,action_id:`${r}${e}`,text:{type:`plain_text`,text:n},url:t,...i?{style:`primary`}:{}});function u(e,r,i){let s=i?.slug??r,c=i?.listens.find(e=>e.integration===n.id)?.events??[],u=c.map(e=>n.events[e]?.description??e),d=t(o(r),c,`message it here`);return{type:`home`,blocks:[a([`*${o(i?.name??r)}*`,i?.description&&o(i.description)].filter(Boolean).join(`
2
+ `)),...d?[a(`*Use it here*\n${d}`)]:[],...u.length?[a(`*Listens to*\n${u.join(`
3
+ `)}`)]:[],{type:`divider`},{type:`actions`,elements:[l(`agent`,`${e.dash}/agents/${encodeURIComponent(s)}/platforms`,`Open in Coder`,!0),l(`coder`,e.home.replace(/\/$/,``),`Make your own agent`)]}]}}async function d(t,n){if(!t.publicUrl||!t.dashUrl||!t.installationId)return;let r=u({home:t.publicUrl,dash:t.dashUrl},t.name,await t.agent?.());await e(`views.publish`,{user_id:n,view:r},await t.token(t.installationId),t.fetch)}async function f(r,i,{open:s,setup:c}){if(!r.installationId)return;let u=await r.agent?.(),d=u?.name??r.name,f=t(o(r.name),u?u.listens.find(e=>e.integration===n.id)?.events??[]:[`mention`],`message it here`),p=[a([`*${o(d)} is in your workspace*`,u?.description&&o(u.description)].filter(Boolean).join(`
4
+ `)),...f?[a(`*Use it*\n${f}`)]:[],...c?[a(`*One step left*\nAdd a model so ${o(d)} can start working.`)]:[],{type:`actions`,elements:[...c?[l(`model`,c,`Add a model`,!0)]:[],l(`agent`,s,`Open in Coder`,!c)]}];await e(`chat.postMessage`,{channel:i,text:`${d} is in your workspace`,blocks:p},await r.token(r.installationId),r.fetch)}function p(e,t){let n=Math.floor(t.startedAt/1e3),r=t.title.length>150?`${t.title.slice(0,149)}…`:t.title;return{blocks:[{...a(`*${s(e,r)}*`),fields:[i(`*Agent*\n${o(t.agent)}`),i(`*Status*\n${c[t.status]??t.status}`),i(`*From*\n${o(t.from)}`),i(`*Started*\n<!date^${n}^{date_short_pretty} at {time}|${new Date(t.startedAt).toISOString()}>`)]},{type:`context`,elements:[i(`Coder task ${o(t.id)}`)]}]}}function m(e,t){let r=t.listens.map(e=>e.name),c=t.listens.length===1&&t.listens[0].integration===n.id;return{blocks:[{...a([`*${s(e,t.name)}*`,t.description&&o(t.description)].filter(Boolean).join(`
5
+ `)),...c?{}:{fields:[i(`*Listens on*\n${r.join(`, `)||`Nothing yet`}`)]}},{type:`context`,elements:[i(`Coder agent`)]}]}}async function h(e,t,n){let r;try{r=new URL(n)}catch{return}let i=`${t.pathname.replace(/\/$/,``)}/`;if(r.origin!==t.origin||!r.pathname.startsWith(i))return;let[a,o]=r.pathname.slice(i.length).split(`/`);if(!o)return;let s;try{s=decodeURIComponent(o)}catch{return}if(a===`tasks`){let t=await e.task?.(s);return t&&p(n,t)}if(a===`agents`){let t=await e.agent?.(s);return t&&m(n,t)}}async function g(t,n){if(!t.dashUrl||!t.installationId)return;let r=new URL(t.dashUrl),i=await Promise.all(n.links.map(async({url:e})=>[e,await h(t,r,e)])),a=Object.fromEntries(i.filter(([,e])=>e));if(!Object.keys(a).length)return;let o=n.unfurl_id&&n.source?{unfurl_id:n.unfurl_id,source:n.source}:{channel:n.channel,ts:n.message_ts};await e(`chat.unfurl`,{...o,unfurls:a},await t.token(t.installationId),t.fetch)}export{d as publishHome,g as unfurl,f as welcome};
@@ -0,0 +1,5 @@
1
+ import{dr as e,nn as t,or as n,qt as r}from"./prompts-Bj4Fbd_n.js";import{i}from"./cli-BBlH53hA.js";import{_ as a,a as o,b as s,c,h as l,l as u,n as d,p as f,s as p,u as m,v as h,y as g}from"./output-BKeyLbvt.js";import{t as _,u as v}from"./args-CURX44CA.js";import y from"node:path";import b from"node:process";import x from"node:fs";const S=i({name:`flow watch`,help:{usage:`coder flow watch [run-id] [--tail <n|all>] [--json]`,summary:`Watch a flow run live: replay its progress lines from the start, then keep
2
+ following while it runs (Ctrl-C detaches; it keeps running). Blocks until it
3
+ finishes; exits 0 on success, 1 otherwise. Defaults to the most recent run.
4
+ For the result alone, prefer \`coder flow result\`. Alias: stream.`,flags:[[`--tail <n|all>`,`replay only the last n events first (default: all)`]],examples:[[`coder flow watch`,`follow the most recent run to completion`]]},options:{..._,tail:v},args:1,run:async({options:e,args:[t]})=>{let{watchRun:n}=await import(`./executor-3QMa-XRY.js`).then(e=>e.S);return R(n(t,{tail:e.tail}),{json:e.json,stream:!0})}}),C=[`⣾`,`⣽`,`⣻`,`⢿`,`⡿`,`⣟`,`⣯`,`⣷`];function w(e,t=!1){let n=f;return t?d(`[${E(e)}]`,10):e===`completed`?n.bold(n.green(`✔`)):e===`failed`||e===`cancelled`||e===`stopped`?n.bold(n.red(`✘`)):e===`running`?n.bold(n.cyan(`●`)):n.dim(`○`)}function T(){return d(`[start]`,10)}function E(e){return e===`completed`?`done`:e===`cancelled`?`failed`:e}function D(e,t){return e??t.replace(/\s+/g,` `).trim().slice(0,60)}function O(e,t,n,r,i,a){let o=f,s=d(t??n,32);return[`${e} ${a?o.bold(s):s}`,o.dim(d(n,24)),o.light(d(i??``,20)),r?o.light(`${u(r.total)} tok`):``].join(` `).trimEnd()}function k(e,t=!1){let n=f;return`${w(e.ok?`completed`:`failed`,t)} ${n.dim(`gate`)} ${n.light(e.cmd)}${e.ok?``:n.dim(` · exit ${e.code}`)}`}function A(e,t,n){let r=f,i=n!==void 0&&n>=1e3?r.dim(` · ${o(n)}`):``;return`${t} ${r.dim(`gate`)} ${r.light(e)}${i}`}function j(e,t=!1){return f.dim(`${`│ `.repeat(e)}${t?`└─`:`├─`}`)}function M(e){return f.dim(`${`│ `.repeat(e)}│ `)}function N(e){return`${` `.repeat(e.depth)}${e.log?`${d(`[log]`,10)} `:``}${e.body}`}function P(e,t,n=!1){return n?N(e):`${e.log?M(e.depth):j(e.depth,t)} ${e.body}`}function F(e){return f.dim(`${`│ `.repeat(Math.max(0,e))}│`)}var I=class{stream;names=new Map;active=new Map;activeGates=new Map;pending;previews=new Map;tails=new Map;previewWatchers=new Map;frame=0;hasCommitted=!1;timer;tty;region;constructor(e=b.stdout){this.stream=e,this.tty=!!e.isTTY,this.region=new a(e)}emit(n){let r=f;switch(n.kind){case`task-start`:{let r={name:D(n.name,n.prompt),engine:n.engine,depth:n.depth??0};if(this.names.set(n.taskId,r),!this.tty){this.final(r.depth,O(T(),r.name,n.taskId,null,r.engine));return}this.active.set(n.taskId,r),this.previewWatchers.get(n.taskId)?.close(),this.previewWatchers.set(n.taskId,e(t(b.cwd(),n.taskId),e=>{e&&e!==`log.jsonl`||(this.refreshPreviews(n.taskId),this.repaint())})),this.refreshPreviews(n.taskId),this.spin(!0),this.repaint();return}case`task-end`:{this.active.delete(n.taskId),this.previews.delete(n.taskId),this.tails.delete(n.taskId),this.previewWatchers.get(n.taskId)?.close(),this.previewWatchers.delete(n.taskId),this.idle();let e=this.names.get(n.taskId);this.final(e?.depth??0,O(w(n.status,!this.tty),e?.name??null,n.taskId,n.tokens,e?.engine));return}case`gate-start`:{let e={cmd:n.cmd,depth:n.depth??0,startedAt:Date.now()};if(!this.tty){this.final(e.depth,A(e.cmd,T()));return}this.activeGates.set(n.gateId,e),this.spin(!0),this.repaint();return}case`gate`:n.gateId&&this.activeGates.delete(n.gateId),this.idle(),this.final(n.depth??0,k(n,!this.tty));return;case`log`:for(let e of n.message.split(`
5
+ `))this.final(n.depth??0,r.light(e),!0);return;case`flow-start`:this.final(n.depth-1,r.bold(`flow ${n.name}`));return;case`replay`:this.final(0,r.dim(`replayed ${n.count} steps from journal`),!0)}}done(){this.spin(!1);for(let e of this.previewWatchers.values())e.close();this.previewWatchers.clear(),this.flush(0),this.tty&&this.repaint(),this.region.done()}flush(e){this.pending&&=(this.region.commit(`${P(this.pending,e<this.pending.depth,!this.tty)}\n`),this.hasCommitted=!0,void 0)}final(e,t,n=!1){if(!this.tty){this.region.commit(`${N({depth:e,body:t,log:n})}\n`),this.hasCommitted=!0;return}this.flush(e),this.pending={depth:e,body:t,log:n},this.tty&&this.repaint()}repaint(){let e=[],t=[];if(this.pending){let n=P(this.pending,!1);e.push(n),t.push(n)}let n=this.timer?f.bold(f.cyan(C[this.frame%C.length])):w(`running`);for(let[r,i]of this.active){let a=`${j(i.depth??0)} ${O(n,i.name,r,null,i.engine,!0)}`;(e.length||this.hasCommitted)&&e.push(F(i.depth??0)),e.push(a),t.push(a);let o=this.previews.get(r);o&&e.push(`${M(i.depth??0)} ${f.dim(o)}`)}for(let r of this.activeGates.values()){let i=`${j(r.depth)} ${A(r.cmd,n,Date.now()-r.startedAt)}`;(e.length||this.hasCommitted)&&e.push(F(r.depth)),e.push(i),t.push(i)}let r=(s(this.stream)??1/0)-1,i=e.length<=r?e:t;if(i.length>r){let e=Math.max(0,r-1);i=[f.dim(`… +${i.length-e} more running`),...i.slice(-e)]}this.region.set(i)}refreshPreviews(e){try{let i=this.tails.get(e),a;if(!i){let o=y.join(t(b.cwd(),e),`log.jsonl`),s=x.existsSync(o)?x.statSync(o).size:0;a=r(b.cwd(),e,1)[0],i=n(o,s),this.tails.set(e,i)}for(let e of i())try{a=JSON.parse(e)}catch{a={message:e}}let o=a?.message?.replace(/\s+/g,` `).trim();if(!o)return;let s=(g(this.stream)??120)-8;this.previews.set(e,o.length>s?`${o.slice(0,s-1)}…`:o)}catch{}}idle(){!this.active.size&&!this.activeGates.size&&this.spin(!1)}spin(e){e&&!this.timer?this.timer=setInterval(()=>{this.frame++,this.repaint()},120).unref():!e&&this.timer&&(clearInterval(this.timer),this.timer=void 0)}};function L(e,t){if(t){l(e);return}let n=!b.stdout.isTTY,r=n?``:`${f.dim(`└─`)} `;b.stdout.write(`${r}${w(`completed`,n)} run ${f.cyan(e.runId)} completed ${f.dim(`(${e.taskCount} tasks)`)}\n`),b.stdout.write(`\n${c(e.result)}\n`),z(e.tokens)}async function R(e,t){let{runId:n}=e.record,r=!!(t.stream&&t.json);!t.json&&e.record.status===`running`&&b.stderr.write(`${f.dim(`[flow]`)} Run ${f.cyan(n)} started and is waiting to finish. Press Ctrl-C to detach. It keeps running.\n\n`);let i=t.json?()=>{}:h(),a=()=>{i(),r||(b.stderr.write(`\n${f.dim(`[flow] Detached. The run is still going.`)}\n`),b.stderr.write(`\n${p([`Result: coder flow result ${n}`,`Stop it: coder flow stop ${n}`],f)}\n`)),b.exit(130)};b.on(`SIGINT`,a);let o=new I;for await(let n of e.events)r?b.stdout.write(`${JSON.stringify(n)}\n`):t.json||o.emit(n);o.done(),i(),b.off(`SIGINT`,a);let s=e.final();r&&(b.stdout.write(`${JSON.stringify(B(s))}\n`),b.exit(s.status===`completed`?0:1)),s.status===`completed`&&(L({runId:n,name:s.name,status:`completed`,result:s.result,tokens:s.ledger,taskCount:s.taskCount},t.json),b.exit(0)),s.status===`stopped`&&(t.json?l({runId:n,name:s.name,status:`stopped`,taskCount:s.taskCount}):b.stdout.write(`\n${f.dim(`[flow] Run ${n} stopped.`)}\n\n${p([`Resume: coder flow resume ${n}`],f)}\n`),b.exit(1)),b.stdout.write(`\n${f.red(`error:`)} ${s.error??`unknown error`}\n`),b.stdout.write(`\n${p([`Resume: coder flow resume ${n}`],f)}\n`),b.exit(1)}function z(e){let t=Object.keys(e);if(t.length){b.stdout.write(`\n${f.bold(`Tokens:`)}\n`);for(let n of t)b.stdout.write(` ${f.dim(m(e[n],n))}\n`)}}function B(e){let{steps:t,events:n,...r}=e;return r}export{I as FlowStepRenderer,S as commandWatch,k as gateLine,A as gateRunningLine,N as paintPlain,R as printFollow,z as printLedger,L as printRunSummary,B as resultJson,w as stepSymbol,D as taskLabel,O as taskLine};
@@ -0,0 +1,9 @@
1
+ import{Zt as e}from"./core-DwsAMCnL.js";import{br as t,jr as n,mr as r,pn as i,ur as a,wr as o,yr as s}from"./prompts-Bj4Fbd_n.js";import{i as c,r as l}from"./cli-BBlH53hA.js";import{p as u,y as d}from"./output-BKeyLbvt.js";import{s as f,t as p,u as m}from"./args-CURX44CA.js";import{a as h,c as g,i as _,l as v,n as y,t as b,u as x}from"./result-D0dpv2O_.js";import S from"node:process";function C(e,t){let n=e.level===`sys`?t.dim(`· ${e.line}`):e.level===`err`?t.light(e.line):e.line;S.stdout.write(`${n}\n`)}async function w(e,t,n){let r=n.trim===void 0?500:n.trim===`none`?1/0:n.trim;if(`attempts`in e.task){let{logEntry:i}=await import(`./log-view-CL3_S0IQ.js`).then(e=>e.r),a=await b.create({cwd:e.task.task.cwd??t,startedAt:e.task.startedAt??e.task.createdAt,trim:r,explicitTrim:n.trim!==void 0,width:d()});for await(let t of e.events){let e=t;if(n.json){S.stdout.write(`${JSON.stringify(e,null,2)}\n`);continue}let r=e.entry??i(e.line);if(!r){C(e,u);continue}let o=a.render({...r,at:r.at??new Date(e.at).toISOString()});o.length&&S.stdout.write(`${o.join(`
2
+ `)}\n`)}let o=await e.final();n.json||_(o,u),S.exit(0)}let o=e.task,s=await b.create({cwd:o.cwd??t,startedAt:Date.parse(o.createdAt??``)||void 0,trim:r,explicitTrim:n.trim!==void 0,width:d()});if(!n.json){let e=[...g(o,{status:o.status}),...i.includes(o.status)?[u.dim(`Watching. Press Ctrl-C to stop.`)]:[],...o.prompt?h(o.prompt,u,{truncate:!1}):[],``];S.stdout.write(`${e.join(`
3
+ `)}\n`)}let c=null,l=null,f=e=>{let t=s.render(e);t.length&&S.stdout.write(`${t.join(`
4
+ `)}\n`)};for await(let t of e.events){let e=t;if(e.kind===`usage`&&e.tokens&&(c=e.tokens),n.json){let t=e.kind===`steer`?1/0:r,n=e.message?{...e,message:x(e.message,t,{plain:!0})}:e;S.stdout.write(`${JSON.stringify(n)}\n`);continue}e.kind!==`usage`&&(l&&=(f(l),null),e.kind===`assistant`?l=e:f(e))}let{status:p,result:m,task:w}=await e.final();if(n.json)S.stdout.write(`${JSON.stringify({taskId:o.id,status:p,result:m},null,2)}\n`);else{let e=p===`completed`?`(no final message)`:`(task ${p})`,n=v(w,{tokens:m?.tokens??c,tokenModel:m?.model,files:m?.touchedFiles?.map(e=>a(o.cwd??t,e)),statusChanged:p!==o.status});n.length&&S.stderr.write(`\n${n.join(`
5
+ `)}\n`);let r=y(m,w.error,e),i=l?String(l.message??``):``;S.stdout.write(`\n${r.trim()?r:i}\n`)}S.exit(p===`completed`?0:1)}const T=c({name:`task watch`,help:{usage:`coder task watch [task-id] [--server [url]]`,summary:`Stream a running task's transcript live (for you/debugging), then print its
6
+ final answer. Replays the last line first so the current step is visible;
7
+ --tail <n> replays the last n lines (--tail all for the whole transcript).
8
+ Blocks until it finishes; exits 0 on success, 1 otherwise. For the answer
9
+ alone, prefer \`coder result\`. Alias: stream.`,flags:[[`--tail <n|all>`,`replay the last n log lines first (default: 1)`],[`--trim <n|none>`,`budget for tool output and thinking (default: 1200 chars, 12 lines)`],l],examples:[[`coder task watch`,`follow the most recent task to completion`]]},options:{...p,tail:m,trim:o(n([t(`none`),r().check(s(),e())],{error:`expected a positive integer or "none"`})),...f},args:1,async run({options:e,args:[t],cwd:n}){let{tasks:r}=await import(`./task-DJ6nruuA.js`).then(e=>e.t);await w(await r.watch(t,{...e,organization:e.workspace}),n,e)}});export{T as commandWatch,C as printLine};
@@ -0,0 +1 @@
1
+ import{B as e}from"./prompts-Bj4Fbd_n.js";import t from"node:process";async function n(n,r,i){let a=n.envKey?t.env[n.envKey]:void 0,o=!1;for(let t of e(n.baseUrl,r))try{let e=await fetch(t,{method:`POST`,headers:{"content-type":`application/json`,...a?{Authorization:`Bearer ${a}`}:{}},body:JSON.stringify(i),signal:AbortSignal.timeout(5e3)});if(o=!0,e.status!==404&&e.status!==405&&e.status!==501)return{baseUrl:t.slice(0,-(r.length+1))}}catch{}return{reachable:o}}async function r(e){let t=await n(e,`responses`,{model:e.model,input:[],stream:!1});if(`baseUrl`in t)return{wireApi:`responses`,baseUrl:t.baseUrl};let r=await n(e,`chat/completions`,{model:e.model,messages:[],stream:!1});return`baseUrl`in r?{wireApi:`chat`,baseUrl:r.baseUrl}:t.reachable||r.reachable?{wireApi:`chat`}:null}export{r as t};
@@ -0,0 +1 @@
1
+ import{Vt as e}from"./prompts-Bj4Fbd_n.js";import{i as t}from"./cli-BBlH53hA.js";import{i as n}from"./output-BKeyLbvt.js";import{c as r}from"./args-CURX44CA.js";const i=t({name:`task worker`,options:{cwd:r},args:1,async run({args:[t],cwd:r}){let{startAgentMailbox:i}=await import(`./exec-Cprez703.js`).then(e=>e.i),{runWorker:a}=await import(`./worker-KfrTK_Dk.js`),o=e(r,t);o||n(`Worker: task ${t} not found.`),await a(r,o,i)}});export{i as commandWorker};
@@ -0,0 +1,2 @@
1
+ import{$n as e,Dn as t,J as n,Ot as r,P as i,Q as a,U as o,Vt as s,W as c,X as l,Yn as u,Z as d,an as f,bt as p,cn as m,dn as h,fn as g,g as _,nn as v,or as y,pr as b,r as x,wt as S}from"./prompts-Bj4Fbd_n.js";import{F as C,I as w,M as T,S as E,b as D,h as O,s as k}from"./dispatch-CFZ9Crvg.js";import{t as A}from"./chat-bridge-BmqYsASZ.js";import{i as j}from"./history-C53URBjs.js";import{n as M,t as N}from"./log-view-CL3_S0IQ.js";import{c as P,r as F,t as I}from"./mcp-Dsl3Xdd3.js";import{t as L}from"./wire-nJ7sEi-M.js";import R from"node:path";import z from"node:process";import B from"node:fs";const V={claude:{CLAUDE_CODE_DISABLE_AUTO_MEMORY:`1`},codex:{"features.memories":!1}};function H(e){let t=e.currentPrompt??e.prompt??``;return e.resumeThreadId||!e.pendingRollover?t:_(e.pendingRollover,t)}async function U(n,r,i,a){let o=!!r.pendingRollover;g(n,r.id,{status:`running`,steerEndpoint:null,turnId:null,turnUsage:r.turnUsage??[]});let c=v(n,r.id),l=R.join(c,`log.jsonl`),u=y(l,B.existsSync(l)?B.statSync(l).size:0),d=o?{...r,resumeThreadId:null}:r,f,m=e=>{let i=u().flatMap(e=>{let t=M(e);return t?[t]:[]}),a=i.flatMap(e=>e.message?.startsWith(`Steer accepted live:
2
+ `)?[e.message.slice(p.length)]:[]),o=i.filter(e=>e.kind===`reply`).at(-1)?.message;return t(`worker.record.start`,{taskId:r.id,finalized:!1}),J(n,r,e,{steers:a,lastReply:o})},h;try{h=await a(d,{privateTurn:!1,steerable:!o,onResult:e=>{!f&&e.status===0&&!e.error&&(f=m(e))}})}catch(e){throw o&&g(n,r.id,{threadId:r.threadId,resumeThreadId:r.threadId,steerEndpoint:null}),e}h.status!==0&&o&&(h={...h,threadId:r.threadId??null});let _=[...r.previousThreadIds??[]];h.status===0&&r.threadId&&h.threadId&&r.threadId!==h.threadId&&!_.includes(r.threadId)&&_.push(r.threadId);let C=h.status===0&&!!h.threadId&&Number(h.contextTokens)>i,w=new Date().toISOString();t(`worker.engine.closed`,{taskId:r.id}),f??=m(h),b(R.join(c,`result.json`),JSON.parse(e(h))),t(`worker.record.start`,{taskId:r.id,finalized:!0});let T=g(n,r.id,{turnUsage:[...s(n,r.id)?.turnUsage??[],{at:f,tokens:h.tokens,model:h.model}],status:h.status===0?`completed`:`failed`,completedAt:w,rollingOver:C,...C?{pid:z.pid}:{},threadId:h.threadId,resumeThreadId:h.threadId,previousThreadIds:_,...h.status===0?{pendingRollover:void 0}:{},steerEndpoint:null,turnId:h.turnId??null});if(t(`worker.result.recorded`,{taskId:r.id,finalized:!0}),o&&h.status===0&&S(n,r.id,{kind:`status`,message:`Context rolled over: summary plus the last ${r.pendingRollover.exchanges} exchanges`}),!C)return h;try{let t=await j(T),i=await a({...T,currentPrompt:x,outputSchema:void 0},{privateTurn:!0});if(!s(n,r.id))return h;if(i.tokens){let t=new Date(Math.max(Date.now(),Date.parse(f)+1)).toISOString();g(n,r.id,{turnUsage:[...s(n,r.id)?.turnUsage??[],{at:t,tokens:i.tokens,model:i.model}]}),h={...h,tokens:N(h.tokens??null,i.tokens)},b(R.join(c,`result.json`),JSON.parse(e(h)))}if(i.status!==0||!i.finalMessage?.trim())throw Error(i.error?.message??`Summary turn returned no summary`);if(Buffer.byteLength(i.finalMessage)>64e3)throw Error(`Summary exceeded the context budget`);if(s(n,r.id)?.status===`cancelled`)return h;g(n,r.id,{pendingRollover:{summary:i.finalMessage,recent:t.text,exchanges:t.exchanges}})}catch(e){S(n,r.id,{kind:`warning`,message:`Context rollover deferred: ${e instanceof Error?e.message:String(e)}`})}finally{s(n,r.id)&&g(n,r.id,{rollingOver:!1})}return h}function W(e,t){let n=0;return()=>{Date.now()-n>=1e4&&(n=Date.now(),m(e,t))}}function G(t,n,{echo:r}){let i=i=>{let a=JSON.parse(e(typeof i==`string`?{message:i}:i));S(t,n,a),r&&a.message&&z.stderr.write(`[coder] ${a.message}\n`)};for(let e of Object.keys(u()))z.env[e]!==void 0&&i({kind:`warning`,message:`${e} is temporarily unavailable; skipped for this task.`});return i}async function K(e,t,{echo:r,env:s={},privateTurn:u=!1,steerable:p=!u,onResult:m}){let h=f(e),_=v(e,t.id),y=c(e),b=G(e,t.id,{echo:r}),x=i[t.permissions??`auto`]??i.auto,E=x.approvalPolicy===`never`?void 0:O({workspaceRoot:h,taskDir:_,mode:x.approvalMode,escalationTimeoutMs:y.approvals.escalationTimeoutMs,allowedNetworkHosts:y.approvals.allowedNetworkHosts,onEvent:e=>b(e)}),D=t.model?y.models?.[t.model]:void 0,j=D&&o(D)?D:void 0;if(j&&!j.wireApi&&t.model){let r=await L(j);r&&(j={...j,...r},y.models[t.model]=j,n(e,t.model,r),S(e,t.id,{kind:`info`,message:`detected wire api for ${t.model}: ${r.wireApi} @ ${j.baseUrl}`}))}if(j?.envKey&&!z.env[j.envKey])throw Error(`Missing environment variable: \`${j.envKey}\`.`);let M=j?await A(j,j.wireApi??`chat`):null,N=a(y,t.model,M??void 0),I=w(e,t);try{return await T(e,{availabilityChecked:z.env.CODER_ENGINE_CHECKED===`1`,prompt:H(t),developerInstructions:t.systemPrompt,outputSchema:t.outputSchema,model:N?.model??l(t.model),modelProvider:N?.modelProvider??null,configOverrides:{...N?.configOverrides,...I||Object.keys(s).length?{"shell_environment_policy.set":{...s,...I?{[C]:I}:{}}}:{},...t.agentId?V.codex:{}},effort:t.effort,sandbox:x.sandbox,approvalPolicy:x.approvalPolicy,networkAccess:d(t.permissions??`auto`,y.engines.codex?.network),approvalsReviewer:x.approvalMode===`auto`?`auto_review`:null,mcpServers:F(e,t.id,P(t,_,k(t.mcp,z.env,void 0,{onWarning:e=>b({kind:`warning`,message:e})}))),nativeMcp:t.nativeMcp??!1,writableRoots:[...x.sandbox===`read-only`?[]:t.addDirs??[],...I?[I]:[]],onApprovalRequest:E,onHeartbeat:W(e,t.id),onResult:m,resumeThreadId:t.resumeThreadId??null,onControlReady:p?(n,r,i)=>{g(e,t.id,{status:`running`,steerEndpoint:n,threadId:r,turnId:i})}:void 0,onProgress:n=>{if(u||(b(n),!p))return;let r=typeof n==`object`?n.threadId:null,i=typeof n==`object`?n.turnId:null;(r||i)&&g(e,t.id,{status:`running`,...r?{threadId:r}:{},...i?{turnId:i}:{}})}})}finally{g(e,t.id,{steerEndpoint:null}),await M?.close()}}async function q(e,t,{echo:n,env:r={},privateTurn:a=!1,steerable:o=!a,onResult:s}){let l=v(e,t.id),u=c(e),d=G(e,t.id,{echo:n}),f=i[t.permissions??`auto`]??i.auto,p=w(e,t);try{return await E(e,{env:{...r,...p?{[C]:p}:{},...t.agentId?V.claude:{}},prompt:H(t),systemPrompt:t.systemPrompt,excludeDynamicSections:t.conversation,settingSources:t.agentId&&t.source&&![`cli`,`dashboard`,`schedule`].includes(t.source)?`project,local`:void 0,outputSchema:t.outputSchema,model:t.model,effort:t.effort,permissions:t.permissions,approvalTaskId:f.approvalMode===`auto`?t.id:null,allowedNetworkHosts:u.approvals.allowedNetworkHosts,additionalDirectories:t.addDirs,...p?{writableDirectories:[p]}:{},mcpServers:P(t,l,k(t.mcp,z.env,void 0,{onWarning:e=>d({kind:`warning`,message:e})})),nativeMcp:t.nativeMcp??!1,promptCacheTtl:t.conversation&&(r.ANTHROPIC_API_KEY||z.env.ANTHROPIC_API_KEY)?`1h`:void 0,taskRoot:l,resumeSessionId:t.resumeThreadId??null,onHeartbeat:W(e,t.id),onResult:s,onSteerReady:o?n=>{g(e,t.id,{status:`running`,steerEndpoint:n})}:void 0,onProgress:n=>{a||(d(n),o&&n.threadId&&g(e,t.id,{status:`running`,threadId:n.threadId}))}})}finally{g(e,t.id,{steerEndpoint:null})}}function J(n,r,i,a={}){let{steers:o=[],lastReply:s}=a,c=r.turnUsage?.at(-1)?.at,l=v(n,r.id);b(R.join(l,`result.json`),JSON.parse(e(i)));let u={at:new Date(Math.max(Date.now(),c?Date.parse(c)+1:0)).toISOString(),prompt:r.currentPrompt??r.prompt??null,...o.length?{steers:o}:{},...s?{lastReply:s}:{},...i};return B.appendFileSync(R.join(l,`results.jsonl`),`${e(u)}\n`,`utf8`),t(`worker.result.recorded`,{taskId:r.id,finalized:!1}),z.connected&&z.send?.(`result`),u.at}function Y(e){return async(e,t,n)=>{let r=await I(k(t.mcp,z.env,void 0,{onWarning:()=>{}}));try{let i=t.engine===`claude`?q:K;return await U(e,t,t.conversation?c(e).conversationCompactTokens:1/0,(t,a)=>i(e,t,{...n,...a,env:r.env}))}finally{await r.close()}}}async function X(e,t){for(;;){let n=await h(e,t,()=>{let n=s(e,t);if(!n)return[];let i=n.status===`failed`||n.status===`cancelled`?[]:r(e,t);return i.length||(g(e,t,{steerClosed:!0,steerEndpoint:null}),z.connected&&z.send?.(`settled`)),i});if(!n.length)return;for(let r of n){let n=g(e,t,{status:`running`,currentPrompt:r,resumeThreadId:s(e,t)?.threadId??null});S(e,t,{message:`Running steered follow-up.`});try{await Y(n)(e,n,{echo:!1})}catch(n){let r=n instanceof Error?n.message:String(n);g(e,t,{status:`failed`,error:r}),S(e,t,{kind:`error`,message:r});return}}}}async function Z(e,t,n){if(t.dispatchId&&!t.resumedAt)try{B.writeFileSync(R.join(v(e,t.id),`start-${t.dispatchId}`),``,{flag:`wx`})}catch(e){if(e.code===`EEXIST`)return;throw e}g(e,t.id,{status:`running`,pid:z.pid,steerClosed:!1});let r=()=>{},i;try{if(r=n(e,t),t.name?.startsWith(`agent:`)){let{startInboxControl:n,applyTaskMessage:r}=await import(`./task-bkoi8_NN.js`).then(e=>e.d);i=n(v(e,t.id),t.name.slice(6),n=>r(e,s(e,t.id)??t,n))}if(t.simulateApproval){let n=await D(v(e,t.id),{onEvent:n=>S(e,t.id,n)});if(S(e,t.id,{message:`simulated approval: ${n}`}),n===`decline`){g(e,t.id,{status:`cancelled`,completedAt:new Date().toISOString(),error:`simulated approval denied`});return}}await Y(t)(e,t,{echo:!1}),await X(e,t.id)}catch(n){let r=n instanceof Error?n.message:String(n);throw g(e,t.id,{status:`failed`,error:r}),S(e,t.id,{kind:`error`,message:r}),n}finally{await h(e,t.id,()=>{s(e,t.id)?.pid===z.pid&&(g(e,t.id,{steerClosed:!0,steerEndpoint:null}),z.connected&&z.send?.(`settled`))}),r(),await i?.close()}}export{Z as runWorker};
@@ -1 +1 @@
1
- import{i as e}from"./cli-ZUdhZnuW.js";import t from"node:process";const n=e({name:`server workflow`,globalFlags:{json:!1,cwd:!1},help:{usage:`coder server workflow`,summary:`Print the workflow the github-actions runner dispatches. Save it as .github/workflows/coder-agent.yml in every repo the agent runs on, and set RUNNER=github-actions on the server.`,examples:[[`coder server workflow > .github/workflows/coder-agent.yml`,`add it to a repo`]]},options:{},run:async()=>{let{actionsWorkflow:e}=await import(`./runners-CNhxPjg8.js`).then(e=>e.v);return e()},print:e=>t.stdout.write(e)});export{n as commandServerWorkflow};
1
+ import{i as e}from"./cli-BBlH53hA.js";import t from"node:process";const n=e({name:`server workflow`,globalFlags:{json:!1,cwd:!1},help:{usage:`coder server workflow`,summary:`Print the workflow the github-actions runner dispatches. Save it as .github/workflows/coder-agent.yml in every repo the agent runs on, and set RUNNER=github-actions on the server.`,examples:[[`coder server workflow > .github/workflows/coder-agent.yml`,`add it to a repo`]]},options:{},run:async()=>{let{actionsWorkflow:e}=await import(`./runners-DyLnqHKy.js`).then(e=>e.y);return e()},print:e=>t.stdout.write(e)});export{n as commandServerWorkflow};
@@ -4,17 +4,17 @@ The built-in agent. On the hosted service it has an install link per platform; s
4
4
 
5
5
  ## On GitHub
6
6
 
7
- - A pull request opening, updating, or becoming ready runs the [review flow](../review.md) read-only and posts inline comments with a sticky summary. Reruns update the summary and never repeat a finding.
7
+ - A pull request opening, updating, or becoming ready runs the [review flow](../review.md) read-only and posts inline comments with a sticky summary. Reruns update the summary and never repeat a finding, and a new push replaces a review that has not started yet.
8
8
  - A review request for the agent does the same.
9
- - A mention (`@<app>` from a repository owner or member) answers from the diff and the repository, or makes the requested change on a branch and links the pull request.
9
+ - A mention (`@<app>` from a repository owner or member), in the conversation or in a finding's thread, answers from the diff and the repository, or makes the requested change on a branch and links the pull request.
10
10
  - An issue opening or edit reads the issue and the repository, then answers, makes the change and links the pull request, or asks one clarifying question.
11
11
  - An issue or pull-request comment that says "coder" does the same as a mention.
12
12
 
13
13
  ## On Slack
14
14
 
15
- - A mention, a direct message, or a message that says "coder" reads the thread and the linked repository, then answers, makes the change and links the pull request, or asks one clarifying question.
16
- - Slash commands and reactions wake it too.
17
- - Replies stay in the thread they were asked in, in Slack's style, with short paragraphs and code spans and no headings.
15
+ - A mention, a direct message, or a channel message that says "coder" reads the thread and the linked repository, then answers, makes the change and links the pull request, or asks one clarifying question.
16
+ - Slash commands wake it too.
17
+ - Replies stay in the thread they were asked in.
18
18
  - When the workspace has connected GitHub from the [dashboard](../dash.md), it can read and change code there.
19
19
 
20
20
  ## On Linear
@@ -26,8 +26,8 @@ The built-in agent. On the hosted service it has an install link per platform; s
26
26
  | | |
27
27
  | ----------- | ----------------------------------------------------------------- |
28
28
  | Permissions | `workspace-write`; `read-only` for pull-request reviews |
29
- | Tools | GitHub `write`; Slack and Linear `comment` |
29
+ | Tools | GitHub `write`; Slack and Linear `read` |
30
30
  | Flows | `review` |
31
- | Engine | the workspace's default [credential](../self-host.md#credentials) |
31
+ | Engine | the workspace's [credential](../self-host.md#credentials) |
32
32
 
33
33
  The definition is `src/agent/builtin/coder/{agent.json,system.md}` in the package; a custom agent is the same two files in your repo ([Your own agents](index.md#your-own-agents)).
@@ -1,14 +1,14 @@
1
1
  # Agents
2
2
 
3
- An agent is a reusable teammate. Its `system.md` holds the standing instructions every task starts from: who it is, what it knows, how it answers. Its definition adds engine, model, effort and permissions defaults, the MCP servers it attaches and the [flows](../flows.md) it may run. Run it from the CLI with `coder task run --agent <id> "…"`, where flags override the defaults, from the [dashboard](../dash.md), or from platform events like a Slack DM or a GitHub pull request.
3
+ An agent is a reusable teammate. Its `system.md` holds the standing instructions every task starts from: who it is, what it knows, how it answers. Its definition adds engine, model, effort and permissions defaults, the MCP servers it attaches and the [flows](../flows.md) it may run. Run it from the CLI with `coder task run --agent <id> "…"`, where flags override the defaults, from the [dashboard](../dash.md), or from platform events like a Slack DM or a GitHub pull request. [Prompt](prompt.md) shows everything its engine gets, per task kind.
4
4
 
5
- Connected to a platform, an agent listens for the events it names. Each event runs as a task with a fresh checkout, the agent's instructions, the event as its request, and only the platform tools the agent declared; the reply goes back to the thread. A bigger task can run a flow instead, with the event as its `args`.
5
+ Connected to a platform, an agent listens for the events it names. Each event runs as a task with the agent's instructions, the event as its request, and the platform tools of every installation of the agent's apps; a GitHub event also checks out its repository, and any task can clone the agent's GitHub repositories. The reply goes back to the thread. Later messages in that conversation, from anyone, steer its task while it runs and resume it once it has finished. A bigger task can run a flow instead, with the event as its `args`.
6
6
 
7
7
  On each platform an agent is its own app, a GitHub App or a Slack app for example, so it has its own handle and permissions and runs only where it is installed. Agents run on a Coder server: the hosted one, [your own](../self-host.md), or this machine's [dashboard](../dash.md).
8
8
 
9
9
  ## Connections
10
10
 
11
- A connection gives tasks access to an MCP service, your own account on an integration, or an API key passed as one environment variable, such as `GROQ_API_KEY`. Add one under Settings → Connections or with `coder connection add`; an API key is kept as a credential, so rotating the credential rotates the connection. Tasks started by members receive workspace connections and that member’s own connections, narrowed by the agent’s Connections setting and `coder task run --connections`; outsider events receive none.
11
+ A connection gives tasks access to an MCP service, your own account on an integration, or an API key passed as one environment variable, such as `GROQ_API_KEY`. Add one under Settings → Connections or with `coder connection add`; an API key is kept as a credential, so rotating the credential rotates the connection. Tasks started by members receive workspace connections and that member’s own connections, narrowed by the agent’s Connections setting and `coder task run --connections`; outsider events receive none. A connection's access is Default, which follows the agent's, Read-only or Read-write.
12
12
 
13
13
  ## Built-in agent
14
14
 
@@ -19,7 +19,7 @@ A connection gives tasks access to an MCP service, your own account on an integr
19
19
  An agent comes from one of two sources:
20
20
 
21
21
  - **Dashboard**: made in the agent editor on the [dashboard](../dash.md).
22
- - **Repository**: `coder agent init` scaffolds one, asking its id, platforms, events and tools. It is a folder `.coder/agents/<id>/` with an `agent.json` and a `system.md`. A folder in `$CODER_HOME/agents/<id>/` (default `~/.coder/agents`) is yours in every repo, and a repo's folder of the same id wins.
22
+ - **Repository**: `coder agent init` scaffolds one, asking its id, platforms, events and access. It is a folder `.coder/agents/<id>/` with an `agent.json` and a `system.md`. A folder in `$CODER_HOME/agents/<id>/` (default `~/.coder/agents`) is yours in every repo, and a repo's folder of the same id wins.
23
23
 
24
24
  Here is a helper that answers in Slack and on GitHub issues:
25
25
 
@@ -30,12 +30,10 @@ Here is a helper that answers in Slack and on GitHub issues:
30
30
  "name": "Helper",
31
31
  "description": "Answers engineering questions about acme/app.",
32
32
  "permissions": "read-only",
33
+ "access": "read",
33
34
  "integrations": {
34
- "slack": {
35
- "events": { "mention": true, "message": { "match": "^help\\b" } },
36
- "tools": "comment"
37
- },
38
- "github": { "events": ["mention"], "tools": "observe" }
35
+ "slack": { "events": { "mention": true, "channel": { "match": "^help\\b" } } },
36
+ "github": { "events": ["mention"] }
39
37
  }
40
38
  }
41
39
  ```
@@ -65,10 +63,10 @@ Only pushes to the agents repo's configured branch are imported. An app created
65
63
  | `engine`, `model`, `effort` | As in `coder task run` | Engine defaults |
66
64
  | `permissions` | `read-only` (default), `workspace-write`, `auto` | Agent sandbox mode inside the checkout |
67
65
  | `integrations.<id>.events` | Event names from the [integration](#integrations): a list, or a map of event → `true`, a flow name (repo `.coder/flows` or built-in such as `review`), or `{ "flow", "match", "permissions", "actAs" }` | A list or `true` runs the agent, a flow name runs that flow, `match` is a regex the event text must pass, `permissions` overrides the agent's for this event, `"actAs": "requester"` uses the requester's own GitHub token |
68
- | `integrations.<id>.tools` | `observe` (default), `comment`, `write`, or tool names from the [integration](#integrations) | Platform actions the agent uses; also the app's permissions |
66
+ | `access` | `read` (Read-only) or `write` (Read-write, default) | What it may do on its platforms and connections; also its apps' permissions |
69
67
  | `mcp` | A map of MCP servers in the `.mcp.json` entry shape, as in [MCP](../mcp.md) | Servers every task of the agent attaches |
70
68
 
71
- `permissions` is about the checkout, `tools` is about the platform. An agent can run any [flow](../flows.md#flows-run-by-an-agent), and the tasks it starts never exceed the agent's `permissions`. The server versions imported definitions and activates a new version when their content changes; recreate the app only when `events` or `tools` change.
69
+ `permissions` is about the checkout, `access` is about platforms and connections. An agent can run any [flow](../flows.md#flows-run-by-an-agent), and the tasks it starts never exceed the agent's `permissions`. The server versions imported definitions and activates a new version when their content changes; recreate the app only when `events` or `access` change.
72
70
 
73
71
  ## Usage
74
72
 
@@ -87,11 +85,11 @@ How a repo runs an agent goes under `agents` in its `.coder/config.json` ([Confi
87
85
  | ------------------------------------------ | ------------------- | ---------------------------------------------------------- |
88
86
  | `engine`, `model`, `effort`, `permissions` | As above | Override the definition |
89
87
  | `connections` | Connection id list | Narrow `agents.<id>.connections`; omit for all granted connections |
90
- | `integrations.<id>.allowedTools` | Preset or tool list | Cap the definition's tools; omit to allow all it asks for |
88
+ | `access` | `read` | Lower the definition's access to Read-only |
91
89
  | `integrations.<id>.allowedEvents` | Event names | Cap the definition's events; omit to allow all it asks for |
92
90
  | `disabled` | `true` | Disable the agent and keep its other settings |
93
91
 
94
- Unknown ids, integrations, events, tools, and keys fail validation. Usage is read from the repo the event came from.
92
+ Unknown ids, integrations, events, and keys fail validation. Usage is read from the repo the event came from.
95
93
 
96
94
  Disable or Enable any agent, built-in ones included, in its Settings › Manage in the dashboard. A disabled agent answers no platform events and starts no tasks in that workspace; its apps, versions, settings and past tasks stay, and other workspaces are unaffected.
97
95
 
@@ -100,7 +98,7 @@ Disable or Enable any agent, built-in ones included, in its Settings › Manage
100
98
  | Command | Purpose |
101
99
  | ------------------------------------------------------------------- | ---------------------------------------------------------------------- |
102
100
  | `coder agent list [--server [url]]` | List agents, with active versions on a server |
103
- | `coder agent show <id> [--server [url]]` | One agent in full: settings, integrations, events, tools |
101
+ | `coder agent show <id> [--server [url]]` | One agent in full: settings, access, integrations, events |
104
102
  | `coder agent init [id]` | Scaffold an agent folder; interactive without flags |
105
103
  | `coder agent push [id] [--server [url]]` | Upload one agent, or all of them, without a source repo |
106
104
  | `coder agent run <agent> <event.json> [--server [url] [--wait]]` | Run a recorded event through an agent, on a server or offline |
@@ -113,15 +111,15 @@ Disable or Enable any agent, built-in ones included, in its Settings › Manage
113
111
  An integration gives an agent two things:
114
112
 
115
113
  1. **Chat.** The agent's own app on the platform. Its events start tasks, and the reply goes back to the same thread. Linked workspace members can address an agent, and so can anyone the platform lets write there (on GitHub, write access to the repository); they get the workspace's connections only.
116
- 2. **Platform tools.** Actions beyond replying, through the platform's own MCP server or API. They run outside the agent's sandbox, with a token narrowed to the task, and the token never reaches the agent. The presets add up: `comment` includes `observe`, and `write` includes `comment`.
114
+ 2. **Platform tools.** Actions beyond replying, through each platform's MCP server, one per installation of the agent's apps. They run outside the agent's sandbox, with a token for that installation in the agent's access mode, and the token never reaches the agent. Read-only exposes only tools the platform server marks read-only; Read-write exposes all its tools. The prompt lists the servers; the engine loads a server's tools when it needs them. Replies, reactions and history work in both modes.
117
115
 
118
116
  | Platform | App | Events | Tools |
119
117
  | --------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------- |
120
- | GitHub | A [GitHub App](https://docs.github.com/en/apps/sharing-github-apps/registering-a-github-app-from-a-manifest) per agent | `mention`, `pull_request`, `issue`, `comment` | GitHub's [MCP server](https://github.com/github/github-mcp-server); `observe` runs it read-only |
121
- | Slack | A [Slack app](https://api.slack.com/reference/manifests) per agent | `mention`, `message`, `reaction`, `command` | `slack_api(method, args)` over the [Web API](https://api.slack.com/methods), with writes limited to the event's thread |
122
- | Linear | Your [Linear OAuth app](https://linear.app/developers/agents), with webhooks to `<PUBLIC_URL>/hooks/linear?app=<client id>` | `mention`: an agent session | None yet |
118
+ | GitHub | A [GitHub App](https://docs.github.com/en/apps/sharing-github-apps/registering-a-github-app-from-a-manifest) per agent | `mention`, `pull_request`, `issue`, `comment` | GitHub's [MCP server](https://github.com/github/github-mcp-server); `read` runs it read-only |
119
+ | Slack | A [Slack app](https://api.slack.com/reference/manifests) per agent | `mention`, `dm`, `channel`, `command` | [Slack MCP server](https://github.com/korotovsky/slack-mcp-server), pinned to v1.3.0 with SHA256 verification |
120
+ | Linear | Your [Linear OAuth app](https://linear.app/developers/agents), with webhooks to `<PUBLIC_URL>/hooks/linear?app=<client id>` | `mention`: an agent session | [Official Linear MCP server](https://linear.app/docs/mcp) at `https://mcp.linear.app/mcp` |
123
121
 
124
- A Slack app's Home tab shows the agent and how to use it, and links to this server's tasks and agents unfurl into a short card.
122
+ On Slack, `dm` takes every message in direct and group DMs with the agent, and `channel` every message in channels it is in, up to Slack's 30,000 events per workspace per app per hour. A Slack app's Home tab shows the agent and how to use it, and links to this server's tasks and agents unfurl into a short card.
125
123
 
126
124
  When an agent's app needs other events, permissions or settings, publishing the agent brings it up to date. Coder updates a Slack app itself and lists the changes to make on GitHub and Linear, and **Update on <platform>** in the handle's menu on the Platforms tab does the same later.
127
125