@wular/coder 0.4.11 → 0.4.12

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 (329) hide show
  1. package/README.md +3 -1
  2. package/dist/actions-BT7_eKXm.js +10 -0
  3. package/dist/{adapter-Bi768A94.js → adapter-BT8ECcRG.js} +1 -1
  4. package/dist/{adapter-CkL4PqXE.js → adapter-CU9H4g6c.js} +1 -1
  5. package/dist/{adapter-DYxjaefw.js → adapter-CVd5klMH.js} +1 -1
  6. package/dist/{agent-6GooVMsq.js → agent-BA6xr8QY.js} +2 -2
  7. package/dist/apps-D-v5sQJk.js +367 -0
  8. package/dist/args-CbO_Ck9Z.js +11 -0
  9. package/dist/async-XNO3nqum.js +3 -0
  10. package/dist/auth-DuXnSNf9.js +1 -0
  11. package/dist/base64url-CsVsW4Id.js +1 -0
  12. package/dist/chat-CgQdDRhs.js +13 -0
  13. package/dist/cli.js +19 -1
  14. package/dist/{client-sqXb-y09.js → client-C4QCT6cG.js} +2 -2
  15. package/dist/cmd-DX5ByXo3.js +119 -0
  16. package/dist/connection-DNxi2btM.js +1 -0
  17. package/dist/context-65bOofts.js +7 -0
  18. package/dist/dash/standalone/node_modules/contextjsx/dist/index.mjs +1 -0
  19. package/dist/dash/standalone/node_modules/contextjsx/dist/jsx-runtime.mjs +1 -0
  20. package/dist/dash/standalone/node_modules/contextjsx/dist/src-BJ0QFeB8.mjs +2 -0
  21. package/dist/dash/standalone/node_modules/contextjsx/package.json +70 -0
  22. package/dist/dash/standalone/server/build-index.json +1 -1
  23. package/dist/dash/standalone/server/manifest.json +1310 -1310
  24. package/dist/dash/standalone/server/modules-server-server-react-server/src/agent/context/turn.dac8eb211c500271.js +141 -0
  25. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/create/[id]/page.70913bd4075da914.js +1 -1
  26. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/(list)/{page.5f88059c03cf82b4.js → page.c6efd5432c1a4a75.js} +3 -3
  27. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/{layout.b7392d534ce0410e.js → layout.a795379254982121.js} +3 -3
  28. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/{page.5aae24bbfd90c434.js → page.a2cb6d1f1714259a.js} +4 -4
  29. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/platforms/{page.91c992fdd3b4a493.js → page.996172c951739b35.js} +5 -5
  30. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/settings/{agent-settings-form.eb707a9e32718374.js → agent-settings-form.aa9e157d141481d7.js} +1 -1
  31. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/settings/{page.9ec1ec08ba05da59.js → page.44d886e60ae04303.js} +3 -3
  32. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/tasks/{loading.dd9088a4581b1d65.js → loading.521c9e7b8d77f557.js} +1 -1
  33. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/tasks/{page.71dc042821133e82.js → page.828cfb8112404792.js} +1 -1
  34. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/edit/{page.e3179ddf20a7e55d.js → page.dd11f2618e08becd.js} +2 -2
  35. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/editor/{editor.62cb8207218e6437.js → editor.776856fe1ed1a642.js} +1 -1
  36. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/new/{page.dffb05f2d256d81a.js → page.7d84ef2b178b34d2.js} +2 -2
  37. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/credentials.b43dd3d97c536c2a.js +3 -3
  38. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/page.dfed4ae6ffc74434.js +5 -5
  39. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/setup/page.f06fda0df59beeb5.js +1 -1
  40. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/[id]/{loading.56520888d5270b88.js → loading.47cbb34ea8d2e33f.js} +1 -1
  41. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/[id]/{page.25b29e72df84806b.js → page.abed2a8424ef3da0.js} +2 -2
  42. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/[id]/{task-view.f2e902c8208b2e78.js → task-view.dc294bb94b7437e1.js} +1 -1
  43. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/{composer.b0bb1faaac8e0b6c.js → composer.5072aacdce127689.js} +1 -1
  44. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/list/{task.a0c68180db5fb4c1.js → task.0a1b5878dccd3b37.js} +1 -1
  45. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/list/{tasks-list.b52a49fb5faeefd0.js → tasks-list.1162926f7498c732.js} +6 -6
  46. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/list/{tasks-section.80f9c9a42ecae854.js → tasks-section.1d687c986db53a73.js} +3 -3
  47. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/{page.20b5c22658eae312.js → page.d5d8cb5033823c9c.js} +1 -1
  48. package/dist/dash/standalone/static/assets/chunks/action-71685b2d5ad9f359.js +1 -0
  49. package/dist/dash/standalone/static/assets/chunks/{agent-pills-bd32cb89331aff7e.js → agent-pills-15da36c2cb81991b.js} +1 -1
  50. package/dist/dash/standalone/static/assets/chunks/agent-settings-form-6e6a87d6e673daa8.js +1 -0
  51. package/dist/dash/standalone/static/assets/chunks/{agent-toggle-a45b95908d62f926.js → agent-toggle-ca98586e3b4ce9ae.js} +1 -1
  52. package/dist/dash/standalone/static/assets/chunks/{agents-grid-9f79b5074899c8be.js → agents-grid-29c399e46b4e9e2b.js} +1 -1
  53. package/dist/dash/standalone/static/assets/chunks/{back-b0cd2b85c9d8403e.js → back-fa9d6e37f9828093.js} +1 -1
  54. package/dist/dash/standalone/static/assets/chunks/{combo-1050768988cd0347.js → combo-86f3e11d1f6f6cee.js} +1 -1
  55. package/dist/dash/standalone/static/assets/chunks/{composer-87f138e21d68370d.js → composer-85e0ec7163ae18b7.js} +1 -1
  56. package/dist/dash/standalone/static/assets/chunks/composer-910bb87127972f62.js +1 -0
  57. package/dist/dash/standalone/static/assets/chunks/{confirm-01d5814b1c5f7721.js → confirm-c29a1db0130638d2.js} +1 -1
  58. package/dist/dash/standalone/static/assets/chunks/connect-apps-b73490e04ae6398d.js +1 -0
  59. package/dist/dash/standalone/static/assets/chunks/{connect-repositories-49098298b3a82647.js → connect-repositories-0de82daaf654b1d3.js} +1 -1
  60. package/dist/dash/standalone/static/assets/chunks/{connections-list-46d48443d8fc8a0d.js → connections-list-c50f58b4b28d10bb.js} +1 -1
  61. package/dist/dash/standalone/static/assets/chunks/{copy-5db9d328f8f65d82.js → copy-445c11202f136275.js} +1 -1
  62. package/dist/dash/standalone/static/assets/chunks/create-link-6d64a2d5f9ce6de0.js +1 -0
  63. package/dist/dash/standalone/static/assets/chunks/{credentials-list-3cccc85ef335cb22.js → credentials-list-bee95799b2319b3b.js} +1 -1
  64. package/dist/dash/standalone/static/assets/chunks/{custom-range-fdf1946aac09cfc3.js → custom-range-a0630599f907b30e.js} +1 -1
  65. package/dist/dash/standalone/static/assets/chunks/{editor-d2460c315bb1fd32.js → editor-b9951819f21b2e43.js} +2 -2
  66. package/dist/dash/standalone/static/assets/chunks/{engines-list-0159c8baa0b3e711.js → engines-list-2720c3e8fa12b2f7.js} +1 -1
  67. package/dist/dash/standalone/static/assets/chunks/{field-c530e261587d94df.js → field-b82a0f895266791c.js} +1 -1
  68. package/dist/dash/standalone/static/assets/chunks/{instructions-3ea5afeea1992bf2.js → instructions-affaaeff366b1725.js} +1 -1
  69. package/dist/dash/standalone/static/assets/chunks/instructions-fd7402ac5aa8b50e.js +1 -0
  70. package/dist/dash/standalone/static/assets/chunks/{list-b67ce61483dd6acb.js → list-d918f79562d497eb.js} +1 -1
  71. package/dist/dash/standalone/static/assets/chunks/{models-list-98c956ba00913a73.js → models-list-12bc7aceaa52f5b0.js} +1 -1
  72. package/dist/dash/standalone/static/assets/chunks/{notice-8939183c8a889bae.js → notice-57db7a1f05b7308c.js} +1 -1
  73. package/dist/dash/standalone/static/assets/chunks/{outcome-dialog-6323cb5300b6d3c9.js → outcome-dialog-5cf575a5e6921a5d.js} +1 -1
  74. package/dist/dash/standalone/static/assets/chunks/outcome-dialog-b219595be320108a.js +1 -0
  75. package/dist/dash/standalone/static/assets/chunks/platform-actions-1d27d2ba7eee9ff1.js +1 -0
  76. package/dist/dash/standalone/static/assets/chunks/{platform-actions-aafbf038008de64f.js → platform-actions-dba96dcb0f6513db.js} +1 -1
  77. package/dist/dash/standalone/static/assets/chunks/{runners-list-a13d0f8f6583c6d2.js → runners-list-36f8c5ecfcf8e9ae.js} +1 -1
  78. package/dist/dash/standalone/static/assets/chunks/{runtime-71b727f8f5906f08-1.js → runtime-6e12333f12903a62-1.js} +1 -1
  79. package/dist/dash/standalone/static/assets/chunks/{secrets-list-53a0c079492199c9.js → secrets-list-d7dbafd24dd18481.js} +1 -1
  80. package/dist/dash/standalone/static/assets/chunks/{segmented-a3642b8169857fb1.js → segmented-8f809ebe712e92a7.js} +1 -1
  81. package/dist/dash/standalone/static/assets/chunks/shared-init-6e12333f12903a62-2.js +1 -0
  82. package/dist/dash/standalone/static/assets/chunks/{shared-init-6cad28f8cc696d91.js → shared-init-cc13a835f3508618.js} +2 -2
  83. package/dist/dash/standalone/static/assets/chunks/{shared-init-94883db7bc70a5a8.js → shared-init-f475017dd5811e33.js} +2 -2
  84. package/dist/dash/standalone/static/assets/chunks/side-toggle-0aa237eba3dfe9c1.js +1 -0
  85. package/dist/dash/standalone/static/assets/chunks/{tail-81b69d49bfebfd4c.js → tail-b1c46587301ef397.js} +1 -1
  86. package/dist/dash/standalone/static/assets/chunks/task-681061023bdf0a49.js +5 -0
  87. package/dist/dash/standalone/static/assets/chunks/{task-actions-25c70b47b5a53cd2.js → task-actions-c9e46e81604e85c5.js} +1 -1
  88. package/dist/dash/standalone/static/assets/chunks/{task-view-e5ee0ada38552918.js → task-view-134186a544917ceb.js} +1 -1
  89. package/dist/dash/standalone/static/assets/chunks/{tasks-list-d58f3063ae31d9d2.js → tasks-list-352a3222d878de0f.js} +1 -1
  90. package/dist/dash/standalone/static/assets/chunks/{versions-list-fbeed95c0b4e5f0f.js → versions-list-21cb854e6a7108a7.js} +1 -1
  91. package/dist/dash/standalone/static/assets/chunks/{wular-pnext-71b727f8f5906f08-0.js → wular-pnext-6e12333f12903a62-0.js} +1 -1
  92. package/dist/dash/standalone/static/assets/pnext-client-05df74b071ddb0b3.js +1 -0
  93. package/dist/dash/standalone/static/assets/pnext-client-2c19cca257f78ae6.js +1 -0
  94. package/dist/dash/standalone/static/assets/pnext-client-2db05dfa62642a65.js +1 -0
  95. package/dist/dash/standalone/static/assets/pnext-client-36b0d6085a073880.js +1 -0
  96. package/dist/dash/standalone/static/assets/pnext-client-576c06599e241231.js +1 -0
  97. package/dist/dash/standalone/static/assets/pnext-client-6aa0f19a30d58d63.js +1 -0
  98. package/dist/dash/standalone/static/assets/pnext-client-6b30b71f452f2f07.js +1 -0
  99. package/dist/dash/standalone/static/assets/pnext-client-6ccb4d4fff812db3.js +1 -0
  100. package/dist/dash/standalone/static/assets/pnext-client-74eb465defba421e.js +1 -0
  101. package/dist/dash/standalone/static/assets/pnext-client-8c692d12b2fd90d6.js +1 -0
  102. package/dist/dash/standalone/static/assets/pnext-client-92e17d39063a9ced.js +1 -0
  103. package/dist/dash/standalone/static/assets/pnext-client-93246aea268c2682.js +1 -0
  104. package/dist/dash/standalone/static/assets/pnext-client-9954dcbc0c579e0d.js +1 -0
  105. package/dist/dash/standalone/static/assets/pnext-client-c0dfa1cdde9a9855.js +1 -0
  106. package/dist/dash/standalone/static/assets/pnext-client-c28d38d4aafd4af6.js +1 -0
  107. package/dist/dash/standalone/static/assets/{pnext-client-e4c659a371f4cd79.js → pnext-client-c2c30dcb6dc31d60.js} +1 -1
  108. package/dist/dash/standalone/static/assets/pnext-client-dbf741073e11eac0.js +1 -0
  109. package/dist/dash/standalone/static/assets/pnext-client-e29194a27280333f.js +1 -0
  110. package/dist/dash/standalone/static/assets/pnext-client-f8a7e692b27caad9.js +1 -0
  111. package/dist/dash/standalone/static/assets/pnext-client-fc5b8cfcba2a9f63.js +1 -0
  112. package/dist/discover-CPZdprlQ.js +1 -0
  113. package/dist/docs-x-l7gjFE.js +2 -0
  114. package/dist/drive-Y-ZlgiUW.js +1 -0
  115. package/dist/env-B9JG6gwo.js +1 -0
  116. package/dist/errors-XBA-Ls4n.js +10 -0
  117. package/dist/exec-iFssTO5V.js +3 -0
  118. package/dist/executor-Dt2FFT-y.js +11 -0
  119. package/dist/flow/builtin/review/index.d.ts +2 -0
  120. package/dist/flow/builtin/review/index.js +16 -0
  121. package/dist/flow/index.d.ts +1 -1
  122. package/dist/flow/index.js +1 -1
  123. package/dist/http-BZfjbiov.js +1 -0
  124. package/dist/{types-C6NAqGqn.d.ts → index-BdkdNI1v.d.ts} +705 -121
  125. package/dist/{integrations-IGnXBrPw.js → integrations-DyInAa5g.js} +2 -2
  126. package/dist/lib/broker.js +2 -2
  127. package/dist/load-zhcrwSRF.js +2 -0
  128. package/dist/local-D55UkW93.js +5 -0
  129. package/dist/maintenance-BfxcatXH.js +1 -0
  130. package/dist/{match-BwcxeAZF.js → match-Bq4sDuCy.js} +1 -1
  131. package/dist/mcp-Bta09QCU.js +13 -0
  132. package/dist/mcp-CUITALl1.js +1 -0
  133. package/dist/models-C1O2DrXx.js +1 -0
  134. package/dist/output-D95NoAA9.js +16 -0
  135. package/dist/prompt-onpyIyXK.js +8 -0
  136. package/dist/prompts-B8pKhMcu.js +4 -0
  137. package/dist/refresh-D-0K9fo3.js +1 -0
  138. package/dist/{remote-D3JZ4MMQ.js → remote-CDm0YUU3.js} +1 -1
  139. package/dist/runner-CTFTuaz_.js +1 -0
  140. package/dist/runner.json +1 -1
  141. package/dist/runner.tgz +0 -0
  142. package/dist/{runners-DyLnqHKy.js → runners-CYTicTb7.js} +3 -3
  143. package/dist/schema.d.ts +1 -1
  144. package/dist/schema.js +8 -1
  145. package/dist/sdk.d.ts +12552 -4
  146. package/dist/sdk.js +1 -1
  147. package/dist/serve-Bzs_lEg-.js +1 -0
  148. package/dist/serve-CWtLyyTz.js +12 -0
  149. package/dist/serve-DE6A-rBk.js +4 -0
  150. package/dist/{slack-DhPhLuWb.js → slack-Bo5l13Rs.js} +3 -3
  151. package/dist/task-BU1JEK9X.js +7 -0
  152. package/dist/task-CPzBITsp.js +1 -0
  153. package/dist/tools-BMaKWTa6.js +1 -0
  154. package/dist/tools-CM4UCsId.js +1 -0
  155. package/dist/turn-DMvPfhb5.js +3 -0
  156. package/dist/{views-CE2d9x6T.js → views-DEdKqLm_.js} +1 -1
  157. package/dist/{wire-nJ7sEi-M.js → wire-JMNPv8f6.js} +1 -1
  158. package/dist/worker-BuP_Lem1.js +9 -0
  159. package/dist/worker-C1tuzq5n.js +1 -0
  160. package/docs/agents/index.md +18 -20
  161. package/docs/cli/agent.md +137 -0
  162. package/docs/cli/auth.md +48 -0
  163. package/docs/cli/connection.md +89 -0
  164. package/docs/cli/credentials.md +58 -0
  165. package/docs/cli/flow.md +158 -0
  166. package/docs/cli/index.md +139 -0
  167. package/docs/cli/model.md +116 -0
  168. package/docs/cli/runner.md +92 -0
  169. package/docs/cli/server.md +89 -0
  170. package/docs/cli/task.md +271 -0
  171. package/docs/flows.md +0 -6
  172. package/docs/mcp.md +8 -8
  173. package/docs/review.md +4 -0
  174. package/package.json +3 -1
  175. package/plugins/agents/skills/coder/SKILL.md +16 -1
  176. package/plugins/claude/.claude-plugin/plugin.json +1 -1
  177. package/plugins/claude/.mcp.json +5 -0
  178. package/plugins/claude/skills/dispatch/SKILL.md +16 -1
  179. package/plugins/cursor/.cursor-plugin/plugin.json +1 -1
  180. package/plugins/cursor/skills/coder/SKILL.md +16 -1
  181. package/dist/actions-Cwe3IDVs.js +0 -2
  182. package/dist/add-B6vPKZEr.js +0 -1
  183. package/dist/add-n6c9OINP.js +0 -2
  184. package/dist/add-v1Pv00HX.js +0 -1
  185. package/dist/add-wC8ByRgM.js +0 -6
  186. package/dist/agent-BkxXgha0.js +0 -1
  187. package/dist/alias-A8ObWElH.js +0 -2
  188. package/dist/app-CaxTL1H3.js +0 -1
  189. package/dist/approvals-h5lytkey.js +0 -2
  190. package/dist/approve-BNhg0MLi.js +0 -2
  191. package/dist/approve-BiHM8kSo.js +0 -1
  192. package/dist/apps-BNe86LfS.js +0 -367
  193. package/dist/archive-CMHRsVYf.js +0 -4
  194. package/dist/archive-H2B7Me8E.js +0 -3
  195. package/dist/args-CURX44CA.js +0 -1
  196. package/dist/ask-D8TIVhPl.js +0 -4
  197. package/dist/auth-BSMPjhnz.js +0 -1
  198. package/dist/auth-D3quZAKT.js +0 -1
  199. package/dist/chat-3AvUDOwf.js +0 -13
  200. package/dist/chat-bridge-BmqYsASZ.js +0 -2
  201. package/dist/cli-BBlH53hA.js +0 -9
  202. package/dist/config-K6Rrjsee.js +0 -3
  203. package/dist/connection-B-IB8tlP.js +0 -1
  204. package/dist/connection-BXBDeoax.js +0 -1
  205. package/dist/create-CP_JmJnh.js +0 -1
  206. package/dist/credentials-BRFajC0d.js +0 -1
  207. package/dist/dash/standalone/server/modules-server-server-react-server/src/core/event-prompt.87f064ca0141e796.js +0 -30
  208. package/dist/dash/standalone/static/assets/chunks/action-fc8716cda7527d8c.js +0 -1
  209. package/dist/dash/standalone/static/assets/chunks/agent-settings-form-f5576a2c50fce094.js +0 -1
  210. package/dist/dash/standalone/static/assets/chunks/composer-8f0e8b1d07e74aad.js +0 -1
  211. package/dist/dash/standalone/static/assets/chunks/connect-apps-857dc9fa3f6f5bbc.js +0 -1
  212. package/dist/dash/standalone/static/assets/chunks/create-link-6b6e9eeac436c4af.js +0 -1
  213. package/dist/dash/standalone/static/assets/chunks/instructions-d8884576a18e6cdb.js +0 -1
  214. package/dist/dash/standalone/static/assets/chunks/outcome-dialog-be3fbe8c4b43d180.js +0 -1
  215. package/dist/dash/standalone/static/assets/chunks/platform-actions-ed27388f722b4a4c.js +0 -1
  216. package/dist/dash/standalone/static/assets/chunks/shared-init-71b727f8f5906f08-2.js +0 -1
  217. package/dist/dash/standalone/static/assets/chunks/side-toggle-a2f67a8671a0309b.js +0 -1
  218. package/dist/dash/standalone/static/assets/chunks/task-95daa40d39de664f.js +0 -1
  219. package/dist/dash/standalone/static/assets/pnext-client-037852a9f274c8c8.js +0 -1
  220. package/dist/dash/standalone/static/assets/pnext-client-10eac8df53f62104.js +0 -1
  221. package/dist/dash/standalone/static/assets/pnext-client-12635905e9754177.js +0 -1
  222. package/dist/dash/standalone/static/assets/pnext-client-12955733c71cc641.js +0 -1
  223. package/dist/dash/standalone/static/assets/pnext-client-26999113ea61d5b9.js +0 -1
  224. package/dist/dash/standalone/static/assets/pnext-client-27b6e4b7d1697094.js +0 -1
  225. package/dist/dash/standalone/static/assets/pnext-client-34fec171024dd082.js +0 -1
  226. package/dist/dash/standalone/static/assets/pnext-client-44eb6d4096f7e875.js +0 -1
  227. package/dist/dash/standalone/static/assets/pnext-client-4c558a168b95d9b1.js +0 -1
  228. package/dist/dash/standalone/static/assets/pnext-client-5d21f3dd3f4407af.js +0 -1
  229. package/dist/dash/standalone/static/assets/pnext-client-5fe04a4e1dff28a3.js +0 -1
  230. package/dist/dash/standalone/static/assets/pnext-client-88bbc009041aa776.js +0 -1
  231. package/dist/dash/standalone/static/assets/pnext-client-b36106c6b8a6cd35.js +0 -1
  232. package/dist/dash/standalone/static/assets/pnext-client-b47dda1cd4cfac04.js +0 -1
  233. package/dist/dash/standalone/static/assets/pnext-client-b556f5611fdcf545.js +0 -1
  234. package/dist/dash/standalone/static/assets/pnext-client-b8485144ca29d436.js +0 -1
  235. package/dist/dash/standalone/static/assets/pnext-client-c5c3c90b3518c5a8.js +0 -1
  236. package/dist/dash/standalone/static/assets/pnext-client-f139547dc55d7d76.js +0 -1
  237. package/dist/dash/standalone/static/assets/pnext-client-fd280710b31af681.js +0 -1
  238. package/dist/default-Ojx5oFuw.js +0 -1
  239. package/dist/delete-D1hEPpsk.js +0 -2
  240. package/dist/delete-UyzcQPoG.js +0 -4
  241. package/dist/disable-Dml_Slph.js +0 -1
  242. package/dist/discover-CyIfIBGD.js +0 -3
  243. package/dist/dispatch-CFZ9Crvg.js +0 -8
  244. package/dist/docs-BUHKbQjM.js +0 -2
  245. package/dist/docs-CvjWiada.js +0 -2
  246. package/dist/drive-BqunNi9n.js +0 -1
  247. package/dist/enable-xye-Nanc.js +0 -1
  248. package/dist/env-BgE9ipvN.js +0 -1
  249. package/dist/exec-Cprez703.js +0 -3
  250. package/dist/executor-3QMa-XRY.js +0 -11
  251. package/dist/flow/builtin/review.d.ts +0 -2
  252. package/dist/flow/builtin/review.js +0 -12
  253. package/dist/flow-CtillCQY.js +0 -1
  254. package/dist/history-C53URBjs.js +0 -8
  255. package/dist/http-CDZKt5ln.js +0 -1
  256. package/dist/hub-B0WCXtsP.js +0 -2
  257. package/dist/init-HdSVUozH.js +0 -1
  258. package/dist/integrations-BdLs4W6o.js +0 -1
  259. package/dist/list-1IMeVNg3.js +0 -1
  260. package/dist/list-BTjIMvNs.js +0 -1
  261. package/dist/list-BlOB32n6.js +0 -4
  262. package/dist/list-CZGTVKcS.js +0 -4
  263. package/dist/list-CquHtsmW.js +0 -3
  264. package/dist/list-CxjPT0Il.js +0 -1
  265. package/dist/list-DvFVuGT_.js +0 -1
  266. package/dist/list-gFnOS9Hk.js +0 -2
  267. package/dist/load-Q9fL4VC6.js +0 -2
  268. package/dist/local-Bzdmzc1o.js +0 -5
  269. package/dist/login-C723kHh6.js +0 -1
  270. package/dist/login-Dq3r6gh6.js +0 -1
  271. package/dist/logout-DEg0aTmq.js +0 -1
  272. package/dist/maintenance-DYOstY6V.js +0 -1
  273. package/dist/mcp-CKqinFkk.js +0 -1
  274. package/dist/mcp-Dsl3Xdd3.js +0 -13
  275. package/dist/mcp-server-BlP9lACI.js +0 -1
  276. package/dist/model-Bs27g5EX.js +0 -1
  277. package/dist/models-Cb0ZTKZ7.js +0 -1
  278. package/dist/output-BKeyLbvt.js +0 -5
  279. package/dist/prompt-PEgcMJO7.js +0 -8
  280. package/dist/prompts-Bj4Fbd_n.js +0 -78
  281. package/dist/push-DpEW4XbQ.js +0 -1
  282. package/dist/reconnect-BmP_XXDv.js +0 -1
  283. package/dist/refresh-SHNJq9Cx.js +0 -1
  284. package/dist/remove-BZZgJq8Z.js +0 -1
  285. package/dist/remove-CId1EwPg.js +0 -1
  286. package/dist/remove-Ci87WQq0.js +0 -1
  287. package/dist/remove-DxCv9BB4.js +0 -1
  288. package/dist/rename-DJaf5SwH.js +0 -1
  289. package/dist/result-BesDQ-b1.js +0 -5
  290. package/dist/result-D0dpv2O_.js +0 -18
  291. package/dist/resume-2Y0uC5MM.js +0 -3
  292. package/dist/review-DIm9oK_W.js +0 -7
  293. package/dist/review-Dxs-idTn.d.ts +0 -566
  294. package/dist/rotate-key-CS1G6ReH.js +0 -1
  295. package/dist/run-BKUd6B8S.js +0 -2
  296. package/dist/run-DjTTb8oA.js +0 -5
  297. package/dist/run-UPW-7pKo.js +0 -2
  298. package/dist/runner-BLS_ReEw.js +0 -1
  299. package/dist/runner-BM_98EQl.js +0 -1
  300. package/dist/schema-CjHmulYJ.js +0 -8
  301. package/dist/sdk-B4Cl0Hbw.d.ts +0 -12551
  302. package/dist/serve-BApfeXk8.js +0 -12
  303. package/dist/serve-DE1cKoGa.js +0 -1
  304. package/dist/serve-lF97RlpX.js +0 -2
  305. package/dist/serve-mXTjboT1.js +0 -1
  306. package/dist/server-CUsxAflx.js +0 -1
  307. package/dist/setup-host-tlsilI6C.js +0 -6
  308. package/dist/show-Dn7zTz-9.js +0 -1
  309. package/dist/show-uyUpeqa9.js +0 -1
  310. package/dist/status-D_1VGn9F.js +0 -1
  311. package/dist/steer-CMp-a7v2.js +0 -4
  312. package/dist/stop-C7YjN2sB.js +0 -1
  313. package/dist/stop-D8G7AtdY.js +0 -3
  314. package/dist/task-DJ6nruuA.js +0 -1
  315. package/dist/task-DeFLNmQH.js +0 -1
  316. package/dist/task-bkoi8_NN.js +0 -7
  317. package/dist/test-BD9rvefN.js +0 -1
  318. package/dist/tools-CdWkwI1g.js +0 -1
  319. package/dist/unalias-bL5t8Isc.js +0 -1
  320. package/dist/update-DIYW08ME.js +0 -2
  321. package/dist/upgrade-3fH6dGJw.js +0 -2
  322. package/dist/usage-Dr8F0xt0.js +0 -1
  323. package/dist/watch-BiyN4NxE.js +0 -5
  324. package/dist/watch-DJXu13jK.js +0 -9
  325. package/dist/worker-CHD_OiQS.js +0 -1
  326. package/dist/worker-KfrTK_Dk.js +0 -2
  327. package/dist/workflow-C21qQ4rT.js +0 -1
  328. package/docs/agents/prompt.md +0 -231
  329. package/docs/cli.md +0 -155
