@wular/coder 0.4.13 → 0.5.1

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 (519) hide show
  1. package/README.md +3 -3
  2. package/dist/actions-DO8MvHwc.js +3 -0
  3. package/dist/agent-Cgala63h.js +1 -0
  4. package/dist/app-server-dnlLhhZb.js +6 -0
  5. package/dist/approvals-C8XV7CK2.js +5 -0
  6. package/dist/apps-BORri-28.js +18 -0
  7. package/dist/args-CJsHYWbt.js +66 -0
  8. package/dist/async-BS9tyhva.js +3 -0
  9. package/dist/auth-C16ylySv.js +1 -0
  10. package/dist/builtin/coder/agent.json +6 -6
  11. package/dist/builtin/coder/system.md +7 -5
  12. package/dist/{chat-bwKd3y6V.js → chat-Bfu9XKRa.js} +1 -1
  13. package/dist/chat-czruXAt3.js +13 -0
  14. package/dist/cli.js +18 -13
  15. package/dist/{client-C4QCT6cG.js → client-nBo9Mhsr.js} +4 -4
  16. package/dist/cmd-C1gHyVG7.js +122 -0
  17. package/dist/config-_32PHl9g.js +5 -0
  18. package/dist/connection-CgA5_NJ7.js +1 -0
  19. package/dist/connections-B90TemYf.js +2 -0
  20. package/dist/context-C1XBbfEL.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 +1690 -1452
  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.de1f1311bab4252f.js → index.91e126d7a389d4bd.js} +46 -75
  27. package/dist/dash/standalone/server/modules-server-server-react-server/src/core/task/{log-view.ec6391dbf3063330.js → view.e20379d8f741754a.js} +38 -0
  28. package/dist/dash/standalone/server/modules-server-server-react-server/src/core/types.9d22123d6296f5af.js +37 -0
  29. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/api/{load.30ed8c28774a1a82.js → load.858c062c7891a2c1.js} +18 -11
  30. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/create/[id]/{page.118a70787eff1761.js → page.9375ab741dc9791e.js} +5 -5
  31. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/account/{loading.fcdfd50c21031895.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.98dfcd316c306258.js → notify.c36570a56d279ce2.js} +1 -1
  33. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/account/{page.74c59322f5fe8a2c.js → page.13fdd9cc55ad3a52.js} +9 -9
  34. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/account/{sign-out.730aa96b086ac996.js → sign-out.38a7f39cddc670f7.js} +4 -4
  35. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/(list)/{agent-menu.1be5795272b245c8.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.2c30ace077893029.js → agents-grid.2385ffa8fdad08d6.js} +9 -9
  37. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/(list)/{loading.733f0acc2af5ceda.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.5ca6921e50484f8c.js +48 -0
  39. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/{layout.b26006f060cd48f0.js → layout.afc4a8a5a8360975.js} +89 -32
  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.4b23e9df21433bd3.js → page.ba65063a1aa99a62.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.e06845585ca67abc.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.4048048acb374c67.js → page.03c5e72b0fe50ba9.js} +51 -123
  44. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/platforms/{platform-actions.000f2f87a48bfbc6.js → platform-actions.7c8c75bd0c05df4a.js} +234 -134
  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.d6a980d1181dc940.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.ee0bb2dc4d403ec3.js → agent-settings-form.b5299f5130a4e8af.js} +53 -76
  48. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/settings/{loading.0e3641f3e4abaa7c.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.649b4ba135ded99b.js → page.fad77cea17947d47.js} +10 -11
  50. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/tasks/{loading.195e168e8e41d797.js → loading.4120e6979eaed441.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.96f7573208644f40.js → page.474b3524d5ea53b7.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.905293c9aa9afbc9.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.5f2b8585db8b27ad.js → page.7868a07efcaa26f4.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.8700f0106f4e8c15.js → versions-list.ba93a53773cab8a8.js} +3 -3
  55. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/edit/{loading.f94b2f9ab04aaf21.js → loading.6e53829bd1f3021d.js} +5 -5
  56. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/edit/{page.e898c4b5ef16ecb0.js → page.5798ede8ba8ace97.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.55778a4b3177846d.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.ce391cad0d78795f.js +99 -0
  60. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/agent/{agent-pills.44e689e546fb042b.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.4c67dfbb7d28a416.js → agent-toggle.0cec822c6099f058.js} +3 -3
  62. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/agent/{hero.9740a8e2f4b41f28.js → hero.7151c467e7ecf6a5.js} +4 -4
  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.ff8b78a03153239b.js → connect-repositories.4e121d31ed0cfe02.js} +1 -1
  65. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/editor/{editor.471af698b8060eba.js → editor.f314d92af0bb33b0.js} +164 -127
  66. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/editor/{import-picker.b7b5c89e618e8f89.js → import-picker.11028d5329ad537b.js} +11 -11
  67. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/new/{loading.ecb9dfd4d0f9d107.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.880bdac7fe843635.js → page.1476d31e4554e88b.js} +9 -8
  69. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/{layout.81f7e055829854a3.js → layout.150d950d191db477.js} +89 -26
  70. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/operator/operator-apps.3e72de86b86a7338.js +155 -0
  71. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/operator/{page.8f8697b1b6b34ad7.js → page.6a4be3b1a473ff8c.js} +10 -10
  72. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/{page.fe608b8e661aba1d.js → page.262ed73437c17872.js} +1 -1
  73. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/advanced-list.7180570379e2625c.js +63 -0
  74. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/connection-add.632b1847c16ecd42.js +526 -0
  75. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/connections-list.4378ae707b2092ed.js +439 -0
  76. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/{credentials-list.a4d8338c7f6a5702.js → credentials-list.e47897acb6867df8.js} +116 -101
  77. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/{credentials.1443bbed1ff1d441.js → credentials.6bd06f96afbe7329.js} +9 -9
  78. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/list.38e70272eeb98cd0.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.a08cd37d0f7ff86c.js +635 -0
  81. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/{page.805d0f8a2c5817d6.js → page.f096b5a9ac419326.js} +67 -41
  82. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/{runners-list.1e83449aa6593224.js → runners-list.0df1f9329df1b67d.js} +42 -37
  83. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/{secrets-list.17ac06593005b8ba.js → secrets-list.6d2f56fa7d6fcab0.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.8c4a2b31b194ba3e.js → layout.0fd865c865e5bab4.js} +6 -6
  86. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/model-options.0d6077fe68db3af9.js +147 -0
  87. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/model-pick.695538b2edf9dd15.js +160 -0
  88. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/{page.a77996786278cda0.js → page.c57b81c2197cce0f.js} +1 -1
  89. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/{settings-head.705be0b1129b97af.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.19b4c50ef497aca1.js → create-link.60aadbe43ea1e39c.js} +5 -5
  92. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/setup/{outcome-dialog.18cf32fa42247b91.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.e2b9ef0344b1a1a2.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.616f0b36bf7925bc.js → page.c456ad99c8a9f875.js} +8 -8
  96. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/[id]/{activity.a911169a820ba604.js → activity.2ec05d78d609b7b2.js} +12 -6
  97. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/[id]/{loading.76f851da5cc5268d.js → loading.779ecdd9c9d2ff09.js} +5 -5
  98. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/[id]/{page.ddb594bb6567ee13.js → page.578be2f6c89fcba0.js} +16 -9
  99. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/[id]/task-actions.d131453dd2a423c3.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.3276538e8306fd8a.js → task-view.3d72a4ecd2b3826e.js} +44 -81
  102. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/{composer-data.05fc39e1a7fd1ab7.js → composer-data.c16854be11a561e4.js} +4 -6
  103. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/{composer.dbf06b05c5e2eba3.js → composer.97be3e67214889c1.js} +130 -195
  104. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/list/pending-approvals.9175908da02960e1.js +40 -0
  105. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/list/{status.cb704b48ce86cc7d.js → status.d2c05c397780b833.js} +7 -1
  106. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/list/{task.f089c1c122ed6dd2.js → task.a25847399a4dfb30.js} +9 -26
  107. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/list/{tasks-list.5a00d69851dae119.js → tasks-list.028798c79227a366.js} +43 -35
  108. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/list/{tasks-section.36e70c93f7d0feee.js → tasks-section.9a9d13057b326f25.js} +16 -10
  109. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/{page.185b1ba0c803db3f.js → page.045c6db0c56975b2.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.a7e0ec01bfa769e3.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.d41fea7676e37bfc.js → page.938d29ff7edb678d.js} +7 -7
  114. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/usage/{range-bar.69e68c9dae09f238.js → range-bar.0b9038e9df707843.js} +4 -4
  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.296d70b95894209f.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.8c6adf9c5a6f467c.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.1cea8a722c10b998.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.87b92529dbb53ceb.js → page-head.2eb1e0213eb50349.js} +3 -2
  122. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/frame/{stream.c32d78562f75db25.js → stream.2cdb8eabd8f6df70.js} +2 -2
  123. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/frame/{task-toasts.44075fa7e04575e8.js → task-toasts.8733901ca0e4c246.js} +28 -18
  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.d6109e72fbd04b45.js → back.7aa0ae82dbec38cd.js} +3 -3
  126. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/nav/{org.d3abfd4053b711ce.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.2b18ba19ae01e2bb.css.pnext-asset.js +0 -0
  130. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{button.ce9e6cdb08ca86db.js → button.b62fa52e18fa338b.js} +2 -2
  131. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/card.4ab7ad42a0770726.css.pnext-asset.js +0 -0
  132. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{card.9f0d45b73bc78b4f.js → card.c0030eafd76587e3.js} +21 -9
  133. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{collapse.93e4d1b20c2873ed.js → collapse.eb578fdf42029754.js} +1 -1
  134. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{combo.54270c0251466fda.js → combo.e4e08287494081a3.js} +2 -2
  135. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{confirm.29e198be34578222.js → confirm.e21b7f5e486dafb8.js} +3 -3
  136. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{copy.bd6fc1577a393965.js → copy.043e0695c08c72f9.js} +2 -2
  137. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{filter.81bb9a5c60cd1089.js → filter.0730dccad6332327.js} +6 -6
  138. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/filter.6fdff1e7355aaa0e.css.pnext-asset.js +0 -0
  139. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{icons.e36c72f54750663a.js → icons.f769275420d072ce.js} +4 -0
  140. 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
  141. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{menu.ee45bace979944b6.js → menu.7f558c7c6f6345d5.js} +3 -3
  142. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/menu.cd96fa0495fe0fde.css.pnext-asset.js +0 -0
  143. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{modal.0b69c7fd9db025b9.js → modal.08ac85d31f4c76c1.js} +7 -6
  144. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{select.2eb33e5bea28d804.js → select.0ee9e8f04ddd8b47.js} +9 -6
  145. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{tail.04132db0c5033d4f.js → tail.7eb303330802ac18.js} +2 -2
  146. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/toolbar.cdbd0357f2c5e1fe.css.pnext-asset.js +0 -0
  147. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{toolbar.8b3a460a65edf85a.js → toolbar.ff8367c641d28c1e.js} +2 -2
  148. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/utils/{action.67dd6f8ab1ae067d.js → action.56cea462eb725c39.js} +1 -1
  149. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/utils/{client.78267fa3d7905d17.js → client.685154f230716834.js} +1 -1
  150. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/routes/http.394704f4f12ada08.js +165 -0
  151. package/dist/dash/standalone/server/modules-server-server-react-server/src/utils/crypto.24a6439ff8d10d3d.js +11 -0
  152. package/dist/dash/standalone/static/assets/chunks/advanced-list-b75a9c2bd11026de.js +1 -0
  153. package/dist/dash/standalone/static/assets/chunks/agent-pills-54564413a57d7fa7.js +2 -0
  154. package/dist/dash/standalone/static/assets/chunks/agent-settings-form-55d294dad2ce5a0d.js +1 -0
  155. package/dist/dash/standalone/static/assets/chunks/agent-toggle-b5dcc4ea6292fb3d.js +1 -0
  156. package/dist/dash/standalone/static/assets/chunks/agents-grid-69461c53abbba433.js +1 -0
  157. package/dist/dash/standalone/static/assets/chunks/{back-e29cb10f5548ddae.js → back-ba5e4340a9f8bbd2.js} +1 -1
  158. package/dist/dash/standalone/static/assets/chunks/chain-hint-491eb09a20a15702.js +1 -0
  159. package/dist/dash/standalone/static/assets/chunks/{combo-702c94817bf6ac17.js → combo-6df61e8a1cc31037.js} +1 -1
  160. package/dist/dash/standalone/static/assets/chunks/composer-198b844da57b82a3.js +1 -0
  161. package/dist/dash/standalone/static/assets/chunks/composer-b26a3332a1243461.js +1 -0
  162. package/dist/dash/standalone/static/assets/chunks/composer-data-b05f3d93fdc472d7.js +1 -0
  163. package/dist/dash/standalone/static/assets/chunks/{confirm-a78147b6ecef3847.js → confirm-14d018653fbe50fc.js} +1 -1
  164. package/dist/dash/standalone/static/assets/chunks/{connect-repositories-7770ab805160028d.js → connect-repositories-5118edc019fc7890.js} +1 -1
  165. package/dist/dash/standalone/static/assets/chunks/connections-list-5412dad7e0def52f.js +1 -0
  166. package/dist/dash/standalone/static/assets/chunks/{copy-bdc60bdafe336316.js → copy-04781f9af4e10f06.js} +1 -1
  167. package/dist/dash/standalone/static/assets/chunks/create-link-0651addf1461f901.js +1 -0
  168. package/dist/dash/standalone/static/assets/chunks/credentials-list-e64c973aee5602d3.js +1 -0
  169. package/dist/dash/standalone/static/assets/chunks/custom-range-b6919bab9846ebf7.js +1 -0
  170. package/dist/dash/standalone/static/assets/chunks/editor-68e9ccd1764fc512.js +6 -0
  171. package/dist/dash/standalone/static/assets/chunks/{field-bb8191aa02d07282.js → field-adcb6e6a5f9b7131.js} +1 -1
  172. package/dist/dash/standalone/static/assets/chunks/instructions-0022dd3bdd57c13f.js +1 -0
  173. package/dist/dash/standalone/static/assets/chunks/instructions-7b274685ceb26457.js +2 -0
  174. package/dist/dash/standalone/static/assets/chunks/list-662f042656857c82.js +1 -0
  175. package/dist/dash/standalone/static/assets/chunks/model-options-5e07b3318d69d218.js +1 -0
  176. package/dist/dash/standalone/static/assets/chunks/models-list-ae1e2eff30d21824.js +1 -0
  177. package/dist/dash/standalone/static/assets/chunks/outcome-dialog-546fe090efc129c2.js +1 -0
  178. package/dist/dash/standalone/static/assets/chunks/{outcome-dialog-fde11a52c282301d.js → outcome-dialog-fd86ded4c44c2de7.js} +1 -1
  179. package/dist/dash/standalone/static/assets/chunks/outcome-toast-c00becdb638cd9a8.js +1 -0
  180. package/dist/dash/standalone/static/assets/chunks/platform-actions-2be223e68e648134.js +1 -0
  181. package/dist/dash/standalone/static/assets/chunks/platform-actions-f3979ab69a6ceb53.js +1 -0
  182. package/dist/dash/standalone/static/assets/chunks/platform-step-5454b6c0a19caefd.js +1 -0
  183. package/dist/dash/standalone/static/assets/chunks/platform-step-9a52703f4c4f6a31.js +1 -0
  184. package/dist/dash/standalone/static/assets/chunks/runners-list-20d42f19fb4bec8a.js +1 -0
  185. package/dist/dash/standalone/static/assets/chunks/{runtime-6e12333f12903a62-1.js → runtime-3fcac605fffcc273-1.js} +1 -1
  186. package/dist/dash/standalone/static/assets/chunks/secrets-list-89f89ee70edb3856.js +1 -0
  187. package/dist/dash/standalone/static/assets/chunks/{segmented-0b6dc6b93c35e0f5.js → segmented-66a8c77c6294fec3.js} +1 -1
  188. package/dist/dash/standalone/static/assets/chunks/shared-init-3fcac605fffcc273-2.js +1 -0
  189. package/dist/dash/standalone/static/assets/chunks/shared-init-96225b8c7758de9d.js +1 -0
  190. package/dist/dash/standalone/static/assets/chunks/shared-init-96cde32cd50254c0.js +1 -0
  191. package/dist/dash/standalone/static/assets/chunks/shared-init-abd7653140f37a0c.js +9 -0
  192. package/dist/dash/standalone/static/assets/chunks/side-toggle-8a410cc6d6bd9b1d.js +1 -0
  193. package/dist/dash/standalone/static/assets/chunks/{tail-f8804b80cf32f8d0.js → tail-40f16e09eade7eee.js} +1 -1
  194. package/dist/dash/standalone/static/assets/chunks/task-396d849e58e50d59.js +1 -0
  195. package/dist/dash/standalone/static/assets/chunks/task-actions-0b3054dc0f8d17c0.js +3 -0
  196. package/dist/dash/standalone/static/assets/chunks/task-view-9e026dc5da58af5b.js +3 -0
  197. package/dist/dash/standalone/static/assets/chunks/tasks-list-04c6568d7f7237b7.js +1 -0
  198. package/dist/dash/standalone/static/assets/chunks/versions-list-ceb756236e69b761.js +1 -0
  199. package/dist/dash/standalone/static/assets/chunks/{wular-pnext-6e12333f12903a62-0.js → wular-pnext-3fcac605fffcc273-0.js} +1 -1
  200. package/dist/dash/standalone/static/assets/create-param-id-2c72f3e32e7f8b8d.css +1 -0
  201. package/dist/dash/standalone/static/assets/dash-param-org-a7f30a8c5a6fa651.css +1 -0
  202. package/dist/dash/standalone/static/assets/dash-param-org-account-76fffb9337b633f2.css +1 -0
  203. package/dist/dash/standalone/static/assets/dash-param-org-agents-cc5d59edfc3cf0b1.css +1 -0
  204. package/dist/dash/standalone/static/assets/dash-param-org-agents-new-170499c849114150.css +1 -0
  205. package/dist/dash/standalone/static/assets/dash-param-org-agents-param-slug-dd4ac319a0d62432.css +1 -0
  206. package/dist/dash/standalone/static/assets/dash-param-org-agents-param-slug-edit-199a9991de1bf2d9.css +1 -0
  207. package/dist/dash/standalone/static/assets/dash-param-org-agents-param-slug-platforms-9d2e1439f3f7e81b.css +1 -0
  208. package/dist/dash/standalone/static/assets/dash-param-org-agents-param-slug-platforms-param-app-a6d559f0e26bd01b.css +1 -0
  209. package/dist/dash/standalone/static/assets/dash-param-org-agents-param-slug-settings-f21d4fcd3948139b.css +1 -0
  210. package/dist/dash/standalone/static/assets/dash-param-org-agents-param-slug-tasks-c8d6aa06f6e75f4c.css +1 -0
  211. package/dist/dash/standalone/static/assets/dash-param-org-agents-param-slug-usage-9cc128ba8af6ef62.css +1 -0
  212. package/dist/dash/standalone/static/assets/dash-param-org-operator-8d5ef55834d8deba.css +1 -0
  213. package/dist/dash/standalone/static/assets/dash-param-org-settings-7138821f5422d087.css +1 -0
  214. package/dist/dash/standalone/static/assets/dash-param-org-settings-param-tab-586fec34f285e9cb.css +1 -0
  215. package/dist/dash/standalone/static/assets/dash-param-org-setup-67679c1f84f352cf.css +1 -0
  216. package/dist/dash/standalone/static/assets/dash-param-org-tasks-be3cb3d64573f3d9.css +1 -0
  217. package/dist/dash/standalone/static/assets/dash-param-org-tasks-param-id-c20a0537bc82620d.css +1 -0
  218. package/dist/dash/standalone/static/assets/dash-param-org-usage-c534db20ce538fd2.css +1 -0
  219. package/dist/dash/standalone/static/assets/global-df2c26ad15039e8a.css +1 -0
  220. package/dist/dash/standalone/static/assets/{login-9760b85feae40270.css → login-148795638d6ff5d4.css} +1 -1
  221. package/dist/dash/standalone/static/assets/pnext-client-07b41bfab64b61c0.js +1 -0
  222. package/dist/dash/standalone/static/assets/pnext-client-0d388d56250f9f46.js +1 -0
  223. package/dist/dash/standalone/static/assets/pnext-client-1443e45181b60bb0.js +1 -0
  224. package/dist/dash/standalone/static/assets/pnext-client-27207e4f43f9a21b.js +1 -0
  225. package/dist/dash/standalone/static/assets/pnext-client-435db60553fa3a67.js +1 -0
  226. package/dist/dash/standalone/static/assets/pnext-client-523dd4071aa294ba.js +1 -0
  227. package/dist/dash/standalone/static/assets/pnext-client-5f6bda3919f68382.js +1 -0
  228. package/dist/dash/standalone/static/assets/pnext-client-684fd8ad16563ed3.js +1 -0
  229. package/dist/dash/standalone/static/assets/pnext-client-6b952cdda9a1eb2b.js +1 -0
  230. package/dist/dash/standalone/static/assets/pnext-client-6fe9e98f7dd8dcbf.js +1 -0
  231. package/dist/dash/standalone/static/assets/pnext-client-730c2c507a159f9e.js +1 -0
  232. package/dist/dash/standalone/static/assets/pnext-client-7c46573e45b67166.js +1 -0
  233. package/dist/dash/standalone/static/assets/pnext-client-83a865c3d75705bd.js +1 -0
  234. package/dist/dash/standalone/static/assets/pnext-client-907d1db4fb398a1d.js +1 -0
  235. package/dist/dash/standalone/static/assets/pnext-client-9baf701f3e641d09.js +1 -0
  236. package/dist/dash/standalone/static/assets/pnext-client-a57705e4e1047a9e.js +1 -0
  237. package/dist/dash/standalone/static/assets/pnext-client-b1af82c6f0db0033.js +1 -0
  238. package/dist/dash/standalone/static/assets/pnext-client-cede3bd7b2735942.js +1 -0
  239. package/dist/dash/standalone/static/assets/pnext-client-d9a3996f22b6816b.js +1 -0
  240. package/dist/dash/standalone/static/assets/pnext-client-f95364a0073ca4ce.js +1 -0
  241. package/dist/definition-D0OpQfGX.js +1 -0
  242. package/dist/discover-BfYHHJN_.js +1 -0
  243. package/dist/dispatch-BkoIU4GU.js +12 -0
  244. package/dist/{dist-DAnSqY1s.js → dist-B5qUdWUG.js} +35 -35
  245. package/dist/{dist-B2jiMMxZ.js → dist-Clxdruuu.js} +3 -3
  246. package/dist/{dist-ClCNj65n.js → dist-CymLGfHl.js} +4 -4
  247. package/dist/{adapter-Bz0E-DAY.js → dist-DX0JzVC6.js} +990 -990
  248. package/dist/{adapter-CsacmMmv.js → dist-DfD9WmV8.js} +39 -39
  249. package/dist/dist-node-B8VIVzUc.js +20 -0
  250. package/dist/docs-CxklYa3P.js +2 -0
  251. package/dist/drive-B7SBFfcb.js +1 -0
  252. package/dist/drizzle-orm-CYU7WOQS.js +2 -0
  253. package/dist/{emit-BrkJJPUE.js → emit-BgeqsCkC.js} +3 -3
  254. package/dist/env-BwFCHakK.js +1 -0
  255. package/dist/errors-DK_trCff.js +1 -0
  256. package/dist/exec-D9jF2F-H.js +3 -0
  257. package/dist/executor-DBW7R7Tf.js +11 -0
  258. package/dist/flow/builtin/review/index.d.ts +2 -2
  259. package/dist/flow/builtin/review/index.js +10 -15
  260. package/dist/flow/index.d.ts +2 -2
  261. package/dist/flow/index.js +1 -1
  262. package/dist/github-actions-2RjyRseX.js +36 -0
  263. package/dist/{hook-CIipj9MJ.js → hook-DN__zYOG.js} +1 -1
  264. package/dist/http-615JJgHo.js +5 -0
  265. package/dist/http-DRk8cDjf.js +1 -0
  266. package/dist/{index-ChcxzFdB.d.ts → index-CTAQrCRU.d.ts} +403 -307
  267. package/dist/integrations-DSZSa8Rc.js +9 -0
  268. package/dist/lib/broker.js +2 -2
  269. package/dist/load-BtIDghgd.js +2 -0
  270. package/dist/local-BzMvgiwL.js +5 -0
  271. package/dist/local-GIxwz_Or.js +1 -0
  272. package/dist/login-LlZrIlxb.js +8 -0
  273. package/dist/maintenance-DyiyHI8S.js +1 -0
  274. package/dist/mcp-Caq72REF.js +1 -0
  275. package/dist/mcp-CrtKQoVi.js +1 -0
  276. package/dist/mcp-cEIva8Pd.js +27 -0
  277. package/dist/metadata-D_bBfr3H.js +1 -0
  278. package/dist/models-BVxs3I8o.js +1 -0
  279. package/dist/output-BKeyLbvt.js +5 -0
  280. package/dist/permission-RSZM3DUk.js +1 -0
  281. package/dist/post-DLenID75.js +11 -0
  282. package/dist/prompt-CpwbsEWM.js +4 -0
  283. package/dist/refresh-CWEpTAkD.js +1 -0
  284. package/dist/remote-BDMuKaON.js +2 -0
  285. package/dist/remote-CY-qYX2C.js +1 -0
  286. package/dist/runner-CKMOh5Q3.js +1 -0
  287. package/dist/runner.json +1 -1
  288. package/dist/runner.tgz +0 -0
  289. package/dist/schema.d.ts +2 -2
  290. package/dist/schema.js +2 -3
  291. package/dist/sdk.d.ts +2857 -1405
  292. package/dist/sdk.js +1 -1
  293. package/dist/serve-D23JqDip.js +12 -0
  294. package/dist/serve-DoYbHm_k.js +5 -0
  295. package/dist/serve-YlU04KO7.js +1 -0
  296. package/dist/session-D7eeJIaH.js +1 -0
  297. package/dist/sessions-BGUfSe8L.js +1 -0
  298. package/dist/shared-BzNReirj.js +1 -0
  299. package/dist/sign-in-Dr6sU7vz.js +3 -0
  300. package/dist/state-CxAUec80.js +6 -0
  301. package/dist/store-BrnWdtRw.js +349 -0
  302. package/dist/task-CyqtCXo3.js +1 -0
  303. package/dist/task-DN4assR8.js +7 -0
  304. package/dist/tool-search-C9Ty3hhL.js +6 -0
  305. package/dist/tools-Ck-ZWtmB.js +1 -0
  306. package/dist/tools-DVtBtED6.js +1 -0
  307. package/dist/tools-search-BNDea9vZ.js +1 -0
  308. package/dist/turn-eI4iRPsq.js +3 -0
  309. package/dist/types-DHBqXFE2.js +1 -0
  310. package/dist/update-check-Bap3dwaj.js +1 -0
  311. package/dist/view-D-rbQ1Kz.js +4 -0
  312. package/dist/views-Bxm_5J6T.js +2 -0
  313. package/dist/worker-DJANNSCT.js +1 -0
  314. package/dist/worker-DeuC38Vp.js +7 -0
  315. package/dist/zod-_-snqfdO.js +1 -0
  316. package/dist/zod.js +65 -1
  317. package/docs/agents/coder.md +5 -1
  318. package/docs/agents/index.md +53 -82
  319. package/docs/approvals.md +47 -0
  320. package/docs/cli/agent.md +34 -13
  321. package/docs/cli/auth.md +1 -1
  322. package/docs/cli/connection.md +22 -21
  323. package/docs/cli/index.md +18 -14
  324. package/docs/cli/model.md +11 -11
  325. package/docs/cli/task.md +28 -30
  326. package/docs/config.md +37 -65
  327. package/docs/connections.md +80 -0
  328. package/docs/dash.md +23 -19
  329. package/docs/flows.md +46 -213
  330. package/docs/models.md +48 -78
  331. package/docs/review.md +49 -18
  332. package/docs/runners.md +49 -0
  333. package/docs/sdk.md +49 -73
  334. package/docs/self-host.md +81 -82
  335. package/package.json +4 -5
  336. package/plugins/agents/skills/coder/SKILL.md +3 -3
  337. package/plugins/claude/.claude-plugin/plugin.json +1 -1
  338. package/plugins/claude/skills/dispatch/SKILL.md +3 -3
  339. package/plugins/cursor/.cursor-plugin/plugin.json +1 -1
  340. package/plugins/cursor/README.md +3 -3
  341. package/plugins/cursor/skills/coder/SKILL.md +3 -3
  342. package/dist/actions-D12xDiQS.js +0 -4
  343. package/dist/adapter-DzpdWewB.js +0 -1
  344. package/dist/agent-JJStALIx.js +0 -8
  345. package/dist/apps-Bnk7F3A2.js +0 -379
  346. package/dist/args-Dqf5Y1RP.js +0 -1
  347. package/dist/async-Tj4zKHXR.js +0 -3
  348. package/dist/auth-BhpnOCbn.js +0 -1
  349. package/dist/base64url-CsVsW4Id.js +0 -1
  350. package/dist/chat-CSepnsrK.js +0 -13
  351. package/dist/cmd-BHZwhrfa.js +0 -118
  352. package/dist/connection-BkYTuJjV.js +0 -1
  353. package/dist/context-zhSlmXOp.js +0 -7
  354. package/dist/conversation-DT-35cEt.js +0 -1
  355. package/dist/core-DwsAMCnL.js +0 -65
  356. package/dist/dash/standalone/node_modules/contextjsx/dist/index.mjs +0 -1
  357. package/dist/dash/standalone/node_modules/contextjsx/dist/jsx-runtime.mjs +0 -1
  358. package/dist/dash/standalone/node_modules/contextjsx/dist/src-BJ0QFeB8.mjs +0 -2
  359. package/dist/dash/standalone/node_modules/contextjsx/package.json +0 -70
  360. package/dist/dash/standalone/server/modules-server-server-react-server/src/agent/context/turn.6bb73458768e222e.js +0 -129
  361. package/dist/dash/standalone/server/modules-server-server-react-server/src/core/defaults.e972c134a1ae918f.js +0 -55
  362. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/auth/sign-in.661b3a4139af5bd7.js +0 -11
  363. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/connect/page.04762872666a6f0a.js +0 -26
  364. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/(list)/connect-apps.8a20501ccb244421.js +0 -36
  365. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/(list)/page.d066b77dd3187026.js +0 -65
  366. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/operator/operator-apps.09bf294d753ee9d7.js +0 -115
  367. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/connections-list.97381888bfdd711b.js +0 -642
  368. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/engines-list.d47db60d7dc01ebd.js +0 -73
  369. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/list.a5b273558fb7f0f0.js +0 -156
  370. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/models-list.31d369f1b7ab45da.js +0 -444
  371. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/model-options.73f8d0d54f79d8e3.js +0 -100
  372. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/[id]/task-actions.51fbeac76459433a.js +0 -240
  373. package/dist/dash/standalone/static/assets/chunks/action-a76e495fb39a73d3.js +0 -1
  374. package/dist/dash/standalone/static/assets/chunks/agent-pills-4d3c6a2aa9eb1522.js +0 -2
  375. package/dist/dash/standalone/static/assets/chunks/agent-settings-form-f7231a66e391f6b6.js +0 -1
  376. package/dist/dash/standalone/static/assets/chunks/agent-toggle-d7d27123f2070f18.js +0 -1
  377. package/dist/dash/standalone/static/assets/chunks/agents-grid-185ecb3d86c6c447.js +0 -1
  378. package/dist/dash/standalone/static/assets/chunks/composer-56ebf36d63400423.js +0 -1
  379. package/dist/dash/standalone/static/assets/chunks/composer-a686289a79f64bae.js +0 -1
  380. package/dist/dash/standalone/static/assets/chunks/composer-data-f46a9bc7a14b4f9a.js +0 -1
  381. package/dist/dash/standalone/static/assets/chunks/connect-apps-696726aedab42c96.js +0 -1
  382. package/dist/dash/standalone/static/assets/chunks/connections-list-07559f145f3e3da3.js +0 -1
  383. package/dist/dash/standalone/static/assets/chunks/create-link-426b0a5871ee41dd.js +0 -1
  384. package/dist/dash/standalone/static/assets/chunks/credentials-list-f07d090410104148.js +0 -1
  385. package/dist/dash/standalone/static/assets/chunks/custom-range-6618f32ef6cd4e80.js +0 -1
  386. package/dist/dash/standalone/static/assets/chunks/editor-0860e370cbfc6b03.js +0 -6
  387. package/dist/dash/standalone/static/assets/chunks/engines-list-31b9bb7885924b05.js +0 -1
  388. package/dist/dash/standalone/static/assets/chunks/format-a27067f0186e78ac.js +0 -1
  389. package/dist/dash/standalone/static/assets/chunks/instructions-06b63e558f879da5.js +0 -1
  390. package/dist/dash/standalone/static/assets/chunks/instructions-2d9fbcbfadac4f40.js +0 -2
  391. package/dist/dash/standalone/static/assets/chunks/list-2773686bf8df64c7.js +0 -1
  392. package/dist/dash/standalone/static/assets/chunks/model-options-8d2170eebe0d061d.js +0 -1
  393. package/dist/dash/standalone/static/assets/chunks/models-list-03611e64b6a07efe.js +0 -1
  394. package/dist/dash/standalone/static/assets/chunks/notice-d14fdac28139c0a8.js +0 -1
  395. package/dist/dash/standalone/static/assets/chunks/outcome-dialog-d3ba8ef89c59f801.js +0 -1
  396. package/dist/dash/standalone/static/assets/chunks/platform-actions-2a71c62b9f7eaef3.js +0 -1
  397. package/dist/dash/standalone/static/assets/chunks/platform-actions-70600c9943320152.js +0 -1
  398. package/dist/dash/standalone/static/assets/chunks/runners-list-edf536eb8003eab5.js +0 -1
  399. package/dist/dash/standalone/static/assets/chunks/secrets-list-e86122f73525ff95.js +0 -1
  400. package/dist/dash/standalone/static/assets/chunks/shared-init-6e12333f12903a62-2.js +0 -1
  401. package/dist/dash/standalone/static/assets/chunks/shared-init-b281027d465e004f.js +0 -5
  402. package/dist/dash/standalone/static/assets/chunks/shared-init-c3bd249cf1eca6d1.js +0 -2
  403. package/dist/dash/standalone/static/assets/chunks/side-toggle-9b3af821cfe4c824.js +0 -1
  404. package/dist/dash/standalone/static/assets/chunks/task-a37e7c26e82eb77d.js +0 -1
  405. package/dist/dash/standalone/static/assets/chunks/task-actions-705395565f2d83b8.js +0 -1
  406. package/dist/dash/standalone/static/assets/chunks/task-view-cb21169f38b56d15.js +0 -6
  407. package/dist/dash/standalone/static/assets/chunks/tasks-list-d7dccfd7e0623ae0.js +0 -1
  408. package/dist/dash/standalone/static/assets/chunks/versions-list-f8f2e71df691efda.js +0 -1
  409. package/dist/dash/standalone/static/assets/connect-a550b6f3a8c00186.css +0 -1
  410. package/dist/dash/standalone/static/assets/create-param-id-c2c756f652f2fc30.css +0 -1
  411. package/dist/dash/standalone/static/assets/dash-param-org-account-702f8a1b213e4026.css +0 -1
  412. package/dist/dash/standalone/static/assets/dash-param-org-agents-aad2f9f93c06e9ab.css +0 -1
  413. package/dist/dash/standalone/static/assets/dash-param-org-agents-new-f9dcbcec36586f2b.css +0 -1
  414. package/dist/dash/standalone/static/assets/dash-param-org-agents-param-slug-8ff47f5d622c1f9b.css +0 -1
  415. package/dist/dash/standalone/static/assets/dash-param-org-agents-param-slug-edit-907036d553cfeb36.css +0 -1
  416. package/dist/dash/standalone/static/assets/dash-param-org-agents-param-slug-platforms-5cc77badad15f00c.css +0 -1
  417. package/dist/dash/standalone/static/assets/dash-param-org-agents-param-slug-settings-705d7c15868b4fd6.css +0 -1
  418. package/dist/dash/standalone/static/assets/dash-param-org-agents-param-slug-tasks-04e189c045098772.css +0 -1
  419. package/dist/dash/standalone/static/assets/dash-param-org-agents-param-slug-usage-76fcd1ce7b3dae71.css +0 -1
  420. package/dist/dash/standalone/static/assets/dash-param-org-eccb6bb9297a53e6.css +0 -1
  421. package/dist/dash/standalone/static/assets/dash-param-org-operator-635a121f7a9a95bd.css +0 -1
  422. package/dist/dash/standalone/static/assets/dash-param-org-settings-a3297dc4d9e0c961.css +0 -1
  423. package/dist/dash/standalone/static/assets/dash-param-org-settings-param-tab-bcb06f81d9e8268d.css +0 -1
  424. package/dist/dash/standalone/static/assets/dash-param-org-setup-df4be8b188b9777f.css +0 -1
  425. package/dist/dash/standalone/static/assets/dash-param-org-tasks-16f9866a1b4801cd.css +0 -1
  426. package/dist/dash/standalone/static/assets/dash-param-org-tasks-param-id-02ae551dcd852b57.css +0 -1
  427. package/dist/dash/standalone/static/assets/dash-param-org-usage-f2175403069aab99.css +0 -1
  428. package/dist/dash/standalone/static/assets/global-e1de614478b64717.css +0 -1
  429. package/dist/dash/standalone/static/assets/pnext-client-0dc829ba60df5c26.js +0 -1
  430. package/dist/dash/standalone/static/assets/pnext-client-14d191f7f1da6602.js +0 -1
  431. package/dist/dash/standalone/static/assets/pnext-client-169eaa63783b71fd.js +0 -1
  432. package/dist/dash/standalone/static/assets/pnext-client-1e34cfefafa70fac.js +0 -1
  433. package/dist/dash/standalone/static/assets/pnext-client-285d61f00a80f40b.js +0 -1
  434. package/dist/dash/standalone/static/assets/pnext-client-35b89c3ba23ee845.js +0 -1
  435. package/dist/dash/standalone/static/assets/pnext-client-6c42784e005d4b87.js +0 -1
  436. package/dist/dash/standalone/static/assets/pnext-client-6cd93f9bd4cf6ffd.js +0 -1
  437. package/dist/dash/standalone/static/assets/pnext-client-7355f473fade532d.js +0 -1
  438. package/dist/dash/standalone/static/assets/pnext-client-815c3c297f75efb0.js +0 -1
  439. package/dist/dash/standalone/static/assets/pnext-client-87fe73c10a4dc33c.js +0 -1
  440. package/dist/dash/standalone/static/assets/pnext-client-98b56a142d441260.js +0 -1
  441. package/dist/dash/standalone/static/assets/pnext-client-b4bafe68a40f720b.js +0 -1
  442. package/dist/dash/standalone/static/assets/pnext-client-bf61ff39bdc0db48.js +0 -1
  443. package/dist/dash/standalone/static/assets/pnext-client-c9fa86c244813f74.js +0 -1
  444. package/dist/dash/standalone/static/assets/pnext-client-d2e7a75e16221224.js +0 -1
  445. package/dist/dash/standalone/static/assets/pnext-client-d34e774405ea8da8.js +0 -1
  446. package/dist/dash/standalone/static/assets/pnext-client-d511822afdb41d1d.js +0 -1
  447. package/dist/dash/standalone/static/assets/pnext-client-e113aa2f25ecfe01.js +0 -1
  448. package/dist/dash/standalone/static/assets/pnext-client-eb62f461d0c32266.js +0 -1
  449. package/dist/discover-CHfF4cEz.js +0 -1
  450. package/dist/dist-node-Bv1kCqyi.js +0 -20
  451. package/dist/docs-KHc0_gFX.js +0 -2
  452. package/dist/drive-Bwl7Bjme.js +0 -1
  453. package/dist/env-6Y-NNnYD.js +0 -1
  454. package/dist/errors-DO_IltpP.js +0 -16
  455. package/dist/exec-BmTa0vcO.js +0 -4
  456. package/dist/executor-ufWRqhdS.js +0 -11
  457. package/dist/http-Cg8PSe-c.js +0 -1
  458. package/dist/integrations-I7fRDk_l.js +0 -4
  459. package/dist/load-BDlEFetB.js +0 -2
  460. package/dist/local-COlczLwI.js +0 -5
  461. package/dist/log-view-CfX9lakH.js +0 -4
  462. package/dist/maintenance-CKCIWOvn.js +0 -1
  463. package/dist/match-CufHAZQH.js +0 -1
  464. package/dist/mcp-BkwmRHI9.js +0 -2
  465. package/dist/mcp-CGU7aoJ-.js +0 -1
  466. package/dist/mcp-DAHbhfUh.js +0 -13
  467. package/dist/models-CzggS7p2.js +0 -1
  468. package/dist/output-SNqdgh9A.js +0 -17
  469. package/dist/permission-MWFjKxqX.js +0 -1
  470. package/dist/prompt-CIx4jwQF.js +0 -8
  471. package/dist/refresh-CxsaX5R9.js +0 -1
  472. package/dist/remote-C9Hj2cby.js +0 -2
  473. package/dist/remote-HUZCWgfl.js +0 -3
  474. package/dist/runner-DYysY1-G.js +0 -1
  475. package/dist/runners-CfaGE0nV.js +0 -36
  476. package/dist/serve-DdAdw7Su.js +0 -4
  477. package/dist/serve-NQykWAKV.js +0 -1
  478. package/dist/serve-vKNqVaVy.js +0 -12
  479. package/dist/slack-BtKvW_4v.js +0 -5
  480. package/dist/task-CFxs0E_J.js +0 -1
  481. package/dist/task-iuYQ0zAK.js +0 -7
  482. package/dist/tools-B6ZxcqRi.js +0 -2
  483. package/dist/tools-FVop8XYG.js +0 -1
  484. package/dist/tools-search-kjKKolwp.js +0 -1
  485. package/dist/turn-DQ13lkPF.js +0 -2
  486. package/dist/types-DPtbvoo3.js +0 -1
  487. package/dist/types-DmThhjcW.js +0 -1
  488. package/dist/views-CMHXBMJp.js +0 -3
  489. package/dist/wire-C9CupY_A.js +0 -1
  490. package/dist/worker-BQpx1dPr.js +0 -9
  491. package/dist/worker-sTJL2eoe.js +0 -1
  492. package/dist/zod-BoqHoRCH.js +0 -1
  493. package/docs/access.md +0 -33
  494. package/docs/mcp.md +0 -54
  495. /package/dist/dash/standalone/server/modules-server-server-react-server/src/core/{errors.1bd0542d832ae0c0.js → errors.200335e62a9d9564.js} +0 -0
  496. /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
  497. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/platforms/{page.107e622830bff31d.css.pnext-asset.js → page.1c7947d6f79d6447.css.pnext-asset.js} +0 -0
  498. /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
  499. /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]/(tabs)/settings/agent-settings-form.bf5430862c505c55.css.pnext-asset.js} +0 -0
  500. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/{editor/editor.1eb1bce282b289c9.css.pnext-asset.js → [slug]/platforms/[app]/@/app/dash/[org]/agents/[slug]/(tabs)/platforms/page.db05694ed4113dab.css.pnext-asset.js} +0 -0
  501. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/{layout.a4efa8d807fe5416.css.pnext-asset.js → agents/[slug]/platforms/[app]/app-cards.d2f5c8d620066e05.css.pnext-asset.js} +0 -0
  502. /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
  503. /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
  504. /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
  505. /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
  506. /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
  507. /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
  508. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/{tasks/[id]/task-view.42337a0d7c6ad0b6.css.pnext-asset.js → settings/[tab]/list.69d1b62c4066015b.css.pnext-asset.js} +0 -0
  509. /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
  510. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/{tasks/list/tasks-list.2f90c4410f843fff.css.pnext-asset.js → settings/[tab]/runners-list.df35d33aba0c8b07.css.pnext-asset.js} +0 -0
  511. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/{globals.f8ac779f0ebf888b.css.pnext-asset.js → dash/[org]/settings/model-pick.74fababc0cc0bba7.css.pnext-asset.js} +0 -0
  512. /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.440367ae07204ee7.css.pnext-asset.js} +0 -0
  513. /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/composer.33d49ad218253703.css.pnext-asset.js} +0 -0
  514. /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/pending-approvals.07e59a9cae7ccf29.css.pnext-asset.js} +0 -0
  515. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/{comps/ui/button.d7f4433f4e7faa80.css.pnext-asset.js → app/dash/[org]/tasks/list/tasks-list.f3737549b4696cc8.css.pnext-asset.js} +0 -0
  516. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/{comps/ui/card.f80288cc42f9bcae.css.pnext-asset.js → app/globals.3b53a3feaa1d72e1.css.pnext-asset.js} +0 -0
  517. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/{comps/ui/filter.b53f21acc3e2cfef.css.pnext-asset.js → app/responsive.2979ffa0161a5afd.css.pnext-asset.js} +0 -0
  518. /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
  519. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{toolbar.19e1ce5224a23acf.css.pnext-asset.js → badge.8e2a9842b28f44a6.css.pnext-asset.js} +0 -0
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`, `appendSystem`, `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 `{ note, body, findings, summary, pr? }`. Posting happens inside the flow; server tasks use the `review` tool instead of running this flow by name.
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`.
package/docs/models.md CHANGED
@@ -1,98 +1,68 @@
1
+ ---
2
+ description: Built-in Claude and Codex models, custom endpoints, aliases, the chain, and turning models off.
3
+ ---
4
+
1
5
  # Models
2
6
 
3
- Manage every model Coder can dispatch to. That means the built-in Codex and Claude aliases, and your own - any OpenAI-compatible URL, like Ollama or llama.cpp on your laptop, a vLLM GPU box, OpenRouter, etc. Custom models work like any built-in: no login, and permissions, steering, and fallback just work.
7
+ Every model a task can run: the built-in Codex and Claude models, aliases, and custom models at any OpenAI-compatible URL, such as Ollama or llama.cpp on a laptop, a vLLM box or OpenRouter. A custom model works like a built-in one: no login, and permissions, steering and fallback all apply.
4
8
 
5
- ## Connect a model
9
+ ## Pick a model
6
10
 
7
- ```bash
8
- # local Ollama model, no key
9
- coder model add qwen --base-url http://localhost:11434/v1 --model qwen2.5-coder:32b
11
+ `--model`, an agent's `model`, `chain` and `reviewModel` each take one spec:
12
+ - `<name>`: a built-in, an alias, a custom model, or an engine (`codex`, `claude`) for its model.
13
+ - `<name>/<effort>`: `sol/low`, `fast/high`.
14
+ - `<engine>/<model>`, `<engine>/<model>/<effort>`: `claude/opus`, `codex/gpt-6.1-sol/high`.
10
15
 
