@wular/coder 0.4.12 → 0.5.0

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 (528) hide show
  1. package/README.md +3 -3
  2. package/dist/actions-CkMAM1Km.js +3 -0
  3. package/dist/agent-Bi5nbUhA.js +1 -0
  4. package/dist/app-server-BTpa5GBV.js +6 -0
  5. package/dist/approvals-CRwkc9vB.js +5 -0
  6. package/dist/apps-B6mUToTa.js +18 -0
  7. package/dist/args-CJsHYWbt.js +66 -0
  8. package/dist/async-CNhQ4wyZ.js +3 -0
  9. package/dist/auth-oCvlHitk.js +1 -0
  10. package/dist/builtin/coder/agent.json +6 -7
  11. package/dist/builtin/coder/system.md +5 -6
  12. package/dist/chat-4AiZEqKh.js +13 -0
  13. package/dist/{chat-bwKd3y6V.js → chat-Bfu9XKRa.js} +1 -1
  14. package/dist/cli.js +16 -11
  15. package/dist/{client-C4QCT6cG.js → client-nBo9Mhsr.js} +4 -4
  16. package/dist/cmd-Cu3OquA_.js +122 -0
  17. package/dist/config-D_RuO6gX.js +5 -0
  18. package/dist/connection-BXjn7gCC.js +1 -0
  19. package/dist/connections-Cswv7r8Z.js +2 -0
  20. package/dist/context-CFrDYenS.js +6 -0
  21. package/dist/crypto-Ittsv-m4.js +1 -0
  22. package/dist/dash/standalone/server/build-index.json +1 -1
  23. package/dist/dash/standalone/server/manifest.json +1686 -1428
  24. package/dist/dash/standalone/server/modules-server-server-react-server/src/agent/event-json.856d33f567e58d0e.js +30 -0
  25. package/dist/dash/standalone/server/modules-server-server-react-server/src/client/http.e78b470f4ecf125b.js +58 -0
  26. package/dist/dash/standalone/server/modules-server-server-react-server/src/client/{index.0de14cb4e30bd70d.js → index.54c45900f2153d34.js} +57 -77
  27. package/dist/dash/standalone/server/modules-server-server-react-server/src/core/task/{log-view.60308a11f7001eb7.js → view.e20379d8f741754a.js} +78 -48
  28. package/dist/dash/standalone/server/modules-server-server-react-server/src/core/types.5bf5a41cedb54154.js +37 -0
  29. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/api/{load.be791a5eaf328738.js → load.252f972b42c690e2.js} +18 -11
  30. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/create/[id]/{page.70913bd4075da914.js → page.11efd0e175db9053.js} +24 -4
  31. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/account/{loading.e348ec45e9ed951b.js → loading.56c14183236be231.js} +2 -2
  32. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/account/{notify.61aab176baeefebd.js → notify.59ae138dc182d7c3.js} +1 -1
  33. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/account/{page.815371ed0d5dd4fa.js → page.e9386951cedea737.js} +9 -9
  34. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/account/{sign-out.1d6af804f9ec043d.js → sign-out.713d3ec10951fde5.js} +4 -4
  35. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/(list)/{agent-menu.2ed0e66d131fc148.js → agent-menu.5c780867b82081b1.js} +3 -3
  36. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/(list)/{agents-grid.f43bcc1148ce3650.js → agents-grid.f989d6f2d9ece6e4.js} +9 -9
  37. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/(list)/{loading.fac1132ad9c4248e.js → loading.0130f8533d8f1b1e.js} +4 -4
  38. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/(list)/page.0f88720e52db99a2.js +48 -0
  39. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/{layout.a795379254982121.js → layout.8d2f0997462fc958.js} +90 -33
  40. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/{loading.388aeaf0c2edf8f8.js → loading.90bf37c903ce6f0d.js} +1 -1
  41. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/{page.a2cb6d1f1714259a.js → page.bc93891522c8120d.js} +22 -88
  42. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/platforms/{loading.4da9e2ba3fea937f.js → loading.d56ef50b0694f975.js} +2 -2
  43. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/platforms/{page.996172c951739b35.js → page.cf5cf9afe38ab0e4.js} +51 -111
  44. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/platforms/{platform-actions.8e7ca54dd1821e98.js → platform-actions.c44c7df7841719f2.js} +235 -109
  45. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/platforms/platform-state.6b6132518ca61635.js +21 -0
  46. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/platforms/platform-step.6e90cbfe308f28a0.js +82 -0
  47. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/settings/{agent-settings-form.aa9e157d141481d7.js → agent-settings-form.61de585104c2be10.js} +44 -66
  48. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/settings/{loading.ad1a4c9b000d269a.js → loading.2800c65e45a4a1d9.js} +1 -1
  49. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/settings/{page.44d886e60ae04303.js → page.4d06f759984a63b3.js} +11 -11
  50. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/tasks/{loading.521c9e7b8d77f557.js → loading.ea2925eab1d2e594.js} +1 -1
  51. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/tasks/{page.828cfb8112404792.js → page.fb069bf82b727d27.js} +1 -1
  52. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/usage/{loading.8f998a9c511e1fb3.js → loading.3a615597ca648452.js} +4 -4
  53. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/usage/{page.45e18b6dc3019af4.js → page.0a472a0e269b8c01.js} +6 -6
  54. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/{versions-list.c8d76988c734dda2.js → versions-list.7ef7dfd5d8f5de43.js} +3 -3
  55. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/edit/{loading.b1367e864b4fb406.js → loading.007326a04f05d46c.js} +5 -5
  56. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/edit/{page.dd11f2618e08becd.js → page.a26aa7bc6ab655f0.js} +10 -10
  57. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/platforms/[app]/app-cards.361918fe58349aa1.js +142 -0
  58. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/platforms/[app]/loading.f0d91d48e2b79e50.js +14 -0
  59. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/platforms/[app]/page.3f60cf67517d0d31.js +99 -0
  60. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/agent/{agent-pills.f987c12bcbc5c850.js → agent-pills.1012e04bfbc7bffd.js} +5 -5
  61. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/agent/{agent-toggle.1579dc8acbaacf92.js → agent-toggle.ffbf9a8b8b2fbde7.js} +3 -3
  62. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/agent/{hero.ad5cc342db794e5d.js → hero.0ae015a4fbe6321e.js} +6 -6
  63. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/agent/{instructions.85b1cd986a9edbb5.js → instructions.1b8c9189961c5a4f.js} +13 -4
  64. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/editor/{connect-repositories.43b4b28f194ea842.js → connect-repositories.9abe365f0098d358.js} +1 -1
  65. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/editor/{editor.776856fe1ed1a642.js → editor.6548f8f757578f90.js} +164 -116
  66. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/editor/{import-picker.eafa5b41a2ed571f.js → import-picker.577b1d84c7ab84e1.js} +11 -11
  67. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/new/{loading.ee001af7a96e3972.js → loading.9b65a8c1cdc8346f.js} +5 -5
  68. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/new/{page.7d84ef2b178b34d2.js → page.2b326d00ccef5544.js} +9 -8
  69. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/{layout.393cf7429eea189e.js → layout.45a09107b19f0a7e.js} +89 -26
  70. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/operator/operator-apps.f8d679f2d06b0ebc.js +155 -0
  71. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/operator/{page.980adfb7c5714752.js → page.5aa3ddc669366703.js} +37 -10
  72. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/{page.24a1987405ed7b17.js → page.5a5188f0fc75dcd2.js} +1 -1
  73. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/advanced-list.73cdadb2968a39d2.js +63 -0
  74. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/connection-add.353ec01fbb814f78.js +526 -0
  75. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/connections-list.cf4061ae909272c3.js +439 -0
  76. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/{credentials-list.683476f62a9ecde7.js → credentials-list.fc4cff0289267551.js} +120 -103
  77. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/{credentials.b43dd3d97c536c2a.js → credentials.db01de2581ac65f3.js} +9 -9
  78. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/list.e7d6a422f6a869ea.js +201 -0
  79. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/{loading.7ca95dcb4fb3362b.js → loading.71ca4f6c99a8a9d5.js} +1 -1
  80. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/models-list.acb92b39cab1d11c.js +635 -0
  81. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/{page.dfed4ae6ffc74434.js → page.95fe939e36e5be55.js} +67 -41
  82. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/{runners-list.3afa989490bbe77c.js → runners-list.5764eac3307d67cc.js} +42 -37
  83. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/{secrets-list.0d175ee815b22cd7.js → secrets-list.d316bb157f747f6c.js} +19 -17
  84. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/chain-hint.65c4cc04c78e8bfd.js +18 -0
  85. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/{layout.3e8289f888fa444c.js → layout.4eb70f2de8674f93.js} +7 -7
  86. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/model-options.dc630cb6e2cbf83a.js +150 -0
  87. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/model-pick.a143e77f5ed5f9d3.js +160 -0
  88. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/{page.06feaa5fbb06f1e6.js → page.70cad0e981c33fa5.js} +1 -1
  89. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/{settings-head.bbc7ced8dd5491eb.js → settings-head.004ced21e02ffa48.js} +5 -5
  90. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/{tunnel-guide.29eee1a0b1852168.js → tunnel-guide.1bc6bff9d8019098.js} +1 -1
  91. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/setup/{create-link.ff95e4b6977d0474.js → create-link.18bd2b92cd23b73f.js} +5 -5
  92. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/setup/{outcome-dialog.894c73f9abee3ce1.js → outcome-dialog.a74e686aaed0c584.js} +3 -3
  93. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/setup/outcome-toast.95f7be49430248eb.js +24 -0
  94. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/setup/{outcome.cbbc8cd1bbbee01b.js → outcome.22a83d756e4020a7.js} +3 -6
  95. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/setup/{page.f06fda0df59beeb5.js → page.e39ee9236664d043.js} +8 -8
  96. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/[id]/{activity.3c79cf14feff12bf.js → activity.441e82ab00344fb2.js} +12 -6
  97. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/[id]/{loading.47cbb34ea8d2e33f.js → loading.779ecdd9c9d2ff09.js} +6 -6
  98. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/[id]/{page.abed2a8424ef3da0.js → page.24e121ea6eb578ba.js} +16 -9
  99. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/[id]/task-actions.4a4052a38db4bad3.js +408 -0
  100. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/[id]/task-missing.33ec27a4a5eafefe.js +27 -0
  101. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/[id]/{task-view.dc294bb94b7437e1.js → task-view.0cd3ec2655f44cc7.js} +53 -44
  102. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/{composer-data.309a194fc7fa34be.js → composer-data.73225456d60d63e3.js} +4 -6
  103. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/{composer.5072aacdce127689.js → composer.ee326fbf5e526fb1.js} +114 -121
  104. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/list/pending-approvals.7607998094780fdd.js +40 -0
  105. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/list/status.d2c05c397780b833.js +25 -0
  106. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/list/{task.0a1b5878dccd3b37.js → task.a25847399a4dfb30.js} +14 -18
  107. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/list/{tasks-list.1162926f7498c732.js → tasks-list.e486cbd16ea3e963.js} +62 -39
  108. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/list/{tasks-section.1d687c986db53a73.js → tasks-section.01510523d1556d59.js} +16 -10
  109. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/{page.d5d8cb5033823c9c.js → page.ede64f82388f9480.js} +5 -5
  110. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/usage/{custom-range.2e21c7f891966c15.js → custom-range.fe91164d7a311356.js} +3 -3
  111. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/usage/{day-chart.261b6651df2d3966.js → day-chart.20faaaf57c81ad9e.js} +1 -1
  112. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/usage/{loading.97d277dbab9c15cf.js → loading.5b973a8bb29197d5.js} +3 -3
  113. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/usage/{page.fb21ebe90d49dac1.js → page.0499098badd3f5f8.js} +7 -7
  114. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/usage/{range-bar.2197d8f43216d104.js → range-bar.0b9038e9df707843.js} +5 -5
  115. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/usage/{top-agents.18fc469e781e2305.js → top-agents.93c916167299ffb6.js} +2 -2
  116. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/{layout.185dbc99875e208a.js → layout.94ea3908b03bede6.js} +2 -2
  117. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/login/{page.a82be2fd23e9ac67.js → page.4827d64c71c0690a.js} +2 -2
  118. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/frame/{drawer.d3e61538dbc8ec39.js → drawer.1a08ff611df7fe38.js} +2 -2
  119. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/frame/{foreign-link.1f4217895ff1e835.js → foreign-link.1d4f63a0379cbd1d.js} +3 -3
  120. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/frame/{loading-card.cc76fc9708142525.js → loading-card.77bea8c5870b5d3c.js} +5 -5
  121. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/frame/{page-head.85f15db7b648d48c.js → page-head.2eb1e0213eb50349.js} +5 -4
  122. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/frame/{stream.e2915852cf82c86b.js → stream.e3800e736f832124.js} +2 -2
  123. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/frame/{task-toasts.0ed8ccaae81b9d53.js → task-toasts.3b7eeee29fc327de.js} +29 -19
  124. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/frame/{theme-choices.85100ed66d6f9200.js → theme-choices.fc86071c1b634176.js} +2 -2
  125. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/nav/{back.180765bdadf6d602.js → back.7aa0ae82dbec38cd.js} +3 -3
  126. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/nav/{org.572ad93c7707ab27.js → org.853d173b55368728.js} +1 -1
  127. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/nav/{side-toggle.489faf1a259479f7.js → side-toggle.be7d2a7529557435.js} +2 -2
  128. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{badge.c0bc352791a95fd6.js → badge.9f63fd615cf0ee22.js} +2 -2
  129. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{button.ce9e6cdb08ca86db.js → button.b62fa52e18fa338b.js} +2 -2
  130. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{card.9f0d45b73bc78b4f.js → card.c0030eafd76587e3.js} +21 -9
  131. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{collapse.93e4d1b20c2873ed.js → collapse.eb578fdf42029754.js} +1 -1
  132. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{combo.54270c0251466fda.js → combo.e4e08287494081a3.js} +2 -2
  133. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{confirm.c1281f9b12854210.js → confirm.e21b7f5e486dafb8.js} +3 -3
  134. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{copy.bd6fc1577a393965.js → copy.043e0695c08c72f9.js} +2 -2
  135. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{filter.3a452a262f040973.js → filter.0730dccad6332327.js} +6 -6
  136. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{icons.e36c72f54750663a.js → icons.f769275420d072ce.js} +4 -0
  137. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{menu-items.1d082ac4dae8f3d4.js → menu-items.759a1b1f7c5ee365.js} +2 -2
  138. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{menu.ee45bace979944b6.js → menu.7f558c7c6f6345d5.js} +3 -3
  139. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{modal.25d53e5b41b9c4e5.js → modal.08ac85d31f4c76c1.js} +8 -7
  140. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/modal.a533234c7c831be4.css.pnext-asset.js +0 -0
  141. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{segmented.a08dc08338d080e9.js → segmented.633abe26ff760e37.js} +1 -1
  142. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/segmented.c6f30b839fd27f35.css.pnext-asset.js +0 -0
  143. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{select.2eb33e5bea28d804.js → select.0ee9e8f04ddd8b47.js} +9 -6
  144. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{sentinel.17cffebfc3103b9f.js → sentinel.0ddf515b8f09ef9f.js} +1 -1
  145. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/sentinel.d17e2bfcbeb9df31.css.pnext-asset.js +0 -0
  146. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/tabs.025b532d6cc51736.css.pnext-asset.js +0 -0
  147. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{tabs.66b2e54963f6901b.js → tabs.1600a0b563a5c7dd.js} +1 -1
  148. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{tail.04132db0c5033d4f.js → tail.7eb303330802ac18.js} +2 -2
  149. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/toolbar.cdbd0357f2c5e1fe.css.pnext-asset.js +0 -0
  150. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{toolbar.24036899654de6df.js → toolbar.ff8367c641d28c1e.js} +3 -3
  151. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/utils/{action.b9a5c37272250e82.js → action.f22057e7dfac40fe.js} +1 -1
  152. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/utils/{client.a3928fa2dcd27b75.js → client.c8d7efefb6194d7d.js} +1 -1
  153. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/routes/http.394704f4f12ada08.js +165 -0
  154. package/dist/dash/standalone/server/modules-server-server-react-server/src/utils/crypto.24a6439ff8d10d3d.js +11 -0
  155. package/dist/dash/standalone/static/assets/chunks/advanced-list-850a950afe4f6996.js +1 -0
  156. package/dist/dash/standalone/static/assets/chunks/agent-pills-9f6fa120182db948.js +2 -0
  157. package/dist/dash/standalone/static/assets/chunks/agent-settings-form-a8ee12513a02b1c5.js +1 -0
  158. package/dist/dash/standalone/static/assets/chunks/agent-toggle-521136f20a71400d.js +1 -0
  159. package/dist/dash/standalone/static/assets/chunks/agents-grid-bcd13cd7a46224a6.js +1 -0
  160. package/dist/dash/standalone/static/assets/chunks/{back-fa9d6e37f9828093.js → back-2d67134b122334f4.js} +1 -1
  161. package/dist/dash/standalone/static/assets/chunks/chain-hint-53675e299a865420.js +1 -0
  162. package/dist/dash/standalone/static/assets/chunks/{combo-86f3e11d1f6f6cee.js → combo-cb2c62fe580a8903.js} +1 -1
  163. package/dist/dash/standalone/static/assets/chunks/composer-4a46a458495ce3ba.js +1 -0
  164. package/dist/dash/standalone/static/assets/chunks/composer-92553de43276510b.js +1 -0
  165. package/dist/dash/standalone/static/assets/chunks/composer-data-890f71bade4f0616.js +1 -0
  166. package/dist/dash/standalone/static/assets/chunks/{confirm-c29a1db0130638d2.js → confirm-d6b2c5b1deccd1e8.js} +1 -1
  167. package/dist/dash/standalone/static/assets/chunks/{connect-repositories-0de82daaf654b1d3.js → connect-repositories-226bf70aa81c29d8.js} +1 -1
  168. package/dist/dash/standalone/static/assets/chunks/connections-list-a33d6637e2d52fcf.js +1 -0
  169. package/dist/dash/standalone/static/assets/chunks/{copy-445c11202f136275.js → copy-294c6052b3b69424.js} +1 -1
  170. package/dist/dash/standalone/static/assets/chunks/create-link-b2480a7601967e94.js +1 -0
  171. package/dist/dash/standalone/static/assets/chunks/credentials-list-90fc1c6d202e1461.js +1 -0
  172. package/dist/dash/standalone/static/assets/chunks/custom-range-efa1b6a71ba84597.js +1 -0
  173. package/dist/dash/standalone/static/assets/chunks/editor-53a3e1a893644fff.js +6 -0
  174. package/dist/dash/standalone/static/assets/chunks/{field-b82a0f895266791c.js → field-4d374d5ed3f43d7e.js} +1 -1
  175. package/dist/dash/standalone/static/assets/chunks/instructions-734d21dfb8f6393e.js +1 -0
  176. package/dist/dash/standalone/static/assets/chunks/instructions-d3dc01b2f90820db.js +2 -0
  177. package/dist/dash/standalone/static/assets/chunks/list-16247e39898cd20e.js +1 -0
  178. package/dist/dash/standalone/static/assets/chunks/model-options-d29e934a3de20ab4.js +1 -0
  179. package/dist/dash/standalone/static/assets/chunks/models-list-6d93523660503dfb.js +1 -0
  180. package/dist/dash/standalone/static/assets/chunks/{outcome-dialog-5cf575a5e6921a5d.js → outcome-dialog-755fc581cbc2836e.js} +1 -1
  181. package/dist/dash/standalone/static/assets/chunks/outcome-dialog-77e13c848000a3dc.js +1 -0
  182. package/dist/dash/standalone/static/assets/chunks/outcome-toast-9d5e9713c23882f5.js +1 -0
  183. package/dist/dash/standalone/static/assets/chunks/platform-actions-08e9b3816dcd62b1.js +1 -0
  184. package/dist/dash/standalone/static/assets/chunks/platform-actions-832904f5694ef902.js +1 -0
  185. package/dist/dash/standalone/static/assets/chunks/platform-step-29469fd4eaddc42a.js +1 -0
  186. package/dist/dash/standalone/static/assets/chunks/platform-step-5881a8be1e761e00.js +1 -0
  187. package/dist/dash/standalone/static/assets/chunks/runners-list-dd759d408c643a29.js +1 -0
  188. package/dist/dash/standalone/static/assets/chunks/{runtime-6e12333f12903a62-1.js → runtime-9b28886f3cbe0ed3-1.js} +1 -1
  189. package/dist/dash/standalone/static/assets/chunks/secrets-list-be1f634a1b077baa.js +1 -0
  190. package/dist/dash/standalone/static/assets/chunks/segmented-f646bfa8aa0aa449.js +1 -0
  191. package/dist/dash/standalone/static/assets/chunks/shared-init-926144b364908b3c.js +9 -0
  192. package/dist/dash/standalone/static/assets/chunks/shared-init-953965859f7bf6b9.js +1 -0
  193. package/dist/dash/standalone/static/assets/chunks/shared-init-9b28886f3cbe0ed3-2.js +1 -0
  194. package/dist/dash/standalone/static/assets/chunks/shared-init-b42d2c06c25d1e2b.js +1 -0
  195. package/dist/dash/standalone/static/assets/chunks/side-toggle-8c21d39a1e284887.js +1 -0
  196. package/dist/dash/standalone/static/assets/chunks/{tail-b1c46587301ef397.js → tail-d13c4cc0cf11ffd1.js} +1 -1
  197. package/dist/dash/standalone/static/assets/chunks/task-423e6a3f2527f534.js +1 -0
  198. package/dist/dash/standalone/static/assets/chunks/task-actions-5917357eac6504ca.js +3 -0
  199. package/dist/dash/standalone/static/assets/chunks/task-view-c6ee43d2ddb6db90.js +3 -0
  200. package/dist/dash/standalone/static/assets/chunks/tasks-list-2c5ce592e00fda45.js +1 -0
  201. package/dist/dash/standalone/static/assets/chunks/versions-list-177ae397ad64dcea.js +1 -0
  202. package/dist/dash/standalone/static/assets/chunks/{wular-pnext-6e12333f12903a62-0.js → wular-pnext-9b28886f3cbe0ed3-0.js} +1 -1
  203. package/dist/dash/standalone/static/assets/create-param-id-2c72f3e32e7f8b8d.css +1 -0
  204. package/dist/dash/standalone/static/assets/dash-param-org-a7f30a8c5a6fa651.css +1 -0
  205. package/dist/dash/standalone/static/assets/dash-param-org-account-76fffb9337b633f2.css +1 -0
  206. package/dist/dash/standalone/static/assets/dash-param-org-agents-cc5d59edfc3cf0b1.css +1 -0
  207. package/dist/dash/standalone/static/assets/dash-param-org-agents-new-170499c849114150.css +1 -0
  208. package/dist/dash/standalone/static/assets/dash-param-org-agents-param-slug-00243b34eb094b95.css +1 -0
  209. package/dist/dash/standalone/static/assets/dash-param-org-agents-param-slug-edit-199a9991de1bf2d9.css +1 -0
  210. package/dist/dash/standalone/static/assets/dash-param-org-agents-param-slug-platforms-25ae07e0b3f5b252.css +1 -0
  211. package/dist/dash/standalone/static/assets/dash-param-org-agents-param-slug-platforms-param-app-a6d559f0e26bd01b.css +1 -0
  212. package/dist/dash/standalone/static/assets/dash-param-org-agents-param-slug-settings-9f8faa8f7d714699.css +1 -0
  213. package/dist/dash/standalone/static/assets/dash-param-org-agents-param-slug-tasks-129adcdc293ceac8.css +1 -0
  214. package/dist/dash/standalone/static/assets/dash-param-org-agents-param-slug-usage-0e037c66e3977f33.css +1 -0
  215. package/dist/dash/standalone/static/assets/dash-param-org-operator-8d5ef55834d8deba.css +1 -0
  216. package/dist/dash/standalone/static/assets/dash-param-org-settings-7138821f5422d087.css +1 -0
  217. package/dist/dash/standalone/static/assets/dash-param-org-settings-param-tab-586fec34f285e9cb.css +1 -0
  218. package/dist/dash/standalone/static/assets/dash-param-org-setup-67679c1f84f352cf.css +1 -0
  219. package/dist/dash/standalone/static/assets/dash-param-org-tasks-8a44e171984d32a1.css +1 -0
  220. package/dist/dash/standalone/static/assets/dash-param-org-tasks-param-id-b9d3a7a1bd1dd666.css +1 -0
  221. package/dist/dash/standalone/static/assets/dash-param-org-usage-c534db20ce538fd2.css +1 -0
  222. package/dist/dash/standalone/static/assets/global-df2c26ad15039e8a.css +1 -0
  223. package/dist/dash/standalone/static/assets/{login-9760b85feae40270.css → login-148795638d6ff5d4.css} +1 -1
  224. package/dist/dash/standalone/static/assets/pnext-client-095026242a079175.js +1 -0
  225. package/dist/dash/standalone/static/assets/pnext-client-1dfeb8c3ef155f87.js +1 -0
  226. package/dist/dash/standalone/static/assets/pnext-client-2358423351524403.js +1 -0
  227. package/dist/dash/standalone/static/assets/pnext-client-28a6557216627768.js +1 -0
  228. package/dist/dash/standalone/static/assets/pnext-client-31a4ee73945fee19.js +1 -0
  229. package/dist/dash/standalone/static/assets/pnext-client-3dfdc76bb8712b82.js +1 -0
  230. package/dist/dash/standalone/static/assets/pnext-client-4355ac87961d78c1.js +1 -0
  231. package/dist/dash/standalone/static/assets/pnext-client-43c7a0046572e0c9.js +1 -0
  232. package/dist/dash/standalone/static/assets/pnext-client-53dc7db68d67e0b1.js +1 -0
  233. package/dist/dash/standalone/static/assets/pnext-client-5835cb35488bdf7f.js +1 -0
  234. package/dist/dash/standalone/static/assets/pnext-client-638b390bc23ab1ae.js +1 -0
  235. package/dist/dash/standalone/static/assets/pnext-client-67f832c6c51a66cd.js +1 -0
  236. package/dist/dash/standalone/static/assets/pnext-client-6fc99f0abe77c2ea.js +1 -0
  237. package/dist/dash/standalone/static/assets/pnext-client-7d99965f28ac7604.js +1 -0
  238. package/dist/dash/standalone/static/assets/pnext-client-7ecbd7a0cbe4e231.js +1 -0
  239. package/dist/dash/standalone/static/assets/pnext-client-8250bd3b86d038a3.js +1 -0
  240. package/dist/dash/standalone/static/assets/pnext-client-bfd06805a43c6dee.js +1 -0
  241. package/dist/dash/standalone/static/assets/pnext-client-ce2943f17e9d9ac3.js +1 -0
  242. package/dist/dash/standalone/static/assets/pnext-client-ed31510d4615a5a5.js +1 -0
  243. package/dist/dash/standalone/static/assets/pnext-client-f0496bf51e161ddd.js +1 -0
  244. package/dist/definition-4on4SG5J.js +1 -0
  245. package/dist/discover-DvzAbQvU.js +1 -0
  246. package/dist/dispatch-BaW2X6Sc.js +12 -0
  247. package/dist/{dist-DAnSqY1s.js → dist-B5qUdWUG.js} +35 -35
  248. package/dist/{dist-B2jiMMxZ.js → dist-Clxdruuu.js} +3 -3
  249. package/dist/{dist-ClCNj65n.js → dist-CymLGfHl.js} +4 -4
  250. package/dist/{adapter-CVd5klMH.js → dist-DX0JzVC6.js} +990 -990
  251. package/dist/{adapter-CU9H4g6c.js → dist-DfD9WmV8.js} +39 -39
  252. package/dist/dist-node-B8VIVzUc.js +20 -0
  253. package/dist/docs-CbgaMPvq.js +2 -0
  254. package/dist/drive-Tk6JvQK5.js +1 -0
  255. package/dist/drizzle-orm-CYU7WOQS.js +2 -0
  256. package/dist/emit-BgeqsCkC.js +11 -0
  257. package/dist/env-_AxrvBXP.js +1 -0
  258. package/dist/errors-DK_trCff.js +1 -0
  259. package/dist/exec-CAaYFJD1.js +3 -0
  260. package/dist/executor-Chc0zawh.js +11 -0
  261. package/dist/flow/builtin/review/index.d.ts +2 -2
  262. package/dist/flow/builtin/review/index.js +9 -9
  263. package/dist/flow/index.d.ts +1 -1
  264. package/dist/flow/index.js +1 -1
  265. package/dist/github-actions-2RjyRseX.js +36 -0
  266. package/dist/hook-COWDSO4a.js +1 -0
  267. package/dist/http-615JJgHo.js +5 -0
  268. package/dist/http-DRk8cDjf.js +1 -0
  269. package/dist/{index-BdkdNI1v.d.ts → index-ezhbF5wC.d.ts} +369 -413
  270. package/dist/integrations-BVmsk64f.js +9 -0
  271. package/dist/lib/broker.js +2 -2
  272. package/dist/load-PqaDHiHX.js +2 -0
  273. package/dist/local-BMGcCk8N.js +1 -0
  274. package/dist/local-BzZuOwgI.js +5 -0
  275. package/dist/login-BDKTNynK.js +8 -0
  276. package/dist/maintenance-d43Ml540.js +1 -0
  277. package/dist/mcp-BGam3G_B.js +1 -0
  278. package/dist/mcp-BGx48pyR.js +25 -0
  279. package/dist/mcp-BNz_l5TV2.js +1 -0
  280. package/dist/metadata-D_bBfr3H.js +1 -0
  281. package/dist/models-D1NXi6ni.js +1 -0
  282. package/dist/output-BKeyLbvt.js +5 -0
  283. package/dist/permission-BkYxjiFR.js +1 -0
  284. package/dist/prompt-CpwbsEWM.js +4 -0
  285. package/dist/refresh-yfEi5SQs.js +1 -0
  286. package/dist/remote-BbXx6S9P.js +1 -0
  287. package/dist/remote-rArUa01V.js +2 -0
  288. package/dist/runner-DG9jrX5H.js +1 -0
  289. package/dist/runner.json +1 -1
  290. package/dist/runner.tgz +0 -0
  291. package/dist/schema.d.ts +2 -2
  292. package/dist/schema.js +2 -3
  293. package/dist/sdk.d.ts +3264 -1601
  294. package/dist/sdk.js +1 -1
  295. package/dist/serve-B-5rDiZm.js +1 -0
  296. package/dist/serve-CvnrGAj7.js +12 -0
  297. package/dist/serve-DoYbHm_k.js +5 -0
  298. package/dist/session-Dtje9y-r.js +1 -0
  299. package/dist/sessions-DIz9fyRN.js +1 -0
  300. package/dist/shared--aE4olIO.js +1 -0
  301. package/dist/sign-in-wWkyaq5X.js +3 -0
  302. package/dist/state-Br-Fuaxg.js +6 -0
  303. package/dist/store-CzQLgCzt.js +352 -0
  304. package/dist/task-CFt85vTy.js +1 -0
  305. package/dist/task-N0qhnKpK.js +7 -0
  306. package/dist/tool-search-BkdgVolu.js +6 -0
  307. package/dist/tools-DNgEptor.js +1 -0
  308. package/dist/tools-oQvFAnh5.js +1 -0
  309. package/dist/tools-search-D1zArRyJ.js +1 -0
  310. package/dist/turn-Cc-v-eSy.js +3 -0
  311. package/dist/types-DHBqXFE2.js +1 -0
  312. package/dist/update-check-UyRob3yy.js +1 -0
  313. package/dist/view-D-rbQ1Kz.js +4 -0
  314. package/dist/views-3TxH367C.js +2 -0
  315. package/dist/worker-BMuKKiIa.js +1 -0
  316. package/dist/worker-CIHY9L42.js +7 -0
  317. package/dist/zod-_-snqfdO.js +1 -0
  318. package/dist/zod.js +65 -1
  319. package/docs/agents/coder.md +5 -12
  320. package/docs/agents/index.md +53 -82
  321. package/docs/approvals.md +47 -0
  322. package/docs/cli/agent.md +40 -19
  323. package/docs/cli/auth.md +1 -1
  324. package/docs/cli/connection.md +27 -26
  325. package/docs/cli/flow.md +9 -9
  326. package/docs/cli/index.md +17 -15
  327. package/docs/cli/model.md +23 -21
  328. package/docs/cli/runner.md +1 -1
  329. package/docs/cli/server.md +2 -2
  330. package/docs/cli/task.md +50 -50
  331. package/docs/config.md +37 -75
  332. package/docs/connections.md +80 -0
  333. package/docs/dash.md +23 -19
  334. package/docs/flows.md +46 -213
  335. package/docs/models.md +48 -77
  336. package/docs/review.md +20 -17
  337. package/docs/runners.md +49 -0
  338. package/docs/sdk.md +49 -73
  339. package/docs/self-host.md +79 -81
  340. package/package.json +4 -5
  341. package/plugins/agents/skills/coder/SKILL.md +3 -3
  342. package/plugins/claude/.claude-plugin/plugin.json +1 -1
  343. package/plugins/claude/skills/dispatch/SKILL.md +3 -3
  344. package/plugins/cursor/.cursor-plugin/plugin.json +1 -1
  345. package/plugins/cursor/README.md +3 -3
  346. package/plugins/cursor/skills/coder/SKILL.md +3 -3
  347. package/dist/actions-BT7_eKXm.js +0 -10
  348. package/dist/adapter-BT8ECcRG.js +0 -1
  349. package/dist/agent-BA6xr8QY.js +0 -8
  350. package/dist/apps-D-v5sQJk.js +0 -367
  351. package/dist/args-CbO_Ck9Z.js +0 -11
  352. package/dist/async-XNO3nqum.js +0 -3
  353. package/dist/auth-DuXnSNf9.js +0 -1
  354. package/dist/base64url-CsVsW4Id.js +0 -1
  355. package/dist/chat-CgQdDRhs.js +0 -13
  356. package/dist/cmd-DX5ByXo3.js +0 -119
  357. package/dist/connection-DNxi2btM.js +0 -1
  358. package/dist/context-65bOofts.js +0 -7
  359. package/dist/conversation-DT-35cEt.js +0 -1
  360. package/dist/core-DwsAMCnL.js +0 -65
  361. package/dist/dash/standalone/node_modules/contextjsx/dist/index.mjs +0 -1
  362. package/dist/dash/standalone/node_modules/contextjsx/dist/jsx-runtime.mjs +0 -1
  363. package/dist/dash/standalone/node_modules/contextjsx/dist/src-BJ0QFeB8.mjs +0 -2
  364. package/dist/dash/standalone/node_modules/contextjsx/package.json +0 -70
  365. package/dist/dash/standalone/server/modules-server-server-react-server/src/agent/context/turn.dac8eb211c500271.js +0 -141
  366. package/dist/dash/standalone/server/modules-server-server-react-server/src/core/defaults.1b615366c56838a1.js +0 -57
  367. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/auth/sign-in.661b3a4139af5bd7.js +0 -11
  368. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/connect/page.0fbfdba5254f7ae5.js +0 -26
  369. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/(list)/connect-apps.f3af8cc8540719d7.js +0 -36
  370. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/(list)/page.c6efd5432c1a4a75.js +0 -65
  371. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/operator/operator-apps.a244f3199e7cf09c.js +0 -144
  372. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/connections-list.21ec9dc73ce68656.js +0 -642
  373. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/engines-list.9e116751bd34e2cc.js +0 -73
  374. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/list.083f5c665df04b1b.js +0 -156
  375. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/models-list.537f63f8e5dd085d.js +0 -410
  376. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/model-options.a96c11d11674f598.js +0 -100
  377. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/[id]/task-actions.587da79d68ab8d14.js +0 -151
  378. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/list/status.16190fdd5fd7daad.js +0 -16
  379. package/dist/dash/standalone/static/assets/chunks/action-71685b2d5ad9f359.js +0 -1
  380. package/dist/dash/standalone/static/assets/chunks/agent-pills-15da36c2cb81991b.js +0 -2
  381. package/dist/dash/standalone/static/assets/chunks/agent-settings-form-6e6a87d6e673daa8.js +0 -1
  382. package/dist/dash/standalone/static/assets/chunks/agent-toggle-ca98586e3b4ce9ae.js +0 -1
  383. package/dist/dash/standalone/static/assets/chunks/agents-grid-29c399e46b4e9e2b.js +0 -1
  384. package/dist/dash/standalone/static/assets/chunks/composer-85e0ec7163ae18b7.js +0 -1
  385. package/dist/dash/standalone/static/assets/chunks/composer-910bb87127972f62.js +0 -1
  386. package/dist/dash/standalone/static/assets/chunks/composer-data-5fed6c271a4791ca.js +0 -1
  387. package/dist/dash/standalone/static/assets/chunks/connect-apps-b73490e04ae6398d.js +0 -1
  388. package/dist/dash/standalone/static/assets/chunks/connections-list-c50f58b4b28d10bb.js +0 -1
  389. package/dist/dash/standalone/static/assets/chunks/create-link-6d64a2d5f9ce6de0.js +0 -1
  390. package/dist/dash/standalone/static/assets/chunks/credentials-list-bee95799b2319b3b.js +0 -1
  391. package/dist/dash/standalone/static/assets/chunks/custom-range-a0630599f907b30e.js +0 -1
  392. package/dist/dash/standalone/static/assets/chunks/defaults-52f30e83d7666f7a.js +0 -1
  393. package/dist/dash/standalone/static/assets/chunks/editor-b9951819f21b2e43.js +0 -6
  394. package/dist/dash/standalone/static/assets/chunks/engines-list-2720c3e8fa12b2f7.js +0 -1
  395. package/dist/dash/standalone/static/assets/chunks/format-a27067f0186e78ac.js +0 -1
  396. package/dist/dash/standalone/static/assets/chunks/instructions-affaaeff366b1725.js +0 -2
  397. package/dist/dash/standalone/static/assets/chunks/instructions-fd7402ac5aa8b50e.js +0 -1
  398. package/dist/dash/standalone/static/assets/chunks/list-d918f79562d497eb.js +0 -1
  399. package/dist/dash/standalone/static/assets/chunks/model-options-8d2170eebe0d061d.js +0 -1
  400. package/dist/dash/standalone/static/assets/chunks/models-list-12bc7aceaa52f5b0.js +0 -1
  401. package/dist/dash/standalone/static/assets/chunks/notice-57db7a1f05b7308c.js +0 -1
  402. package/dist/dash/standalone/static/assets/chunks/outcome-dialog-b219595be320108a.js +0 -1
  403. package/dist/dash/standalone/static/assets/chunks/platform-actions-1d27d2ba7eee9ff1.js +0 -1
  404. package/dist/dash/standalone/static/assets/chunks/platform-actions-dba96dcb0f6513db.js +0 -1
  405. package/dist/dash/standalone/static/assets/chunks/runners-list-36f8c5ecfcf8e9ae.js +0 -1
  406. package/dist/dash/standalone/static/assets/chunks/secrets-list-d7dbafd24dd18481.js +0 -1
  407. package/dist/dash/standalone/static/assets/chunks/segmented-8f809ebe712e92a7.js +0 -1
  408. package/dist/dash/standalone/static/assets/chunks/shared-init-6e12333f12903a62-2.js +0 -1
  409. package/dist/dash/standalone/static/assets/chunks/shared-init-cc13a835f3508618.js +0 -2
  410. package/dist/dash/standalone/static/assets/chunks/shared-init-f475017dd5811e33.js +0 -5
  411. package/dist/dash/standalone/static/assets/chunks/side-toggle-0aa237eba3dfe9c1.js +0 -1
  412. package/dist/dash/standalone/static/assets/chunks/task-681061023bdf0a49.js +0 -5
  413. package/dist/dash/standalone/static/assets/chunks/task-actions-c9e46e81604e85c5.js +0 -1
  414. package/dist/dash/standalone/static/assets/chunks/task-view-134186a544917ceb.js +0 -5
  415. package/dist/dash/standalone/static/assets/chunks/tasks-list-352a3222d878de0f.js +0 -1
  416. package/dist/dash/standalone/static/assets/chunks/versions-list-21cb854e6a7108a7.js +0 -1
  417. package/dist/dash/standalone/static/assets/connect-a550b6f3a8c00186.css +0 -1
  418. package/dist/dash/standalone/static/assets/create-param-id-da3f7e20689fe51a.css +0 -1
  419. package/dist/dash/standalone/static/assets/dash-param-org-account-9471bec93c444232.css +0 -1
  420. package/dist/dash/standalone/static/assets/dash-param-org-agents-64500e78caae32df.css +0 -1
  421. package/dist/dash/standalone/static/assets/dash-param-org-agents-new-c067c22928a2d7cc.css +0 -1
  422. package/dist/dash/standalone/static/assets/dash-param-org-agents-param-slug-9dec87710e04f949.css +0 -1
  423. package/dist/dash/standalone/static/assets/dash-param-org-agents-param-slug-edit-779c474301e04440.css +0 -1
  424. package/dist/dash/standalone/static/assets/dash-param-org-agents-param-slug-platforms-c7d594b5232630c2.css +0 -1
  425. package/dist/dash/standalone/static/assets/dash-param-org-agents-param-slug-settings-a80e62570716fdb9.css +0 -1
  426. package/dist/dash/standalone/static/assets/dash-param-org-agents-param-slug-tasks-ce278252012297b9.css +0 -1
  427. package/dist/dash/standalone/static/assets/dash-param-org-agents-param-slug-usage-d3b6d701eb8e1403.css +0 -1
  428. package/dist/dash/standalone/static/assets/dash-param-org-bcfa3de29341d5ba.css +0 -1
  429. package/dist/dash/standalone/static/assets/dash-param-org-operator-b7bc6447cc27c9ce.css +0 -1
  430. package/dist/dash/standalone/static/assets/dash-param-org-settings-6d6902345d88a687.css +0 -1
  431. package/dist/dash/standalone/static/assets/dash-param-org-settings-param-tab-85c7af9a89eef06e.css +0 -1
  432. package/dist/dash/standalone/static/assets/dash-param-org-setup-173efecd7b990c2e.css +0 -1
  433. package/dist/dash/standalone/static/assets/dash-param-org-tasks-ae0bc03f468e63cc.css +0 -1
  434. package/dist/dash/standalone/static/assets/dash-param-org-tasks-param-id-7325d8cff5be3592.css +0 -1
  435. package/dist/dash/standalone/static/assets/dash-param-org-usage-517b2a7ae462ac57.css +0 -1
  436. package/dist/dash/standalone/static/assets/global-87e1762113874559.css +0 -1
  437. package/dist/dash/standalone/static/assets/pnext-client-05df74b071ddb0b3.js +0 -1
  438. package/dist/dash/standalone/static/assets/pnext-client-2c19cca257f78ae6.js +0 -1
  439. package/dist/dash/standalone/static/assets/pnext-client-2db05dfa62642a65.js +0 -1
  440. package/dist/dash/standalone/static/assets/pnext-client-36b0d6085a073880.js +0 -1
  441. package/dist/dash/standalone/static/assets/pnext-client-576c06599e241231.js +0 -1
  442. package/dist/dash/standalone/static/assets/pnext-client-6aa0f19a30d58d63.js +0 -1
  443. package/dist/dash/standalone/static/assets/pnext-client-6b30b71f452f2f07.js +0 -1
  444. package/dist/dash/standalone/static/assets/pnext-client-6ccb4d4fff812db3.js +0 -1
  445. package/dist/dash/standalone/static/assets/pnext-client-74eb465defba421e.js +0 -1
  446. package/dist/dash/standalone/static/assets/pnext-client-8c692d12b2fd90d6.js +0 -1
  447. package/dist/dash/standalone/static/assets/pnext-client-92e17d39063a9ced.js +0 -1
  448. package/dist/dash/standalone/static/assets/pnext-client-93246aea268c2682.js +0 -1
  449. package/dist/dash/standalone/static/assets/pnext-client-9954dcbc0c579e0d.js +0 -1
  450. package/dist/dash/standalone/static/assets/pnext-client-c0dfa1cdde9a9855.js +0 -1
  451. package/dist/dash/standalone/static/assets/pnext-client-c28d38d4aafd4af6.js +0 -1
  452. package/dist/dash/standalone/static/assets/pnext-client-c2c30dcb6dc31d60.js +0 -1
  453. package/dist/dash/standalone/static/assets/pnext-client-dbf741073e11eac0.js +0 -1
  454. package/dist/dash/standalone/static/assets/pnext-client-e29194a27280333f.js +0 -1
  455. package/dist/dash/standalone/static/assets/pnext-client-f8a7e692b27caad9.js +0 -1
  456. package/dist/dash/standalone/static/assets/pnext-client-fc5b8cfcba2a9f63.js +0 -1
  457. package/dist/discover-CPZdprlQ.js +0 -1
  458. package/dist/dist-node-Bv1kCqyi.js +0 -20
  459. package/dist/docs-x-l7gjFE.js +0 -2
  460. package/dist/drive-Y-ZlgiUW.js +0 -1
  461. package/dist/env-B9JG6gwo.js +0 -1
  462. package/dist/errors-XBA-Ls4n.js +0 -10
  463. package/dist/exec-iFssTO5V.js +0 -3
  464. package/dist/executor-Dt2FFT-y.js +0 -11
  465. package/dist/http-BZfjbiov.js +0 -1
  466. package/dist/integrations-DyInAa5g.js +0 -2
  467. package/dist/load-zhcrwSRF.js +0 -2
  468. package/dist/local-D55UkW93.js +0 -5
  469. package/dist/log-view-CL3_S0IQ.js +0 -3
  470. package/dist/maintenance-BfxcatXH.js +0 -1
  471. package/dist/match-Bq4sDuCy.js +0 -1
  472. package/dist/mcp-Bta09QCU.js +0 -13
  473. package/dist/mcp-CUITALl1.js +0 -1
  474. package/dist/models-C1O2DrXx.js +0 -1
  475. package/dist/output-D95NoAA9.js +0 -16
  476. package/dist/prompt-onpyIyXK.js +0 -8
  477. package/dist/prompts-B8pKhMcu.js +0 -4
  478. package/dist/refresh-D-0K9fo3.js +0 -1
  479. package/dist/remote-CDm0YUU3.js +0 -3
  480. package/dist/runner-CTFTuaz_.js +0 -1
  481. package/dist/runners-CYTicTb7.js +0 -36
  482. package/dist/serve-Bzs_lEg-.js +0 -1
  483. package/dist/serve-CWtLyyTz.js +0 -12
  484. package/dist/serve-DE6A-rBk.js +0 -4
  485. package/dist/slack-Bo5l13Rs.js +0 -5
  486. package/dist/task-BU1JEK9X.js +0 -7
  487. package/dist/task-CPzBITsp.js +0 -1
  488. package/dist/tools-BMaKWTa6.js +0 -1
  489. package/dist/tools-CM4UCsId.js +0 -1
  490. package/dist/turn-DMvPfhb5.js +0 -3
  491. package/dist/types-D_xnfP7m.js +0 -1
  492. package/dist/views-DEdKqLm_.js +0 -5
  493. package/dist/wire-JMNPv8f6.js +0 -1
  494. package/dist/worker-BuP_Lem1.js +0 -9
  495. package/dist/worker-C1tuzq5n.js +0 -1
  496. package/dist/zod-BoqHoRCH.js +0 -1
  497. package/docs/mcp.md +0 -54
  498. /package/dist/dash/standalone/server/modules-server-server-react-server/src/core/{errors.0a735590a5412ea6.js → errors.200335e62a9d9564.js} +0 -0
  499. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/account/{page.061f6006f2685f5e.css.pnext-asset.js → page.abe7a6d16eb15c41.css.pnext-asset.js} +0 -0
  500. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/platforms/{page.c811938ae8a8f1df.css.pnext-asset.js → page.1c7947d6f79d6447.css.pnext-asset.js} +0 -0
  501. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/{settings/agent-settings-form.ca926c58d15044aa.css.pnext-asset.js → platforms/platform-step.a722e3b8539a0f85.css.pnext-asset.js} +0 -0
  502. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/{agent/hero.1bef5dca89b5942c.css.pnext-asset.js → [slug]/(tabs)/settings/agent-settings-form.bf5430862c505c55.css.pnext-asset.js} +0 -0
  503. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/{agent/instructions.446bccc375f30eeb.css.pnext-asset.js → [slug]/platforms/[app]/@/app/dash/[org]/agents/[slug]/(tabs)/platforms/page.db05694ed4113dab.css.pnext-asset.js} +0 -0
  504. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/{editor/editor.c496247a81ed832c.css.pnext-asset.js → [slug]/platforms/[app]/app-cards.d2f5c8d620066e05.css.pnext-asset.js} +0 -0
  505. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/{layout.a4efa8d807fe5416.css.pnext-asset.js → agents/agent/hero.243d85cac1f22df2.css.pnext-asset.js} +0 -0
  506. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/{settings/[tab]/@/app/dash/[org]/setup/outcome.3ad5f7ec67e5238d.css.pnext-asset.js → agents/agent/instructions.4c31196fcbf9846c.css.pnext-asset.js} +0 -0
  507. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/{settings/[tab]/connections-list.46786fe36b121a43.css.pnext-asset.js → agents/editor/editor.6b9a1d5c0a490153.css.pnext-asset.js} +0 -0
  508. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/{settings/[tab]/credentials-list.f7c27f170ec1e868.css.pnext-asset.js → layout.52abe52dcfa736d7.css.pnext-asset.js} +0 -0
  509. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/{engines-list.9927d602ebe9e7fc.css.pnext-asset.js → advanced-list.819e410e4178b328.css.pnext-asset.js} +0 -0
  510. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/{list.8cbee173a5aff98d.css.pnext-asset.js → connections-list.87962937438296f1.css.pnext-asset.js} +0 -0
  511. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/{runners-list.53c7ea80b6fb734c.css.pnext-asset.js → credentials-list.973f91751525bcb6.css.pnext-asset.js} +0 -0
  512. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/{tasks/[id]/task-view.57990cfd2bdf5c11.css.pnext-asset.js → settings/[tab]/list.69d1b62c4066015b.css.pnext-asset.js} +0 -0
  513. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/{tasks/composer.5b8687662e1629fa.css.pnext-asset.js → settings/[tab]/models-list.efd3f5781314c1d9.css.pnext-asset.js} +0 -0
  514. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/{tasks/list/tasks-list.abbbc9ace4d866e5.css.pnext-asset.js → settings/[tab]/runners-list.df35d33aba0c8b07.css.pnext-asset.js} +0 -0
  515. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/{globals.c8fd2b8b01e7077b.css.pnext-asset.js → dash/[org]/settings/model-pick.74fababc0cc0bba7.css.pnext-asset.js} +0 -0
  516. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/{responsive.ebc5f7d77b4b86a0.css.pnext-asset.js → dash/[org]/tasks/[id]/task-view.aae9fa481b9015d1.css.pnext-asset.js} +0 -0
  517. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/{comps/frame/page-head.364ec93a8e7857b3.css.pnext-asset.js → app/dash/[org]/tasks/composer.33d49ad218253703.css.pnext-asset.js} +0 -0
  518. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/{comps/frame/task-toasts.d13d9f628e530552.css.pnext-asset.js → app/dash/[org]/tasks/list/pending-approvals.07e59a9cae7ccf29.css.pnext-asset.js} +0 -0
  519. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/{comps/ui/badge.0cb1513f8b077560.css.pnext-asset.js → app/dash/[org]/tasks/list/tasks-list.f3737549b4696cc8.css.pnext-asset.js} +0 -0
  520. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/{comps/ui/button.d7f4433f4e7faa80.css.pnext-asset.js → app/globals.3b53a3feaa1d72e1.css.pnext-asset.js} +0 -0
  521. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/{comps/ui/card.f80288cc42f9bcae.css.pnext-asset.js → app/responsive.2979ffa0161a5afd.css.pnext-asset.js} +0 -0
  522. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/{ui/filter.b53f21acc3e2cfef.css.pnext-asset.js → frame/page-head.9fcc49ddf7119d75.css.pnext-asset.js} +0 -0
  523. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/{ui/menu.25b184f68cba7b46.css.pnext-asset.js → frame/task-toasts.682322f6f729b33e.css.pnext-asset.js} +0 -0
  524. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{modal.9db07d368dcf5981.css.pnext-asset.js → badge.8e2a9842b28f44a6.css.pnext-asset.js} +0 -0
  525. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{segmented.0bd8652fdbc05eb0.css.pnext-asset.js → button.2b18ba19ae01e2bb.css.pnext-asset.js} +0 -0
  526. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{sentinel.1e3ec9bd6008d811.css.pnext-asset.js → card.4ab7ad42a0770726.css.pnext-asset.js} +0 -0
  527. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{tabs.ca13e40ff54128d0.css.pnext-asset.js → filter.6fdff1e7355aaa0e.css.pnext-asset.js} +0 -0
  528. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{toolbar.19e1ce5224a23acf.css.pnext-asset.js → menu.cd96fa0495fe0fde.css.pnext-asset.js} +0 -0