@@ -0,0 +1,141 @@
1
+ /** @jsxImportSource contextjsx */
2
+ /** An agent turn's messages: events, requests, history and rollover. */
3
+ import { Data, render } from "../../../../../node_modules/contextjsx/dist/index.mjs";
4
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "../../../../../node_modules/contextjsx/dist/jsx-runtime.mjs";
5
+ export const unxml = (text) => text.replace(/&(amp|lt|gt);/g, (_, name) => ({
6
+ amp: "&",
7
+ lt: "<",
8
+ gt: ">"
9
+ })[name]);
10
+ /** Read event JSON, optionally alongside a turn's history or other text. */
11
+ export function eventJsons(prompt = "", embedded = false) {
12
+ const event = /<event>\n([^]*?)\n<\/event>/g;
13
+ if (!embedded && (!prompt.trimStart().startsWith("<event>") || prompt.replace(event, "").trim())) return;
14
+ const events = [];
15
+ for (const [, body] of prompt.matchAll(event)) {
16
+ try {
17
+ const json = JSON.parse(unxml(body));
18
+ if (!json || typeof json !== "object" || Array.isArray(json)) {
19
+ if (!embedded) return;
20
+ continue;
21
+ }
22
+ events.push(json);
23
+ } catch (error) {
24
+ console.error("coder: unreadable event prompt", error);
25
+ if (!embedded) return;
26
+ }
27
+ }
28
+ return events.length ? events : undefined;
29
+ }
30
+ /** Any event in a turn or its live steers can require a reply. */
31
+ export function replyRequired(prompt, fallback, steers = []) {
32
+ const asks = [prompt ?? "", ...steers].flatMap((text) => (eventJsons(text, true) ?? []).flatMap((json) => typeof json.mustReply === "boolean" ? [json.mustReply] : []));
33
+ return asks.length ? asks.includes(true) : fallback;
34
+ }
35
+ /** `since` holds at most this many messages; past that the agent is told how many more there are. */
36
+ export const SINCE_LIMIT = 50;
37
+ /** One message as the event JSON carries it: id, position, text with the address removed, author, time. */
38
+ function messageJson(event) {
39
+ const message = event.chat?.message;
40
+ if (!message) return {
41
+ text: event.text,
42
+ author: {
43
+ id: event.actor.id,
44
+ ...event.actor.login ? { handle: event.actor.login } : {}
45
+ }
46
+ };
47
+ const { author, metadata } = message;
48
+ return {
49
+ id: message.id,
50
+ ...event.conversation?.index !== undefined ? { index: event.conversation.index } : {},
51
+ text: event.text,
52
+ mention: message.isMention === true,
53
+ author: {
54
+ id: author.userId,
55
+ handle: author.userName,
56
+ name: author.fullName,
57
+ bot: author.isBot === true
58
+ },
59
+ sentAt: metadata.dateSent,
60
+ ...metadata.edited ? { edited: true } : {},
61
+ ...message.attachments.length ? { attachments: message.attachments.map(({ type, url, name }) => ({
62
+ type,
63
+ ...url ? { url } : {},
64
+ ...name ? { name } : {}
65
+ })) } : {},
66
+ ...message.links?.length ? { links: message.links.map(({ url, title }) => ({
67
+ url,
68
+ ...title ? { title } : {}
69
+ })) } : {}
70
+ };
71
+ }
72
+ /** The JSON of one turn: the newest event names the conversation, every event in the turn is a message. */
73
+ export function eventJson(events, user) {
74
+ const event = events.at(-1);
75
+ const thread = event.chat?.thread;
76
+ const mustReply = events.some((each) => each.mustReply);
77
+ // Every event's unseen messages once, without the turn's own.
78
+ const seen = new Set(events.flatMap((each) => each.chat?.message?.id ?? []));
79
+ const unseen = events.flatMap((each) => each.conversation?.since ?? []).filter(({ id, ...message }) => {
80
+ const key = id ?? JSON.stringify(message);
81
+ return !seen.has(key) && Boolean(seen.add(key));
82
+ });
83
+ const since = unseen.slice(0, SINCE_LIMIT).map(({ id: _id, ...message }) => message);
84
+ const more = events.reduce((total, each) => total + (each.conversation?.more ?? 0), 0) + unseen.length - since.length;
85
+ return {
86
+ handle: event.integration,
87
+ event: event.type,
88
+ ...event.mustReply === undefined && events.length === 1 ? {} : { mustReply },
89
+ ...event.repo ? { repository: `${event.repo.owner}/${event.repo.name}` } : {},
90
+ ...thread ? { conversation: {
91
+ id: thread.id,
92
+ dm: thread.isDM,
93
+ ...thread.channelVisibility ? { visibility: thread.channelVisibility } : {}
94
+ } } : {},
95
+ ...events.length === 1 ? { message: messageJson(event) } : { messages: events.map(messageJson) },
96
+ ...event.promptContext ? { context: event.promptContext } : {},
97
+ ...since.length ? { since } : {},
98
+ ...more ? { more } : {},
99
+ ...user ? { requester: user } : {}
100
+ };
101
+ }
102
+ // Turn messages (agent/exec, server/tasks).
103
+ /** The user prompt of a platform turn: one `<event>` holding the turn's JSON. */
104
+ export function eventPrompt(events, user) {
105
+ return render(/* @__PURE__ */ _jsx("event", { children: /* @__PURE__ */ _jsx(Data, { children: JSON.stringify(eventJson(events, user)) }) }));
106
+ }
107
+ /** Reactions gathered while a task runs, as one turn: emoji, who, and the message they are on. */
108
+ export function reactionsPrompt(event, reactions) {
109
+ const { message: _message, ...base } = eventJson([event]);
110
+ const json = {
111
+ ...base,
112
+ event: "reactions",
113
+ mustReply: false,
114
+ reactions
115
+ };
116
+ return render(/* @__PURE__ */ _jsx("event", { children: /* @__PURE__ */ _jsx(Data, { children: JSON.stringify(json) }) }));
117
+ }
118
+ /** A dashboard or CLI prompt; its repository leads it, and a selected pull request is named for the tools. */
119
+ export function requestPrompt(prompt, repo, pr) {
120
+ if (!repo) return prompt;
121
+ const pull = pr === undefined ? "" : `\n**Pull request:** ${repo.owner}/${repo.name}#${pr}`;
122
+ return `**Repo:** ${repo.owner}/${repo.name}${pull}\n\n${prompt}`;
123
+ }
124
+ /** Earlier messages pasted before a turn when the engine conversation holding them is gone. */
125
+ export function historyPrompt(messages, prompt) {
126
+ if (!messages.length) return prompt;
127
+ const earlier = render(/* @__PURE__ */ _jsx("history", { children: /* @__PURE__ */ _jsx(Data, { children: messages.map((m) => `${m.user}: ${m.text}`).join("\n") }) }));
128
+ return `${earlier}\n\n${prompt}`;
129
+ }
130
+ // Conversation rollover (core/task/worker).
131
+ /** The private turn that asks the old conversation for its summary. */
132
+ export const SUMMARY_REQUEST = render(/* @__PURE__ */ _jsx("summary-request", { children: [
133
+ "Summarize this conversation so a new engine conversation can continue it. Return only the summary: no tools, no reply to the platform.",
134
+ "Use these headings in order, each even if empty: Goal; Decisions; Preferences and constraints; Files and PRs touched; Open items.",
135
+ "Name who asked for or decided each thing. Keep durable facts, including any earlier summary. Leave out details a speaker asked to forget, without quoting them."
136
+ ].filter(Boolean).join("\n") }));
137
+ /** The new conversation's first turn: the summary and the recent turns word for word, then the turn itself. */
138
+ export function rolloverPrompt(rollover, prompt) {
139
+ const earlier = render(/* @__PURE__ */ _jsxs(_Fragment, { children: [/* @__PURE__ */ _jsx("summary", { children: /* @__PURE__ */ _jsx(Data, { children: rollover.summary }) }), /* @__PURE__ */ _jsx("recent", { children: /* @__PURE__ */ _jsx(Data, { children: rollover.recent }) })] }));
140
+ return `${earlier}\n\n${prompt}`;
141
+ }
@@ -5,7 +5,7 @@ import { jsx as _jsx } from "../../../../../../../../node_modules/preact/jsx-run
5
5
  const CreateLink = dynamic(() => import("../../dash/[org]/setup/create-link.ff95e4b6977d0474.js").then((m) => m.CreateLink), undefined, {
6
6
  "file": decodeURIComponent(new URL("../../../../../../../../../../../src/server/dash/app/dash/[org]/setup/create-link.tsx", import.meta.url).pathname),
7
7
  "exportName": "CreateLink",
8
- "id": "c-d9fccf0000"
8
+ "id": "c-1b8b8de475"
9
9
  });