11
- # third-party provider via OpenRouter, key read from the environment
12
- coder model add kimi --base-url https://openrouter.ai/api/v1 --env-key OPENROUTER_API_KEY --model moonshotai/kimi-k2
13
- ```
14
-
15
- `model add` saves the entry, probes the endpoint, and reports anything missing (unreachable URL, unset key env var, no codex). Change one later with `coder model update <name>`, drop it with `coder model remove <name>`. Flags:
16
+ Effort is `low`, `medium` or `high`; without one, `medium`, unless the alias sets its own. On a custom chat endpoint it's sent as OpenRouter's `reasoning.effort`.
16
17
 
17
- | Flag | Meaning |
18
- | ------------------ | ------------------------------------------------------------- |
19
- | `--base-url <url>` | OpenAI-compatible API base (e.g. `http://localhost:11434/v1`) |
20
- | `--model <id>` | the provider's model id (e.g. `qwen2.5-coder:32b`) |
21
- | `--env-key <VAR>` | env var holding the API key; omit for keyless local endpoints |
22
- | `--context-window <tokens>` | the model's context window, filled when the provider reports it; Codex compacts at 90% of it |
23
- | `--workspace` | write to `<repo>/.coder/config.json` instead of the user file |
18
+ ## The chain
24
19
 