package/docs/config.md CHANGED
@@ -1,105 +1,67 @@
1
+ ---
2
+ description: Every setting in ~/.coder/config.json and a repository's .coder/config.json.
3
+ ---
4
+
1
5
  # Configuration
2
6
 
3
- The Coder configuration reference. Machine defaults live in `~/.coder/config.json`; `.coder/config.json` in a repo overrides them per project. Merge order, later wins:
7
+ `~/.coder/config.json` holds a machine's settings, and `.coder/config.json` in a repo overrides them for that repo. Later wins:
4
8
 
5
9
  1. Built-in defaults
6
10
  2. `~/.coder/config.json`
7
11
  3. `<repo>/.coder/config.json`
8
- 4. CLI flags on the dispatch itself (`--engine`, `--model`, `--effort`, `--permissions`)
12
+ 4. Flags on the task (`--model`, `--access`)
9
13
 
10
- Read and write values from the CLI (`--workspace` targets the repo file instead of the user file):
14
+ On a Coder server, the workspace's settings take the place of the user file, and a repo can only shorten `chain` or set its own `reviewModel`. The dashboard edits them under **# Settings**; the CLI with `coder config` (`--workspace` writes the repo file):
11
15
 
12
16
  ```bash
13
17
  coder config list
14
- coder config get <key>
15
- coder config set chain '["codex", "claude", "custom"]'
16
- coder config set engines.codex.model sol
18
+ coder config set chain '["codex/sol", "claude/opus"]'
19
+ coder config migrate # rewrite an older file in the current shape
17
20
  ```