10
10
  /** A signed link from `coder server app create`: its transaction alone authorizes it, with no workspace, and shows how it ended. */
11
11
  export default async function ServerAppPage({ request, params }) {
@@ -2,7 +2,7 @@ import "./page.cf7460a024706f75.css.pnext-asset.js";
2
2
  import { dynamic } from "../../../../../../../../../../node_modules/@wular/pnext/src/api/dynamic.tsx";
3
3
  import { load } from "../../../../../api/load.be791a5eaf328738.js";
4
4
  import { Page } from "../../../../../comps/frame/page-head.85f15db7b648d48c.js";
5
- import { NeedsCredential } from "../../tasks/composer.b0bb1faaac8e0b6c.js";
5
+ import { NeedsCredential } from "../../tasks/composer.5072aacdce127689.js";
6
6
  import { Settle } from "../../../../../comps/frame/stream.e2915852cf82c86b.js";
7
7
  import { credentialMissing } from "../../tasks/composer-data.309a194fc7fa34be.js";
8
8
  import { HEADS } from "../../../../../comps/frame/heads.37e35439c02fc636.js";
@@ -16,12 +16,12 @@ const AgentsGrid = dynamic(() => import("./agents-grid.f43bcc1148ce3650.js").the
16
16
  }, {
17
17
  "file": decodeURIComponent(new URL("../../../../../../../../../../../../../src/server/dash/app/dash/[org]/agents/(list)/agents-grid.tsx", import.meta.url).pathname),
18
18
  "exportName": "AgentsGrid",
19
- "id": "c-93f8f1416f"
19
+ "id": "c-9f972f9b73"
20
20
  });
