@wular/coder 0.4.1 → 0.4.3

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 (378) hide show
  1. package/README.md +69 -70
  2. package/dist/actions-FzDNxMFf.js +20 -0
  3. package/dist/{adapter-BKVzTDnn.js → adapter-7SEiVsmp.js} +1 -1
  4. package/dist/{adapter-B0oYCI0S.js → adapter-BLEfUqoQ.js} +1 -1
  5. package/dist/{adapter-DPInwbJG.js → adapter-H4GlcKQz.js} +1 -1
  6. package/dist/{add-CE-70LFs.js → add-B50dIJGd.js} +1 -1
  7. package/dist/{add-BxpLHnvD.js → add-D7X3gxap.js} +1 -1
  8. package/dist/{add-ej0X9e3a.js → add-DOEUHIe7.js} +1 -1
  9. package/dist/{add-U-pty9qJ.js → add-QExQhTzi.js} +1 -1
  10. package/dist/{add-json-CEa-6luW.js → add-json-Ck4KIZrT.js} +1 -1
  11. package/dist/{agent-JdtZozvP.js → agent-BPtnEf1q.js} +1 -1
  12. package/dist/{agent-BsYx3Odz.js → agent-BlQ_dNNm.js} +2 -2
  13. package/dist/{alias-DX-Bm86x.js → alias-BwQBovke.js} +1 -1
  14. package/dist/{app-BT5f7zL5.js → app-y6BYm2eH.js} +1 -1
  15. package/dist/{approvals-C-AvFt6s.js → approvals-Cc9cq5T1.js} +2 -2
  16. package/dist/{approve-DOmpQRNd.js → approve-oO9k2fnK.js} +2 -2
  17. package/dist/{apps-CjfrZyM5.js → apps-CU2YalX8.js} +1 -1
  18. package/dist/{archive-BziJ1rQ-.js → archive-C5c_HQS1.js} +2 -2
  19. package/dist/{archive-BUB8gFKD.js → archive-CemlWlVY.js} +2 -2
  20. package/dist/archive-sweep-ehg-fWIt.js +1 -0
  21. package/dist/{args-BOEEdpWk.js → args-DcBCtXhz.js} +1 -1
  22. package/dist/{ask-dE3U3ss2.js → ask-Chu7Twu_.js} +2 -2
  23. package/dist/auth-BOyXPOtu.js +1 -0
  24. package/dist/auth-XbqKSbcD.js +1 -0
  25. package/dist/{chat-bridge-BS9WtP3X.js → chat-bridge-DXgZItGP.js} +1 -1
  26. package/dist/{chat-B_yhNTo0.js → chat-cknlIhVh.js} +1 -1
  27. package/dist/{cli-BilSDkvE.js → cli-B1ObVrL4.js} +5 -5
  28. package/dist/cli.d.ts +1 -1
  29. package/dist/cli.js +1 -1
  30. package/dist/{client-D9IoAuDD.js → client-31YzOj-i.js} +1 -1
  31. package/dist/{config-Da_cwoxI.js → config-DAE_qHYA.js} +1 -1
  32. package/dist/{create-C_iMJV4Y.js → create-CM8B8JxD.js} +1 -1
  33. package/dist/credentials-BXD4Qptk.js +1 -0
  34. package/dist/dash/manifest.json +934 -1014
  35. package/dist/dash/public/assets/chunks/{agent-pills-c9c4ac4d4a10df83.js → agent-pills-b6a6da91c9559d9f.js} +1 -1
  36. package/dist/dash/public/assets/chunks/{agent-settings-form-8be2ddab074aba6d.js → agent-settings-form-b615c677046cd6f2.js} +1 -1
  37. package/dist/dash/public/assets/chunks/agents-grid-f2e7b4ff9e11b6e3.js +1 -0
  38. package/dist/dash/public/assets/chunks/{badge-676b01e0c615bf7b.js → badge-215c7b2631dafc69.js} +1 -1
  39. package/dist/dash/public/assets/chunks/{card-e0901d68b79dfa93.js → card-e86dcc81326d2b14.js} +1 -1
  40. package/dist/dash/public/assets/chunks/{combo-41234c24668b1db1.js → combo-09e246dc9a517fa8.js} +1 -1
  41. package/dist/dash/public/assets/chunks/composer-417166b029f48c47.js +1 -0
  42. package/dist/dash/public/assets/chunks/composer-645ae8fa97a35280.js +1 -0
  43. package/dist/dash/public/assets/chunks/{confirm-f2fe4ba9905a89c6.js → confirm-5ae484241ad888fd.js} +1 -1
  44. package/dist/dash/public/assets/chunks/{connect-apps-aa2a3d82e48ed8c3.js → connect-apps-4147c45f45fde2b1.js} +1 -1
  45. package/dist/dash/public/assets/chunks/{connect-repositories-5389ec8701a3deac.js → connect-repositories-77591110836bdf03.js} +1 -1
  46. package/dist/dash/public/assets/chunks/credentials-list-e005a0783ec93465.js +2 -0
  47. package/dist/dash/public/assets/chunks/{custom-range-4761ab14f05149df.js → custom-range-463e119af4681c61.js} +1 -1
  48. package/dist/dash/public/assets/chunks/{editor-bfe8cd854f8001be.js → editor-804b84f4fe6539cd.js} +4 -4
  49. package/dist/dash/public/assets/chunks/{engines-list-f1191390f5715b39.js → engines-list-ceab51f13c690e8c.js} +1 -1
  50. package/dist/dash/public/assets/chunks/{field-901f1f35c18c39c9.js → field-aa0a4b98a976781e.js} +1 -1
  51. package/dist/dash/public/assets/chunks/filter-91144ac2eec6297f.js +1 -0
  52. package/dist/dash/public/assets/chunks/format-105c706345987fb2.js +1 -0
  53. package/dist/dash/public/assets/chunks/heads-a42817b32d2d7f08.js +1 -0
  54. package/dist/dash/public/assets/chunks/{instructions-052fa45a9daf6db6.js → instructions-3a1dcaff2d868aa5.js} +1 -1
  55. package/dist/dash/public/assets/chunks/instructions-6c6f981fffaa31e4.js +1 -0
  56. package/dist/dash/public/assets/chunks/{list-1d259660d7612c5f.js → list-7270361464fc3c04.js} +1 -1
  57. package/dist/dash/public/assets/chunks/{mcp-list-e3bebbbe831393b8.js → mcp-list-2e715d48666b54ad.js} +1 -1
  58. package/dist/dash/public/assets/chunks/{models-list-44f857a469ca04d5.js → models-list-d3c40f94c761a6e5.js} +1 -1
  59. package/dist/dash/public/assets/chunks/paged-3ddb6077bef42752.js +1 -0
  60. package/dist/dash/public/assets/chunks/{platform-actions-d1426602049926d2.js → platform-actions-271ec3b99a64280b.js} +1 -1
  61. package/dist/dash/public/assets/chunks/runners-list-767e49c7d0ec833a.js +1 -0
  62. package/dist/dash/public/assets/chunks/{segmented-358ff2b4992b8384.js → segmented-de4386ccaac7304d.js} +1 -1
  63. package/dist/dash/public/assets/chunks/{select-7ae25fd8a7d6c338.js → select-a90307706cffa6e0.js} +1 -1
  64. package/dist/dash/public/assets/chunks/{sentinel-c972a33dc69a5135.js → sentinel-b5e032b38604dfd3.js} +1 -1
  65. package/dist/dash/public/assets/chunks/shared-init-7f81ae7bc8c82438.js +2 -0
  66. package/dist/dash/public/assets/chunks/shared-init-933c7f9ee85be766.js +5 -0
  67. package/dist/dash/public/assets/chunks/{tail-7c27aab8ba268bd9.js → tail-4891e727ee526792.js} +1 -1
  68. package/dist/dash/public/assets/chunks/task-actions-ce854925a2dc78fd.js +1 -0
  69. package/dist/dash/public/assets/chunks/task-ddfddeaf07fb684c.js +1 -0
  70. package/dist/dash/public/assets/chunks/task-view-c37dcee08f21a279.js +5 -0
  71. package/dist/dash/public/assets/chunks/tasks-list-baef587999f322d8.js +1 -0
  72. package/dist/dash/public/assets/chunks/{toolbar-a75d2570f07cbb70.js → toolbar-8d98313606ad8a2d.js} +1 -1
  73. package/dist/dash/public/assets/chunks/{versions-list-fc2e0d2a7382e049.js → versions-list-532690efd9f1b0ea.js} +1 -1
  74. package/dist/dash/public/assets/dash-49ca85b59ac65c20.css +1 -0
  75. package/dist/dash/public/assets/dash-account-edc56e85dbaaabe0.css +1 -0
  76. package/dist/dash/public/assets/dash-agents-edba57b67e4005d0.css +1 -0
  77. package/dist/dash/public/assets/dash-agents-new-fe22253fbada2fbf.css +1 -0
  78. package/dist/dash/public/assets/dash-agents-param-slug-adf52e9dacb2d825.css +1 -0
  79. package/dist/dash/public/assets/dash-agents-param-slug-edit-a2937a347689ef29.css +1 -0
  80. package/dist/dash/public/assets/dash-agents-param-slug-platforms-265ba13db32a460d.css +1 -0
  81. package/dist/dash/public/assets/dash-agents-param-slug-settings-8afc52eb0372bc4b.css +1 -0
  82. package/dist/dash/public/assets/dash-agents-param-slug-tasks-6193e646be68dbd2.css +1 -0
  83. package/dist/dash/public/assets/dash-agents-param-slug-usage-ceadb3a1c911c402.css +1 -0
  84. package/dist/dash/public/assets/dash-settings-cf1997cd7f72e518.css +1 -0
  85. package/dist/dash/public/assets/dash-settings-param-tab-b44dac8e79a560e6.css +1 -0
  86. package/dist/dash/public/assets/dash-tasks-916c7100a8058aa3.css +1 -0
  87. package/dist/dash/public/assets/dash-tasks-param-id-194a6ffc20e872f2.css +1 -0
  88. package/dist/dash/public/assets/dash-usage-40940b289f85e0b6.css +1 -0
  89. package/dist/dash/public/assets/pnext-client-13aee92bef5c9e3f.js +1 -0
  90. package/dist/dash/public/assets/pnext-client-1f2686b2044f0df6.js +1 -0
  91. package/dist/dash/public/assets/pnext-client-26130234ebad7067.js +1 -0
  92. package/dist/dash/public/assets/pnext-client-311e35b0076bf406.js +1 -0
  93. package/dist/dash/public/assets/pnext-client-4ade1bf75c9c3d87.js +1 -0
  94. package/dist/dash/public/assets/pnext-client-61cd31b687ede1da.js +1 -0
  95. package/dist/dash/public/assets/pnext-client-61db65dc4223217a.js +1 -0
  96. package/dist/dash/public/assets/pnext-client-6ea656e7705e3f2a.js +1 -0
  97. package/dist/dash/public/assets/pnext-client-7fd0f793f0322cb9.js +1 -0
  98. package/dist/dash/public/assets/pnext-client-88159c0840fcfa4a.js +1 -0
  99. package/dist/dash/public/assets/pnext-client-b03f0c47c066b4f3.js +1 -0
  100. package/dist/dash/public/assets/{pnext-client-1b9ab0963a8ff77b.js → pnext-client-d6478835f543f901.js} +1 -1
  101. package/dist/dash/public/assets/pnext-client-dadb8359021ed590.js +1 -0
  102. package/dist/dash/public/assets/pnext-client-de07532d6aaebf2c.js +1 -0
  103. package/dist/dash/public/assets/pnext-client-f87a31890c8ff224.js +1 -0
  104. package/dist/dash/public/assets/pnext-client-ffe1c123a8e2a350.js +1 -0
  105. package/dist/dash/server/bundle-0.1.6-b29ec45cb963d47f/entry.js +2 -0
  106. package/dist/{default-vYPT26DR.js → default-BMvUMTFp.js} +1 -1
  107. package/dist/default-B_nKaX0-.js +1 -0
  108. package/dist/{delete-D8gEwoOj.js → delete-Bjteibld.js} +2 -2
  109. package/dist/{delete-z1_86nf6.js → delete-riCIKZwj.js} +2 -2
  110. package/dist/{disable-DVKd-0Xb.js → disable-DQC56YFy.js} +1 -1
  111. package/dist/{discover-Dvr_3_Xr.js → discover-Qanr5TEO.js} +1 -1
  112. package/dist/{discover-Df-a8K4R.js → discover-lgTYwoQp.js} +2 -2
  113. package/dist/dispatch-BsW_1m7e.js +14 -0
  114. package/dist/{docs-DKJnqZqt.js → docs-DFs7lOJp.js} +1 -1
  115. package/dist/{docs-BX65z2Iu.js → docs-DKROso-4.js} +2 -2
  116. package/dist/{enable-C8Zf_wpN.js → enable-D2DqZvcU.js} +1 -1
  117. package/dist/{env-CRf6wkM2.js → env-YRY3I60r.js} +1 -1
  118. package/dist/exec-DuUkLMqg.js +11 -0
  119. package/dist/executor-vMppVLB6.js +10 -0
  120. package/dist/flow/builtin/review.js +1 -1
  121. package/dist/flow/index.d.ts +1 -1
  122. package/dist/flow/index.js +1 -1
  123. package/dist/{flow-17k25MHt.js → flow-DmERAnR8.js} +1 -1
  124. package/dist/{github-actions-DwUzm4hC.js → github-actions-C_NkHVJq.js} +1 -1
  125. package/dist/http-D01Udu4u.js +1 -0
  126. package/dist/{index-CZjFX5zV.d.ts → index-B1L4zXZH.d.ts} +2 -1
  127. package/dist/{init-CoMfFxbG.js → init-Bd6JHzBc.js} +1 -1
  128. package/dist/integrations-B2CavXR1.js +5 -0
  129. package/dist/integrations-D1Dwy1kt.js +1 -0
  130. package/dist/lib/broker.js +2 -2
  131. package/dist/{list-DX-z3SBp.js → list-4Uo-0v9s.js} +1 -1
  132. package/dist/{list-BAKvxSbh.js → list-B0ujEZhd.js} +3 -3
  133. package/dist/{list-BYiG8Zav.js → list-B5oa1Bhy.js} +2 -2
  134. package/dist/{list-BxEywhHU.js → list-BjE_l6la.js} +1 -1
  135. package/dist/{list-VToARh3C.js → list-Ck9ibCs1.js} +1 -1
  136. package/dist/{list-CIW2joV1.js → list-DhgK4Zc4.js} +1 -1
  137. package/dist/{list-DpCf4G-H.js → list-KvL7AUhD.js} +2 -2
  138. package/dist/{list-C5w01-8q.js → list-byYLBl1U.js} +1 -1
  139. package/dist/{load-BpEsAn51.js → load-SnZd7xG1.js} +1 -1
  140. package/dist/{local-H3uvqEbq.js → local-BRy1EUq2.js} +1 -1
  141. package/dist/log-view-DeJstSkw.js +3 -0
  142. package/dist/{login-DkkslfBx.js → login-C-ahtDKV.js} +1 -1
  143. package/dist/{login-BFxX4jJy.js → login-zpwke8g1.js} +1 -1
  144. package/dist/{logout-BHAtw4Z8.js → logout-CI6Kf-T6.js} +1 -1
  145. package/dist/{maintenance-C5FklUw3.js → maintenance-BAzr9Jlr.js} +1 -1
  146. package/dist/{match-CXAjDhg7.js → match-DxV1d49D.js} +1 -1
  147. package/dist/{mcp-BgKb2Cdk.js → mcp-CmcL1MCG.js} +1 -1
  148. package/dist/{mcp-CCZOAo06.js → mcp-mhXwtGQT.js} +1 -1
  149. package/dist/{migrate-N-85_N7J.js → migrate-Czh3TEK5.js} +1 -1
  150. package/dist/{migrate-C4vM7DQN.js → migrate-w7KfzUAR.js} +1 -1
  151. package/dist/{model-Bs1StDo3.js → model-JRoTH9QK.js} +1 -1
  152. package/dist/models-C-S7HqSb.js +1 -0
  153. package/dist/{prompt-CEuBMNhk.js → prompt-CMXmt2l9.js} +4 -4
  154. package/dist/{push-CUC55Bqd.js → push-B8BhTyZs.js} +1 -1
  155. package/dist/queue-CirjEskI.js +117 -0
  156. package/dist/refresh-Bmy2r1Ee.js +1 -0
  157. package/dist/{remote-miQNTVRa.js → remote-CxFnEjZl.js} +1 -1
  158. package/dist/{remove-B93LNkZI.js → remove-C15WLaXT.js} +1 -1
  159. package/dist/{remove-C5_xggx7.js → remove-CTZYjjSr.js} +1 -1
  160. package/dist/{remove-eQ8y5C5p.js → remove-CTl-H0f0.js} +1 -1
  161. package/dist/{remove-CuH8a3L9.js → remove-DX2FVo5b.js} +1 -1
  162. package/dist/rename-D1g4TnHQ.js +1 -0
  163. package/dist/{result-BEtQZHaY.js → result-D49VN8PM.js} +3 -3
  164. package/dist/result-DGWyUHYU.js +18 -0
  165. package/dist/{resume-DYzKvyEw.js → resume-ywzc7z6A.js} +2 -2
  166. package/dist/{review-oIBeECZE.js → review-ZC0xG8XY.js} +2 -2
  167. package/dist/{rotate-key-IdMYH7gg.js → rotate-key-Bf8_99ck.js} +1 -1
  168. package/dist/{run-CTtd0Znc.js → run-D7SJ-ieT.js} +2 -2
  169. package/dist/run-DoRQSC_K.js +2 -0
  170. package/dist/{run-CawRGnOg.js → run-ukCf2Mdy.js} +1 -1
  171. package/dist/runner-D-REfOUe.js +1 -0
  172. package/dist/{runner-sUpWJ_k0.js → runner-wDYhkVsM.js} +1 -1
  173. package/dist/schema-DoNO0dPh.js +1 -0
  174. package/dist/sdk.d.ts +4 -2
  175. package/dist/sdk.js +1 -1
  176. package/dist/serve-BJ_Mbm2m.js +8 -0
  177. package/dist/{serve-CPnmrKyf.js → serve-C1MMhM1F.js} +2 -2
  178. package/dist/{serve-GmRO89s5.js → serve-DtrOHaoS.js} +2 -2
  179. package/dist/{serve-CE8YV2e9.js → serve-P9pFkEnE.js} +1 -1
  180. package/dist/{serve-BTeomYxW.js → serve-yjSw0B1a.js} +1 -1
  181. package/dist/{server-Kb22cWfF.js → server-DDWTnmbx.js} +1 -1
  182. package/dist/{setup-host-GFTUzzZJ.js → setup-host-L6Rnn5Cz.js} +1 -1
  183. package/dist/{shared-DVtzWhUT.js → shared-XsUX_ZZb.js} +1 -1
  184. package/dist/{show-COTZEYgc.js → show-CU-jqJ90.js} +1 -1
  185. package/dist/{show-CMUg8SJu.js → show-DVJmB2u-.js} +1 -1
  186. package/dist/{status-D26U--p8.js → status-CBydR7LE.js} +1 -1
  187. package/dist/{steer-C6uARLp5.js → steer-Cm_sHZqs.js} +2 -2
  188. package/dist/{stop-BrGI3hSS.js → stop-DJS7DAPJ.js} +1 -1
  189. package/dist/{stop-ByCAlbmN.js → stop-TrebIIuv.js} +2 -2
  190. package/dist/store-BrNMqJgk.js +42 -0
  191. package/dist/store-j8icrG0v.js +19 -0
  192. package/dist/task-C8lmcNsf.js +1 -0
  193. package/dist/{task-DeglY79z.js → task-CpUI19o2.js} +4 -4
  194. package/dist/task-CvSqiwxo.js +1 -0
  195. package/dist/{test-NEbhlxvo.js → test-CDKz4jY_.js} +1 -1
  196. package/dist/{tools-D0Zfs8Hx.js → tools-DBFeoosk.js} +1 -1
  197. package/dist/{types-I5Cwtl_K.d.ts → types-DMGBYB_K.d.ts} +3 -1
  198. package/dist/{unalias-C9NqmSDq.js → unalias-BfQFBnuK.js} +1 -1
  199. package/dist/{update-BTxYQj7Z.js → update-C4FFOie8.js} +1 -1
  200. package/dist/{upgrade-hA0yWBvx.js → upgrade-DLJqMnUQ.js} +2 -2
  201. package/dist/{usage-BhqoCjvE.js → usage-CSh-xwQ2.js} +1 -1
  202. package/dist/{usage-C4d9X2Uq.js → usage-D8mc4qXK.js} +1 -1
  203. package/dist/{watch-DtRuC0Wc.js → watch-CQu-tJKZ.js} +2 -2
  204. package/dist/{watch-CSdj24ct.js → watch-DmwaEvoi.js} +2 -2
  205. package/dist/{wire-BeT1Axeo.js → wire-DzGLZ3-O.js} +1 -1
  206. package/dist/worker-BLKTMLqa.js +1 -0
  207. package/dist/worker-nHemduM_.js +9 -0
  208. package/dist/{workflow-Dcmdooi8.js → workflow-IrouAus_.js} +1 -1
  209. package/docs/cli.md +145 -0
  210. package/docs/mcp.md +1 -1
  211. package/migrations/0000_initial.sql +8 -0
  212. package/migrations/meta/0000_snapshot.json +75 -1
  213. package/migrations/meta/_journal.json +1 -1
  214. package/package.json +3 -2
  215. package/plugins/agents/skills/coder/SKILL.md +1 -0
  216. package/plugins/claude/.claude-plugin/plugin.json +1 -1
  217. package/plugins/claude/skills/dispatch/SKILL.md +1 -1
  218. package/plugins/cursor/.cursor-plugin/plugin.json +1 -1
  219. package/plugins/cursor/skills/coder/SKILL.md +1 -0
  220. package/src/client/index.ts +10 -2
  221. package/src/client/types.ts +18 -0
  222. package/src/core/defaults.ts +36 -0
  223. package/src/core/task/log-view.ts +120 -6
  224. package/src/server/dash/app/dash/agents/(list)/agent-menu.tsx +4 -0
  225. package/src/server/dash/app/dash/agents/(list)/agents-grid.tsx +18 -35
  226. package/src/server/dash/app/dash/agents/(list)/loading.tsx +7 -1
  227. package/src/server/dash/app/dash/agents/[slug]/(tabs)/layout.tsx +2 -1
  228. package/src/server/dash/app/dash/layout.css +58 -1
  229. package/src/server/dash/app/dash/layout.tsx +29 -7
  230. package/src/server/dash/app/dash/settings/[tab]/credentials-list.tsx +20 -13
  231. package/src/server/dash/app/dash/settings/[tab]/page.tsx +1 -1
  232. package/src/server/dash/app/dash/settings/[tab]/runners-list.tsx +13 -12
  233. package/src/server/dash/app/dash/tasks/[id]/activity.tsx +49 -4
  234. package/src/server/dash/app/dash/tasks/[id]/task-actions.tsx +43 -6
  235. package/src/server/dash/app/dash/tasks/[id]/task-view.css +52 -31
  236. package/src/server/dash/app/dash/tasks/[id]/task-view.tsx +143 -51
  237. package/src/server/dash/app/dash/tasks/composer.css +4 -0
  238. package/src/server/dash/app/dash/tasks/composer.tsx +6 -5
  239. package/src/server/dash/app/dash/tasks/list/task.ts +29 -1
  240. package/src/server/dash/app/dash/tasks/list/tasks-list.css +20 -7
  241. package/src/server/dash/app/dash/tasks/list/tasks-list.tsx +256 -109
  242. package/src/server/dash/app/dash/tasks/list/tasks-section.tsx +9 -13
  243. package/src/server/dash/app/dash/tasks/page.tsx +3 -35
  244. package/src/server/dash/comps/frame/loading-card.tsx +4 -3
  245. package/src/server/dash/comps/frame/page-head.css +10 -0
  246. package/src/server/dash/comps/frame/page-head.tsx +3 -2
  247. package/src/server/dash/comps/frame/task-toasts.tsx +196 -50
  248. package/src/server/dash/comps/nav/side-toggle.tsx +16 -5
  249. package/src/server/dash/comps/ui/card.css +1 -0
  250. package/src/server/dash/comps/ui/filter.css +64 -0
  251. package/src/server/dash/comps/ui/filter.tsx +336 -0
  252. package/src/server/dash/comps/ui/icons.ts +2 -0
  253. package/src/server/dash/comps/ui/menu.tsx +9 -1
  254. package/src/server/dash/comps/ui/select.tsx +2 -2
  255. package/src/server/dash/comps/ui/toast.css +3 -2
  256. package/src/server/dash/comps/ui/toolbar.css +14 -0
  257. package/src/server/dash/utils/client.ts +21 -0
  258. package/src/server/dash/utils/format.ts +12 -4
  259. package/src/server/dash/utils/paged.ts +14 -6
  260. package/dist/actions-Mk3FSlpJ.js +0 -20
  261. package/dist/archive-sweep-CtBcARgN.js +0 -1
  262. package/dist/auth-BFny--17.js +0 -1
  263. package/dist/auth-DWHIzqbA.js +0 -1
  264. package/dist/credentials-B1jv6dkg.js +0 -1
  265. package/dist/dash/public/assets/chunks/agents-grid-951584b6f4c4314e.js +0 -1
  266. package/dist/dash/public/assets/chunks/composer-5534be50bc12385e.js +0 -1
  267. package/dist/dash/public/assets/chunks/composer-d10d4b1d54c4f751.js +0 -1
  268. package/dist/dash/public/assets/chunks/credentials-list-bc5bfcab058176c5.js +0 -2
  269. package/dist/dash/public/assets/chunks/format-eb03fc9d9744d960.js +0 -1
  270. package/dist/dash/public/assets/chunks/heads-f3bcd289663d48fa.js +0 -1
  271. package/dist/dash/public/assets/chunks/instructions-d0a4b0d95009c262.js +0 -1
  272. package/dist/dash/public/assets/chunks/paged-bc6fa0c2b9d52ed7.js +0 -1
  273. package/dist/dash/public/assets/chunks/runners-list-1901af8a5dea1f09.js +0 -1
  274. package/dist/dash/public/assets/chunks/shared-init-88cce66bb3cfe1e5.js +0 -5
  275. package/dist/dash/public/assets/chunks/shared-init-ffb3397e494137c9.js +0 -2
  276. package/dist/dash/public/assets/chunks/task-actions-8e1d93c788d001df.js +0 -1
  277. package/dist/dash/public/assets/chunks/task-fa8b82e95e771c4a.js +0 -1
  278. package/dist/dash/public/assets/chunks/task-view-6d7618d2820a5cb4.js +0 -3
  279. package/dist/dash/public/assets/chunks/tasks-list-f4784e5cbd0ed785.js +0 -1
  280. package/dist/dash/public/assets/dash-9e02d5d1a6d42ee3.css +0 -1
  281. package/dist/dash/public/assets/dash-account-04859899c1838ada.css +0 -1
  282. package/dist/dash/public/assets/dash-agents-9e678137267dec07.css +0 -1
  283. package/dist/dash/public/assets/dash-agents-new-26fa27b17ef9b8d8.css +0 -1
  284. package/dist/dash/public/assets/dash-agents-param-slug-b975c48f8abf3444.css +0 -1
  285. package/dist/dash/public/assets/dash-agents-param-slug-edit-e13fda599bb04843.css +0 -1
  286. package/dist/dash/public/assets/dash-agents-param-slug-platforms-70292932cb27bc96.css +0 -1
  287. package/dist/dash/public/assets/dash-agents-param-slug-settings-71f9a86251723fcc.css +0 -1
  288. package/dist/dash/public/assets/dash-agents-param-slug-tasks-fb8eb2ed71006601.css +0 -1
  289. package/dist/dash/public/assets/dash-agents-param-slug-usage-7c8740f1cdd52c71.css +0 -1
  290. package/dist/dash/public/assets/dash-settings-8eb818da462227e8.css +0 -1
  291. package/dist/dash/public/assets/dash-settings-param-tab-849a1a9542e273f5.css +0 -1
  292. package/dist/dash/public/assets/dash-tasks-81e510e0b6931b42.css +0 -1
  293. package/dist/dash/public/assets/dash-tasks-param-id-bbd2a83342f2ec10.css +0 -1
  294. package/dist/dash/public/assets/dash-usage-8e0259e03eaed1bd.css +0 -1
  295. package/dist/dash/public/assets/pnext-client-03b03b254e525e82.js +0 -1
  296. package/dist/dash/public/assets/pnext-client-1c7859bb888f4ef0.js +0 -1
  297. package/dist/dash/public/assets/pnext-client-3c748afe963fb05d.js +0 -1
  298. package/dist/dash/public/assets/pnext-client-4f47c2cae220f107.js +0 -1
  299. package/dist/dash/public/assets/pnext-client-6ab9fd9b53b794d2.js +0 -1
  300. package/dist/dash/public/assets/pnext-client-6c241786342498e4.js +0 -1
  301. package/dist/dash/public/assets/pnext-client-80b56d420f02b808.js +0 -1
  302. package/dist/dash/public/assets/pnext-client-83135c17bae850a3.js +0 -1
  303. package/dist/dash/public/assets/pnext-client-8e6fa4302ae0396f.js +0 -1
  304. package/dist/dash/public/assets/pnext-client-932c9d8cc0717fc8.js +0 -1
  305. package/dist/dash/public/assets/pnext-client-a42ae63d4de113f9.js +0 -1
  306. package/dist/dash/public/assets/pnext-client-d2ee6f8c1e337032.js +0 -1
  307. package/dist/dash/public/assets/pnext-client-d513f65ec23b7f20.js +0 -1
  308. package/dist/dash/public/assets/pnext-client-ecb88e2a8a109954.js +0 -1
  309. package/dist/dash/public/assets/pnext-client-f1545ee6270bbf9a.js +0 -1
  310. package/dist/dash/server/bundle-0.1.5-1508b6c99c0d1e68/boot-B2MFTRO2.js +0 -30
  311. package/dist/dash/server/bundle-0.1.5-1508b6c99c0d1e68/build-tier-XJJSL5FR.js +0 -2704
  312. package/dist/dash/server/bundle-0.1.5-1508b6c99c0d1e68/chunk-2HFY3DQT.js +0 -208
  313. package/dist/dash/server/bundle-0.1.5-1508b6c99c0d1e68/chunk-2ICEVELW.js +0 -834
  314. package/dist/dash/server/bundle-0.1.5-1508b6c99c0d1e68/chunk-3UPROT2C.js +0 -35
  315. package/dist/dash/server/bundle-0.1.5-1508b6c99c0d1e68/chunk-4P5CMIYT.js +0 -1582
  316. package/dist/dash/server/bundle-0.1.5-1508b6c99c0d1e68/chunk-4TKZKZ3Q.js +0 -131
  317. package/dist/dash/server/bundle-0.1.5-1508b6c99c0d1e68/chunk-5RDEILQB.js +0 -437
  318. package/dist/dash/server/bundle-0.1.5-1508b6c99c0d1e68/chunk-62KEQM43.js +0 -25
  319. package/dist/dash/server/bundle-0.1.5-1508b6c99c0d1e68/chunk-6KQSWT6D.js +0 -831
  320. package/dist/dash/server/bundle-0.1.5-1508b6c99c0d1e68/chunk-7DCNCW6O.js +0 -724
  321. package/dist/dash/server/bundle-0.1.5-1508b6c99c0d1e68/chunk-B4THCTQP.js +0 -22
  322. package/dist/dash/server/bundle-0.1.5-1508b6c99c0d1e68/chunk-C2LIV2MM.js +0 -172
  323. package/dist/dash/server/bundle-0.1.5-1508b6c99c0d1e68/chunk-CCATPVTW.js +0 -378
  324. package/dist/dash/server/bundle-0.1.5-1508b6c99c0d1e68/chunk-COXJAPTU.js +0 -89
  325. package/dist/dash/server/bundle-0.1.5-1508b6c99c0d1e68/chunk-E6IXL2NJ.js +0 -6270
  326. package/dist/dash/server/bundle-0.1.5-1508b6c99c0d1e68/chunk-FLGRBFAH.js +0 -1198
  327. package/dist/dash/server/bundle-0.1.5-1508b6c99c0d1e68/chunk-FTJVHFWD.js +0 -61
  328. package/dist/dash/server/bundle-0.1.5-1508b6c99c0d1e68/chunk-H523KSIH.js +0 -5151
  329. package/dist/dash/server/bundle-0.1.5-1508b6c99c0d1e68/chunk-HT6KKX6A.js +0 -20
  330. package/dist/dash/server/bundle-0.1.5-1508b6c99c0d1e68/chunk-JESFYECC.js +0 -438
  331. package/dist/dash/server/bundle-0.1.5-1508b6c99c0d1e68/chunk-JRPJM2XY.js +0 -17
  332. package/dist/dash/server/bundle-0.1.5-1508b6c99c0d1e68/chunk-L2IWDUXG.js +0 -107
  333. package/dist/dash/server/bundle-0.1.5-1508b6c99c0d1e68/chunk-L5P4Y4UC.js +0 -183
  334. package/dist/dash/server/bundle-0.1.5-1508b6c99c0d1e68/chunk-NQE46AZN.js +0 -647
  335. package/dist/dash/server/bundle-0.1.5-1508b6c99c0d1e68/chunk-PA4QEARJ.js +0 -129
  336. package/dist/dash/server/bundle-0.1.5-1508b6c99c0d1e68/chunk-PZ5AXOLW.js +0 -7146
  337. package/dist/dash/server/bundle-0.1.5-1508b6c99c0d1e68/chunk-SNVPTULL.js +0 -2397
  338. package/dist/dash/server/bundle-0.1.5-1508b6c99c0d1e68/chunk-T3QZT3PG.js +0 -220
  339. package/dist/dash/server/bundle-0.1.5-1508b6c99c0d1e68/chunk-VC5O2SDP.js +0 -72
  340. package/dist/dash/server/bundle-0.1.5-1508b6c99c0d1e68/chunk-WZX4V6CM.js +0 -231
  341. package/dist/dash/server/bundle-0.1.5-1508b6c99c0d1e68/chunk-XUUIDXY5.js +0 -627
  342. package/dist/dash/server/bundle-0.1.5-1508b6c99c0d1e68/chunk-ZHFDO3PR.js +0 -265
  343. package/dist/dash/server/bundle-0.1.5-1508b6c99c0d1e68/compile-CE2DN7ZA.js +0 -18
  344. package/dist/dash/server/bundle-0.1.5-1508b6c99c0d1e68/config-UREY7XJT.js +0 -16
  345. package/dist/dash/server/bundle-0.1.5-1508b6c99c0d1e68/config-loader-UI2XE3PZ.js +0 -17
  346. package/dist/dash/server/bundle-0.1.5-1508b6c99c0d1e68/entry.js +0 -219
  347. package/dist/dash/server/bundle-0.1.5-1508b6c99c0d1e68/generate-I2PPTDFD.js +0 -16
  348. package/dist/dash/server/bundle-0.1.5-1508b6c99c0d1e68/modules-UVOCE4C2.js +0 -48
  349. package/dist/dash/server/bundle-0.1.5-1508b6c99c0d1e68/pipeline-UW47K537.js +0 -963
  350. package/dist/dash/server/bundle-0.1.5-1508b6c99c0d1e68/proxy-ITGOVJBW.js +0 -26
  351. package/dist/dash/server/bundle-0.1.5-1508b6c99c0d1e68/register-4SA55SWT.js +0 -12579
  352. package/dist/dash/server/bundle-0.1.5-1508b6c99c0d1e68/router-JNKHLBCZ.js +0 -505
  353. package/dist/dash/server/bundle-0.1.5-1508b6c99c0d1e68/routes-PD6J2NXW.js +0 -54
  354. package/dist/dash/server/bundle-0.1.5-1508b6c99c0d1e68/tsconfig-defaults-ZXEH7RQK.js +0 -15
  355. package/dist/default-Bobztoxf.js +0 -1
  356. package/dist/dispatch-BKeAch9E.js +0 -14
  357. package/dist/exec-RZFLclKX.js +0 -11
  358. package/dist/executor-BvAA7Cgw.js +0 -10
  359. package/dist/http-Bkg_OQ6r.js +0 -1
  360. package/dist/integrations-5xCaXSd-.js +0 -1
  361. package/dist/integrations-BAgdVDhj.js +0 -5
  362. package/dist/log-view-dg0TlKLA.js +0 -1
  363. package/dist/models-_5LVGC3m.js +0 -1
  364. package/dist/queue-6io_NOP3.js +0 -116
  365. package/dist/refresh-BIrmrWYq.js +0 -1
  366. package/dist/rename-CYfy03FE.js +0 -1
  367. package/dist/result-BzaM3inj.js +0 -15
  368. package/dist/run-BDYl0CKl.js +0 -2
  369. package/dist/runner-D7ScbIHJ.js +0 -1
  370. package/dist/schema-CU2iFkp8.js +0 -1
  371. package/dist/serve-CQKZxzFE.js +0 -4
  372. package/dist/store-B94tSate.js +0 -42
  373. package/dist/store-DzqXS2wT.js +0 -8
  374. package/dist/task-C6VAg5WU.js +0 -1
  375. package/dist/task-CgOKgkEG.js +0 -1
  376. package/dist/worker-CXndxmGF.js +0 -9
  377. package/dist/worker-DX7P9kWl.js +0 -1
  378. package/src/server/dash/app/dash/token-from-hash.tsx +0 -17