18
21
 
19
22
  ## Full shape
20
23
 
21
24
  ```json
22
25
  {
23
- "chain": ["codex", "claude", "custom"],
24
- "engines": {
25
- "codex": { "model": "sol", "effort": "high", "permissions": "auto", "network": true },
26
- "claude": { "model": "opus", "effort": "medium", "permissions": "auto" },
27
- "custom": { "model": "qwen" }
28
- },
26
+ "$schema": "https://coder.wular.ai/schema/config.v1.json",
27
+ "version": 1,
28
+ "chain": ["codex/sol", "claude/opus", "qwen"],
29
+ "reviewModel": "codex/astra",
29
30
  "models": {
31
+ "claude": "claude/sonnet/high",
32
+ "fast": "codex/luna/low",
30
33
  "qwen": { "baseUrl": "http://localhost:11434/v1", "model": "qwen2.5-coder:32b" },
31
- "fast": { "provider": "codex", "model": "gpt-6-luna" },
32
- "big": { "provider": "claude", "model": "opus", "effort": "high" },
33
- "astra": { "disabled": true }
34
- },
35
- "approvals": {
36
- "escalationTimeoutMs": 120000,
37
- "allowedNetworkHosts": ["localhost", "127.0.0.1", "registry.npmjs.org"]
34
+ "astra": false
38
35
  },
39
- "agents": {
40
- "review": false,
41
- "helper": {
42
- "permissions": "read-only",
43
- "access": "read"
44
- }
45
- },
46
- "mcp": {
47
- "docs": { "command": "npx", "args": ["-y", "docs-mcp"], "tools": ["search"] }
48
- }
36
+ "agents": { "coder": { "model": "sol", "access": "read-only" }, "helper": false },
37
+ "mcp": { "docs": { "command": "npx", "args": ["-y", "docs-mcp"], "tools": ["search"] } },
38
+ "network": { "allowedHosts": ["localhost", "registry.npmjs.org"], "readOnlyTasks": true }
49
39
  }
50
40
  ```
