@wular/coder 0.4.5 → 0.4.6

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 (190) hide show
  1. package/dist/{add-DTwoL7vJ.js → add-BIp1t_pT.js} +1 -1
  2. package/dist/{add-cdKdz3K0.js → add-CKENklTr.js} +1 -1
  3. package/dist/{add-Bffwutko.js → add-DrbKvzAF.js} +1 -1
  4. package/dist/{add-Bz8uaOcu.js → add-KkLx1WbE.js} +1 -1
  5. package/dist/{add-json-BIcbE3Nf.js → add-json-GHTfZV_U.js} +1 -1
  6. package/dist/{agent-DQK_S1PE.js → agent-CR8UFMa-.js} +1 -1
  7. package/dist/{agent-BcXXkOmD.js → agent-D0pQ_ewc.js} +1 -1
  8. package/dist/{alias-KQ85bphl.js → alias--pfI-nvH.js} +1 -1
  9. package/dist/{app-DaccLHrx.js → app-C7sw1ZkI.js} +1 -1
  10. package/dist/{approvals-CZt_aPCy.js → approvals-9-G-QxOy.js} +1 -1
  11. package/dist/{approve-DxjyXd66.js → approve-CAk8qPqG.js} +1 -1
  12. package/dist/{apps-eueTmHR5.js → apps-CaHoLNE7.js} +1 -1
  13. package/dist/{archive-C3JazQuo.js → archive-Ylxh0HIl.js} +1 -1
  14. package/dist/{archive-C9yrU4Wg.js → archive-fs5RjYHc.js} +1 -1
  15. package/dist/{archive-sweep-CHbOP-p6.js → archive-sweep-BrqWj4kr.js} +1 -1
  16. package/dist/{ask-DdYrvsTk.js → ask-Dmk0HGtI.js} +1 -1
  17. package/dist/{auth-q8CROpG-.js → auth-CS0cH0gq.js} +1 -1
  18. package/dist/auth-cZ0FrkBv.js +1 -0
  19. package/dist/{cli-msOzZFXW.js → cli-IfrPgeYz.js} +1 -1
  20. package/dist/cli.d.ts +1 -1
  21. package/dist/cli.js +1 -1
  22. package/dist/{config-BllYHi8S.js → config-Duf8jCkd.js} +1 -1
  23. package/dist/{create-BYki3g42.js → create-Ik613gJw.js} +1 -1
  24. package/dist/credentials-Dxpb5jCT.js +1 -0
  25. package/dist/dash/standalone/server/manifest.json +822 -822
  26. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/agents/(list)/page.8f85fbaff456c5fe.js +2 -2
  27. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/agents/[slug]/(tabs)/layout.d3aec63db0f5230d.js +1 -1
  28. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/agents/[slug]/(tabs)/page.7fd1bfcf08e25919.js +2 -2
  29. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/agents/[slug]/(tabs)/platforms/page.31687af871d75d39.js +1 -1
  30. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/agents/[slug]/(tabs)/settings/page.1ed5379637860fab.js +1 -1
  31. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/agents/[slug]/edit/page.1798dbd9cd334e8f.js +1 -1
  32. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/agents/new/page.44f60b1a32344f70.js +1 -1
  33. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/settings/[tab]/credentials.6423846391b20446.js +2 -2
  34. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/settings/[tab]/page.04b07f9c365be073.js +4 -4
  35. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/tasks/[id]/page.d1ded90712ca586f.js +1 -1
  36. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/tasks/list/tasks-list.9698bdff71c3b3c7.js +1 -1
  37. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/tasks/list/tasks-section.c77194f05c3f58fb.js +1 -1
  38. package/dist/dash/standalone/static/assets/chunks/{agent-pills-0163fdf910179991.js → agent-pills-65087e563e7f928c.js} +1 -1
  39. package/dist/dash/standalone/static/assets/chunks/{agent-settings-form-b1fcd9a5236b1fc7.js → agent-settings-form-51f5d16c5b35b0c4.js} +1 -1
  40. package/dist/dash/standalone/static/assets/chunks/{agents-grid-1d8f0ec6cf8c797e.js → agents-grid-8d8fb47aa05c1022.js} +1 -1
  41. package/dist/dash/standalone/static/assets/chunks/{badge-9984d2fd0e7f995d.js → badge-b8e1e1429e8418e8.js} +1 -1
  42. package/dist/dash/standalone/static/assets/chunks/{card-818c7a0d580e2e0d.js → card-abb16544e8e5a5e0.js} +1 -1
  43. package/dist/dash/standalone/static/assets/chunks/{combo-0d55fb62af761ac5.js → combo-0feaff3c2ab55606.js} +1 -1
  44. package/dist/dash/standalone/static/assets/chunks/{composer-8abfcac26339cc99.js → composer-08a1aad17120af8a.js} +1 -1
  45. package/dist/dash/standalone/static/assets/chunks/composer-261cde2206340a07.js +1 -0
  46. package/dist/dash/standalone/static/assets/chunks/{confirm-be929e2de15876a6.js → confirm-d804955ec454f00f.js} +1 -1
  47. package/dist/dash/standalone/static/assets/chunks/{connect-apps-3e8b55a43315f58a.js → connect-apps-c4b8fc9d3a25e545.js} +1 -1
  48. package/dist/dash/standalone/static/assets/chunks/{connect-repositories-8864a63f83ffd411.js → connect-repositories-2cf520006ed18949.js} +1 -1
  49. package/dist/dash/standalone/static/assets/chunks/{credentials-list-518af85578eacf6d.js → credentials-list-a1b81c1b630a8415.js} +1 -1
  50. package/dist/dash/standalone/static/assets/chunks/{custom-range-e8977f0d9699c1e6.js → custom-range-79011164d1e2529c.js} +1 -1
  51. package/dist/dash/standalone/static/assets/chunks/{editor-75d6d2d01f4fc35a.js → editor-b86137d54feb4ba1.js} +1 -1
  52. package/dist/dash/standalone/static/assets/chunks/{engines-list-2f6b8b3f2e873e4d.js → engines-list-0cf0dd6427e45add.js} +1 -1
  53. package/dist/dash/standalone/static/assets/chunks/{field-43fea54c1c287e30.js → field-329f272ef3edae30.js} +1 -1
  54. package/dist/dash/standalone/static/assets/chunks/{filter-55618648fc10c377.js → filter-673d0e6dbc95293c.js} +1 -1
  55. package/dist/dash/standalone/static/assets/chunks/{heads-1326669bdce3da2f.js → heads-bdb3900291e3ba2c.js} +1 -1
  56. package/dist/dash/standalone/static/assets/chunks/{instructions-0b968d5d0a58c716.js → instructions-7f289881a4d96d85.js} +1 -1
  57. package/dist/dash/standalone/static/assets/chunks/instructions-c175184f89172c15.js +1 -0
  58. package/dist/dash/standalone/static/assets/chunks/{list-90a47c07c4dd932e.js → list-074a086ab5e19d77.js} +1 -1
  59. package/dist/dash/standalone/static/assets/chunks/{mcp-list-735e401c60ab51a3.js → mcp-list-c97f883efa3f7d03.js} +1 -1
  60. package/dist/dash/standalone/static/assets/chunks/{models-list-999f54c76ca31379.js → models-list-3f869a70740e4244.js} +1 -1
  61. package/dist/dash/standalone/static/assets/chunks/{platform-actions-4592c82f72b21b1a.js → platform-actions-b317343915219089.js} +1 -1
  62. package/dist/dash/standalone/static/assets/chunks/{runners-list-ab64a5fb01d5eef8.js → runners-list-33a7339bd7cb3e18.js} +1 -1
  63. package/dist/dash/standalone/static/assets/chunks/{segmented-bf5a4c06605249e0.js → segmented-c9d58f98a7d32b4d.js} +1 -1
  64. package/dist/dash/standalone/static/assets/chunks/{select-591ca78b6ae29bd8.js → select-f4ea2f12a2298e4a.js} +1 -1
  65. package/dist/dash/standalone/static/assets/chunks/{sentinel-b4c91a38a5d79219.js → sentinel-9e882d8ad784d4bd.js} +1 -1
  66. package/dist/dash/standalone/static/assets/chunks/shared-init-bee5eaed36ee3dc4.js +5 -0
  67. package/dist/dash/standalone/static/assets/chunks/shared-init-cf66e1c1a2f30ef1.js +2 -0
  68. package/dist/dash/standalone/static/assets/chunks/{tail-74153aeac1f0baec.js → tail-5a5f739bca637202.js} +1 -1
  69. package/dist/dash/standalone/static/assets/chunks/{task-actions-26ad7f7c937f2589.js → task-actions-37ed047ca8c5b129.js} +1 -1
  70. package/dist/dash/standalone/static/assets/chunks/{task-view-0d085ce407e8511e.js → task-view-efe402c64d6a3c9b.js} +3 -3
  71. package/dist/dash/standalone/static/assets/chunks/{tasks-list-e9e914cf5dd959e9.js → tasks-list-eae2a32d61b437c5.js} +1 -1
  72. package/dist/dash/standalone/static/assets/chunks/{toolbar-a99d36b4b6f05bb1.js → toolbar-7aee851cfcc688cc.js} +1 -1
  73. package/dist/dash/standalone/static/assets/chunks/{versions-list-875a9a0ebb3f7d08.js → versions-list-836e397952b5d251.js} +1 -1
  74. package/dist/dash/standalone/static/assets/pnext-client-00c2425020b8564c.js +1 -0
  75. package/dist/dash/standalone/static/assets/pnext-client-091090fd50a6c9cd.js +1 -0
  76. package/dist/dash/standalone/static/assets/pnext-client-0b8b6a688cfb5246.js +1 -0
  77. package/dist/dash/standalone/static/assets/pnext-client-0cc2ff4668470e6f.js +1 -0
  78. package/dist/dash/standalone/static/assets/{pnext-client-4ed05f9a51f559a3.js → pnext-client-11f56cbcfd2a3fca.js} +1 -1
  79. package/dist/dash/standalone/static/assets/pnext-client-146cb2e293fd710e.js +1 -0
  80. package/dist/dash/standalone/static/assets/pnext-client-1cdaef1ffee188d4.js +1 -0
  81. package/dist/dash/standalone/static/assets/pnext-client-3298ffa52f79e244.js +1 -0
  82. package/dist/dash/standalone/static/assets/pnext-client-415baafb72caaf21.js +1 -0
  83. package/dist/dash/standalone/static/assets/pnext-client-50de47aa1f3aed6f.js +1 -0
  84. package/dist/dash/standalone/static/assets/{pnext-client-899f9625435988dd.js → pnext-client-802be87d22e144c4.js} +1 -1
  85. package/dist/dash/standalone/static/assets/pnext-client-9ec55ee4d6315657.js +1 -0
  86. package/dist/dash/standalone/static/assets/pnext-client-9fb279f4c6135368.js +1 -0
  87. package/dist/dash/standalone/static/assets/pnext-client-a543b7bfddcdae35.js +1 -0
  88. package/dist/dash/standalone/static/assets/pnext-client-a9f7e73b9a3252b9.js +1 -0
  89. package/dist/dash/standalone/static/assets/pnext-client-e9f4f42456943129.js +1 -0
  90. package/dist/{default-aLeIO8IR.js → default-BfXXngYf.js} +1 -1
  91. package/dist/{default-fMaQH1wm.js → default-zMKQ15xH.js} +1 -1
  92. package/dist/{delete-Cj16PYaw.js → delete-BbsEN7tF.js} +1 -1
  93. package/dist/{delete-DNj3leWA.js → delete-CZuI4sJi.js} +1 -1
  94. package/dist/{disable-CQg5Vybq.js → disable-B860lJDh.js} +1 -1
  95. package/dist/{discover-bVM8EJEz.js → discover-tM_915iZ.js} +1 -1
  96. package/dist/{docs-CqeYenUp.js → docs-BdmVTydv.js} +1 -1
  97. package/dist/{enable-8m3z7i3i.js → enable-DD4OsTnA.js} +1 -1
  98. package/dist/flow/index.d.ts +1 -1
  99. package/dist/{flow-DeCL3x2p.js → flow-DwhBWoSx.js} +1 -1
  100. package/dist/{index-Xe8n_t2Z.d.ts → index-JcLiq1ac.d.ts} +1 -1
  101. package/dist/{init-BujliQ7q.js → init-Bo3RS_va.js} +1 -1
  102. package/dist/integrations-CstFKLTr.js +1 -0
  103. package/dist/{list-QLTjk5SN.js → list-Bu1S3hPM.js} +1 -1
  104. package/dist/{list-CXu4cr8D.js → list-CLVoliXi.js} +1 -1
  105. package/dist/{list-BdiYneg5.js → list-DWeYdLMU.js} +1 -1
  106. package/dist/{list-DbY1jyj3.js → list-DYzczkQZ.js} +2 -2
  107. package/dist/{list-DhVfqr0A.js → list-DaQ14K1K.js} +1 -1
  108. package/dist/{list-DGoVY-ao.js → list-DhJOorrE.js} +1 -1
  109. package/dist/{list-DyqtSWvn.js → list-Motuarjd.js} +1 -1
  110. package/dist/{list-vKOTwd4G.js → list-P1Zi9bhT.js} +1 -1
  111. package/dist/{login-otJB9SYu.js → login-C-VTh_6i.js} +1 -1
  112. package/dist/{login-BzdlmD_o.js → login-KHrM3MI3.js} +1 -1
  113. package/dist/{logout-DOrRoxDV.js → logout-CqUKg0lc.js} +1 -1
  114. package/dist/{maintenance-Bg_FzXSq.js → maintenance-CVfHIraw.js} +1 -1
  115. package/dist/{mcp-xSvAWiXX.js → mcp-DCydEehH.js} +1 -1
  116. package/dist/{migrate-CN-fdMV9.js → migrate-DPprwsbm.js} +1 -1
  117. package/dist/{model-BJ-Sokha.js → model-_e9f9Oth.js} +1 -1
  118. package/dist/{push-Cg7-XT5h.js → push-HLTHyhsP.js} +1 -1
  119. package/dist/{queue-yo-Z8TaE.js → queue-EvplGOuk.js} +2 -2
  120. package/dist/refresh-ZbMy3Y9T.js +1 -0
  121. package/dist/{remove-DgMg_OOu.js → remove-B6PskfkD.js} +1 -1
  122. package/dist/{remove-BuaShRZ3.js → remove-CC7UyWNI.js} +1 -1
  123. package/dist/{remove-C8Rm8KP-.js → remove-CWd4Qs4F.js} +1 -1
  124. package/dist/{remove-CcMma1x3.js → remove-CZmO4BSd.js} +1 -1
  125. package/dist/{rename-C0vNcl8e.js → rename-ODyRelrw.js} +1 -1
  126. package/dist/{result-C6ovl_Dn.js → result-CRIAetqH.js} +1 -1
  127. package/dist/{result-oQey_hdw.js → result-DtXZusqj.js} +1 -1
  128. package/dist/{resume-T_TXWfqE.js → resume-CI-swBxa.js} +1 -1
  129. package/dist/{review-CCs6XUSO.js → review-IRsckIiU.js} +1 -1
  130. package/dist/{rotate-key-CYimsQR5.js → rotate-key-CmvHXXnp.js} +1 -1
  131. package/dist/{run-BFYg-zZt.js → run-Dd9HdNSL.js} +1 -1
  132. package/dist/{run-D7F7JPV6.js → run-FYA9XIij.js} +1 -1
  133. package/dist/{run-hiPyO7js.js → run-IWXjB5OD.js} +1 -1
  134. package/dist/runner-CbDswgji.js +1 -0
  135. package/dist/sdk.d.ts +2 -2
  136. package/dist/sdk.js +1 -1
  137. package/dist/{serve-C-AD60Wa.js → serve-CML2mkKG.js} +1 -1
  138. package/dist/{serve-BgGXjT_O.js → serve-CY46ohfr.js} +1 -1
  139. package/dist/{serve-GIK3fqKA.js → serve-D_XiZzYd.js} +2 -2
  140. package/dist/{serve-K3BVTcDI.js → serve-t38OrDrk.js} +2 -2
  141. package/dist/{server-DQTGc55C.js → server-83YZ2Kkh.js} +1 -1
  142. package/dist/{setup-host-By8-gv_v.js → setup-host-DRuUX8zg.js} +1 -1
  143. package/dist/{shared-TznJgMFW.js → shared-D64pQ0XU.js} +1 -1
  144. package/dist/{show-C9ojrH5W.js → show-DlKWR0Hy.js} +1 -1
  145. package/dist/{show-o4yXzSWZ.js → show-aCUICSoc.js} +1 -1
  146. package/dist/{status-BBW7Qyde.js → status-C09SKASS.js} +1 -1
  147. package/dist/{steer-D47cuggj.js → steer-BGKYpW4T.js} +1 -1
  148. package/dist/{stop-CD2JW6dI.js → stop-CiAJVnU2.js} +1 -1
  149. package/dist/{stop-7brPdki9.js → stop-svJYkhTt.js} +1 -1
  150. package/dist/{store-BCBTo0rl.js → store-B0RLMUR9.js} +1 -1
  151. package/dist/{store-qp7UE2ES.js → store-Cxc2GYyj.js} +2 -2
  152. package/dist/{task-CyrDqqf8.js → task-DvPkqHCF.js} +1 -1
  153. package/dist/{test-BcFQUHRo.js → test-9FHRw5Jc.js} +1 -1
  154. package/dist/{tools-D20XYPnO.js → tools-DhlrB8xV.js} +1 -1
  155. package/dist/{types-DMGBYB_K.d.ts → types-CdIo1Zbm.d.ts} +2 -2
  156. package/dist/{unalias-G3sM8fVw.js → unalias-D6UESHzK.js} +1 -1
  157. package/dist/{update-JvgB6Xws.js → update-DTYOhoQC.js} +1 -1
  158. package/dist/{upgrade-DN3hXDdo.js → upgrade-BOYs5Vyi.js} +2 -2
  159. package/dist/{usage-C1oN2W9c.js → usage-BlT_poNA.js} +1 -1
  160. package/dist/{usage-DR3wWtYD.js → usage-Bw7fQeFC.js} +1 -1
  161. package/dist/{watch-DDmHonTf.js → watch-BlGYjH88.js} +1 -1
  162. package/dist/{watch-DYkC6Q2q.js → watch-Y82ubvGH.js} +1 -1
  163. package/dist/{worker-CaNTsqcD.js → worker-4TKVAB01.js} +1 -1
  164. package/dist/{workflow-7rqzHHWZ.js → workflow-Mi1OCrOI.js} +1 -1
  165. package/package.json +1 -1
  166. package/plugins/claude/.claude-plugin/plugin.json +1 -1
  167. package/plugins/cursor/.cursor-plugin/plugin.json +1 -1
  168. package/dist/auth-FTKev9__.js +0 -1
  169. package/dist/credentials-DLMuf9OT.js +0 -1
  170. package/dist/dash/standalone/static/assets/chunks/composer-44516934e5619d32.js +0 -1
  171. package/dist/dash/standalone/static/assets/chunks/instructions-f3ecfb5c50f270c2.js +0 -1
  172. package/dist/dash/standalone/static/assets/chunks/shared-init-17c1fd399ac53851.js +0 -5
  173. package/dist/dash/standalone/static/assets/chunks/shared-init-8a34c730aabe942d.js +0 -2
  174. package/dist/dash/standalone/static/assets/pnext-client-1473d0349f242421.js +0 -1
  175. package/dist/dash/standalone/static/assets/pnext-client-195f74ae46e817da.js +0 -1
  176. package/dist/dash/standalone/static/assets/pnext-client-2b5532ce488c9391.js +0 -1
  177. package/dist/dash/standalone/static/assets/pnext-client-2d3ea662f22db27f.js +0 -1
  178. package/dist/dash/standalone/static/assets/pnext-client-43c0166e51dce87f.js +0 -1
  179. package/dist/dash/standalone/static/assets/pnext-client-652affde71fecdf7.js +0 -1
  180. package/dist/dash/standalone/static/assets/pnext-client-82beeebf704714a6.js +0 -1
  181. package/dist/dash/standalone/static/assets/pnext-client-ad1fab64ee1a5b30.js +0 -1
  182. package/dist/dash/standalone/static/assets/pnext-client-b2dccebfff1465f5.js +0 -1
  183. package/dist/dash/standalone/static/assets/pnext-client-c8a42c9bfeded4e4.js +0 -1
  184. package/dist/dash/standalone/static/assets/pnext-client-d04d2ffbb491564c.js +0 -1
  185. package/dist/dash/standalone/static/assets/pnext-client-d060565c4d80b60e.js +0 -1
  186. package/dist/dash/standalone/static/assets/pnext-client-dce6e1b84ee02f09.js +0 -1
  187. package/dist/dash/standalone/static/assets/pnext-client-e753846e298d2403.js +0 -1
  188. package/dist/integrations-6kXL9hRo.js +0 -1
  189. package/dist/refresh-CmBQALAW.js +0 -1
  190. package/dist/runner-D5jaEfhG.js +0 -1