21
21
  const ConnectApps = dynamic(() => import("./connect-apps.f3af8cc8540719d7.js").then((m) => m.ConnectApps), undefined, {
22
22
  "file": decodeURIComponent(new URL("../../../../../../../../../../../../../src/server/dash/app/dash/[org]/agents/(list)/connect-apps.tsx", import.meta.url).pathname),
23
23
  "exportName": "ConnectApps",
24
- "id": "c-a325e54133"
24
+ "id": "c-61c01e3efe"
25
25
  });
26
26
  /** Built-in apps this workspace has not installed, labelled in each platform's words. */
27
27
  function connectable(apps, integrations) {
@@ -8,12 +8,12 @@ import { LoadingTabs, Tabs } from "../../../../../../comps/ui/tabs.66b2e54963f69
8
8
  import { editableAgent } from "../../../../../../api/types.79f9092cdb5a00d1.js";
9
9
  import { LoadingHero, Hero } from "../../agent/hero.ad5cc342db794e5d.js";
10
10
  import { loadAgent } from "../../../../../../api/load.be791a5eaf328738.js";
11
- import { loadTasks } from "../../../tasks/list/tasks-section.80f9c9a42ecae854.js";
11
+ import { loadTasks } from "../../../tasks/list/tasks-section.1d687c986db53a73.js";
12
12
  import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "../../../../../../../../../../../node_modules/preact/jsx-runtime/dist/jsxRuntime.mjs";
13
- const NewTaskButton = dynamic(() => import("../../../tasks/composer.b0bb1faaac8e0b6c.js").then((m) => m.NewTaskButton), undefined, {
13
+ const NewTaskButton = dynamic(() => import("../../../tasks/composer.5072aacdce127689.js").then((m) => m.NewTaskButton), undefined, {
14
14
  "file": decodeURIComponent(new URL("../../../../../../../../../../../../../../src/server/dash/app/dash/[org]/tasks/composer.tsx", import.meta.url).pathname),
15
15
  "exportName": "NewTaskButton",
16
- "id": "c-8419d00b21"
16
+ "id": "c-6520696115"
17
17
  });
18
18
  function Actions({ agent, org }) {
19
19
  return /* @__PURE__ */ _jsxs(_Fragment, { children: [editableAgent(agent) ? /* @__PURE__ */ _jsx(LinkButton, {
@@ -11,7 +11,7 @@ import { editableAgent } from "../../../../../../api/types.79f9092cdb5a00d1.js";
11
11
  import { LIST_PAGE } from "../../../../../../utils/paged.0e54c3044f8ca567.js";
12
12
  import { defaultLabel } from "../../../settings/model-options.a96c11d11674f598.js";
13
13
  import { DEFAULT_ENGINE } from "../../../../../../../../core/defaults.1b615366c56838a1.js";
14
- import { NeedsCredential } from "../../../tasks/composer.b0bb1faaac8e0b6c.js";
14
+ import { NeedsCredential } from "../../../tasks/composer.5072aacdce127689.js";
15
15
  import { Notice } from "../../../../../../comps/ui/notice.f395f231cbb96445.js";
16
16
  import { Icon } from "../../../../../../comps/ui/icon.0874ca2f58f7db14.js";
17
17
  import { iAlert } from "../../../../../../comps/ui/icons.e36c72f54750663a.js";
@@ -22,12 +22,12 @@ const VersionsList = dynamic(() => import("./versions-list.c8d76988c734dda2.js")
22
22
  }, {
23
23
  "file": decodeURIComponent(new URL("../../../../../../../../../../../../../../src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/versions-list.tsx", import.meta.url).pathname),
24
24
  "exportName": "VersionsList",
25
- "id": "c-165dc36564"
25
+ "id": "c-d2258f48fe"
26
26
  });
27
27
  const Instructions = dynamic(() => import("../../agent/instructions.85b1cd986a9edbb5.js").then((m) => m.Instructions), undefined, {
28
28
  "file": decodeURIComponent(new URL("../../../../../../../../../../../../../../src/server/dash/app/dash/[org]/agents/agent/instructions.tsx", import.meta.url).pathname),
29
29
  "exportName": "Instructions",
30
- "id": "c-9c0994e737"
30
+ "id": "c-270e7c98c3"
31
31
  });
32
32
  const KIND = {
33
33
  builtin: "Built-in agent",
@@ -90,7 +90,7 @@ function OverviewBody({ agent, org, history, defaults, tz }) {
90
90
  /* @__PURE__ */ _jsxs("div", { children: [/* @__PURE__ */ _jsx("dt", { children: "Engine" }), /* @__PURE__ */ _jsx("dd", { children: engine ?? defaultLabel("first available engine") })] }),
91
91
  /* @__PURE__ */ _jsxs("div", { children: [/* @__PURE__ */ _jsx("dt", { children: "Model" }), /* @__PURE__ */ _jsx("dd", { children: agent.settings?.model ?? definition?.model ?? defaultLabel(base?.model) })] }),
92
92
  /* @__PURE__ */ _jsxs("div", { children: [/* @__PURE__ */ _jsx("dt", { children: "Effort" }), /* @__PURE__ */ _jsx("dd", { children: agent.settings?.effort ?? definition?.effort ?? defaultLabel(base?.effort) })] }),
93
- /* @__PURE__ */ _jsxs("div", { children: [/* @__PURE__ */ _jsx("dt", { children: "Permissions" }), /* @__PURE__ */ _jsx("dd", { children: agent.settings?.permissions ?? definition?.permissions ?? defaultLabel("read-only") })] }),
93
+ /* @__PURE__ */ _jsxs("div", { children: [/* @__PURE__ */ _jsx("dt", { children: "Permissions" }), /* @__PURE__ */ _jsx("dd", { children: agent.settings?.permissions ?? definition?.permissions ?? defaultLabel("auto") })] }),
94
94
  agent.local ? agent.commit && /* @__PURE__ */ _jsxs("div", { children: [/* @__PURE__ */ _jsx("dt", { children: "Commit" }), /* @__PURE__ */ _jsx("dd", { children: agent.commit.slice(0, 7) })] }) : /* @__PURE__ */ _jsxs("div", { children: [/* @__PURE__ */ _jsx("dt", { children: "Version" }), /* @__PURE__ */ _jsxs("dd", { children: [
95
95
  "v",
96
96
  agent.currentVersion,
@@ -16,28 +16,28 @@ import { Platform } from "../../../agent/agent-pills.f987c12bcbc5c850.js";
16
16
  import { outcomeName, outcomeText, outcomeTitle, readOutcome, succeeded } from "../../../../setup/outcome.cbbc8cd1bbbee01b.js";
17
17
  import { ConnectionsLine, Lead } from "./loading.4da9e2ba3fea937f.js";
18
18
  import { Notice } from "../../../../../../../comps/ui/notice.f395f231cbb96445.js";
19
- import { NeedsCredential } from "../../../../tasks/composer.b0bb1faaac8e0b6c.js";
19
+ import { NeedsCredential } from "../../../../tasks/composer.5072aacdce127689.js";
20
20
  import { CredentialsLink } from "../../../../../../../comps/nav/back.180765bdadf6d602.js";
21
21
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "../../../../../../../../../../../../node_modules/preact/jsx-runtime/dist/jsxRuntime.mjs";
22
22
  const PlatformActions = dynamic(() => import("./platform-actions.8e7ca54dd1821e98.js").then((m) => m.PlatformActions), undefined, {
23
23
  "file": decodeURIComponent(new URL("../../../../../../../../../../../../../../../src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/platforms/platform-actions.tsx", import.meta.url).pathname),
24
24
  "exportName": "PlatformActions",
25
- "id": "c-5ee3648746"
25
+ "id": "c-a7239cabd6"
26
26
  });
27
27
  const InstallButton = dynamic(() => import("./platform-actions.8e7ca54dd1821e98.js").then((m) => m.InstallButton), undefined, {
28
28
  "file": decodeURIComponent(new URL("../../../../../../../../../../../../../../../src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/platforms/platform-actions.tsx", import.meta.url).pathname),
29
29
  "exportName": "InstallButton",
30
- "id": "c-61854541ef"
30
+ "id": "c-aafc8bda2d"
31
31
  });
32
32
  const DriftQueue = dynamic(() => import("./platform-actions.8e7ca54dd1821e98.js").then((m) => m.DriftQueue), undefined, {
33
33
  "file": decodeURIComponent(new URL("../../../../../../../../../../../../../../../src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/platforms/platform-actions.tsx", import.meta.url).pathname),
34
34
  "exportName": "DriftQueue",
35
- "id": "c-18a0dc9be5"
35
+ "id": "c-20aaa4afd2"
36
36
  });
37
37
  const OutcomeDialog = dynamic(() => import("../../../../setup/outcome-dialog.894c73f9abee3ce1.js").then((m) => m.OutcomeDialog), undefined, {
38
38
  "file": decodeURIComponent(new URL("../../../../../../../../../../../../../../../src/server/dash/app/dash/[org]/setup/outcome-dialog.tsx", import.meta.url).pathname),
39
39
  "exportName": "OutcomeDialog",
40
- "id": "c-bb95fb5cd0"
40
+ "id": "c-d85dcffeb9"
41
41
  });
42
42
  /** Outcomes the person fixes by installing again. */
43
43
  const RETRY = new Set([
@@ -184,7 +184,7 @@ export function AgentSettingsForm({ agent, catalog, models, defaults, runners, c
184
184
  hint: "what the runner may change in the checkout",
185
185
  value: settings.permissions,
186
186
  options: PERMISSIONS,
187
- blank: defaultLabel(own?.permissions ?? "read-only")
187
+ blank: defaultLabel(own?.permissions ?? "auto")
188
188
  }),
189
189
  /* @__PURE__ */ _jsx(Choice, {
190
190
  name: "access",
@@ -3,12 +3,12 @@ import { load } from "../../../../../../../api/load.be791a5eaf328738.js";
3
3
  import { Settle } from "../../../../../../../comps/frame/stream.e2915852cf82c86b.js";
4
4
  import { loadAgent, loadRunDefaults } from "../../../../../../../api/load.be791a5eaf328738.js";
5
5
  import { runnerOptions } from "../../../../tasks/composer-data.309a194fc7fa34be.js";
6
- import { NeedsCredential } from "../../../../tasks/composer.b0bb1faaac8e0b6c.js";
6
+ import { NeedsCredential } from "../../../../tasks/composer.5072aacdce127689.js";
7
7
  import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "../../../../../../../../../../../../node_modules/preact/jsx-runtime/dist/jsxRuntime.mjs";
8
- const AgentSettingsForm = dynamic(() => import("./agent-settings-form.eb707a9e32718374.js").then((m) => m.AgentSettingsForm), undefined, {
8
+ const AgentSettingsForm = dynamic(() => import("./agent-settings-form.aa9e157d141481d7.js").then((m) => m.AgentSettingsForm), undefined, {
9
9
  "file": decodeURIComponent(new URL("../../../../../../../../../../../../../../../src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/settings/agent-settings-form.tsx", import.meta.url).pathname),
10
10
  "exportName": "AgentSettingsForm",
11
- "id": "c-8ac5bd4461"
11
+ "id": "c-118b215fcd"
12
12
  });
13
13
  export default async function AgentSettingsPage({ request, params }) {
14
14
  if (!request) return null;
@@ -1,4 +1,4 @@
1
- import { TasksLoading } from "../../../../tasks/list/tasks-section.80f9c9a42ecae854.js";
1
+ import { TasksLoading } from "../../../../tasks/list/tasks-section.1d687c986db53a73.js";
2
2
  import { jsx as _jsx } from "../../../../../../../../../../../../node_modules/preact/jsx-runtime/dist/jsxRuntime.mjs";
3
3
  export default function AgentTasksLoading() {
4
4
  return /* @__PURE__ */ _jsx(TasksLoading, {});
@@ -1,4 +1,4 @@
1
- import { TasksSection, loadTasks } from "../../../../tasks/list/tasks-section.80f9c9a42ecae854.js";
1
+ import { TasksSection, loadTasks } from "../../../../tasks/list/tasks-section.1d687c986db53a73.js";
2
2
  import { jsx as _jsx } from "../../../../../../../../../../../../node_modules/preact/jsx-runtime/dist/jsxRuntime.mjs";
3
3
  export default async function AgentTasksPage({ request, params }) {
4
4
  if (!request) return null;
@@ -7,10 +7,10 @@ import { Hero } from "../../agent/hero.ad5cc342db794e5d.js";
7
7
  import { loadAgent, loadRunDefaults } from "../../../../../../api/load.be791a5eaf328738.js";
8
8
  import { editableAgent } from "../../../../../../api/types.79f9092cdb5a00d1.js";
9
9
  import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "../../../../../../../../../../../node_modules/preact/jsx-runtime/dist/jsxRuntime.mjs";
10
- const AgentEditor = dynamic(() => import("../../editor/editor.62cb8207218e6437.js").then((m) => m.AgentEditor), undefined, {
10
+ const AgentEditor = dynamic(() => import("../../editor/editor.776856fe1ed1a642.js").then((m) => m.AgentEditor), undefined, {
11
11
  "file": decodeURIComponent(new URL("../../../../../../../../../../../../../../src/server/dash/app/dash/[org]/agents/editor/editor.tsx", import.meta.url).pathname),
12
12
  "exportName": "AgentEditor",
13
- "id": "c-521cfaedd3"
13
+ "id": "c-0f449496a8"
14
14
  });
15
15
  function EditedElsewhere({ agent }) {
16
16
  return /* @__PURE__ */ _jsx(Card, {
@@ -70,7 +70,7 @@ function draftOf(agent, suggested, catalog) {
70
70
  events: {},
71
71
  match: {},
72
72
  access: definition?.access ?? "write",
73
- permissions: definition?.permissions ?? "read-only",
73
+ permissions: definition?.permissions ?? "auto",
74
74
  systemPrompt: agent?.systemPrompt ?? "",
75
75
  engine: definition?.engine ?? "",
76
76
  model: definition?.model ?? "",
@@ -5,10 +5,10 @@ import { Settle } from "../../../../../comps/frame/stream.e2915852cf82c86b.js";
5
5
  import { needsTunnel } from "../../../../../api/types.79f9092cdb5a00d1.js";
6
6
  import { suggestName } from "../editor/names.1ee5bba8d2b6ac41.js";
7
7
  import { jsx as _jsx } from "../../../../../../../../../../node_modules/preact/jsx-runtime/dist/jsxRuntime.mjs";
8
- const AgentEditor = dynamic(() => import("../editor/editor.62cb8207218e6437.js").then((m) => m.AgentEditor), undefined, {
8
+ const AgentEditor = dynamic(() => import("../editor/editor.776856fe1ed1a642.js").then((m) => m.AgentEditor), undefined, {
9
9
  "file": decodeURIComponent(new URL("../../../../../../../../../../../../../src/server/dash/app/dash/[org]/agents/editor/editor.tsx", import.meta.url).pathname),
10
10
  "exportName": "AgentEditor",
11
- "id": "c-521cfaedd3"
11
+ "id": "c-0f449496a8"
12
12
  });
13
13
  /** A new agent from a template, or imported from a repository. */
14
14
  export default function NewAgentPage({ request }) {
@@ -7,17 +7,17 @@ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "../../../../.
7
7
  const CredentialsList = dynamic(() => import("./credentials-list.683476f62a9ecde7.js").then((m) => m.CredentialsList), undefined, {
8
8
  "file": decodeURIComponent(new URL("../../../../../../../../../../../../../src/server/dash/app/dash/[org]/settings/[tab]/credentials-list.tsx", import.meta.url).pathname),
9
9
  "exportName": "CredentialsList",
10
- "id": "c-d22db79b78"
10
+ "id": "c-c9ddcc3ff9"
11
11
  });
12
12
  const EngineLogins = dynamic(() => import("./credentials-list.683476f62a9ecde7.js").then((m) => m.EngineLogins), undefined, {
13
13
  "file": decodeURIComponent(new URL("../../../../../../../../../../../../../src/server/dash/app/dash/[org]/settings/[tab]/credentials-list.tsx", import.meta.url).pathname),
14
14
  "exportName": "EngineLogins",
15
- "id": "c-34706dc412"
15
+ "id": "c-49d4bffdc4"
16
16
  });
17
17
  const TaskSecrets = dynamic(() => import("./secrets-list.0d175ee815b22cd7.js").then((m) => m.TaskSecrets), undefined, {
18
18
  "file": decodeURIComponent(new URL("../../../../../../../../../../../../../src/server/dash/app/dash/[org]/settings/[tab]/secrets-list.tsx", import.meta.url).pathname),
19
19
  "exportName": "TaskSecrets",
20
- "id": "c-2a1887a0ac"
20
+ "id": "c-369363a923"
21
21
  });
22
22
  /** The credentials settings tab. */
23
23
  export function Credentials({ request }) {
@@ -27,27 +27,27 @@ const SIGN_IN = {
27
27
  const ModelsList = dynamic(() => import("./models-list.537f63f8e5dd085d.js").then((m) => m.ModelsList), undefined, {
28
28
  "file": decodeURIComponent(new URL("../../../../../../../../../../../../../src/server/dash/app/dash/[org]/settings/[tab]/models-list.tsx", import.meta.url).pathname),
29
29
  "exportName": "ModelsList",
30
- "id": "c-1ac5924051"
30
+ "id": "c-0aefda266d"
31
31
  });
32
32
  const ConnectionsList = dynamic(() => import("./connections-list.21ec9dc73ce68656.js").then((m) => m.ConnectionsList), undefined, {
33
33
  "file": decodeURIComponent(new URL("../../../../../../../../../../../../../src/server/dash/app/dash/[org]/settings/[tab]/connections-list.tsx", import.meta.url).pathname),
34
34
  "exportName": "ConnectionsList",
35
- "id": "c-dee30f9e6a"
35
+ "id": "c-170509135a"
36
36
  });
37
37
  const OutcomeDialog = dynamic(() => import("../../setup/outcome-dialog.894c73f9abee3ce1.js").then((m) => m.OutcomeDialog), undefined, {
38
38
  "file": decodeURIComponent(new URL("../../../../../../../../../../../../../src/server/dash/app/dash/[org]/setup/outcome-dialog.tsx", import.meta.url).pathname),
39
39
  "exportName": "OutcomeDialog",
40
- "id": "c-bb95fb5cd0"
40
+ "id": "c-d85dcffeb9"
41
41
  });
42
42
  const EnginesList = dynamic(() => import("./engines-list.9e116751bd34e2cc.js").then((m) => m.EnginesList), undefined, {
43
43
  "file": decodeURIComponent(new URL("../../../../../../../../../../../../../src/server/dash/app/dash/[org]/settings/[tab]/engines-list.tsx", import.meta.url).pathname),
44
44
  "exportName": "EnginesList",
45
- "id": "c-9ac44950e1"
45
+ "id": "c-e02eb20fc2"
46
46
  });
47
47
  const RunnersList = dynamic(() => import("./runners-list.3afa989490bbe77c.js").then((m) => m.RunnersList), undefined, {
48
48
  "file": decodeURIComponent(new URL("../../../../../../../../../../../../../src/server/dash/app/dash/[org]/settings/[tab]/runners-list.tsx", import.meta.url).pathname),
49
49
  "exportName": "RunnersList",
50
- "id": "c-450a8c0d7f"
50
+ "id": "c-13e5a52e5b"
51
51
  });
52
52
  /** One settings tab. */
53
53
  export default async function SettingsTabPage({ request, params }) {
@@ -9,7 +9,7 @@ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "../../../../.
9
9
  const CreateLink = dynamic(() => import("./create-link.ff95e4b6977d0474.js").then((m) => m.CreateLink), undefined, {
10
10
  "file": decodeURIComponent(new URL("../../../../../../../../../../../../src/server/dash/app/dash/[org]/setup/create-link.tsx", import.meta.url).pathname),
11
11
  "exportName": "CreateLink",
12
- "id": "c-d9fccf0000"
12
+ "id": "c-1b8b8de475"
13
13
  });
14
14
  /** Where a create link starts, and where create, install and link flows end when they know no agent. */
15
15
  export default function SetupPage({ request }) {
@@ -3,7 +3,7 @@ import { OrgBack } from "../../../../../comps/nav/org.572ad93c7707ab27.js";
3
3
  import { Loading } from "../../../../../comps/ui/card.9f0d45b73bc78b4f.js";
4
4
  import { LoadingTabs } from "../../../../../comps/ui/tabs.66b2e54963f6901b.js";
5
5
  import { BLANK } from "../../../../../comps/frame/loading-card.cc76fc9708142525.js";
6
- import { TASK_TABS } from "../list/task.a0c68180db5fb4c1.js";
6
+ import { TASK_TABS } from "../list/task.0a1b5878dccd3b37.js";
7
7
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "../../../../../../../../../../node_modules/preact/jsx-runtime/dist/jsxRuntime.mjs";
8
8
  export default function TaskLoading() {
9
9
  return /* @__PURE__ */ _jsx(Page, { children: /* @__PURE__ */ _jsx(LoadingTask, {}) });
@@ -6,10 +6,10 @@ import { Page } from "../../../../../comps/frame/page-head.85f15db7b648d48c.js";
6
6
  import { Settle } from "../../../../../comps/frame/stream.e2915852cf82c86b.js";
7
7
  import { jsx as _jsx } from "../../../../../../../../../../node_modules/preact/jsx-runtime/dist/jsxRuntime.mjs";
8
8
  // Hydrates with the page: the reply box is focused and the activity follows the run at once.
9
- const TaskView = dynamic(() => import("./task-view.f2e902c8208b2e78.js").then((m) => m.TaskView), undefined, {
9
+ const TaskView = dynamic(() => import("./task-view.dc294bb94b7437e1.js").then((m) => m.TaskView), undefined, {
10
10
  "file": decodeURIComponent(new URL("../../../../../../../../../../../../../src/server/dash/app/dash/[org]/tasks/[id]/task-view.tsx", import.meta.url).pathname),
11
11
  "exportName": "TaskView",
12
- "id": "c-b5a3026961"
12
+ "id": "c-02b35d4653"
13
13
  });
14
14
  export default async function TaskPage({ request, params }) {
15
15
  if (!request) return null;
@@ -22,7 +22,7 @@ import { MenuRadio } from "../../../../../comps/ui/menu-items.1d082ac4dae8f3d4.j
22
22
  import { Back, PageHead } from "../../../../../comps/frame/page-head.85f15db7b648d48c.js";
23
23
  import { markdown } from "../../agents/agent/instructions.85b1cd986a9edbb5.js";
24
24
  import { Status } from "../list/status.16190fdd5fd7daad.js";
25
- import { eventMessages, folderName, replyRequired, sourceLabel, taskActive, taskTitle, TASK_TABS } from "../list/task.a0c68180db5fb4c1.js";
25
+ import { eventMessages, folderName, replyRequired, sourceLabel, taskActive, taskTitle, TASK_TABS } from "../list/task.0a1b5878dccd3b37.js";
26
26
  import { useAction } from "../../../../../utils/action.b9a5c37272250e82.js";
27
27
  import { useZone } from "../../../../zone.0515a688ee5ff6ca.js";
28
28
  import { Approval, TaskActions } from "./task-actions.587da79d68ab8d14.js";
@@ -16,7 +16,7 @@ import { Select } from "../../../../comps/ui/select.2eb33e5bea28d804.js";
16
16
  import { MenuLabel, MenuLink, MenuNote, MenuOption, MenuPanel, MenuRadio, MenuRow } from "../../../../comps/ui/menu-items.1d082ac4dae8f3d4.js";
17
17
  import { connectRepositories } from "../agents/editor/connect-repositories.43b4b28f194ea842.js";
18
18
  import { EFFORTS, ENGINES, ENGINE_NAMES, PERMISSIONS, defaultLabel, modelValue, splitModel } from "../settings/model-options.a96c11d11674f598.js";
19
- import { folderName } from "./list/task.a0c68180db5fb4c1.js";
19
+ import { folderName } from "./list/task.0a1b5878dccd3b37.js";
20
20
  import { watchTask } from "../../../../comps/frame/task-toasts.0ed8ccaae81b9d53.js";
21
21
  import { CHOICE, PLACEHOLDER, loadComposer, savedChoice, usableAgent } from "./composer-data.309a194fc7fa34be.js";
22
22
  import { Notice } from "../../../../comps/ui/notice.f395f231cbb96445.js";
@@ -1,5 +1,5 @@
1
1
  import { byListKey, listRank } from "../../../../../../../core/defaults.1b615366c56838a1.js";
2
- import { eventJsons, replyRequired as turnReplyRequired } from "../../../../../../../core/event-prompt.87f064ca0141e796.js";
2
+ import { eventJsons, replyRequired as turnReplyRequired } from "../../../../../../../agent/context/turn.dac8eb211c500271.js";
3
3
  /** A task page's tabs, the loading frame's too. */
4
4
  export const TASK_TABS = ["Conversation", "Activity"];
5
5
  /** Task statuses a list filters by. */
@@ -21,17 +21,17 @@ import { approvalParts } from "../[id]/task-actions.587da79d68ab8d14.js";
21
21
  import { Status } from "./status.16190fdd5fd7daad.js";
22
22
  import { Icon } from "../../../../../comps/ui/icon.0874ca2f58f7db14.js";
23
23
  import { Filter } from "../../../../../comps/ui/filter.3a452a262f040973.js";
24
- import { addRows, readDelta, taskActive, withAdded } from "./task.a0c68180db5fb4c1.js";
25
- import { taskTitle } from "./task.a0c68180db5fb4c1.js";
24
+ import { addRows, readDelta, taskActive, withAdded } from "./task.0a1b5878dccd3b37.js";
25
+ import { taskTitle } from "./task.0a1b5878dccd3b37.js";
26
26
  import { LIST_PAGE } from "../../../../../utils/paged.0e54c3044f8ca567.js";
27
27
  import { Search, Toolbar, queryOf, useFilters } from "../../../../../comps/ui/toolbar.24036899654de6df.js";
28
28
  import { Tail } from "../../../../../comps/ui/tail.04132db0c5033d4f.js";
29
- import { SOURCES, STATUSES, folderName, listFilters, sourceLabel } from "./task.a0c68180db5fb4c1.js";
30
- import { NeedsCredential } from "../composer.b0bb1faaac8e0b6c.js";
29
+ import { SOURCES, STATUSES, folderName, listFilters, sourceLabel } from "./task.0a1b5878dccd3b37.js";
30
+ import { NeedsCredential } from "../composer.5072aacdce127689.js";
31
31
  import { useTaskEvents } from "../../../../../comps/frame/task-toasts.0ed8ccaae81b9d53.js";
32
32
  import { useOrg } from "../../../../../comps/nav/org.572ad93c7707ab27.js";
33
33
  import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "../../../../../../../../../../node_modules/preact/jsx-runtime/dist/jsxRuntime.mjs";
34
- const NewTaskButton = dynamic(() => import("../composer.b0bb1faaac8e0b6c.js").then((m) => m.NewTaskButton), {
34
+ const NewTaskButton = dynamic(() => import("../composer.5072aacdce127689.js").then((m) => m.NewTaskButton), {
35
35
  // TODO: stays disabled after client navigation until pnext SSRs nested dynamic() like Next.js.
36
36
  loading: () => /* @__PURE__ */ _jsx(Button, {
37
37
  class: "new-task",
@@ -41,7 +41,7 @@ loading: () => /* @__PURE__ */ _jsx(Button, {
41
41
  }) }, {
42
42
  "file": decodeURIComponent(new URL("../../../../../../../../../../../../../src/server/dash/app/dash/[org]/tasks/composer.tsx", import.meta.url).pathname),
43
43
  "exportName": "NewTaskButton",
44
- "id": "c-8419d00b21"
44
+ "id": "c-6520696115"
45
45
  });
46
46
  const SOURCE_ICONS = {
47
47
  dashboard: iMonitor,
@@ -5,16 +5,16 @@ import { FILTER_ROWS, LIST_PAGE } from "../../../../../utils/paged.0e54c3044f8ca
5
5
  import { load } from "../../../../../api/load.be791a5eaf328738.js";
6
6
  import { Settle } from "../../../../../comps/frame/stream.e2915852cf82c86b.js";
7
7
  import { LoadingCard, LoadingToolbar } from "../../../../../comps/frame/loading-card.cc76fc9708142525.js";
8
- import { listFilters } from "./task.a0c68180db5fb4c1.js";
8
+ import { listFilters } from "./task.0a1b5878dccd3b37.js";
9
9
  import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "../../../../../../../../../../node_modules/preact/jsx-runtime/dist/jsxRuntime.mjs";
10
10
  // Rows arrive rendered; paging and filters hydrate once the list is in view.
11
- const TasksList = dynamic(() => import("./tasks-list.b52a49fb5faeefd0.js").then((m) => m.TasksList), {
11
+ const TasksList = dynamic(() => import("./tasks-list.1162926f7498c732.js").then((m) => m.TasksList), {
12
12
  load: "visible",
13
13
  ssr: true
14
14
  }, {
15
15
  "file": decodeURIComponent(new URL("../../../../../../../../../../../../../src/server/dash/app/dash/[org]/tasks/list/tasks-list.tsx", import.meta.url).pathname),
16
16
  "exportName": "TasksList",
17
- "id": "c-0e17c1e6be"
17
+ "id": "c-50297fb16e"
18
18
  });
19
19
  /** A task list before it arrives; an agent's own tab has no head and no agent filter. */
20
20
  export function TasksLoading({ head }) {
@@ -1,7 +1,7 @@
1
1
  import { load } from "../../../../api/load.be791a5eaf328738.js";
2
2
  import { HEADS } from "../../../../comps/frame/heads.37e35439c02fc636.js";
3
3
  import { Page } from "../../../../comps/frame/page-head.85f15db7b648d48c.js";
4
- import { TasksSection, loadTasks } from "./list/tasks-section.80f9c9a42ecae854.js";
4
+ import { TasksSection, loadTasks } from "./list/tasks-section.1d687c986db53a73.js";
5
5
  import { credentialMissing } from "./composer-data.309a194fc7fa34be.js";
6
6
  import { jsx as _jsx } from "../../../../../../../../../node_modules/preact/jsx-runtime/dist/jsxRuntime.mjs";
7
7
  /** Every task, with New task in the head. */
@@ -0,0 +1 @@
1
+ import{h as e}from"./format-a27067f0186e78ac.js";import{$1d as o}from"./shared-init-cc13a835f3508618.js";import{$3a as s}from"./shared-init-cc13a835f3508618.js";import{$3h as r}from"./shared-init-6e12333f12903a62-2.js";var i="Something went wrong",b=n=>o(i,e(n));function k(n={}){let a=s(),[u,t]=r();return{pending:u,run:async(f,c,p={})=>{let{toast:m=i,refresh:g,leaves:l}={...n,...p};t(f);try{await c()}catch(d){return t(void 0),o(m,e(d)),!1}return l||t(void 0),g&&a.refresh(),!0}}}export{b as a,k as b};
@@ -1,2 +1,2 @@
1
- import{$2C as b}from"./shared-init-6cad28f8cc696d91.js";import{$0k as h,$0m as m,$0n as f,$0o as n}from"./shared-init-6cad28f8cc696d91.js";import{$1a as e,$1b as l,$1r as a}from"./shared-init-94883db7bc70a5a8.js";import{$2c as u,$2n as g}from"./shared-init-71b727f8f5906f08-2.js";var k=(r,o)=>r.replace(/\bid="([^"]+)"/g,`id="$1${o}"`).replace(/url\(#([^)]+)\)/g,`url(#$1${o})`).replace(/href="#([^"]+)"/g,`href="#$1${o}"`);function y({brand:r}){let o=g().replace(/[^a-zA-Z0-9_-]/g,"");return r.svg?e("span",{class:"brand-icon","aria-hidden":"true",dangerouslySetInnerHTML:{__html:k(r.svg,`-${o}`)}}):e("svg",{class:"brand-icon",width:"12",height:"12",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true",style:{color:r.dark?`light-dark(${r.color}, ${r.dark})`:r.color},children:e("path",{d:r.icon})})}function B({id:r,info:o,state:s}){let i=o?.name??r;return e("span",{class:`pf ${s}`,children:[o?e(y,{brand:o.brand}):null,i]})}function S({platforms:r,catalog:o,agent:s}){let i=r.length>=m?f:r.length,c=({id:t,state:I},d)=>{let p=e(B,{id:t,info:o.find(L=>L.id===t),state:I});return s?e(b,{class:d,href:"/dash/[org]/agents/[slug]/platforms",params:{slug:s},children:p},t):e("span",{class:d,children:p},t)};return e("span",{class:"pfs",children:[r.slice(0,i).map(t=>c(t)),r.length>i?e(h,{label:`+${r.length-i}`,children:r.map(t=>c(t,"pf-row"))}):null]})}var R={builtin:"built-in",upload:"dashboard",repo:"repository",home:"local"};function w(){return e(n,{tone:"warn",title:"Disabled in this workspace",children:"disabled"})}function E({agent:r,fix:o}){return e(u,{children:[r.source==="repo"&&r.repo?r.sourceUrl?e(n,{class:"link-pill",href:r.sourceUrl,external:!0,title:`Repository agent, opens ${r.repo}`,children:[e(l,{d:a}),r.repo]}):e(n,{class:"link-pill",title:"Repository agent",children:[e(l,{d:a}),r.repo]}):e(n,{tone:r.source==="builtin"?"acc":void 0,title:r.local&&r.source==="repo"?"Repo agent, a folder in this repository":r.source==="home"?"Local agent, a folder on this machine":r.source!=="upload"?"Ships with Coder":r.local?"Local agent, a folder on this machine":"Dashboard agent, made and edited here",children:r.local&&r.source==="upload"?"local":R[r.source]??r.source}),r.local?r.commit&&e(n,{title:"Last commit of the agent's folder",children:r.commit.slice(0,7)}):e(n,{children:["v",r.currentVersion]}),r.settings?.disabled?e(w,{}):null,r.problems?.length?e(n,{tone:"warn",title:r.problems.join(`
1
+ import{$3C as b}from"./shared-init-cc13a835f3508618.js";import{$2k as h,$2m as m,$2n as f,$2o as n}from"./shared-init-cc13a835f3508618.js";import{$1a as e,$1b as l,$1r as a}from"./shared-init-f475017dd5811e33.js";import{$3c as u,$3n as g}from"./shared-init-6e12333f12903a62-2.js";var k=(r,o)=>r.replace(/\bid="([^"]+)"/g,`id="$1${o}"`).replace(/url\(#([^)]+)\)/g,`url(#$1${o})`).replace(/href="#([^"]+)"/g,`href="#$1${o}"`);function y({brand:r}){let o=g().replace(/[^a-zA-Z0-9_-]/g,"");return r.svg?e("span",{class:"brand-icon","aria-hidden":"true",dangerouslySetInnerHTML:{__html:k(r.svg,`-${o}`)}}):e("svg",{class:"brand-icon",width:"12",height:"12",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true",style:{color:r.dark?`light-dark(${r.color}, ${r.dark})`:r.color},children:e("path",{d:r.icon})})}function B({id:r,info:o,state:s}){let i=o?.name??r;return e("span",{class:`pf ${s}`,children:[o?e(y,{brand:o.brand}):null,i]})}function S({platforms:r,catalog:o,agent:s}){let i=r.length>=m?f:r.length,c=({id:t,state:I},d)=>{let p=e(B,{id:t,info:o.find(L=>L.id===t),state:I});return s?e(b,{class:d,href:"/dash/[org]/agents/[slug]/platforms",params:{slug:s},children:p},t):e("span",{class:d,children:p},t)};return e("span",{class:"pfs",children:[r.slice(0,i).map(t=>c(t)),r.length>i?e(h,{label:`+${r.length-i}`,children:r.map(t=>c(t,"pf-row"))}):null]})}var R={builtin:"built-in",upload:"dashboard",repo:"repository",home:"local"};function w(){return e(n,{tone:"warn",title:"Disabled in this workspace",children:"disabled"})}function E({agent:r,fix:o}){return e(u,{children:[r.source==="repo"&&r.repo?r.sourceUrl?e(n,{class:"link-pill",href:r.sourceUrl,external:!0,title:`Repository agent, opens ${r.repo}`,children:[e(l,{d:a}),r.repo]}):e(n,{class:"link-pill",title:"Repository agent",children:[e(l,{d:a}),r.repo]}):e(n,{tone:r.source==="builtin"?"acc":void 0,title:r.local&&r.source==="repo"?"Repo agent, a folder in this repository":r.source==="home"?"Local agent, a folder on this machine":r.source!=="upload"?"Ships with Coder":r.local?"Local agent, a folder on this machine":"Dashboard agent, made and edited here",children:r.local&&r.source==="upload"?"local":R[r.source]??r.source}),r.local?r.commit&&e(n,{title:"Last commit of the agent's folder",children:r.commit.slice(0,7)}):e(n,{children:["v",r.currentVersion]}),r.settings?.disabled?e(w,{}):null,r.problems?.length?e(n,{tone:"warn",title:r.problems.join(`
2
2
  `),...o,children:"not running"}):null]})}export{y as a,S as b,w as c,E as d};
@@ -0,0 +1 @@
1
+ "use client";import{a as re}from"./agent-pills-15da36c2cb81991b.js";import{a as ce}from"./agent-toggle-ca98586e3b4ce9ae.js";import{b as te,c as se,f as oe,h as k,i as ae,j as B,k as $,l as ie}from"./model-options-8d2170eebe0d061d.js";import{b as j,c as le}from"./types-3eca2c7f47c46054.js";import{a as ne}from"./confirm-c29a1db0130638d2.js";import{a as y}from"./field-b82a0f895266791c.js";import{b as x}from"./action-71685b2d5ad9f359.js";import"./format-a27067f0186e78ac.js";import"./shared-init-cc13a835f3508618.js";import{$3B as ee,$3a as Y,$3t as Z,$3x as b}from"./shared-init-cc13a835f3508618.js";import"./shared-init-cc13a835f3508618.js";import"./wular-pnext-6e12333f12903a62-0.js";import"./shared-init-cc13a835f3508618.js";import{$0c as H}from"./shared-init-f475017dd5811e33.js";import{$1L as q,$1a as e,$1e as M}from"./shared-init-f475017dd5811e33.js";import"./shared-init-6e12333f12903a62-2.js";import"./shared-init-6e12333f12903a62-2.js";import{$3c as L,$3h as d,$3k as W,$3l as X}from"./shared-init-6e12333f12903a62-2.js";var de=[["read","Read-only"],["write","Read-write"]];function V({name:t,label:w,hint:S,value:c,options:m,blank:A}){let O=c&&!m.some(([p])=>p===c)?[...m,[c,c]]:m;return e(y,{label:w,hint:S,group:!0,children:e(b,{name:t,label:w,defaultValue:c??"",options:[["",A],...O]})})}function xe({agent:t,catalog:w,models:S,defaults:c,runners:m,connections:A}){let O=Y(),p=ee(),[u,U]=d("run"),_=x({refresh:!0}),G=x({leaves:!0}),me=!!_.pending,[Q,z]=d(""),[T,pe]=d(""),[C,ue]=d(),[fe,D]=d(!1),J=X(null),a=t.settings??{},[P,ge]=d(B(a.engine,a.model)),[F,he]=d(a.connections?"some":""),I=t.definition?.integrations??{},E=Object.keys(I).sort(),f=t.definition,g=f?.engine,K=t.source!=="builtin";W(()=>{let n=T.trim().toLowerCase(),i=[];J.current.querySelectorAll(".vpanel").forEach(r=>{let l=!1;r.querySelectorAll(".field").forEach(o=>{let s=[...o.querySelectorAll("input")].map(R=>R.value).join(" "),h=o.closest(".vplatform")?.querySelector("h3")?.textContent??"",v=!n||`${h} ${o.textContent} ${s}`.toLowerCase().includes(n);o.hidden=!v,l||=v}),r.querySelectorAll(".vplatform").forEach(o=>{o.hidden=!o.querySelector(".field:not([hidden])")}),l&&i.push(r.dataset.panel)}),ue(n?i:void 0),n&&i.length&&!i.includes(u)&&U(i[0])},[T]);let ve=()=>void G.run("delete",async()=>{await H.agents.remove(t.id),O.push("/dash/[org]/agents",{params:{org:p}})}).then(n=>n||D(!1)),N=(n,i)=>e("button",{type:"button","aria-current":u===n?"true":void 0,class:C&&!C.includes(n)?"miss":void 0,onClick:()=>U(n),children:i});return e("form",{ref:J,class:"vsettings card frame",onSubmit:async n=>{n.preventDefault();let i=new FormData(n.currentTarget),r=s=>String(i.get(s)??"").trim(),l={};for(let s of["effort","permissions","access","runner"])r(s)&&(l[s]=r(s));let o=$(P);o.engine&&(l.engine=o.engine),o.model&&(l.model=o.model),F&&(l.connections=i.getAll("connection").map(String));for(let s of E){let h={},v=j(I[s]?.events),R=i.getAll(`event:${s}`).map(String);v.length&&R.length<v.length&&(h.allowedEvents=R),Object.keys(h).length&&((l.integrations??={})[s]=h)}t.settings?.disabled&&(l.disabled=!0),z(""),await _.run("save",()=>H.agents.settings(t.id,l))&&z("Saved. New tasks use these settings.")},children:[e("nav",{class:"tabs vertical","aria-label":"Settings sections",children:[e("p",{class:"tabs-label",children:"Runtime"}),N("run","How it runs"),E.length?N("platforms","Platforms"):null,e("p",{class:"tabs-label",children:"Agent"}),N("manage","Manage")]}),e("div",{class:"vbody",children:[e("div",{class:"vsearch",children:[e(Z,{value:T,label:"Search settings",onInput:pe}),C&&!C.length?e("span",{class:"muted",children:"No setting matches."}):null]}),e("section",{class:"vpanel","data-panel":"run",hidden:u!=="run",children:[e("h2",{children:"How it runs"}),e("p",{class:"muted",children:"Anything left on Default follows the agent's own definition."}),e("div",{class:"fields",children:[e(y,{label:"Model",hint:"picking a model picks its engine",group:!0,children:e(b,{label:"Model",value:P,options:[...ae(S,k(g?[oe[g]??g,f?.model??c.engines[g]?.model].filter(Boolean).join(" \xB7 "):"first available engine")),...!a.engine&&a.model?[[B(void 0,a.model),a.model]]:[]],headings:ie(S),onChange:ge})}),e(V,{name:"effort",label:"Effort",value:a.effort,options:te,blank:k(f?.effort??c.engines[$(P).engine??g]?.effort)}),e(V,{name:"permissions",label:"Permissions",hint:"what the runner may change in the checkout",value:a.permissions,options:se,blank:k(f?.permissions??"auto")}),e(V,{name:"access",label:"Access",hint:"what it may do on its platforms and connections",value:a.access,options:f?.access==="read"?de.slice(0,1):de,blank:k(f?.access==="read"?"Read-only":"Read-write")}),m.length>1?e(y,{label:"Runs on",group:!0,children:e(b,{name:"runner",label:"Runs on",defaultValue:a.runner??"",options:m})}):null,e(y,{label:"Connections",hint:"which workspace connections its tasks can use",group:!0,children:e(b,{label:"Connections",value:F,options:[["","Every workspace connection"],["some","Only the ones picked"]],onChange:he})}),F?e("div",{class:"field picked",children:[e("span",{children:["Picked connections ",e("small",{children:"tasks can use only these"})]}),A.length?e("div",{class:"checks",children:A.map(n=>e("label",{class:"check",children:[e("input",{type:"checkbox",name:"connection",value:n.id,defaultChecked:a.connections?.includes(n.id)}),n.name]},n.id))}):e("span",{class:"muted",children:["This workspace has no connections yet."," ",e(M,{class:"link",href:"/dash/[org]/settings/[tab]",params:{org:p,tab:"connections"},children:"Add one in Settings"})]})]}):null]})]}),E.length?e("section",{class:"vpanel","data-panel":"platforms",hidden:u!=="platforms",children:[e("h2",{children:"Platforms"}),e("p",{class:"muted",children:["Turn events off for this workspace."," ",le(t)?e(L,{children:["To add an event or a platform,"," ",e(M,{href:"/dash/[org]/agents/[slug]/edit",params:{org:p,slug:t.id},search:{section:"platforms"},children:["edit ",t.name]}),"."]}):t.source==="repo"?e(L,{children:[t.name," comes from ",t.repo??"a repository","; add an event or a platform in its"," ",t.sourceUrl?e("a",{href:t.sourceUrl,target:"_blank",rel:"noreferrer",children:"agent.json"}):"agent.json"," ","there."]}):e(L,{children:[t.name," is built in, so its events and platforms ship with Coder. To listen anywhere else,"," ",e(M,{href:"/dash/[org]/agents/new",params:{org:p},children:"create your own agent"}),"."]})]}),E.map(n=>{let i=a.integrations?.[n]??{},r=j(I[n]?.events),l=i.allowedEvents,o=w.find(s=>s.id===n);return e("div",{class:"vplatform",children:[e("h3",{children:[o?e(re,{brand:o.brand}):null,o?.name??n]}),r.length?e("div",{class:"field",children:[e("span",{children:["Events"," ",e("small",{children:"the definition's events; turn off any it should ignore here"})]}),e("div",{class:"checks",children:r.map(s=>e("label",{class:"check",children:[e("input",{type:"checkbox",name:`event:${n}`,value:s,defaultChecked:!l||l.includes(s)}),s]},s))})]}):null]},n)})]}):null,e("section",{class:"vpanel","data-panel":"manage",hidden:u!=="manage",children:[e("h2",{children:"Manage"}),e("div",{class:"field row-action",children:[e("span",{children:["Disable agent",e("small",{children:"stops its events and new tasks in this workspace; its apps and tasks stay"})]}),e(ce,{agent:t})]}),e("div",{class:"field row-action",children:[e("span",{children:["Delete agent",e("small",{children:K?"removes it and every version; its tasks and platform apps stay":`${t.name} is built in and cannot be deleted; disable it above instead`})]}),e(q,{variant:"secondary",danger:!0,disabled:!K,onClick:()=>D(!0),children:"Delete agent"})]})]}),u==="manage"?null:e("div",{class:"form-actions save",children:[Q?e("span",{class:"flash",role:"status",children:Q}):null,e(q,{type:"submit",loading:me,children:"Save"})]})]}),fe?e(ne,{open:!0,title:`Delete ${t.name}?`,body:"It stops answering on every platform. This cannot be undone.",confirmLabel:"Delete agent",busy:!!G.pending,onClose:()=>D(!1),onConfirm:ve}):null]})}export{xe as AgentSettingsForm};