51
41
 
52
- ## `chain`
53
-
54
- Fallback order. When an engine can't start (missing binary, auth, quota), the task automatically retries on the next entry. Default `["codex", "claude"]`.
55
-
56
- ## `conversationCompactTokens`
57
-
58
- Context size in tokens at which a platform conversation's task, such as a Slack thread or a pull request, continues from a summary plus its recent messages. Default `70000`.
59
-
60
- ## `engines`
61
-
62
- Per-engine defaults, used when a dispatch doesn't override them:
42
+ Every value that names a model is a [model spec](models.md#pick-a-model): `sol`, `sol/low`, `claude/opus` or `codex/gpt-6.1-sol/high`. A spec without an effort runs at `medium`.
63
43
 
64
- | Key | Values |
65
- | ------------- | --------------------------------------------------------------------------------------------------------------------------------------------- |
66
- | `model` | codex: `luna`, `sol` (default), `astra` · claude: `sonnet`, `opus` (default), `fable` · custom: any name from `models` · or any full model id |
67
- | `effort` | `low`, `medium`, `high` |
68
- | `permissions` | `read-only`, `workspace-write`, `auto` |
69
-
70
- Permission modes are one surface across all engines: read-only can't modify anything, workspace-write stays inside the repo, and auto enables Codex network access plus policy-answered escalations; `engines.codex.network` overrides network access for every mode when set.
71
-
72
- A task reaches only its workspace unless you give it more. Pass `--add-dir <dir>` to `coder run` once for each sibling repo or shared folder the task needs. Relative paths resolve against the workspace and each one must already exist. Read-only tasks can read these directories but never write them, while workspace-write and auto tasks can write them just like the workspace. Claude receives them as `--add-dir` and `permissions.additionalDirectories`, so its OS sandbox follows the same rules. Codex already reads everywhere in read-only, and in the other modes it receives them as extra writable roots in the turn's sandbox policy. The directories are saved on the task, `coder result` lists them, and steering keeps them.
44
+ | Key | Meaning | Default |
45
+ |---|---|---|
46
+ | `version` | The config's format; Coder writes it | `1` |
47
+ | `chain` | Models in order. The first runs a task with no model of its own; the next ones take over when a model can't start (missing CLI, sign-in, quota, rate limit). A task's or agent's model goes first and the rest follow. | `["codex/sol", "claude/opus"]` |
48
+ | `reviewModel` | The model `coder review` and the `review` tool use | `"codex/astra"` |
49
+ | `models` | Names a spec can use: an alias (a spec string), `false` to turn a name off, or an endpoint (below) | built-in aliases |
50
+ | `agents` | How this repo runs each agent: [Usage](agents/index.md#usage) | |
51
+ | `mcp` | Servers a task attaches with `--mcp`: [Connections](connections.md#mcp-servers-in-config) | |
52
+ | `network.allowedHosts` | Hosts, with their subdomains, that auto tasks reach without review ([Approvals](approvals.md)) | `[]` |
53
+ | `network.readOnlyTasks` | Read-only tasks also reach `allowedHosts`, on every engine | `false` |
73
54
 
74
55
  ## `models`
75
56
 
76
- One namespace for every model you can name as `--model`, keyed by that name. An entry's shape decides what it is:
77
-
78
- | Shape | Meaning | Managed by |
79
- | ------------------------------------------------------- | ------------------------------------------------------------------------------------------------------ | ------------------------------- |
80
- | `{ "baseUrl", "model", "envKey"?, "wireApi"? }` | custom OpenAI-compatible endpoint (the `custom` engine) | `coder model add/update/remove` |
81
- | `{ "provider": "codex"\|"claude", "model", "effort"? }` | alias onto a built-in engine | `coder model alias/unalias` |
82
- | `{ "disabled": true }` | bare toggle turning off any model name (built-in, entry from another config layer, or raw engine slug) | `coder model disable/enable` |
83
-
84
- Every shape also accepts `"disabled": true` to park the entry without deleting it. An entry named after a built-in alias (e.g. `luna`) shadows it. See [Models](models.md).
85
-
86
- ## `approvals`
87
-
88
- Tunes the `auto` permission mode; ignored by `read-only` and `workspace-write`.
89
-
90
- | Key | Meaning |
91
- | --------------------- | ---------------------------------------------------------------------------------------------------------------------- |
92
- | `escalationTimeoutMs` | How long an escalated approval waits for an answer before auto-denying and letting the task move on. Default `120000`. |
93
- | `allowedNetworkHosts` | Hosts (and their subdomains) coders may reach without an approval when network sandboxing is active. Default `[]`. |
94
-
95
- `allowedNetworkHosts` is pre-allowed in the Claude sandbox and auto-accepted by the Codex approval policy when `engines.codex.network` is `false`. A bare hostname covers its subdomains; anything else escalates as usual. Listing `localhost`, `127.0.0.1` or `::1` also lets sandboxed Claude commands serve on local ports (macOS), so a task can run a dev server. On `vercel-sandbox` they also open the firewall of tasks below `auto`.
96
-
97
- Allowlist only hosts you trust: the check is by name, not by the address the name resolves to.
57
+ - **Alias:** `"fast": "codex/luna/low"`. Built-in aliases are `luna`, `sol`, `astra`, `sonnet`, `opus`, `fable`, and the engine names `codex` (sol) and `claude` (opus). An alias of the same name overrides one, so `"claude": "claude/sonnet/high"` makes `--model claude` run sonnet at high. `coder model alias` and `unalias`.
58
+ - **Off:** `"astra": false`. The name can't be picked or fallen back to. `coder model disable` and `enable`.
59
+ - **Endpoint:** `{ "baseUrl", "model", "envKey"?, "wireApi"?, "contextWindow"?, "disabled"? }`, an OpenAI-compatible model where `model` is the provider's id. `coder model add`, `update` and `remove`; [Models](models.md#connect-a-model).
98
60
 
99
- ## `agents`
61
+ ## Versions
100
62
 
101
- Per-agent usage: enable, override, scope. Reference and examples in [Agents](agents/index.md#usage).
63
+ An older file (no `version`, or a lower one) is brought up to date when it loads. The user file is rewritten, with the old one kept as `config.json.bak`. A repo file is updated in memory only, since teammates may run an older Coder; `coder config migrate --workspace` rewrites it. A file from a newer Coder is refused with the upgrade command.
102
64
 
103
- ## `mcp`
65
+ ## Extra directories
104
66
 
105
- Servers tasks can attach with `--mcp <name>`, in the `.mcp.json` entry shape. Reference and CLI in [MCP](mcp.md).
67
+ A task reaches only its workspace unless given more: `--add-dir <dir>` on `coder task run`, once per folder. Each one must exist. Read-only tasks read them, auto tasks also write them, and steering keeps them.
@@ -0,0 +1,80 @@
1
+ ---
2
+ description: Platform and MCP server connections, workspace and personal scopes, and MCP config.
3
+ ---
4
+
5
+ # Connections
6
+
7
+ A connection gives tasks tools: a platform (GitHub, Slack, Linear and the other native integrations) or an MCP server. Keys that tasks read as environment variables are task secrets, under **# Settings → (Credentials)**, not connections.
8
+
9
+ ## Workspace or personal
10
+
11
+ Every connection has one scope. Its token decides whose name its actions carry; the platform sets that, not Coder.
12
+ - **Workspace:** the workspace's own identity. On a platform, the agent's installed app; on an MCP server, the account an admin connected it with. Every turn gets it.
13
+ - **Personal:** one member's own account. Only that member's turns get it, and its first use in a task asks them to approve.
14
+
15
+ For workspace Acme, agent Coder, and member Ada:
16
+
17
+ | | Workspace | Ada's personal |
18
+ |---|---|---|
19
+ | Slack | `slack`: Coder's bot. Reads the channels it's in, can't search, posts as Coder. | `slack-user`: Ada's account. Searches everything Ada can see; acts as Ada. |
20
+ | GitHub | `github-acme`: the app's installation on `acme`. Comments as `coder-cloud-ai[bot]`. | `github-user`: Ada's sign-in. A pull request shows Ada as its author. |
21
+ | Linear | `linear-acme`: the app. "My issues" are the app's. | `linear-user`: Ada's sign-in. "My issues" are hers. |
22
+ | Notion (MCP) | `notion`: a Notion MCP token from Acme's workspace owner. | `notion-user`: Ada's own Notion sign-in. |
23
+
24
+ - A platform's workspace side is the installed app, managed under **# Agents → *agent* → (Platforms)**. Members add only personal platform connections.
25
+ - An MCP server can be workspace, personal, or both. An admin adds a workspace one; each member adds their own.
26
+ - Another member's turns get the workspace servers and their own, never Ada's.
27
+ - Every member sees every connection's name, scope, owner and status, never its secret.
28
+
29
+ ## In a task
30
+
31
+ Each turn's tool search lists the servers that turn can use, each with its scope, and each call names its server. Workspace is the default. A personal server is for acting as the person, or for what only their account reaches, such as Slack search. Without one, the agent replies with that person's `connection/add` link. A message from anyone else during a turn ends the personal access until the owner's next turn.
32
+
33
+ The agent's Connections setting and `coder task run --connections` narrow the list. Access is Auto (default) or Read-only; the strictest of the connection's, the agent's and the task's applies, and Read-only keeps only the tools a server marks read-only.
34
+
35
+ ## Statuses
36
+
37
+ - `connected`: works.
38
+ - `needs-auth`: its owner signs in or reconnects in the dashboard; the result carries the link.
39
+ - `disabled`: exists, but this agent isn't granted it.
40
+ - `failed`: the server didn't start this turn.
41
+
42
+ ## Adding one
43
+
44
+ - **Thread:** the agent replies with a filled-in link.
45
+ - **Dashboard:** **# Settings → (Connections) → [Add connection]**.
46
+ - **CLI:**
47
+
48
+ ```sh
49
+ coder connection add github --server # a member's own GitHub
50
+ coder connection add notion --url https://mcp.notion.com/mcp --server # workspace MCP server (admins)
51
+ coder connection add notion --personal --url https://mcp.notion.com/mcp --server # a member's own
52
+ coder connection add docs -- npx -y docs-mcp # stdio server: the command after --
53
+ ```
54
+
55
+ - A remote server's sign-in is detected: OAuth (needs `--server`), open access, or a key. A key is read from stdin or a prompt, or with `--key`, into `--header` (default `Authorization`) or, for a stdio server, `--env`. `--auth` overrides the detection.
56
+ - `--access read-only` keeps only read-only tools; a read-only stdio server needs `--tools a,b`.
57
+
58
+ ## MCP servers in config
59
+
60
+ An `mcp` entry in `.coder/config.json` or `~/.coder/config.json` is a server a task attaches by name with `--mcp`; nothing attaches unless asked. Entries use the `.mcp.json` shape of Claude Code, Cursor and Codex, plus `tools` and `description`. The repo's entry wins on a name. Coder itself as an MCP server in a host: [In your local harness](../README.md#in-your-local-harness).
61
+
62
+ ```json
63
+ {
64
+ "mcp": {
65
+ "docs": { "command": "npx", "args": ["-y", "docs-mcp"], "tools": ["search"] },
66
+ "sentry": { "command": "npx", "args": ["-y", "@sentry/mcp-server"], "env": { "SENTRY_TOKEN": "${SENTRY_TOKEN}" } }
67
+ }
68
+ }
69
+ ```
70
+
71
+ | Key | Purpose |
72
+ |---|---|
73
+ | `command`, `args`, `env` | Stdio server to start |
74
+ | `url`, `headers` | Remote server, streamable HTTP |
75
+ | `tools` | Allowed tool names; omit for all |
76
+ | `description` | What the server is for |
77
+
78
+ - A repository's servers need local approval: `coder connection approve <name>`.
79
+ - `${VAR}` and `${VAR:-default}` expand from the environment, except in a repository remote entry's URL and headers; use a connection for credentials.
80
+ - `--mcp` takes names, `all` (also the engine's own MCP servers), or inline JSON: `coder run --mcp '[{"name":"tmp","command":"node","args":["server.js"]}]' "…"`.
package/docs/dash.md CHANGED
@@ -1,8 +1,14 @@
1
+ ---
2
+ description: The dashboard's pages and what each manages; coder dash runs it locally.
3
+ ---
4
+
1
5
  # Dashboard
2
6
 
3
7
  The dashboard is Coder's web UI at `/dash`, which opens the current workspace at `/dash/<workspace>`. `coder dash` runs it on this machine as a UI over the CLI's own config, agents and tasks, with no account and no database.
4
8
 
5
- To self-host your own Coder in the cloud, see [Self-hosting](self-host.md). There the same dashboard serves a workspace.
9
+ Self-hosted Coder serves the same dashboard per workspace; see [Self-host](self-host.md).
10
+
11
+ Paths name what to click: **# Page** in the sidebar, **(Tab)**, **[Button]**. **# Settings → (Models)** opens the Models tab of Settings.
6
12
 
7
13
  `coder dash` is short for `coder server serve`:
8
14
 
@@ -14,47 +20,45 @@ coder dash --port 3100
14
20
  ## Sign-in
15
21
 
16
22
  - **Local**: `coder dash` prints a dashboard link that carries its admin token (`/dash#token=…`), new on each start unless `ADMIN_TOKEN` is set. The dashboard answers only on `localhost`, `127.0.0.1` and `[::1]` at its port.
17
- - **Cloud**: members sign in with Wular Auth and switch workspaces from the menu. Members are managed in Wular Auth, and Settings links there.
23
+ - **Cloud**: members sign in with Wular Auth and switch workspaces from the menu. Members are managed in Wular Auth, and **# Settings** links there.
18
24
 
19
25
  ## Pages
20
26
 
21
- **Agents**: agents from two sources. Give one its own app from its Platforms tab. Its Usage tab lists the platform events it failed to handle in the last day.
27
+ **Agents**: agents from two sources; `coder agent list` lists them. Give one its own app from **# Agents → *agent* → (Platforms)**; its **(Usage)** lists the platform events it failed to handle in the last day.
22
28
 
23
- - **Dashboard agents** are made in the editor.
29
+ - **Dashboard agents** are made in the editor, **# Agents → [New agent]**.
24
30
  - **Local**: saved in `~/.coder/agents/<id>/`.
25
31
  - **Cloud**: kept in the workspace; every change is a new version.
26
- - **Repository agents** come from a repo's `.coder/agents/<id>/`.
32
+ - **Repository agents** come from a repo's `.coder/agents/<id>/`, which `coder agent init` scaffolds.
27
33
  - **Local**: read from the repo the server runs in; edits are written back there.
28
34
  - **Cloud**: imported from GitHub on each push to the repo's branch, through the agent's app.
29
35
 
30
- **Tasks**: start, watch, steer, ask, stop, approve and continue tasks, and run flows and reviews. On a local server a task can run in any folder on the machine; recent folders are offered first. Repository… clones an https or ssh git URL with the machine's own git logins into `~/.coder/checkouts` and runs the task there.
36
+ **Tasks**: start, watch, steer, ask, stop, approve and continue tasks, and run flows and reviews from **[New task]**; `coder task` does the same. On a local server a task can run in any folder on the machine; recent folders are offered first. **[Repository…]** clones an https or ssh git URL with the machine's own git logins into `~/.coder/checkouts` and runs the task there.
31
37
 
32
38
  - **Local**: every task on this machine, including those started with `coder task run`.
33
- - **Cloud**: the workspace's tasks, from the dashboard, `coder task run --server` and platform events.
39
+ - **Cloud**: the workspace's tasks, from the dashboard, `coder task run --server` and platform events. A task from a 1:1 DM shows only to its requester and to owners and admins. Its requester steers it; admins can view, stop and delete it.
34
40
 
35
- Local dashboard tasks open as soon as their worker starts. If the engine then fails to start, the task shows the failure and its output. `coder task run` still waits for startup and tries the next engine in its chain.
41
+ Local dashboard tasks open as soon as their worker starts. If the engine then fails to start, the task shows the failure and its output. `coder task run` still waits for startup and tries the next model in its chain.
36
42
 
37
43
  Archiving hides a task from the default list. A running task keeps running, and steering an archived task brings it back.
38
44
 
39
- **Usage**: tasks, runner time and tokens per day, and the top agents.
45
+ **Usage**: tasks, runner time and tokens per day, and the top agents; `coder agent usage --server` in a terminal.
40
46
 
41
47
  **Settings**: what every task runs with.
42
48
 
49
+ - **Connections**: one row per service, its workspace side and the member's own: platform apps and sign-ins, and MCP servers, as `coder connection add` adds them.
43
50
  - **Credentials**: the engine logins tasks run with.
44
- - **Local**: this machine's `claude` and `codex` logins, with Sign in and Sign out running each CLI's own commands here.
45
- - **Cloud**: encrypted personal and workspace [credentials](self-host.md#credentials).
46
- - **Engines**, **Models** and **MCP**: engine defaults, models and MCP servers.
51
+ - **Local**: this machine's `claude` and `codex` logins, with **[Sign in]** and **[Sign out]** running each CLI's own commands here.
52
+ - **Cloud**: encrypted personal and workspace [credentials](self-host.md#credentials), as `coder credentials add` adds them.
53
+ - **Models**: the chain and the review model, each a model and an effort, then aliases and custom models.
47
54
  - **Local**: the user config, as `coder config` and `coder model` edit it.
48
55
  - **Cloud**: the workspace's config, which a repo's own `.coder/config.json` can only narrow.
49
- - **Runners**: where tasks run, each with its own engine logins.
56
+ - **Runners**: where tasks run, each with its own engine logins; `coder runner add` adds one.
50
57
  - **Local**: this machine.
51
- - **Cloud**: the server's default runner plus the [runners](self-host.md#runners) you add. Personal runners are yours; workspace runners need an owner or admin. Secrets are encrypted.
52
-
53
- Add a runner from the catalog in Settings → Runners. Your own machine pairs with one command, `coder runner serve --url <server> --token <token>`, behind a public HTTPS tunnel (`--runner-url`). The token lasts 15 minutes and works once. A paired machine calls home every minute and shows offline after five without one. Local and Docker kinds exist only on a local server.
54
-
55
- A task runs on the runner it names, else its agent's runner, your default, the workspace default, then the server's own.
58
+ - **Cloud**: the server's default runner plus the [runners](runners.md) members add. Workspace runners need an owner or admin. Secrets are encrypted.
59
+ - **Advanced**: the network: hosts tasks reach without review, and whether read-only tasks reach them too.
56
60
 
57
- For GitHub Actions, save `coder server workflow` as `.github/workflows/coder-agent.yml` and select that file in the runner form. Its worker command is `coder agent run --task`; the task result comes back through the server callback. Job logs appear after GitHub archives them when the job finishes. For Vercel Sandbox, supply the team and project IDs, or set `VERCEL_TEAM_ID` and `VERCEL_PROJECT_ID` on the server. Sandbox logs stream while the task runs. See [runner setup](self-host.md#runners) for authentication and workflow inputs.
61
+ Adding runners, pairing a member's machine and which runner a task uses: [Runners](runners.md).
58
62
 
59
63
  ## Platform events
60
64
 
package/docs/flows.md CHANGED
@@ -1,16 +1,10 @@
1
- # Flows
2
-
3
- Orchestrate many coder tasks with a plain TypeScript file. A flow is code, not config: loops, conditionals, and nesting are just JavaScript, while dispatch, concurrency, journaling, and resume come from the runtime. Every task a flow spawns is a regular coder task, so `coder list`, `coder task steer`, and `coder task stop` work on them like any other.
4
-
5
- Like tasks, flows are normally authored by your host agent: you describe the wave, the harness writes the flow file into `.coder/flows/`, and you review or edit it before it runs. The file is the contract; everything below is what goes in it.
1
+ ---
2
+ description: Flows, TypeScript files that run many coder tasks with gates and resume.
3
+ ---
6
4
 
7
- Watch a run live - progress and overview of its tasks as the wave goes:
8
-
9
- ```sh
10
- coder flow stream [run-id]
11
- ```
5
+ # Flows
12
6
 
13
- ## A first flow
7
+ A flow is a plain TypeScript file that runs many coder tasks. Loops, conditionals and nesting are JavaScript; dispatch, concurrency, journaling and resume come from the runtime. Each task it starts is a regular task, so `coder list`, `coder task steer` and `coder task stop` work on it. A host agent usually writes the flow into `.coder/flows/` from a description, and a person reviews it before it runs.
14
8
 
15
9
  ```ts
16
10
  // .coder/flows/audit-routes.ts
@@ -26,224 +20,63 @@ export default await pipeline(routes.data.files, file =>
26
20
  );
27
21
  ```
28
22
 
29
- Run it:
30
-
31
- ```bash
32
- coder flow run audit-routes --wait
33
- ```
34
-
35
- `--wait` streams the run's progress right there; without it the run goes to the background and `coder flow stream` shows the same lines any time. If the run dies mid-wave, `coder flow resume` continues it without re-running finished steps.
36
-
37
- ## Flows are plain modules
38
-
39
- A flow is an ordinary TypeScript module: import the primitives, use top-level `await`, and `export default` the result. `@wular/coder/flow` and `zod` come with Coder, so the repository installs neither. Input comes in through the `args` import (see [`args`](#args)):
40
-
41
- ```ts
42
- // .coder/flows/verify-wave.ts
43
- import { task, pipeline, args } from '@wular/coder/flow';
44
-
45
- export default await pipeline(args.clusters as string[], c => task(`Verify cluster ${c}.`));
46
- ```
47
-
48
- ## The primitives
49
-
50
- ### `task(prompt, opts?)`
51
-
52
- Dispatch one coder task and await its result.
53
-
54
- ```ts
55
- const r = await task('Explain the auth module', {
56
- model: 'sol',
57
- permissions: 'read-only',
58
- });
59
- r.output; // final message text
60
- ```
61
-
62
- Options are the same as the `coder run` flags (`engine`, `model`, `effort`, `permissions`, `name`, `system`, `cwd`, and `addDirs` for `--add-dir` - see `coder run --help`), plus one of its own:
63
-
64
- - `returns` - a zod schema for structured output instead of prose. The runtime passes the schema natively, validates the reply (one corrective retry on mismatch), and the parsed value lands on `r.data`:
65
-
66
- ```ts
67
- const r = await task('List every file that imports the legacy cache API.', {
68
- returns: z.object({ files: z.array(z.string()) }),
69
- });
70
-
71
- r.data.files; // string[], validated
72
- ```
73
-
74
- Returns `{ taskId, status, output, data?, tokens, model }`. If the task fails, `task()` throws; catch the error to inspect the failed result or retry.
75
-
76
- > Note: unlike the SDK's `task.run()`, which returns a task id right away and leaves waiting to you, the flow `task()` waits for the result in one call, and inside a run it is journaled and concurrency-limited.
77
-
78
- ### `steer(taskId, text, opts?)`
79
-
80
- Give a task this run started one more turn on its own thread, under the same task id, and await it. It mirrors `coder task steer --wait`, with the same `model`, `effort` and `permissions` overrides:
81
-
82
- ```ts
83
- const draft = await task('Draft the schema for the new orders table.');
84
- const fixed = await steer(draft.taskId, 'Now add the indexes.');
85
- ```
86
-
87
- Returns the same shape as `task()` without `data`, throws if the turn fails, and is journaled like `task()`.
88
-
89
- ### `gate(cmd, opts?)`
90
-
91
- A deterministic shell checkpoint. Gates are never agents: they run the command and return `{ ok, code, output }`. A failing gate does not throw, because a failed gate is a decision point, not an error:
92
-
93
- ```ts
94
- const g = await gate('bun tsc');
95
- if (!g.ok) {
96
- // retry with g.output in the prompt, park the item, or bail - your call
97
- }
98
- ```
99
-
100
- The command runs through the shell, so treat it like any shell string: never interpolate task output (or other model-derived text) into it - `gate(`test -n "${r.output}"`)` hands the model shell access. Write fixed commands, or pass model output through a file/env var the command reads.
101
-
102
- ### `pipeline(items, ...stages)`
103
-
104
- The workhorse. Give it a list of items and one or more stage functions; every item moves through the stages independently, as fast as its own work finishes.
105
-
106
- ```ts
107
- const results = await pipeline(
108
- files, // items
109
- file => task(`Fix the tests in ${file}.`), // stage 1
110
- (r, file) => gate(`bun test ${file}`), // stage 2
111
- );
112
- ```
113
-
114
- How to read it:
115
-
116
- - Stage 1 runs for each file (up to the concurrency limit). The moment `a.ts` finishes stage 1, it enters stage 2, even if `b.ts` is still in stage 1. There is no waiting for the whole batch between stages.
117
- - Each stage receives `(previousStageResult, originalItem, index)`, so later stages always know which item they are working on.
118
- - `results` is one entry per item: whatever the last stage returned for it.
119
- - If a stage throws for an item, that item becomes `null` in the results and skips its remaining stages; the other items are unaffected.
120
-
121
- Prefer `pipeline` for anything multi-stage: fast items never wait for slow ones.
122
-
123
- Use `Promise.all` for plain parallel batches:
124
-
125
- ```ts
126
- const findings = await Promise.all(areas.map(area => task(`Audit ${area}.`)));
127
- ```
128
-
129
- ### `args`
130
-
131
- The flow's input, from `--args '<json>'` or bare `key=value` pairs:
132
-
133
- ```ts
134
- import { args } from '@wular/coder/flow';
135
-
136
- const items = (args.items ?? []) as string[];
137
- ```
138
-
139
- Properties are typed `unknown` - assert or default them as you go, or use the function form below for real types.
140
-
141
- To validate and type the input with zod, shape the flow as two exports:
23
+ `coder flow run audit-routes --wait` runs it and streams progress. Without `--wait` it runs in the background and `coder flow stream` follows it. `/flow <name>` in **# Tasks → [New task]** runs one from the dashboard.
142
24
 
143
- - `export const args` - a zod schema for the input
144
- - `export default` - an async function holding the flow body
25
+ A flow is an ES module with top-level `await`, and its default export is the result. `@wular/coder/flow` and `zod` come with Coder.
145
26
 
146
- The runtime checks the input against the schema first, and only if it passes runs the default function, passing the parsed input as its parameter. (Top-level flows can't get this fail-fast check: importing one already executes it.)
27
+ ## Primitives
147
28
 
148
- ```ts
149
- export const args = z.object({ clusters: z.array(z.string()) });
150
-
151
- export default async ({ clusters }: z.infer<typeof args>) => {
152
- // clusters is string[], validated before any task dispatched
153
- };
154
- ```
29
+ - **`task(prompt, opts?)`:** runs one task and waits for it.
30
+ - Options are the `coder run` flags (`model`, `access`, `name`, `appendSystem`, `cwd`, `addDirs`), plus `returns`: a zod schema for structured output, validated with one corrective retry, landing on `r.data`.
31
+ - Returns `{ taskId, status, output, data?, tokens, model }`, and throws if the task fails.
32
+ - Unlike the SDK's `task.run()`, it waits, and inside a run it's journaled and concurrency-limited.
33
+ - **`steer(taskId, text, opts?)`:** one more turn on a task this run started, like `coder task steer --wait`. It returns the same shape as `task()` without `data`.
34
+ - **`gate(cmd, opts?)`:** a shell checkpoint returning `{ ok, code, output }`. A failing gate doesn't throw; it's a decision point. Never interpolate model output into `cmd`, because that hands the model a shell. Pass it through a file or environment variable instead.
35
+ - **`pipeline(items, ...stages)`:** moves each item through the stages independently.
36
+ - An item enters the next stage as soon as it finishes the last one, without waiting for the batch.
37
+ - Each stage gets `(previous, item, index)`.
38
+ - The result is the last stage's value per item, or `null` for an item whose stage threw.
39
+ - Use `Promise.all` for one plain parallel batch.
40
+ - **`args`:** the input, from `--args '<json>'` or `key=value` pairs, typed `unknown`. For a validated, typed input, export a zod schema as `args` and a default async function that receives the parsed value. The runtime checks the input before any task starts.
41
+ - **`flow(name, args?)`:** runs another flow inline, sharing the journal, concurrency and ledger. Nesting is one level deep.
42
+ - **`log(msg)`:** a progress line in the flow log and `coder flow stream`.
155
43
 
156
- ### `flow(name, args?)`
44
+ ## Limits
157
45
 
158
- Run another flow inline and get its result:
159
-
160
- ```ts
161
- const verified = await flow('verify-wave', { clusters });
162
- ```
46
+ - `--concurrency`: tasks at once. Defaults to the machine's CPU count.
47
+ - `--max-tasks`: total tasks per run, a backstop against loops. Defaults to CPU count × 10.
163
48
 
164
- The name resolves like `coder flow run <name>` does (see [Where flows live](#where-flows-live)). Sub-flows share the parent's journal, concurrency, and ledger, and nesting is one level deep: a sub-flow calling `flow()` throws.
165
-
166
- ### `log(msg)`
167
-
168
- Emit a progress line, shown in the flow log and `coder flow stream`:
169
-
170
- ```ts
171
- log(`${parked.length} clusters parked`);
172
- ```
173
-
174
- ## Concurrency and ceilings
175
-
176
- Two knobs, sensible defaults, mentioned together because they scale off the same number:
177
-
178
- - **`--concurrency`** - tasks running at once. Defaults to the machine's CPU count. Tasks are engine subprocesses doing mostly network waiting, so this is about engine quota and machine load, not about a flow "using up" your cores.
179
- - **`--max-tasks`** - total tasks one run may dispatch, a backstop against runaway loops. Defaults to CPU count x 10.
180
-
181
- Token usage is recorded per model in the run's ledger and shown by `coder flow result`. Bookkeeping, not enforcement.
49
+ Tokens per model go to the run's ledger, shown by `coder flow result`.
182
50
 
183
51
  ## Resume
184
52
 
185
- Every `task`, `gate`, and `flow` call is recorded in the run's journal along with a fingerprint of its inputs (the prompt or command, plus options).
186
-
187
- `coder flow resume <run-id>` simply imports the module again, fresh, and lets it execute top to bottom. Each call is checked against the journal in order:
188
-
189
- 1. Inputs identical to last time? Return the recorded result instantly; nothing is dispatched.
190
- 2. First call whose inputs differ (or that is new)? It runs for real, and so does everything after it.
191
-
192
- What that means in practice:
53
+ Every `task`, `gate` and `flow` call is journaled with a fingerprint of its inputs. `coder flow resume <run-id>` runs the module again from the top:
54
+ - Calls with the same inputs return their recorded results at once.
55
+ - The first changed or new call, and everything after it, runs for real.
193
56
 
194
- - **Crash mid-wave** (quota, network, closed laptop): resume replays the finished steps from the journal in milliseconds and continues from where it stopped.
195
- - **Edit step 3, resume**: steps 1-2 replay from the journal, step 3 onward runs fresh. Iterating on a half-broken flow costs only the part you changed.
196
- - **Nothing changed**: the whole run replays from the journal and just returns its result again.
197
-
198
- The one rule this buys: **a flow must produce the same prompts on every run**. Do not build prompts from `Date.now()`, `Math.random()`, or unordered directory listings; pass timestamps and seeds in via `--args`. A prompt that differs between runs looks like an edit, and everything after it re-runs.
57
+ So a crash resumes where it stopped, and an edit to step 3 re-runs from step 3. A flow must build the same prompts on every run: no `Date.now()`, `Math.random()` or unordered directory listings in prompts; pass those in with `--args`.
199
58
 
200
59
  ## Where flows live
201
60
 
202
- `coder flow run <name>` (and `flow(name)` inside a flow) looks for `<name>.ts` or `<name>.mjs` in:
203
-
204
- 1. `.coder/flows/` walking up from the current directory to the repo root, nearest first. In a monorepo, a flow in `packages/app/.coder/flows/` wins over one at the root when you run from inside `packages/app`.
205
- 2. `~/.coder/flows/` - global flows, available in every workspace.
206
-
207
- An explicit path (`coder flow run ./scratch/one-off.ts`) bypasses discovery entirely. `coder flow discover` shows every flow discoverable from where you stand.
208
-
209
- ### Built-in flows
210
-
211
- Coder ships a few flows of its own; they resolve after the directories above, so a repo flow of the same name overrides them. `coder flow discover` lists them with scope `builtin`.
212
-
213
- - `review`: the `coder review` code review. Args: `pr` (number or GitHub URL), `post` (comment on the PR), `base`/`head`/`since` (as the CLI flags), `engine`/`model`/`effort`. Returns `{ findings, summary }`. `coder flow run review --args '{"pr":42,"post":true}'`
214
-
215
- ## CLI
216
-
217
- ```bash
218
- coder flow run <name|path> [--wait] [--args '<json>' | key=value...]
219
- [--concurrency N] [--max-tasks N] [--json] [--dry-run]
220
- coder flow list # recent runs: id, name, status, tasks, tokens, age
221
- coder flow discover # flows runnable here: workspace + global
222
- coder flow result [run-id] # progress and result: tasks, gates, token ledger
223
- # --tail <n|all>: last n step rows (default all; 0 = final result only)
224
- coder flow stream [run-id] # replay the progress lines and keep following live
225
- # --tail <n|all>: replay the last n events (default all)
226
- coder flow stop [run-id] # stop a run and its tasks (--keep-tasks to let them finish)
227
- coder flow resume [run-id] # continue a stopped or edited run; same flags as run
228
- coder flow archive <run-id> # hide a run from the recent list (or --all-stopped)
229
- coder flow delete <run-id> # delete a run's record (or --all-archived)
230
- ```
231
-
232
- Runs show up in `coder list` alongside tasks, with the run's tasks grouped under it. Any `[run-id]` defaults to the most recent run.
233
-
234
- `coder flow run` prints the run id and orchestrates in the background. `--wait` follows the run in the foreground, rendering progress live as tasks start and finish; Ctrl-C detaches and the run keeps going, just like a task. `coder flow stop` is the only way to end a run: it stops the orchestrator and the tasks it still has running (pass `--keep-tasks` to let those finish), leaving the journal ready for `resume`. A finished run's result (the flow's default export) is shown by `coder flow result`.
61
+ `coder flow run <name>` and `flow(name)` look for `<name>.ts` or `<name>.mjs` in:
62
+ 1. `.coder/flows/`, from the current directory up to the repo root, nearest first.
63
+ 2. `~/.coder/flows/`, in every workspace.
64
+ 3. Built-in flows, which a repo flow of the same name overrides.
235
65
 
236
- On a TTY, `--wait` and `flow stream` render a live view (spinner, in-place task rows); when piped, output degrades to plain append-only lines. Styling honors the standard `NO_COLOR` and `FORCE_COLOR` env vars.
66
+ A path runs that file directly. `coder flow discover` lists what's runnable here. The built-in `review` is the `coder review` code review. It takes `pr`, `post`, `base`, `head`, `since`, `model` and `depth` and returns `{ findings, summary }`.
237
67
 
238
- `--dry-run` executes the script with dispatch stubbed out: it prints every resolved prompt and gate command with placeholder results, so you can review exactly what would be sent before spending tokens.
68
+ ## Running
239
69
 
240
- ## SDK
70
+ - `--dry-run` executes the flow with dispatch stubbed and prints every resolved prompt and gate command.
71
+ - `--wait` follows in the foreground; Ctrl-C detaches and the run continues.
72
+ - `coder flow stop` is the only way to end a run. It stops its running tasks too (`--keep-tasks` lets them finish) and keeps the journal for `resume`.
73
+ - Runs appear in `coder list` with their tasks grouped under them.
241
74
 
242
- Flows sit on top of the coder SDK, and the SDK is public: everything the CLI does, your own code can do, including running flows programmatically. See [SDK](sdk.md).
75
+ All commands: [`coder flow`](cli/flow.md). From code: the [SDK](sdk.md).
243
76
 
244
- ## Design notes
77
+ ## Guidance
245
78
 
246
- - **Gates are shell, not agents.** Verification must be deterministic and cheap. An agent judging "did tsc pass" is slower, costlier, and occasionally wrong.
247
- - **Park, don't die.** A failed item should not kill the wave. Return it as data, keep the rest flowing, fix it manually or in the next run.
248
- - **Saturation beats phases.** Prefer `pipeline` so fast items never wait for slow ones; reach for `Promise.all` barriers only when a step truly needs all prior results.
249
- - **The flow executes; you decide.** Keep judgment (what to fix next, whether a spec is ready) in your session, and let flows run the wave you already designed. A flow that invents its own plan mid-run is a flow you cannot review with `--dry-run`.
79
+ - **Gates are shell, not agents:** verification stays deterministic and cheap.
80
+ - **Park, don't die:** return a failed item as data and keep the wave going.
81
+ - **Prefer `pipeline`:** fast items never wait for slow ones.
82
+ - **Judgment stays in the session:** a flow runs the wave already designed. A flow that plans mid-run can't be reviewed with `--dry-run`.