25
- ## Use it
26
-
27
- Anywhere a model name goes; together they form the `custom` engine:
20
+ `chain` lists models in order, default `["codex/sol", "claude/opus"]`. A task runs its own model (from `--model` or its agent) else the first entry. When a model can't start (missing CLI, sign-in, quota, rate limit), the next one runs; a turn that already did work fails with the reason instead. Within one model, the asker's own subscription and key come before the workspace's. **# Settings → (Models)** shows the chain and what each entry runs on for the viewer.
28
21
 
29
22
  ```bash
30
- coder run --model qwen "explain this repo" # per task
31
- coder run --engine custom "explain this repo" # the custom engine (its default model, or the only one)
32
- coder config set engines.custom.model qwen # default model for --engine custom
33
- coder model list # list models + probe their endpoints
23
+ coder config set chain '["codex/sol", "claude/opus", "qwen"]'
34
24
  ```
35
25
 
36
- Add `custom` to the fallback chain to make your models a fallback tier, e.g. a local model that takes over when the hosted engines are out of quota:
26
+ ## Built-ins and aliases
27
+
28
+ | Name | Runs | Needs |
29
+ |---|---|---|
30
+ | `luna` | `codex/gpt-6-luna` | codex 0.156.1 |
31
+ | `sol` | `codex/gpt-6.1-sol` | codex 0.159.1 |
32
+ | `astra` | `codex/gpt-6-astra`, the review default | codex 0.154.0 |
33
+ | `sonnet` | `claude/sonnet` | claude 2.1.197 |
34
+ | `opus` | `claude/opus` | claude 2.1.280 |
35
+ | `fable` | `claude/fable` | claude 2.1.257 |
36
+ | `codex`, `claude` | `codex/sol`, `claude/opus` | |
37
+
38
+ A task on an older CLI still runs, with a warning to update it. Claude names pass to the claude CLI, which resolves them (`opus` is Claude Opus 5.5 today); any full model id also works.
39
+
40
+ An alias names a spec, and one with a built-in's name overrides it:
37
41
 