@@ -1,9 +1,9 @@
1
- import{E as e,bn as t,nt as n,vn as r,xt as i}from"./dispatch-BKeAch9E.js";import{a,c as o,l as s,p as c,r as l,t as u}from"./prompt-CEuBMNhk.js";import{h as d,i as f,p,r as m,s as h}from"./output-BKeyLbvt.js";import{a as g}from"./args-BOEEdpWk.js";import _ from"node:path";import v from"node:process";import{pathToFileURL as y}from"node:url";import*as b from"zod/mini";const x=async()=>(await import(`./task-CgOKgkEG.js`)).commandTaskGroup,S=async()=>(await import(`./setup-host-GFTUzzZJ.js`)).commandSetupHost,C=async()=>(await import(`./server-Kb22cWfF.js`)).commandServer,w=async()=>(await import(`./upgrade-hA0yWBvx.js`)).commandUpgrade,T={task:x,flow:async()=>(await import(`./flow-17k25MHt.js`)).commandFlow,run:async()=>(await import(`./run-BDYl0CKl.js`)).commandTask,list:async()=>(await import(`./list-BAKvxSbh.js`)).commandTasks,result:async()=>(await import(`./result-BzaM3inj.js`)).commandResult,config:async()=>(await import(`./config-Da_cwoxI.js`)).commandConfig,"setup-host":S,"host-setup":S,setup:S,model:async()=>(await import(`./model-Bs1StDo3.js`)).commandModel,mcp:async()=>(await import(`./mcp-CCZOAo06.js`)).commandMcpConfig,docs:async()=>(await import(`./docs-DKJnqZqt.js`)).commandDocs,review:async()=>(await import(`./review-oIBeECZE.js`)).commandReview,agent:async()=>(await import(`./agent-JdtZozvP.js`)).commandAgent,server:C,dash:async()=>{let e=await C(),t=await e.subcommands.serve();return Object.assign(t=>e([`serve`,...t]),{commandName:t.commandName,help:t.help})},runner:async()=>(await import(`./runner-D7ScbIHJ.js`)).commandRunner,auth:async()=>(await import(`./auth-DWHIzqbA.js`)).commandAuth,credentials:async()=>(await import(`./credentials-B1jv6dkg.js`)).commandCredentials,upgrade:w,update:w},E={title:`Coder`,usageLine:`coder <command>`,description:`Delegate a coding task to the best available engine and steer it while it runs.`,commands:[{usage:`dash`,blurb:`your tasks, agents and settings in the browser`},{usage:`run "<text>"`,blurb:`run a task (background; --wait blocks)`},{usage:`list`,blurb:`list recent tasks (by default running + just stopped)`},{usage:`result [task-id]`,blurb:`status + final answer (--wait blocks)`},{usage:`task <cmd>`,blurb:`run, list, result, watch, steer, stop, approve, ...`},{usage:`flow <cmd>`,blurb:`run, list, watch, result, resume, stop, discover, ...`},{usage:`agent <cmd>`,blurb:`list, show, init, push, run, usage, integrations`},{usage:`credentials <cmd>`,blurb:`engine credentials: list, add, login, remove, default`},{usage:`server <cmd>`,blurb:`self-host Coder: serve, migrate, rotate-key`},{usage:`runner <cmd>`,blurb:`run your server's tasks on this machine: serve, list, ...`},{usage:`auth <cmd>`,blurb:`sign in to Coder: login, logout, status`},{usage:`review [--base <ref> | --pr <n>]`,blurb:`review changed code with a built-in flow`},{usage:`config <list|get|set|unset> [<key> [value]]`,blurb:`read or write config`},{usage:`model <list|add|alias|disable>`,blurb:`manage models: built-ins, aliases, custom endpoints`},{usage:`mcp <add|add-json|list|rm>`,blurb:`MCP servers tasks can attach by name (--mcp <name>)`},{usage:`docs [topic]`,blurb:`print bundled documentation (for agents to read)`},{usage:`upgrade [--cli-only|--plugins-only]`,blurb:`update the CLI and host plugins (alias: update)`}],start:[{usage:`coder setup-host [claude|agents]`,blurb:`"claude" for Claude Code, "agents" for any ~/.agents host (Codex, Pi, ...)`},{usage:`coder run --engine [codex|claude] "<task>"`,blurb:`run a task on that engine's default model`},{usage:`coder task result <task-id> --wait`,blurb:`wait for the answer; returns early if the task needs your approval`}],agents:[{usage:`coder docs skill [--claude]`,blurb:`load the skill once`}],usage:[{usage:`coder <command> --help`,blurb:`flags and details for any command`}]};function D(e,t,n=t.cyan){let r=Math.max(0,...e.map(e=>e.usage.length))+2;return e.map(e=>` ${n(e.usage.padEnd(r))}${t.dim(e.blurb)}${e.note?` ${t.light(e.note)}`:``}`)}function O(e,t,n){return[``,n.bold(`${e}:`),...t]}function k(e,t,n={}){let r=p;return`${[r.bold(`Usage:`),` ${n.usage??`coder ${e} <subcommand>`}`,...n.description?.length?[``,...n.description]:[],...O(`Subcommands`,D(t,r),r),...n.examples?.length?O(`Examples`,n.examples.flatMap(([e,t])=>[` ${r.cyan(e)}`,` ${r.dim(t)}`]),r):[],...n.seeAlso?O(`Related`,n.seeAlso.split(` · `).map(e=>` ${r.cyan(`coder ${e}`)}`),r):[],``,h([`Details on a subcommand: coder ${e} <subcommand> --help`],r,r.cyan)].join(`
1
+ import{Cn as e,Ct as t,E as n,Tn as r,nt as i}from"./dispatch-BsW_1m7e.js";import{a,c as o,l as s,p as c,r as l,t as u}from"./prompt-CMXmt2l9.js";import{h as d,i as f,p,r as m,s as h}from"./output-BKeyLbvt.js";import{a as g}from"./args-DcBCtXhz.js";import _ from"node:path";import v from"node:process";import{pathToFileURL as y}from"node:url";import*as b from"zod/mini";const x=async()=>(await import(`./task-C8lmcNsf.js`)).commandTaskGroup,S=async()=>(await import(`./setup-host-L6Rnn5Cz.js`)).commandSetupHost,C=async()=>(await import(`./server-DDWTnmbx.js`)).commandServer,w=async()=>(await import(`./upgrade-DLJqMnUQ.js`)).commandUpgrade,T={task:x,flow:async()=>(await import(`./flow-DmERAnR8.js`)).commandFlow,run:async()=>(await import(`./run-DoRQSC_K.js`)).commandTask,list:async()=>(await import(`./list-B0ujEZhd.js`)).commandTasks,result:async()=>(await import(`./result-DGWyUHYU.js`)).commandResult,config:async()=>(await import(`./config-DAE_qHYA.js`)).commandConfig,"setup-host":S,"host-setup":S,setup:S,model:async()=>(await import(`./model-JRoTH9QK.js`)).commandModel,mcp:async()=>(await import(`./mcp-mhXwtGQT.js`)).commandMcpConfig,docs:async()=>(await import(`./docs-DFs7lOJp.js`)).commandDocs,review:async()=>(await import(`./review-ZC0xG8XY.js`)).commandReview,agent:async()=>(await import(`./agent-BPtnEf1q.js`)).commandAgent,server:C,dash:async()=>{let e=await C(),t=await e.subcommands.serve();return Object.assign(t=>e([`serve`,...t]),{commandName:t.commandName,help:t.help})},runner:async()=>(await import(`./runner-D-REfOUe.js`)).commandRunner,auth:async()=>(await import(`./auth-XbqKSbcD.js`)).commandAuth,credentials:async()=>(await import(`./credentials-BXD4Qptk.js`)).commandCredentials,upgrade:w,update:w},E={title:`Coder`,usageLine:`coder <command>`,description:`Delegate a coding task to the best available engine and steer it while it runs.`,commands:[{usage:`dash`,blurb:`your tasks, agents and settings in the browser`},{usage:`run "<text>"`,blurb:`run a task (background; --wait blocks)`},{usage:`list`,blurb:`list recent tasks (by default running + just stopped)`},{usage:`result [task-id]`,blurb:`status + final answer (--wait blocks)`},{usage:`task <cmd>`,blurb:`run, list, result, watch, steer, stop, approve, ...`},{usage:`flow <cmd>`,blurb:`run, list, watch, result, resume, stop, discover, ...`},{usage:`agent <cmd>`,blurb:`list, show, init, push, run, usage, integrations`},{usage:`credentials <cmd>`,blurb:`engine credentials: list, add, login, remove, default`},{usage:`server <cmd>`,blurb:`self-host Coder: serve, migrate, rotate-key`},{usage:`runner <cmd>`,blurb:`run your server's tasks on this machine: serve, list, ...`},{usage:`auth <cmd>`,blurb:`sign in to Coder: login, logout, status`},{usage:`review [--base <ref> | --pr <n>]`,blurb:`review changed code with a built-in flow`},{usage:`config <list|get|set|unset> [<key> [value]]`,blurb:`read or write config`},{usage:`model <list|add|alias|disable>`,blurb:`manage models: built-ins, aliases, custom endpoints`},{usage:`mcp <add|add-json|list|rm>`,blurb:`MCP servers tasks can attach by name (--mcp <name>)`},{usage:`docs [topic]`,blurb:`print bundled documentation (for agents to read)`},{usage:`upgrade [--cli-only|--plugins-only]`,blurb:`update the CLI and host plugins (alias: update)`}],start:[{usage:`coder setup-host [claude|agents]`,blurb:`"claude" for Claude Code, "agents" for any ~/.agents host (Codex, Pi, ...)`},{usage:`coder run --engine [codex|claude] "<task>"`,blurb:`run a task on that engine's default model`},{usage:`coder task result <task-id> --wait`,blurb:`wait for the answer; returns early if the task needs your approval`}],agents:[{usage:`coder docs skill [--claude]`,blurb:`load the skill once`}],usage:[{usage:`coder <command> --help`,blurb:`flags and details for any command`}]};function D(e,t,n=t.cyan){let r=Math.max(0,...e.map(e=>e.usage.length))+2;return e.map(e=>` ${n(e.usage.padEnd(r))}${t.dim(e.blurb)}${e.note?` ${t.light(e.note)}`:``}`)}function O(e,t,n){return[``,n.bold(`${e}:`),...t]}function k(e,t,n={}){let r=p;return`${[r.bold(`Usage:`),` ${n.usage??`coder ${e} <subcommand>`}`,...n.description?.length?[``,...n.description]:[],...O(`Subcommands`,D(t,r),r),...n.examples?.length?O(`Examples`,n.examples.flatMap(([e,t])=>[` ${r.cyan(e)}`,` ${r.dim(t)}`]),r):[],...n.seeAlso?O(`Related`,n.seeAlso.split(` · `).map(e=>` ${r.cyan(`coder ${e}`)}`),r):[],``,h([`Details on a subcommand: coder ${e} <subcommand> --help`],r,r.cyan)].join(`
2
2
  `)}\n`}function A(e,t){if(!t)return null;let n=p,r=([e,t])=>({usage:e,blurb:t}),i=[n.bold(`Usage:`),` ${t.usage}`];t.summary&&i.push(``,t.summary),t.flags?.length&&i.push(...O(`Flags`,D(t.flags.map(r),n),n)),t.globalFlags?.length&&i.push(...O(`Global flags`,D(t.globalFlags.map(r),n),n)),t.exitCodes?.length&&i.push(...O(`Exit codes`,D(t.exitCodes.map(r),n),n)),t.env?.length&&i.push(...O(`Environment`,D(t.env.map(r),n),n)),t.examples?.length&&i.push(...O(`Examples`,t.examples.flatMap(([e,t])=>[` ${n.cyan(e)}`,` ${n.dim(t)}`]),n));let a=e.includes(` `)?[`${e.slice(0,e.lastIndexOf(` `))} --help`]:t.seeAlso?.split(` · `)??[];return a.length&&i.push(...O(`Related`,a.map(e=>` ${n.cyan(`coder ${e}`)}`),n)),`${i.join(`
3
3
  `)}\n`}function j(e,t){let n=p,{start:r,agents:i,usage:a,commands:o,globals:s}=e,c=D([...r,...i,...a,...o,...s],n),l=(e,t)=>c.slice(e,e+t);return`${[`${n.bold(e.title)} ${n.dim(`v${t}`)}`,e.description,...O(`Get started`,l(0,r.length),n),...O(`Agents`,l(r.length,i.length),n),...O(`Usage`,[` ${e.usageLine}`,...l(r.length+i.length,a.length)],n),...O(`Commands`,l(r.length+i.length+a.length,o.length),n),...O(`Global`,c.slice(-s.length),n)].join(`
4
4
  `)}\n`}function M(e){let t=e.indexOf(`--`),n=t===-1?e:e.slice(0,t);return n.includes(`-h`)||n.includes(`--help`)}const N=`Use luna or sonnet for mechanical work; sol or opus is the default.
5
- Use astra or fable for the hardest work; they cost the most.`,P={json:[`--json`,`JSON output`],cwd:[`--cwd <dir>`,`workspace directory (default: current)`]},F=[`--server [url] [--workspace <slug>]`,`act on your Coder server; --workspace overrides the saved workspace for this command`],I=[`--server [url]`,`act on your Coder server, in the saved workspace`],L=e=>e===`https://coder.wular.ai`?`Sign in: coder auth login`:`Sign in: coder auth login --server ${e}`;async function R(e,t=!1){let n=c(e);if(o(n))return n;if(!t){if(!l())throw new i(`invalid-option`,`First use of Coder server ${new URL(n).origin} needs confirmation.`,{hint:`Inspect the origin, then repeat with --yes.`});if((await a({title:`Connect to ${new URL(n).origin}?`,hint:`This server can receive task and agent data.`,options:[{value:`yes`,label:`Continue`},{value:`no`,label:`Cancel`}]}))[0]!==`yes`)throw new i(`invalid-option`,`Server connection cancelled.`)}return s(n),n}function z(e){return e.cwd?_.resolve(String(e.cwd)):v.cwd()}function B(e){v.stderr.write(`[coder] No engine could start. Follow fallback.instructions with a native subagent.
6
- `),d(e)}function V(e,t=!1){let n=`read-only unavailable on this host: the OS sandbox failed to start (Linux/WSL2 needs bubblewrap + socat). Re-dispatch with --permissions auto (or workspace-write) if writes are acceptable, or install the sandbox deps.`;t?d({error:n,code:`read-only-unavailable`,detail:e}):v.stderr.write(`[coder] ${n}\n`),v.exit(1)}function H(e,t,r,i=!1){if(i)d({taskId:t,status:`awaiting-approval`,approval:r});else{let i=n(e).approvals.escalationTimeoutMs/1e3,a=[`Approve: coder task approve ${t} ${r.id}`,`Deny: coder task approve ${t} ${r.id} --deny`,`Then wait again: coder task result ${t} --wait`,`Unanswered approvals auto-deny after ${i} seconds.`];r.networkHost&&a.push(`Network access to ${r.networkHost} can be pre-approved with approvals.allowedNetworkHosts.`),v.stdout.write(`Approval needed for task ${t}: ${r.summary}\n`),r.cwd&&v.stdout.write(`Runs in: ${r.cwd}\n`),v.stderr.write(`\n${h(a,m,m.blue,`Next steps`)}\n`)}v.exit(4)}function U(e,t,n){switch(e.code){case`chain-exhausted`:B(e.payload),v.exit(3);case`read-only-unavailable`:V(e.message,n.json);case`approval-pending`:H(t,e.taskId,e.approval,n.json);case`startup-failed`:n.json&&(d({taskId:e.taskId,status:`failed`,detail:e.message}),v.exit(1)),f(`Task ${e.taskId} failed to start.${e.message?`\n${e.message}`:``}`,{hint:`See: coder task result ${e.taskId}`});case`login-failed`:f(e.message,{hint:[L(c(n.server)),`Or, for a memory server, set the same ADMIN_TOKEN it was started with`]});case`server`:f(e.message,{hint:e.hint??(e.status===401?L(c(n.server)):void 0)});default:f(e.message,e.hint?{hint:e.hint}:{})}}function W(e){return Object.assign(async t=>{let{options:n,positionals:r}=g(t,b.object(e.options),{positionals:e.args??0,command:e.name}),a={options:n,args:r,cwd:z(n)},o=n,s;try{o.server!==void 0&&await R(o.server,o.yes),s=await e.run(a)}catch(e){throw e instanceof i&&U(e,a.cwd,o),e}o.json&&s!==void 0?d(e.json?e.json(s,a):s):await e.print?.(s,a);let c=e.exit?.(s,a);c!==void 0&&(v.exitCode=c)},{commandName:e.helpName??e.name,help:e.help&&{...e.help,globalFlags:Object.keys(P).filter(t=>e.globalFlags?.[t]!==!1).map(e=>P[e])}})}function G(e,t,n,{aliases:r={},nested:i=[],hint:a=`Help: coder ${e} --help`,help:o}={}){return Object.assign(async n=>{let[o,...s]=n;if(!o||o===`help`||o===`-h`||o===`--help`)return void v.stdout.write(await J(e));let c=t[o];if(c||(v.stdout.write(await J(e)),f(`Unknown ${e} subcommand "${o}".`,{hint:a})),!i.includes(o)&&M(s)){let t=`${e} ${r[o]??o}`;v.stdout.write(A(t,await q(t))??await J(e));return}await(await c())(s)},{commandName:e,help:o,groupHelp:n,subcommands:t})}async function K(e){let[t,...n]=e.split(` `),r=T[t];if(!r)return;let i=await r();for(let e of n){let t=i.subcommands?.[e];if(!t)return;i=await t()}return i}async function q(e){let t=await K(e);return t&&(t.commandName===e||T[e])?t.help:void 0}async function J(e){let t=await K(e);if(!t)return null;if(!t.groupHelp)return A(t.commandName??e,t.help);let n=t.groupHelp;return k(e,n.menu,{...n,...n.details?{description:[t.help.summary],examples:t.help.examples,seeAlso:t.help.seeAlso}:{},...n.exampleCommand?{examples:(await q(n.exampleCommand))?.examples}:{}})}const Y=()=>j({...E,globals:[{usage:`-h, --help`,blurb:`show help (top-level, or for a command)`},{usage:`-v, --version`,blurb:`print the coder version`},...Object.values(P).map(([e,t])=>({usage:e,blurb:t}))]},t()),X=new Set([`task`,`model`,`flow`,`agent`,`server`,`runner`,`auth`,`credentials`]);async function Z(){let[n,...a]=v.argv.slice(2);if(n===`--version`||n===`-v`){v.stdout.write(`${t()}\n`);return}if(n===void 0||n===`help`||n===`--help`||n===`-h`){if(a[0]&&X.has(a[0])&&a[1]===void 0)return void v.stdout.write(await J(a[0]));for(let e of[a.slice(0,3),a.slice(0,2),...a.map(e=>[e])]){let t=e.join(` `),n=await q(t);if(n){let e=await K(t);v.stdout.write(A(e.commandName,n));return}}v.stdout.write(Y());return}if(![`task worker`,`task archive-sweep`,`mcp serve`,`agent tools`,`upgrade refresh`,`update refresh`].includes(`${n} ${a[0]}`)){let n=e(t(),r);n&&v.stderr.write(m.dim(`coder ${t()} -> `)+m.bold(n)+m.dim(` available. run: coder upgrade
5
+ Use astra or fable for the hardest work; they cost the most.`,P={json:[`--json`,`JSON output`],cwd:[`--cwd <dir>`,`workspace directory (default: current)`]},F=[`--server [url] [--workspace <slug>]`,`act on your Coder server; --workspace overrides the saved workspace for this command`],I=[`--server [url]`,`act on your Coder server, in the saved workspace`],L=e=>e===`https://coder.wular.ai`?`Sign in: coder auth login`:`Sign in: coder auth login --server ${e}`;async function R(e,n=!1){let r=c(e);if(o(r))return r;if(!n){if(!l())throw new t(`invalid-option`,`First use of Coder server ${new URL(r).origin} needs confirmation.`,{hint:`Inspect the origin, then repeat with --yes.`});if((await a({title:`Connect to ${new URL(r).origin}?`,hint:`This server can receive task and agent data.`,options:[{value:`yes`,label:`Continue`},{value:`no`,label:`Cancel`}]}))[0]!==`yes`)throw new t(`invalid-option`,`Server connection cancelled.`)}return s(r),r}function z(e){return e.cwd?_.resolve(String(e.cwd)):v.cwd()}function B(e){v.stderr.write(`[coder] No engine could start. Follow fallback.instructions with a native subagent.
6
+ `),d(e)}function V(e,t=!1){let n=`read-only unavailable on this host: the OS sandbox failed to start (Linux/WSL2 needs bubblewrap + socat). Re-dispatch with --permissions auto (or workspace-write) if writes are acceptable, or install the sandbox deps.`;t?d({error:n,code:`read-only-unavailable`,detail:e}):v.stderr.write(`[coder] ${n}\n`),v.exit(1)}function H(e,t,n,r=!1){if(r)d({taskId:t,status:`awaiting-approval`,approval:n});else{let r=i(e).approvals.escalationTimeoutMs/1e3,a=[`Approve: coder task approve ${t} ${n.id}`,`Deny: coder task approve ${t} ${n.id} --deny`,`Then wait again in its own background shell, one per task: coder task result ${t} --wait`,`Unanswered approvals auto-deny after ${r} seconds.`];n.networkHost&&a.push(`Network access to ${n.networkHost} can be pre-approved with approvals.allowedNetworkHosts.`),v.stdout.write(`Approval needed for task ${t}: ${n.summary}\n`),n.cwd&&v.stdout.write(`Runs in: ${n.cwd}\n`),v.stderr.write(`\n${h(a,m,m.blue,`Next steps`)}\n`)}v.exit(4)}function U(e,t,n){switch(e.code){case`chain-exhausted`:B(e.payload),v.exit(3);case`read-only-unavailable`:V(e.message,n.json);case`approval-pending`:H(t,e.taskId,e.approval,n.json);case`startup-failed`:n.json&&(d({taskId:e.taskId,status:`failed`,detail:e.message}),v.exit(1)),f(`Task ${e.taskId} failed to start.${e.message?`\n${e.message}`:``}`,{hint:`See: coder task result ${e.taskId}`});case`login-failed`:f(e.message,{hint:[L(c(n.server)),`Or, for a memory server, set the same ADMIN_TOKEN it was started with`]});case`server`:f(e.message,{hint:e.hint??(e.status===401?L(c(n.server)):void 0)});default:f(e.message,e.hint?{hint:e.hint}:{})}}function W(e){return Object.assign(async n=>{let{options:r,positionals:i}=g(n,b.object(e.options),{positionals:e.args??0,command:e.name}),a={options:r,args:i,cwd:z(r)},o=r,s;try{o.server!==void 0&&await R(o.server,o.yes),s=await e.run(a)}catch(e){throw e instanceof t&&U(e,a.cwd,o),e}o.json&&s!==void 0?d(e.json?e.json(s,a):s):await e.print?.(s,a);let c=e.exit?.(s,a);c!==void 0&&(v.exitCode=c)},{commandName:e.helpName??e.name,help:e.help&&{...e.help,globalFlags:Object.keys(P).filter(t=>e.globalFlags?.[t]!==!1).map(e=>P[e])}})}function G(e,t,n,{aliases:r={},nested:i=[],hint:a=`Help: coder ${e} --help`,help:o}={}){return Object.assign(async n=>{let[o,...s]=n;if(!o||o===`help`||o===`-h`||o===`--help`)return void v.stdout.write(await J(e));let c=t[o];if(c||(v.stdout.write(await J(e)),f(`Unknown ${e} subcommand "${o}".`,{hint:a})),!i.includes(o)&&M(s)){let t=`${e} ${r[o]??o}`;v.stdout.write(A(t,await q(t))??await J(e));return}await(await c())(s)},{commandName:e,help:o,groupHelp:n,subcommands:t})}async function K(e){let[t,...n]=e.split(` `),r=T[t];if(!r)return;let i=await r();for(let e of n){let t=i.subcommands?.[e];if(!t)return;i=await t()}return i}async function q(e){let t=await K(e);return t&&(t.commandName===e||T[e])?t.help:void 0}async function J(e){let t=await K(e);if(!t)return null;if(!t.groupHelp)return A(t.commandName??e,t.help);let n=t.groupHelp;return k(e,n.menu,{...n,...n.details?{description:[t.help.summary],examples:t.help.examples,seeAlso:t.help.seeAlso}:{},...n.exampleCommand?{examples:(await q(n.exampleCommand))?.examples}:{}})}const Y=()=>j({...E,globals:[{usage:`-h, --help`,blurb:`show help (top-level, or for a command)`},{usage:`-v, --version`,blurb:`print the coder version`},...Object.values(P).map(([e,t])=>({usage:e,blurb:t}))]},r()),X=new Set([`task`,`model`,`flow`,`agent`,`server`,`runner`,`auth`,`credentials`]);async function Z(){let[i,...a]=v.argv.slice(2);if(i===`--version`||i===`-v`){v.stdout.write(`${r()}\n`);return}if(i===void 0||i===`help`||i===`--help`||i===`-h`){if(a[0]&&X.has(a[0])&&a[1]===void 0)return void v.stdout.write(await J(a[0]));for(let e of[a.slice(0,3),a.slice(0,2),...a.map(e=>[e])]){let t=e.join(` `),n=await q(t);if(n){let e=await K(t);v.stdout.write(A(e.commandName,n));return}}v.stdout.write(Y());return}if(![`task worker`,`task archive-sweep`,`mcp serve`,`agent tools`,`upgrade refresh`,`update refresh`].includes(`${i} ${a[0]}`)){let t=n(r(),e);t&&v.stderr.write(m.dim(`coder ${r()} -> `)+m.bold(t)+m.dim(` available. run: coder upgrade
7
7
 
8
- `))}let o=T[n];if(o||(v.stdout.write(Y()),v.stdout.write(`
9
- `),f(`Unknown command "${n}".`,{hint:`See all commands: coder --help`})),!X.has(n)&&M(a)){let e=await o();v.stdout.write(A(e.commandName??n,e.help)??Y());return}try{await(await o())(a)}catch(e){let t=e instanceof Error?e.message:String(e);throw/^(Unknown option|Missing value)/.test(t)&&await q(n)&&f(t,{hint:`Help: coder ${n} --help`}),e instanceof i&&e.hint&&f(e.message,{hint:e.hint}),e}}function Q(){return v.stdout.on(`error`,e=>{throw e.code===`EPIPE`&&v.exit(0),e}),Z().catch(e=>{e instanceof u&&v.exit(130);let t=e instanceof Error&&e.cause instanceof Error?`: ${e.cause.message}`:``;v.stderr.write(`${e instanceof Error?e.message:String(e)}${t}\n`),v.exit(1)})}const $=v.argv[1]&&y(v.argv[1]).href;$&&[import.meta.url,new URL(`./cli.js`,import.meta.url).href].includes($)&&Q();export{R as a,Q as c,D as d,A as f,W as i,J as l,N as n,q as o,O as p,F as r,G as s,I as t,Y as u};
8
+ `))}let o=T[i];if(o||(v.stdout.write(Y()),v.stdout.write(`
9
+ `),f(`Unknown command "${i}".`,{hint:`See all commands: coder --help`})),!X.has(i)&&M(a)){let e=await o();v.stdout.write(A(e.commandName??i,e.help)??Y());return}try{await(await o())(a)}catch(e){let n=e instanceof Error?e.message:String(e);throw/^(Unknown option|Missing value)/.test(n)&&await q(i)&&f(n,{hint:`Help: coder ${i} --help`}),e instanceof t&&e.hint&&f(e.message,{hint:e.hint}),e}}function Q(){return v.stdout.on(`error`,e=>{throw e.code===`EPIPE`&&v.exit(0),e}),Z().catch(e=>{e instanceof u&&v.exit(130);let t=e instanceof Error&&e.cause instanceof Error?`: ${e.cause.message}`:``;v.stderr.write(`${e instanceof Error?e.message:String(e)}${t}\n`),v.exit(1)})}const $=v.argv[1]&&y(v.argv[1]).href;$&&[import.meta.url,new URL(`./cli.js`,import.meta.url).href].includes($)&&Q();export{R as a,Q as c,D as d,A as f,W as i,J as l,N as n,q as o,O as p,F as r,G as s,I as t,Y as u};
package/dist/cli.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { a as HelpRow, i as CommandHelpSpec, r as CommandHandler } from "./types-I5Cwtl_K.js";
1
+ import { a as HelpRow, i as CommandHelpSpec, r as CommandHandler } from "./types-DMGBYB_K.js";
2
2
  import * as z from "zod/mini";
3
3
  //#region src/tui/help.d.ts
4
4
  type GroupHelpSpec = {
package/dist/cli.js CHANGED
@@ -1,2 +1,2 @@
1
1
  #!/usr/bin/env node
2
- import{a as e,c as t,i as n,l as r,n as i,o as a,r as o,s,t as c,u as l}from"./cli-BilSDkvE.js";export{c as CREDENTIAL_SERVER_FLAG,i as MODEL_HINT,o as SERVER_FLAG,n as command,e as confirmServer,a as getCommandHelp,s as group,t as main,r as renderHelp,l as renderTopHelp};
2
+ import{a as e,c as t,i as n,l as r,n as i,o as a,r as o,s,t as c,u as l}from"./cli-B1ObVrL4.js";export{c as CREDENTIAL_SERVER_FLAG,i as MODEL_HINT,o as SERVER_FLAG,n as command,e as confirmServer,a as getCommandHelp,s as group,t as main,r as renderHelp,l as renderTopHelp};
@@ -1 +1 @@
1
- import{t as e}from"./rolldown-runtime-DT7IzrpZ.js";import{f as t}from"./schema-CU2iFkp8.js";import{randomUUID as n}from"node:crypto";import{AsyncLocalStorage as r}from"node:async_hooks";import{drizzle as i}from"drizzle-orm/postgres-js";import{PgDialect as a}from"drizzle-orm/pg-core";import o from"postgres";function s(e){return e.replace(/\$(\w*)\$[\s\S]*?\$\1\$|[eE]'(?:\\.|''|[^'])*'|'(?:''|[^'])*'|--[^\n]*|\/\*[\s\S]*?\*\//g,e=>e.startsWith(`--`)||e.startsWith(`/*`)?` `:`?`).replace(/\b\d+(?:\.\d+)?\b/g,`?`).replace(/\s+/g,` `).trim()}var c=class{requests=new r;request(e,t){if(process.env.CODER_DB_PROFILE!==`1`)return t();let r=e&&this.requests.getStore()||n();return this.requests.run(r,()=>t(r))}statement(e,t=this.requests.getStore()??`background`){let n=performance.now();return(r,i=!1,a=e)=>console.info(JSON.stringify({type:`coder.db`,requestId:t,sql:s(a),start:n,ms:performance.now()-n,rows:r,failed:i}))}query(e,t){if(process.env.CODER_DB_PROFILE!==`1`)return e;let n=this,r=this.requests.getStore()??`background`,i;return new Proxy(e,{get(e,a,o){return a===`then`?(a,o)=>(i??=(()=>{let i=n.statement(t,r);return Promise.resolve(e).then(e=>{let t=e;return i(t?.count??t?.length??null),e},e=>{throw i(null,!0),e})})(),i.then(a,o)):Reflect.get(e,a,o)}})}},l=e({CASING:()=>u,connect:()=>g,pipeline:()=>f,prepared:()=>p,readQuery:()=>m});const u=`snake_case`;function d(e){return e?.severity===`FATAL`||[`CONNECTION_CLOSED`,`CONNECTION_ENDED`,`CONNECTION_DESTROYED`,`ECONNRESET`,`EPIPE`].includes(e?.code??``)}async function f(e,t,n){let r=e.$client;if(!r?.begin)return e.transaction(async e=>{for(let n of t)await e.execute(n);let r=await e.execute(n);return Array.isArray(r)?r:r.rows});let i=new a({casing:u}),o=e._.session.logger,s=await r.begin(e=>Promise.all([...t,n].map(t=>{let n=i.sqlToQuery(t);return o?.logQuery(n.sql,n.params),e.unsafe(n.sql,n.params)})).catch(e=>{if(d(e))return new Promise(()=>{});throw e}));return s[s.length-1]}function p(e,t,n=new c){let r=e.unsafe;e.unsafe=((e,i,a)=>n.query(r(e,i,{prepare:t,...a}),e));for(let r of[`begin`,`savepoint`]){let i=e[r];i&&(e[r]=(...a)=>{let o=a.pop();if(process.env.CODER_DB_PROFILE===`1`){let s=r===`savepoint`?n.statement(`savepoint`):void 0,c;return Promise.resolve(i.call(e,...a,async e=>{s?.(null);try{let r=o(p(e,t,n));return await(Array.isArray(r)?Promise.all(r):r)}finally{c=n.statement(r===`begin`?`commit`:`release savepoint`)}})).then(e=>(c?.(null),e),e=>{throw c?c(null,!0,r===`begin`?`rollback`:`rollback to savepoint`):s?.(null,!0),e})}return i.call(e,...a,e=>o(p(e,t,n)))})}return e}function m(e,t){let n=e.$client?.reads;return n?n.run(!0,async()=>t()):Promise.resolve(t())}function h(e,t){let n=e.unsafe;return e.unsafe=((...e)=>{let r=t.getStore()===!0,i=n(...e),a=[],o=()=>a.reduce((e,t)=>e[t](),n(...e)),s=()=>new Promise(e=>setTimeout(e)).then(o),c=new Proxy(i,{get:(e,t,n)=>t===`values`||t===`raw`?()=>(a.push(t),e[t](),c):t===`then`?(t,n)=>e.then(void 0,e=>d(e)&&r?s():Promise.reject(e)).then(t,n):Reflect.get(e,t,n)});return c}),e}function g(e,n={}){let a=o(e,{max:n.max??10,idle_timeout:n.idleTimeout??240,onnotice:()=>{}}),s=new c,l=new r,d=Object.assign(h(p(a,a.options.prepare,s),l),{reads:l});return{db:i(d,{schema:t,casing:u}),profile:s,close:()=>d.end()}}export{m as i,l as n,f as r,u as t};
1
+ import{t as e}from"./rolldown-runtime-DT7IzrpZ.js";import{f as t}from"./schema-DoNO0dPh.js";import{randomUUID as n}from"node:crypto";import{AsyncLocalStorage as r}from"node:async_hooks";import{drizzle as i}from"drizzle-orm/postgres-js";import{PgDialect as a}from"drizzle-orm/pg-core";import o from"postgres";function s(e){return e.replace(/\$(\w*)\$[\s\S]*?\$\1\$|[eE]'(?:\\.|''|[^'])*'|'(?:''|[^'])*'|--[^\n]*|\/\*[\s\S]*?\*\//g,e=>e.startsWith(`--`)||e.startsWith(`/*`)?` `:`?`).replace(/\b\d+(?:\.\d+)?\b/g,`?`).replace(/\s+/g,` `).trim()}var c=class{requests=new r;request(e,t){if(process.env.CODER_DB_PROFILE!==`1`)return t();let r=e&&this.requests.getStore()||n();return this.requests.run(r,()=>t(r))}statement(e,t=this.requests.getStore()??`background`){let n=performance.now();return(r,i=!1,a=e)=>console.info(JSON.stringify({type:`coder.db`,requestId:t,sql:s(a),start:n,ms:performance.now()-n,rows:r,failed:i}))}query(e,t){if(process.env.CODER_DB_PROFILE!==`1`)return e;let n=this,r=this.requests.getStore()??`background`,i;return new Proxy(e,{get(e,a,o){return a===`then`?(a,o)=>(i??=(()=>{let i=n.statement(t,r);return Promise.resolve(e).then(e=>{let t=e;return i(t?.count??t?.length??null),e},e=>{throw i(null,!0),e})})(),i.then(a,o)):Reflect.get(e,a,o)}})}},l=e({CASING:()=>u,connect:()=>g,pipeline:()=>f,prepared:()=>p,readQuery:()=>m});const u=`snake_case`;function d(e){return e?.severity===`FATAL`||[`CONNECTION_CLOSED`,`CONNECTION_ENDED`,`CONNECTION_DESTROYED`,`ECONNRESET`,`EPIPE`].includes(e?.code??``)}async function f(e,t,n){let r=e.$client;if(!r?.begin)return e.transaction(async e=>{for(let n of t)await e.execute(n);let r=await e.execute(n);return Array.isArray(r)?r:r.rows});let i=new a({casing:u}),o=e._.session.logger,s=await r.begin(e=>Promise.all([...t,n].map(t=>{let n=i.sqlToQuery(t);return o?.logQuery(n.sql,n.params),e.unsafe(n.sql,n.params)})).catch(e=>{if(d(e))return new Promise(()=>{});throw e}));return s[s.length-1]}function p(e,t,n=new c){let r=e.unsafe;e.unsafe=((e,i,a)=>n.query(r(e,i,{prepare:t,...a}),e));for(let r of[`begin`,`savepoint`]){let i=e[r];i&&(e[r]=(...a)=>{let o=a.pop();if(process.env.CODER_DB_PROFILE===`1`){let s=r===`savepoint`?n.statement(`savepoint`):void 0,c;return Promise.resolve(i.call(e,...a,async e=>{s?.(null);try{let r=o(p(e,t,n));return await(Array.isArray(r)?Promise.all(r):r)}finally{c=n.statement(r===`begin`?`commit`:`release savepoint`)}})).then(e=>(c?.(null),e),e=>{throw c?c(null,!0,r===`begin`?`rollback`:`rollback to savepoint`):s?.(null,!0),e})}return i.call(e,...a,e=>o(p(e,t,n)))})}return e}function m(e,t){let n=e.$client?.reads;return n?n.run(!0,async()=>t()):Promise.resolve(t())}function h(e,t,n){let r=e.unsafe;return e.unsafe=((...i)=>{let a=t.getStore()===!0,o=n.getStore(),s=r(...i),c=[],l=()=>o?n.exit(()=>e.begin(e=>[e.unsafe(`set local statement_timeout = ${Math.ceil(o)}`),c.reduce((e,t)=>e[t](),e.unsafe(...i))])).then(e=>e[1]):c.reduce((e,t)=>e[t](),r(...i)),u=()=>new Promise(e=>setTimeout(e)).then(l),f=new Proxy(s,{get:(e,t,n)=>t===`values`||t===`raw`?()=>(c.push(t),e[t](),f):t===`then`?(t,n)=>(o?l():e).then(void 0,e=>d(e)&&a?u():Promise.reject(e)).then(t,n):Reflect.get(e,t,n)});return f}),e}function g(e,n={}){let a=o(e,{max:n.max??10,idle_timeout:n.idleTimeout??240,onnotice:()=>{}}),s=new c,l=new r,d=new r,f=Object.assign(h(p(a,a.options.prepare,s),l,d),{reads:l});return{db:i(f,{schema:t,casing:u}),profile:s,statementTimeout:(e,t)=>d.run(e,t),close:()=>f.end()}}export{m as i,l as n,f as r,u as t};
@@ -1,3 +1,3 @@
1
- import{X as e,Z as t,ht as n,nt as r,xt as i}from"./dispatch-BKeAch9E.js";import{f as a,i as o}from"./cli-BilSDkvE.js";import{h as s,p as c}from"./output-BKeyLbvt.js";import{n as l,t as u}from"./args-BOEEdpWk.js";import d from"node:process";const f=e=>new i(`invalid-option`,`Usage: ${e}`);function p(e){try{return JSON.parse(e)}catch{return e.includes(`,`)?e.split(`,`).map(e=>e.trim()).filter(Boolean):e}}const m=o({name:`config`,help:{usage:`coder config <list|get|set|unset> [<key> [value]] [--workspace]`,summary:"Read or write configuration. `list` prints the effective config; get/set/unset\ntarget a dotted key (e.g. engines.codex.model). Writes go to ~/.coder/config.json.",flags:[[`--workspace`,`target <repo>/.coder/config.json instead of the user file`]],examples:[[`coder config list`,`print the effective config`],[`coder config set chain codex,claude`,`set the engine fallback chain`],[`coder config get engines.codex.model`,`read one value`]]},options:{...u,workspace:l},args:1/0,run({options:n,args:[i,a,...o],cwd:s}){if(!(!i||i===`help`)){if(i===`list`)return{action:i,config:r(s)};if(i===`get`){if(!a)throw f(`coder config get <key> (e.g. chain, engines.codex.model)`);return{action:i,value:e(s,a)}}if(i!==`set`&&i!==`unset`)throw f(`coder config <list|get|set|unset> [<key> [value]] [--workspace]`);if(!a||i===`set`&&o.length===0)throw f(`coder config ${i} <key>${i===`set`?` <value>`:``}`);return{action:i,set:t(s,a,p(o.join(` `)),{workspace:n.workspace,unset:i===`unset`})}}},json(e){let t=e;return t.action===`list`?t.config:t.action===`get`?t.value??null:t.set},print(e){if(!e)return void d.stdout.write(a(`config`,m.help));if(e.action===`list`)return h(e.config,n());if(e.action===`get`)return g(e.value);_(e.set)}});function h(e,t){let n=c,r=e=>[e?.model,e?.effort,e?.permissions].filter(Boolean).join(`/`)||`-`;d.stdout.write([`${n.dim(`chain`)} ${e.chain.join(` -> `)}`,`${n.dim(`codex`)} ${r(e.engines.codex)}`,`${n.dim(`claude`)} ${r(e.engines.claude)}`,`${n.dim(`approvals`)} timeout=${e.approvals.escalationTimeoutMs}ms hosts=[${e.approvals.allowedNetworkHosts.join(`, `)}]`,`${n.dim(`file`)} ${t}`].join(`
1
+ import{Ct as e,X as t,Z as n,ht as r,nt as i}from"./dispatch-BsW_1m7e.js";import{f as a,i as o}from"./cli-B1ObVrL4.js";import{h as s,p as c}from"./output-BKeyLbvt.js";import{n as l,t as u}from"./args-DcBCtXhz.js";import d from"node:process";const f=t=>new e(`invalid-option`,`Usage: ${t}`);function p(e){try{return JSON.parse(e)}catch{return e.includes(`,`)?e.split(`,`).map(e=>e.trim()).filter(Boolean):e}}const m=o({name:`config`,help:{usage:`coder config <list|get|set|unset> [<key> [value]] [--workspace]`,summary:"Read or write configuration. `list` prints the effective config; get/set/unset\ntarget a dotted key (e.g. engines.codex.model). Writes go to ~/.coder/config.json.",flags:[[`--workspace`,`target <repo>/.coder/config.json instead of the user file`]],examples:[[`coder config list`,`print the effective config`],[`coder config set chain codex,claude`,`set the engine fallback chain`],[`coder config get engines.codex.model`,`read one value`]]},options:{...u,workspace:l},args:1/0,run({options:e,args:[r,a,...o],cwd:s}){if(!(!r||r===`help`)){if(r===`list`)return{action:r,config:i(s)};if(r===`get`){if(!a)throw f(`coder config get <key> (e.g. chain, engines.codex.model)`);return{action:r,value:t(s,a)}}if(r!==`set`&&r!==`unset`)throw f(`coder config <list|get|set|unset> [<key> [value]] [--workspace]`);if(!a||r===`set`&&o.length===0)throw f(`coder config ${r} <key>${r===`set`?` <value>`:``}`);return{action:r,set:n(s,a,p(o.join(` `)),{workspace:e.workspace,unset:r===`unset`})}}},json(e){let t=e;return t.action===`list`?t.config:t.action===`get`?t.value??null:t.set},print(e){if(!e)return void d.stdout.write(a(`config`,m.help));if(e.action===`list`)return h(e.config,r());if(e.action===`get`)return g(e.value);_(e.set)}});function h(e,t){let n=c,r=e=>[e?.model,e?.effort,e?.permissions].filter(Boolean).join(`/`)||`-`;d.stdout.write([`${n.dim(`chain`)} ${e.chain.join(` -> `)}`,`${n.dim(`codex`)} ${r(e.engines.codex)}`,`${n.dim(`claude`)} ${r(e.engines.claude)}`,`${n.dim(`approvals`)} timeout=${e.approvals.escalationTimeoutMs}ms hosts=[${e.approvals.allowedNetworkHosts.join(`, `)}]`,`${n.dim(`file`)} ${t}`].join(`
2
2
  `)+`
3
3
  `)}function g(e){if(e===null||typeof e==`object`&&e!==void 0)return s(e);d.stdout.write(`${e===void 0?`(unset)`:String(e)}\n`)}function _(e){let t=c,n=e.unset?`unset ${t.cyan(e.key)}`:`${t.cyan(e.key)} = ${JSON.stringify(e.value)}`;d.stdout.write(`${n} ${t.dim(`(${e.file})`)}\n`)}export{m as commandConfig};
@@ -1 +1 @@
1
- import{xt as e}from"./dispatch-BKeAch9E.js";import{i as t}from"./prompt-CEuBMNhk.js";import{i as n}from"./cli-BilSDkvE.js";import{n as r,s as i}from"./args-BOEEdpWk.js";import a from"node:process";const o=n({name:`server app create`,globalFlags:{cwd:!1},help:{usage:`coder server app create <integration> [--org <org>] [--name <name>] [--json]`,summary:`Open the page that creates the built-in agent's public app on a platform, once per server. Every workspace then connects it from its dashboard with one click. Run it where the server's environment is set.`,flags:[[`--org <org>`,`create it under this organization instead of your own account`],[`--name <name>`,`the app's name and handle (default Coder)`]],env:[[`DATABASE_URL`,`the server's Postgres`],[`PUBLIC_URL`,`the server's address, which goes into the app`]],examples:[[`coder server app create github --name wular-coder`,`the hosted GitHub App`],[`coder server app create slack`,`the Slack app`]]},options:{org:i,name:i,json:r},args:1,async run({options:t,args:[n]}){let{serverAppLink:r}=await import(`./apps-CjfrZyM5.js`).then(e=>e.t);if(!n)throw new e(`invalid-option`,`Missing integration, such as github or slack.`);return r(n,{owner:t.org,name:t.name})},json:({url:e})=>({ok:!0,url:e}),print({url:e}){a.stdout.write(`Open this page to create the app (valid 10 minutes):\n${e}\n`),t(e)}});export{o as commandServerAppCreate};
1
+ import{Ct as e}from"./dispatch-BsW_1m7e.js";import{i as t}from"./prompt-CMXmt2l9.js";import{i as n}from"./cli-B1ObVrL4.js";import{n as r,s as i}from"./args-DcBCtXhz.js";import a from"node:process";const o=n({name:`server app create`,globalFlags:{cwd:!1},help:{usage:`coder server app create <integration> [--org <org>] [--name <name>] [--json]`,summary:`Open the page that creates the built-in agent's public app on a platform, once per server. Every workspace then connects it from its dashboard with one click. Run it where the server's environment is set.`,flags:[[`--org <org>`,`create it under this organization instead of your own account`],[`--name <name>`,`the app's name and handle (default Coder)`]],env:[[`DATABASE_URL`,`the server's Postgres`],[`PUBLIC_URL`,`the server's address, which goes into the app`]],examples:[[`coder server app create github --name wular-coder`,`the hosted GitHub App`],[`coder server app create slack`,`the Slack app`]]},options:{org:i,name:i,json:r},args:1,async run({options:t,args:[n]}){let{serverAppLink:r}=await import(`./apps-CU2YalX8.js`).then(e=>e.t);if(!n)throw new e(`invalid-option`,`Missing integration, such as github or slack.`);return r(n,{owner:t.org,name:t.name})},json:({url:e})=>({ok:!0,url:e}),print({url:e}){a.stdout.write(`Open this page to create the app (valid 10 minutes):\n${e}\n`),t(e)}});export{o as commandServerAppCreate};
@@ -0,0 +1 @@
1
+ import{s as e}from"./cli-B1ObVrL4.js";const t=e(`credentials`,{list:async()=>(await import(`./list-BjE_l6la.js`)).commandCredentialsList,add:async()=>(await import(`./add-DOEUHIe7.js`)).commandCredentialsAdd,login:async()=>(await import(`./login-C-ahtDKV.js`)).commandCredentialsLogin,remove:async()=>(await import(`./remove-CTl-H0f0.js`)).commandCredentialsRemove,default:async()=>(await import(`./default-BMvUMTFp.js`)).commandCredentialsDefault},void 0,{help:{usage:`coder credentials [list|add|login|remove|default] ...`,summary:`Manage engine credentials. Your personal ones are yours alone; workspace ones serve every member, and only owners and admins change them. A task runs on its requester's default for the engine, else the workspace's.`}});export{t as commandCredentials};