@@ -0,0 +1 @@
1
+ import{a as f}from"./chunks/sentinel-9e882d8ad784d4bd.js";import{$3a as m,$3b as r,$3c as s,$3d as p,$3f as c}from"./chunks/shared-init-cf66e1c1a2f30ef1.js";import{$5g as a}from"./chunks/shared-init-cf66e1c1a2f30ef1.js";import"./chunks/shared-init-cf66e1c1a2f30ef1.js";import"./chunks/wular-pnext-37175329f2865f15-0.js";import"./chunks/shared-init-cf66e1c1a2f30ef1.js";import"./chunks/shared-init-cf66e1c1a2f30ef1.js";import{$0a as d}from"./chunks/shared-init-cf66e1c1a2f30ef1.js";import"./chunks/shared-init-cf66e1c1a2f30ef1.js";import"./chunks/shared-init-bee5eaed36ee3dc4.js";import"./chunks/shared-init-bee5eaed36ee3dc4.js";import"./chunks/shared-init-bee5eaed36ee3dc4.js";import{$1c as e}from"./chunks/shared-init-37175329f2865f15-2.js";import{$0i as i}from"./chunks/shared-init-37175329f2865f15-2.js";import{$0a as t,$0b as n}from"./chunks/shared-init-8f2ac936c95a7f7b.js";import"./chunks/shared-init-8f2ac936c95a7f7b.js";var{mountRoute:l,remountRoute:b,unmountRoute:u}=t({islands:[{id:"c-18d52ecd99",Component:d},{id:"c-1cfae57d50",Component:m},{id:"c-21a601374a",Component:r},{id:"c-25389891ca",Component:s},{id:"c-2be74a5534",options:{},load:()=>import("./chunks/mcp-list-c97f883efa3f7d03.js").then(o=>o.McpList)},{id:"c-4386cf56b2",Component:f},{id:"c-54e5ee8f4c",options:{},load:()=>import("./chunks/runners-list-33a7339bd7cb3e18.js").then(o=>o.RunnersList)},{id:"c-6990f05f89",options:{},load:()=>import("./chunks/models-list-3f869a70740e4244.js").then(o=>o.ModelsList)},{id:"c-8fc544863c",options:{},load:()=>import("./chunks/engines-list-0cf0dd6427e45add.js").then(o=>o.EnginesList)},{id:"c-9046631ffa",options:{},load:()=>import("./chunks/credentials-list-a1b81c1b630a8415.js").then(o=>o.CredentialsList)},{id:"c-a8e68df9e2",Component:a},{id:"c-c064707f81",Component:n},{id:"c-c11d7c23ea",Component:p},{id:"c-c8e5ed6de8",options:{},load:()=>import("./chunks/credentials-list-a1b81c1b630a8415.js").then(o=>o.EngineLogins)},{id:"c-e10586c382",Component:c}]});e();i()||l();window.__PNEXT_REGISTER_ENTRY__&&window.__PNEXT_REGISTER_ENTRY__(import.meta.url,{mountRoute:l,unmountRoute:u});export{l as mountRoute,b as remountRoute,u as unmountRoute};
@@ -0,0 +1 @@
1
+ import{a as f}from"./chunks/custom-range-79011164d1e2529c.js";import{a as l}from"./chunks/sentinel-9e882d8ad784d4bd.js";import{$3a as r,$3b as a,$3c as s,$3d as p,$3f as c}from"./chunks/shared-init-cf66e1c1a2f30ef1.js";import{$5g as d}from"./chunks/shared-init-cf66e1c1a2f30ef1.js";import"./chunks/shared-init-cf66e1c1a2f30ef1.js";import"./chunks/wular-pnext-37175329f2865f15-0.js";import"./chunks/shared-init-cf66e1c1a2f30ef1.js";import"./chunks/shared-init-cf66e1c1a2f30ef1.js";import{$0a as e}from"./chunks/shared-init-cf66e1c1a2f30ef1.js";import"./chunks/shared-init-cf66e1c1a2f30ef1.js";import"./chunks/shared-init-bee5eaed36ee3dc4.js";import"./chunks/shared-init-bee5eaed36ee3dc4.js";import"./chunks/shared-init-bee5eaed36ee3dc4.js";import{$1c as m}from"./chunks/shared-init-37175329f2865f15-2.js";import{$0i as i}from"./chunks/shared-init-37175329f2865f15-2.js";import{$0a as t,$0b as n}from"./chunks/shared-init-8f2ac936c95a7f7b.js";import"./chunks/shared-init-8f2ac936c95a7f7b.js";var{mountRoute:u,remountRoute:G,unmountRoute:C}=t({islands:[{id:"c-0dc3bcd540",options:{},load:()=>import("./chunks/composer-261cde2206340a07.js").then(o=>o.NewTaskButton)},{id:"c-18d52ecd99",Component:e},{id:"c-1cfae57d50",Component:r},{id:"c-21a601374a",Component:a},{id:"c-25389891ca",Component:s},{id:"c-4386cf56b2",Component:l},{id:"c-8255bf49cc",Component:f},{id:"c-8dc766402b",options:{load:"visible",ssr:!0},load:()=>import("./chunks/tasks-list-eae2a32d61b437c5.js").then(o=>o.TasksList)},{id:"c-a8e68df9e2",Component:d},{id:"c-c064707f81",Component:n},{id:"c-c11d7c23ea",Component:p},{id:"c-e10586c382",Component:c}]});m();i()||u();window.__PNEXT_REGISTER_ENTRY__&&window.__PNEXT_REGISTER_ENTRY__(import.meta.url,{mountRoute:u,unmountRoute:C});export{u as mountRoute,G as remountRoute,C as unmountRoute};
@@ -0,0 +1 @@
1
+ import{a as f}from"./chunks/composer-08a1aad17120af8a.js";import"./chunks/connect-repositories-2cf520006ed18949.js";import"./chunks/composer-data-6f7608fed13f3dd7.js";import"./chunks/model-options-15c53331a2f28a4f.js";import"./chunks/select-f4ea2f12a2298e4a.js";import"./chunks/task-ddfddeaf07fb684c.js";import"./chunks/card-abb16544e8e5a5e0.js";import"./chunks/field-329f272ef3edae30.js";import"./chunks/format-b19b8eec331414f4.js";import{a as l}from"./chunks/sentinel-9e882d8ad784d4bd.js";import{$3a as r,$3b as a,$3c as d,$3d as p,$3f as c}from"./chunks/shared-init-cf66e1c1a2f30ef1.js";import{$5g as s}from"./chunks/shared-init-cf66e1c1a2f30ef1.js";import"./chunks/shared-init-cf66e1c1a2f30ef1.js";import"./chunks/wular-pnext-37175329f2865f15-0.js";import"./chunks/shared-init-cf66e1c1a2f30ef1.js";import"./chunks/shared-init-cf66e1c1a2f30ef1.js";import{$0a as m}from"./chunks/shared-init-cf66e1c1a2f30ef1.js";import"./chunks/shared-init-cf66e1c1a2f30ef1.js";import"./chunks/shared-init-bee5eaed36ee3dc4.js";import"./chunks/shared-init-bee5eaed36ee3dc4.js";import"./chunks/shared-init-bee5eaed36ee3dc4.js";import{$1c as i}from"./chunks/shared-init-37175329f2865f15-2.js";import{$0i as e}from"./chunks/shared-init-37175329f2865f15-2.js";import{$0a as n,$0b as t}from"./chunks/shared-init-8f2ac936c95a7f7b.js";import"./chunks/shared-init-8f2ac936c95a7f7b.js";var{mountRoute:u,remountRoute:G,unmountRoute:C}=n({islands:[{id:"c-18d52ecd99",Component:m},{id:"c-1cfae57d50",Component:r},{id:"c-21a601374a",Component:a},{id:"c-25389891ca",Component:d},{id:"c-4386cf56b2",Component:l},{id:"c-7317aa8451",options:{},load:()=>import("./chunks/connect-apps-c4b8fc9d3a25e545.js").then(o=>o.ConnectApps)},{id:"c-a8e68df9e2",Component:s},{id:"c-c064707f81",Component:t},{id:"c-c11d7c23ea",Component:p},{id:"c-cd7ea9d7b2",options:{load:"visible",ssr:!0},load:()=>import("./chunks/agents-grid-8d8fb47aa05c1022.js").then(o=>o.AgentsGrid)},{id:"c-e10586c382",Component:c},{id:"c-eb5a40a18d",Component:f}]});i();e()||u();window.__PNEXT_REGISTER_ENTRY__&&window.__PNEXT_REGISTER_ENTRY__(import.meta.url,{mountRoute:u,unmountRoute:C});export{u as mountRoute,G as remountRoute,C as unmountRoute};
@@ -0,0 +1 @@
1
+ import{a as l}from"./chunks/sentinel-9e882d8ad784d4bd.js";import{$3a as r,$3b as d,$3c as s,$3d as p,$3f as c}from"./chunks/shared-init-cf66e1c1a2f30ef1.js";import{$5g as a}from"./chunks/shared-init-cf66e1c1a2f30ef1.js";import"./chunks/shared-init-cf66e1c1a2f30ef1.js";import"./chunks/wular-pnext-37175329f2865f15-0.js";import"./chunks/shared-init-cf66e1c1a2f30ef1.js";import"./chunks/shared-init-cf66e1c1a2f30ef1.js";import{$0a as m}from"./chunks/shared-init-cf66e1c1a2f30ef1.js";import"./chunks/shared-init-cf66e1c1a2f30ef1.js";import"./chunks/shared-init-bee5eaed36ee3dc4.js";import"./chunks/shared-init-bee5eaed36ee3dc4.js";import"./chunks/shared-init-bee5eaed36ee3dc4.js";import{$1c as e}from"./chunks/shared-init-37175329f2865f15-2.js";import{$0i as i}from"./chunks/shared-init-37175329f2865f15-2.js";import{$0a as t,$0b as n}from"./chunks/shared-init-8f2ac936c95a7f7b.js";import"./chunks/shared-init-8f2ac936c95a7f7b.js";var{mountRoute:f,remountRoute:k,unmountRoute:u}=t({islands:[{id:"c-0dc3bcd540",options:{},load:()=>import("./chunks/composer-261cde2206340a07.js").then(o=>o.NewTaskButton)},{id:"c-18d52ecd99",Component:m},{id:"c-1cfae57d50",Component:r},{id:"c-21a601374a",Component:d},{id:"c-25389891ca",Component:s},{id:"c-4386cf56b2",Component:l},{id:"c-8dc766402b",options:{load:"visible",ssr:!0},load:()=>import("./chunks/tasks-list-eae2a32d61b437c5.js").then(o=>o.TasksList)},{id:"c-a8e68df9e2",Component:a},{id:"c-c064707f81",Component:n},{id:"c-c11d7c23ea",Component:p},{id:"c-c58285c4f2",options:{},load:()=>import("./chunks/agent-settings-form-51f5d16c5b35b0c4.js").then(o=>o.AgentSettingsForm)},{id:"c-e10586c382",Component:c}]});e();i()||f();window.__PNEXT_REGISTER_ENTRY__&&window.__PNEXT_REGISTER_ENTRY__(import.meta.url,{mountRoute:f,unmountRoute:u});export{f as mountRoute,k as remountRoute,u as unmountRoute};
@@ -1 +1 @@
1
- import{$1c as i}from"./chunks/shared-init-37175329f2865f15-2.js";import{$0i as r}from"./chunks/shared-init-37175329f2865f15-2.js";import{$0a as o,$0b as t}from"./chunks/shared-init-8f2ac936c95a7f7b.js";import"./chunks/shared-init-8f2ac936c95a7f7b.js";var{mountRoute:m,remountRoute:p,unmountRoute:n}=o({islands:[{id:"c-6340275418",Component:t}]});i();r()||m();window.__PNEXT_REGISTER_ENTRY__&&window.__PNEXT_REGISTER_ENTRY__(import.meta.url,{mountRoute:m,unmountRoute:n});export{m as mountRoute,p as remountRoute,n as unmountRoute};
1
+ import{$1c as i}from"./chunks/shared-init-37175329f2865f15-2.js";import{$0i as r}from"./chunks/shared-init-37175329f2865f15-2.js";import{$0a as o,$0b as t}from"./chunks/shared-init-8f2ac936c95a7f7b.js";import"./chunks/shared-init-8f2ac936c95a7f7b.js";var{mountRoute:m,remountRoute:p,unmountRoute:n}=o({islands:[{id:"c-c064707f81",Component:t}]});i();r()||m();window.__PNEXT_REGISTER_ENTRY__&&window.__PNEXT_REGISTER_ENTRY__(import.meta.url,{mountRoute:m,unmountRoute:n});export{m as mountRoute,p as remountRoute,n as unmountRoute};
@@ -0,0 +1 @@
1
+ import{$3a as r,$3b as i,$3c as a,$3d as s,$3f as p}from"./chunks/shared-init-cf66e1c1a2f30ef1.js";import{$5g as d}from"./chunks/shared-init-cf66e1c1a2f30ef1.js";import"./chunks/shared-init-cf66e1c1a2f30ef1.js";import"./chunks/wular-pnext-37175329f2865f15-0.js";import"./chunks/shared-init-cf66e1c1a2f30ef1.js";import"./chunks/shared-init-cf66e1c1a2f30ef1.js";import{$0a as e}from"./chunks/shared-init-cf66e1c1a2f30ef1.js";import"./chunks/shared-init-cf66e1c1a2f30ef1.js";import"./chunks/shared-init-bee5eaed36ee3dc4.js";import"./chunks/shared-init-bee5eaed36ee3dc4.js";import"./chunks/shared-init-bee5eaed36ee3dc4.js";import{$1c as m}from"./chunks/shared-init-37175329f2865f15-2.js";import{$0i as n}from"./chunks/shared-init-37175329f2865f15-2.js";import{$0a as o,$0b as t}from"./chunks/shared-init-8f2ac936c95a7f7b.js";import"./chunks/shared-init-8f2ac936c95a7f7b.js";var{mountRoute:c,remountRoute:g,unmountRoute:f}=o({islands:[{id:"c-18d52ecd99",Component:e},{id:"c-1cfae57d50",Component:r},{id:"c-21a601374a",Component:i},{id:"c-25389891ca",Component:a},{id:"c-a8e68df9e2",Component:d},{id:"c-c064707f81",Component:t},{id:"c-c11d7c23ea",Component:s},{id:"c-e10586c382",Component:p}]});m();n()||c();window.__PNEXT_REGISTER_ENTRY__&&window.__PNEXT_REGISTER_ENTRY__(import.meta.url,{mountRoute:c,unmountRoute:f});export{c as mountRoute,g as remountRoute,f as unmountRoute};
@@ -0,0 +1 @@
1
+ import{a as l}from"./chunks/sentinel-9e882d8ad784d4bd.js";import{$3a as r,$3b as a,$3c as d,$3d as p,$3f as c}from"./chunks/shared-init-cf66e1c1a2f30ef1.js";import{$5g as s}from"./chunks/shared-init-cf66e1c1a2f30ef1.js";import"./chunks/shared-init-cf66e1c1a2f30ef1.js";import"./chunks/wular-pnext-37175329f2865f15-0.js";import"./chunks/shared-init-cf66e1c1a2f30ef1.js";import"./chunks/shared-init-cf66e1c1a2f30ef1.js";import{$0a as m}from"./chunks/shared-init-cf66e1c1a2f30ef1.js";import"./chunks/shared-init-cf66e1c1a2f30ef1.js";import"./chunks/shared-init-bee5eaed36ee3dc4.js";import"./chunks/shared-init-bee5eaed36ee3dc4.js";import"./chunks/shared-init-bee5eaed36ee3dc4.js";import{$1c as e}from"./chunks/shared-init-37175329f2865f15-2.js";import{$0i as i}from"./chunks/shared-init-37175329f2865f15-2.js";import{$0a as t,$0b as n}from"./chunks/shared-init-8f2ac936c95a7f7b.js";import"./chunks/shared-init-8f2ac936c95a7f7b.js";var{mountRoute:f,remountRoute:g,unmountRoute:u}=t({islands:[{id:"c-0dc3bcd540",options:{},load:()=>import("./chunks/composer-261cde2206340a07.js").then(o=>o.NewTaskButton)},{id:"c-18d52ecd99",Component:m},{id:"c-1cfae57d50",Component:r},{id:"c-21a601374a",Component:a},{id:"c-25389891ca",Component:d},{id:"c-4386cf56b2",Component:l},{id:"c-8dc766402b",options:{load:"visible",ssr:!0},load:()=>import("./chunks/tasks-list-eae2a32d61b437c5.js").then(o=>o.TasksList)},{id:"c-a8e68df9e2",Component:s},{id:"c-c064707f81",Component:n},{id:"c-c11d7c23ea",Component:p},{id:"c-e10586c382",Component:c}]});e();i()||f();window.__PNEXT_REGISTER_ENTRY__&&window.__PNEXT_REGISTER_ENTRY__(import.meta.url,{mountRoute:f,unmountRoute:u});export{f as mountRoute,g as remountRoute,u as unmountRoute};
@@ -0,0 +1 @@
1
+ import{a as T}from"./chunks/sentinel-9e882d8ad784d4bd.js";import{$3a as u,$3b as I,$3c as N,$3d as g,$3f as C}from"./chunks/shared-init-cf66e1c1a2f30ef1.js";import{$5b as t,$5g as h}from"./chunks/shared-init-cf66e1c1a2f30ef1.js";import"./chunks/shared-init-cf66e1c1a2f30ef1.js";import"./chunks/wular-pnext-37175329f2865f15-0.js";import"./chunks/shared-init-cf66e1c1a2f30ef1.js";import"./chunks/shared-init-cf66e1c1a2f30ef1.js";import{$0a as p}from"./chunks/shared-init-cf66e1c1a2f30ef1.js";import"./chunks/shared-init-cf66e1c1a2f30ef1.js";import"./chunks/shared-init-bee5eaed36ee3dc4.js";import"./chunks/shared-init-bee5eaed36ee3dc4.js";import{$0a as e}from"./chunks/shared-init-bee5eaed36ee3dc4.js";import{$1c as l}from"./chunks/shared-init-37175329f2865f15-2.js";import{$0i as f}from"./chunks/shared-init-37175329f2865f15-2.js";import{$0a as c,$0b as d}from"./chunks/shared-init-8f2ac936c95a7f7b.js";import{$1g as s,$1i as m}from"./chunks/shared-init-8f2ac936c95a7f7b.js";function w(){let[k,a]=s(!1),[r,i]=s(!1);m(()=>{if(typeof Notification>"u")return i(!0);i(Notification.permission==="denied"),a(localStorage.getItem(t)==="1"&&Notification.permission==="granted")},[]);let R=async o=>{o.checked&&Notification.permission==="default"&&await Notification.requestPermission();let n=o.checked&&Notification.permission==="granted";n?localStorage.setItem(t,"1"):localStorage.removeItem(t),o.checked=n,a(n),i(Notification.permission==="denied")};return e("label",{class:"notify",children:[e("input",{type:"checkbox",role:"switch",class:"switch",checked:k,disabled:r,onChange:o=>void R(o.currentTarget)}),r?"Notifications are blocked in this browser":"Notify me when a task finishes"]})}var{mountRoute:_,remountRoute:Z,unmountRoute:b}=c({islands:[{id:"c-18d52ecd99",Component:p},{id:"c-1cfae57d50",Component:u},{id:"c-21a601374a",Component:I},{id:"c-25389891ca",Component:N},{id:"c-4386cf56b2",Component:T},{id:"c-57ac1d7b19",Component:w},{id:"c-a8e68df9e2",Component:h},{id:"c-c064707f81",Component:d},{id:"c-c11d7c23ea",Component:g},{id:"c-e10586c382",Component:C}]});l();f()||_();window.__PNEXT_REGISTER_ENTRY__&&window.__PNEXT_REGISTER_ENTRY__(import.meta.url,{mountRoute:_,unmountRoute:b});export{_ as mountRoute,Z as remountRoute,b as unmountRoute};
@@ -0,0 +1 @@
1
+ import{a as f}from"./chunks/custom-range-79011164d1e2529c.js";import{a as c}from"./chunks/sentinel-9e882d8ad784d4bd.js";import{$3a as r,$3b as i,$3c as a,$3d as s,$3f as p}from"./chunks/shared-init-cf66e1c1a2f30ef1.js";import{$5g as d}from"./chunks/shared-init-cf66e1c1a2f30ef1.js";import"./chunks/shared-init-cf66e1c1a2f30ef1.js";import"./chunks/wular-pnext-37175329f2865f15-0.js";import"./chunks/shared-init-cf66e1c1a2f30ef1.js";import"./chunks/shared-init-cf66e1c1a2f30ef1.js";import{$0a as e}from"./chunks/shared-init-cf66e1c1a2f30ef1.js";import"./chunks/shared-init-cf66e1c1a2f30ef1.js";import"./chunks/shared-init-bee5eaed36ee3dc4.js";import"./chunks/shared-init-bee5eaed36ee3dc4.js";import"./chunks/shared-init-bee5eaed36ee3dc4.js";import{$1c as m}from"./chunks/shared-init-37175329f2865f15-2.js";import{$0i as t}from"./chunks/shared-init-37175329f2865f15-2.js";import{$0a as o,$0b as n}from"./chunks/shared-init-8f2ac936c95a7f7b.js";import"./chunks/shared-init-8f2ac936c95a7f7b.js";var{mountRoute:l,remountRoute:v,unmountRoute:u}=o({islands:[{id:"c-18d52ecd99",Component:e},{id:"c-1cfae57d50",Component:r},{id:"c-21a601374a",Component:i},{id:"c-25389891ca",Component:a},{id:"c-4386cf56b2",Component:c},{id:"c-8255bf49cc",Component:f},{id:"c-a8e68df9e2",Component:d},{id:"c-c064707f81",Component:n},{id:"c-c11d7c23ea",Component:s},{id:"c-e10586c382",Component:p}]});m();t()||l();window.__PNEXT_REGISTER_ENTRY__&&window.__PNEXT_REGISTER_ENTRY__(import.meta.url,{mountRoute:l,unmountRoute:u});export{l as mountRoute,v as remountRoute,u as unmountRoute};
@@ -0,0 +1 @@
1
+ import{a as f}from"./chunks/sentinel-9e882d8ad784d4bd.js";import{$3a as d,$3b as a,$3c as s,$3d as c,$3f as l}from"./chunks/shared-init-cf66e1c1a2f30ef1.js";import{$5g as p}from"./chunks/shared-init-cf66e1c1a2f30ef1.js";import"./chunks/shared-init-cf66e1c1a2f30ef1.js";import"./chunks/wular-pnext-37175329f2865f15-0.js";import"./chunks/shared-init-cf66e1c1a2f30ef1.js";import"./chunks/shared-init-cf66e1c1a2f30ef1.js";import{$0a as m,$0c as r}from"./chunks/shared-init-cf66e1c1a2f30ef1.js";import"./chunks/shared-init-cf66e1c1a2f30ef1.js";import"./chunks/shared-init-bee5eaed36ee3dc4.js";import"./chunks/shared-init-bee5eaed36ee3dc4.js";import"./chunks/shared-init-bee5eaed36ee3dc4.js";import{$1c as e}from"./chunks/shared-init-37175329f2865f15-2.js";import{$0i as i}from"./chunks/shared-init-37175329f2865f15-2.js";import{$0a as t,$0b as n}from"./chunks/shared-init-8f2ac936c95a7f7b.js";import"./chunks/shared-init-8f2ac936c95a7f7b.js";var{mountRoute:u,remountRoute:L,unmountRoute:I}=t({islands:[{id:"c-0dc3bcd540",options:{},load:()=>import("./chunks/composer-261cde2206340a07.js").then(o=>o.NewTaskButton)},{id:"c-18d52ecd99",Component:m},{id:"c-1cfae57d50",Component:d},{id:"c-21a601374a",Component:a},{id:"c-25389891ca",Component:s},{id:"c-4386cf56b2",Component:f},{id:"c-71dd3a3351",options:{},load:()=>import("./chunks/platform-actions-b317343915219089.js").then(o=>o.PlatformActions)},{id:"c-8dc766402b",options:{load:"visible",ssr:!0},load:()=>import("./chunks/tasks-list-eae2a32d61b437c5.js").then(o=>o.TasksList)},{id:"c-8e252b6ee6",Component:r},{id:"c-a8e68df9e2",Component:p},{id:"c-c064707f81",Component:n},{id:"c-c11d7c23ea",Component:c},{id:"c-e10586c382",Component:l}]});e();i()||u();window.__PNEXT_REGISTER_ENTRY__&&window.__PNEXT_REGISTER_ENTRY__(import.meta.url,{mountRoute:u,unmountRoute:I});export{u as mountRoute,L as remountRoute,I as unmountRoute};
@@ -1 +1 @@
1
- import{b as u}from"./chunks/field-43fea54c1c287e30.js";import{g as p}from"./chunks/format-b19b8eec331414f4.js";import{$0b as f}from"./chunks/shared-init-17c1fd399ac53851.js";import{$1b as m}from"./chunks/shared-init-17c1fd399ac53851.js";import{$2a as t}from"./chunks/shared-init-17c1fd399ac53851.js";import{$0a as c,$0b as d}from"./chunks/shared-init-8f2ac936c95a7f7b.js";import{$1g as i}from"./chunks/shared-init-8f2ac936c95a7f7b.js";function h({tag:e,title:a,lead:o,children:r}){return t("section",{class:"auth",children:t("div",{class:"auth-side",children:[t("div",{class:"auth-frame frame",children:[t("div",{class:"bar",children:[t("a",{class:"brand",href:"/",children:[t(f,{}),t("span",{class:"lockup",children:["coder ",t("small",{children:"wular"})]})]}),t("span",{class:"tag",children:e})]}),t("div",{class:"auth-body",children:[t("h1",{children:a}),o?t("p",{class:"lead",children:o}):null,r]})]}),t("nav",{class:"auth-links",children:[t("a",{href:"https://wular.ai",children:"wular.ai"}),t("a",{href:"https://coder.wular.ai",children:"hosted service"})]})]})})}function l(){let[e,a]=i(""),[o,r]=i(""),v=typeof location>"u"?"":new URLSearchParams(location.search).get("token")??"";return t(h,{tag:"connect",title:"Connect your account",lead:o||"Link this platform identity to your signed-in Coder account.",children:[o?null:t("button",{type:"button",class:"btn wide",onClick:()=>void m.linkAccount(v).then(n=>r(`${n.platform} account ${n.platformUserId} is connected.`)).catch(n=>a(p(n))),children:"Connect"}),t(u,{value:e})]})}var{mountRoute:_,remountRoute:M,unmountRoute:R}=c({islands:[{id:"c-6340275418",Component:d}],Page:l});(window.__PNEXT_ROUTER_IMPORTS__??0)>0||_();window.__PNEXT_REGISTER_ENTRY__&&window.__PNEXT_REGISTER_ENTRY__(import.meta.url,{mountRoute:_,unmountRoute:R});export{_ as mountRoute,M as remountRoute,R as unmountRoute};
1
+ import{b as u}from"./chunks/field-329f272ef3edae30.js";import{g as p}from"./chunks/format-b19b8eec331414f4.js";import{$2b as f}from"./chunks/shared-init-bee5eaed36ee3dc4.js";import{$1b as m}from"./chunks/shared-init-bee5eaed36ee3dc4.js";import{$0a as t}from"./chunks/shared-init-bee5eaed36ee3dc4.js";import{$0a as c,$0b as d}from"./chunks/shared-init-8f2ac936c95a7f7b.js";import{$1g as i}from"./chunks/shared-init-8f2ac936c95a7f7b.js";function h({tag:e,title:a,lead:o,children:r}){return t("section",{class:"auth",children:t("div",{class:"auth-side",children:[t("div",{class:"auth-frame frame",children:[t("div",{class:"bar",children:[t("a",{class:"brand",href:"/",children:[t(f,{}),t("span",{class:"lockup",children:["coder ",t("small",{children:"wular"})]})]}),t("span",{class:"tag",children:e})]}),t("div",{class:"auth-body",children:[t("h1",{children:a}),o?t("p",{class:"lead",children:o}):null,r]})]}),t("nav",{class:"auth-links",children:[t("a",{href:"https://wular.ai",children:"wular.ai"}),t("a",{href:"https://coder.wular.ai",children:"hosted service"})]})]})})}function l(){let[e,a]=i(""),[o,r]=i(""),v=typeof location>"u"?"":new URLSearchParams(location.search).get("token")??"";return t(h,{tag:"connect",title:"Connect your account",lead:o||"Link this platform identity to your signed-in Coder account.",children:[o?null:t("button",{type:"button",class:"btn wide",onClick:()=>void m.linkAccount(v).then(n=>r(`${n.platform} account ${n.platformUserId} is connected.`)).catch(n=>a(p(n))),children:"Connect"}),t(u,{value:e})]})}var{mountRoute:_,remountRoute:M,unmountRoute:R}=c({islands:[{id:"c-c064707f81",Component:d}],Page:l});(window.__PNEXT_ROUTER_IMPORTS__??0)>0||_();window.__PNEXT_REGISTER_ENTRY__&&window.__PNEXT_REGISTER_ENTRY__(import.meta.url,{mountRoute:_,unmountRoute:R});export{_ as mountRoute,M as remountRoute,R as unmountRoute};
@@ -0,0 +1 @@
1
+ import{a as c}from"./chunks/sentinel-9e882d8ad784d4bd.js";import{$3a as m,$3b as r,$3c as a,$3d as d,$3f as p}from"./chunks/shared-init-cf66e1c1a2f30ef1.js";import{$5g as s}from"./chunks/shared-init-cf66e1c1a2f30ef1.js";import"./chunks/shared-init-cf66e1c1a2f30ef1.js";import"./chunks/wular-pnext-37175329f2865f15-0.js";import"./chunks/shared-init-cf66e1c1a2f30ef1.js";import"./chunks/shared-init-cf66e1c1a2f30ef1.js";import{$0a as e}from"./chunks/shared-init-cf66e1c1a2f30ef1.js";import"./chunks/shared-init-cf66e1c1a2f30ef1.js";import"./chunks/shared-init-bee5eaed36ee3dc4.js";import"./chunks/shared-init-bee5eaed36ee3dc4.js";import"./chunks/shared-init-bee5eaed36ee3dc4.js";import{$1c as i}from"./chunks/shared-init-37175329f2865f15-2.js";import{$0i as n}from"./chunks/shared-init-37175329f2865f15-2.js";import{$0a as o,$0b as t}from"./chunks/shared-init-8f2ac936c95a7f7b.js";import"./chunks/shared-init-8f2ac936c95a7f7b.js";var{mountRoute:l,remountRoute:k,unmountRoute:u}=o({islands:[{id:"c-18d52ecd99",Component:e},{id:"c-1cfae57d50",Component:m},{id:"c-21a601374a",Component:r},{id:"c-25389891ca",Component:a},{id:"c-4386cf56b2",Component:c},{id:"c-8dc766402b",options:{load:"visible",ssr:!0},load:()=>import("./chunks/tasks-list-eae2a32d61b437c5.js").then(f=>f.TasksList)},{id:"c-a8e68df9e2",Component:s},{id:"c-c064707f81",Component:t},{id:"c-c11d7c23ea",Component:d},{id:"c-e10586c382",Component:p}]});i();n()||l();window.__PNEXT_REGISTER_ENTRY__&&window.__PNEXT_REGISTER_ENTRY__(import.meta.url,{mountRoute:l,unmountRoute:u});export{l as mountRoute,k as remountRoute,u as unmountRoute};
@@ -0,0 +1 @@
1
+ import{a as c}from"./chunks/sentinel-9e882d8ad784d4bd.js";import{$3a as r,$3b as i,$3c as a,$3d as s,$3f as p}from"./chunks/shared-init-cf66e1c1a2f30ef1.js";import{$5g as d}from"./chunks/shared-init-cf66e1c1a2f30ef1.js";import"./chunks/shared-init-cf66e1c1a2f30ef1.js";import"./chunks/wular-pnext-37175329f2865f15-0.js";import"./chunks/shared-init-cf66e1c1a2f30ef1.js";import"./chunks/shared-init-cf66e1c1a2f30ef1.js";import{$0a as e}from"./chunks/shared-init-cf66e1c1a2f30ef1.js";import"./chunks/shared-init-cf66e1c1a2f30ef1.js";import"./chunks/shared-init-bee5eaed36ee3dc4.js";import"./chunks/shared-init-bee5eaed36ee3dc4.js";import"./chunks/shared-init-bee5eaed36ee3dc4.js";import{$1c as m}from"./chunks/shared-init-37175329f2865f15-2.js";import{$0i as t}from"./chunks/shared-init-37175329f2865f15-2.js";import{$0a as o,$0b as n}from"./chunks/shared-init-8f2ac936c95a7f7b.js";import"./chunks/shared-init-8f2ac936c95a7f7b.js";var{mountRoute:f,remountRoute:h,unmountRoute:l}=o({islands:[{id:"c-18d52ecd99",Component:e},{id:"c-1cfae57d50",Component:r},{id:"c-21a601374a",Component:i},{id:"c-25389891ca",Component:a},{id:"c-4386cf56b2",Component:c},{id:"c-a8e68df9e2",Component:d},{id:"c-c064707f81",Component:n},{id:"c-c11d7c23ea",Component:s},{id:"c-e10586c382",Component:p}]});m();t()||f();window.__PNEXT_REGISTER_ENTRY__&&window.__PNEXT_REGISTER_ENTRY__(import.meta.url,{mountRoute:f,unmountRoute:l});export{f as mountRoute,h as remountRoute,l as unmountRoute};
@@ -0,0 +1 @@
1
+ import{a as c}from"./chunks/sentinel-9e882d8ad784d4bd.js";import{$3a as i,$3b as r,$3c as a,$3d as s,$3f as p}from"./chunks/shared-init-cf66e1c1a2f30ef1.js";import{$5g as d}from"./chunks/shared-init-cf66e1c1a2f30ef1.js";import"./chunks/shared-init-cf66e1c1a2f30ef1.js";import"./chunks/wular-pnext-37175329f2865f15-0.js";import"./chunks/shared-init-cf66e1c1a2f30ef1.js";import"./chunks/shared-init-cf66e1c1a2f30ef1.js";import{$0a as e}from"./chunks/shared-init-cf66e1c1a2f30ef1.js";import"./chunks/shared-init-cf66e1c1a2f30ef1.js";import"./chunks/shared-init-bee5eaed36ee3dc4.js";import"./chunks/shared-init-bee5eaed36ee3dc4.js";import"./chunks/shared-init-bee5eaed36ee3dc4.js";import{$1c as m}from"./chunks/shared-init-37175329f2865f15-2.js";import{$0i as t}from"./chunks/shared-init-37175329f2865f15-2.js";import{$0a as o,$0b as n}from"./chunks/shared-init-8f2ac936c95a7f7b.js";import"./chunks/shared-init-8f2ac936c95a7f7b.js";var{mountRoute:f,remountRoute:b,unmountRoute:u}=o({islands:[{id:"c-18d52ecd99",Component:e},{id:"c-1cfae57d50",Component:i},{id:"c-21a601374a",Component:r},{id:"c-25389891ca",Component:a},{id:"c-4386cf56b2",Component:c},{id:"c-4923c141aa",options:{},load:()=>import("./chunks/task-view-efe402c64d6a3c9b.js").then(l=>l.TaskView)},{id:"c-a8e68df9e2",Component:d},{id:"c-c064707f81",Component:n},{id:"c-c11d7c23ea",Component:s},{id:"c-e10586c382",Component:p}]});m();t()||f();window.__PNEXT_REGISTER_ENTRY__&&window.__PNEXT_REGISTER_ENTRY__(import.meta.url,{mountRoute:f,unmountRoute:u});export{f as mountRoute,b as remountRoute,u as unmountRoute};
@@ -0,0 +1 @@
1
+ import{a as c}from"./chunks/sentinel-9e882d8ad784d4bd.js";import{$3a as i,$3b as r,$3c as d,$3d as s,$3f as p}from"./chunks/shared-init-cf66e1c1a2f30ef1.js";import{$5g as a}from"./chunks/shared-init-cf66e1c1a2f30ef1.js";import"./chunks/shared-init-cf66e1c1a2f30ef1.js";import"./chunks/wular-pnext-37175329f2865f15-0.js";import"./chunks/shared-init-cf66e1c1a2f30ef1.js";import"./chunks/shared-init-cf66e1c1a2f30ef1.js";import{$0a as e}from"./chunks/shared-init-cf66e1c1a2f30ef1.js";import"./chunks/shared-init-cf66e1c1a2f30ef1.js";import"./chunks/shared-init-bee5eaed36ee3dc4.js";import"./chunks/shared-init-bee5eaed36ee3dc4.js";import"./chunks/shared-init-bee5eaed36ee3dc4.js";import{$1c as m}from"./chunks/shared-init-37175329f2865f15-2.js";import{$0i as n}from"./chunks/shared-init-37175329f2865f15-2.js";import{$0a as o,$0b as t}from"./chunks/shared-init-8f2ac936c95a7f7b.js";import"./chunks/shared-init-8f2ac936c95a7f7b.js";var{mountRoute:f,remountRoute:k,unmountRoute:u}=o({islands:[{id:"c-18d52ecd99",Component:e},{id:"c-1cfae57d50",Component:i},{id:"c-21a601374a",Component:r},{id:"c-25389891ca",Component:d},{id:"c-4386cf56b2",Component:c},{id:"c-a8e68df9e2",Component:a},{id:"c-c064707f81",Component:t},{id:"c-c11d7c23ea",Component:s},{id:"c-cadddbd637",options:{},load:()=>import("./chunks/editor-b86137d54feb4ba1.js").then(l=>l.AgentEditor)},{id:"c-e10586c382",Component:p}]});m();n()||f();window.__PNEXT_REGISTER_ENTRY__&&window.__PNEXT_REGISTER_ENTRY__(import.meta.url,{mountRoute:f,unmountRoute:u});export{f as mountRoute,k as remountRoute,u as unmountRoute};
@@ -0,0 +1 @@
1
+ import{a as l}from"./chunks/sentinel-9e882d8ad784d4bd.js";import{$3a as r,$3b as d,$3c as m,$3d as p,$3f as c}from"./chunks/shared-init-cf66e1c1a2f30ef1.js";import{$5g as a}from"./chunks/shared-init-cf66e1c1a2f30ef1.js";import"./chunks/shared-init-cf66e1c1a2f30ef1.js";import"./chunks/wular-pnext-37175329f2865f15-0.js";import"./chunks/shared-init-cf66e1c1a2f30ef1.js";import"./chunks/shared-init-cf66e1c1a2f30ef1.js";import{$0a as s}from"./chunks/shared-init-cf66e1c1a2f30ef1.js";import"./chunks/shared-init-cf66e1c1a2f30ef1.js";import"./chunks/shared-init-bee5eaed36ee3dc4.js";import"./chunks/shared-init-bee5eaed36ee3dc4.js";import"./chunks/shared-init-bee5eaed36ee3dc4.js";import{$1c as e}from"./chunks/shared-init-37175329f2865f15-2.js";import{$0i as i}from"./chunks/shared-init-37175329f2865f15-2.js";import{$0a as t,$0b as n}from"./chunks/shared-init-8f2ac936c95a7f7b.js";import"./chunks/shared-init-8f2ac936c95a7f7b.js";var{mountRoute:f,remountRoute:v,unmountRoute:u}=t({islands:[{id:"c-0dc3bcd540",options:{},load:()=>import("./chunks/composer-261cde2206340a07.js").then(o=>o.NewTaskButton)},{id:"c-18d52ecd99",Component:s},{id:"c-1cfae57d50",Component:r},{id:"c-21a601374a",Component:d},{id:"c-25389891ca",Component:m},{id:"c-4386cf56b2",Component:l},{id:"c-6983d633c3",options:{},load:()=>import("./chunks/instructions-c175184f89172c15.js").then(o=>o.Instructions)},{id:"c-8dc766402b",options:{load:"visible",ssr:!0},load:()=>import("./chunks/tasks-list-eae2a32d61b437c5.js").then(o=>o.TasksList)},{id:"c-a8e68df9e2",Component:a},{id:"c-c064707f81",Component:n},{id:"c-c11d7c23ea",Component:p},{id:"c-e10586c382",Component:c},{id:"c-e5ba43bcfb",options:{load:"visible",ssr:!0},load:()=>import("./chunks/versions-list-836e397952b5d251.js").then(o=>o.VersionsList)}]});e();i()||f();window.__PNEXT_REGISTER_ENTRY__&&window.__PNEXT_REGISTER_ENTRY__(import.meta.url,{mountRoute:f,unmountRoute:u});export{f as mountRoute,v as remountRoute,u as unmountRoute};
@@ -1 +1 @@
1
- import{St as e}from"./dispatch-YW1aqjEg.js";import{i as t,t as n}from"./cli-msOzZFXW.js";import{runnerOptions as r}from"./remove-CcMma1x3.js";import i from"node:process";const a=t({name:`runner default`,globalFlags:{cwd:!1},args:1,help:{usage:`coder runner default <id> [--server [url]] [--json]`,summary:`Use this runner by default within its scope.`,flags:[n]},options:r,async run({options:t,args:[n]}){if(!n)throw new e(`invalid-option`,`Missing runner id.`);let{updateRunner:r}=await import(`./runner-c-2w6Eoj.js`).then(e=>e.a);return r(n,{default:!0},t)},print:e=>i.stdout.write(`Default runner ${e.name}.\n`)});export{a as commandRunnerDefault};
1
+ import{St as e}from"./dispatch-YW1aqjEg.js";import{i as t,t as n}from"./cli-IfrPgeYz.js";import{runnerOptions as r}from"./remove-CZmO4BSd.js";import i from"node:process";const a=t({name:`runner default`,globalFlags:{cwd:!1},args:1,help:{usage:`coder runner default <id> [--server [url]] [--json]`,summary:`Use this runner by default within its scope.`,flags:[n]},options:r,async run({options:t,args:[n]}){if(!n)throw new e(`invalid-option`,`Missing runner id.`);let{updateRunner:r}=await import(`./runner-c-2w6Eoj.js`).then(e=>e.a);return r(n,{default:!0},t)},print:e=>i.stdout.write(`Default runner ${e.name}.\n`)});export{a as commandRunnerDefault};
@@ -1 +1 @@
1
- import{i as e,t}from"./cli-msOzZFXW.js";import{p as n}from"./output-BKeyLbvt.js";import{credentialOptions as r,missingLabel as i}from"./remove-DgMg_OOu.js";import a from"node:process";const o=e({name:`credentials default`,globalFlags:{cwd:!1},help:{usage:`coder credentials default <label> [--workspace] [--server [url]] [--json]`,flags:[[`--workspace`,`the workspace credential of that label`],t]},options:r,args:1,async run({options:e,args:[t]}){let{connect:n}=await import(`./remote-AcWWfKVS.js`).then(e=>e.a);if(!t)throw i();return n(e).credentials.setDefault(t,e)},print:(e,{args:[t]})=>a.stdout.write(`Made default ${n.bold(t)}.\n`)});export{o as commandCredentialsDefault};
1
+ import{i as e,t}from"./cli-IfrPgeYz.js";import{p as n}from"./output-BKeyLbvt.js";import{credentialOptions as r,missingLabel as i}from"./remove-B6PskfkD.js";import a from"node:process";const o=e({name:`credentials default`,globalFlags:{cwd:!1},help:{usage:`coder credentials default <label> [--workspace] [--server [url]] [--json]`,flags:[[`--workspace`,`the workspace credential of that label`],t]},options:r,args:1,async run({options:e,args:[t]}){let{connect:n}=await import(`./remote-AcWWfKVS.js`).then(e=>e.a);if(!t)throw i();return n(e).credentials.setDefault(t,e)},print:(e,{args:[t]})=>a.stdout.write(`Made default ${n.bold(t)}.\n`)});export{o as commandCredentialsDefault};
@@ -1,2 +1,2 @@
1
- import{i as e,r as t}from"./cli-msOzZFXW.js";import{p as n}from"./output-BKeyLbvt.js";import{i as r,n as i,s as a,t as o}from"./args-DEMOfLz2.js";import{plural as s}from"./archive-C9yrU4Wg.js";import c from"node:process";const l={server:r,workspace:a,yes:i},u=e({name:`task delete`,help:{usage:`coder task delete <task-id> | coder task delete --all-archived [--server [url]]`,summary:`Delete a task's session from disk. This is permanent. Pass --all-archived to
1
+ import{i as e,r as t}from"./cli-IfrPgeYz.js";import{p as n}from"./output-BKeyLbvt.js";import{i as r,n as i,s as a,t as o}from"./args-DEMOfLz2.js";import{plural as s}from"./archive-fs5RjYHc.js";import c from"node:process";const l={server:r,workspace:a,yes:i},u=e({name:`task delete`,help:{usage:`coder task delete <task-id> | coder task delete --all-archived [--server [url]]`,summary:`Delete a task's session from disk. This is permanent. Pass --all-archived to
2
2
  delete every archived task at once. A running task must be stopped first.`,flags:[[`--all-archived`,`delete every archived task`],t]},options:{...o,"all-archived":i,...l},args:1,run:async({options:e,args:[t]})=>{let{tasks:n}=await import(`./task-DEp3GHwH.js`).then(e=>e.t);return n.delete(t,{...e,organization:e.workspace,allArchived:e[`all-archived`]})},print(e,{options:t}){if(e.count===void 0)return void c.stdout.write(`Deleted task ${n.cyan(e.taskId)}.\n`);c.stdout.write(t.server===void 0?e.count?`Deleted ${e.count} archived task${s(e.count)}.\n`:`${n.dim(`No archived tasks to delete.`)}\n`:`Deleted ${e.count} server task${s(e.count)}.\n`)}});export{u as commandDelete};
@@ -1,4 +1,4 @@
1
- import{i as e}from"./cli-msOzZFXW.js";import{p as t}from"./output-BKeyLbvt.js";import{n,t as r}from"./args-DEMOfLz2.js";import{plural as i}from"./archive-C3JazQuo.js";import a from"node:process";const o=e({name:`flow delete`,help:{usage:`coder flow delete <run-id> | coder flow delete --all-archived`,summary:`Delete a flow run's record from disk (its journal, events, and logs). This is
1
+ import{i as e}from"./cli-IfrPgeYz.js";import{p as t}from"./output-BKeyLbvt.js";import{n,t as r}from"./args-DEMOfLz2.js";import{plural as i}from"./archive-Ylxh0HIl.js";import a from"node:process";const o=e({name:`flow delete`,help:{usage:`coder flow delete <run-id> | coder flow delete --all-archived`,summary:`Delete a flow run's record from disk (its journal, events, and logs). This is
2
2
  permanent; the run's tasks are ordinary tasks and are not touched. Pass
3
3
  --all-archived to delete every archived run at once. A running run must be
4
4
  stopped first.`,flags:[[`--all-archived`,`delete every archived run`]]},options:{...r,"all-archived":n},args:1,run:async({options:e,args:[t]})=>{let{deleteRuns:n}=await import(`./executor-HWnIIYUL.js`).then(e=>e.b);return n(t,{allArchived:e[`all-archived`]})},print(e){if(!(`count`in e))return void a.stdout.write(`Deleted run ${t.cyan(e.runId)}.\n`);a.stdout.write(e.count?`Deleted ${e.count} archived run${i(e.count)}.\n`:`${t.dim(`No archived runs to delete.`)}\n`)}});export{o as commandDelete};
@@ -1 +1 @@
1
- import{i as e}from"./cli-msOzZFXW.js";import{a as t}from"./models-DGPrMV51.js";import{n}from"./add-cdKdz3K0.js";import{t as r}from"./remove-C8Rm8KP-.js";const i=(i,a)=>e({name:`model ${i?`disable`:`enable`}`,help:a,options:n,args:1,run:({options:e,args:[n],cwd:r})=>t(r,n,i,e),json:({name:e,file:t})=>({[i?`disabled`:`enabled`]:e,file:t}),print:({name:e,file:t})=>r(i?`disabled`:`enabled`,e,t)}),a=i(!0,{usage:`coder model disable <name> [--workspace]`,summary:`Disable a model - built-in, custom, or alias. Requests for it fail until re-enabled.`,flags:[[`--workspace`,`target <repo>/.coder/config.json instead of the user file`]]});export{a as commandModelDisable,i as toggle};
1
+ import{i as e}from"./cli-IfrPgeYz.js";import{a as t}from"./models-DGPrMV51.js";import{n}from"./add-CKENklTr.js";import{t as r}from"./remove-CWd4Qs4F.js";const i=(i,a)=>e({name:`model ${i?`disable`:`enable`}`,help:a,options:n,args:1,run:({options:e,args:[n],cwd:r})=>t(r,n,i,e),json:({name:e,file:t})=>({[i?`disabled`:`enabled`]:e,file:t}),print:({name:e,file:t})=>r(i?`disabled`:`enabled`,e,t)}),a=i(!0,{usage:`coder model disable <name> [--workspace]`,summary:`Disable a model - built-in, custom, or alias. Requests for it fail until re-enabled.`,flags:[[`--workspace`,`target <repo>/.coder/config.json instead of the user file`]]});export{a as commandModelDisable,i as toggle};
@@ -1,3 +1,3 @@
1
- import{i as e}from"./cli-msOzZFXW.js";import{g as t,p as n,s as r}from"./output-BKeyLbvt.js";import{t as i}from"./args-DEMOfLz2.js";import a from"node:path";import o from"node:process";import s from"node:os";const c=e({name:`flow discover`,help:{usage:`coder flow discover [--json]`,summary:`List every flow discoverable from the current directory: workspace flows in
1
+ import{i as e}from"./cli-IfrPgeYz.js";import{g as t,p as n,s as r}from"./output-BKeyLbvt.js";import{t as i}from"./args-DEMOfLz2.js";import a from"node:path";import o from"node:process";import s from"node:os";const c=e({name:`flow discover`,help:{usage:`coder flow discover [--json]`,summary:`List every flow discoverable from the current directory: workspace flows in
2
2
  .coder/flows/ (walking up to the repo root) and global flows in ~/.coder/flows/.`},options:i,run:async({cwd:e})=>{let{discoverFlows:t}=await import(`./discover-CaAtyC0h.js`).then(e=>e.r);return t(e)},print:(e,{cwd:t})=>l(e,t)});function l(e,i){if(!e.length){o.stdout.write(`No flows found in .coder/flows/ (workspace) or ~/.coder/flows/ (global).
3
3
  `),o.stdout.write(`\n${r([`Authoring guide: coder docs flows`],n)}\n`);return}let c=n;o.stdout.write(t([{header:`name`,value:e=>e.name,paint:e=>c.cyan(e)},{header:`scope`,value:e=>e.scope,paint:e=>c.light(e)},{header:`path`,value:e=>e.scope===`workspace`?a.relative(i,e.path)||e.path:e.path.replace(s.homedir(),`~`),paint:e=>c.light(e)}],e,c)),o.stdout.write(`\n${r([`Run one: coder flow run <name>`,`Recent runs: coder flow list`],c)}\n`)}export{c as commandDiscover};
@@ -1,2 +1,2 @@
1
- import{i as e}from"./cli-msOzZFXW.js";import{g as t,p as n,s as r}from"./output-BKeyLbvt.js";import{n as i}from"./args-DEMOfLz2.js";import{t as a}from"./docs-Byrpar10.js";import o from"node:process";const s=e({name:`docs`,globalFlags:{cwd:!1},help:{usage:`coder docs [topic] [--json]`,summary:"Print bundled documentation. With no topic, list the available topics; with a\ntopic, print that doc's raw markdown to stdout (unstyled, for an agent to\nconsume). Topics with sub-pages list them as `<topic>/<page>` (also accepted as\n`<topic>-<page>`). `coder docs skill` prints the host skill so an engine can\nload it once per session (--claude for the Claude Code flavor).",flags:[[`--claude`,`with the skill topic: print the Claude Code flavor`]],examples:[[`coder docs`,`list the available topics`],[`coder docs flows`,`print the Flows doc`],[`coder docs review`,`print the Review doc`]]},options:{json:i,claude:i},args:1,run:({options:e,args:[t]})=>a(t,e),print:e=>o.stdout.write(`content`in e?e.content.endsWith(`
1
+ import{i as e}from"./cli-IfrPgeYz.js";import{g as t,p as n,s as r}from"./output-BKeyLbvt.js";import{n as i}from"./args-DEMOfLz2.js";import{t as a}from"./docs-Byrpar10.js";import o from"node:process";const s=e({name:`docs`,globalFlags:{cwd:!1},help:{usage:`coder docs [topic] [--json]`,summary:"Print bundled documentation. With no topic, list the available topics; with a\ntopic, print that doc's raw markdown to stdout (unstyled, for an agent to\nconsume). Topics with sub-pages list them as `<topic>/<page>` (also accepted as\n`<topic>-<page>`). `coder docs skill` prints the host skill so an engine can\nload it once per session (--claude for the Claude Code flavor).",flags:[[`--claude`,`with the skill topic: print the Claude Code flavor`]],examples:[[`coder docs`,`list the available topics`],[`coder docs flows`,`print the Flows doc`],[`coder docs review`,`print the Review doc`]]},options:{json:i,claude:i},args:1,run:({options:e,args:[t]})=>a(t,e),print:e=>o.stdout.write(`content`in e?e.content.endsWith(`
2
2
  `)?e.content:`${e.content}\n`:c(e.topics))});function c(e){let i=n,a=e=>e.includes(`/`)?` ${e}`:e;return t([{header:`topic`,value:e=>a(e.name),paint:e=>i.cyan(e)},{header:`about`,value:e=>e.description,paint:e=>i.light(e)}],e,i)+`\n${r([`Read a topic: coder docs <topic>`],i)}\n`}export{s as commandDocs};
@@ -1 +1 @@
1
- import{toggle as e}from"./disable-CQg5Vybq.js";const t=e(!1,{usage:`coder model enable <name> [--workspace]`,summary:`Re-enable a disabled model.`,flags:[[`--workspace`,`target <repo>/.coder/config.json instead of the user file`]]});export{t as commandModelEnable};
1
+ import{toggle as e}from"./disable-B860lJDh.js";const t=e(!1,{usage:`coder model enable <name> [--workspace]`,summary:`Re-enable a disabled model.`,flags:[[`--workspace`,`target <repo>/.coder/config.json instead of the user file`]]});export{t as commandModelEnable};
@@ -1,2 +1,2 @@
1
- import { C as FlowStep, E as GateResult, S as FlowSteerOptions, T as FlowTaskResult, _ as steer, b as FlowEvent, g as pipeline, h as log, m as gate, n as flowSdk, o as CoderError, p as flow, t as args, v as task, w as FlowTaskOptions } from "../index-Xe8n_t2Z.js";
1
+ import { C as FlowStep, E as GateResult, S as FlowSteerOptions, T as FlowTaskResult, _ as steer, b as FlowEvent, g as pipeline, h as log, m as gate, n as flowSdk, o as CoderError, p as flow, t as args, v as task, w as FlowTaskOptions } from "../index-JcLiq1ac.js";
2
2
  export { CoderError, type FlowEvent, type FlowSteerOptions, type FlowStep, type FlowTaskOptions, type FlowTaskResult, type GateResult, args, flowSdk as default, flowSdk, flow, gate, log, pipeline, steer, task };
@@ -1 +1 @@
1
- import{s as e}from"./cli-msOzZFXW.js";const t=e(`flow`,{run:async()=>(await import(`./run-BFYg-zZt.js`)).commandRun,list:async()=>(await import(`./list-vKOTwd4G.js`)).commandList,ls:async()=>(await import(`./list-vKOTwd4G.js`)).commandList,discover:async()=>(await import(`./discover-bVM8EJEz.js`)).commandDiscover,result:async()=>(await import(`./result-C6ovl_Dn.js`)).commandResult,watch:async()=>(await import(`./watch-DDmHonTf.js`)).commandWatch,stream:async()=>(await import(`./watch-DDmHonTf.js`)).commandWatch,stop:async()=>(await import(`./stop-CD2JW6dI.js`)).commandStop,resume:async()=>(await import(`./resume-T_TXWfqE.js`)).commandResume,archive:async()=>(await import(`./archive-C3JazQuo.js`)).commandArchive,delete:async()=>(await import(`./delete-DNj3leWA.js`)).commandDelete},{menu:[{usage:`run <name|path> [--wait] [--args ...]`,blurb:`run a flow in the background (--wait to follow it live)`},{usage:`list`,blurb:`recent flow runs (by default running + just stopped)`},{usage:`discover`,blurb:`list flows runnable here (workspace + global)`},{usage:`result [run-id]`,blurb:`progress and result of a run`},{usage:`watch [run-id]`,blurb:`watch a run live (replay + follow)`},{usage:`stop [run-id]`,blurb:`stop a run and its still-running tasks`},{usage:`resume [run-id]`,blurb:`continue a stopped or edited run`},{usage:`archive <run-id> | --all-stopped`,blurb:`hide a run (or all stopped) from the list`},{usage:`delete <run-id> | --all-archived`,blurb:`delete a run's record (or all archived)`}],description:[`Orchestrate many coder tasks with a plain TypeScript file: dispatch, gates,`,`concurrency, journaling, and resume. Flows live in .coder/flows/ (workspace)`,"or ~/.coder/flows/ (global). See `coder docs flows`."]},{aliases:{stream:`watch`,ls:`list`},hint:`Run a flow: coder flow run <name>`});export{t as commandFlow};
1
+ import{s as e}from"./cli-IfrPgeYz.js";const t=e(`flow`,{run:async()=>(await import(`./run-Dd9HdNSL.js`)).commandRun,list:async()=>(await import(`./list-P1Zi9bhT.js`)).commandList,ls:async()=>(await import(`./list-P1Zi9bhT.js`)).commandList,discover:async()=>(await import(`./discover-tM_915iZ.js`)).commandDiscover,result:async()=>(await import(`./result-CRIAetqH.js`)).commandResult,watch:async()=>(await import(`./watch-BlGYjH88.js`)).commandWatch,stream:async()=>(await import(`./watch-BlGYjH88.js`)).commandWatch,stop:async()=>(await import(`./stop-CiAJVnU2.js`)).commandStop,resume:async()=>(await import(`./resume-CI-swBxa.js`)).commandResume,archive:async()=>(await import(`./archive-Ylxh0HIl.js`)).commandArchive,delete:async()=>(await import(`./delete-CZuI4sJi.js`)).commandDelete},{menu:[{usage:`run <name|path> [--wait] [--args ...]`,blurb:`run a flow in the background (--wait to follow it live)`},{usage:`list`,blurb:`recent flow runs (by default running + just stopped)`},{usage:`discover`,blurb:`list flows runnable here (workspace + global)`},{usage:`result [run-id]`,blurb:`progress and result of a run`},{usage:`watch [run-id]`,blurb:`watch a run live (replay + follow)`},{usage:`stop [run-id]`,blurb:`stop a run and its still-running tasks`},{usage:`resume [run-id]`,blurb:`continue a stopped or edited run`},{usage:`archive <run-id> | --all-stopped`,blurb:`hide a run (or all stopped) from the list`},{usage:`delete <run-id> | --all-archived`,blurb:`delete a run's record (or all archived)`}],description:[`Orchestrate many coder tasks with a plain TypeScript file: dispatch, gates,`,`concurrency, journaling, and resume. Flows live in .coder/flows/ (workspace)`,"or ~/.coder/flows/ (global). See `coder docs flows`."]},{aliases:{stream:`watch`,ls:`list`},hint:`Run a flow: coder flow run <name>`});export{t as commandFlow};
@@ -1,4 +1,4 @@
1
- import { c as TaskStatus, d as TokenUsage, l as TurnResult, o as McpServerSpec, s as Task, u as TaskLogEntry } from "./types-DMGBYB_K.js";
1
+ import { c as TaskStatus, d as TokenUsage, l as TurnResult, o as McpServerSpec, s as Task, u as TaskLogEntry } from "./types-CdIo1Zbm.js";
2
2
  import { AsyncLocalStorage } from "node:async_hooks";
3
3
  //#region src/flow/types.d.ts
4
4
  /** Anything with zod's parse shape; the flow runtime never imports zod itself. */
@@ -1 +1 @@
1
- import{a as e,n as t,o as n,r}from"./prompt-K7-bKcTC.js";import{i}from"./cli-msOzZFXW.js";import{p as a,s as o}from"./output-BKeyLbvt.js";import{n as s,s as c,t as l}from"./args-DEMOfLz2.js";import u from"node:path";import d from"node:process";const f={observe:`read the platform only`,comment:`also post replies and reactions`,write:`also push, branch, and open or merge pull requests`};function p(e,t){let n=a,{id:r,samples:i,integrations:s}=e;d.stdout.write(`Created ${n.cyan(t)}.\n`);let c=s.length?[`1. Write ${t}/system.md. Try it with no server: coder task run --agent ${r} "<task>"`,`2. Run it on a server: coder dash on this machine reads it from this repo; a cloud server imports it from the dashboard or with coder agent push.`,`3. On the dashboard, create the agent's app on each platform it uses (${s.join(`, `)}) from its Platforms tab, and install it.`,`4. Fire an event by hand, or leave --server out to run it offline: coder agent run ${r} ${i[0]??`<event.json>`} --server <url>`,`Guide: https://github.com/muzam1l/coder/blob/main/docs/agents/index.md`,`Agents: coder docs agents`]:[`1. Write ${t}/system.md. Try it with no server: coder task run --agent ${r} "<task>"`,`2. Give the agent a platform under "integrations" in ${t}/agent.json, then run init again or follow the guide: coder agent integrations list`,`Guide: https://github.com/muzam1l/coder/blob/main/docs/agents/index.md`,`Agents: coder docs agents`];d.stdout.write(`\n${o(c,n)}\n`)}async function m(r){let{regexError:i}=await import(`./agent-BcXXkOmD.js`).then(e=>e.t),{INTEGRATIONS:o}=await import(`./integrations-B2CavXR1.js`).then(e=>e.r),{PRESETS:s}=await import(`./types-D0q15RJa.js`).then(e=>e.n),c=a;d.stdout.write(`Creating ${c.cyan(`.coder/agents/${r}`)}. Pick what the agent listens to and what it may do; flags skip these questions.\n\n`);let l=await e({title:`Integrations`,hint:`Platforms the agent listens to and acts on. Add or remove them later in agent.json.`,multi:!0,selected:[Object.keys(o)[0]],options:Object.values(o).map(e=>({value:e.id,hint:e.description}))}),u={},p={};for(let e of l){let t=o[e],r=Object.keys(t.events),a=await n({title:`${e} events`,hint:`What wakes the agent on ${e}; each event runs the agent with that event as its prompt.`,multi:!0,required:!0,selected:[r.includes(`mention`)?`mention`:r[0]],options:Object.entries(t.events).map(([e,t])=>({value:e,hint:t.description,...t.noisy?{input:{label:`match`,value:`^help\\b`,placeholder:`tab to add a match`,validate:i}}:{}}))});u[e]=a.values,p[e]=a.inputs}let[m]=l.length?await e({title:`Tools`,hint:`What the agent may do on its platforms; comment suits most agents.`,selected:[`comment`],options:s.map(e=>({value:e,hint:f[e]}))}):[`comment`],h=await t(`Display name`,r,void 0,`Shown in replies and app names.`);return{...h===r?{}:{name:h},integrations:l,events:u,matches:p,tools:m}}const h=i({name:`agent init`,help:{usage:`coder agent init [id] [--integrations a,b] [--triggers a,b] [--tools <preset>] [--name <text>] [--description <text>] [--permissions <mode>] [--yes]`,summary:"Create .coder/agents/<id>/ with an agent.json built from the integration catalog, a system.md to write the prompt in, and one sample event per integration for `coder agent run`. Asks for the id, integrations, events, and tools when run in a terminal without them.",flags:[[`--integrations <a,b>`,`platforms the agent listens to (see coder agent integrations list)`],[`--triggers <a,b>`,`events that start tasks, applied to each integration that has them (default: mention)`],[`--tools <preset>`,`observe, comment, or write (default: comment)`],[`--name <text>`,`display name used in replies (default: the id)`],[`--description <text>`,`one line for agent list`],[`--permissions <mode>`,`engine permission mode (default: read-only)`],[`--yes`,`skip the questions and take the defaults`]],examples:[[`coder agent init`,`answer the questions, id included`],[`coder agent init triage --integrations github --triggers issue,mention --tools comment`,`no questions`]]},options:{...l,name:c,description:c,integrations:c,triggers:c,tools:c,permissions:c,match:c,yes:s},args:1,run:async({options:e,args:[n],cwd:i})=>{let{agents:a}=await import(`./agent-BcXXkOmD.js`).then(e=>e.t),o=r()&&!e.yes;return a.init(n,{...e,cwd:i,permissions:e.permissions,...o?{askId:e=>t(`Agent id`,``,e,`Folder name under .coder/agents and the name used in commands.`)}:{},...o&&!e.integrations?{askPicks:m}:{}})},json:(e,{cwd:t})=>({id:e.id,dir:u.relative(t,e.dir),files:e.files,samples:e.samples}),print:(e,{cwd:t})=>p(e,u.relative(t,e.dir))});export{h as commandAgentInit};
1
+ import{a as e,n as t,o as n,r}from"./prompt-K7-bKcTC.js";import{i}from"./cli-IfrPgeYz.js";import{p as a,s as o}from"./output-BKeyLbvt.js";import{n as s,s as c,t as l}from"./args-DEMOfLz2.js";import u from"node:path";import d from"node:process";const f={observe:`read the platform only`,comment:`also post replies and reactions`,write:`also push, branch, and open or merge pull requests`};function p(e,t){let n=a,{id:r,samples:i,integrations:s}=e;d.stdout.write(`Created ${n.cyan(t)}.\n`);let c=s.length?[`1. Write ${t}/system.md. Try it with no server: coder task run --agent ${r} "<task>"`,`2. Run it on a server: coder dash on this machine reads it from this repo; a cloud server imports it from the dashboard or with coder agent push.`,`3. On the dashboard, create the agent's app on each platform it uses (${s.join(`, `)}) from its Platforms tab, and install it.`,`4. Fire an event by hand, or leave --server out to run it offline: coder agent run ${r} ${i[0]??`<event.json>`} --server <url>`,`Guide: https://github.com/muzam1l/coder/blob/main/docs/agents/index.md`,`Agents: coder docs agents`]:[`1. Write ${t}/system.md. Try it with no server: coder task run --agent ${r} "<task>"`,`2. Give the agent a platform under "integrations" in ${t}/agent.json, then run init again or follow the guide: coder agent integrations list`,`Guide: https://github.com/muzam1l/coder/blob/main/docs/agents/index.md`,`Agents: coder docs agents`];d.stdout.write(`\n${o(c,n)}\n`)}async function m(r){let{regexError:i}=await import(`./agent-D0pQ_ewc.js`).then(e=>e.t),{INTEGRATIONS:o}=await import(`./integrations-B2CavXR1.js`).then(e=>e.r),{PRESETS:s}=await import(`./types-D0q15RJa.js`).then(e=>e.n),c=a;d.stdout.write(`Creating ${c.cyan(`.coder/agents/${r}`)}. Pick what the agent listens to and what it may do; flags skip these questions.\n\n`);let l=await e({title:`Integrations`,hint:`Platforms the agent listens to and acts on. Add or remove them later in agent.json.`,multi:!0,selected:[Object.keys(o)[0]],options:Object.values(o).map(e=>({value:e.id,hint:e.description}))}),u={},p={};for(let e of l){let t=o[e],r=Object.keys(t.events),a=await n({title:`${e} events`,hint:`What wakes the agent on ${e}; each event runs the agent with that event as its prompt.`,multi:!0,required:!0,selected:[r.includes(`mention`)?`mention`:r[0]],options:Object.entries(t.events).map(([e,t])=>({value:e,hint:t.description,...t.noisy?{input:{label:`match`,value:`^help\\b`,placeholder:`tab to add a match`,validate:i}}:{}}))});u[e]=a.values,p[e]=a.inputs}let[m]=l.length?await e({title:`Tools`,hint:`What the agent may do on its platforms; comment suits most agents.`,selected:[`comment`],options:s.map(e=>({value:e,hint:f[e]}))}):[`comment`],h=await t(`Display name`,r,void 0,`Shown in replies and app names.`);return{...h===r?{}:{name:h},integrations:l,events:u,matches:p,tools:m}}const h=i({name:`agent init`,help:{usage:`coder agent init [id] [--integrations a,b] [--triggers a,b] [--tools <preset>] [--name <text>] [--description <text>] [--permissions <mode>] [--yes]`,summary:"Create .coder/agents/<id>/ with an agent.json built from the integration catalog, a system.md to write the prompt in, and one sample event per integration for `coder agent run`. Asks for the id, integrations, events, and tools when run in a terminal without them.",flags:[[`--integrations <a,b>`,`platforms the agent listens to (see coder agent integrations list)`],[`--triggers <a,b>`,`events that start tasks, applied to each integration that has them (default: mention)`],[`--tools <preset>`,`observe, comment, or write (default: comment)`],[`--name <text>`,`display name used in replies (default: the id)`],[`--description <text>`,`one line for agent list`],[`--permissions <mode>`,`engine permission mode (default: read-only)`],[`--yes`,`skip the questions and take the defaults`]],examples:[[`coder agent init`,`answer the questions, id included`],[`coder agent init triage --integrations github --triggers issue,mention --tools comment`,`no questions`]]},options:{...l,name:c,description:c,integrations:c,triggers:c,tools:c,permissions:c,match:c,yes:s},args:1,run:async({options:e,args:[n],cwd:i})=>{let{agents:a}=await import(`./agent-D0pQ_ewc.js`).then(e=>e.t),o=r()&&!e.yes;return a.init(n,{...e,cwd:i,permissions:e.permissions,...o?{askId:e=>t(`Agent id`,``,e,`Folder name under .coder/agents and the name used in commands.`)}:{},...o&&!e.integrations?{askPicks:m}:{}})},json:(e,{cwd:t})=>({id:e.id,dir:u.relative(t,e.dir),files:e.files,samples:e.samples}),print:(e,{cwd:t})=>p(e,u.relative(t,e.dir))});export{h as commandAgentInit};
@@ -0,0 +1 @@
1
+ import{s as e}from"./cli-IfrPgeYz.js";const t=e(`agent integrations`,{list:async()=>(await import(`./list-DaQ14K1K.js`)).commandIntegrationsList,ls:async()=>(await import(`./list-DaQ14K1K.js`)).commandIntegrationsList,show:async()=>(await import(`./show-DlKWR0Hy.js`)).commandIntegrationsShow},{menu:[{usage:`list`,blurb:`list integrations with their events and tools`},{usage:`show <id>`,blurb:`events and tools of one integration`}],description:[`The platforms an agent can listen to and act on: their events and tool presets.`]},{aliases:{ls:`list`}});export{t as commandAgentIntegrations};
@@ -1,3 +1,3 @@
1
- import{i as e,n as t}from"./cli-msOzZFXW.js";import{p as n,s as r}from"./output-BKeyLbvt.js";import{r as i}from"./models-DGPrMV51.js";import{n as a}from"./add-cdKdz3K0.js";import o from"node:process";const s=e({name:`model list`,help:{usage:`coder model list [--json]`,summary:`List built-in aliases, configured custom models, and user aliases. Only custom\nmodels are probed.\n\n${t}`},options:a,run:({cwd:e})=>i(e),print:c});function c(e){let i=n,a=e=>e?` ${i.dim(`(disabled)`)}`:``,s=[],c=(e,t)=>{s.push(i.bold(e));for(let e of t)`overrides`in e?s.push(` ${e.disabled?i.dim(`∅`):i.cyan(`↳`)} ${e.alias.padEnd(14)} ${i.dim(`-> ${e.spec} (overrides ${e.overrides})`)}${a(e.disabled)}`):`builtin`in e?s.push(` ${e.disabled?i.dim(`∅`):i.green(`✔`)} ${e.alias.padEnd(14)} ${i.dim(`-> ${e.model}`)}${a(e.disabled)}`):s.push(` ${e.disabled?i.dim(`∅`):i.cyan(`↳`)} ${e.alias.padEnd(14)} ${i.dim(`-> ${e.spec}`)}${a(e.disabled)}`);s.push(``)};c(`Codex models`,e.codex),c(`Claude models`,e.claude),s.push(i.bold(`Custom models`),``),e.custom.length||s.push(i.dim(` None.`));for(let{name:t,probe:n,...r}of e.custom){let e=r.disabled?i.dim(`∅`):n.reachable?i.green(`✔`):i.red(`✘`);s.push(` ${e} ${t.padEnd(14)} ${r.model} ${i.dim(`@ ${r.baseUrl}. ${n.detail}`)}${a(r.disabled)}`)}if(s.push(``),e.toggles){s.push(i.bold(`Other`),``);for(let t of e.toggles)s.push(` ${t.disabled?i.dim(`∅`):i.green(`✔`)} ${t.name.padEnd(14)} ${i.dim(`raw model id`)}${a(t.disabled)}`);s.push(``)}s.push(...t.split(`
1
+ import{i as e,n as t}from"./cli-IfrPgeYz.js";import{p as n,s as r}from"./output-BKeyLbvt.js";import{r as i}from"./models-DGPrMV51.js";import{n as a}from"./add-CKENklTr.js";import o from"node:process";const s=e({name:`model list`,help:{usage:`coder model list [--json]`,summary:`List built-in aliases, configured custom models, and user aliases. Only custom\nmodels are probed.\n\n${t}`},options:a,run:({cwd:e})=>i(e),print:c});function c(e){let i=n,a=e=>e?` ${i.dim(`(disabled)`)}`:``,s=[],c=(e,t)=>{s.push(i.bold(e));for(let e of t)`overrides`in e?s.push(` ${e.disabled?i.dim(`∅`):i.cyan(`↳`)} ${e.alias.padEnd(14)} ${i.dim(`-> ${e.spec} (overrides ${e.overrides})`)}${a(e.disabled)}`):`builtin`in e?s.push(` ${e.disabled?i.dim(`∅`):i.green(`✔`)} ${e.alias.padEnd(14)} ${i.dim(`-> ${e.model}`)}${a(e.disabled)}`):s.push(` ${e.disabled?i.dim(`∅`):i.cyan(`↳`)} ${e.alias.padEnd(14)} ${i.dim(`-> ${e.spec}`)}${a(e.disabled)}`);s.push(``)};c(`Codex models`,e.codex),c(`Claude models`,e.claude),s.push(i.bold(`Custom models`),``),e.custom.length||s.push(i.dim(` None.`));for(let{name:t,probe:n,...r}of e.custom){let e=r.disabled?i.dim(`∅`):n.reachable?i.green(`✔`):i.red(`✘`);s.push(` ${e} ${t.padEnd(14)} ${r.model} ${i.dim(`@ ${r.baseUrl}. ${n.detail}`)}${a(r.disabled)}`)}if(s.push(``),e.toggles){s.push(i.bold(`Other`),``);for(let t of e.toggles)s.push(` ${t.disabled?i.dim(`∅`):i.green(`✔`)} ${t.name.padEnd(14)} ${i.dim(`raw model id`)}${a(t.disabled)}`);s.push(``)}s.push(...t.split(`
2
2
  `),``,r([`Add a custom model: coder model add <name> --base-url <url> --model <id> [--env-key VAR]`,`Alias a model, e.g. fast codex:luna: coder model alias <name> <spec>`,`Run with a model: coder run --model <name> "<task>"`],i)),o.stdout.write(`${s.join(`
3
3
  `)}\n`)}export{s as commandModelList};
@@ -1,4 +1,4 @@
1
- import"./dispatch-YW1aqjEg.js";import{i as e,r as t}from"./cli-msOzZFXW.js";import{a as n,g as r,m as i,p as a,s as o}from"./output-BKeyLbvt.js";import{i as s,n as c,r as l,s as u}from"./args-DEMOfLz2.js";import{c as d,o as f}from"./result-oQey_hdw.js";import p from"node:path";import m from"node:process";const h={server:s,workspace:u,yes:c};function g(e){if(!e.length)return void m.stdout.write(`No server tasks.
1
+ import"./dispatch-YW1aqjEg.js";import{i as e,r as t}from"./cli-IfrPgeYz.js";import{a as n,g as r,m as i,p as a,s as o}from"./output-BKeyLbvt.js";import{i as s,n as c,r as l,s as u}from"./args-DEMOfLz2.js";import{c as d,o as f}from"./result-DtXZusqj.js";import p from"node:path";import m from"node:process";const h={server:s,workspace:u,yes:c};function g(e){if(!e.length)return void m.stdout.write(`No server tasks.
2
2
  `);let t=a;m.stdout.write(r([{header:`task-id`,value:e=>e.task.id,paint:e=>t.cyan(e)},{header:`status`,value:e=>e.status,paint:e=>d(e,t)},{header:`agent`,value:e=>e.task.agent},{header:`source`,value:e=>e.task.source},{header:`request`,value:e=>(e.task.prompt??(e.task.event?`${e.task.event.type}: ${e.task.event.text}`:`-`)).slice(0,80)},{header:`reply`,value:e=>f(e)??`-`}],e,t))}function _(e,t,s){let c=a;if(!e.length){let n=t.archived?`archived tasks`:t.running?`running tasks`:t.stopped?`recently stopped tasks`:`recent tasks`;m.stdout.write(`No ${n}.\n`),e.archived&&m.stdout.write(`\n${o([`${e.archived} archived: coder task list --archived [--limit N]`],c)}\n`);return}let l=[{header:`task-id`,value:e=>e.taskId,paint:e=>c.cyan(e),max:28},{header:`status`,value:e=>e.status,paint:(e,t)=>i(t.status,e.length),max:16},{header:`engine`,value:e=>(e.engine===`custom`&&e.model?e.model:(e.engine??`-`)+(e.model?`/${e.model}`:``))+(e.effort?`/${e.effort}`:``),paint:e=>c.light(e),max:26},{header:`cwd`,value:e=>e.cwd?p.basename(e.cwd):`-`,paint:e=>c.light(e),max:24},{header:`name`,value:e=>{let t=e.archived?` ${c.dim(`(archived)`)}`:``;return`${e.name?e.name:c.light(e.prompt)}${e.idleMs!==null&&e.idleMs>=12e4?` ${(e.idleMs>6e5?c.red:c.dim)(`· idle ${n(e.idleMs)}`)}`:``}${t}`}}],u=[],d=new Map;for(let t of e){if(!t.flowRunId){let e=u.at(-1);e&&!e.header?e.rows.push(t):u.push({rows:[t]});continue}let e=d.get(t.flowRunId);if(!e){let n=s(t.flowRunId);e={header:n?`(${c.bold(t.flowRunId)} ${n.status}. Flow ${n.name})`:`(${c.bold(t.flowRunId)} flow)`,rows:[]},d.set(t.flowRunId,e),u.push(e)}e.rows.push(t)}m.stdout.write(r(l,u,c)),e.clipped&&m.stdout.write(c.dim(`\n... ${e.clipped} more not shown (--limit ${t.limit===`all`?void 0:t.limit})\n`));let f=[`Result: coder task result <task-id>`];t.archived||f.push(`Older tasks: coder task list --archived [--limit N]`),m.stdout.write(`\n${o(f,c)}\n`)}const v=e({name:`task list`,help:{usage:`coder task list [--running] [--stopped] [--archived [--limit N]] [--server [url]]`,summary:`List recent tasks across all workspaces, most recent first: running tasks plus
3
3
  ones stopped within the last 30 minutes. Older stopped tasks auto-archive and
4
4
  move to --archived. Shortcut: \`coder list\`.`,flags:[[`--running`,`show only running tasks`],[`--stopped`,`show only recently stopped tasks (not yet archived)`],[`--archived`,`show only archived tasks (auto-archived or via task archive)`],[`--limit <n|all>`,`show at most n tasks (default all)`],[`--dir <dir>`,`only tasks launched in that workspace`],t]},options:{cwd:u,dir:u,limit:l,json:c,running:c,stopped:c,archived:c,...h},run:async({options:e})=>{let{tasks:t}=await import(`./task-DEp3GHwH.js`).then(e=>e.t);return t.list({...e,organization:e.workspace})},async print(e,{options:t}){if(t.server!==void 0)return g(e);let{readFlowRecord:n}=await import(`./executor-HWnIIYUL.js`).then(e=>e.b);_(e,t,n)}});export{v as commandTasks};
@@ -1 +1 @@
1
- import{i as e,t}from"./cli-msOzZFXW.js";import{g as n,p as r}from"./output-BKeyLbvt.js";import{runnerOptions as i}from"./remove-CcMma1x3.js";import a from"node:process";function o({items:e}){if(!e.length)return void a.stdout.write(`${r.dim(`No runners.`)}\n`);a.stdout.write(`${n([{header:`id`,value:e=>e.id,paint:e=>r.cyan(e)},{header:`name`,value:e=>e.name},{header:`scope`,value:e=>e.scope},{header:`status`,value:e=>e.online?`online`:`offline`},{header:`kind`,value:e=>e.kind},{header:`default`,value:e=>e.default?`yes`:``}],e,r)}\n`)}const s=e({name:`runner list`,globalFlags:{cwd:!1},help:{usage:`coder runner list [--server [url]] [--json]`,flags:[t]},options:i,run:async({options:e})=>{let{listRunners:t}=await import(`./runner-c-2w6Eoj.js`).then(e=>e.a);return t(e)},print:o});export{s as commandRunnerList};
1
+ import{i as e,t}from"./cli-IfrPgeYz.js";import{g as n,p as r}from"./output-BKeyLbvt.js";import{runnerOptions as i}from"./remove-CZmO4BSd.js";import a from"node:process";function o({items:e}){if(!e.length)return void a.stdout.write(`${r.dim(`No runners.`)}\n`);a.stdout.write(`${n([{header:`id`,value:e=>e.id,paint:e=>r.cyan(e)},{header:`name`,value:e=>e.name},{header:`scope`,value:e=>e.scope},{header:`status`,value:e=>e.online?`online`:`offline`},{header:`kind`,value:e=>e.kind},{header:`default`,value:e=>e.default?`yes`:``}],e,r)}\n`)}const s=e({name:`runner list`,globalFlags:{cwd:!1},help:{usage:`coder runner list [--server [url]] [--json]`,flags:[t]},options:i,run:async({options:e})=>{let{listRunners:t}=await import(`./runner-c-2w6Eoj.js`).then(e=>e.a);return t(e)},print:o});export{s as commandRunnerList};
@@ -1,2 +1,2 @@
1
- import{i as e,r as t}from"./cli-msOzZFXW.js";import{g as n,p as r,s as i}from"./output-BKeyLbvt.js";import{i as a,n as o,s,t as c}from"./args-DEMOfLz2.js";import l from"node:process";const u={server:a,workspace:s,yes:o},d=e=>`builtin`in e,f=e=>e.map(e=>d(e)?{id:e.id,name:e.name,source:e.builtin?`builtin`:`repo`,description:e.definition.description??null}:{id:e.id,name:e.name,source:e.source,version:e.currentVersion,description:e.description??null});function p(e,t){if(!e.length)return void l.stdout.write(`No agents configured.
2
- `);let a=r;l.stdout.write(n([{header:`id`,value:e=>e.id,paint:e=>a.cyan(e)},{header:`name`,value:e=>e.name},{header:`source`,value:e=>e.source,paint:e=>a.light(e)},...t?[{header:`version`,value:e=>String(e.version)}]:[],{header:`description`,value:e=>e.description??`-`}],e,a)),!t&&l.stdout.write(`\n${i([`An agent's settings, triggers, and tools: coder agent show <id>`,`Scaffold a new agent in this repo: coder agent init <id>`],a)}\n`)}const m=e({name:`agent list`,help:{usage:`coder agent list [--server [url]] [--json] [--cwd <dir>]`,summary:`Without --server, one row per built-in and workspace agent. With --server, list the agent records and current versions owned by that Coder server.`,flags:[t]},options:{...c,...u},run:async({options:e,cwd:t})=>{let{agents:n}=await import(`./agent-BcXXkOmD.js`).then(e=>e.t);return n.list({...e,cwd:t,organization:e.workspace})},json:e=>f(e),print:(e,{options:t})=>p(f(e),t.server!==void 0)});export{m as commandAgentList,d as isLocal};
1
+ import{i as e,r as t}from"./cli-IfrPgeYz.js";import{g as n,p as r,s as i}from"./output-BKeyLbvt.js";import{i as a,n as o,s,t as c}from"./args-DEMOfLz2.js";import l from"node:process";const u={server:a,workspace:s,yes:o},d=e=>`builtin`in e,f=e=>e.map(e=>d(e)?{id:e.id,name:e.name,source:e.builtin?`builtin`:`repo`,description:e.definition.description??null}:{id:e.id,name:e.name,source:e.source,version:e.currentVersion,description:e.description??null});function p(e,t){if(!e.length)return void l.stdout.write(`No agents configured.
2
+ `);let a=r;l.stdout.write(n([{header:`id`,value:e=>e.id,paint:e=>a.cyan(e)},{header:`name`,value:e=>e.name},{header:`source`,value:e=>e.source,paint:e=>a.light(e)},...t?[{header:`version`,value:e=>String(e.version)}]:[],{header:`description`,value:e=>e.description??`-`}],e,a)),!t&&l.stdout.write(`\n${i([`An agent's settings, triggers, and tools: coder agent show <id>`,`Scaffold a new agent in this repo: coder agent init <id>`],a)}\n`)}const m=e({name:`agent list`,help:{usage:`coder agent list [--server [url]] [--json] [--cwd <dir>]`,summary:`Without --server, one row per built-in and workspace agent. With --server, list the agent records and current versions owned by that Coder server.`,flags:[t]},options:{...c,...u},run:async({options:e,cwd:t})=>{let{agents:n}=await import(`./agent-D0pQ_ewc.js`).then(e=>e.t);return n.list({...e,cwd:t,organization:e.workspace})},json:e=>f(e),print:(e,{options:t})=>p(f(e),t.server!==void 0)});export{m as commandAgentList,d as isLocal};
@@ -1 +1 @@
1
- import{i as e}from"./cli-msOzZFXW.js";import{g as t,p as n,s as r}from"./output-BKeyLbvt.js";import{n as i}from"./args-DEMOfLz2.js";import a from"node:process";function o(e){let i=n;a.stdout.write(t([{header:`id`,value:e=>e.id,paint:e=>i.cyan(e)},{header:`description`,value:e=>e.description},{header:`events`,value:e=>e.events.join(`, `)},{header:`tools`,value:e=>e.tools.join(`, `)}],e,{style:i,border:!0})),a.stdout.write(`\n${r([`Event descriptions and the tools each preset allows: coder agent integrations show <id>`],i)}\n`)}const s=e({name:`agent integrations list`,globalFlags:{cwd:!1},help:{usage:`coder agent integrations list [--json]`,summary:"One row per integration: its id, the events an agent can wire, and every tool it offers; `show` splits the tools by preset."},options:{json:i},run:async()=>{let{agents:e}=await import(`./agent-BcXXkOmD.js`).then(e=>e.t);return e.integrations.list()},print:o});export{s as commandIntegrationsList};
1
+ import{i as e}from"./cli-IfrPgeYz.js";import{g as t,p as n,s as r}from"./output-BKeyLbvt.js";import{n as i}from"./args-DEMOfLz2.js";import a from"node:process";function o(e){let i=n;a.stdout.write(t([{header:`id`,value:e=>e.id,paint:e=>i.cyan(e)},{header:`description`,value:e=>e.description},{header:`events`,value:e=>e.events.join(`, `)},{header:`tools`,value:e=>e.tools.join(`, `)}],e,{style:i,border:!0})),a.stdout.write(`\n${r([`Event descriptions and the tools each preset allows: coder agent integrations show <id>`],i)}\n`)}const s=e({name:`agent integrations list`,globalFlags:{cwd:!1},help:{usage:`coder agent integrations list [--json]`,summary:"One row per integration: its id, the events an agent can wire, and every tool it offers; `show` splits the tools by preset."},options:{json:i},run:async()=>{let{agents:e}=await import(`./agent-D0pQ_ewc.js`).then(e=>e.t);return e.integrations.list()},print:o});export{s as commandIntegrationsList};
@@ -1 +1 @@
1
- import{i as e,t}from"./cli-msOzZFXW.js";import{g as n,p as r}from"./output-BKeyLbvt.js";import{n as i,o as a}from"./args-DEMOfLz2.js";import o from"node:process";function s(e){if(!e.length)return void o.stdout.write(`${r.dim(`No engine credentials.`)}\n`);o.stdout.write(`${n([{header:`label`,value:e=>e.label,paint:e=>r.cyan(e)},{header:`engine`,value:e=>e.engine},{header:`scope`,value:e=>e.scope},{header:`default`,value:e=>e.isDefault?`✔`:``},{header:`value`,value:e=>e.masked},{header:`account`,value:e=>[e.account?.email,e.account?.plan].filter(Boolean).join(` `)}],e,r)}\n`)}const c=e({name:`credentials list`,globalFlags:{cwd:!1},help:{usage:`coder credentials list [--server [url]] [--json]`,flags:[t]},options:{json:i,server:a,yes:i},run:async({options:e})=>{let{connect:t}=await import(`./remote-AcWWfKVS.js`).then(e=>e.a);return t(e).credentials.list()},print:s});export{c as commandCredentialsList};
1
+ import{i as e,t}from"./cli-IfrPgeYz.js";import{g as n,p as r}from"./output-BKeyLbvt.js";import{n as i,o as a}from"./args-DEMOfLz2.js";import o from"node:process";function s(e){if(!e.length)return void o.stdout.write(`${r.dim(`No engine credentials.`)}\n`);o.stdout.write(`${n([{header:`label`,value:e=>e.label,paint:e=>r.cyan(e)},{header:`engine`,value:e=>e.engine},{header:`scope`,value:e=>e.scope},{header:`default`,value:e=>e.isDefault?`✔`:``},{header:`value`,value:e=>e.masked},{header:`account`,value:e=>[e.account?.email,e.account?.plan].filter(Boolean).join(` `)}],e,r)}\n`)}const c=e({name:`credentials list`,globalFlags:{cwd:!1},help:{usage:`coder credentials list [--server [url]] [--json]`,flags:[t]},options:{json:i,server:a,yes:i},run:async({options:e})=>{let{connect:t}=await import(`./remote-AcWWfKVS.js`).then(e=>e.a);return t(e).credentials.list()},print:s});export{c as commandCredentialsList};
@@ -1 +1 @@
1
- import{at as e}from"./dispatch-YW1aqjEg.js";import{i as t}from"./cli-msOzZFXW.js";import{g as n,p as r,s as i}from"./output-BKeyLbvt.js";import{t as a}from"./args-DEMOfLz2.js";import o from"node:process";const s=t({name:`mcp list`,help:{usage:`coder mcp list [--json] [--cwd <dir>]`,summary:`List MCP servers from the merged user and repo config.`},options:a,run:({cwd:t})=>e(t),print:c});function c(e){let t=r,a=Object.keys(e);if(!a.length)return void o.stdout.write(`No MCP servers configured.\n\n${i([`Add a server: coder mcp add <name> -- <command>`],t)}\n`);o.stdout.write(n([{header:`name`,value:e=>e.name,paint:e=>t.cyan(e)},{header:`target`,value:e=>e.entry.url??[e.entry.command,...e.entry.args??[]].join(` `),paint:e=>t.light(e)},{header:`tools`,value:e=>e.entry.tools?.join(`, `)??`-`,paint:e=>t.light(e)}],a.map(t=>({name:t,entry:e[t]})),t))}export{s as commandMcpList};
1
+ import{at as e}from"./dispatch-YW1aqjEg.js";import{i as t}from"./cli-IfrPgeYz.js";import{g as n,p as r,s as i}from"./output-BKeyLbvt.js";import{t as a}from"./args-DEMOfLz2.js";import o from"node:process";const s=t({name:`mcp list`,help:{usage:`coder mcp list [--json] [--cwd <dir>]`,summary:`List MCP servers from the merged user and repo config.`},options:a,run:({cwd:t})=>e(t),print:c});function c(e){let t=r,a=Object.keys(e);if(!a.length)return void o.stdout.write(`No MCP servers configured.\n\n${i([`Add a server: coder mcp add <name> -- <command>`],t)}\n`);o.stdout.write(n([{header:`name`,value:e=>e.name,paint:e=>t.cyan(e)},{header:`target`,value:e=>e.entry.url??[e.entry.command,...e.entry.args??[]].join(` `),paint:e=>t.light(e)},{header:`tools`,value:e=>e.entry.tools?.join(`, `)??`-`,paint:e=>t.light(e)}],a.map(t=>({name:t,entry:e[t]})),t))}export{s as commandMcpList};
@@ -1,4 +1,4 @@
1
- import{Tt as e}from"./dispatch-YW1aqjEg.js";import{i as t}from"./cli-msOzZFXW.js";import{a as n,l as r,m as i,n as a,p as o,s}from"./output-BKeyLbvt.js";import{n as c,r as l,t as u}from"./args-DEMOfLz2.js";import d from"node:process";const f=t({name:`flow list`,help:{usage:`coder flow list [--archived] [--limit N] [--json]`,summary:`List recent flow runs, most recent first: running runs plus ones that ended
1
+ import{Tt as e}from"./dispatch-YW1aqjEg.js";import{i as t}from"./cli-IfrPgeYz.js";import{a as n,l as r,m as i,n as a,p as o,s}from"./output-BKeyLbvt.js";import{n as c,r as l,t as u}from"./args-DEMOfLz2.js";import d from"node:process";const f=t({name:`flow list`,help:{usage:`coder flow list [--archived] [--limit N] [--json]`,summary:`List recent flow runs, most recent first: running runs plus ones that ended
2
2
  within the last 30 minutes. Older runs auto-archive and move to --archived.`,flags:[[`--archived`,`show archived runs (auto-archived or via flow archive)`],[`--limit <n|all>`,`show at most n runs (default all)`]]},options:{...u,archived:c,limit:l},run:async({options:e})=>{let{collectFlowRuns:t}=await import(`./executor-HWnIIYUL.js`).then(e=>e.b);return t(e)},json:e=>e.runs,print:(e,{options:t})=>p(e,t)});function p({runs:t,clipped:c},l){if(!t.length){d.stdout.write(l.archived?`No archived flow runs.
3
3
  `:`No recent flow runs.
4
4
  `),d.stdout.write(`\n${s([`Run one: coder flow run <name>`,`Runnable flows: coder flow discover`],o)}\n`);return}let u=o,f=(e,t,n)=>Math.min(t,Math.max(e,...n.map(e=>e.length))),p={id:f(6,28,t.map(e=>e.runId)),name:f(4,30,t.map(e=>e.name))};d.stdout.write(u.bold(u.light(`${`run-id`.padEnd(p.id)} ${`name`.padEnd(p.name)} ${`status`.padEnd(10)} ${`tasks`.padEnd(9)} ${`tokens`.padEnd(10)} age\n`)));for(let o of t){let t=Object.values(o.ledger).reduce((e,t)=>e+t.total,0);d.stdout.write(`${u.cyan(a(o.runId,p.id))} ${a(o.name,p.name)} ${i(o.status,10)} ${u.light(a(`${o.taskCount} tasks`,9))} ${u.light(a(t?`${r(t)} tok`:`-`,10))} ${u.light(n(e(o.startedAt)))}\n`)}c&&d.stdout.write(u.dim(`\n... ${c} more not shown (--limit ${l.limit})\n`)),d.stdout.write(`\n${s([`Result: coder flow result <run-id>`,`Tasks: coder list`,`Runnable flows: coder flow discover`],u)}\n`)}export{f as commandList};
@@ -1 +1 @@
1
- import{i as e,t}from"./cli-msOzZFXW.js";import{p as n,r,s as i}from"./output-BKeyLbvt.js";import{n as a,o}from"./args-DEMOfLz2.js";import s from"node:process";import c from"node:readline/promises";function l(e){e.url&&s.stderr.write(`Open ${n.cyan(e.url)}\n`),e.code&&s.stderr.write(`Enter the code ${n.bold(e.code)}\n`)}async function u(){let e=c.createInterface({input:s.stdin,output:s.stderr}),t=(await e.question(`Paste the code from the sign-in page `)).trim();return e.close(),t}function d(e){if(e.state===`failed`)return void s.stderr.write(`${r.red(e.error??`Sign-in failed.`)}\n\n${i([`Try again`],r)}\n`);s.stdout.write(`Signed in. Personal credential ${n.bold(e.label??e.engine)} is your ${e.engine} default.\n`)}const f=e({name:`credentials login`,globalFlags:{cwd:!1},help:{usage:`coder credentials login <claude|codex> [--server [url]] [--json]`,summary:`Runs the official claude or codex sign-in on the server's runner, prints the sign-in link or device code, and waits. Claude asks you to paste the code the sign-in page shows. The result is your personal default for that engine. Needs CLAUDE_SUBSCRIPTIONS=1 or CODEX_SUBSCRIPTIONS=1 on the server.`,flags:[t]},options:{json:a,server:o,yes:a},args:1,run:async({options:e,args:[t]})=>{let{loginCredential:n}=await import(`./remote-AcWWfKVS.js`).then(e=>e.a);return n(t,{...e,onStart:e=>s.once(`SIGINT`,()=>void e().finally(()=>s.exit(130))),onOpen:l,code:u})},print:d,exit:(e,{options:t})=>!t.json&&e.state===`failed`?1:void 0});export{f as commandCredentialsLogin};
1
+ import{i as e,t}from"./cli-IfrPgeYz.js";import{p as n,r,s as i}from"./output-BKeyLbvt.js";import{n as a,o}from"./args-DEMOfLz2.js";import s from"node:process";import c from"node:readline/promises";function l(e){e.url&&s.stderr.write(`Open ${n.cyan(e.url)}\n`),e.code&&s.stderr.write(`Enter the code ${n.bold(e.code)}\n`)}async function u(){let e=c.createInterface({input:s.stdin,output:s.stderr}),t=(await e.question(`Paste the code from the sign-in page `)).trim();return e.close(),t}function d(e){if(e.state===`failed`)return void s.stderr.write(`${r.red(e.error??`Sign-in failed.`)}\n\n${i([`Try again`],r)}\n`);s.stdout.write(`Signed in. Personal credential ${n.bold(e.label??e.engine)} is your ${e.engine} default.\n`)}const f=e({name:`credentials login`,globalFlags:{cwd:!1},help:{usage:`coder credentials login <claude|codex> [--server [url]] [--json]`,summary:`Runs the official claude or codex sign-in on the server's runner, prints the sign-in link or device code, and waits. Claude asks you to paste the code the sign-in page shows. The result is your personal default for that engine. Needs CLAUDE_SUBSCRIPTIONS=1 or CODEX_SUBSCRIPTIONS=1 on the server.`,flags:[t]},options:{json:a,server:o,yes:a},args:1,run:async({options:e,args:[t]})=>{let{loginCredential:n}=await import(`./remote-AcWWfKVS.js`).then(e=>e.a);return n(t,{...e,onStart:e=>s.once(`SIGINT`,()=>void e().finally(()=>s.exit(130))),onOpen:l,code:u})},print:d,exit:(e,{options:t})=>!t.json&&e.state===`failed`?1:void 0});export{f as commandCredentialsLogin};
@@ -1 +1 @@
1
- import{St as e}from"./dispatch-YW1aqjEg.js";import{a as t,i as n,r}from"./prompt-K7-bKcTC.js";import{i,r as a}from"./cli-msOzZFXW.js";import{p as o}from"./output-BKeyLbvt.js";import{i as s,n as c,s as l}from"./args-DEMOfLz2.js";import u from"node:process";const d=t=>{throw t instanceof e&&t.code===`login-failed`?new e(`invalid-option`,t.message,t.hint?{hint:t.hint}:{}):t},f=i({name:`auth login`,globalFlags:{cwd:!1},help:{usage:`coder auth login [--server [url]] [--workspace <slug>] [--device] [--json]`,summary:`Sign in with Wular Auth in your browser. The CLI keeps the tokens in ~/.coder/session.json, and commands that talk to a server then act as you.`,flags:[a,[`--device`,`show a code to approve on another device; the default without a local browser`]],env:[[`CODER_SERVER`,`the server to use instead of https://coder.wular.ai`]],examples:[[`coder auth login`,`sign in to the hosted service`],[`coder auth login --server https://agents.example.com`,`sign in to a self-hosted server`]]},options:{json:c,server:s,workspace:l,yes:c,device:c},run:async({options:e})=>{let{hasBrowser:i,sessions:a}=await import(`./remote-AcWWfKVS.js`).then(e=>e.c);return a.login({server:e.server,yes:e.yes,device:e.device||!i(),open:e=>{u.stdout.write(`Opening your browser to sign in. If it does not open, visit\n${o.light(e)}\n`),n(e)},onCode:(e,t)=>u.stdout.write(`Confirm this code in your browser: ${o.bold(e)}\n${o.light(t)}\n`),organization:e.workspace,...r()?{chooseOrganization:async e=>{let[n]=await t({title:`Workspace`,hint:`Commands for this server use this workspace by default.`,options:e.map(e=>({value:e.slug,label:e.name,hint:e.slug}))});return n}}:{}}).catch(d)},json:e=>({server:e.server,user:e.user,organization:e.organization}),print:e=>{let t=o;u.stdout.write(`${t.green(`✔`)} Signed in to ${t.bold(e.server)} as ${e.user.email}${e.organization?` ${t.dim(`· ${e.organization.name}`)}`:``}\n`)}});export{f as commandLogin,d as ownHint};
1
+ import{St as e}from"./dispatch-YW1aqjEg.js";import{a as t,i as n,r}from"./prompt-K7-bKcTC.js";import{i,r as a}from"./cli-IfrPgeYz.js";import{p as o}from"./output-BKeyLbvt.js";import{i as s,n as c,s as l}from"./args-DEMOfLz2.js";import u from"node:process";const d=t=>{throw t instanceof e&&t.code===`login-failed`?new e(`invalid-option`,t.message,t.hint?{hint:t.hint}:{}):t},f=i({name:`auth login`,globalFlags:{cwd:!1},help:{usage:`coder auth login [--server [url]] [--workspace <slug>] [--device] [--json]`,summary:`Sign in with Wular Auth in your browser. The CLI keeps the tokens in ~/.coder/session.json, and commands that talk to a server then act as you.`,flags:[a,[`--device`,`show a code to approve on another device; the default without a local browser`]],env:[[`CODER_SERVER`,`the server to use instead of https://coder.wular.ai`]],examples:[[`coder auth login`,`sign in to the hosted service`],[`coder auth login --server https://agents.example.com`,`sign in to a self-hosted server`]]},options:{json:c,server:s,workspace:l,yes:c,device:c},run:async({options:e})=>{let{hasBrowser:i,sessions:a}=await import(`./remote-AcWWfKVS.js`).then(e=>e.c);return a.login({server:e.server,yes:e.yes,device:e.device||!i(),open:e=>{u.stdout.write(`Opening your browser to sign in. If it does not open, visit\n${o.light(e)}\n`),n(e)},onCode:(e,t)=>u.stdout.write(`Confirm this code in your browser: ${o.bold(e)}\n${o.light(t)}\n`),organization:e.workspace,...r()?{chooseOrganization:async e=>{let[n]=await t({title:`Workspace`,hint:`Commands for this server use this workspace by default.`,options:e.map(e=>({value:e.slug,label:e.name,hint:e.slug}))});return n}}:{}}).catch(d)},json:e=>({server:e.server,user:e.user,organization:e.organization}),print:e=>{let t=o;u.stdout.write(`${t.green(`✔`)} Signed in to ${t.bold(e.server)} as ${e.user.email}${e.organization?` ${t.dim(`· ${e.organization.name}`)}`:``}\n`)}});export{f as commandLogin,d as ownHint};
@@ -1 +1 @@
1
- import{i as e,r as t}from"./cli-msOzZFXW.js";import{i as n,n as r}from"./args-DEMOfLz2.js";import{ownHint as i}from"./login-BzdlmD_o.js";import a from"node:process";const o=e({name:`auth logout`,globalFlags:{cwd:!1},help:{usage:`coder auth logout [--server [url]] [--json]`,summary:`Revoke the saved session for that server at Wular Auth and forget its tokens.`,flags:[t]},options:{json:r,server:n,yes:r},run:async({options:e})=>{let{sessions:t}=await import(`./remote-AcWWfKVS.js`).then(e=>e.c);return t.logout(e).catch(i)},print:e=>a.stdout.write(`Signed out of ${e.server}.\n`)});export{o as commandLogout};
1
+ import{i as e,r as t}from"./cli-IfrPgeYz.js";import{i as n,n as r}from"./args-DEMOfLz2.js";import{ownHint as i}from"./login-KHrM3MI3.js";import a from"node:process";const o=e({name:`auth logout`,globalFlags:{cwd:!1},help:{usage:`coder auth logout [--server [url]] [--json]`,summary:`Revoke the saved session for that server at Wular Auth and forget its tokens.`,flags:[t]},options:{json:r,server:n,yes:r},run:async({options:e})=>{let{sessions:t}=await import(`./remote-AcWWfKVS.js`).then(e=>e.c);return t.logout(e).catch(i)},print:e=>a.stdout.write(`Signed out of ${e.server}.\n`)});export{o as commandLogout};
@@ -1 +1 @@
1
- import{t as e}from"./rolldown-runtime-DT7IzrpZ.js";import{St as t}from"./dispatch-YW1aqjEg.js";import{Bn as n,In as r,Rn as i,ft as a,n as o,t as s,zn as c}from"./store-qp7UE2ES.js";import{n as l}from"./env-LsVTi18f.js";import{c as u,d,i as f}from"./schema-DoNO0dPh.js";import{n as p,t as m}from"./migrate-DAC6sFgg.js";import{v as h}from"./shared-TznJgMFW.js";import g from"node:process";import{eq as _,isNotNull as v,like as y}from"drizzle-orm";var b=e({migrate:()=>S,rotateKey:()=>C});async function x(e){try{return await e()}catch(e){throw e instanceof t?e:new t(`server`,e instanceof Error?e.message:String(e))}}function S(e={}){return x(async()=>{let n=l(e.env??g.env);if(!n.databaseUrl)throw new t(`invalid-option`,`No database to migrate.`,{hint:`Set DATABASE_URL to the Postgres the server uses.`});let r=await o(n);try{return await p(r,m(n.databaseUrl))}finally{await r.close()}})}function C(e={}){return x(async()=>{let o=l(e.env??g.env);if(!o.encryptionKey)throw new t(`invalid-option`,`SERVER_ENCRYPTION_KEY is required to rotate keys.`,{hint:`Set the new key in SERVER_ENCRYPTION_KEY and the old key in SERVER_ENCRYPTION_KEY_PREVIOUS.`});let p=await s(o);try{let e=new Set([p.defaultOrganizationId]);if(p.connection){let t=p.connection.db,[n,r]=await Promise.all([t.selectDistinct({id:d.organizationId}).from(d),t.select({key:f.key}).from(f).where(y(f.key,`o:%,"config"]:workspace`))]);for(let t of n)e.add(t.id);for(let t of r){let n;try{n=JSON.parse(t.key.slice(2,-10))}catch{continue}Array.isArray(n)&&n.length===2&&typeof n[0]==`string`&&n[1]===`config`&&t.key===h(n[0],`config`,`workspace`)&&e.add(n[0])}}let t=0;for(let n of e)t+=await a(p.store(n),o);let s=p.connection?.db,l=c(o.encryptionKey);for(let e of s?await s.select().from(u).where(v(u.token)):[])n(o,e.token)!==l&&(await s.update(u).set({token:i(o,r(o,e.token))}).where(_(u.id,e.id)),t++);return{moved:t}}finally{await p.close()}})}export{S as n,C as r,b as t};
1
+ import{t as e}from"./rolldown-runtime-DT7IzrpZ.js";import{St as t}from"./dispatch-YW1aqjEg.js";import{Bn as n,In as r,Rn as i,ft as a,n as o,t as s,zn as c}from"./store-Cxc2GYyj.js";import{n as l}from"./env-LsVTi18f.js";import{c as u,d,i as f}from"./schema-DoNO0dPh.js";import{n as p,t as m}from"./migrate-DAC6sFgg.js";import{v as h}from"./shared-D64pQ0XU.js";import g from"node:process";import{eq as _,isNotNull as v,like as y}from"drizzle-orm";var b=e({migrate:()=>S,rotateKey:()=>C});async function x(e){try{return await e()}catch(e){throw e instanceof t?e:new t(`server`,e instanceof Error?e.message:String(e))}}function S(e={}){return x(async()=>{let n=l(e.env??g.env);if(!n.databaseUrl)throw new t(`invalid-option`,`No database to migrate.`,{hint:`Set DATABASE_URL to the Postgres the server uses.`});let r=await o(n);try{return await p(r,m(n.databaseUrl))}finally{await r.close()}})}function C(e={}){return x(async()=>{let o=l(e.env??g.env);if(!o.encryptionKey)throw new t(`invalid-option`,`SERVER_ENCRYPTION_KEY is required to rotate keys.`,{hint:`Set the new key in SERVER_ENCRYPTION_KEY and the old key in SERVER_ENCRYPTION_KEY_PREVIOUS.`});let p=await s(o);try{let e=new Set([p.defaultOrganizationId]);if(p.connection){let t=p.connection.db,[n,r]=await Promise.all([t.selectDistinct({id:d.organizationId}).from(d),t.select({key:f.key}).from(f).where(y(f.key,`o:%,"config"]:workspace`))]);for(let t of n)e.add(t.id);for(let t of r){let n;try{n=JSON.parse(t.key.slice(2,-10))}catch{continue}Array.isArray(n)&&n.length===2&&typeof n[0]==`string`&&n[1]===`config`&&t.key===h(n[0],`config`,`workspace`)&&e.add(n[0])}}let t=0;for(let n of e)t+=await a(p.store(n),o);let s=p.connection?.db,l=c(o.encryptionKey);for(let e of s?await s.select().from(u).where(v(u.token)):[])n(o,e.token)!==l&&(await s.update(u).set({token:i(o,r(o,e.token))}).where(_(u.id,e.id)),t++);return{moved:t}}finally{await p.close()}})}export{S as n,C as r,b as t};
@@ -1 +1 @@
1
- import{s as e}from"./cli-msOzZFXW.js";const t=e(`mcp`,{serve:async()=>(await import(`./serve-C-AD60Wa.js`)).commandMcp,add:async()=>(await import(`./add-Bffwutko.js`)).commandMcpAdd,"add-json":async()=>(await import(`./add-json-BIcbE3Nf.js`)).commandMcpAddJson,list:async()=>(await import(`./list-DyqtSWvn.js`)).commandMcpList,ls:async()=>(await import(`./list-DyqtSWvn.js`)).commandMcpList,rm:async()=>(await import(`./remove-BuaShRZ3.js`)).commandMcpRemove,remove:async()=>(await import(`./remove-BuaShRZ3.js`)).commandMcpRemove},{menu:[{usage:`add <name> (--url <url> | -- <command> [args])`,blurb:`add a server`},{usage:`add-json <name> '<json>'`,blurb:`add a server from a .mcp.json entry`},{usage:`list`,blurb:`list configured servers`},{usage:`rm <name>`,blurb:`remove a server`}],details:!0},{aliases:{ls:`list`,remove:`rm`},help:{usage:`coder mcp <add|add-json|list|rm>`,summary:"Manage the `mcp` map in .coder/config.json (or ~/.coder with --user). Entries use the .mcp.json shape (stdio command or remote url) plus an optional tools allowlist; attach them with `coder task run --mcp <names|all>`.",examples:[[`coder mcp add docs -- npx -y docs-mcp`,`add a stdio server from its command line`],[`coder mcp add linear --url https://mcp.linear.app/mcp`,`add a remote server; the engine handles its OAuth login`],[`coder mcp add-json github '{"url":"https://api.githubcopilot.com/mcp/","headers":{"Authorization":"Bearer \${GH_TOKEN}"}}'`,`paste an entry from any .mcp.json`],[`coder run --mcp docs,linear "find why uploads fail"`,`attach by name`]],seeAlso:`task run`}});export{t as commandMcpConfig};
1
+ import{s as e}from"./cli-IfrPgeYz.js";const t=e(`mcp`,{serve:async()=>(await import(`./serve-CML2mkKG.js`)).commandMcp,add:async()=>(await import(`./add-DrbKvzAF.js`)).commandMcpAdd,"add-json":async()=>(await import(`./add-json-GHTfZV_U.js`)).commandMcpAddJson,list:async()=>(await import(`./list-Motuarjd.js`)).commandMcpList,ls:async()=>(await import(`./list-Motuarjd.js`)).commandMcpList,rm:async()=>(await import(`./remove-CC7UyWNI.js`)).commandMcpRemove,remove:async()=>(await import(`./remove-CC7UyWNI.js`)).commandMcpRemove},{menu:[{usage:`add <name> (--url <url> | -- <command> [args])`,blurb:`add a server`},{usage:`add-json <name> '<json>'`,blurb:`add a server from a .mcp.json entry`},{usage:`list`,blurb:`list configured servers`},{usage:`rm <name>`,blurb:`remove a server`}],details:!0},{aliases:{ls:`list`,remove:`rm`},help:{usage:`coder mcp <add|add-json|list|rm>`,summary:"Manage the `mcp` map in .coder/config.json (or ~/.coder with --user). Entries use the .mcp.json shape (stdio command or remote url) plus an optional tools allowlist; attach them with `coder task run --mcp <names|all>`.",examples:[[`coder mcp add docs -- npx -y docs-mcp`,`add a stdio server from its command line`],[`coder mcp add linear --url https://mcp.linear.app/mcp`,`add a remote server; the engine handles its OAuth login`],[`coder mcp add-json github '{"url":"https://api.githubcopilot.com/mcp/","headers":{"Authorization":"Bearer \${GH_TOKEN}"}}'`,`paste an entry from any .mcp.json`],[`coder run --mcp docs,linear "find why uploads fail"`,`attach by name`]],seeAlso:`task run`}});export{t as commandMcpConfig};
@@ -1,2 +1,2 @@
1
- import{i as e}from"./cli-msOzZFXW.js";import{n as t}from"./args-DEMOfLz2.js";import n from"node:process";const r=e({name:`server migrate`,globalFlags:{cwd:!1},help:{usage:`coder server migrate [--json]`,summary:`Create or update the tables in the Postgres at DATABASE_URL. Run it before the first start and after every upgrade; the server only warns when it is behind.`,env:[[`DATABASE_URL`,`the Postgres to migrate`]],examples:[[`DATABASE_URL=postgres://... coder server migrate`,`bring a database up to date`]]},options:{json:t},run:async()=>{let{migrate:e}=await import(`./maintenance-Bg_FzXSq.js`).then(e=>e.t);return e()},json:({applied:e})=>({ok:!0,applied:e}),print:({applied:e})=>n.stdout.write(e?`Applied ${e} migration${e===1?``:`s`}.\n`:`Database is up to date.
1
+ import{i as e}from"./cli-IfrPgeYz.js";import{n as t}from"./args-DEMOfLz2.js";import n from"node:process";const r=e({name:`server migrate`,globalFlags:{cwd:!1},help:{usage:`coder server migrate [--json]`,summary:`Create or update the tables in the Postgres at DATABASE_URL. Run it before the first start and after every upgrade; the server only warns when it is behind.`,env:[[`DATABASE_URL`,`the Postgres to migrate`]],examples:[[`DATABASE_URL=postgres://... coder server migrate`,`bring a database up to date`]]},options:{json:t},run:async()=>{let{migrate:e}=await import(`./maintenance-CVfHIraw.js`).then(e=>e.t);return e()},json:({applied:e})=>({ok:!0,applied:e}),print:({applied:e})=>n.stdout.write(e?`Applied ${e} migration${e===1?``:`s`}.\n`:`Database is up to date.
2
2
  `)});export{r as commandServerMigrate};
@@ -1 +1 @@
1
- import{s as e}from"./cli-msOzZFXW.js";const t=e(`model`,{list:async()=>(await import(`./list-QLTjk5SN.js`)).commandModelList,ls:async()=>(await import(`./list-QLTjk5SN.js`)).commandModelList,add:async()=>(await import(`./add-cdKdz3K0.js`).then(e=>e.t)).commandModelAdd,setup:async()=>(await import(`./add-cdKdz3K0.js`).then(e=>e.t)).commandModelAdd,update:async()=>(await import(`./update-JvgB6Xws.js`)).commandModelUpdate,remove:async()=>(await import(`./remove-C8Rm8KP-.js`).then(e=>e.n)).commandModelRemove,disable:async()=>(await import(`./disable-CQg5Vybq.js`)).commandModelDisable,enable:async()=>(await import(`./enable-8m3z7i3i.js`)).commandModelEnable,alias:async()=>(await import(`./alias-KQ85bphl.js`)).commandModelAlias,unalias:async()=>(await import(`./unalias-G3sM8fVw.js`)).commandModelUnalias},{menu:[{usage:`list`,blurb:`list built-ins, custom models, and aliases`},{usage:`add <name> --base-url <url> --model <id> [--env-key VAR]`,blurb:`connect a model (alias: setup)`},{usage:`update <name> [--base-url|--model|--env-key]`,blurb:`change a model in place`},{usage:`remove <name>`,blurb:`delete a custom model`},{usage:`disable <name>`,blurb:`turn off a model (built-in, custom, or alias)`},{usage:`enable <name>`,blurb:`re-enable a disabled model`},{usage:`alias <name> <spec>`,blurb:`name a spec, e.g. fast codex:luna`},{usage:`unalias <name>`,blurb:`remove an alias`}],description:["Manage the models coder can dispatch to. `add` connects any OpenAI-compatible",`endpoint (Ollama, vLLM, OpenRouter, ...) as the custom engine, alongside the`,"built-in codex/claude models. Name your own shortcuts with `alias`",`(e.g. fast -> codex:luna); disable/enable turns any model off and on.`]});export{t as commandModel};
1
+ import{s as e}from"./cli-IfrPgeYz.js";const t=e(`model`,{list:async()=>(await import(`./list-Bu1S3hPM.js`)).commandModelList,ls:async()=>(await import(`./list-Bu1S3hPM.js`)).commandModelList,add:async()=>(await import(`./add-CKENklTr.js`).then(e=>e.t)).commandModelAdd,setup:async()=>(await import(`./add-CKENklTr.js`).then(e=>e.t)).commandModelAdd,update:async()=>(await import(`./update-DTYOhoQC.js`)).commandModelUpdate,remove:async()=>(await import(`./remove-CWd4Qs4F.js`).then(e=>e.n)).commandModelRemove,disable:async()=>(await import(`./disable-B860lJDh.js`)).commandModelDisable,enable:async()=>(await import(`./enable-DD4OsTnA.js`)).commandModelEnable,alias:async()=>(await import(`./alias--pfI-nvH.js`)).commandModelAlias,unalias:async()=>(await import(`./unalias-D6UESHzK.js`)).commandModelUnalias},{menu:[{usage:`list`,blurb:`list built-ins, custom models, and aliases`},{usage:`add <name> --base-url <url> --model <id> [--env-key VAR]`,blurb:`connect a model (alias: setup)`},{usage:`update <name> [--base-url|--model|--env-key]`,blurb:`change a model in place`},{usage:`remove <name>`,blurb:`delete a custom model`},{usage:`disable <name>`,blurb:`turn off a model (built-in, custom, or alias)`},{usage:`enable <name>`,blurb:`re-enable a disabled model`},{usage:`alias <name> <spec>`,blurb:`name a spec, e.g. fast codex:luna`},{usage:`unalias <name>`,blurb:`remove an alias`}],description:["Manage the models coder can dispatch to. `add` connects any OpenAI-compatible",`endpoint (Ollama, vLLM, OpenRouter, ...) as the custom engine, alongside the`,"built-in codex/claude models. Name your own shortcuts with `alias`",`(e.g. fast -> codex:luna); disable/enable turns any model off and on.`]});export{t as commandModel};
@@ -1 +1 @@
1
- import{i as e,r as t}from"./cli-msOzZFXW.js";import{p as n}from"./output-BKeyLbvt.js";import{i as r,n as i,s as a,t as o}from"./args-DEMOfLz2.js";import s from"node:process";const c=e({name:`agent push`,help:{usage:`coder agent push [id] [--server [url]] [--json] [--cwd <dir>]`,summary:`Upload one workspace agent, or every agent in .coder/agents when no id is given. The server creates a new immutable version only when its definition, prompt, or files changed.`,flags:[t],examples:[[`coder agent push helper`,`upload helper`]]},options:{...o,server:r,workspace:a,yes:i},args:1,run:async({options:e,args:[t],cwd:n})=>{let{agents:r}=await import(`./agent-BcXXkOmD.js`).then(e=>e.t);return r.push(t,{...e,cwd:n,organization:e.workspace})},print:e=>{for(let t of e)s.stdout.write(t.unchanged?`Pushed ${n.bold(t.id)} unchanged (version ${t.version})\n`:`Pushed ${n.bold(t.id)} as version ${t.version}\n`)}});export{c as commandAgentPush};
1
+ import{i as e,r as t}from"./cli-IfrPgeYz.js";import{p as n}from"./output-BKeyLbvt.js";import{i as r,n as i,s as a,t as o}from"./args-DEMOfLz2.js";import s from"node:process";const c=e({name:`agent push`,help:{usage:`coder agent push [id] [--server [url]] [--json] [--cwd <dir>]`,summary:`Upload one workspace agent, or every agent in .coder/agents when no id is given. The server creates a new immutable version only when its definition, prompt, or files changed.`,flags:[t],examples:[[`coder agent push helper`,`upload helper`]]},options:{...o,server:r,workspace:a,yes:i},args:1,run:async({options:e,args:[t],cwd:n})=>{let{agents:r}=await import(`./agent-D0pQ_ewc.js`).then(e=>e.t);return r.push(t,{...e,cwd:n,organization:e.workspace})},print:e=>{for(let t of e)s.stdout.write(t.unchanged?`Pushed ${n.bold(t.id)} unchanged (version ${t.version})\n`:`Pushed ${n.bold(t.id)} as version ${t.version}\n`)}});export{c as commandAgentPush};
@@ -1,4 +1,4 @@
1
- import{Ct as e,pn as t,xt as n}from"./dispatch-YW1aqjEg.js";import{Hn as r,a as i,u as a}from"./store-qp7UE2ES.js";import{_ as o,g as s,h as c,i as l,m as u,o as d,p as f,s as p}from"./schema-DoNO0dPh.js";import{i as m,r as h,t as g}from"./client-31YzOj-i.js";import{b as _,c as v,f as y,m as b,v as x,y as S}from"./shared-TznJgMFW.js";import{randomBytes as C}from"node:crypto";import{and as w,asc as T,desc as E,eq as D,getTableColumns as O,gt as k,ilike as A,inArray as j,isNotNull as M,isNull as N,lt as P,or as F,sql as I}from"drizzle-orm";import{CasingCache as L}from"drizzle-orm/casing";function R(e,t){if(typeof t==`number`)return I`to_jsonb(coalesce(case when jsonb_typeof(${e}) = 'number' then (${e} #>> '{}')::numeric end, 0) + ${t}::numeric)`;if(!t||typeof t!=`object`||Array.isArray(t))return e;let n=Object.entries(t).map(([t,n])=>I`${t}::text, ${R(I`(${e} -> ${t}::text)`,n)}`);return I`(case when jsonb_typeof(${e}) = 'object' then ${e} else '{}'::jsonb end || jsonb_build_object(${I.join(n,I`, `)}))`}const z=e=>I`(case ${e} ${I.join([...i,...t].map(e=>I`when ${e} then ${I.raw(String(n(e)))}`),I` `)} end)`,B=e=>I`date_trunc('milliseconds', ${e})`,V=e=>[T(z(e.status)),E(B(e.createdAt)),E(e.publicId)];var H=class{db;constructor(e){this.db=e}async metrics(e,t){let n=await this.db.select({status:f.status,total:I`count(*)::int`,recent:I`count(*) filter (where ${f.createdAt} >= ${new Date(t).toISOString()}::timestamptz)::int`}).from(f).where(D(f.organizationId,e)).groupBy(f.status),r={tasks:{queued:0,running:0,waiting:0,completed:0,failed:0,cancelled:0},queueDepth:0};for(let e of n)r.tasks[e.status]=e.recent,e.status===`queued`&&(r.queueDepth=e.total);return r}where(e,t){return w(D(f.organizationId,e),D(f.publicId,t))}fence(e,t,n={}){return w(this.where(e,t),n.generation===void 0?void 0:D(f.generation,n.generation),n.attempts===void 0?void 0:D(f.attempts,n.attempts),n.tokenHash===void 0?void 0:n.tokenHash===null?N(f.tokenHash):D(f.tokenHash,n.tokenHash),n.handle===void 0?void 0:n.handle===null?N(f.handle):D(f.handle,n.handle),n.lastSeenAt===void 0?void 0:n.lastSeenAt===null?N(f.lastSeenAt):D(f.lastSeenAt,new Date(n.lastSeenAt)),n.updatedAt===void 0?void 0:D(f.updatedAt,new Date(n.updatedAt)),n.statuses?j(f.status,n.statuses):void 0)}async enqueue(e,t,n,r,i){let a=this.insertion(e,t,n,r,i),[o]=i===void 0?await b(this.db,a):await h(this.db,[I`select pg_advisory_xact_lock(1, hashtext(${e}))`],a);if(!o?.allowed)throw Error(`Organization task queue is full`);return!!o.inserted}insertion(e,t,n,r,i,a){let o=t.event,s=new Date(n).toISOString(),c=e=>I`${e===void 0?null:JSON.stringify(e)}::jsonb`,m=r?I`
1
+ import{Ct as e,pn as t,xt as n}from"./dispatch-YW1aqjEg.js";import{Hn as r,a as i,u as a}from"./store-Cxc2GYyj.js";import{_ as o,g as s,h as c,i as l,m as u,o as d,p as f,s as p}from"./schema-DoNO0dPh.js";import{i as m,r as h,t as g}from"./client-31YzOj-i.js";import{b as _,c as v,f as y,m as b,v as x,y as S}from"./shared-D64pQ0XU.js";import{randomBytes as C}from"node:crypto";import{and as w,asc as T,desc as E,eq as D,getTableColumns as O,gt as k,ilike as A,inArray as j,isNotNull as M,isNull as N,lt as P,or as F,sql as I}from"drizzle-orm";import{CasingCache as L}from"drizzle-orm/casing";function R(e,t){if(typeof t==`number`)return I`to_jsonb(coalesce(case when jsonb_typeof(${e}) = 'number' then (${e} #>> '{}')::numeric end, 0) + ${t}::numeric)`;if(!t||typeof t!=`object`||Array.isArray(t))return e;let n=Object.entries(t).map(([t,n])=>I`${t}::text, ${R(I`(${e} -> ${t}::text)`,n)}`);return I`(case when jsonb_typeof(${e}) = 'object' then ${e} else '{}'::jsonb end || jsonb_build_object(${I.join(n,I`, `)}))`}const z=e=>I`(case ${e} ${I.join([...i,...t].map(e=>I`when ${e} then ${I.raw(String(n(e)))}`),I` `)} end)`,B=e=>I`date_trunc('milliseconds', ${e})`,V=e=>[T(z(e.status)),E(B(e.createdAt)),E(e.publicId)];var H=class{db;constructor(e){this.db=e}async metrics(e,t){let n=await this.db.select({status:f.status,total:I`count(*)::int`,recent:I`count(*) filter (where ${f.createdAt} >= ${new Date(t).toISOString()}::timestamptz)::int`}).from(f).where(D(f.organizationId,e)).groupBy(f.status),r={tasks:{queued:0,running:0,waiting:0,completed:0,failed:0,cancelled:0},queueDepth:0};for(let e of n)r.tasks[e.status]=e.recent,e.status===`queued`&&(r.queueDepth=e.total);return r}where(e,t){return w(D(f.organizationId,e),D(f.publicId,t))}fence(e,t,n={}){return w(this.where(e,t),n.generation===void 0?void 0:D(f.generation,n.generation),n.attempts===void 0?void 0:D(f.attempts,n.attempts),n.tokenHash===void 0?void 0:n.tokenHash===null?N(f.tokenHash):D(f.tokenHash,n.tokenHash),n.handle===void 0?void 0:n.handle===null?N(f.handle):D(f.handle,n.handle),n.lastSeenAt===void 0?void 0:n.lastSeenAt===null?N(f.lastSeenAt):D(f.lastSeenAt,new Date(n.lastSeenAt)),n.updatedAt===void 0?void 0:D(f.updatedAt,new Date(n.updatedAt)),n.statuses?j(f.status,n.statuses):void 0)}async enqueue(e,t,n,r,i){let a=this.insertion(e,t,n,r,i),[o]=i===void 0?await b(this.db,a):await h(this.db,[I`select pg_advisory_xact_lock(1, hashtext(${e}))`],a);if(!o?.allowed)throw Error(`Organization task queue is full`);return!!o.inserted}insertion(e,t,n,r,i,a){let o=t.event,s=new Date(n).toISOString(),c=e=>I`${e===void 0?null:JSON.stringify(e)}::jsonb`,m=r?I`
2
2
  receipt as (
3
3
  insert into ${l} (key, value, expires_at)
4
4
  select ${x(e,`delivery`,r.key)}, ${c({at:n})}, ${new Date(n+r.ttlMs).toISOString()}::timestamptz
@@ -48,7 +48,7 @@ import{Ct as e,pn as t,xt as n}from"./dispatch-YW1aqjEg.js";import{Hn as r,a as
48
48
  from picked where ${f.id} = picked.id returning ${f}.*
49
49
  ) select to_jsonb(claimed) as record, exists (select 1 from ${f} where status = 'queued' and id <> claimed.id
50
50
  and ${i===void 0?I`true`:I`(select count(*) from ${f} active where active.organization_id = ${f.organizationId} and active.status in ('running', 'waiting')) + case when ${f.organizationId} = claimed.organization_id then 1 else 0 end < ${i}`})
51
- and ${t===void 0?I`true`:I`(select count(*) from ${f} where status in ('running', 'waiting')) + 1 < ${t}`} as more from claimed`,[l]=await h(this.db,t===void 0&&i===void 0?[]:[I`select pg_advisory_xact_lock(2, 0)`],c);if(!l)return;let u=new L(g),d=Object.fromEntries(Object.entries(O(f)).map(([e,t])=>{let n=l.record[u.getColumnCasing(t)];return[e,n===null?null:t.mapFromDriverValue(n)]}));return{organizationId:d.organizationId,status:_(d),token:r(d.publicId,d.organizationId,d.attempts,o).token,more:l.more}}async touch(e,t,n,r,i,a=!1){let o=j(f.status,[`running`,`waiting`]),s=new Date(i).toISOString(),[c]=await this.db.update(f).set({lastSeenAt:I`case when ${o} then ${s}::timestamptz else ${f.lastSeenAt} end`,updatedAt:I`case when ${o} then ${s}::timestamptz else ${f.updatedAt} end`}).where(this.fence(e,t,{tokenHash:n,attempts:r,statuses:a?[`running`,`waiting`,`completed`,`failed`,`cancelled`]:[`running`,`waiting`]})).returning();return c&&_(c)}async patchTask(e,t,n,r,i={}){let{answer:a,archivedAt:o,autoArchived:s,lastSeenAt:c,...l}=n,[u]=await this.db.update(f).set({...Object.fromEntries(Object.entries(l).map(([e,t])=>[e,t??null])),...a===void 0?{}:{answer:I`coalesce(${f.answer}, '[]'::jsonb) || ${JSON.stringify([a])}::jsonb`},...Object.hasOwn(n,`archivedAt`)?{archivedAt:o===void 0?null:new Date(o)}:{},...Object.hasOwn(n,`lastSeenAt`)?{lastSeenAt:c===void 0?null:new Date(c)}:{},updatedAt:new Date(r)}).where(this.fence(e,t,i)).returning({id:f.id});return!!u}async archiveStopped(n,r,i){await this.db.update(f).set({archivedAt:new Date(r)}).where(w(D(f.organizationId,n),i?j(f.publicId,i):void 0,N(f.archivedAt),j(f.status,[...t]),P(I`coalesce(${f.finishedAt}, ${f.updatedAt})`,new Date(r-e))))}async requeue(e,t,n,r={}){let[i]=await this.db.update(f).set({status:`queued`,lockedAt:null,handle:null,tokenHash:null,lastSeenAt:null,updatedAt:new Date(n)}).where(this.fence(e,t,{...r,statuses:[`running`,`waiting`]})).returning({id:f.id});return!!i}async finish(e,t,n,r,i={}){let a=new Date(r),[o]=await this.db.update(f).set({status:n.status,result:n.result??null,error:n.error??null,tokens:n.tokens??null,lastSeenAt:a,lockedAt:null,finishedAt:a,updatedAt:a}).where(this.fence(e,t,{...i,statuses:[`queued`,`running`,`waiting`]})).returning({id:f.id});return!!o}async continueTask(e,t,n,r,i){let a=I`(select value from ${l} where key = ${S(e,`note`)} ||
51
+ and ${t===void 0?I`true`:I`(select count(*) from ${f} where status in ('running', 'waiting')) + 1 < ${t}`} as more from claimed`,[l]=await h(this.db,t===void 0&&i===void 0?[]:[I`select pg_advisory_xact_lock(2, 0)`],c);if(!l)return;let u=new L(g),d=Object.fromEntries(Object.entries(O(f)).map(([e,t])=>{let n=l.record[u.getColumnCasing(t)];return[e,n===null?null:t.mapFromDriverValue(n)]}));return{organizationId:d.organizationId,status:_(d),token:r(d.publicId,d.organizationId,d.attempts,o).token,more:l.more}}async touch(e,t,n,r,i,a=!1){let o=j(f.status,[`running`,`waiting`]),s=new Date(i).toISOString(),[c]=await this.db.update(f).set({lastSeenAt:I`case when ${o} then ${s}::timestamptz else ${f.lastSeenAt} end`,updatedAt:I`case when ${o} then ${s}::timestamptz else ${f.updatedAt} end`}).where(this.fence(e,t,{tokenHash:n,attempts:r,statuses:a?[`running`,`waiting`,`completed`,`failed`,`cancelled`]:[`running`,`waiting`]})).returning();return c&&_(c)}async patchTask(e,t,n,r,i={}){let{answer:a,archivedAt:o,autoArchived:s,lastSeenAt:c,...l}=n,[u]=await this.db.update(f).set({...Object.fromEntries(Object.entries(l).map(([e,t])=>[e,t??null])),...a===void 0?{}:{answer:I`coalesce(${f.answer}, '[]'::jsonb) || ${JSON.stringify([a])}::jsonb`},...Object.hasOwn(n,`archivedAt`)?{archivedAt:o===void 0?null:new Date(o)}:{},...Object.hasOwn(n,`lastSeenAt`)?{lastSeenAt:c===void 0?null:new Date(c)}:{},updatedAt:new Date(r)}).where(this.fence(e,t,i)).returning({id:f.id});return!!u}async archiveStopped(n,r,i){await this.db.update(f).set({archivedAt:new Date(r)}).where(w(D(f.organizationId,n),i?j(f.publicId,i):void 0,N(f.archivedAt),j(f.status,[...t]),P(I`coalesce(${f.finishedAt}, ${f.updatedAt})`,I`${new Date(r-e).toISOString()}::timestamptz`)))}async requeue(e,t,n,r={}){let[i]=await this.db.update(f).set({status:`queued`,lockedAt:null,handle:null,tokenHash:null,lastSeenAt:null,updatedAt:new Date(n)}).where(this.fence(e,t,{...r,statuses:[`running`,`waiting`]})).returning({id:f.id});return!!i}async finish(e,t,n,r,i={}){let a=new Date(r),[o]=await this.db.update(f).set({status:n.status,result:n.result??null,error:n.error??null,tokens:n.tokens??null,lastSeenAt:a,lockedAt:null,finishedAt:a,updatedAt:a}).where(this.fence(e,t,{...i,statuses:[`queued`,`running`,`waiting`]})).returning({id:f.id});return!!o}async continueTask(e,t,n,r,i){let a=I`(select value from ${l} where key = ${S(e,`note`)} ||
52
52
  case when ${f.source} = ${f.event}->>'integration' then
53
53
  (${f.event}->>'appId') || ':' || (${f.event}->>'installationId') || ':' || coalesce(${f.event}->'chat'->'thread'->>'id', ${f.event}->>'deliveryId')
54
54
  else 'task:' || ${f.publicId} end
@@ -0,0 +1 @@
1
+ import{E as e,wn as t}from"./dispatch-YW1aqjEg.js";import{i as n}from"./cli-IfrPgeYz.js";const r=n({name:`upgrade refresh`,options:{},run:()=>e(t())});export{r as commandRefreshUpdate};
@@ -1 +1 @@
1
- import{St as e}from"./dispatch-YW1aqjEg.js";import{i as t,t as n}from"./cli-msOzZFXW.js";import{p as r}from"./output-BKeyLbvt.js";import{n as i,o as a}from"./args-DEMOfLz2.js";import o from"node:process";const s={json:i,server:a,workspace:i,yes:i},c=()=>new e(`invalid-option`,`Missing credential label.`),l=t({name:`credentials remove`,globalFlags:{cwd:!1},help:{usage:`coder credentials remove <label> [--workspace] [--server [url]] [--json]`,flags:[[`--workspace`,`the workspace credential of that label`],n]},options:s,args:1,async run({options:e,args:[t]}){let{connect:n}=await import(`./remote-AcWWfKVS.js`).then(e=>e.a);if(!t)throw c();return n(e).credentials.remove(t,e)},print:(e,{args:[t]})=>o.stdout.write(`Removed ${r.bold(t)}.\n`)});export{l as commandCredentialsRemove,s as credentialOptions,c as missingLabel};
1
+ import{St as e}from"./dispatch-YW1aqjEg.js";import{i as t,t as n}from"./cli-IfrPgeYz.js";import{p as r}from"./output-BKeyLbvt.js";import{n as i,o as a}from"./args-DEMOfLz2.js";import o from"node:process";const s={json:i,server:a,workspace:i,yes:i},c=()=>new e(`invalid-option`,`Missing credential label.`),l=t({name:`credentials remove`,globalFlags:{cwd:!1},help:{usage:`coder credentials remove <label> [--workspace] [--server [url]] [--json]`,flags:[[`--workspace`,`the workspace credential of that label`],n]},options:s,args:1,async run({options:e,args:[t]}){let{connect:n}=await import(`./remote-AcWWfKVS.js`).then(e=>e.a);if(!t)throw c();return n(e).credentials.remove(t,e)},print:(e,{args:[t]})=>o.stdout.write(`Removed ${r.bold(t)}.\n`)});export{l as commandCredentialsRemove,s as credentialOptions,c as missingLabel};
@@ -1 +1 @@
1
- import{ot as e}from"./dispatch-YW1aqjEg.js";import{i as t}from"./cli-msOzZFXW.js";import{n,t as r}from"./args-DEMOfLz2.js";import i from"node:process";const a=t({name:`mcp remove`,helpName:`mcp rm`,help:{usage:`coder mcp rm <name> [--user] [--cwd <dir>]`,summary:"Remove `mcp.<name>` from the repo config (or the user config with --user).",flags:[[`--user`,`edit ~/.coder config`]]},options:{...r,user:n},args:1,run:({options:t,args:[n],cwd:r})=>e(r,n,t),print:({name:e,file:t})=>i.stdout.write(`Removed MCP server "${e}" from ${t}.\n`)});export{a as commandMcpRemove};
1
+ import{ot as e}from"./dispatch-YW1aqjEg.js";import{i as t}from"./cli-IfrPgeYz.js";import{n,t as r}from"./args-DEMOfLz2.js";import i from"node:process";const a=t({name:`mcp remove`,helpName:`mcp rm`,help:{usage:`coder mcp rm <name> [--user] [--cwd <dir>]`,summary:"Remove `mcp.<name>` from the repo config (or the user config with --user).",flags:[[`--user`,`edit ~/.coder config`]]},options:{...r,user:n},args:1,run:({options:t,args:[n],cwd:r})=>e(r,n,t),print:({name:e,file:t})=>i.stdout.write(`Removed MCP server "${e}" from ${t}.\n`)});export{a as commandMcpRemove};
@@ -1 +1 @@
1
- import{t as e}from"./rolldown-runtime-DT7IzrpZ.js";import{i as t}from"./cli-msOzZFXW.js";import{p as n}from"./output-BKeyLbvt.js";import{i as r}from"./models-DGPrMV51.js";import{n as i}from"./add-cdKdz3K0.js";import a from"node:process";var o=e({commandModelRemove:()=>s,printModelChange:()=>c});const s=t({name:`model remove`,help:{usage:`coder model remove <name>`,summary:`Remove a configured custom model.`,flags:[[`--workspace`,`target <repo>/.coder/config.json instead of the user file`]]},options:i,args:1,run:({options:e,args:[t],cwd:n})=>r(n,t,e),print:e=>c(`removed`,e.removed,e.file)});function c(e,t,r){a.stdout.write(`${e} ${n.cyan(t)} ${n.dim(`(${r})`)}\n`)}export{o as n,c as t};
1
+ import{t as e}from"./rolldown-runtime-DT7IzrpZ.js";import{i as t}from"./cli-IfrPgeYz.js";import{p as n}from"./output-BKeyLbvt.js";import{i as r}from"./models-DGPrMV51.js";import{n as i}from"./add-CKENklTr.js";import a from"node:process";var o=e({commandModelRemove:()=>s,printModelChange:()=>c});const s=t({name:`model remove`,help:{usage:`coder model remove <name>`,summary:`Remove a configured custom model.`,flags:[[`--workspace`,`target <repo>/.coder/config.json instead of the user file`]]},options:i,args:1,run:({options:e,args:[t],cwd:n})=>r(n,t,e),print:e=>c(`removed`,e.removed,e.file)});function c(e,t,r){a.stdout.write(`${e} ${n.cyan(t)} ${n.dim(`(${r})`)}\n`)}export{o as n,c as t};
@@ -1 +1 @@
1
- import{St as e}from"./dispatch-YW1aqjEg.js";import{i as t,t as n}from"./cli-msOzZFXW.js";import{p as r}from"./output-BKeyLbvt.js";import{n as i,o as a}from"./args-DEMOfLz2.js";import o from"node:process";const s={json:i,server:a,yes:i},c=t({name:`runner remove`,globalFlags:{cwd:!1},help:{usage:`coder runner remove <id> [--server [url]] [--json]`,flags:[n]},options:s,args:1,async run({options:t,args:[n]}){let{removeRunner:r}=await import(`./runner-c-2w6Eoj.js`).then(e=>e.a);if(!n)throw new e(`invalid-option`,`Missing runner id.`);return r(n,t)},print:(e,{args:[t]})=>o.stdout.write(`Removed ${r.bold(t)}.\n`)});export{c as commandRunnerRemove,s as runnerOptions};
1
+ import{St as e}from"./dispatch-YW1aqjEg.js";import{i as t,t as n}from"./cli-IfrPgeYz.js";import{p as r}from"./output-BKeyLbvt.js";import{n as i,o as a}from"./args-DEMOfLz2.js";import o from"node:process";const s={json:i,server:a,yes:i},c=t({name:`runner remove`,globalFlags:{cwd:!1},help:{usage:`coder runner remove <id> [--server [url]] [--json]`,flags:[n]},options:s,args:1,async run({options:t,args:[n]}){let{removeRunner:r}=await import(`./runner-c-2w6Eoj.js`).then(e=>e.a);if(!n)throw new e(`invalid-option`,`Missing runner id.`);return r(n,t)},print:(e,{args:[t]})=>o.stdout.write(`Removed ${r.bold(t)}.\n`)});export{c as commandRunnerRemove,s as runnerOptions};
@@ -1 +1 @@
1
- import{St as e}from"./dispatch-YW1aqjEg.js";import{i as t,t as n}from"./cli-msOzZFXW.js";import{p as r}from"./output-BKeyLbvt.js";import{runnerOptions as i}from"./remove-CcMma1x3.js";import a from"node:process";const o=t({name:`runner rename`,globalFlags:{cwd:!1},help:{usage:`coder runner rename <id> <name> [--server [url]] [--json]`,flags:[n]},options:i,args:2,async run({options:t,args:[n,r]}){let{updateRunner:i}=await import(`./runner-c-2w6Eoj.js`).then(e=>e.a);if(!n||!r)throw new e(`invalid-option`,`Usage: coder runner rename <id> <name>`);return i(n,{name:r},t)},print:(e,{args:[t]})=>a.stdout.write(`Renamed ${t} to ${r.bold(e.name)}.\n`)});export{o as commandRunnerRename};
1
+ import{St as e}from"./dispatch-YW1aqjEg.js";import{i as t,t as n}from"./cli-IfrPgeYz.js";import{p as r}from"./output-BKeyLbvt.js";import{runnerOptions as i}from"./remove-CZmO4BSd.js";import a from"node:process";const o=t({name:`runner rename`,globalFlags:{cwd:!1},help:{usage:`coder runner rename <id> <name> [--server [url]] [--json]`,flags:[n]},options:i,args:2,async run({options:t,args:[n,r]}){let{updateRunner:i}=await import(`./runner-c-2w6Eoj.js`).then(e=>e.a);if(!n||!r)throw new e(`invalid-option`,`Usage: coder runner rename <id> <name>`);return i(n,{name:r},t)},print:(e,{args:[t]})=>a.stdout.write(`Renamed ${t} to ${r.bold(e.name)}.\n`)});export{o as commandRunnerRename};
@@ -1,4 +1,4 @@
1
- import{St as e,pn as t}from"./dispatch-YW1aqjEg.js";import{i as n}from"./cli-msOzZFXW.js";import{c as r,m as i,p as a,s as o}from"./output-BKeyLbvt.js";import{l as s,t as c}from"./args-DEMOfLz2.js";import{gateLine as l,gateRunningLine as u,paintPlain as d,printLedger as f,resultJson as p,stepSymbol as m,taskLabel as h,taskLine as g}from"./watch-DDmHonTf.js";import _ from"node:process";const v=n({name:`flow result`,help:{usage:`coder flow result [run-id] [--tail <n|all>] [--json]`,summary:`Show a flow run's status and result, with its tasks, gates, and token ledger.
1
+ import{St as e,pn as t}from"./dispatch-YW1aqjEg.js";import{i as n}from"./cli-IfrPgeYz.js";import{c as r,m as i,p as a,s as o}from"./output-BKeyLbvt.js";import{l as s,t as c}from"./args-DEMOfLz2.js";import{gateLine as l,gateRunningLine as u,paintPlain as d,printLedger as f,resultJson as p,stepSymbol as m,taskLabel as h,taskLine as g}from"./watch-BlGYjH88.js";import _ from"node:process";const v=n({name:`flow result`,help:{usage:`coder flow result [run-id] [--tail <n|all>] [--json]`,summary:`Show a flow run's status and result, with its tasks, gates, and token ledger.
2
2
  --tail <n> caps the step rows (0 for the result alone). Defaults to the most
3
3
  recent run. To watch a run live, prefer \`coder flow watch\`.`,flags:[[`--tail <n|all>`,`show the last n step rows (default: all; 0 hides them)`]],examples:[[`coder flow result --tail 0`,`the most recent run's result, no step rows`]]},options:{...c,tail:s},args:1,async run({options:t,args:[n]}){let{runResult:r}=await import(`./executor-HWnIIYUL.js`).then(e=>e.b),i=r(n);if(!i&&!t.json)throw new e(`flow-failed`,n?`No flow run "${n}".`:`No flow runs yet.`,{hint:`Run one: coder flow run <name>`});return i},json:e=>e&&p(e),print:(e,{options:t})=>b(e,t.tail)});function y(e,t=!1){let n=a;if(t)return e.map(d);let r=(t,n)=>{for(let r=t+1;r<e.length;r+=1){let t=e[r].depth;if(t<n)return!1;if(t===n)return!0}return!1};return e.map((e,t)=>{let i=``;for(let n=0;n<e.depth;n+=1)i+=r(t,n)?`│ `:` `;return i+=e.log?`│ `:r(t,e.depth)?`├─`:`└─`,`${n.dim(i)} ${e.body}`})}function b(e,n=`all`){let s=a,c=!_.stdout.isTTY;_.stdout.write(`${s.bold(`Flow`)} ${s.cyan(e.name)} ${s.dim(`(${e.runId})`)}. ${s.bold(i(e.status))}\n`);let d=e.steps,p=d.filter(e=>t.includes(e.status)).length,v=e.status===`running`?`${p}/${d.length} tasks`:`${e.taskCount} tasks`;if(_.stdout.write(`${s.dim(`started ${e.startedAt}${e.endedAt?` · ended ${e.endedAt}`:``} · ${v}`)}\n`),n!==0){let t=new Map,r=new Map,i=new Map,a=[];for(let n of e.events)if(n.kind===`task-start`){let e={name:h(n.name,n.prompt),engine:n.engine,depth:n.depth??0};t.set(n.taskId,e),r.set(n.taskId,e)}else if(n.kind===`task-end`){r.delete(n.taskId);let e=t.get(n.taskId);a.push({depth:e?.depth??0,body:g(m(n.status,c),e?.name??null,n.taskId,n.tokens,e?.engine)})}else if(n.kind===`gate-start`)i.set(n.gateId,{cmd:n.cmd,depth:n.depth??0});else if(n.kind===`gate`)n.gateId&&i.delete(n.gateId),a.push({depth:n.depth??0,body:l(n,c)});else if(n.kind===`log`)for(let e of n.message.split(`
4
4
  `))a.push({depth:n.depth??0,body:s.light(e),log:!0});else n.kind===`flow-start`&&a.push({depth:n.depth-1,body:s.bold(`flow ${n.name}`)});for(let[e,t]of r)a.push({depth:t.depth??0,body:g(m(`running`,c),t.name,e,null,t.engine)+(c?``:` ${s.light(`running`)}`)});for(let e of i.values())a.push({depth:e.depth,body:u(e.cmd,m(`running`,c))+(c?``:` ${s.light(`running`)}`)});if(!a.length)for(let e of n===`all`?d:d.slice(-n))a.push({depth:0,body:g(m(e.status,c),e.name,e.taskId??`-`,e.tokens)});let o=y(a,c),f=n===`all`?o:o.slice(-n);f.length&&_.stdout.write(`\n${f.join(`
@@ -1,4 +1,4 @@
1
- import{t as e}from"./rolldown-runtime-DT7IzrpZ.js";import{Ft as t,Tt as n,fn as r,jn as i}from"./dispatch-YW1aqjEg.js";import{i as a,r as o}from"./cli-msOzZFXW.js";import{S as s,a as c,d as l,m as u,o as d,p as f,s as p,u as m,x as h,y as g}from"./output-BKeyLbvt.js";import{i as _,l as v,n as y,s as b,t as x}from"./args-DEMOfLz2.js";import S from"node:process";var C=e({LogRenderer:()=>z,OUTPUT_PREVIEW_CHARS:()=>500,commandResult:()=>q,finalMessageLine:()=>T,finishedHints:()=>U,printOutcome:()=>W,promptBlock:()=>D,replyOf:()=>H,statusStyle:()=>B,taskHeaderLines:()=>A,taskSummaryLines:()=>M,trimStep:()=>N});const w={server:_,workspace:b,yes:y};function T(e,t,n,r=f){let i=e?.error?.message??t;return e?.finalMessage||(i?`${r.red(`error:`)} ${i}`:n)}const E=1e3;function D(e,t=f,{truncate:n=!0}={}){let r=e=>e.split(`
1
+ import{t as e}from"./rolldown-runtime-DT7IzrpZ.js";import{Ft as t,Tt as n,fn as r,jn as i}from"./dispatch-YW1aqjEg.js";import{i as a,r as o}from"./cli-IfrPgeYz.js";import{S as s,a as c,d as l,m as u,o as d,p as f,s as p,u as m,x as h,y as g}from"./output-BKeyLbvt.js";import{i as _,l as v,n as y,s as b,t as x}from"./args-DEMOfLz2.js";import S from"node:process";var C=e({LogRenderer:()=>z,OUTPUT_PREVIEW_CHARS:()=>500,commandResult:()=>q,finalMessageLine:()=>T,finishedHints:()=>U,printOutcome:()=>W,promptBlock:()=>D,replyOf:()=>H,statusStyle:()=>B,taskHeaderLines:()=>A,taskSummaryLines:()=>M,trimStep:()=>N});const w={server:_,workspace:b,yes:y};function T(e,t,n,r=f){let i=e?.error?.message??t;return e?.finalMessage||(i?`${r.red(`error:`)} ${i}`:n)}const E=1e3;function D(e,t=f,{truncate:n=!0}={}){let r=e=>e.split(`
2
2
  `).map(e=>` ${t.dim(e)}`);return!n||e.length<=E?[t.dim(`prompt:`),...r(e)]:[t.dim(`prompt:`),...r(e.slice(0,500).trimEnd()),t.light(` … <${e.length-E} chars trimmed> …`),...r(e.slice(-500).trimStart())]}function O(e,t=f){let n=[];e.permissions&&n.push([`perms`,e.permissions]),e.cwd&&n.push([`cwd`,e.cwd]);for(let t of e.addDirs??[])n.push([`add-dir`,t]);return n.map(([e,n])=>`${t.dim(e.padEnd(8))} ${n}`)}function k(e,t){if(t)return e.createdAt?`started ${c(n(e.createdAt))} ago`:``;let r=e.createdAt&&e.completedAt?Date.parse(e.completedAt)-Date.parse(e.createdAt):null;return[e.completedAt?`finished ${c(n(e.completedAt))} ago`:``,r!==null&&r>=0?`took ${c(r)}`:``].filter(Boolean).join(` · `)}function A(e,{status:n,tokens:i,tokenModel:a,files:o,live:s=!1,style:c=f}){let d=k(e,r.includes(e.status)||n===`waiting-approval`),p=e=>c.dim(e.padEnd(8));return[`${p(`task`)} ${c.cyan(e.id)}`,...e.name?[`${p(`name`)} ${e.name}`]:[],`${p(`status`)} ${u(n)}${d?` ${c.dim(`(${d})`)}`:``}`,`${p(`engine`)} ${t(e)}`,...O(e,c),...i?[`${p(`tokens`)} ${s?l(i):m(i,a??e.model)}${s?c.dim(` (so far)`):``}`]:[],...j(o,p,c)]}const j=(e,t,n)=>e?.length?[`${t(`files`)} ${e.join(`, `)} ${n.dim(`(shell edits not included)`)}`]:[];function M(e,{tokens:t,tokenModel:n,files:r,statusChanged:i=!0,style:a=f}){let o=e=>a.dim(e.padEnd(8)),s=e.createdAt&&e.completedAt?Date.parse(e.completedAt)-Date.parse(e.createdAt):null;return[...i?[`${o(`status`)} ${u(e.status)}${s!==null&&s>=0?` ${a.dim(`(took ${c(s)})`)}`:``}`]:[],...t?[`${o(`tokens`)} ${m(t,n??e.model)}`]:[],...j(r,o,a)]}function N(e,t=300,{plain:n=!1,style:r=f}={}){if(e.length<=t)return e;let i=`<${e.length-t} more chars>`;return`${e.slice(0,t)} ${n?i:r.dim(i)}`}const P=` `.repeat(8),F={assistant:`●`,reasoning:`✻`,tool:`→`,"tool-result":` `,usage:`·`,status:`·`,info:`·`,error:`✘`,steer:`⚑`};function I(e,t){let n=/^\x1b\[[0-9;]*m/.exec(t(``))?.[0];return t(n&&e.includes(L)?e.split(L).join(`${L}${n}`):e)}const L=`\x1B[0m`;function R(e,t,n,r,i=r.dim){if(!e)return``;let a=(e.length>t?e.slice(0,t):e).split(`
3
3
  `).map(e=>I(e,i));return e.length>t&&(a[a.length-1]+=` ${r.light(`<${e.length-t} more chars>`)}`),a.length>n?[...a.slice(0,n),r.light(`… +${a.length-n} more lines`)].join(`
4
4
  `):a.join(`
@@ -1,3 +1,3 @@
1
- import{i as e}from"./cli-msOzZFXW.js";import{printFollow as t,printRunSummary as n}from"./watch-DDmHonTf.js";import{RUN_FLAGS as r,hooks as i,parseRunArgs as a,printDetached as o,runOptions as s}from"./run-BFYg-zZt.js";const c=e({name:`flow resume`,help:{usage:`coder flow resume [run-id] [--wait] [--json] [--dry-run]`,summary:`Re-run a flow from its journal: finished steps replay instantly, the first
1
+ import{i as e}from"./cli-IfrPgeYz.js";import{printFollow as t,printRunSummary as n}from"./watch-BlGYjH88.js";import{RUN_FLAGS as r,hooks as i,parseRunArgs as a,printDetached as o,runOptions as s}from"./run-Dd9HdNSL.js";const c=e({name:`flow resume`,help:{usage:`coder flow resume [run-id] [--wait] [--json] [--dry-run]`,summary:`Re-run a flow from its journal: finished steps replay instantly, the first
2
2
  changed or new step onward runs live. Defaults to the most recent run.
3
3
  Accepts the same flags as flow run.`,flags:[[`--wait`,`follow the run in the foreground (Ctrl-C detaches; it keeps running)`],[`--concurrency <n>`,`tasks running at once`],[`--max-tasks <n>`,`total tasks the run may dispatch`]],examples:[[`coder flow resume`,`continue the most recent run`]]},options:r,args:1,async run({options:e,args:[n],cwd:r}){let{resumeRun:o}=await import(`./executor-HWnIIYUL.js`).then(e=>e.b),c=await o(n,{...s(e,r),...e.args===void 0?{}:{args:a(e.args,[])}},i(e));return c.status===`running`&&c.watch&&await t(c.watch,e),c},print:e=>e.status===`running`?o(e):n(e)});export{c as commandResume};
@@ -1,4 +1,4 @@
1
- import{St as e}from"./dispatch-YW1aqjEg.js";import{i as t}from"./cli-msOzZFXW.js";import{c as n,n as r,s as i,t as a}from"./args-DEMOfLz2.js";import o from"node:process";import*as s from"zod/mini";function c(e){let{summary:t}=e,n=`\`${t.baseSha}\`${t.worktree?` through the working tree`:`..\`${t.headSha}\``}`,r=(t.warnings??[]).flatMap(e=>[e,``]);if(t.worktree&&!t.files)return`${[`# Coder review`,``,`Nothing to review from ${n}.`,``,...r,`Flow run: \`${e.runId}\``].join(`
1
+ import{St as e}from"./dispatch-YW1aqjEg.js";import{i as t}from"./cli-IfrPgeYz.js";import{c as n,n as r,s as i,t as a}from"./args-DEMOfLz2.js";import o from"node:process";import*as s from"zod/mini";function c(e){let{summary:t}=e,n=`\`${t.baseSha}\`${t.worktree?` through the working tree`:`..\`${t.headSha}\``}`,r=(t.warnings??[]).flatMap(e=>[e,``]);if(t.worktree&&!t.files)return`${[`# Coder review`,``,`Nothing to review from ${n}.`,``,...r,`Flow run: \`${e.runId}\``].join(`
2
2
  `)}\n`;let i=[`# Coder review`,``,`Reviewed ${n}${t.model?` with ${t.model}`:``} in ${(t.elapsedMs/1e3).toFixed(1)}s.`,``,...r,...e.findings.length?e.findings.flatMap(e=>[`- **${e.severity.toUpperCase()}** [\`${e.file}:${e.line}\`]. ${e.summary}`,` ${e.failure_scenario}`]):[`No findings after checking against the repository.`]];return t.posted!==void 0&&i.push(``,`Posted ${t.posted} new inline comment${t.posted===1?``:`s`}.`),i.push(``,`Flow run: \`${e.runId}\``),`${i.join(`
3
3
  `)}\n`}const l=t({name:`review`,help:{usage:`coder review [--base <ref>] [--head <ref>] [--pr <n|url>] [--since <sha>] [--path <p>]... [--exclude <p>]... [--post] [--json|--md] [--engine <name>] [--model <alias|slug>] [--effort <low|medium|high>] [--cwd <dir>]`,summary:`Review changed code with a read-only agent. Every reported finding is checked
4
4
  against the repository. Runs the built-in \`review\` flow. A local review covers