38
42
  ```bash
39
- coder config set chain '["codex", "claude", "custom"]'
43
+ coder model alias fast codex/luna/low
44
+ coder model alias claude claude/sonnet/high # --model claude now runs sonnet at high
45
+ coder model unalias claude # back to the built-in
46
+ coder model disable astra # can't be picked or fallen back to
40
47
  ```
41
48
 
42
- ## Built-ins, aliases, disabling
49
+ ## Connect a model
43
50
 
44
- Built-ins are just pre-seeded aliases tied to an engine, so `coder model list`
45
- shows them and your own aliases together, grouped per engine. Disable
46
- any model name - a built-in, a custom model, an alias, or a raw engine slug
47
- like `gpt-6-astra` - without removing its configuration, then re-enable it
48
- when needed; requests for a disabled model fail at dispatch:
51
+ Under **# Settings → (Models)** or with `coder model add`:
49
52
 
50
53
  ```bash
51
- coder model disable astra
52
- coder model enable astra
54
+ coder model add qwen --base-url http://localhost:11434/v1 --model qwen2.5-coder:32b
55
+ coder model add kimi --base-url https://openrouter.ai/api/v1 --env-key OPENROUTER_API_KEY --model moonshotai/kimi-k2
53
56
  ```
54
57
 
55
- Create an alias for an engine spec with `coder model alias fast codex:luna`
56
- (effort can ride along: `coder model alias big claude:opus:high`); remove it
57
- with `coder model unalias fast`. Aliases may reuse a built-in name, so
58
- `coder model alias luna codex:gpt-x` intentionally overrides the built-in
59
- `luna`, and `model list` shows the override in its place.
60
-
61
- The built-ins:
62
-
63
- | Alias | Model | Use it for | Needs |
64
- | -------- | --------------------- | -------------------------------- | -------------- |
65
- | `luna` | `gpt-6-luna` (codex) | mechanical work | codex 0.156.1 |
66
- | `sol` | `gpt-6.1-sol` (codex) | the default | codex 0.159.1 |
67
- | `astra` | `gpt-6-astra` (codex) | the hardest work; costs the most | codex 0.154.0 |
68
- | `sonnet` | `sonnet` (claude) | mechanical work | claude 2.1.197 |
69
- | `opus` | `opus` (claude) | the default | claude 2.1.280 |
70
- | `fable` | `fable` (claude) | the hardest work; costs the most | claude 2.1.257 |
71
-
72
- A task on an older CLI still runs, with a warning to run `codex update` or
73
- `claude update`.
74
-
75
- Claude aliases pass through to the claude CLI, which resolves them to its
76
- current model (`opus` is Claude Opus 5.5 today). Any full model id, such as
77
- `gpt-5.6-sol` or `claude-sonnet-5`, also works as a pass-through.
78
-
79
- ## Config shape
80
-
81
- Every model command writes the one `models` section of the
82
- [config](config.md); the entry's shape says what it is (endpoint,
83
- engine alias, or a bare disable toggle for any model name):
84
-
85
- ```json
86
- {
87
- "models": {
88
- "qwen": {
89
- "baseUrl": "http://localhost:11434/v1",
90
- "model": "qwen2.5-coder:32b",
91
- "envKey": "MY_KEY"
92
- },
93
- "fast": { "provider": "codex", "model": "gpt-6-luna" },
94
- "big": { "provider": "claude", "model": "opus", "effort": "high" },
95
- "astra": { "disabled": true }
96
- }
97
- }
98
- ```
58
+ `model add` saves the entry, checks the endpoint, and reports what's missing (unreachable URL, unset key variable, no codex). `coder model update <name>` changes one, `coder model remove <name>` drops it, `coder model list` lists every name and checks endpoints.
59
+
60
+ | Flag | Meaning |
61
+ |---|---|
62
+ | `--base-url <url>` | OpenAI-compatible API base |
63
+ | `--model <id>` | The provider's model id |
64
+ | `--env-key <VAR>` | The variable holding the API key; omit for keyless local endpoints |
65
+ | `--context-window <tokens>` | Filled in when the provider reports it; Codex compacts at 90% |
66
+ | `--workspace` | Write the repo's `.coder/config.json` instead of the user file |
67
+
68
+ Entries live in the `models` section of the [config](config.md#models).
package/docs/review.md CHANGED
@@ -1,6 +1,10 @@
1
+ ---
2
+ description: coder review, a read-only review of local changes or a pull request.
3
+ ---
4
+
1
5
  # Review
2
6
 
3
- `coder review` runs one read-only review task over local changes or a pull request, checks every finding against the repository, and prints the ones that hold. With `--post` it comments inline on the pull request and keeps one sticky summary; a posted finding is never posted again, even after its line moves. A local review covers everything since the merge-base with the origin default branch, committed or not, and never touches the index or working tree.
7
+ `coder review` runs one read-only review task over local changes or a pull request, checks every finding against the repository, and prints the ones that hold. With `--post` it posts one review on the pull request: the reviewer's one-line title and markdown body, followed by a list and footer built by code, and an inline comment for each new finding. A posted finding is never posted again, even after its line moves. A local review covers everything since the merge-base with the origin default branch, committed or not, and never touches the index or working tree.
4
8
 
5
9
  ```sh
6
10
  coder review # local changes since the default branch
@@ -10,21 +14,21 @@ coder review --pr 42 --post # pull request 42, posted as comments
10
14
 
11
15
  ## Flags
12
16
 
13
- | Flag | Meaning | Default |
14
- | ----------------------- | -------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------- |
15
- | `--effort <level>` | Model reasoning effort and review depth: `low` reports critical and major defects, `medium` any defect, `high` also minor issues | Repository configuration, `medium` |
16
- | `--base <ref>` | Older side of a local diff | Merge-base of `HEAD` and the origin default branch |
17
- | `--head <ref>` | Newer side of a local diff, commits only | The working tree |
18
- | `--pr <n \| url>` | Pull request number in the origin repo, or a GitHub pull request URL | Local diff |
19
- | `--since <sha>` | Keep only pull request hunks changed after this commit | Head in the previous sticky summary |
20
- | `--path <p>` | Review only this pathspec; repeatable | Everything |
21
- | `--exclude <p>` | Leave this pathspec out; repeatable | Nothing |
22
- | `--post` | Post inline comments and update the sticky summary; needs `--pr` | Print only |
23
- | `--md` | Print Markdown | Enabled unless `--json` is used |
24
- | `--json` | Print `{ findings, summary, runId }` | Disabled |
25
- | `--engine <name>` | Engine for the review task | Repository configuration |
26
- | `--model <alias\|slug>` | Model for the review task | Repository configuration |
27
- | `--cwd <dir>` | Checkout to review | Current directory |
17
+ | Flag | Meaning | Default |
18
+ | --- | --- | --- |
19
+ | `--base <ref>` | Older side of a local diff | Merge-base of `HEAD` and the origin default branch |
20
+ | `--head <ref>` | Newer side of a local diff, commits only | The working tree |
21
+ | `--pr <n \| url>` | Pull request number in the origin repo, or a GitHub pull request URL | Local diff |
22
+ | `--since <sha>` | Keep only pull request hunks changed after this commit | Head of the last posted review |
23
+ | `--path <p>` | Review only this pathspec, repeatable | Everything |
24
+ | `--exclude <p>` | Leave this pathspec out, repeatable | Nothing |
25
+ | `--post` | Post the review on the pull request as the signed-in `gh` user. Needs `--pr` | Print only |
26
+ | `--run <id>` | With `--post`, post a finished review run instead of reviewing again | Review now |
27
+ | `--md` | Print Markdown | Enabled unless `--json` is used |
28
+ | `--json` | Print `{ title, body, findings, summary, pr?, runId }` | Disabled |
29
+ | `--model <spec>` | [Model spec](models.md#pick-a-model) for the review task | The workspace's `reviewModel` |
30
+ | `--depth <low\|medium\|high>` | What to report: `low` critical and major defects, `medium` any defect a maintainer would act on, `high` also minor issues | `medium` |
31
+ | `--cwd <dir>` | Checkout to review | Current directory |
28
32
 
29
33
  `--pr` cannot be combined with `--base` or `--head`, and `--json` cannot be combined with `--md`.
30
34
 
@@ -34,12 +38,39 @@ The reviewer reads `AGENTS.md`, `CLAUDE.md`, and an optional `.coder/review.md`
34
38
 
35
39
  ## Submodules
36
40
 
37
- Changed submodules are reviewed file by file under their path. Uninitialized ones, ones missing a needed commit, and nested repositories that are not submodules are skipped with a warning, and submodule findings are never posted inline.
41
+ Changed submodules are reviewed file by file under their path. Uninitialized ones, ones missing a needed commit, and nested repositories that are not submodules are skipped with a warning. Submodule findings are listed in the posted review with their full path, never inline.
38
42
 
39
43
  ## Exit codes
40
44
 
41
45
  The command exits `0` when the review completes, even with findings, `1` when the diff, review, or posting fails, `3` when no engine starts, and `4` while a task awaits approval.
42
46
 
47
+ ## Posted review
48
+
49
+ One GitHub review per run: the reviewer's title and body, then the findings list headed `Reviewed b34340e: 3 issues` (the compare range on a rerun), each title linked to its inline thread at `file:12` or `file:12-20`. Basic output uses bold severity words and a small Markdown footer linking coder cloud (or coder cli) and the task when present. Inline comments put the bold severity between the title and failure. The CLI and self-hosted servers use basic output, with no images. With nothing found, `Nothing to report.`
50
+
51
+ Reviews post plain Markdown: bold severity words and a `Posted by` line. A server with `REVIEW_ASSETS` set ([Self-host](self-host.md)) shows themed severity pills and buttons from that path or URL instead. coder.wular.ai sets it to the SVGs its site serves.
52
+
53
+ - A rerun reviews only commits since the last posted review, and never posts a finding twice. After a force-push it says so.
54
+ - The reviewer sees up to 100 earlier findings on the pull request with their state, never reply text. Only a resolved thread settles one.
55
+ - Posting stops if the pull request moved since it was read: `The pull request moved to <sha7> since this review. Review again.`
56
+ - Model text cannot ping, add HTML, images or links.
57
+ - On a Coder server the review also runs a `Coder review` check on the head commit:
58
+ - `success`: clean, with no unresolved earlier findings.
59
+ - `neutral`: findings, earlier findings still unresolved (`no new issues, N unresolved`), or the review itself failed.
60
+ - `skipped`: the head moved. `cancelled`: stopped or timed out.
61
+
62
+ Findings never fail the check. Red means the change is broken, not that Coder had an opinion or an outage. Resolve a thread on GitHub to clear it. Any event on a pull request gets the check. It uses a separate checks-only token, and agent tokens never carry Checks. An installation that has not accepted the Checks permission yet gets reviews without the check. The CLI and local reviews post no check.
63
+
64
+ ## Who posts
65
+
66
+ - A pull request event or any task on a repository on a Coder server: the agent's `review` tool. The runner drives it with the agent's app token and the review posts as the app. A task started elsewhere, such as from Slack, gets its findings unposted. A `read-only` task posts only on its own event's pull request. The reviewer itself never gets the token.
67
+ - The `review` tool of a task on this machine: the findings come back unposted. Posting them as you takes your approval of `coder review --post --run <id>`.
68
+ - `coder review --pr <n> --post`: posts as the `gh` user signed in here.
69
+
70
+ A repository's own `.coder/flows/review.ts` replaces the built-in flow but gets neither the app's token nor the checks token, so it cannot post or set checks as the app.
71
+
72
+ A reviewer runs as the same OS user as its task, so a read-only sandbox stops writes, not reads: files the task's turn holds, including its git credential, are reachable. Only a machine sandbox or a separate user isolates them.
73
+
43
74
  ## From a task
44
75
 
45
- Every task has a `review` tool. It reviews the task's uncommitted changes in the background, or those since `base`, and sends the findings to the task as a message. One review runs at a time, at most 5 per task.
76
+ Every task has a `review` tool. It reviews the task's uncommitted changes in the background, or those since `base`, or a pull request, and sends the findings to the task as a message. One review runs at a time, at most 5 per turn.
@@ -0,0 +1,49 @@
1
+ ---
2
+ description: Runners, the machines tasks run on; kinds, personal and workspace runners, pairing a member's machine, and which runner a task uses.
3
+ ---
4
+
5
+ # Runners
6
+
7
+ A runner is the machine a task runs on, with its own engine logins. Manage them under **# Settings → (Runners)** or with `coder runner`.
8
+
9
+ ## Kinds
10
+
11
+ | Kind | Runs tasks on |
12
+ | --- | --- |
13
+ | Server default | What the server's operator set (`RUNNER`, see [Self-host](self-host.md#runners)) |
14
+ | Your machine | A member's own computer, paired once; on a local server, Another machine |
15
+ | Vercel Sandbox | A fresh Vercel machine per task |
16
+ | GitHub Actions | A workflow run in a chosen repository |
17
+ | HTTP runner | Any controller that speaks the runner protocol |
18
+ | Docker on the server | A container on the server's machine; only on a local server |
19
+
20
+ ## Personal or workspace
21
+
22
+ - **Personal:** runs only its owner's tasks. Any member adds one.
23
+ - **Workspace:** runs every member's tasks. Only owners and admins add one.
24
+
25
+ Each scope has one default, set with `coder runner default <id>` or **[Make default]**.
26
+
27
+ ## A member's own machine
28
+
29
+ `coder runner serve` runs the server's tasks on this machine with its own `claude` and `codex` logins, so it needs no engine credential. The server reaches it through any public HTTPS tunnel, such as `cloudflared tunnel --url http://localhost:4100`, `ngrok http 4100` or `tailscale funnel 4100`.
30
+
31
+ - **Signed in** (`coder auth login`): `coder runner serve --url <tunnel address>`.
32
+ - **Paired from the dashboard:** **# Settings → (Runners) → [Add runner] → Your machine** shows a one-use token valid for 15 minutes. Then `coder runner serve --url <server> --token <token> --runner-url <tunnel address>`.
33
+
34
+ Each start registers the current tunnel address, so a changing address is fine. The runner calls home every minute and shows offline after five without one. `--workspace` (owners and admins) makes it run every member's tasks. A task's work folder stays across turns and goes when the task is deleted.
35
+
36
+ ## Which runner a task uses
37
+
38
+ 1. The runner the task names (`coder task run --runner`).
39
+ 2. Its agent's runner.
40
+ 3. The person's own default, on their own tasks and DMs.
41
+ 4. The workspace default.
42
+ 5. The server default.
43
+
44
+ A member's machine and an HTTP runner can use their machine's own engine logins. Every other kind needs an engine credential under **# Settings → (Credentials)**.
45
+
46
+ ## GitHub Actions and Vercel Sandbox
47
+
48
+ - **GitHub Actions:** save the output of `coder server workflow` as `.github/workflows/coder-agent.yml` on the repository's default branch, and save it again after each Coder upgrade. Its token needs Actions read and write on that repository. Job logs appear after GitHub archives them.
49
+ - **Vercel Sandbox:** supply the team and project IDs, or the server's `VERCEL_TEAM_ID` and `VERCEL_PROJECT_ID`. Logs stream while the task runs.