@wular/coder 0.4.1 → 0.4.2

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 (244) hide show
  1. package/README.md +69 -70
  2. package/dist/{add-ej0X9e3a.js → add-C2y-mVzl.js} +1 -1
  3. package/dist/{add-U-pty9qJ.js → add-CLYTF_up.js} +1 -1
  4. package/dist/{add-CE-70LFs.js → add-DRsPpQFl.js} +1 -1
  5. package/dist/{add-BxpLHnvD.js → add-DkpUwhtO.js} +1 -1
  6. package/dist/{add-json-CEa-6luW.js → add-json-5uPnWPoD.js} +1 -1
  7. package/dist/{agent-BsYx3Odz.js → agent-hw3zKw8y.js} +1 -1
  8. package/dist/{agent-JdtZozvP.js → agent-r5mMcehf.js} +1 -1
  9. package/dist/{alias-DX-Bm86x.js → alias-_0Rwf2cA.js} +1 -1
  10. package/dist/{app-BT5f7zL5.js → app-oE8G1-bi.js} +1 -1
  11. package/dist/{approvals-C-AvFt6s.js → approvals-DbVrsxec.js} +1 -1
  12. package/dist/{approve-DOmpQRNd.js → approve-DeAhFL-m.js} +1 -1
  13. package/dist/{apps-CjfrZyM5.js → apps-eujHiNca.js} +1 -1
  14. package/dist/{archive-BziJ1rQ-.js → archive-BCUfymIB.js} +1 -1
  15. package/dist/{archive-BUB8gFKD.js → archive-DZ6vpMHb.js} +1 -1
  16. package/dist/{archive-sweep-CtBcARgN.js → archive-sweep-Cxbh8yAI.js} +1 -1
  17. package/dist/{ask-dE3U3ss2.js → ask-BU2WVxVM.js} +1 -1
  18. package/dist/auth-CBWTmAPA.js +1 -0
  19. package/dist/{auth-BFny--17.js → auth-Dmn2U7rr.js} +1 -1
  20. package/dist/{cli-BilSDkvE.js → cli-DWCR7iqa.js} +1 -1
  21. package/dist/cli.js +1 -1
  22. package/dist/{config-Da_cwoxI.js → config-12pK4qW7.js} +1 -1
  23. package/dist/{create-C_iMJV4Y.js → create-D3f6q0Yq.js} +1 -1
  24. package/dist/credentials-l6dsrZLL.js +1 -0
  25. package/dist/dash/manifest.json +744 -858
  26. package/dist/dash/public/assets/chunks/{agent-pills-c9c4ac4d4a10df83.js → agent-pills-dd0b7643e125bbf1.js} +1 -1
  27. package/dist/dash/public/assets/chunks/{agent-settings-form-8be2ddab074aba6d.js → agent-settings-form-45ae6aeaaed2b568.js} +1 -1
  28. package/dist/dash/public/assets/chunks/{agents-grid-951584b6f4c4314e.js → agents-grid-b906da80c31fc035.js} +1 -1
  29. package/dist/dash/public/assets/chunks/{combo-41234c24668b1db1.js → combo-952a457d52360d88.js} +1 -1
  30. package/dist/dash/public/assets/chunks/{composer-d10d4b1d54c4f751.js → composer-49f9e7c5c4dfda3b.js} +1 -1
  31. package/dist/dash/public/assets/chunks/{composer-5534be50bc12385e.js → composer-f331d00837143aee.js} +1 -1
  32. package/dist/dash/public/assets/chunks/{connect-apps-aa2a3d82e48ed8c3.js → connect-apps-661f3b3a85f1776a.js} +1 -1
  33. package/dist/dash/public/assets/chunks/{credentials-list-bc5bfcab058176c5.js → credentials-list-e6177d0943517929.js} +2 -2
  34. package/dist/dash/public/assets/chunks/{custom-range-4761ab14f05149df.js → custom-range-03ba6fb2ade7d282.js} +1 -1
  35. package/dist/dash/public/assets/chunks/{editor-bfe8cd854f8001be.js → editor-34cb529d6d8a4b09.js} +1 -1
  36. package/dist/dash/public/assets/chunks/{engines-list-f1191390f5715b39.js → engines-list-2f1acee3ecc8461a.js} +1 -1
  37. package/dist/dash/public/assets/chunks/{heads-f3bcd289663d48fa.js → heads-1570a3a6db331979.js} +1 -1
  38. package/dist/dash/public/assets/chunks/{list-1d259660d7612c5f.js → list-87b359bebd26986a.js} +1 -1
  39. package/dist/dash/public/assets/chunks/{mcp-list-e3bebbbe831393b8.js → mcp-list-b42f0d2ee463b37d.js} +1 -1
  40. package/dist/dash/public/assets/chunks/{models-list-44f857a469ca04d5.js → models-list-0669d26fd662aec3.js} +1 -1
  41. package/dist/dash/public/assets/chunks/{platform-actions-d1426602049926d2.js → platform-actions-c92ca3c6198a9387.js} +1 -1
  42. package/dist/dash/public/assets/chunks/{runners-list-1901af8a5dea1f09.js → runners-list-9fffa50432c470c9.js} +1 -1
  43. package/dist/dash/public/assets/chunks/{select-7ae25fd8a7d6c338.js → select-1013702bdfb1ade4.js} +1 -1
  44. package/dist/dash/public/assets/chunks/shared-init-20e199043ff5d00f.js +2 -0
  45. package/dist/dash/public/assets/chunks/{task-actions-8e1d93c788d001df.js → task-actions-a9603d520434baab.js} +1 -1
  46. package/dist/dash/public/assets/chunks/{task-view-6d7618d2820a5cb4.js → task-view-f7039cb330bcb0b5.js} +3 -3
  47. package/dist/dash/public/assets/chunks/{tasks-list-f4784e5cbd0ed785.js → tasks-list-2a905b4a0c3a9042.js} +1 -1
  48. package/dist/dash/public/assets/chunks/{toolbar-a75d2570f07cbb70.js → toolbar-f964fa864699f095.js} +1 -1
  49. package/dist/dash/public/assets/dash-49ca85b59ac65c20.css +1 -0
  50. package/dist/dash/public/assets/dash-account-96fc41be318839fa.css +1 -0
  51. package/dist/dash/public/assets/dash-agents-290a7b21c7dc0c92.css +1 -0
  52. package/dist/dash/public/assets/dash-agents-new-a7a07bf4ebda24c2.css +1 -0
  53. package/dist/dash/public/assets/dash-agents-param-slug-69a72fb0bbd14cc2.css +1 -0
  54. package/dist/dash/public/assets/dash-agents-param-slug-edit-397bdfb2f0ca328c.css +1 -0
  55. package/dist/dash/public/assets/dash-agents-param-slug-platforms-a7b3b7247c27f1d2.css +1 -0
  56. package/dist/dash/public/assets/dash-agents-param-slug-settings-8389b7d0555e8ccf.css +1 -0
  57. package/dist/dash/public/assets/dash-agents-param-slug-tasks-5987b8aea5e8f30d.css +1 -0
  58. package/dist/dash/public/assets/dash-agents-param-slug-usage-19abc69e1d4e6b0a.css +1 -0
  59. package/dist/dash/public/assets/dash-settings-53b8e6a8f656fa1a.css +1 -0
  60. package/dist/dash/public/assets/dash-settings-param-tab-ac61fdfdd6fd533f.css +1 -0
  61. package/dist/dash/public/assets/dash-tasks-cc0b1d32874b731c.css +1 -0
  62. package/dist/dash/public/assets/dash-tasks-param-id-02b8c7bd99cc1090.css +1 -0
  63. package/dist/dash/public/assets/dash-usage-884943221f76ad93.css +1 -0
  64. package/dist/dash/public/assets/pnext-client-17ba55bb57a1f4da.js +1 -0
  65. package/dist/dash/public/assets/{pnext-client-1b9ab0963a8ff77b.js → pnext-client-1afa4148bea69ad2.js} +1 -1
  66. package/dist/dash/public/assets/pnext-client-2693db10b197ade1.js +1 -0
  67. package/dist/dash/public/assets/pnext-client-43f52a07f8067b1b.js +1 -0
  68. package/dist/dash/public/assets/pnext-client-4594b693fe612835.js +1 -0
  69. package/dist/dash/public/assets/pnext-client-73f73e24f8141fb6.js +1 -0
  70. package/dist/dash/public/assets/pnext-client-7574da4651b40eae.js +1 -0
  71. package/dist/dash/public/assets/pnext-client-7b3a2c1092cbbb02.js +1 -0
  72. package/dist/dash/public/assets/pnext-client-816fe5fc96d3f768.js +1 -0
  73. package/dist/dash/public/assets/pnext-client-86cb956b448b0887.js +1 -0
  74. package/dist/dash/public/assets/pnext-client-8b64e3c030164288.js +1 -0
  75. package/dist/dash/public/assets/pnext-client-8f6161084c595a22.js +1 -0
  76. package/dist/dash/public/assets/pnext-client-9203ec11926e5d04.js +1 -0
  77. package/dist/dash/public/assets/pnext-client-a38b446f941d44df.js +1 -0
  78. package/dist/dash/public/assets/pnext-client-bd8d51aaa095e8a4.js +1 -0
  79. package/dist/dash/public/assets/pnext-client-e9821d1f1bdb281d.js +1 -0
  80. package/dist/dash/server/bundle-0.1.6-b29ec45cb963d47f/entry.js +2 -0
  81. package/dist/{default-vYPT26DR.js → default-CwQXCtoB.js} +1 -1
  82. package/dist/{default-Bobztoxf.js → default-De8FXiWz.js} +1 -1
  83. package/dist/{delete-z1_86nf6.js → delete-BD6AnCLg.js} +1 -1
  84. package/dist/{delete-D8gEwoOj.js → delete-cS01oOIb.js} +1 -1
  85. package/dist/{disable-DVKd-0Xb.js → disable-BMWWeYFQ.js} +1 -1
  86. package/dist/{discover-Df-a8K4R.js → discover-Cfx5RPU7.js} +1 -1
  87. package/dist/{docs-DKJnqZqt.js → docs-DWegDRiu.js} +1 -1
  88. package/dist/{enable-C8Zf_wpN.js → enable-Cfzeau2x.js} +1 -1
  89. package/dist/{flow-17k25MHt.js → flow-kAxxVOiR.js} +1 -1
  90. package/dist/{init-CoMfFxbG.js → init-C4tDFH4G.js} +1 -1
  91. package/dist/integrations-D-L3uQRj.js +1 -0
  92. package/dist/{list-BYiG8Zav.js → list-5Ljf9TxF.js} +2 -2
  93. package/dist/{list-BAKvxSbh.js → list-COAo7eZd.js} +1 -1
  94. package/dist/{list-DX-z3SBp.js → list-DuPqU3fk.js} +1 -1
  95. package/dist/{list-C5w01-8q.js → list-DzGuMkQy.js} +1 -1
  96. package/dist/{list-VToARh3C.js → list-J8d_zh-o.js} +1 -1
  97. package/dist/{list-BxEywhHU.js → list-vOvIpbOH.js} +1 -1
  98. package/dist/{list-CIW2joV1.js → list-vpyS-hv8.js} +1 -1
  99. package/dist/{list-DpCf4G-H.js → list-way5oLO0.js} +1 -1
  100. package/dist/{login-DkkslfBx.js → login-BBw95-S3.js} +1 -1
  101. package/dist/{login-BFxX4jJy.js → login-CNmeRAL7.js} +1 -1
  102. package/dist/{logout-BHAtw4Z8.js → logout-j0dTo_Ib.js} +1 -1
  103. package/dist/{maintenance-C5FklUw3.js → maintenance-DkLVtqM7.js} +1 -1
  104. package/dist/{mcp-CCZOAo06.js → mcp-CsmBtlW9.js} +1 -1
  105. package/dist/{migrate-C4vM7DQN.js → migrate-D4nzYhk8.js} +1 -1
  106. package/dist/{model-Bs1StDo3.js → model-B79MFtRV.js} +1 -1
  107. package/dist/{push-CUC55Bqd.js → push-DbdnbZYt.js} +1 -1
  108. package/dist/{queue-6io_NOP3.js → queue-C9fSdE_X.js} +27 -27
  109. package/dist/refresh-BDmap1RA.js +1 -0
  110. package/dist/{remove-B93LNkZI.js → remove-BNzbUhaK.js} +1 -1
  111. package/dist/{remove-eQ8y5C5p.js → remove-CLpL12Ya.js} +1 -1
  112. package/dist/{remove-CuH8a3L9.js → remove-CaYH9Cna.js} +1 -1
  113. package/dist/{remove-C5_xggx7.js → remove-D-QeeZQL.js} +1 -1
  114. package/dist/{rename-CYfy03FE.js → rename-Bhcb4t9F.js} +1 -1
  115. package/dist/{result-BEtQZHaY.js → result-BfTfJayl.js} +1 -1
  116. package/dist/{result-BzaM3inj.js → result-D8DsvJDu.js} +1 -1
  117. package/dist/{resume-DYzKvyEw.js → resume-aZ8yWDBh.js} +1 -1
  118. package/dist/{review-oIBeECZE.js → review-BEhDcX4b.js} +1 -1
  119. package/dist/{rotate-key-IdMYH7gg.js → rotate-key-BqnKhTK8.js} +1 -1
  120. package/dist/{run-CTtd0Znc.js → run-BWbabvub.js} +1 -1
  121. package/dist/{run-CawRGnOg.js → run-BdPjxaZU.js} +1 -1
  122. package/dist/{run-BDYl0CKl.js → run-Dqe38jX8.js} +1 -1
  123. package/dist/runner-BPpiJvHx.js +1 -0
  124. package/dist/sdk.js +1 -1
  125. package/dist/{serve-CPnmrKyf.js → serve-C0WC-QrV.js} +2 -2
  126. package/dist/{serve-GmRO89s5.js → serve-CcObDKKQ.js} +1 -1
  127. package/dist/{serve-CE8YV2e9.js → serve-Ck95047c.js} +1 -1
  128. package/dist/{serve-CQKZxzFE.js → serve-DA5I2qXj.js} +2 -2
  129. package/dist/{server-Kb22cWfF.js → server-BxLFZL80.js} +1 -1
  130. package/dist/{setup-host-GFTUzzZJ.js → setup-host-DLd_j2Uw.js} +1 -1
  131. package/dist/{shared-DVtzWhUT.js → shared-BLkGRKty.js} +1 -1
  132. package/dist/{show-COTZEYgc.js → show-DzoQIs75.js} +1 -1
  133. package/dist/{show-CMUg8SJu.js → show-FC3dJcD-.js} +1 -1
  134. package/dist/{status-D26U--p8.js → status-BU3DR1XU.js} +1 -1
  135. package/dist/{steer-C6uARLp5.js → steer-P_38hRRD.js} +1 -1
  136. package/dist/{stop-BrGI3hSS.js → stop-BJGDRPsp.js} +1 -1
  137. package/dist/{stop-ByCAlbmN.js → stop-BWY6k6v5.js} +1 -1
  138. package/dist/{store-DzqXS2wT.js → store-B3ZHoBJY.js} +4 -4
  139. package/dist/{store-B94tSate.js → store-BLi19UDE.js} +1 -1
  140. package/dist/{task-CgOKgkEG.js → task-b2BK481M.js} +1 -1
  141. package/dist/{test-NEbhlxvo.js → test-BrSrhop9.js} +1 -1
  142. package/dist/{tools-D0Zfs8Hx.js → tools-CgswhJzh.js} +1 -1
  143. package/dist/{unalias-C9NqmSDq.js → unalias-mMHXqok7.js} +1 -1
  144. package/dist/{update-BTxYQj7Z.js → update-DbOWToPy.js} +1 -1
  145. package/dist/{upgrade-hA0yWBvx.js → upgrade-D6oC9HQI.js} +2 -2
  146. package/dist/{usage-BhqoCjvE.js → usage-Cb8Dtv9V.js} +1 -1
  147. package/dist/{usage-C4d9X2Uq.js → usage-DMs-IIJC.js} +1 -1
  148. package/dist/{watch-DtRuC0Wc.js → watch-BcMQXGYO.js} +1 -1
  149. package/dist/{watch-CSdj24ct.js → watch-eE2XiwsC.js} +1 -1
  150. package/dist/{worker-DX7P9kWl.js → worker-DrucI22w.js} +1 -1
  151. package/dist/{workflow-Dcmdooi8.js → workflow-Cshghoas.js} +1 -1
  152. package/docs/cli.md +145 -0
  153. package/package.json +3 -2
  154. package/plugins/claude/.claude-plugin/plugin.json +1 -1
  155. package/plugins/cursor/.cursor-plugin/plugin.json +1 -1
  156. package/src/core/defaults.ts +25 -0
  157. package/src/server/dash/app/dash/layout.css +58 -1
  158. package/src/server/dash/app/dash/layout.tsx +16 -4
  159. package/src/server/dash/app/dash/settings/[tab]/page.tsx +1 -1
  160. package/src/server/dash/comps/nav/side-toggle.tsx +1 -1
  161. package/src/server/dash/comps/ui/menu.tsx +5 -1
  162. package/src/server/dash/comps/ui/toast.css +3 -2
  163. package/dist/auth-DWHIzqbA.js +0 -1
  164. package/dist/credentials-B1jv6dkg.js +0 -1
  165. package/dist/dash/public/assets/chunks/shared-init-ffb3397e494137c9.js +0 -2
  166. package/dist/dash/public/assets/dash-9e02d5d1a6d42ee3.css +0 -1
  167. package/dist/dash/public/assets/dash-account-04859899c1838ada.css +0 -1
  168. package/dist/dash/public/assets/dash-agents-9e678137267dec07.css +0 -1
  169. package/dist/dash/public/assets/dash-agents-new-26fa27b17ef9b8d8.css +0 -1
  170. package/dist/dash/public/assets/dash-agents-param-slug-b975c48f8abf3444.css +0 -1
  171. package/dist/dash/public/assets/dash-agents-param-slug-edit-e13fda599bb04843.css +0 -1
  172. package/dist/dash/public/assets/dash-agents-param-slug-platforms-70292932cb27bc96.css +0 -1
  173. package/dist/dash/public/assets/dash-agents-param-slug-settings-71f9a86251723fcc.css +0 -1
  174. package/dist/dash/public/assets/dash-agents-param-slug-tasks-fb8eb2ed71006601.css +0 -1
  175. package/dist/dash/public/assets/dash-agents-param-slug-usage-7c8740f1cdd52c71.css +0 -1
  176. package/dist/dash/public/assets/dash-settings-8eb818da462227e8.css +0 -1
  177. package/dist/dash/public/assets/dash-settings-param-tab-849a1a9542e273f5.css +0 -1
  178. package/dist/dash/public/assets/dash-tasks-81e510e0b6931b42.css +0 -1
  179. package/dist/dash/public/assets/dash-tasks-param-id-bbd2a83342f2ec10.css +0 -1
  180. package/dist/dash/public/assets/dash-usage-8e0259e03eaed1bd.css +0 -1
  181. package/dist/dash/public/assets/pnext-client-03b03b254e525e82.js +0 -1
  182. package/dist/dash/public/assets/pnext-client-1c7859bb888f4ef0.js +0 -1
  183. package/dist/dash/public/assets/pnext-client-3c748afe963fb05d.js +0 -1
  184. package/dist/dash/public/assets/pnext-client-4f47c2cae220f107.js +0 -1
  185. package/dist/dash/public/assets/pnext-client-6ab9fd9b53b794d2.js +0 -1
  186. package/dist/dash/public/assets/pnext-client-6c241786342498e4.js +0 -1
  187. package/dist/dash/public/assets/pnext-client-80b56d420f02b808.js +0 -1
  188. package/dist/dash/public/assets/pnext-client-83135c17bae850a3.js +0 -1
  189. package/dist/dash/public/assets/pnext-client-8e6fa4302ae0396f.js +0 -1
  190. package/dist/dash/public/assets/pnext-client-932c9d8cc0717fc8.js +0 -1
  191. package/dist/dash/public/assets/pnext-client-a42ae63d4de113f9.js +0 -1
  192. package/dist/dash/public/assets/pnext-client-d2ee6f8c1e337032.js +0 -1
  193. package/dist/dash/public/assets/pnext-client-d513f65ec23b7f20.js +0 -1
  194. package/dist/dash/public/assets/pnext-client-ecb88e2a8a109954.js +0 -1
  195. package/dist/dash/public/assets/pnext-client-f1545ee6270bbf9a.js +0 -1
  196. package/dist/dash/server/bundle-0.1.5-1508b6c99c0d1e68/boot-B2MFTRO2.js +0 -30
  197. package/dist/dash/server/bundle-0.1.5-1508b6c99c0d1e68/build-tier-XJJSL5FR.js +0 -2704
  198. package/dist/dash/server/bundle-0.1.5-1508b6c99c0d1e68/chunk-2HFY3DQT.js +0 -208
  199. package/dist/dash/server/bundle-0.1.5-1508b6c99c0d1e68/chunk-2ICEVELW.js +0 -834
  200. package/dist/dash/server/bundle-0.1.5-1508b6c99c0d1e68/chunk-3UPROT2C.js +0 -35
  201. package/dist/dash/server/bundle-0.1.5-1508b6c99c0d1e68/chunk-4P5CMIYT.js +0 -1582
  202. package/dist/dash/server/bundle-0.1.5-1508b6c99c0d1e68/chunk-4TKZKZ3Q.js +0 -131
  203. package/dist/dash/server/bundle-0.1.5-1508b6c99c0d1e68/chunk-5RDEILQB.js +0 -437
  204. package/dist/dash/server/bundle-0.1.5-1508b6c99c0d1e68/chunk-62KEQM43.js +0 -25
  205. package/dist/dash/server/bundle-0.1.5-1508b6c99c0d1e68/chunk-6KQSWT6D.js +0 -831
  206. package/dist/dash/server/bundle-0.1.5-1508b6c99c0d1e68/chunk-7DCNCW6O.js +0 -724
  207. package/dist/dash/server/bundle-0.1.5-1508b6c99c0d1e68/chunk-B4THCTQP.js +0 -22
  208. package/dist/dash/server/bundle-0.1.5-1508b6c99c0d1e68/chunk-C2LIV2MM.js +0 -172
  209. package/dist/dash/server/bundle-0.1.5-1508b6c99c0d1e68/chunk-CCATPVTW.js +0 -378
  210. package/dist/dash/server/bundle-0.1.5-1508b6c99c0d1e68/chunk-COXJAPTU.js +0 -89
  211. package/dist/dash/server/bundle-0.1.5-1508b6c99c0d1e68/chunk-E6IXL2NJ.js +0 -6270
  212. package/dist/dash/server/bundle-0.1.5-1508b6c99c0d1e68/chunk-FLGRBFAH.js +0 -1198
  213. package/dist/dash/server/bundle-0.1.5-1508b6c99c0d1e68/chunk-FTJVHFWD.js +0 -61
  214. package/dist/dash/server/bundle-0.1.5-1508b6c99c0d1e68/chunk-H523KSIH.js +0 -5151
  215. package/dist/dash/server/bundle-0.1.5-1508b6c99c0d1e68/chunk-HT6KKX6A.js +0 -20
  216. package/dist/dash/server/bundle-0.1.5-1508b6c99c0d1e68/chunk-JESFYECC.js +0 -438
  217. package/dist/dash/server/bundle-0.1.5-1508b6c99c0d1e68/chunk-JRPJM2XY.js +0 -17
  218. package/dist/dash/server/bundle-0.1.5-1508b6c99c0d1e68/chunk-L2IWDUXG.js +0 -107
  219. package/dist/dash/server/bundle-0.1.5-1508b6c99c0d1e68/chunk-L5P4Y4UC.js +0 -183
  220. package/dist/dash/server/bundle-0.1.5-1508b6c99c0d1e68/chunk-NQE46AZN.js +0 -647
  221. package/dist/dash/server/bundle-0.1.5-1508b6c99c0d1e68/chunk-PA4QEARJ.js +0 -129
  222. package/dist/dash/server/bundle-0.1.5-1508b6c99c0d1e68/chunk-PZ5AXOLW.js +0 -7146
  223. package/dist/dash/server/bundle-0.1.5-1508b6c99c0d1e68/chunk-SNVPTULL.js +0 -2397
  224. package/dist/dash/server/bundle-0.1.5-1508b6c99c0d1e68/chunk-T3QZT3PG.js +0 -220
  225. package/dist/dash/server/bundle-0.1.5-1508b6c99c0d1e68/chunk-VC5O2SDP.js +0 -72
  226. package/dist/dash/server/bundle-0.1.5-1508b6c99c0d1e68/chunk-WZX4V6CM.js +0 -231
  227. package/dist/dash/server/bundle-0.1.5-1508b6c99c0d1e68/chunk-XUUIDXY5.js +0 -627
  228. package/dist/dash/server/bundle-0.1.5-1508b6c99c0d1e68/chunk-ZHFDO3PR.js +0 -265
  229. package/dist/dash/server/bundle-0.1.5-1508b6c99c0d1e68/compile-CE2DN7ZA.js +0 -18
  230. package/dist/dash/server/bundle-0.1.5-1508b6c99c0d1e68/config-UREY7XJT.js +0 -16
  231. package/dist/dash/server/bundle-0.1.5-1508b6c99c0d1e68/config-loader-UI2XE3PZ.js +0 -17
  232. package/dist/dash/server/bundle-0.1.5-1508b6c99c0d1e68/entry.js +0 -219
  233. package/dist/dash/server/bundle-0.1.5-1508b6c99c0d1e68/generate-I2PPTDFD.js +0 -16
  234. package/dist/dash/server/bundle-0.1.5-1508b6c99c0d1e68/modules-UVOCE4C2.js +0 -48
  235. package/dist/dash/server/bundle-0.1.5-1508b6c99c0d1e68/pipeline-UW47K537.js +0 -963
  236. package/dist/dash/server/bundle-0.1.5-1508b6c99c0d1e68/proxy-ITGOVJBW.js +0 -26
  237. package/dist/dash/server/bundle-0.1.5-1508b6c99c0d1e68/register-4SA55SWT.js +0 -12579
  238. package/dist/dash/server/bundle-0.1.5-1508b6c99c0d1e68/router-JNKHLBCZ.js +0 -505
  239. package/dist/dash/server/bundle-0.1.5-1508b6c99c0d1e68/routes-PD6J2NXW.js +0 -54
  240. package/dist/dash/server/bundle-0.1.5-1508b6c99c0d1e68/tsconfig-defaults-ZXEH7RQK.js +0 -15
  241. package/dist/integrations-5xCaXSd-.js +0 -1
  242. package/dist/refresh-BIrmrWYq.js +0 -1
  243. package/dist/runner-D7ScbIHJ.js +0 -1
  244. package/src/server/dash/app/dash/token-from-hash.tsx +0 -17
@@ -0,0 +1,2 @@
1
+ import{f as $e,i as Me,j as W,k as K}from"./wular-pnext-246221e985d863e5-0.js";function b(e,t={}){let r=fe(me(e,t.params??{})),a=ve(t.search),n=be(t.hash);return`${r}${a}${n}`}function pe(){return window.__PNEXT_TRAILING_SLASH__===!0}function T(){let e=window.__PNEXT_PREFETCH__;return e===void 0?"visible":e}function fe(e){let[,t="",r=""]=/^([^?#]*)([\s\S]*)$/.exec(e)??[];return t.startsWith("/")?pe()?t==="/"||t.endsWith("/")||/\.[^/]+$/.test(t)?e:`${t}/${r}`:t==="/"||!t.endsWith("/")||/\.[^/]+\/$/.test(t)?e:`${t.replace(/\/+$/,"")}${r}`:e}function me(e,t){let r=e.replace(/\[\[\.\.\.([^\]]+)\]\]/g,(a,n)=>C(t[n],!0)).replace(/\[\.\.\.([^\]]+)\]/g,(a,n)=>C(t[n],!0)).replace(/\[([^\]]+)\]/g,(a,n)=>C(t[n],!1));return we(r)}function we(e){return e.length<=1?e:e.replace(/\/+$/,"")||"/"}function C(e,t){if(Array.isArray(e)){let r=e.map(a=>encodeURIComponent(a));return t?r.join("/"):r[0]??""}return encodeURIComponent(e??"")}function ve(e){if(!e)return"";let t=(e instanceof URLSearchParams?e:ge(e)).toString();return t?`?${t}`:""}function ge(e){let t=new URLSearchParams;for(let[r,a]of Object.entries(e)){let n=Array.isArray(a)?a:[a];for(let s of n)s!=null&&t.append(r,String(s))}return t}function be(e){return e?e.startsWith("#")?e:`#${e}`:""}import{$0a as J,$0b as ye}from"./shared-init-246221e985d863e5-2.js";import{$1a as ke,$1d as _e}from"./shared-init-246221e985d863e5-2.js";import{$1a as xe,$1g as Y,$1i as G}from"./shared-init-8f2ac936c95a7f7b.js";var E=class extends Error{constructor(){super("Method unavailable on `ReadonlyURLSearchParams`. Read more: https://nextjs.org/docs/app/api-reference/functions/use-search-params#updating-searchparams")}},Ee=class extends URLSearchParams{append(){throw new E}delete(){throw new E}set(){throw new E}sort(){throw new E}};$e();function A(){return Se}var Se={push(e,...[t]){X(I(e,t),"push",t?.scroll)},replace(e,...[t]){X(I(e,t),"replace",t?.scroll)},prefetch(e,...[t]){ye(I(e,t),{strict:!0,full:t?.kind==="full",onInvalidate:t?.onInvalidate})},refresh(){J(window.location.href,{replace:!0,scroll:!1})},back(){window.history.back()},forward(){window.history.forward()},get bfcacheId(){return Ce().bfcacheId??""}};function I(e,t){return Le(t)?b(e,t):String(e)}function Le(e){return!!(e&&("params"in e||"search"in e||"hash"in e))}function g(){return Q().pathname}function Pe(){return new Ee(Q().search)}function H(){let e=xe,t=e.__h,r;e.__h=(s,...o)=>{r=s.__P,t?.(s,...o)};let[a,n]=Y(!1);return e.__h=t,G(()=>{let s=r?.closest("a[data-pnext-link]");if(!s)return;let o=s.__pnextHints??=new Set;return o.add(n),()=>o.delete(n)},[]),{pending:a}}function Q(){let e=F(),[,t]=Y(()=>z(e));return G(()=>{Te();let r=()=>t(a=>{let n=z(F());return a===n?a:n});return W().add(r),r(),()=>W().delete(r)},[]),e}function z(e){return`${e.pathname}${e.search}${e.hash}`}function F(){return{pathname:window.location.pathname,search:window.location.search,hash:window.location.hash}}function Ce(){let e=history.state??{},t=window.__PNEXT_ROUTE__??{},r=typeof e.__pnextBfcacheId=="string"?e.__pnextBfcacheId:void 0;return r?{...t,bfcacheId:r}:t}function X(e,t,r=!0){if(_e(e))return;let a=new URL(e,window.location.href);if(a.origin!==window.location.origin){let n=globalThis;n.__pnextMpaNavigation=(n.__pnextMpaNavigation??0)+1,requestAnimationFrame(()=>requestAnimationFrame(()=>{t==="replace"?window.location.replace(a.href):window.location.assign(a.href)}));return}if(a.pathname!==window.location.pathname||a.search!==window.location.search){J(a.href,{replace:t==="replace",scroll:r});return}t==="replace"?window.history.replaceState(history.state,"",a):window.history.pushState(history.state,"",a),Me(a,{scroll:r}),ke.settleLink?.()}function Te(){if(window.__PNEXT_HISTORY_PATCHED__)return;window.__PNEXT_HISTORY_PATCHED__=!0;let e=window.history.pushState.bind(window.history),t=window.history.replaceState.bind(window.history);function r(a){let n=window.history.state??{},s={};for(let l of Object.keys(n))l.startsWith("__pnext")&&(s[l]=n[l]);if(Object.keys(s).length===0)return a;let o=a??{};return Object.keys(o).some(l=>l.startsWith("__pnext"))?a:{...o,...s}}window.history.pushState=function(a,n,s){let o=window.location.href,l=e(r(a),n,s);return window.location.href!==o&&K(),l},window.history.replaceState=function(a,n,s){let o=window.location.href,l=t(r(a),n,s);return window.location.href!==o&&K(),l}}import{$1b as Ie,$1i as Ae,$1k as He}from"./shared-init-8f2ac936c95a7f7b.js";function $({href:e,params:t,prefetch:r,replace:a,scroll:n,search:s,hash:o,onClick:l,onNavigate:w,onPrefetchStart:f,onPrefetchFinish:i,children:c,...p}){let m=b(e,{params:t??{},search:s,hash:o}),v=r??T(),P=Re(f,i);return Ie("a",{...p,ref:P,href:m,"data-pnext-link":!0,"data-prefetch":v===!1?"false":v,"data-pnext-replace":a?"true":void 0,"data-pnext-scroll":n===!1?"false":void 0,onClick:he=>{let x=he;if(l?.(x),x.defaultPrevented||!w||!Oe(x))return;let D=je();w(D),D.defaultPrevented&&x.preventDefault()}},c)}function Re(e,t){let r=He(null);return Ae(()=>{let a=r.current;if(!a||!e&&!t)return;let n=()=>e?.(),s=()=>t?.();return a.addEventListener("pnext:prefetchstart",n),a.addEventListener("pnext:prefetchfinish",s),()=>{a.removeEventListener("pnext:prefetchstart",n),a.removeEventListener("pnext:prefetchfinish",s)}},[e,t]),r}function je(){return{defaultPrevented:!1,preventDefault(){this.defaultPrevented=!0}}}function Oe(e){return e.button===0&&!e.altKey&&!e.ctrlKey&&!e.metaKey&&!e.shiftKey&&!e.currentTarget.target&&!e.currentTarget.download}import{$0a as Ne,$0b as Ue}from"./shared-init-88cce66bb3cfe1e5.js";import{$2a as h}from"./shared-init-88cce66bb3cfe1e5.js";import{$1c as Ve,$1g as ee,$1i as M,$1k as Ze}from"./shared-init-8f2ac936c95a7f7b.js";function re({status:e}){return h("span",{class:`st ${e}`,children:[h("i",{}),ne[e]??e]})}var ne={queued:"waiting for slot",running:"running",waiting:"needs approval",completed:"completed",failed:"failed",cancelled:"cancelled"},y="coder:watched",se="coder:notify",S="coder:toast",R=new Set(["completed","failed","cancelled"]),qe=new Set([...R,"waiting"]),Be=20,De=3,te=3,We=8e3,Ke=2**31-1,L=()=>{try{return JSON.parse(localStorage.getItem(y)??"{}")??{}}catch{return{}}},ie=e=>{let t=Object.entries(e).sort(([,r],[,a])=>a.at-r.at).slice(0,Be);localStorage.setItem(y,JSON.stringify(Object.fromEntries(t))),dispatchEvent(new Event(y))},ze=(e,t)=>dispatchEvent(new CustomEvent(S,{detail:{title:e,line:t}}));function oe(e,t,r){let a=L(),n=a[e];!n&&R.has(t)||n?.status===t&&(!r||n.title===r)||(a[e]={title:r||n?.title||e,status:t,at:n?.at??Date.now()},ie(a))}var ae=e=>/^\/dash\/tasks\/([^/]+)$/.exec(e)?.[1];function Fe(e){let t=n=>typeof n=="string"?n.trim().split(`
2
+ `)[0]:"",r=e.approval??{},a=typeof e.result=="object"?e.result?.output:e.result;return e.status==="waiting"?t(r.summary)||t(r.reason)||t(r.kind)||"It is waiting for your approval.":e.status==="completed"?t(a)||"It finished.":t(e.error)||(e.status==="failed"?"It failed.":"It was stopped.")}function Xe({id:e,onStatus:t}){return M(()=>{let r=new AbortController;return(async()=>{for(;!r.signal.aborted;){try{let a=await Ue.tasks.stream(e,Ke,r.signal);if(a.status===404){let n=L();return delete n[e],ie(n)}if(!a.ok||!a.body)return;for await(let n of Ne(a.body))if(n.event==="status")t(e,JSON.parse(n.data));else if(n.event==="end")return}catch{if(r.signal.aborted)return}await new Promise(a=>setTimeout(a,1e3))}})(),()=>r.abort()},[e]),null}function Je({toast:e,dismiss:t}){return M(()=>{let r=setTimeout(()=>t(e.key),We);return()=>clearTimeout(r)},[]),h("div",{class:e.id?"toast":"toast err",onClick:()=>t(e.key),children:[h("p",{class:"toast-head",children:[e.id?h($,{class:"cover",href:"/dash/tasks/[id]",params:{id:e.id},children:e.title}):h("span",{class:"cover",children:e.title}),e.status?h(re,{status:e.status}):null]}),h("p",{class:"toast-line",children:e.line})]})}function Ye(){let e=g(),t=A(),[r,a]=ee({}),[n,s]=ee([]),o=Ze(ae(e));o.current=ae(e),M(()=>{let i=()=>a(L());return i(),addEventListener(y,i),addEventListener("storage",i),()=>{removeEventListener(y,i),removeEventListener("storage",i)}},[]),M(()=>{let i=c=>{let{title:p,line:m}=c.detail;s(v=>[{key:`${S}:${Date.now()}`,title:p,line:m},...v].slice(0,te))};return addEventListener(S,i),()=>removeEventListener(S,i)},[]),M(()=>{if(!n.length)return;let i=c=>c.key==="Escape"&&s([]);return addEventListener("keydown",i),()=>removeEventListener("keydown",i)},[n.length]);let l=i=>s(c=>c.filter(p=>p.key!==i)),w=(i,c)=>{let p=L()[i];if(!p||p.status===c.status||(oe(i,c.status),!qe.has(c.status)||o.current===i))return;let m={key:`${i}:${Date.now()}`,id:i,title:p.title,status:c.status,line:Fe(c)};if(s(P=>[m,...P].slice(0,te)),localStorage.getItem(se)!=="1"||typeof Notification>"u"||Notification.permission!=="granted")return;let v=new Notification(`${m.title} (${ne[m.status]})`,{body:m.line,tag:i});v.onclick=()=>{focus(),t.push("/dash/tasks/[id]",{params:{id:i}})}},f=Object.entries(r).filter(([i,c])=>!R.has(c.status)&&i!==o.current).sort(([,i],[,c])=>c.at-i.at).slice(0,De);return h(Ve,{children:[f.map(([i])=>h(Xe,{id:i,onStatus:w},i)),h("section",{class:"toasts","aria-label":"Task updates","aria-live":"polite",children:n.map(i=>h(Je,{toast:i,dismiss:l},i.key))})]})}var Ge="M12 8V4H8M6 8h12a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2v-8a2 2 0 0 1 2-2ZM2 14h2M20 14h2M15 13v2M9 13v2",Qe="M22 12h-4l-3 9L9 3l-3 9H2",et="M3 3v18h18M18 17V9M13 17V5M8 17v-3",j="m15 18-6-6 6-6",tt="m6 9 6 6 6-6",O="m9 18 6-6-6-6",N="M8 12a4 4 0 1 0 8 0a4 4 0 1 0 -8 0M12 2v2M12 20v2M4.9 4.9l1.4 1.4M17.7 17.7l1.4 1.4M2 12h2M20 12h2M6.3 17.7l-1.4 1.4M19.1 4.9l-1.4 1.4",U="M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z",V="M4 4h16a1 1 0 0 1 1 1v10a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1ZM8 20h8M12 16v4",at="M2 15.5a5.5 5.5 0 1 0 11 0a5.5 5.5 0 1 0 -11 0M21 2l-9.6 9.6M15.5 7.5l3 3L22 7l-3-3",Z="M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4M16 17l5-5-5-5M21 12H9",rt="m12 3 1.9 5.1L19 10l-5.1 1.9L12 17l-1.9-5.1L5 10l5.1-1.9ZM19 3v4M17 5h4",nt="M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.7-.9l-.8-1.2A2 2 0 0 0 7.9 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2ZM10 13a2 2 0 1 0 4 0a2 2 0 1 0 -4 0M14 13h3M7 13h3",q="M4 6h16M4 12h16M4 18h16",st="M18 6 6 18M6 6l12 12",k="M20 6 9 17l-5-5",it="M4 12a1 1 0 1 0 2 0a1 1 0 1 0 -2 0M11 12a1 1 0 1 0 2 0a1 1 0 1 0 -2 0M18 12a1 1 0 1 0 2 0a1 1 0 1 0 -2 0",ot="M12 5v14M5 12h14",lt="M21 12a8 8 0 0 1-11.6 7.1L4 20l1-4.6A8 8 0 1 1 21 12Z",ct="M4 12h12M12 6l6 6-6 6",dt="M16 4h4v4M20 4l-7 7M4 20l6-6M16 20h4v-4M20 20l-5-5M4 4l5 5",ut="M4 11a7 7 0 1 0 14 0a7 7 0 1 0 -14 0M20 20l-3.5-3.5",ht="m21.7 18-8-14a2 2 0 0 0-3.4 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.7-3M12 9v4M12 17h.01",pt="m4 17 6-6-6-6M12 19h8",ft="M12 7v5l3 2M3 12a9 9 0 1 0 18 0a9 9 0 1 0 -18 0",mt="M9 2v6M15 2v6M6 8h12v4a6 6 0 0 1-12 0ZM12 18v4",wt="M9 9h11v11H9ZM5 15H4V4h11v1",vt="M4 21v-7M4 10V3M12 21v-9M12 8V3M20 21v-5M20 12V3M1 14h6M9 8h6M17 16h6";import{$1a as _}from"./shared-init-88cce66bb3cfe1e5.js";import{$0c as gt}from"./shared-init-88cce66bb3cfe1e5.js";import{$2a as d}from"./shared-init-88cce66bb3cfe1e5.js";import{$1c as ce,$1g as B,$1i as le,$1j as bt,$1k as $t}from"./shared-init-8f2ac936c95a7f7b.js";function Mt({class:e,icon:t,children:r}){return d("button",{type:"button",class:e,onClick:()=>void gt().catch(()=>location.reload()),children:[t?d(_,{d:Z}):null,r]})}var yt="side";function kt({collapsed:e}){let[t,r]=B(e);return d("button",{type:"button",class:"icon-btn side-toggle","aria-label":t?"Expand sidebar":"Collapse sidebar","data-tip":t?"Expand sidebar":"Collapse sidebar",onClick:()=>{let a=!t;r(a),document.querySelector(".app")?.classList.toggle("side-min",a),document.cookie=`${yt}=${a?"min":""}; path=/; max-age=${a?31536e3:0}; samesite=lax`},children:d(_,{d:t?O:j})})}function _t(){let[e,t]=B(!1),r=g();return le(()=>t(!1),[r]),le(()=>{if(document.documentElement.classList.toggle("drawer",e),!e)return;let a=n=>n.key==="Escape"&&t(!1);return addEventListener("keydown",a),()=>removeEventListener("keydown",a)},[e]),d(ce,{children:[d("button",{type:"button",class:"icon-btn only-m","aria-label":"Open navigation",onClick:()=>t(!e),children:d(_,{d:q})}),d("div",{class:"scrim",onClick:()=>t(!1)})]})}var xt=3600*24*365,Et=[["light","Light",N],["dark","Dark",U],["system","System",V]];function St({theme:e}){let[t,r]=B(e),a=n=>{let s=document.documentElement;n==="system"?delete s.dataset.theme:s.dataset.theme=n,document.cookie=`theme=${n}; path=/; max-age=${xt}; samesite=lax`,r(n)};return d(ce,{children:Et.map(([n,s,o])=>d("button",{type:"button",class:"pop-item",role:"menuitemradio","aria-checked":t===n,onClick:()=>a(n),children:[d(_,{d:o}),d("span",{class:"grow",children:s}),d(_,{d:k})]},n))})}var Lt=e=>{let t=e.params??{};return e.href.replace(/\[([^\]]+)\]/g,(r,a)=>encodeURIComponent(String(t[a]??"")))};function Pt(e,t){let r=new URLSearchParams((e instanceof URLSearchParams,e));for(let[a,n]of Object.entries(t))r.set(a,n);return r}function Ct({within:e,children:t,onClick:r,...a}){let n=g(),s=n===Lt(a)||e!==void 0&&(n===e||n.startsWith(`${e}/`)),o=$t(null);return d($,{...a,"aria-current":s?"page":void 0,onClick:l=>{o.current=l.currentTarget,r?.(l)},children:[t,d(Tt,{anchor:o,current:s})]})}function Tt({anchor:e,current:t}){let{pending:r}=H();return bt(()=>{e.current&&(r&&!t?e.current.setAttribute("data-pending",""):e.current.removeAttribute("data-pending"))},[r,t]),null}import{$1a as de}from"./shared-init-88cce66bb3cfe1e5.js";import{$2a as u}from"./shared-init-88cce66bb3cfe1e5.js";import{$1c as It,$1k as At,$1m as ue}from"./shared-init-8f2ac936c95a7f7b.js";function Ht({summary:e,summaryClass:t,label:r,tip:a,align:n="right",wide:s,class:o,children:l}){let w=ue();return u("span",{class:`menu ${n}${o?` ${o}`:""}`,children:[u("button",{popovertarget:w,type:"button",class:t,"aria-label":r,title:a?void 0:r,"data-tip":a,children:e}),u("div",{id:w,class:s?"pop wide":"pop",popover:"auto",onBeforeToggle:f=>{if(f.newState!=="open")return;let i=f.currentTarget,c=i.parentElement?.querySelector("button")?.getBoundingClientRect();if(!c)return;let p=n==="up"?c.top-20:window.innerHeight-c.bottom-20;i.style.maxHeight=`${Math.max(120,Math.round(p))}px`},onClick:f=>{f.target.closest("a, button:not([data-keep])")&&f.currentTarget.hidePopover()},children:l})]})}function Rt({icon:e,title:t,sub:r,href:a,onClick:n,danger:s}){let o=u(It,{children:[e?u(de,{d:e}):null,u("span",{class:"grow",children:[t,r?u("small",{children:r}):null]})]}),l=`pop-item${r?" rich":""}${s?" danger":""}`;return a?u("a",{class:l,href:a,.../^https?:\/\//.test(a)?{target:"_blank",rel:"noreferrer"}:{},children:o}):u("button",{type:"button",class:l,onClick:n,children:o})}function jt({label:e,children:t}){let r=ue(),a=At(null),n=s=>o=>{o.pointerType==="mouse"&&a.current.togglePopover(s)};return u("span",{class:"more",onPointerEnter:n(!0),onPointerLeave:n(!1),children:[u("button",{popovertarget:r,type:"button",children:e}),u("div",{id:r,ref:a,class:"more-list scroll-box",popover:"auto",children:t})]})}function Ot({on:e,onPick:t,children:r}){return u("button",{type:"button",role:"menuitemradio","aria-checked":e,class:e?"pop-item on":"pop-item",onClick:t,children:[u("span",{class:"grow",children:r}),e?u(de,{d:k}):null]})}export{re as $0a,se as $0b,ze as $0c,oe as $0d,Ye as $0e,$ as $1a,Mt as $2a,kt as $2b,_t as $2c,St as $2d,Pt as $2e,Ct as $2f,b as $3a,T as $3b,Ht as $4a,Rt as $4b,jt as $4c,Ot as $4d,wt as $5A,vt as $5B,Ge as $5a,Qe as $5b,et as $5c,j as $5d,tt as $5e,O as $5f,N as $5g,U as $5h,V as $5i,at as $5j,Z as $5k,rt as $5l,nt as $5m,q as $5n,st as $5o,k as $5p,it as $5q,ot as $5r,lt as $5s,ct as $5t,dt as $5u,ut as $5v,ht as $5w,pt as $5x,ft as $5y,mt as $5z,A as $6a,g as $6b,Pe as $6c,H as $6d};
@@ -1 +1 @@
1
- import{a as C}from"./confirm-f2fe4ba9905a89c6.js";import{a as w}from"./card-e0901d68b79dfa93.js";import{b as k}from"./field-901f1f35c18c39c9.js";import{g as f}from"./format-eb03fc9d9744d960.js";import{$3a as g}from"./shared-init-ffb3397e494137c9.js";import{$4a as y,$4b as m}from"./shared-init-ffb3397e494137c9.js";import{$5q as h}from"./shared-init-ffb3397e494137c9.js";import{$1a as b}from"./shared-init-88cce66bb3cfe1e5.js";import{$0b as c}from"./shared-init-88cce66bb3cfe1e5.js";import{$2a as t}from"./shared-init-88cce66bb3cfe1e5.js";import{$1c as d,$1g as l}from"./shared-init-8f2ac936c95a7f7b.js";function T(e){if(!e||typeof e!="object")return{};let s=e,r=(...i)=>i.map(o=>s[o]).find(o=>typeof o=="string");return{id:r("id"),action:r("kind","tool"),reason:r("summary","reason")}}var E={approve:"Decision sent.",archive:"Archived.",ask:"Question sent.",cancel:"Stop requested.",continue:"Sent.",steer:"Steer sent."};function A(e){let[s,r]=l(""),[i,o]=l("");return{error:s,outcome:i,setError:r,run:async(n,a={})=>{r(""),o("");try{return n==="approve"?await c.tasks.approve(e,a.approvalId??"",a.decision??"decline"):n==="ask"?await c.tasks.ask(e,a.question??""):n==="continue"||n==="steer"?await c.tasks[n](e,a.text??""):await c.tasks[n](e),o(E[n]),!0}catch(p){return r(f(p)),!1}}}}function D({error:e,outcome:s}){return e?t(k,{value:e}):t("span",{class:"flash",role:"status",children:s})}function Q({task:e,live:s}){let r=g(),i=A(e.task.id),[o,u]=l(!!e.archivedAt),[n,a]=l(),p=()=>{a("busy"),i.setError(""),c.tasks.delete(e.task.id).then(()=>r.push("/dash/tasks")).catch(x=>{a(void 0),i.setError(f(x))})},v=()=>void i.run("archive").then(u);return t(d,{children:[t(D,{...i}),s?t("button",{type:"button",class:"btn outline",onClick:()=>void i.run("cancel"),children:"Stop"}):o?null:t("button",{type:"button",class:"btn outline archive",onClick:v,children:"Archive"}),t(y,{summary:t(b,{d:h}),summaryClass:"icon-btn",label:"More actions",children:[s&&!o?t(m,{title:"Archive",onClick:v}):null,t(m,{title:"Delete",danger:!0,onClick:()=>a("ask")})]}),t(C,{open:!!n,title:"Delete this task?",body:"Its conversation, activity and diff go with it.",confirmLabel:"Delete",busy:n==="busy",onConfirm:p,onClose:()=>a(void 0)})]})}function j({task:e}){let s=A(e.task.id),{id:r,action:i,reason:o}=T(e.approval),u=n=>void s.run("approve",{approvalId:r,decision:n});return t(w,{tone:"accent",title:"Approval needed",actions:e.task.flow==="default"?t(d,{children:[t(D,{...s}),t("button",{type:"button",class:"btn outline sm",onClick:()=>u("decline"),children:"Deny"}),t("button",{type:"button",class:"btn sm",onClick:()=>u("accept"),children:"Allow"})]}):void 0,children:t("div",{class:"body",children:[t("p",{class:"muted",children:"The task is paused until someone decides."}),t("p",{class:"approval",children:["The agent wants to run ",t("b",{children:i??"a tool"}),"."]}),o?t("p",{class:"muted",children:o}):null]})})}export{T as a,A as b,Q as c,j as d};
1
+ import{a as C}from"./confirm-f2fe4ba9905a89c6.js";import{a as w}from"./card-e0901d68b79dfa93.js";import{b as k}from"./field-901f1f35c18c39c9.js";import{g as f}from"./format-eb03fc9d9744d960.js";import{$6a as y}from"./shared-init-20e199043ff5d00f.js";import{$4a as g,$4b as m}from"./shared-init-20e199043ff5d00f.js";import{$5q as h}from"./shared-init-20e199043ff5d00f.js";import{$1a as b}from"./shared-init-88cce66bb3cfe1e5.js";import{$0b as c}from"./shared-init-88cce66bb3cfe1e5.js";import{$2a as t}from"./shared-init-88cce66bb3cfe1e5.js";import{$1c as d,$1g as l}from"./shared-init-8f2ac936c95a7f7b.js";function T(e){if(!e||typeof e!="object")return{};let s=e,r=(...i)=>i.map(o=>s[o]).find(o=>typeof o=="string");return{id:r("id"),action:r("kind","tool"),reason:r("summary","reason")}}var E={approve:"Decision sent.",archive:"Archived.",ask:"Question sent.",cancel:"Stop requested.",continue:"Sent.",steer:"Steer sent."};function A(e){let[s,r]=l(""),[i,o]=l("");return{error:s,outcome:i,setError:r,run:async(n,a={})=>{r(""),o("");try{return n==="approve"?await c.tasks.approve(e,a.approvalId??"",a.decision??"decline"):n==="ask"?await c.tasks.ask(e,a.question??""):n==="continue"||n==="steer"?await c.tasks[n](e,a.text??""):await c.tasks[n](e),o(E[n]),!0}catch(p){return r(f(p)),!1}}}}function D({error:e,outcome:s}){return e?t(k,{value:e}):t("span",{class:"flash",role:"status",children:s})}function Q({task:e,live:s}){let r=y(),i=A(e.task.id),[o,u]=l(!!e.archivedAt),[n,a]=l(),p=()=>{a("busy"),i.setError(""),c.tasks.delete(e.task.id).then(()=>r.push("/dash/tasks")).catch(x=>{a(void 0),i.setError(f(x))})},v=()=>void i.run("archive").then(u);return t(d,{children:[t(D,{...i}),s?t("button",{type:"button",class:"btn outline",onClick:()=>void i.run("cancel"),children:"Stop"}):o?null:t("button",{type:"button",class:"btn outline archive",onClick:v,children:"Archive"}),t(g,{summary:t(b,{d:h}),summaryClass:"icon-btn",label:"More actions",children:[s&&!o?t(m,{title:"Archive",onClick:v}):null,t(m,{title:"Delete",danger:!0,onClick:()=>a("ask")})]}),t(C,{open:!!n,title:"Delete this task?",body:"Its conversation, activity and diff go with it.",confirmLabel:"Delete",busy:n==="busy",onConfirm:p,onClose:()=>a(void 0)})]})}function j({task:e}){let s=A(e.task.id),{id:r,action:i,reason:o}=T(e.approval),u=n=>void s.run("approve",{approvalId:r,decision:n});return t(w,{tone:"accent",title:"Approval needed",actions:e.task.flow==="default"?t(d,{children:[t(D,{...s}),t("button",{type:"button",class:"btn outline sm",onClick:()=>u("decline"),children:"Deny"}),t("button",{type:"button",class:"btn sm",onClick:()=>u("accept"),children:"Allow"})]}):void 0,children:t("div",{class:"body",children:[t("p",{class:"muted",children:"The task is paused until someone decides."}),t("p",{class:"approval",children:["The agent wants to run ",t("b",{children:i??"a tool"}),"."]}),o?t("p",{class:"muted",children:o}):null]})})}export{T as a,A as b,Q as c,j as d};
@@ -1,3 +1,3 @@
1
- "use client";import{b as jt,c as Vt,d as Kt}from"./heads-f3bcd289663d48fa.js";import{b as Lt,c as Wt,d as Nt}from"./task-actions-8e1d93c788d001df.js";import"./confirm-f2fe4ba9905a89c6.js";import{a as Ft}from"./badge-676b01e0c615bf7b.js";import{a as $t,b as Ht}from"./instructions-052fa45a9daf6db6.js";import{d as et,e as st,f as J,g as Dt}from"./task-fa8b82e95e771c4a.js";import{a as U,c as tt}from"./card-e0901d68b79dfa93.js";import"./field-901f1f35c18c39c9.js";import{a as pt,b as gt,d as H,g as vt}from"./format-eb03fc9d9744d960.js";import"./sentinel-c972a33dc69a5135.js";import{$0a as zt,$0c as It,$0d as Rt}from"./shared-init-ffb3397e494137c9.js";import{$3c as At}from"./shared-init-ffb3397e494137c9.js";import"./wular-pnext-246221e985d863e5-0.js";import{$2a as _t}from"./shared-init-ffb3397e494137c9.js";import"./shared-init-ffb3397e494137c9.js";import{$4a as Ct}from"./shared-init-ffb3397e494137c9.js";import{$5A as Ot,$5a as bt,$5b as Z,$5c as St,$5e as B,$5j as yt,$5l as wt,$5o as kt,$5p as V,$5s as Tt,$5t as Et,$5w as xt,$5x as Mt}from"./shared-init-ffb3397e494137c9.js";import{$1a as L}from"./shared-init-88cce66bb3cfe1e5.js";import{$0a as mt,$0b as Q}from"./shared-init-88cce66bb3cfe1e5.js";import{$2a as a}from"./shared-init-88cce66bb3cfe1e5.js";import"./shared-init-246221e985d863e5-2.js";import"./shared-init-246221e985d863e5-2.js";import{$1c as D,$1g as E,$1h as dt,$1i as z,$1j as $,$1k as F,$1l as ft}from"./shared-init-8f2ac936c95a7f7b.js";var ee=n=>n.includes("approval")||n==="sidecar-decision"||n==="auto-review";function Y(n,o){return o?n.split(`${o}/`).join("").split(o).join("."):n}var X=class{constructor(o){this.cwd=o}prevKind=null;lastAssistant="";lastTool=null;lastToolText="";lastUsageTotal=0;get lastAssistantMessage(){return this.lastAssistant}reduce(o){let t=o.entry,s=t?String(t.kind??"status"):"line",e={seq:o.seq,at:o.at,kind:"status",title:"",sourceKind:s,separated:!1,tone:"muted"};if(!t)e.kind=o.level==="err"?"error":o.level==="sys"?"status":"line",e.title=Y(o.line,this.cwd),o.level==="err"&&(e.tone="error");else if(s==="usage"){let i=t.tokens;if(!i)return[];let r=this.lastUsageTotal>0,l=i.total-this.lastUsageTotal;if(!r||l<Math.max(2e4,this.lastUsageTotal*.2))return this.lastUsageTotal=Math.max(this.lastUsageTotal,i.total),[];this.lastUsageTotal=i.total,e.kind="usage",e.tokens=i,e.title=`ctx ${Pt(i.input+i.cachedInput)} \xB7 out ${Pt(i.output)}`}else if(ee(s)&&(t.decision||!t.message)){e.kind="approval";let i=s==="sidecar-decision"?"sidecar":s==="auto-review"?"auto-review":"approval",r=t.riskLevel?`(${String(t.riskLevel)} risk)`:"",l=Y(t.summary?String(t.summary):"",this.cwd),c=l.slice(l.indexOf(": ")+2),u=l&&c&&this.lastToolText.includes(c)?"":l,d=u?"":String(t.method??"");e.title=`${[i,String(t.decision??""),r,d].filter(Boolean).join(" ")}${u?` \xB7 ${u}`:""}`,e.detail=Y(t.reason?String(t.reason):"",this.cwd)}else{let i=t.message?String(t.message):String(t.kind??"");if(!i&&!(s==="tool-result"&&(t.exitCode!=null||t.isError)))return[];if(e.title=Y(i,this.cwd),s==="assistant")e.kind="assistant",e.tone=void 0,this.lastAssistant=e.title;else if(s==="error"||s==="steer")e.kind=s,e.tone=s==="error"?"error":"warning";else if(s==="reasoning")e.kind="reasoning",e.durationMs=typeof t.durationMs=="number"?t.durationMs:0;else if(s==="tool")e.kind="tool",this.lastTool=t.tool?String(t.tool):null,this.lastToolText=e.title;else if(s==="tool-result"){e.kind="tool-result",e.exitCode=typeof t.exitCode=="number"?t.exitCode:void 0,e.tone=e.exitCode!==void 0&&e.exitCode!==0||t.isError===!0?"error":"muted",e.durationMs=typeof t.durationMs=="number"?t.durationMs:0;let r=t.tool?String(t.tool):null;r&&r!==this.lastTool&&(e.tool=r)}}return this.prevKind!==null&&(e.separated=["assistant","error","steer"].includes(s)||s==="reasoning"&&this.prevKind!=="reasoning"||s==="tool"&&["assistant","reasoning"].includes(this.prevKind)),this.prevKind=s,[e]}};function Pt(n){return n<1e3?String(n):n<1e6?`${(n/1e3).toFixed(n<1e4?1:0)}k`:`${(n/1e6).toFixed(1)}M`}function qt(n,o,t){let s=new Array(n);return new Proxy(s,{get(e,i,r){if(typeof i=="string"){let l=i.charCodeAt(0);if(l>=48&&l<=57){let c=+i;if(Number.isInteger(c)&&c>=0&&c<n){let u=e[c];if(!u){let d=o[c*2];u=e[c]={index:c,key:t(c),start:d,size:o[c*2+1],end:d+o[c*2+1],lane:0}}return u}}if(i==="length")return n}return Reflect.get(e,i,r)}})}function N(n,o,t){let s=t.initialDeps??[],e,i=!0;function r(){var l;let u=0,d=n();if(!(d.length!==s.length||d.some((w,m)=>s[m]!==w)))return e;s=d;let h=0;return e=o(...d),t?.onChange&&!(i&&t.skipInitialOnChange)&&t.onChange(e),i=!1,e}return r.updateDeps=l=>{s=l},r}function nt(n,o){if(n===void 0)throw new Error(`Unexpected undefined${o?`: ${o}`:""}`);return n}var Bt=(n,o)=>Math.abs(n-o)<1.01,Ut=(n,o,t)=>{let s;return function(...e){n.clearTimeout(s),s=n.setTimeout(()=>o.apply(this,e),t)}};var P,it=()=>{if(P!==void 0)return P;if(typeof navigator>"u")return P=!1;if(/iP(hone|od|ad)/.test(navigator.userAgent))return P=!0;let n=navigator.maxTouchPoints;return P=navigator.platform==="MacIntel"&&n!==void 0&&n>0};var se=n=>n,ne=n=>{let o=Math.max(n.startIndex-n.overscan,0),s=Math.min(n.endIndex+n.overscan,n.count-1)-o+1,e=new Array(s);for(let i=0;i<s;i++)e[i]=o+i;return e};var q={passive:!0},Jt=(n,o)=>{let t=n.scrollElement;if(!t)return;let s=()=>{o({width:t.innerWidth,height:t.innerHeight})};return s(),t.addEventListener("resize",s,q),()=>{t.removeEventListener("resize",s)}},ie=typeof window>"u"?!0:"onscrollend"in window,oe=(n,o,t)=>{let s=n.scrollElement;if(!s)return;let e=n.targetWindow;if(!e)return;let i=n.options.useScrollendEvent&&ie,r=0,l=i?null:Ut(e,()=>o(r,!1),n.options.isScrollingResetDelay),c=p=>()=>{r=t(s),l?.(),o(r,p)},u=c(!0),d=c(!1);return s.addEventListener("scroll",u,q),i&&s.addEventListener("scrollend",d,q),()=>{s.removeEventListener("scroll",u),i&&s.removeEventListener("scrollend",d)}};var Yt=(n,o)=>oe(n,o,t=>n.options.horizontal?t.scrollX:t.scrollY),re=(n,o,t)=>{if(t.options.useCachedMeasurements){let s=t.indexFromElement(n),e=t.options.getItemKey(s);return t.itemSizeCache.get(e)??t.options.estimateSize(s)}if(o?.borderBoxSize){let s=o.borderBoxSize[0];if(s)return Math.round(s[t.options.horizontal?"inlineSize":"blockSize"])}if(!o){let s=t.indexFromElement(n),e=t.options.getItemKey(s),i=t.itemSizeCache.get(e);if(i!==void 0)return i}return n[t.options.horizontal?"offsetWidth":"offsetHeight"]},le=(n,{adjustments:o=0,behavior:t},s)=>{var e,i;(i=(e=s.scrollElement)==null?void 0:e.scrollTo)==null||i.call(e,{[s.options.horizontal?"left":"top"]:n+o,behavior:t})},Xt=le;var G=class{constructor(o){this.unsubs=[],this.scrollElement=null,this.targetWindow=null,this.isScrolling=!1,this.scrollState=null,this.measurementsCache=[],this._flatMeasurements=null,this.itemSizeCache=new Map,this.itemSizeCacheVersion=0,this.laneAssignments=new Map,this.pendingMin=null,this.prevLanes=void 0,this.lanesChangedFlag=!1,this.lanesSettling=!1,this.pendingScrollAnchor=null,this.scrollRect=null,this.scrollOffset=null,this.scrollDirection=null,this.scrollAdjustments=0,this._iosDeferredAdjustment=0,this._iosTouching=!1,this._iosJustTouchEnded=!1,this._iosTouchEndTimerId=null,this._intendedScrollOffset=null,this.elementsCache=new Map,this.now=()=>{var t,s,e;return((e=(s=(t=this.targetWindow)==null?void 0:t.performance)==null?void 0:s.now)==null?void 0:e.call(s))??Date.now()},this.observer=(()=>{let t=null,s=()=>t||(!this.targetWindow||!this.targetWindow.ResizeObserver?null:t=new this.targetWindow.ResizeObserver(e=>{e.forEach(i=>{let r=()=>{let l=i.target,c=this.indexFromElement(l);if(!l.isConnected){this.observer.unobserve(l);for(let[u,d]of this.elementsCache)if(d===l){this.elementsCache.delete(u);break}return}this.shouldMeasureDuringScroll(c)&&this.resizeItem(c,this.options.measureElement(l,i,this))};this.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(r):r()})}));return{disconnect:()=>{var e;(e=s())==null||e.disconnect(),t=null},observe:e=>{var i;return(i=s())==null?void 0:i.observe(e,{box:"border-box"})},unobserve:e=>{var i;return(i=s())==null?void 0:i.unobserve(e)}}})(),this.range=null,this.setOptions=t=>{var s,e;let i={debug:!1,initialOffset:0,overscan:1,paddingStart:0,paddingEnd:0,scrollPaddingStart:0,scrollPaddingEnd:0,horizontal:!1,getItemKey:se,rangeExtractor:ne,onChange:()=>{},measureElement:re,initialRect:{width:0,height:0},scrollMargin:0,gap:0,indexAttribute:"data-index",initialMeasurementsCache:[],lanes:1,anchorTo:"start",followOnAppend:!1,scrollEndThreshold:1,isScrollingResetDelay:150,enabled:!0,isRtl:!1,useScrollendEvent:!1,useAnimationFrameWithResizeObserver:!1,laneAssignmentMode:"estimate",useCachedMeasurements:!1};for(let h in t){let w=t[h];w!==void 0&&(i[h]=w)}let r=this.options,l=null,c=null,u=!1;if(r!==void 0&&r.enabled&&i.enabled&&i.anchorTo==="end"&&this.scrollElement!==null){let h=r.count,w=i.count,m=this.getMeasurements(),k=h>0?((s=m[0])==null?void 0:s.key)??r.getItemKey(0):null,y=h>0?((e=m[h-1])==null?void 0:e.key)??r.getItemKey(h-1):null;if(w!==h||h>0&&w>0&&(i.getItemKey(0)!==k||i.getItemKey(w-1)!==y)){u=!0;let b=h>0?this.getVirtualItemForOffset(this.getScrollOffset())??m[0]:null;b&&(l=[b.key,this.getScrollOffset()-b.start]);let O=i.followOnAppend===!0?"auto":i.followOnAppend||null;O&&w>h&&this.isAtEnd(r.scrollEndThreshold)&&(h===0||i.getItemKey(w-1)!==y)&&(c=O)}}this.options=i,u&&(this.pendingMin=0,this.itemSizeCacheVersion++);let d=!1,p=0;if(l&&this.scrollOffset!==null){let[h,w]=l,m=this.getMeasurements(),{count:k,getItemKey:y}=this.options,v=0;for(;v<k&&y(v)!==h;)v++;if(v<k){let x=m[v];if(x){let b=x.start+w;b!==this.scrollOffset&&(p=b-this.scrollOffset,this.scrollOffset=b,d=!0)}}}(d||c)&&(this.pendingScrollAnchor=[d?l[0]:null,d?l[1]:0,c,p])},this.notify=t=>{var s,e;(e=(s=this.options).onChange)==null||e.call(s,this,t)},this.maybeNotify=N(()=>(this.calculateRange(),[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]),t=>{this.notify(t)},{key:!1,debug:()=>this.options.debug,initialDeps:[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]}),this.cleanup=()=>{this.unsubs.filter(Boolean).forEach(t=>t()),this.unsubs=[],this.observer.disconnect(),this.rafId!=null&&this.targetWindow&&(this.targetWindow.cancelAnimationFrame(this.rafId),this.rafId=null),this.scrollState=null,this.scrollElement=null,this.targetWindow=null},this._didMount=()=>()=>{this.cleanup()},this._willUpdate=()=>{var t;let s=this.options.enabled?this.options.getScrollElement():null;if(this.scrollElement!==s){if(this.cleanup(),!s){this.maybeNotify();return}if(this.scrollElement=s,this.scrollElement&&"ownerDocument"in this.scrollElement?this.targetWindow=this.scrollElement.ownerDocument.defaultView:this.targetWindow=((t=this.scrollElement)==null?void 0:t.window)??null,this.elementsCache.forEach(i=>{this.observer.observe(i)}),this.unsubs.push(this.options.observeElementRect(this,i=>{this.scrollRect=i,this.maybeNotify()})),this.unsubs.push(this.options.observeElementOffset(this,(i,r)=>{this._intendedScrollOffset!==null&&Math.abs(i-this._intendedScrollOffset)<1.5&&(i=this._intendedScrollOffset),this._intendedScrollOffset=null,this.scrollAdjustments=0,this.scrollDirection=r?this.getScrollOffset()<i?"forward":"backward":null,this.scrollOffset=i,this.isScrolling=r,this._flushIosDeferredIfReady(),this.scrollState&&this.scheduleScrollReconcile(),this.maybeNotify()})),"addEventListener"in this.scrollElement){let i=this.scrollElement,r=()=>{this._iosTouching=!0,this._iosJustTouchEnded=!1,this._iosTouchEndTimerId!==null&&this.targetWindow!=null&&(this.targetWindow.clearTimeout(this._iosTouchEndTimerId),this._iosTouchEndTimerId=null)},l=()=>{this._iosTouching=!1,!(!it()||this.targetWindow==null)&&(this._iosJustTouchEnded=!0,this._iosTouchEndTimerId=this.targetWindow.setTimeout(()=>{this._iosJustTouchEnded=!1,this._iosTouchEndTimerId=null,this._flushIosDeferredIfReady()},150))};i.addEventListener("touchstart",r,q),i.addEventListener("touchend",l,q),this.unsubs.push(()=>{i.removeEventListener("touchstart",r),i.removeEventListener("touchend",l),this._iosTouchEndTimerId!==null&&this.targetWindow!=null&&(this.targetWindow.clearTimeout(this._iosTouchEndTimerId),this._iosTouchEndTimerId=null)})}this._scrollToOffset(this.getScrollOffset(),{adjustments:void 0,behavior:void 0})}let e=this.pendingScrollAnchor;if(this.pendingScrollAnchor=null,e&&this.scrollElement&&this.options.enabled){let[i,r,l,c]=e;i!==null&&!l&&(it()&&(this.isScrolling||this._iosTouching||this._iosJustTouchEnded)?c!==0&&(this._iosDeferredAdjustment+=c):this._scrollToOffset(this.getScrollOffset(),{adjustments:void 0,behavior:void 0})),l&&this.scrollToEnd({behavior:l})}},this._flushIosDeferredIfReady=()=>{if(this._iosDeferredAdjustment===0||this.isScrolling||this._iosTouching||this._iosJustTouchEnded)return;let t=this.getScrollOffset(),s=this.getMaxScrollOffset();if(t<0||t>s)return;let e=this._iosDeferredAdjustment;this._iosDeferredAdjustment=0,this._scrollToOffset(t,{adjustments:this.scrollAdjustments+=e,behavior:void 0})},this.rafId=null,this.getSize=()=>this.options.enabled?(this.scrollRect=this.scrollRect??this.options.initialRect,this.scrollRect[this.options.horizontal?"width":"height"]):(this.scrollRect=null,0),this.getScrollOffset=()=>this.options.enabled?(this.scrollOffset=this.scrollOffset??(typeof this.options.initialOffset=="function"?this.options.initialOffset():this.options.initialOffset),this.scrollOffset):(this.scrollOffset=null,0),this.getFurthestMeasurement=(t,s)=>{let e=new Map,i=new Map;for(let r=s-1;r>=0;r--){let l=t[r];if(e.has(l.lane))continue;let c=i.get(l.lane);if(c==null||l.end>c.end?i.set(l.lane,l):l.end<c.end&&e.set(l.lane,!0),e.size===this.options.lanes)break}return i.size===this.options.lanes?Array.from(i.values()).sort((r,l)=>r.end===l.end?r.index-l.index:r.end-l.end)[0]:void 0},this.getMeasurementOptions=N(()=>[this.options.count,this.options.paddingStart,this.options.scrollMargin,this.options.getItemKey,this.options.enabled,this.options.lanes,this.options.laneAssignmentMode],(t,s,e,i,r,l,c)=>(this.prevLanes!==void 0&&this.prevLanes!==l&&(this.lanesChangedFlag=!0),this.prevLanes=l,this.pendingMin=null,{count:t,paddingStart:s,scrollMargin:e,getItemKey:i,enabled:r,lanes:l,laneAssignmentMode:c}),{key:!1}),this.getMeasurements=N(()=>[this.getMeasurementOptions(),this.itemSizeCacheVersion],({count:t,paddingStart:s,scrollMargin:e,getItemKey:i,enabled:r,lanes:l,laneAssignmentMode:c},u)=>{let d=this.itemSizeCache;if(!r)return this.measurementsCache=[],this.itemSizeCache.clear(),this.laneAssignments.clear(),[];if(this.laneAssignments.size>t)for(let m of this.laneAssignments.keys())m>=t&&this.laneAssignments.delete(m);this.lanesChangedFlag&&(this.lanesChangedFlag=!1,this.lanesSettling=!0,this.measurementsCache=[],this.itemSizeCache.clear(),this.laneAssignments.clear(),this.pendingMin=null),this.measurementsCache.length===0&&!this.lanesSettling&&(this.measurementsCache=this.options.initialMeasurementsCache,this.measurementsCache.forEach(m=>{this.itemSizeCache.set(m.key,m.size)}));let p=this.lanesSettling?0:this.pendingMin??0;if(this.pendingMin=null,this.lanesSettling&&this.measurementsCache.length===t&&(this.lanesSettling=!1),l===1){let m=this.options.gap,k=t*2,y=this._flatMeasurements;if(!y||y.length<k){let b=new Float64Array(k);y&&p>0&&b.set(y.subarray(0,p*2)),y=b,this._flatMeasurements=y}let v;if(p===0)v=s+e;else{let b=p-1;v=y[b*2]+y[b*2+1]+m}for(let b=p;b<t;b++){let O=i(b),A=d.get(O),C=typeof A=="number"?A:this.options.estimateSize(b);y[b*2]=v,y[b*2+1]=C,v+=C+m}let x=qt(t,y,i);return this.measurementsCache=x,x}let h=this.measurementsCache.slice(0,p),w=new Array(l).fill(void 0);for(let m=0;m<p;m++){let k=h[m];k&&(w[k.lane]=m)}for(let m=p;m<t;m++){let k=i(m),y=this.laneAssignments.get(m),v,x,b=c==="estimate"||d.has(k);if(y!==void 0&&this.options.lanes>1){v=y;let _=w[v],W=_!==void 0?h[_]:void 0;x=W?W.end+this.options.gap:s+e}else{let _=this.options.lanes===1?h[m-1]:this.getFurthestMeasurement(h,m);x=_?_.end+this.options.gap:s+e,v=_?_.lane:m%this.options.lanes,this.options.lanes>1&&b&&this.laneAssignments.set(m,v)}let O=d.get(k),A=typeof O=="number"?O:this.options.estimateSize(m),C=x+A;h[m]={index:m,start:x,size:A,end:C,key:k,lane:v},w[v]=m}return this.measurementsCache=h,h},{key:!1,debug:()=>this.options.debug}),this.calculateRange=N(()=>[this.getMeasurements(),this.getSize(),this.getScrollOffset(),this.options.lanes],(t,s,e,i)=>this.range=t.length>0&&s>0?ae({measurements:t,outerSize:s,scrollOffset:e,lanes:i,flat:i===1&&this._flatMeasurements!=null?this._flatMeasurements:null}):null,{key:!1,debug:()=>this.options.debug}),this.getVirtualIndexes=N(()=>{let t=null,s=null,e=this.calculateRange();return e&&(t=e.startIndex,s=e.endIndex),this.maybeNotify.updateDeps([this.isScrolling,t,s]),[this.options.rangeExtractor,this.options.overscan,this.options.count,t,s]},(t,s,e,i,r)=>i===null||r===null?[]:t({startIndex:i,endIndex:r,overscan:s,count:e}),{key:!1,debug:()=>this.options.debug}),this.indexFromElement=t=>{let s=this.options.indexAttribute,e=t.getAttribute(s);return e?parseInt(e,10):(console.warn(`Missing attribute name '${s}={index}' on measured element.`),-1)},this.shouldMeasureDuringScroll=t=>{var s;if(!this.scrollState||this.scrollState.behavior!=="smooth")return!0;let e=this.scrollState.index??((s=this.getVirtualItemForOffset(this.scrollState.lastTargetOffset))==null?void 0:s.index);if(e!==void 0&&this.range){let i=Math.max(this.options.overscan,Math.ceil((this.range.endIndex-this.range.startIndex)/2)),r=Math.max(0,e-i),l=Math.min(this.options.count-1,e+i);return t>=r&&t<=l}return!0},this.measureElement=t=>{if(!t){this.elementsCache.forEach((r,l)=>{r.isConnected||(this.observer.unobserve(r),this.elementsCache.delete(l))});return}let s=this.indexFromElement(t),e=this.options.getItemKey(s),i=this.elementsCache.get(e);i!==t&&(i&&this.observer.unobserve(i),this.observer.observe(t),this.elementsCache.set(e,t)),(!this.isScrolling||this.scrollState)&&this.shouldMeasureDuringScroll(s)&&this.resizeItem(s,this.options.measureElement(t,void 0,this))},this.resizeItem=(t,s)=>{var e,i;if(t<0||t>=this.options.count)return;let r,l,c,u=this._flatMeasurements;if(this.options.lanes===1&&u!==null)c=this.options.getItemKey(t),l=u[t*2],r=u[t*2+1];else{let h=this.measurementsCache[t];if(!h)return;c=h.key,l=h.start,r=h.size}let d=this.itemSizeCache.get(c)??r,p=s-d;if(p!==0){let h=this.options.anchorTo==="end"&&((e=this.scrollState)==null?void 0:e.behavior)!=="smooth"&&this.getVirtualDistanceFromEnd()<=this.options.scrollEndThreshold,w=h?this.getTotalSize():0,m=((i=this.scrollState)==null?void 0:i.behavior)!=="smooth"&&(this.shouldAdjustScrollPositionOnItemSizeChange!==void 0?this.shouldAdjustScrollPositionOnItemSizeChange(this.measurementsCache[t]??{index:t,key:c,start:l,size:r,end:l+r,lane:0},p,this):l<this.getScrollOffset()+this.scrollAdjustments&&(!this.itemSizeCache.has(c)||this.scrollDirection!=="backward"));(this.pendingMin===null||t<this.pendingMin)&&(this.pendingMin=t),this.itemSizeCache.set(c,s),this.itemSizeCacheVersion++,h?this.applyScrollAdjustment(this.getTotalSize()-w):m&&this.applyScrollAdjustment(p),this.notify(!1)}},this.getVirtualItems=N(()=>[this.getVirtualIndexes(),this.getMeasurements()],(t,s)=>{let e=[];for(let i=0,r=t.length;i<r;i++){let l=t[i],c=s[l];e.push(c)}return e},{key:!1,debug:()=>this.options.debug}),this.getVirtualItemForOffset=t=>{let s=this.getMeasurements();if(s.length===0)return;let e=this._flatMeasurements,i=this.options.lanes===1&&e!=null,r=Gt(0,s.length-1,i?l=>e[l*2]:l=>nt(s[l]).start,t);return nt(s[r])},this.getMaxScrollOffset=()=>{if(!this.scrollElement)return 0;if("scrollHeight"in this.scrollElement)return this.options.horizontal?this.scrollElement.scrollWidth-this.scrollElement.clientWidth:this.scrollElement.scrollHeight-this.scrollElement.clientHeight;{let t=this.scrollElement.document.documentElement;return this.options.horizontal?t.scrollWidth-this.scrollElement.innerWidth:t.scrollHeight-this.scrollElement.innerHeight}},this.getVirtualDistanceFromEnd=()=>Math.max(this.getTotalSize()-this.getSize()-this.getScrollOffset(),0),this.getDistanceFromEnd=()=>Math.max(this.getMaxScrollOffset()-this.getScrollOffset(),0),this.isAtEnd=(t=this.options.scrollEndThreshold)=>this.getDistanceFromEnd()<=t,this.getOffsetForAlignment=(t,s,e=0)=>{if(!this.scrollElement)return 0;let i=this.getSize(),r=this.getScrollOffset();s==="auto"&&(s=t>=r+i?"end":"start"),s==="center"?t+=(e-i)/2:s==="end"&&(t-=i);let l=this.getMaxScrollOffset();return Math.max(Math.min(l,t),0)},this.getOffsetForIndex=(t,s="auto")=>{t=Math.max(0,Math.min(t,this.options.count-1));let e=this.getSize(),i=this.getScrollOffset(),r=this.measurementsCache[t];if(!r)return;if(s==="auto")if(r.end>=i+e-this.options.scrollPaddingEnd)s="end";else if(r.start<=i+this.options.scrollPaddingStart)s="start";else return[i,s];if(s==="end"&&t===this.options.count-1)return[this.getMaxScrollOffset(),s];let l=s==="end"?r.end+this.options.scrollPaddingEnd:r.start-this.options.scrollPaddingStart;return[this.getOffsetForAlignment(l,s,r.size),s]},this.scrollToOffset=(t,{align:s="start",behavior:e="auto"}={})=>{let i=this.getOffsetForAlignment(t,s),r=this.now();this.scrollState={index:null,align:s,behavior:e,startedAt:r,lastTargetOffset:i,stableFrames:0},this._scrollToOffset(i,{adjustments:void 0,behavior:e}),this.scheduleScrollReconcile()},this.scrollToIndex=(t,{align:s="auto",behavior:e="auto"}={})=>{t=Math.max(0,Math.min(t,this.options.count-1));let i=this.getOffsetForIndex(t,s);if(!i)return;let[r,l]=i,c=this.now();this.scrollState={index:t,align:l,behavior:e,startedAt:c,lastTargetOffset:r,stableFrames:0},this._scrollToOffset(r,{adjustments:void 0,behavior:e}),this.scheduleScrollReconcile()},this.scrollBy=(t,{behavior:s="auto"}={})=>{let e=this.getScrollOffset()+t,i=this.now();this.scrollState={index:null,align:"start",behavior:s,startedAt:i,lastTargetOffset:e,stableFrames:0},this._scrollToOffset(e,{adjustments:void 0,behavior:s}),this.scheduleScrollReconcile()},this.scrollToEnd=({behavior:t="auto"}={})=>{if(this.options.count>0){this.scrollToIndex(this.options.count-1,{align:"end",behavior:t});return}this.scrollToOffset(Math.max(this.getTotalSize()-this.getSize(),0),{behavior:t})},this.getTotalSize=()=>{var t;let s=this.getMeasurements(),e;if(s.length===0)e=this.options.paddingStart;else if(this.options.lanes===1){let i=s.length-1,r=this._flatMeasurements;r!=null?e=r[i*2]+r[i*2+1]:e=((t=s[i])==null?void 0:t.end)??0}else{let i=Array(this.options.lanes).fill(null),r=s.length-1;for(;r>=0&&i.some(l=>l===null);){let l=s[r];i[l.lane]===null&&(i[l.lane]=l.end),r--}e=Math.max(...i.filter(l=>l!==null))}return Math.max(e-this.options.scrollMargin+this.options.paddingEnd,0)},this.takeSnapshot=()=>{let t=[];if(this.itemSizeCache.size===0)return t;let s=this.getMeasurements();for(let e of s)e&&this.itemSizeCache.has(e.key)&&t.push({index:e.index,key:e.key,start:e.start,size:e.size,end:e.end,lane:e.lane});return t},this._scrollToOffset=(t,{adjustments:s,behavior:e})=>{this._intendedScrollOffset=t+(s??0),this.options.scrollToFn(t,{behavior:e,adjustments:s},this)},this.measure=()=>{this.pendingMin=null,this.itemSizeCache.clear(),this.laneAssignments.clear(),this.itemSizeCacheVersion++,this.notify(!1)},this.setOptions(o)}applyScrollAdjustment(o,t){o!==0&&(it()&&(this.isScrolling||this._iosTouching||this._iosJustTouchEnded)?this._iosDeferredAdjustment+=o:this._scrollToOffset(this.getScrollOffset(),{adjustments:this.scrollAdjustments+=o,behavior:t}))}scheduleScrollReconcile(){if(!this.targetWindow){this.scrollState=null;return}this.rafId==null&&(this.rafId=this.targetWindow.requestAnimationFrame(()=>{this.rafId=null,this.reconcileScroll()}))}reconcileScroll(){if(!this.scrollState||!this.scrollElement)return;if(this.now()-this.scrollState.startedAt>5e3){this.scrollState=null;return}let s=this.scrollState.index!=null?this.getOffsetForIndex(this.scrollState.index,this.scrollState.align):void 0,e=s?s[0]:this.scrollState.lastTargetOffset,i=1,r=e!==this.scrollState.lastTargetOffset;if(!r&&Bt(e,this.getScrollOffset())){if(this.scrollState.stableFrames++,this.scrollState.stableFrames>=i){this.getScrollOffset()!==e&&this._scrollToOffset(e,{adjustments:void 0,behavior:"auto"}),this.scrollState=null;return}}else if(this.scrollState.stableFrames=0,r){let l=this.getSize()||600,c=Math.abs(e-this.getScrollOffset()),u=this.scrollState.behavior==="smooth"&&c>l;this.scrollState.lastTargetOffset=e,u||(this.scrollState.behavior="auto"),this._scrollToOffset(e,{adjustments:void 0,behavior:u?"smooth":"auto"})}this.scheduleScrollReconcile()}},Gt=(n,o,t,s)=>{for(;n<=o;){let e=(n+o)/2|0,i=t(e);if(i<s)n=e+1;else if(i>s)o=e-1;else return e}return n>0?n-1:0};function ae({measurements:n,outerSize:o,scrollOffset:t,lanes:s,flat:e}){let i=n.length-1,r=e?d=>e[d*2]:d=>n[d].start,l=e?d=>e[d*2]+e[d*2+1]:d=>n[d].end;if(n.length<=s)return{startIndex:0,endIndex:i};let c=Gt(0,i,r,t),u=c;if(s===1)for(;u<i&&l(u)<t+o;)u++;else if(s>1){let d=Array(s).fill(0);for(;u<i&&d.some(h=>h<t+o);){let h=n[u];d[h.lane]=h.end,u++}let p=Array(s).fill(t+o);for(;c>=0&&p.some(h=>h>=t);){let h=n[c];p[h.lane]=h.start,c--}c=Math.max(0,c-c%s),u=Math.min(i,u+(s-1-u%s))}return{startIndex:c,endIndex:u}}var ce={assistant:Tt,tool:Mt,"tool-result":V,approval:yt,status:Z,error:xt,line:Z,reasoning:wt,steer:Et,usage:St},ue=n=>!!n.detail||n.title.length>120||n.title.includes(`
2
- `),he=()=>innerHeight+scrollY>=document.documentElement.scrollHeight-48;function de(n,o){let[,t]=dt(i=>i+1,0),s={count:n,estimateSize:()=>30,overscan:16,getScrollElement:()=>window,observeElementRect:Jt,observeElementOffset:Yt,scrollToFn:Xt,scrollMargin:o.current?o.current.getBoundingClientRect().top+scrollY:0,onChange:()=>t(0)},[e]=E(()=>new G(s));return e.setOptions(s),$(()=>e._didMount(),[]),$(()=>e._willUpdate()),e}function fe({row:n,tz:o,open:t,onToggle:s}){let e=F(null),[i,r]=E(!1);$(()=>{e.current&&r(e.current.scrollWidth>e.current.clientWidth)},[n.title]);let l=t||i||ue(n),c=n.tone==="error",u=n.kind==="tool-result"?[n.tool,n.exitCode!==void 0?`exit ${n.exitCode}`:void 0,n.durationMs?H(n.durationMs):void 0].filter(Boolean).join(" \xB7 "):n.kind==="reasoning"&&n.durationMs?H(n.durationMs):"";return a(l?"button":"div",{type:l?"button":void 0,class:`act ${n.kind}${n.tone?` ${n.tone}`:""}${n.separated?" sep":""}${t?" open":""}`,"aria-expanded":l?t:void 0,onClick:l?s:void 0,children:[a("time",{children:gt(n.at,o)}),a(L,{d:n.kind==="tool-result"&&c?kt:ce[n.kind]}),a("span",{class:"act-text",children:[a("span",{class:"act-title",ref:e,children:n.title}),u?a("span",{class:"act-detail",children:u}):null,n.detail?a("span",{class:"act-detail",children:n.detail}):null]}),l?a(L,{d:B,class:"act-chev"}):null]})}function Qt({rows:n,live:o,tz:t}){let s=F(null),[e,i]=E(new Set),[r,l]=E(o),c=de(n.length,s);return z(()=>{let u=()=>l(he());return addEventListener("scroll",u,{passive:!0}),()=>removeEventListener("scroll",u)},[]),$(()=>{r&&scrollTo({top:document.documentElement.scrollHeight})},[n.length]),n.length?a(D,{children:[a("div",{class:"act-list",ref:s,style:`height:${c.getTotalSize()}px`,role:"log","aria-live":"off",children:c.getVirtualItems().map(u=>{let d=n[u.index];return a("div",{class:"act-slot","data-index":u.index,ref:c.measureElement,style:`transform:translateY(${u.start-c.options.scrollMargin}px)`,children:a(fe,{row:d,tz:t,open:e.has(d.seq),onToggle:()=>i(p=>{let h=new Set(p);return h.delete(d.seq)||h.add(d.seq),h})})},d.seq)})}),r?null:a("button",{type:"button",class:"jump",onClick:()=>{l(!0),scrollTo({top:document.documentElement.scrollHeight})},children:"Jump to latest"})]}):a("p",{class:"act-empty muted",children:o?"Nothing yet. Events appear here as the task runs.":"No activity recorded."})}var me=["Conversation","Activity"];function rt(n,o){if(typeof n=="string")return n;if(!n||typeof n!="object")return o;let t=n;for(let s of["output","answer","message"])if(typeof t[s]=="string")return t[s];return o}var pe=n=>typeof n=="object"&&n!==null&&Array.isArray(n.findings)&&n.findings.every(o=>typeof o=="object"&&o!==null&&"file"in o&&"summary"in o);function ge({findings:n}){return n.length?a("ul",{class:"findings",children:n.map((o,t)=>a("li",{class:`finding ${o.severity}`,children:[a("p",{class:"finding-head",children:[a("span",{class:"sev",children:o.severity}),a("span",{class:"loc",children:[o.file,":",o.line]}),o.category?a("span",{class:"cat",children:o.category}):null]}),a("p",{class:"finding-sum",children:o.summary}),o.failure_scenario?a("p",{class:"finding-why muted",children:o.failure_scenario}):null]},t))}):a("p",{class:"body muted",children:"No findings."})}function ve({value:n}){let o=rt(n,"Result received."),t;if(/^\s*[[{]/.test(o))try{t=JSON.parse(o)}catch{}return pe(t)?a(ge,{findings:t.findings}):t&&typeof t=="object"?a("pre",{class:"body json",children:JSON.stringify(t,null,2)}):a("div",{class:"body md",children:Ht(o)})}function be(){let n=At();return a(Vt,{...jt(n.get("from"),{href:"/dash/tasks",params:{},label:"Tasks"}),back:n.get("back")})}function Se({id:n}){let[o,t]=E(!1),s=o?"Copied":"Copy task id";return z(()=>{if(!o)return;let e=setTimeout(()=>t(!1),1500);return()=>clearTimeout(e)},[o]),a("button",{type:"button",class:o?"copy copied":"copy","aria-label":s,title:s,onClick:()=>void navigator.clipboard.writeText(n).then(()=>t(!0)),children:a(L,{d:o?V:Ot})})}function ye({task:n,tz:o}){let t=st(n),s=n.task.event?.integration??n.task.source,e=n.task.event?.type??(n.task.flow!=="default"?n.task.flow:void 0);return a(Kt,{back:a(be,{}),title:J(n).split(`
3
- `)[0],meta:a(D,{children:[a(zt,{status:n.status}),n.archivedAt?a(Ft,{children:"archived"}):null]}),lead:a(D,{children:[a("span",{class:"task-id",children:n.task.id}),a(Se,{id:n.task.id}),a("span",{children:pt(n.createdAt,o)}),n.startedAt&&n.finishedAt?a("span",{children:H(n.finishedAt-n.startedAt)}):null,a("span",{children:e?`${et(s)} ${e}`:et(s)}),n.task.cwd?a("span",{title:n.task.cwd,children:Dt(n.task.cwd)}):null,a(_t,{class:"agent-link",href:"/dash/agents/[slug]",params:{slug:n.task.agent},search:{from:`/dash/tasks/${n.task.id}`},children:[a(L,{d:bt}),n.task.agent]})]}),actions:a(Wt,{task:n,live:t})})}function we(n){let o=F();return ft(()=>{let t=o.current??={log:new X,rows:[],seen:0};for(let s of n.slice(t.seen))t.rows.push(...t.log.reduce(s));return t.seen=n.length,[...t.rows]},[n])}function ds({initial:n,tz:o}){let[t,s]=E(n),[e,i]=E(n.logs??[]),[r,l]=E((n.logs?.length??0)<ot),[c,u]=E("conversation"),[d,p]=E([]),[h,w]=E(!1),[m,k]=E(0),y=F(t.answer?.length??0),[v,x]=E(!1),[b,O]=E(""),A=F(n.logs?.at(-1)?.seq??-1),C=F(null),_=F(null);z(()=>{let f=_.current,g=f?.closest(".page");if(!f||!g)return;let T=new ResizeObserver(()=>g.style.setProperty("--reply",`${f.offsetHeight}px`));return T.observe(f),()=>T.disconnect()},[t.task.flow]);let W=Lt(t.task.id),I=st(t),lt=t.task.flow==="default",Zt=we(e);z(()=>Rt(t.task.id,t.status,J(t)),[t.status]),z(()=>{W.error&&It("Not sent",W.error)},[W.error]);let at=f=>{let g=f.filter(T=>T.seq>A.current);g.length&&(A.current=g.at(-1).seq,i(T=>[...T,...g]))};z(()=>{I&&lt&&C.current?.focus()},[]),z(()=>{r||Q.tasks.logs(t.task.id,A.current,ot).then(f=>{at(f),f.length<ot&&l(!0)}).catch(f=>O(vt(f)))},[r,e.length]),z(()=>{if(!r||!I)return;let f=new AbortController;return(async()=>{for(;!f.signal.aborted;){try{let T=await Q.tasks.stream(t.task.id,A.current,f.signal);if(!T.ok||!T.body){O("Live updates stopped.");return}O("");for await(let S of mt(T.body))if(S.event==="log")at([JSON.parse(S.data)]);else if(S.event==="status")s(M=>({...M,...JSON.parse(S.data)}));else if(S.event==="end")return}catch{if(f.signal.aborted)return}O("Reconnecting."),await new Promise(T=>setTimeout(T,1e3))}})(),()=>f.abort()},[r,I]);let j=t.turns??[{prompt:t.task.prompt??t.task.event?.text??J(t),result:t.result,error:t.error,finishedAt:t.finishedAt}],ct=async()=>{let f=C.current?.value.trim();if(!f||h)return;let g=I?v?"ask":"steer":"continue";if(g==="ask"){C.current.value="",p(S=>[...S,{kind:g,text:f,turn:j.length-1}]),k(S=>S+1),W.run(g,{question:f}).then(S=>{if(k(M=>M-1),S)return u("conversation");p(M=>M.filter(R=>R.text!==f||R.kind!==g))});return}w(!0),await W.run(g,{text:f}).finally(()=>w(!1))&&(C.current.value="",g==="continue"?s(S=>({...S,status:"queued",result:void 0,error:void 0,finishedAt:void 0,turns:[...j.map((M,R)=>R===j.length-1?{...M,finishedAt:M.finishedAt??Date.now()}:M),{prompt:f}]})):(p(S=>[...S,{kind:g,text:f,turn:j.length-1}]),u("activity")))},ut=f=>{x(f),setTimeout(()=>C.current?.focus())},ke=t.result;return a(D,{children:[a(ye,{task:t,tz:o}),t.fallbacks?.map((f,g)=>a("p",{class:"flash",role:"status",children:[f.engine," was unavailable. ",f.detail," This task is using ",f.next,"."]},g)),a("nav",{class:"tabs",role:"tablist","aria-label":"Task",children:me.map(f=>{let g=f.toLowerCase();return a("button",{type:"button",role:"tab","aria-selected":c===g,"aria-current":c===g?"page":void 0,onClick:()=>u(g),children:f},g)})}),b?a("p",{class:"flash err",role:"status",children:b}):null,c==="activity"?a(Qt,{rows:Zt,live:I,tz:o}):a("div",{class:"convo",children:j.map((f,g)=>{let T=g===j.length-1;return a(D,{children:[a("div",{class:"turn prompt",children:[a("p",{class:"who",children:"Prompt"}),a($t,{class:"prose",children:f.prompt})]}),T&&t.approval?a(Nt,{task:t}):null,T?(t.answer??[]).slice(0,y.current).map((S,M)=>a("div",{class:"turn answer",children:[a("p",{class:"who",children:"Answer"}),a("div",{class:"prose",children:rt(S,"Answer received.")})]},`a${M}`)):null,d.filter(S=>S.turn===g).map((S,M)=>{let R=S.kind==="ask"?d.filter(te=>te.kind==="ask").indexOf(S):-1,ht=R<0?void 0:t.answer?.[y.current+R];return a("div",{class:R<0?"turn you":"turn you qa",children:[a("p",{class:"who",children:S.kind==="ask"?"You asked":"You steered"}),a("div",{class:"prose",children:S.text}),R<0?null:a("div",{class:"answer",children:[a("p",{class:"who",children:"Answer"}),ht===void 0?a(tt,{inline:!0,dots:!0,label:"Answering without interrupting the run."}):a("div",{class:"prose",children:rt(ht,"Answer received.")})]})]},M)}),f.result?a(U,{title:"Result",children:a(ve,{value:f.result})}):T&&I?a(U,{title:"Result",children:a("div",{class:"body waiting",children:a(tt,{inline:!0,dots:!0,label:"The result appears here when the task finishes."})})}):null,f.error?a(U,{tone:"danger",title:"Error",children:a("div",{class:"body prose",children:f.error})}):null]},g)})}),lt?a("form",{ref:_,class:"reply",onSubmit:f=>{f.preventDefault(),ct()},children:a("div",{class:"reply-box",children:[I?a(Ct,{summary:a(D,{children:[v?"Ask":"Steer",a(L,{d:B})]}),summaryClass:"mode",label:"Send as",align:"up",wide:!0,children:[a("button",{type:"button",class:"pop-item rich",role:"menuitemradio","aria-checked":!v,onClick:()=>ut(!1),children:[a("span",{class:"grow",children:["Steer",a("small",{children:"Change course while it works."})]}),a(L,{d:V})]}),a("button",{type:"button",class:"pop-item rich",role:"menuitemradio","aria-checked":v,onClick:()=>ut(!0),children:[a("span",{class:"grow",children:["Ask",a("small",{children:"A question that does not interrupt it."})]}),a(L,{d:V})]})]}):null,a("textarea",{ref:C,rows:1,"aria-label":"Message",autofocus:I,placeholder:I?v?"Ask about the run without interrupting it.":"Steer the agent while it works.":"Continue the conversation.",onKeyDown:f=>{f.key!=="Enter"||f.shiftKey||f.isComposing||(f.preventDefault(),ct())}}),a("button",{class:"btn sm",disabled:h,"aria-busy":h||m>0,children:"Send"})]})}):a("p",{class:"muted no-reply",children:"This flow takes no follow-ups."})]})}var ot=500;export{ot as LOG_CHUNK,ds as TaskView};
1
+ "use client";import{b as jt,c as Vt,d as Kt}from"./heads-1570a3a6db331979.js";import{b as Lt,c as Wt,d as Nt}from"./task-actions-a9603d520434baab.js";import"./confirm-f2fe4ba9905a89c6.js";import{a as Ft}from"./badge-676b01e0c615bf7b.js";import{a as $t,b as Ht}from"./instructions-052fa45a9daf6db6.js";import{d as et,e as st,f as J,g as Dt}from"./task-fa8b82e95e771c4a.js";import{a as U,c as tt}from"./card-e0901d68b79dfa93.js";import"./field-901f1f35c18c39c9.js";import{a as pt,b as gt,d as H,g as vt}from"./format-eb03fc9d9744d960.js";import"./sentinel-c972a33dc69a5135.js";import{$0a as zt,$0c as It,$0d as Rt}from"./shared-init-20e199043ff5d00f.js";import{$6c as Ct}from"./shared-init-20e199043ff5d00f.js";import"./wular-pnext-246221e985d863e5-0.js";import{$1a as _t}from"./shared-init-20e199043ff5d00f.js";import"./shared-init-20e199043ff5d00f.js";import{$4a as At}from"./shared-init-20e199043ff5d00f.js";import{$5A as Ot,$5a as bt,$5b as Z,$5c as St,$5e as B,$5j as yt,$5l as wt,$5o as kt,$5p as V,$5s as Tt,$5t as Et,$5w as xt,$5x as Mt}from"./shared-init-20e199043ff5d00f.js";import{$1a as L}from"./shared-init-88cce66bb3cfe1e5.js";import{$0a as mt,$0b as Q}from"./shared-init-88cce66bb3cfe1e5.js";import{$2a as a}from"./shared-init-88cce66bb3cfe1e5.js";import"./shared-init-246221e985d863e5-2.js";import"./shared-init-246221e985d863e5-2.js";import{$1c as D,$1g as E,$1h as dt,$1i as z,$1j as $,$1k as F,$1l as ft}from"./shared-init-8f2ac936c95a7f7b.js";var ee=n=>n.includes("approval")||n==="sidecar-decision"||n==="auto-review";function Y(n,o){return o?n.split(`${o}/`).join("").split(o).join("."):n}var X=class{constructor(o){this.cwd=o}prevKind=null;lastAssistant="";lastTool=null;lastToolText="";lastUsageTotal=0;get lastAssistantMessage(){return this.lastAssistant}reduce(o){let t=o.entry,s=t?String(t.kind??"status"):"line",e={seq:o.seq,at:o.at,kind:"status",title:"",sourceKind:s,separated:!1,tone:"muted"};if(!t)e.kind=o.level==="err"?"error":o.level==="sys"?"status":"line",e.title=Y(o.line,this.cwd),o.level==="err"&&(e.tone="error");else if(s==="usage"){let i=t.tokens;if(!i)return[];let r=this.lastUsageTotal>0,l=i.total-this.lastUsageTotal;if(!r||l<Math.max(2e4,this.lastUsageTotal*.2))return this.lastUsageTotal=Math.max(this.lastUsageTotal,i.total),[];this.lastUsageTotal=i.total,e.kind="usage",e.tokens=i,e.title=`ctx ${Pt(i.input+i.cachedInput)} \xB7 out ${Pt(i.output)}`}else if(ee(s)&&(t.decision||!t.message)){e.kind="approval";let i=s==="sidecar-decision"?"sidecar":s==="auto-review"?"auto-review":"approval",r=t.riskLevel?`(${String(t.riskLevel)} risk)`:"",l=Y(t.summary?String(t.summary):"",this.cwd),c=l.slice(l.indexOf(": ")+2),u=l&&c&&this.lastToolText.includes(c)?"":l,d=u?"":String(t.method??"");e.title=`${[i,String(t.decision??""),r,d].filter(Boolean).join(" ")}${u?` \xB7 ${u}`:""}`,e.detail=Y(t.reason?String(t.reason):"",this.cwd)}else{let i=t.message?String(t.message):String(t.kind??"");if(!i&&!(s==="tool-result"&&(t.exitCode!=null||t.isError)))return[];if(e.title=Y(i,this.cwd),s==="assistant")e.kind="assistant",e.tone=void 0,this.lastAssistant=e.title;else if(s==="error"||s==="steer")e.kind=s,e.tone=s==="error"?"error":"warning";else if(s==="reasoning")e.kind="reasoning",e.durationMs=typeof t.durationMs=="number"?t.durationMs:0;else if(s==="tool")e.kind="tool",this.lastTool=t.tool?String(t.tool):null,this.lastToolText=e.title;else if(s==="tool-result"){e.kind="tool-result",e.exitCode=typeof t.exitCode=="number"?t.exitCode:void 0,e.tone=e.exitCode!==void 0&&e.exitCode!==0||t.isError===!0?"error":"muted",e.durationMs=typeof t.durationMs=="number"?t.durationMs:0;let r=t.tool?String(t.tool):null;r&&r!==this.lastTool&&(e.tool=r)}}return this.prevKind!==null&&(e.separated=["assistant","error","steer"].includes(s)||s==="reasoning"&&this.prevKind!=="reasoning"||s==="tool"&&["assistant","reasoning"].includes(this.prevKind)),this.prevKind=s,[e]}};function Pt(n){return n<1e3?String(n):n<1e6?`${(n/1e3).toFixed(n<1e4?1:0)}k`:`${(n/1e6).toFixed(1)}M`}function qt(n,o,t){let s=new Array(n);return new Proxy(s,{get(e,i,r){if(typeof i=="string"){let l=i.charCodeAt(0);if(l>=48&&l<=57){let c=+i;if(Number.isInteger(c)&&c>=0&&c<n){let u=e[c];if(!u){let d=o[c*2];u=e[c]={index:c,key:t(c),start:d,size:o[c*2+1],end:d+o[c*2+1],lane:0}}return u}}if(i==="length")return n}return Reflect.get(e,i,r)}})}function N(n,o,t){let s=t.initialDeps??[],e,i=!0;function r(){var l;let u=0,d=n();if(!(d.length!==s.length||d.some((w,m)=>s[m]!==w)))return e;s=d;let h=0;return e=o(...d),t?.onChange&&!(i&&t.skipInitialOnChange)&&t.onChange(e),i=!1,e}return r.updateDeps=l=>{s=l},r}function nt(n,o){if(n===void 0)throw new Error(`Unexpected undefined${o?`: ${o}`:""}`);return n}var Bt=(n,o)=>Math.abs(n-o)<1.01,Ut=(n,o,t)=>{let s;return function(...e){n.clearTimeout(s),s=n.setTimeout(()=>o.apply(this,e),t)}};var P,it=()=>{if(P!==void 0)return P;if(typeof navigator>"u")return P=!1;if(/iP(hone|od|ad)/.test(navigator.userAgent))return P=!0;let n=navigator.maxTouchPoints;return P=navigator.platform==="MacIntel"&&n!==void 0&&n>0};var se=n=>n,ne=n=>{let o=Math.max(n.startIndex-n.overscan,0),s=Math.min(n.endIndex+n.overscan,n.count-1)-o+1,e=new Array(s);for(let i=0;i<s;i++)e[i]=o+i;return e};var q={passive:!0},Jt=(n,o)=>{let t=n.scrollElement;if(!t)return;let s=()=>{o({width:t.innerWidth,height:t.innerHeight})};return s(),t.addEventListener("resize",s,q),()=>{t.removeEventListener("resize",s)}},ie=typeof window>"u"?!0:"onscrollend"in window,oe=(n,o,t)=>{let s=n.scrollElement;if(!s)return;let e=n.targetWindow;if(!e)return;let i=n.options.useScrollendEvent&&ie,r=0,l=i?null:Ut(e,()=>o(r,!1),n.options.isScrollingResetDelay),c=p=>()=>{r=t(s),l?.(),o(r,p)},u=c(!0),d=c(!1);return s.addEventListener("scroll",u,q),i&&s.addEventListener("scrollend",d,q),()=>{s.removeEventListener("scroll",u),i&&s.removeEventListener("scrollend",d)}};var Yt=(n,o)=>oe(n,o,t=>n.options.horizontal?t.scrollX:t.scrollY),re=(n,o,t)=>{if(t.options.useCachedMeasurements){let s=t.indexFromElement(n),e=t.options.getItemKey(s);return t.itemSizeCache.get(e)??t.options.estimateSize(s)}if(o?.borderBoxSize){let s=o.borderBoxSize[0];if(s)return Math.round(s[t.options.horizontal?"inlineSize":"blockSize"])}if(!o){let s=t.indexFromElement(n),e=t.options.getItemKey(s),i=t.itemSizeCache.get(e);if(i!==void 0)return i}return n[t.options.horizontal?"offsetWidth":"offsetHeight"]},le=(n,{adjustments:o=0,behavior:t},s)=>{var e,i;(i=(e=s.scrollElement)==null?void 0:e.scrollTo)==null||i.call(e,{[s.options.horizontal?"left":"top"]:n+o,behavior:t})},Xt=le;var G=class{constructor(o){this.unsubs=[],this.scrollElement=null,this.targetWindow=null,this.isScrolling=!1,this.scrollState=null,this.measurementsCache=[],this._flatMeasurements=null,this.itemSizeCache=new Map,this.itemSizeCacheVersion=0,this.laneAssignments=new Map,this.pendingMin=null,this.prevLanes=void 0,this.lanesChangedFlag=!1,this.lanesSettling=!1,this.pendingScrollAnchor=null,this.scrollRect=null,this.scrollOffset=null,this.scrollDirection=null,this.scrollAdjustments=0,this._iosDeferredAdjustment=0,this._iosTouching=!1,this._iosJustTouchEnded=!1,this._iosTouchEndTimerId=null,this._intendedScrollOffset=null,this.elementsCache=new Map,this.now=()=>{var t,s,e;return((e=(s=(t=this.targetWindow)==null?void 0:t.performance)==null?void 0:s.now)==null?void 0:e.call(s))??Date.now()},this.observer=(()=>{let t=null,s=()=>t||(!this.targetWindow||!this.targetWindow.ResizeObserver?null:t=new this.targetWindow.ResizeObserver(e=>{e.forEach(i=>{let r=()=>{let l=i.target,c=this.indexFromElement(l);if(!l.isConnected){this.observer.unobserve(l);for(let[u,d]of this.elementsCache)if(d===l){this.elementsCache.delete(u);break}return}this.shouldMeasureDuringScroll(c)&&this.resizeItem(c,this.options.measureElement(l,i,this))};this.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(r):r()})}));return{disconnect:()=>{var e;(e=s())==null||e.disconnect(),t=null},observe:e=>{var i;return(i=s())==null?void 0:i.observe(e,{box:"border-box"})},unobserve:e=>{var i;return(i=s())==null?void 0:i.unobserve(e)}}})(),this.range=null,this.setOptions=t=>{var s,e;let i={debug:!1,initialOffset:0,overscan:1,paddingStart:0,paddingEnd:0,scrollPaddingStart:0,scrollPaddingEnd:0,horizontal:!1,getItemKey:se,rangeExtractor:ne,onChange:()=>{},measureElement:re,initialRect:{width:0,height:0},scrollMargin:0,gap:0,indexAttribute:"data-index",initialMeasurementsCache:[],lanes:1,anchorTo:"start",followOnAppend:!1,scrollEndThreshold:1,isScrollingResetDelay:150,enabled:!0,isRtl:!1,useScrollendEvent:!1,useAnimationFrameWithResizeObserver:!1,laneAssignmentMode:"estimate",useCachedMeasurements:!1};for(let h in t){let w=t[h];w!==void 0&&(i[h]=w)}let r=this.options,l=null,c=null,u=!1;if(r!==void 0&&r.enabled&&i.enabled&&i.anchorTo==="end"&&this.scrollElement!==null){let h=r.count,w=i.count,m=this.getMeasurements(),k=h>0?((s=m[0])==null?void 0:s.key)??r.getItemKey(0):null,y=h>0?((e=m[h-1])==null?void 0:e.key)??r.getItemKey(h-1):null;if(w!==h||h>0&&w>0&&(i.getItemKey(0)!==k||i.getItemKey(w-1)!==y)){u=!0;let b=h>0?this.getVirtualItemForOffset(this.getScrollOffset())??m[0]:null;b&&(l=[b.key,this.getScrollOffset()-b.start]);let O=i.followOnAppend===!0?"auto":i.followOnAppend||null;O&&w>h&&this.isAtEnd(r.scrollEndThreshold)&&(h===0||i.getItemKey(w-1)!==y)&&(c=O)}}this.options=i,u&&(this.pendingMin=0,this.itemSizeCacheVersion++);let d=!1,p=0;if(l&&this.scrollOffset!==null){let[h,w]=l,m=this.getMeasurements(),{count:k,getItemKey:y}=this.options,v=0;for(;v<k&&y(v)!==h;)v++;if(v<k){let x=m[v];if(x){let b=x.start+w;b!==this.scrollOffset&&(p=b-this.scrollOffset,this.scrollOffset=b,d=!0)}}}(d||c)&&(this.pendingScrollAnchor=[d?l[0]:null,d?l[1]:0,c,p])},this.notify=t=>{var s,e;(e=(s=this.options).onChange)==null||e.call(s,this,t)},this.maybeNotify=N(()=>(this.calculateRange(),[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]),t=>{this.notify(t)},{key:!1,debug:()=>this.options.debug,initialDeps:[this.isScrolling,this.range?this.range.startIndex:null,this.range?this.range.endIndex:null]}),this.cleanup=()=>{this.unsubs.filter(Boolean).forEach(t=>t()),this.unsubs=[],this.observer.disconnect(),this.rafId!=null&&this.targetWindow&&(this.targetWindow.cancelAnimationFrame(this.rafId),this.rafId=null),this.scrollState=null,this.scrollElement=null,this.targetWindow=null},this._didMount=()=>()=>{this.cleanup()},this._willUpdate=()=>{var t;let s=this.options.enabled?this.options.getScrollElement():null;if(this.scrollElement!==s){if(this.cleanup(),!s){this.maybeNotify();return}if(this.scrollElement=s,this.scrollElement&&"ownerDocument"in this.scrollElement?this.targetWindow=this.scrollElement.ownerDocument.defaultView:this.targetWindow=((t=this.scrollElement)==null?void 0:t.window)??null,this.elementsCache.forEach(i=>{this.observer.observe(i)}),this.unsubs.push(this.options.observeElementRect(this,i=>{this.scrollRect=i,this.maybeNotify()})),this.unsubs.push(this.options.observeElementOffset(this,(i,r)=>{this._intendedScrollOffset!==null&&Math.abs(i-this._intendedScrollOffset)<1.5&&(i=this._intendedScrollOffset),this._intendedScrollOffset=null,this.scrollAdjustments=0,this.scrollDirection=r?this.getScrollOffset()<i?"forward":"backward":null,this.scrollOffset=i,this.isScrolling=r,this._flushIosDeferredIfReady(),this.scrollState&&this.scheduleScrollReconcile(),this.maybeNotify()})),"addEventListener"in this.scrollElement){let i=this.scrollElement,r=()=>{this._iosTouching=!0,this._iosJustTouchEnded=!1,this._iosTouchEndTimerId!==null&&this.targetWindow!=null&&(this.targetWindow.clearTimeout(this._iosTouchEndTimerId),this._iosTouchEndTimerId=null)},l=()=>{this._iosTouching=!1,!(!it()||this.targetWindow==null)&&(this._iosJustTouchEnded=!0,this._iosTouchEndTimerId=this.targetWindow.setTimeout(()=>{this._iosJustTouchEnded=!1,this._iosTouchEndTimerId=null,this._flushIosDeferredIfReady()},150))};i.addEventListener("touchstart",r,q),i.addEventListener("touchend",l,q),this.unsubs.push(()=>{i.removeEventListener("touchstart",r),i.removeEventListener("touchend",l),this._iosTouchEndTimerId!==null&&this.targetWindow!=null&&(this.targetWindow.clearTimeout(this._iosTouchEndTimerId),this._iosTouchEndTimerId=null)})}this._scrollToOffset(this.getScrollOffset(),{adjustments:void 0,behavior:void 0})}let e=this.pendingScrollAnchor;if(this.pendingScrollAnchor=null,e&&this.scrollElement&&this.options.enabled){let[i,r,l,c]=e;i!==null&&!l&&(it()&&(this.isScrolling||this._iosTouching||this._iosJustTouchEnded)?c!==0&&(this._iosDeferredAdjustment+=c):this._scrollToOffset(this.getScrollOffset(),{adjustments:void 0,behavior:void 0})),l&&this.scrollToEnd({behavior:l})}},this._flushIosDeferredIfReady=()=>{if(this._iosDeferredAdjustment===0||this.isScrolling||this._iosTouching||this._iosJustTouchEnded)return;let t=this.getScrollOffset(),s=this.getMaxScrollOffset();if(t<0||t>s)return;let e=this._iosDeferredAdjustment;this._iosDeferredAdjustment=0,this._scrollToOffset(t,{adjustments:this.scrollAdjustments+=e,behavior:void 0})},this.rafId=null,this.getSize=()=>this.options.enabled?(this.scrollRect=this.scrollRect??this.options.initialRect,this.scrollRect[this.options.horizontal?"width":"height"]):(this.scrollRect=null,0),this.getScrollOffset=()=>this.options.enabled?(this.scrollOffset=this.scrollOffset??(typeof this.options.initialOffset=="function"?this.options.initialOffset():this.options.initialOffset),this.scrollOffset):(this.scrollOffset=null,0),this.getFurthestMeasurement=(t,s)=>{let e=new Map,i=new Map;for(let r=s-1;r>=0;r--){let l=t[r];if(e.has(l.lane))continue;let c=i.get(l.lane);if(c==null||l.end>c.end?i.set(l.lane,l):l.end<c.end&&e.set(l.lane,!0),e.size===this.options.lanes)break}return i.size===this.options.lanes?Array.from(i.values()).sort((r,l)=>r.end===l.end?r.index-l.index:r.end-l.end)[0]:void 0},this.getMeasurementOptions=N(()=>[this.options.count,this.options.paddingStart,this.options.scrollMargin,this.options.getItemKey,this.options.enabled,this.options.lanes,this.options.laneAssignmentMode],(t,s,e,i,r,l,c)=>(this.prevLanes!==void 0&&this.prevLanes!==l&&(this.lanesChangedFlag=!0),this.prevLanes=l,this.pendingMin=null,{count:t,paddingStart:s,scrollMargin:e,getItemKey:i,enabled:r,lanes:l,laneAssignmentMode:c}),{key:!1}),this.getMeasurements=N(()=>[this.getMeasurementOptions(),this.itemSizeCacheVersion],({count:t,paddingStart:s,scrollMargin:e,getItemKey:i,enabled:r,lanes:l,laneAssignmentMode:c},u)=>{let d=this.itemSizeCache;if(!r)return this.measurementsCache=[],this.itemSizeCache.clear(),this.laneAssignments.clear(),[];if(this.laneAssignments.size>t)for(let m of this.laneAssignments.keys())m>=t&&this.laneAssignments.delete(m);this.lanesChangedFlag&&(this.lanesChangedFlag=!1,this.lanesSettling=!0,this.measurementsCache=[],this.itemSizeCache.clear(),this.laneAssignments.clear(),this.pendingMin=null),this.measurementsCache.length===0&&!this.lanesSettling&&(this.measurementsCache=this.options.initialMeasurementsCache,this.measurementsCache.forEach(m=>{this.itemSizeCache.set(m.key,m.size)}));let p=this.lanesSettling?0:this.pendingMin??0;if(this.pendingMin=null,this.lanesSettling&&this.measurementsCache.length===t&&(this.lanesSettling=!1),l===1){let m=this.options.gap,k=t*2,y=this._flatMeasurements;if(!y||y.length<k){let b=new Float64Array(k);y&&p>0&&b.set(y.subarray(0,p*2)),y=b,this._flatMeasurements=y}let v;if(p===0)v=s+e;else{let b=p-1;v=y[b*2]+y[b*2+1]+m}for(let b=p;b<t;b++){let O=i(b),A=d.get(O),C=typeof A=="number"?A:this.options.estimateSize(b);y[b*2]=v,y[b*2+1]=C,v+=C+m}let x=qt(t,y,i);return this.measurementsCache=x,x}let h=this.measurementsCache.slice(0,p),w=new Array(l).fill(void 0);for(let m=0;m<p;m++){let k=h[m];k&&(w[k.lane]=m)}for(let m=p;m<t;m++){let k=i(m),y=this.laneAssignments.get(m),v,x,b=c==="estimate"||d.has(k);if(y!==void 0&&this.options.lanes>1){v=y;let _=w[v],W=_!==void 0?h[_]:void 0;x=W?W.end+this.options.gap:s+e}else{let _=this.options.lanes===1?h[m-1]:this.getFurthestMeasurement(h,m);x=_?_.end+this.options.gap:s+e,v=_?_.lane:m%this.options.lanes,this.options.lanes>1&&b&&this.laneAssignments.set(m,v)}let O=d.get(k),A=typeof O=="number"?O:this.options.estimateSize(m),C=x+A;h[m]={index:m,start:x,size:A,end:C,key:k,lane:v},w[v]=m}return this.measurementsCache=h,h},{key:!1,debug:()=>this.options.debug}),this.calculateRange=N(()=>[this.getMeasurements(),this.getSize(),this.getScrollOffset(),this.options.lanes],(t,s,e,i)=>this.range=t.length>0&&s>0?ae({measurements:t,outerSize:s,scrollOffset:e,lanes:i,flat:i===1&&this._flatMeasurements!=null?this._flatMeasurements:null}):null,{key:!1,debug:()=>this.options.debug}),this.getVirtualIndexes=N(()=>{let t=null,s=null,e=this.calculateRange();return e&&(t=e.startIndex,s=e.endIndex),this.maybeNotify.updateDeps([this.isScrolling,t,s]),[this.options.rangeExtractor,this.options.overscan,this.options.count,t,s]},(t,s,e,i,r)=>i===null||r===null?[]:t({startIndex:i,endIndex:r,overscan:s,count:e}),{key:!1,debug:()=>this.options.debug}),this.indexFromElement=t=>{let s=this.options.indexAttribute,e=t.getAttribute(s);return e?parseInt(e,10):(console.warn(`Missing attribute name '${s}={index}' on measured element.`),-1)},this.shouldMeasureDuringScroll=t=>{var s;if(!this.scrollState||this.scrollState.behavior!=="smooth")return!0;let e=this.scrollState.index??((s=this.getVirtualItemForOffset(this.scrollState.lastTargetOffset))==null?void 0:s.index);if(e!==void 0&&this.range){let i=Math.max(this.options.overscan,Math.ceil((this.range.endIndex-this.range.startIndex)/2)),r=Math.max(0,e-i),l=Math.min(this.options.count-1,e+i);return t>=r&&t<=l}return!0},this.measureElement=t=>{if(!t){this.elementsCache.forEach((r,l)=>{r.isConnected||(this.observer.unobserve(r),this.elementsCache.delete(l))});return}let s=this.indexFromElement(t),e=this.options.getItemKey(s),i=this.elementsCache.get(e);i!==t&&(i&&this.observer.unobserve(i),this.observer.observe(t),this.elementsCache.set(e,t)),(!this.isScrolling||this.scrollState)&&this.shouldMeasureDuringScroll(s)&&this.resizeItem(s,this.options.measureElement(t,void 0,this))},this.resizeItem=(t,s)=>{var e,i;if(t<0||t>=this.options.count)return;let r,l,c,u=this._flatMeasurements;if(this.options.lanes===1&&u!==null)c=this.options.getItemKey(t),l=u[t*2],r=u[t*2+1];else{let h=this.measurementsCache[t];if(!h)return;c=h.key,l=h.start,r=h.size}let d=this.itemSizeCache.get(c)??r,p=s-d;if(p!==0){let h=this.options.anchorTo==="end"&&((e=this.scrollState)==null?void 0:e.behavior)!=="smooth"&&this.getVirtualDistanceFromEnd()<=this.options.scrollEndThreshold,w=h?this.getTotalSize():0,m=((i=this.scrollState)==null?void 0:i.behavior)!=="smooth"&&(this.shouldAdjustScrollPositionOnItemSizeChange!==void 0?this.shouldAdjustScrollPositionOnItemSizeChange(this.measurementsCache[t]??{index:t,key:c,start:l,size:r,end:l+r,lane:0},p,this):l<this.getScrollOffset()+this.scrollAdjustments&&(!this.itemSizeCache.has(c)||this.scrollDirection!=="backward"));(this.pendingMin===null||t<this.pendingMin)&&(this.pendingMin=t),this.itemSizeCache.set(c,s),this.itemSizeCacheVersion++,h?this.applyScrollAdjustment(this.getTotalSize()-w):m&&this.applyScrollAdjustment(p),this.notify(!1)}},this.getVirtualItems=N(()=>[this.getVirtualIndexes(),this.getMeasurements()],(t,s)=>{let e=[];for(let i=0,r=t.length;i<r;i++){let l=t[i],c=s[l];e.push(c)}return e},{key:!1,debug:()=>this.options.debug}),this.getVirtualItemForOffset=t=>{let s=this.getMeasurements();if(s.length===0)return;let e=this._flatMeasurements,i=this.options.lanes===1&&e!=null,r=Gt(0,s.length-1,i?l=>e[l*2]:l=>nt(s[l]).start,t);return nt(s[r])},this.getMaxScrollOffset=()=>{if(!this.scrollElement)return 0;if("scrollHeight"in this.scrollElement)return this.options.horizontal?this.scrollElement.scrollWidth-this.scrollElement.clientWidth:this.scrollElement.scrollHeight-this.scrollElement.clientHeight;{let t=this.scrollElement.document.documentElement;return this.options.horizontal?t.scrollWidth-this.scrollElement.innerWidth:t.scrollHeight-this.scrollElement.innerHeight}},this.getVirtualDistanceFromEnd=()=>Math.max(this.getTotalSize()-this.getSize()-this.getScrollOffset(),0),this.getDistanceFromEnd=()=>Math.max(this.getMaxScrollOffset()-this.getScrollOffset(),0),this.isAtEnd=(t=this.options.scrollEndThreshold)=>this.getDistanceFromEnd()<=t,this.getOffsetForAlignment=(t,s,e=0)=>{if(!this.scrollElement)return 0;let i=this.getSize(),r=this.getScrollOffset();s==="auto"&&(s=t>=r+i?"end":"start"),s==="center"?t+=(e-i)/2:s==="end"&&(t-=i);let l=this.getMaxScrollOffset();return Math.max(Math.min(l,t),0)},this.getOffsetForIndex=(t,s="auto")=>{t=Math.max(0,Math.min(t,this.options.count-1));let e=this.getSize(),i=this.getScrollOffset(),r=this.measurementsCache[t];if(!r)return;if(s==="auto")if(r.end>=i+e-this.options.scrollPaddingEnd)s="end";else if(r.start<=i+this.options.scrollPaddingStart)s="start";else return[i,s];if(s==="end"&&t===this.options.count-1)return[this.getMaxScrollOffset(),s];let l=s==="end"?r.end+this.options.scrollPaddingEnd:r.start-this.options.scrollPaddingStart;return[this.getOffsetForAlignment(l,s,r.size),s]},this.scrollToOffset=(t,{align:s="start",behavior:e="auto"}={})=>{let i=this.getOffsetForAlignment(t,s),r=this.now();this.scrollState={index:null,align:s,behavior:e,startedAt:r,lastTargetOffset:i,stableFrames:0},this._scrollToOffset(i,{adjustments:void 0,behavior:e}),this.scheduleScrollReconcile()},this.scrollToIndex=(t,{align:s="auto",behavior:e="auto"}={})=>{t=Math.max(0,Math.min(t,this.options.count-1));let i=this.getOffsetForIndex(t,s);if(!i)return;let[r,l]=i,c=this.now();this.scrollState={index:t,align:l,behavior:e,startedAt:c,lastTargetOffset:r,stableFrames:0},this._scrollToOffset(r,{adjustments:void 0,behavior:e}),this.scheduleScrollReconcile()},this.scrollBy=(t,{behavior:s="auto"}={})=>{let e=this.getScrollOffset()+t,i=this.now();this.scrollState={index:null,align:"start",behavior:s,startedAt:i,lastTargetOffset:e,stableFrames:0},this._scrollToOffset(e,{adjustments:void 0,behavior:s}),this.scheduleScrollReconcile()},this.scrollToEnd=({behavior:t="auto"}={})=>{if(this.options.count>0){this.scrollToIndex(this.options.count-1,{align:"end",behavior:t});return}this.scrollToOffset(Math.max(this.getTotalSize()-this.getSize(),0),{behavior:t})},this.getTotalSize=()=>{var t;let s=this.getMeasurements(),e;if(s.length===0)e=this.options.paddingStart;else if(this.options.lanes===1){let i=s.length-1,r=this._flatMeasurements;r!=null?e=r[i*2]+r[i*2+1]:e=((t=s[i])==null?void 0:t.end)??0}else{let i=Array(this.options.lanes).fill(null),r=s.length-1;for(;r>=0&&i.some(l=>l===null);){let l=s[r];i[l.lane]===null&&(i[l.lane]=l.end),r--}e=Math.max(...i.filter(l=>l!==null))}return Math.max(e-this.options.scrollMargin+this.options.paddingEnd,0)},this.takeSnapshot=()=>{let t=[];if(this.itemSizeCache.size===0)return t;let s=this.getMeasurements();for(let e of s)e&&this.itemSizeCache.has(e.key)&&t.push({index:e.index,key:e.key,start:e.start,size:e.size,end:e.end,lane:e.lane});return t},this._scrollToOffset=(t,{adjustments:s,behavior:e})=>{this._intendedScrollOffset=t+(s??0),this.options.scrollToFn(t,{behavior:e,adjustments:s},this)},this.measure=()=>{this.pendingMin=null,this.itemSizeCache.clear(),this.laneAssignments.clear(),this.itemSizeCacheVersion++,this.notify(!1)},this.setOptions(o)}applyScrollAdjustment(o,t){o!==0&&(it()&&(this.isScrolling||this._iosTouching||this._iosJustTouchEnded)?this._iosDeferredAdjustment+=o:this._scrollToOffset(this.getScrollOffset(),{adjustments:this.scrollAdjustments+=o,behavior:t}))}scheduleScrollReconcile(){if(!this.targetWindow){this.scrollState=null;return}this.rafId==null&&(this.rafId=this.targetWindow.requestAnimationFrame(()=>{this.rafId=null,this.reconcileScroll()}))}reconcileScroll(){if(!this.scrollState||!this.scrollElement)return;if(this.now()-this.scrollState.startedAt>5e3){this.scrollState=null;return}let s=this.scrollState.index!=null?this.getOffsetForIndex(this.scrollState.index,this.scrollState.align):void 0,e=s?s[0]:this.scrollState.lastTargetOffset,i=1,r=e!==this.scrollState.lastTargetOffset;if(!r&&Bt(e,this.getScrollOffset())){if(this.scrollState.stableFrames++,this.scrollState.stableFrames>=i){this.getScrollOffset()!==e&&this._scrollToOffset(e,{adjustments:void 0,behavior:"auto"}),this.scrollState=null;return}}else if(this.scrollState.stableFrames=0,r){let l=this.getSize()||600,c=Math.abs(e-this.getScrollOffset()),u=this.scrollState.behavior==="smooth"&&c>l;this.scrollState.lastTargetOffset=e,u||(this.scrollState.behavior="auto"),this._scrollToOffset(e,{adjustments:void 0,behavior:u?"smooth":"auto"})}this.scheduleScrollReconcile()}},Gt=(n,o,t,s)=>{for(;n<=o;){let e=(n+o)/2|0,i=t(e);if(i<s)n=e+1;else if(i>s)o=e-1;else return e}return n>0?n-1:0};function ae({measurements:n,outerSize:o,scrollOffset:t,lanes:s,flat:e}){let i=n.length-1,r=e?d=>e[d*2]:d=>n[d].start,l=e?d=>e[d*2]+e[d*2+1]:d=>n[d].end;if(n.length<=s)return{startIndex:0,endIndex:i};let c=Gt(0,i,r,t),u=c;if(s===1)for(;u<i&&l(u)<t+o;)u++;else if(s>1){let d=Array(s).fill(0);for(;u<i&&d.some(h=>h<t+o);){let h=n[u];d[h.lane]=h.end,u++}let p=Array(s).fill(t+o);for(;c>=0&&p.some(h=>h>=t);){let h=n[c];p[h.lane]=h.start,c--}c=Math.max(0,c-c%s),u=Math.min(i,u+(s-1-u%s))}return{startIndex:c,endIndex:u}}var ce={assistant:Tt,tool:Mt,"tool-result":V,approval:yt,status:Z,error:xt,line:Z,reasoning:wt,steer:Et,usage:St},ue=n=>!!n.detail||n.title.length>120||n.title.includes(`
2
+ `),he=()=>innerHeight+scrollY>=document.documentElement.scrollHeight-48;function de(n,o){let[,t]=dt(i=>i+1,0),s={count:n,estimateSize:()=>30,overscan:16,getScrollElement:()=>window,observeElementRect:Jt,observeElementOffset:Yt,scrollToFn:Xt,scrollMargin:o.current?o.current.getBoundingClientRect().top+scrollY:0,onChange:()=>t(0)},[e]=E(()=>new G(s));return e.setOptions(s),$(()=>e._didMount(),[]),$(()=>e._willUpdate()),e}function fe({row:n,tz:o,open:t,onToggle:s}){let e=F(null),[i,r]=E(!1);$(()=>{e.current&&r(e.current.scrollWidth>e.current.clientWidth)},[n.title]);let l=t||i||ue(n),c=n.tone==="error",u=n.kind==="tool-result"?[n.tool,n.exitCode!==void 0?`exit ${n.exitCode}`:void 0,n.durationMs?H(n.durationMs):void 0].filter(Boolean).join(" \xB7 "):n.kind==="reasoning"&&n.durationMs?H(n.durationMs):"";return a(l?"button":"div",{type:l?"button":void 0,class:`act ${n.kind}${n.tone?` ${n.tone}`:""}${n.separated?" sep":""}${t?" open":""}`,"aria-expanded":l?t:void 0,onClick:l?s:void 0,children:[a("time",{children:gt(n.at,o)}),a(L,{d:n.kind==="tool-result"&&c?kt:ce[n.kind]}),a("span",{class:"act-text",children:[a("span",{class:"act-title",ref:e,children:n.title}),u?a("span",{class:"act-detail",children:u}):null,n.detail?a("span",{class:"act-detail",children:n.detail}):null]}),l?a(L,{d:B,class:"act-chev"}):null]})}function Qt({rows:n,live:o,tz:t}){let s=F(null),[e,i]=E(new Set),[r,l]=E(o),c=de(n.length,s);return z(()=>{let u=()=>l(he());return addEventListener("scroll",u,{passive:!0}),()=>removeEventListener("scroll",u)},[]),$(()=>{r&&scrollTo({top:document.documentElement.scrollHeight})},[n.length]),n.length?a(D,{children:[a("div",{class:"act-list",ref:s,style:`height:${c.getTotalSize()}px`,role:"log","aria-live":"off",children:c.getVirtualItems().map(u=>{let d=n[u.index];return a("div",{class:"act-slot","data-index":u.index,ref:c.measureElement,style:`transform:translateY(${u.start-c.options.scrollMargin}px)`,children:a(fe,{row:d,tz:t,open:e.has(d.seq),onToggle:()=>i(p=>{let h=new Set(p);return h.delete(d.seq)||h.add(d.seq),h})})},d.seq)})}),r?null:a("button",{type:"button",class:"jump",onClick:()=>{l(!0),scrollTo({top:document.documentElement.scrollHeight})},children:"Jump to latest"})]}):a("p",{class:"act-empty muted",children:o?"Nothing yet. Events appear here as the task runs.":"No activity recorded."})}var me=["Conversation","Activity"];function rt(n,o){if(typeof n=="string")return n;if(!n||typeof n!="object")return o;let t=n;for(let s of["output","answer","message"])if(typeof t[s]=="string")return t[s];return o}var pe=n=>typeof n=="object"&&n!==null&&Array.isArray(n.findings)&&n.findings.every(o=>typeof o=="object"&&o!==null&&"file"in o&&"summary"in o);function ge({findings:n}){return n.length?a("ul",{class:"findings",children:n.map((o,t)=>a("li",{class:`finding ${o.severity}`,children:[a("p",{class:"finding-head",children:[a("span",{class:"sev",children:o.severity}),a("span",{class:"loc",children:[o.file,":",o.line]}),o.category?a("span",{class:"cat",children:o.category}):null]}),a("p",{class:"finding-sum",children:o.summary}),o.failure_scenario?a("p",{class:"finding-why muted",children:o.failure_scenario}):null]},t))}):a("p",{class:"body muted",children:"No findings."})}function ve({value:n}){let o=rt(n,"Result received."),t;if(/^\s*[[{]/.test(o))try{t=JSON.parse(o)}catch{}return pe(t)?a(ge,{findings:t.findings}):t&&typeof t=="object"?a("pre",{class:"body json",children:JSON.stringify(t,null,2)}):a("div",{class:"body md",children:Ht(o)})}function be(){let n=Ct();return a(Vt,{...jt(n.get("from"),{href:"/dash/tasks",params:{},label:"Tasks"}),back:n.get("back")})}function Se({id:n}){let[o,t]=E(!1),s=o?"Copied":"Copy task id";return z(()=>{if(!o)return;let e=setTimeout(()=>t(!1),1500);return()=>clearTimeout(e)},[o]),a("button",{type:"button",class:o?"copy copied":"copy","aria-label":s,title:s,onClick:()=>void navigator.clipboard.writeText(n).then(()=>t(!0)),children:a(L,{d:o?V:Ot})})}function ye({task:n,tz:o}){let t=st(n),s=n.task.event?.integration??n.task.source,e=n.task.event?.type??(n.task.flow!=="default"?n.task.flow:void 0);return a(Kt,{back:a(be,{}),title:J(n).split(`
3
+ `)[0],meta:a(D,{children:[a(zt,{status:n.status}),n.archivedAt?a(Ft,{children:"archived"}):null]}),lead:a(D,{children:[a("span",{class:"task-id",children:n.task.id}),a(Se,{id:n.task.id}),a("span",{children:pt(n.createdAt,o)}),n.startedAt&&n.finishedAt?a("span",{children:H(n.finishedAt-n.startedAt)}):null,a("span",{children:e?`${et(s)} ${e}`:et(s)}),n.task.cwd?a("span",{title:n.task.cwd,children:Dt(n.task.cwd)}):null,a(_t,{class:"agent-link",href:"/dash/agents/[slug]",params:{slug:n.task.agent},search:{from:`/dash/tasks/${n.task.id}`},children:[a(L,{d:bt}),n.task.agent]})]}),actions:a(Wt,{task:n,live:t})})}function we(n){let o=F();return ft(()=>{let t=o.current??={log:new X,rows:[],seen:0};for(let s of n.slice(t.seen))t.rows.push(...t.log.reduce(s));return t.seen=n.length,[...t.rows]},[n])}function ds({initial:n,tz:o}){let[t,s]=E(n),[e,i]=E(n.logs??[]),[r,l]=E((n.logs?.length??0)<ot),[c,u]=E("conversation"),[d,p]=E([]),[h,w]=E(!1),[m,k]=E(0),y=F(t.answer?.length??0),[v,x]=E(!1),[b,O]=E(""),A=F(n.logs?.at(-1)?.seq??-1),C=F(null),_=F(null);z(()=>{let f=_.current,g=f?.closest(".page");if(!f||!g)return;let T=new ResizeObserver(()=>g.style.setProperty("--reply",`${f.offsetHeight}px`));return T.observe(f),()=>T.disconnect()},[t.task.flow]);let W=Lt(t.task.id),I=st(t),lt=t.task.flow==="default",Zt=we(e);z(()=>Rt(t.task.id,t.status,J(t)),[t.status]),z(()=>{W.error&&It("Not sent",W.error)},[W.error]);let at=f=>{let g=f.filter(T=>T.seq>A.current);g.length&&(A.current=g.at(-1).seq,i(T=>[...T,...g]))};z(()=>{I&&lt&&C.current?.focus()},[]),z(()=>{r||Q.tasks.logs(t.task.id,A.current,ot).then(f=>{at(f),f.length<ot&&l(!0)}).catch(f=>O(vt(f)))},[r,e.length]),z(()=>{if(!r||!I)return;let f=new AbortController;return(async()=>{for(;!f.signal.aborted;){try{let T=await Q.tasks.stream(t.task.id,A.current,f.signal);if(!T.ok||!T.body){O("Live updates stopped.");return}O("");for await(let S of mt(T.body))if(S.event==="log")at([JSON.parse(S.data)]);else if(S.event==="status")s(M=>({...M,...JSON.parse(S.data)}));else if(S.event==="end")return}catch{if(f.signal.aborted)return}O("Reconnecting."),await new Promise(T=>setTimeout(T,1e3))}})(),()=>f.abort()},[r,I]);let j=t.turns??[{prompt:t.task.prompt??t.task.event?.text??J(t),result:t.result,error:t.error,finishedAt:t.finishedAt}],ct=async()=>{let f=C.current?.value.trim();if(!f||h)return;let g=I?v?"ask":"steer":"continue";if(g==="ask"){C.current.value="",p(S=>[...S,{kind:g,text:f,turn:j.length-1}]),k(S=>S+1),W.run(g,{question:f}).then(S=>{if(k(M=>M-1),S)return u("conversation");p(M=>M.filter(R=>R.text!==f||R.kind!==g))});return}w(!0),await W.run(g,{text:f}).finally(()=>w(!1))&&(C.current.value="",g==="continue"?s(S=>({...S,status:"queued",result:void 0,error:void 0,finishedAt:void 0,turns:[...j.map((M,R)=>R===j.length-1?{...M,finishedAt:M.finishedAt??Date.now()}:M),{prompt:f}]})):(p(S=>[...S,{kind:g,text:f,turn:j.length-1}]),u("activity")))},ut=f=>{x(f),setTimeout(()=>C.current?.focus())},ke=t.result;return a(D,{children:[a(ye,{task:t,tz:o}),t.fallbacks?.map((f,g)=>a("p",{class:"flash",role:"status",children:[f.engine," was unavailable. ",f.detail," This task is using ",f.next,"."]},g)),a("nav",{class:"tabs",role:"tablist","aria-label":"Task",children:me.map(f=>{let g=f.toLowerCase();return a("button",{type:"button",role:"tab","aria-selected":c===g,"aria-current":c===g?"page":void 0,onClick:()=>u(g),children:f},g)})}),b?a("p",{class:"flash err",role:"status",children:b}):null,c==="activity"?a(Qt,{rows:Zt,live:I,tz:o}):a("div",{class:"convo",children:j.map((f,g)=>{let T=g===j.length-1;return a(D,{children:[a("div",{class:"turn prompt",children:[a("p",{class:"who",children:"Prompt"}),a($t,{class:"prose",children:f.prompt})]}),T&&t.approval?a(Nt,{task:t}):null,T?(t.answer??[]).slice(0,y.current).map((S,M)=>a("div",{class:"turn answer",children:[a("p",{class:"who",children:"Answer"}),a("div",{class:"prose",children:rt(S,"Answer received.")})]},`a${M}`)):null,d.filter(S=>S.turn===g).map((S,M)=>{let R=S.kind==="ask"?d.filter(te=>te.kind==="ask").indexOf(S):-1,ht=R<0?void 0:t.answer?.[y.current+R];return a("div",{class:R<0?"turn you":"turn you qa",children:[a("p",{class:"who",children:S.kind==="ask"?"You asked":"You steered"}),a("div",{class:"prose",children:S.text}),R<0?null:a("div",{class:"answer",children:[a("p",{class:"who",children:"Answer"}),ht===void 0?a(tt,{inline:!0,dots:!0,label:"Answering without interrupting the run."}):a("div",{class:"prose",children:rt(ht,"Answer received.")})]})]},M)}),f.result?a(U,{title:"Result",children:a(ve,{value:f.result})}):T&&I?a(U,{title:"Result",children:a("div",{class:"body waiting",children:a(tt,{inline:!0,dots:!0,label:"The result appears here when the task finishes."})})}):null,f.error?a(U,{tone:"danger",title:"Error",children:a("div",{class:"body prose",children:f.error})}):null]},g)})}),lt?a("form",{ref:_,class:"reply",onSubmit:f=>{f.preventDefault(),ct()},children:a("div",{class:"reply-box",children:[I?a(At,{summary:a(D,{children:[v?"Ask":"Steer",a(L,{d:B})]}),summaryClass:"mode",label:"Send as",align:"up",wide:!0,children:[a("button",{type:"button",class:"pop-item rich",role:"menuitemradio","aria-checked":!v,onClick:()=>ut(!1),children:[a("span",{class:"grow",children:["Steer",a("small",{children:"Change course while it works."})]}),a(L,{d:V})]}),a("button",{type:"button",class:"pop-item rich",role:"menuitemradio","aria-checked":v,onClick:()=>ut(!0),children:[a("span",{class:"grow",children:["Ask",a("small",{children:"A question that does not interrupt it."})]}),a(L,{d:V})]})]}):null,a("textarea",{ref:C,rows:1,"aria-label":"Message",autofocus:I,placeholder:I?v?"Ask about the run without interrupting it.":"Steer the agent while it works.":"Continue the conversation.",onKeyDown:f=>{f.key!=="Enter"||f.shiftKey||f.isComposing||(f.preventDefault(),ct())}}),a("button",{class:"btn sm",disabled:h,"aria-busy":h||m>0,children:"Send"})]})}):a("p",{class:"muted no-reply",children:"This flow takes no follow-ups."})]})}var ot=500;export{ot as LOG_CHUNK,ds as TaskView};
@@ -1 +1 @@
1
- "use client";import{a as pt}from"./task-actions-8e1d93c788d001df.js";import{a as mt}from"./confirm-f2fe4ba9905a89c6.js";import{a as ut}from"./tail-7c27aab8ba268bd9.js";import{a as it,b as lt,c as ct,d as dt}from"./toolbar-a75d2570f07cbb70.js";import{b as nt,e as rt}from"./paged-bc6fa0c2b9d52ed7.js";import{c as at}from"./badge-676b01e0c615bf7b.js";import{a as ot}from"./composer-d10d4b1d54c4f751.js";import"./connect-repositories-5389ec8701a3deac.js";import"./composer-data-6f7608fed13f3dd7.js";import"./model-options-15c53331a2f28a4f.js";import{a as X}from"./select-7ae25fd8a7d6c338.js";import{a as Y,b as Z,c as tt,d as L,e as q,f as et,g as st}from"./task-fa8b82e95e771c4a.js";import{a as W,b as P}from"./card-e0901d68b79dfa93.js";import{b as x}from"./field-901f1f35c18c39c9.js";import{a as F,c as _,d as G,e as A,g as K}from"./format-eb03fc9d9744d960.js";import"./sentinel-c972a33dc69a5135.js";import{$0a as Q}from"./shared-init-ffb3397e494137c9.js";import"./shared-init-ffb3397e494137c9.js";import"./wular-pnext-246221e985d863e5-0.js";import{$2a as J}from"./shared-init-ffb3397e494137c9.js";import"./shared-init-ffb3397e494137c9.js";import{$4a as M,$4b as b,$4d as $}from"./shared-init-ffb3397e494137c9.js";import{$5i as j,$5q as z,$5x as B,$5y as V,$5z as H}from"./shared-init-ffb3397e494137c9.js";import{$1a as I}from"./shared-init-88cce66bb3cfe1e5.js";import{$0b as f}from"./shared-init-88cce66bb3cfe1e5.js";import{$2a as t}from"./shared-init-88cce66bb3cfe1e5.js";import"./shared-init-246221e985d863e5-2.js";import"./shared-init-246221e985d863e5-2.js";import{$1c as T,$1g as C,$1i as D}from"./shared-init-8f2ac936c95a7f7b.js";var Tt={dashboard:j,cli:B,schedule:V},Ct=4e3;function Rt(e,d,i){let r=Math.round((d-e)/6e4);return r<1?"just now":r<60?`${r} min ago`:r<1440?`${Math.round(r/60)} h ago`:_(e,i)}function At({task:e,back:d,scoped:i,tz:r,now:o,onDone:l,onError:u}){let v=e.startedAt===void 0?void 0:(e.finishedAt??o)-e.startedAt,g=e.task.event?.integration??e.task.source??"dashboard",n=e.task.event?.type??(e.task.flow==="default"?void 0:e.task.flow);return t("tr",{children:[t("td",{children:[t(J,{class:"cover",href:"/dash/tasks/[id]",params:{id:e.task.id},search:d?{back:d}:void 0,children:et(e)}),t("span",{class:"sub",children:[i?null:`${e.task.agent} \xB7 `,t(at,{value:e.task.id}),n?` \xB7 ${n}`:null,e.task.cwd?t("span",{title:e.task.cwd,children:` \xB7 ${st(e.task.cwd)}`}):null]})]}),t("td",{children:t(Q,{status:e.status})}),t("td",{children:t("span",{class:"source",title:L(g),children:[t(I,{d:Tt[g]??H}),L(g)]})}),t("td",{class:"when",title:F(e.createdAt,r),children:Rt(e.createdAt,o,r)}),t("td",{class:"num",children:[G(v),t("span",{class:"row-acts",children:t(St,{task:e,onDone:l,onError:u})})]})]})}function St({task:e,onDone:d,onError:i}){let[r,o]=C(),l=(u,v)=>{i(""),(u==="approve"?f.tasks.approve(e.task.id,pt(e.approval).id??"",v??"decline"):u==="delete"?f.tasks.delete(e.task.id):f.tasks[u](e.task.id)).then(()=>d(u),n=>i(K(n))).finally(()=>o(void 0))};return t(T,{children:[t(M,{summary:t(I,{d:z}),summaryClass:"icon-btn",label:"Task actions",align:"right",children:[e.approval?t(b,{title:"Approve",onClick:()=>l("approve","accept")}):null,e.approval?t(b,{title:"Deny",onClick:()=>l("approve","decline")}):null,q(e)?t(b,{title:"Stop",onClick:()=>l("cancel")}):null,e.archivedAt?null:t(b,{title:"Archive",onClick:()=>l("archive")}),t(b,{title:"Delete",danger:!0,onClick:()=>o("ask")})]}),t(mt,{open:!!r,title:"Delete this task?",body:"Its conversation, activity and diff go with it.",confirmLabel:"Delete",busy:r==="busy",onConfirm:()=>{o("busy"),l("delete")},onClose:()=>o(void 0)})]})}function Zt({first:e,platforms:d,agents:i=[],filters:r,agent:o,head:l,missing:u,tz:v,now:g}){let{values:n,set:h,query:a}=lt(r),ft=it(r),gt=o?`&agent=${encodeURIComponent(o)}`:"",ht=o?`/dash/agents/${encodeURIComponent(o)}/tasks`:"/dash/tasks",kt=a||o?`${ht}${a?`?${a}`:""}`:void 0,y={limit:rt,summary:!0,counts:!0,...Z(n),agent:o??n.agent},w=nt({name:`tasks${gt}`,fetchPage:s=>f.tasks.list({...y,cursor:s}),query:a,first:e,initial:ft}),[S,O]=C({rows:{}}),[bt,N]=C([]);D(()=>N([]),[a]);let[vt,yt]=C(""),E=w.rows.filter(s=>!bt.includes(s.task.id)).map(s=>S.rows[s.task.id]??s),m=(S.query===a?S.counts:void 0)??w.meta.counts,U=E.some(q)||!!m?.active;return D(()=>{if(!U)return;let s=c=>Object.fromEntries(c.map(k=>[k.task.id,k])),p=setInterval(()=>{Promise.all([f.tasks.list({...y,cursor:""}),y.status?f.tasks.list({...y,status:void 0,counts:!1,cursor:""}):void 0]).then(([c,k])=>O(R=>({rows:{...R.rows,...s(k?.items??[]),...s(c.items)},counts:c.counts,query:a}))).catch(()=>{})},Ct);return()=>clearInterval(p)},[U,a,o]),t(T,{children:[t(dt,{head:l,children:[t(ct,{value:n.q,label:"Search tasks",onInput:s=>h("q",s,250)}),t(X,{label:"Status",value:n.status,options:Y,onChange:s=>h("status",s)}),t(M,{class:"filter-more",label:"More filters",summaryClass:`field-btn${n.source||n.agent?" on":""}`,summary:"Filter",children:[t("p",{class:"pop-label",children:"Source"}),t("div",{role:"group","aria-label":"Source",children:[...tt,...d].map(([s,p])=>t($,{on:n.source===s,onPick:()=>h("source",s),children:p},s))}),o?null:t(T,{children:[t("p",{class:"pop-label",children:"Agent"}),t("div",{role:"group","aria-label":"Agent",children:[["","All agents"],...n.agent&&!i.some(([s])=>s===n.agent)?[[n.agent,n.agent]]:[],...i].map(([s,p])=>t($,{on:n.agent===s,onPick:()=>h("agent",s),children:p},s))})]})]})]}),u?t(ot,{}):null,t(W,{title:"Tasks",count:m?A(m.all):void 0,actions:m?t(T,{children:[t(x,{value:vt}),m.active?t("button",{type:"button",class:"badge acc",onClick:()=>h("status","active"),children:[A(m.active)," active"]}):null,m.waiting?t("button",{type:"button",class:"badge warn",onClick:()=>h("status","waiting"),children:[A(m.waiting)," awaiting approval"]}):null]}):void 0,children:[E.length?t("div",{class:"table-scroll",children:t("table",{class:"rows tasks stacked","aria-busy":w.stale,children:[t("thead",{children:t("tr",{children:[t("th",{children:"Task"}),t("th",{children:"Status"}),t("th",{children:"Source"}),t("th",{children:"Created"}),t("th",{class:"num",children:"Duration"})]})}),t("tbody",{children:E.map(s=>t(At,{task:s,back:kt,scoped:!!o,tz:v,now:g,onError:yt,onDone:p=>{(p==="delete"||p==="archive"&&n.status!=="archived")&&N(c=>[...c,s.task.id]),f.tasks.list({...y,cursor:""}).then(c=>O(k=>({rows:{...k.rows,...Object.fromEntries(c.items.map(R=>[R.task.id,R]))},counts:c.counts,query:a}))).catch(()=>{})}},s.task.id))})]})}):w.stale?null:a?t(P,{title:"No tasks match",children:"Try another search or filter."}):t(P,{title:"No tasks yet",children:o?"Tasks appear here as this agent runs.":"Type what you want done in the box above and press Enter. Tasks from the dashboard, the CLI and platforms like GitHub show up here, newest first."}),t(ut,{noun:"tasks",...w})]})]})}export{Zt as TasksList};
1
+ "use client";import{a as pt}from"./task-actions-a9603d520434baab.js";import{a as mt}from"./confirm-f2fe4ba9905a89c6.js";import{a as ut}from"./tail-7c27aab8ba268bd9.js";import{a as it,b as lt,c as ct,d as dt}from"./toolbar-f964fa864699f095.js";import{b as nt,e as rt}from"./paged-bc6fa0c2b9d52ed7.js";import{c as at}from"./badge-676b01e0c615bf7b.js";import{a as ot}from"./composer-49f9e7c5c4dfda3b.js";import"./connect-repositories-5389ec8701a3deac.js";import"./composer-data-6f7608fed13f3dd7.js";import"./model-options-15c53331a2f28a4f.js";import{a as X}from"./select-1013702bdfb1ade4.js";import{a as Y,b as Z,c as tt,d as L,e as q,f as et,g as st}from"./task-fa8b82e95e771c4a.js";import{a as W,b as P}from"./card-e0901d68b79dfa93.js";import{b as x}from"./field-901f1f35c18c39c9.js";import{a as F,c as _,d as G,e as A,g as K}from"./format-eb03fc9d9744d960.js";import"./sentinel-c972a33dc69a5135.js";import{$0a as Q}from"./shared-init-20e199043ff5d00f.js";import"./shared-init-20e199043ff5d00f.js";import"./wular-pnext-246221e985d863e5-0.js";import{$1a as J}from"./shared-init-20e199043ff5d00f.js";import"./shared-init-20e199043ff5d00f.js";import{$4a as M,$4b as b,$4d as $}from"./shared-init-20e199043ff5d00f.js";import{$5i as j,$5q as z,$5x as B,$5y as V,$5z as H}from"./shared-init-20e199043ff5d00f.js";import{$1a as I}from"./shared-init-88cce66bb3cfe1e5.js";import{$0b as f}from"./shared-init-88cce66bb3cfe1e5.js";import{$2a as t}from"./shared-init-88cce66bb3cfe1e5.js";import"./shared-init-246221e985d863e5-2.js";import"./shared-init-246221e985d863e5-2.js";import{$1c as T,$1g as C,$1i as D}from"./shared-init-8f2ac936c95a7f7b.js";var Tt={dashboard:j,cli:B,schedule:V},Ct=4e3;function Rt(e,d,i){let r=Math.round((d-e)/6e4);return r<1?"just now":r<60?`${r} min ago`:r<1440?`${Math.round(r/60)} h ago`:_(e,i)}function At({task:e,back:d,scoped:i,tz:r,now:o,onDone:l,onError:u}){let v=e.startedAt===void 0?void 0:(e.finishedAt??o)-e.startedAt,g=e.task.event?.integration??e.task.source??"dashboard",n=e.task.event?.type??(e.task.flow==="default"?void 0:e.task.flow);return t("tr",{children:[t("td",{children:[t(J,{class:"cover",href:"/dash/tasks/[id]",params:{id:e.task.id},search:d?{back:d}:void 0,children:et(e)}),t("span",{class:"sub",children:[i?null:`${e.task.agent} \xB7 `,t(at,{value:e.task.id}),n?` \xB7 ${n}`:null,e.task.cwd?t("span",{title:e.task.cwd,children:` \xB7 ${st(e.task.cwd)}`}):null]})]}),t("td",{children:t(Q,{status:e.status})}),t("td",{children:t("span",{class:"source",title:L(g),children:[t(I,{d:Tt[g]??H}),L(g)]})}),t("td",{class:"when",title:F(e.createdAt,r),children:Rt(e.createdAt,o,r)}),t("td",{class:"num",children:[G(v),t("span",{class:"row-acts",children:t(St,{task:e,onDone:l,onError:u})})]})]})}function St({task:e,onDone:d,onError:i}){let[r,o]=C(),l=(u,v)=>{i(""),(u==="approve"?f.tasks.approve(e.task.id,pt(e.approval).id??"",v??"decline"):u==="delete"?f.tasks.delete(e.task.id):f.tasks[u](e.task.id)).then(()=>d(u),n=>i(K(n))).finally(()=>o(void 0))};return t(T,{children:[t(M,{summary:t(I,{d:z}),summaryClass:"icon-btn",label:"Task actions",align:"right",children:[e.approval?t(b,{title:"Approve",onClick:()=>l("approve","accept")}):null,e.approval?t(b,{title:"Deny",onClick:()=>l("approve","decline")}):null,q(e)?t(b,{title:"Stop",onClick:()=>l("cancel")}):null,e.archivedAt?null:t(b,{title:"Archive",onClick:()=>l("archive")}),t(b,{title:"Delete",danger:!0,onClick:()=>o("ask")})]}),t(mt,{open:!!r,title:"Delete this task?",body:"Its conversation, activity and diff go with it.",confirmLabel:"Delete",busy:r==="busy",onConfirm:()=>{o("busy"),l("delete")},onClose:()=>o(void 0)})]})}function Zt({first:e,platforms:d,agents:i=[],filters:r,agent:o,head:l,missing:u,tz:v,now:g}){let{values:n,set:h,query:a}=lt(r),ft=it(r),gt=o?`&agent=${encodeURIComponent(o)}`:"",ht=o?`/dash/agents/${encodeURIComponent(o)}/tasks`:"/dash/tasks",kt=a||o?`${ht}${a?`?${a}`:""}`:void 0,y={limit:rt,summary:!0,counts:!0,...Z(n),agent:o??n.agent},w=nt({name:`tasks${gt}`,fetchPage:s=>f.tasks.list({...y,cursor:s}),query:a,first:e,initial:ft}),[S,O]=C({rows:{}}),[bt,N]=C([]);D(()=>N([]),[a]);let[vt,yt]=C(""),E=w.rows.filter(s=>!bt.includes(s.task.id)).map(s=>S.rows[s.task.id]??s),m=(S.query===a?S.counts:void 0)??w.meta.counts,U=E.some(q)||!!m?.active;return D(()=>{if(!U)return;let s=c=>Object.fromEntries(c.map(k=>[k.task.id,k])),p=setInterval(()=>{Promise.all([f.tasks.list({...y,cursor:""}),y.status?f.tasks.list({...y,status:void 0,counts:!1,cursor:""}):void 0]).then(([c,k])=>O(R=>({rows:{...R.rows,...s(k?.items??[]),...s(c.items)},counts:c.counts,query:a}))).catch(()=>{})},Ct);return()=>clearInterval(p)},[U,a,o]),t(T,{children:[t(dt,{head:l,children:[t(ct,{value:n.q,label:"Search tasks",onInput:s=>h("q",s,250)}),t(X,{label:"Status",value:n.status,options:Y,onChange:s=>h("status",s)}),t(M,{class:"filter-more",label:"More filters",summaryClass:`field-btn${n.source||n.agent?" on":""}`,summary:"Filter",children:[t("p",{class:"pop-label",children:"Source"}),t("div",{role:"group","aria-label":"Source",children:[...tt,...d].map(([s,p])=>t($,{on:n.source===s,onPick:()=>h("source",s),children:p},s))}),o?null:t(T,{children:[t("p",{class:"pop-label",children:"Agent"}),t("div",{role:"group","aria-label":"Agent",children:[["","All agents"],...n.agent&&!i.some(([s])=>s===n.agent)?[[n.agent,n.agent]]:[],...i].map(([s,p])=>t($,{on:n.agent===s,onPick:()=>h("agent",s),children:p},s))})]})]})]}),u?t(ot,{}):null,t(W,{title:"Tasks",count:m?A(m.all):void 0,actions:m?t(T,{children:[t(x,{value:vt}),m.active?t("button",{type:"button",class:"badge acc",onClick:()=>h("status","active"),children:[A(m.active)," active"]}):null,m.waiting?t("button",{type:"button",class:"badge warn",onClick:()=>h("status","waiting"),children:[A(m.waiting)," awaiting approval"]}):null]}):void 0,children:[E.length?t("div",{class:"table-scroll",children:t("table",{class:"rows tasks stacked","aria-busy":w.stale,children:[t("thead",{children:t("tr",{children:[t("th",{children:"Task"}),t("th",{children:"Status"}),t("th",{children:"Source"}),t("th",{children:"Created"}),t("th",{class:"num",children:"Duration"})]})}),t("tbody",{children:E.map(s=>t(At,{task:s,back:kt,scoped:!!o,tz:v,now:g,onError:yt,onDone:p=>{(p==="delete"||p==="archive"&&n.status!=="archived")&&N(c=>[...c,s.task.id]),f.tasks.list({...y,cursor:""}).then(c=>O(k=>({rows:{...k.rows,...Object.fromEntries(c.items.map(R=>[R.task.id,R]))},counts:c.counts,query:a}))).catch(()=>{})}},s.task.id))})]})}):w.stale?null:a?t(P,{title:"No tasks match",children:"Try another search or filter."}):t(P,{title:"No tasks yet",children:o?"Tasks appear here as this agent runs.":"Type what you want done in the box above and press Enter. Tasks from the dashboard, the CLI and platforms like GitHub show up here, newest first."}),t(ut,{noun:"tasks",...w})]})]})}export{Zt as TasksList};
@@ -1 +1 @@
1
- import{c as T,d as b}from"./paged-bc6fa0c2b9d52ed7.js";import{a as y}from"./sentinel-c972a33dc69a5135.js";import{$5v as h}from"./shared-init-ffb3397e494137c9.js";import{$1a as g}from"./shared-init-88cce66bb3cfe1e5.js";import{$2a as e}from"./shared-init-88cce66bb3cfe1e5.js";import{$1c as f,$1g as c,$1i as u,$1k as v}from"./shared-init-8f2ac936c95a7f7b.js";var C=t=>new URLSearchParams(Object.entries(t).filter(([,r])=>r)).toString();function L(t){let[r,s]=c(t),[l,p]=c(t),i=v();return u(()=>{let n=b(Object.keys(t));Object.keys(t).some(o=>n[o]!==t[o])&&(s(n),p(n))},[]),u(()=>()=>clearTimeout(i.current),[]),{values:r,set:(n,o,d=0)=>{let a={...r,[n]:o};s(a),clearTimeout(i.current);let m=()=>{p(a),T(a)};d?i.current=setTimeout(m,d):m()},query:C(l)}}function Q({value:t,label:r,onInput:s}){return e("label",{class:"search",children:[e(g,{d:h}),e("input",{type:"search",value:t,placeholder:r,"aria-label":r,onInput:l=>s(l.currentTarget.value)})]})}function U({head:t,action:r,children:s}){return t?e(f,{children:[e(y,{}),e("header",{class:"head tools",children:[e("div",{children:[e("h1",{children:t.title}),t.lead?e("p",{class:"lead",children:t.lead}):null]}),e("div",{class:"filters",children:s}),r?e("div",{class:"actions",children:r}):null]})]}):e("div",{class:"filters",children:[s,r?e("span",{class:"end",children:r}):null]})}export{C as a,L as b,Q as c,U as d};
1
+ import{c as T,d as b}from"./paged-bc6fa0c2b9d52ed7.js";import{a as y}from"./sentinel-c972a33dc69a5135.js";import{$5v as h}from"./shared-init-20e199043ff5d00f.js";import{$1a as g}from"./shared-init-88cce66bb3cfe1e5.js";import{$2a as e}from"./shared-init-88cce66bb3cfe1e5.js";import{$1c as f,$1g as c,$1i as u,$1k as v}from"./shared-init-8f2ac936c95a7f7b.js";var C=t=>new URLSearchParams(Object.entries(t).filter(([,r])=>r)).toString();function L(t){let[r,s]=c(t),[l,p]=c(t),i=v();return u(()=>{let n=b(Object.keys(t));Object.keys(t).some(o=>n[o]!==t[o])&&(s(n),p(n))},[]),u(()=>()=>clearTimeout(i.current),[]),{values:r,set:(n,o,d=0)=>{let a={...r,[n]:o};s(a),clearTimeout(i.current);let m=()=>{p(a),T(a)};d?i.current=setTimeout(m,d):m()},query:C(l)}}function Q({value:t,label:r,onInput:s}){return e("label",{class:"search",children:[e(g,{d:h}),e("input",{type:"search",value:t,placeholder:r,"aria-label":r,onInput:l=>s(l.currentTarget.value)})]})}function U({head:t,action:r,children:s}){return t?e(f,{children:[e(y,{}),e("header",{class:"head tools",children:[e("div",{children:[e("h1",{children:t.title}),t.lead?e("p",{class:"lead",children:t.lead}):null]}),e("div",{class:"filters",children:s}),r?e("div",{class:"actions",children:r}):null]})]}):e("div",{class:"filters",children:[s,r?e("span",{class:"end",children:r}):null]})}export{C as a,L as b,Q as c,U as d};
@@ -0,0 +1 @@
1
+ .app{--side: 232px;display:grid;grid-template-columns:var(--side) minmax(0,1fr);grid-template-rows:56px 1fr;min-height:100vh}.top{grid-column:1 / -1;position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 16px 0 20px;background:var(--bg);border-bottom:1px solid var(--line2)}.top-l,.top-r{display:flex;align-items:center;gap:10px;min-width:0}.lockup{display:grid}.lockup small{font-weight:400;font-size:8px;line-height:8px;letter-spacing:.3em;text-transform:uppercase;color:var(--muted)}.side{position:sticky;top:56px;z-index:12;height:calc(100vh - 56px);display:flex;flex-direction:column;justify-content:space-between;padding:16px 12px;border-right:1px solid var(--line)}.side nav{display:grid;gap:2px}.side nav a{display:flex;align-items:center;gap:12px;height:36px;padding:0 12px;color:var(--muted);border-left:2px solid transparent}.side nav a:hover{color:var(--fg);background:var(--wash)}.side nav a[aria-current]{color:var(--fg);background:var(--wash2);border-left-color:var(--deep)}.side nav .n{margin-left:auto;background:var(--accbg);color:var(--acc)}.dot{width:7px;height:7px;flex:none;border-radius:50%;background:var(--warn)}.dot.ok{background:var(--ok);box-shadow:0 0 0 3px var(--okbg)}.server>button{width:100%;display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--line);font-size:12px;text-align:left;cursor:pointer}.server>button:hover{background:var(--wash)}.server>button .grow{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.server .ic{color:var(--dim);width:14px}.server .pop{width:max-content;max-width:calc(100vw - 32px)}.server .kv dd{white-space:nowrap}.pop-head{display:flex;align-items:center;gap:12px;padding:8px 10px 12px;min-width:0}.pop-head b,.pop-head small{display:block;overflow:hidden;text-overflow:ellipsis}.pop-head small,.pop-item small{color:var(--muted);font-size:11.5px}.org,.avatar{display:inline-grid;place-items:center;flex:none;width:26px;height:26px;background:var(--wash2);font-weight:700;font-size:12px}.avatar{width:32px;height:32px}.avatar-btn{display:grid;place-items:center;width:32px;height:32px;background:var(--fg);color:var(--bg);font-weight:700;cursor:pointer}.kv{display:grid;grid-template-columns:max-content 1fr;gap:8px 20px;margin:0}.kv dt{color:var(--muted)}.kv dd{margin:0;overflow-wrap:anywhere}.pop .kv{padding:6px 10px 10px;font-size:12px}.theme .ic.sun,.theme .ic.moon,.theme .ic.sys{display:none}:root[data-theme=light] .theme .ic.sun,:root[data-theme=dark] .theme .ic.moon,:root:not([data-theme]) .theme .ic.sys{display:block}.app>.auth{position:fixed;inset:0;z-index:60;overflow:auto;background:var(--bg)}@media(max-width:760px){.app{grid-template-columns:minmax(0,1fr)}.top{padding:0 10px}.side{position:fixed;top:56px;left:0;bottom:0;height:auto;width:min(280px,84vw);z-index:30;background:var(--bg);border-right:1px solid var(--line2);transform:translate(-100%);transition:transform .2s}}.side-foot{display:grid;gap:8px}.side-toggle{justify-self:end;color:var(--dim)}.side-min .side-toggle{justify-self:center}.app.side-min{--side: 60px}.side-min .top .lockup{display:none}.side-min .side{padding-inline:10px}.side-min .side nav a{justify-content:center;gap:0;padding:0;font-size:0}.side-min .side nav .n{display:none}.side-min .side [data-tip],.side-toggle{position:relative}.side-min .side [data-tip]:after,.side-toggle:after{content:attr(data-tip) / "";position:absolute;top:50%;left:calc(100% + 12px);z-index:30;padding:6px 10px;border:1px solid var(--line2);background:var(--tile);box-shadow:0 12px 32px #0000002e;color:var(--fg);font-size:12px;letter-spacing:normal;white-space:nowrap;transform:translateY(-50%);pointer-events:none;opacity:0;transition:opacity .1s}.side-min .side [data-tip]:before,.side-toggle:before{content:"";position:absolute;top:50%;left:calc(100% + 8px);z-index:31;width:8px;height:8px;border-bottom:1px solid var(--line2);border-left:1px solid var(--line2);background:var(--tile);transform:translateY(-50%) rotate(45deg);pointer-events:none;opacity:0;transition:opacity .1s}.side-min .side [data-tip]:is(:hover,:focus-visible):before,.side-min .side [data-tip]:is(:hover,:focus-visible):after,.side-toggle:is(:hover,:focus-visible):before,.side-toggle:is(:hover,:focus-visible):after{opacity:1}.side-toggle:is(:hover,:focus-visible):before,.side-toggle:is(:hover,:focus-visible):after{transition-delay:.7s}.side-min .menu:has(:popover-open)>[data-tip]:before,.side-min .menu:has(:popover-open)>[data-tip]:after{opacity:0}.side-min .server>button{justify-content:center;padding:10px 0}.side-min .server>button :is(.grow,.ic){display:none}@media(max-width:760px){.side-toggle{display:none}.app.side-min{grid-template-columns:minmax(0,1fr)}}.auth{display:grid;min-height:100vh}.auth-side{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:28px;padding:40px 24px 72px}.auth-frame{width:100%;max-width:440px}.auth-frame .bar{min-height:32px;font-size:10px}.auth-frame .brand{font-size:12px}.tag{margin-left:auto;padding:1px 8px;background:var(--deep);color:#fff}.auth-body{display:grid;gap:14px;padding:28px 24px 26px}.auth-body h1{font-size:22px}.auth-body .lead{margin:0 0 6px}.auth-body form{display:grid;gap:14px}.auth-links{position:absolute;bottom:24px;left:0;right:0;display:flex;justify-content:center;gap:24px;font-size:9px;color:var(--muted)}.auth-links a:hover{color:var(--fg)}.ic{width:16px;height:16px;flex:none;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}.brand .coder-mark{flex:none;position:relative;top:-1px;width:16px;height:16px;fill:currentColor}th .ic{width:12px;height:12px}.scrim{display:none}@media(max-width:760px){.drawer .side{transform:none}.scrim{display:block;position:fixed;inset:56px 0 0;z-index:25;background:#0b0c1073;opacity:0;pointer-events:none;transition:opacity .2s}.drawer .scrim{opacity:1;pointer-events:auto}}@media(min-width:761px){.only-m{display:none}}.pop,.more-list{position:fixed;inset:auto;margin:0;padding:6px;white-space:normal;max-height:calc(100vh - 24px);overflow-y:auto;border:1px solid var(--line2);background:var(--tile);color:inherit;box-shadow:0 12px 32px #0000002e}:where(.menu,.more)>button{padding:0;border:0;background:none;color:inherit;cursor:pointer}.menu>.pop,.more>.more-list{inset:0;margin:auto}@supports (anchor-scope: --menu){.menu,.more{anchor-scope:--menu}:where(.menu,.more)>button{anchor-name:--menu}.menu>.pop,.more>.more-list{position-anchor:--menu;position-try-fallbacks:flip-block;inset:anchor(bottom) auto auto anchor(left);margin:8px 0 0}.menu.right>.pop,.more>.more-list{inset:anchor(bottom) anchor(right) auto auto}.menu.up>.pop{inset:auto anchor(right) anchor(top) anchor(left);margin:0 0 8px}}.pop{z-index:40;min-width:180px}.pop:has(.pop-label,.pop-item.rich,.pop-row){min-width:260px}.menu.up>.pop{min-width:0}.pop.wide{width:min(320px,calc(100vw - 32px))}.pop hr{border:0;border-top:1px solid var(--line);margin:6px 0}.pop-label{padding:8px 10px 4px;font-size:10px;color:var(--dim);border-top:1px solid var(--line)}.pop-head+.pop-label,.pop .pop-label:first-child{border-top:0}.pop-item{display:flex;align-items:center;gap:12px;width:100%;padding:8px 10px;border:0;background:none;text-align:left;cursor:pointer}.pop-item:hover{background:var(--wash)}.pop-item.danger:hover{background:var(--badbg);color:var(--bad)}.pop-item:disabled{cursor:default}.pop-item:disabled:hover{background:none}.pop-item small{display:block}.pop-item.rich{align-items:flex-start}.pop-item.rich .ic{margin-top:2px}.pop-item[role=menuitemradio]>.ic:last-child{visibility:hidden}.pop-item[role=menuitemradio][aria-checked=true]>.ic:last-child{visibility:visible;color:var(--acc)}.pop form{margin:0}.pop-note{padding:0 10px 8px;font-size:11.5px;color:var(--muted)}.more{flex:none}.more>button{padding:0 7px;border:1px solid var(--line2);color:var(--fg);font-size:11.5px;white-space:nowrap}.more:hover>button,.more:has(:popover-open)>button{border-color:var(--acc);color:var(--acc)}.more-list{--max: 220px;z-index:45;min-width:220px}.more-list:before{content:"";position:absolute;left:0;right:0;top:-8px;height:8px}.more-list:popover-open{display:grid;gap:4px}@media(max-width:760px){.pop.wide{min-width:min(320px,calc(100vw - 32px))}}.pop .add-models{margin-top:4px;color:var(--muted)}.pop .add-models .ic{width:14px;height:14px}.toasts{position:fixed;top:16px;right:16px;bottom:16px;z-index:50;display:flex;flex-direction:column;justify-content:flex-end;gap:8px;width:min(340px,calc(100vw - 32px));pointer-events:none}.toast{position:relative;display:grid;grid-template-columns:minmax(0,1fr);gap:6px;padding:14px 16px;border:1px solid var(--line2);background:var(--tile);box-shadow:0 12px 32px #0000002e;pointer-events:auto;cursor:pointer;animation:toast-in .15s ease-out}.toast:hover{background:linear-gradient(var(--wash),var(--wash)),var(--tile)}.toast:has(.cover:focus-visible){outline:2px solid var(--acc);outline-offset:2px}.toast-head{display:flex;align-items:center;gap:10px;margin:0}.toast-head .cover{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--fg);text-decoration:none;outline:none}.toast-line{margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted)}.toast.err .toast-head .cover{color:var(--bad)}.toast.err .toast-line{white-space:normal}@keyframes toast-in{0%{opacity:0}}@media(prefers-reduced-motion:reduce){.toast{animation:none}}.st{display:inline-flex;align-items:baseline;gap:7px;padding:2px 8px;font-size:10px;letter-spacing:.14em;white-space:nowrap;color:var(--muted);background:var(--wash)}.st i{align-self:center;width:7px;height:7px;border-radius:50%;background:currentColor}.st.running{color:var(--acc);background:var(--accbg)}.st.running i{width:9px;height:9px;background:none;border:1.5px solid currentColor;border-top-color:transparent;animation:spin 1s linear infinite}.st.waiting{color:var(--warn);background:var(--warnbg)}.st.completed{color:var(--ok);background:var(--okbg)}.st.failed{color:var(--bad);background:var(--badbg)}.st.queued i,.st.cancelled i{background:none;border:1.5px solid currentColor}.stats .st{justify-self:start}
@@ -0,0 +1 @@
1
+ .app{--side: 232px;display:grid;grid-template-columns:var(--side) minmax(0,1fr);grid-template-rows:56px 1fr;min-height:100vh}.top{grid-column:1 / -1;position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 16px 0 20px;background:var(--bg);border-bottom:1px solid var(--line2)}.top-l,.top-r{display:flex;align-items:center;gap:10px;min-width:0}.lockup{display:grid}.lockup small{font-weight:400;font-size:8px;line-height:8px;letter-spacing:.3em;text-transform:uppercase;color:var(--muted)}.side{position:sticky;top:56px;z-index:12;height:calc(100vh - 56px);display:flex;flex-direction:column;justify-content:space-between;padding:16px 12px;border-right:1px solid var(--line)}.side nav{display:grid;gap:2px}.side nav a{display:flex;align-items:center;gap:12px;height:36px;padding:0 12px;color:var(--muted);border-left:2px solid transparent}.side nav a:hover{color:var(--fg);background:var(--wash)}.side nav a[aria-current]{color:var(--fg);background:var(--wash2);border-left-color:var(--deep)}.side nav .n{margin-left:auto;background:var(--accbg);color:var(--acc)}.dot{width:7px;height:7px;flex:none;border-radius:50%;background:var(--warn)}.dot.ok{background:var(--ok);box-shadow:0 0 0 3px var(--okbg)}.server>button{width:100%;display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--line);font-size:12px;text-align:left;cursor:pointer}.server>button:hover{background:var(--wash)}.server>button .grow{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.server .ic{color:var(--dim);width:14px}.server .pop{width:max-content;max-width:calc(100vw - 32px)}.server .kv dd{white-space:nowrap}.pop-head{display:flex;align-items:center;gap:12px;padding:8px 10px 12px;min-width:0}.pop-head b,.pop-head small{display:block;overflow:hidden;text-overflow:ellipsis}.pop-head small,.pop-item small{color:var(--muted);font-size:11.5px}.org,.avatar{display:inline-grid;place-items:center;flex:none;width:26px;height:26px;background:var(--wash2);font-weight:700;font-size:12px}.avatar{width:32px;height:32px}.avatar-btn{display:grid;place-items:center;width:32px;height:32px;background:var(--fg);color:var(--bg);font-weight:700;cursor:pointer}.kv{display:grid;grid-template-columns:max-content 1fr;gap:8px 20px;margin:0}.kv dt{color:var(--muted)}.kv dd{margin:0;overflow-wrap:anywhere}.pop .kv{padding:6px 10px 10px;font-size:12px}.theme .ic.sun,.theme .ic.moon,.theme .ic.sys{display:none}:root[data-theme=light] .theme .ic.sun,:root[data-theme=dark] .theme .ic.moon,:root:not([data-theme]) .theme .ic.sys{display:block}.app>.auth{position:fixed;inset:0;z-index:60;overflow:auto;background:var(--bg)}@media(max-width:760px){.app{grid-template-columns:minmax(0,1fr)}.top{padding:0 10px}.side{position:fixed;top:56px;left:0;bottom:0;height:auto;width:min(280px,84vw);z-index:30;background:var(--bg);border-right:1px solid var(--line2);transform:translate(-100%);transition:transform .2s}}.side-foot{display:grid;gap:8px}.side-toggle{justify-self:end;color:var(--dim)}.side-min .side-toggle{justify-self:center}.app.side-min{--side: 60px}.side-min .top .lockup{display:none}.side-min .side{padding-inline:10px}.side-min .side nav a{justify-content:center;gap:0;padding:0;font-size:0}.side-min .side nav .n{display:none}.side-min .side [data-tip],.side-toggle{position:relative}.side-min .side [data-tip]:after,.side-toggle:after{content:attr(data-tip) / "";position:absolute;top:50%;left:calc(100% + 12px);z-index:30;padding:6px 10px;border:1px solid var(--line2);background:var(--tile);box-shadow:0 12px 32px #0000002e;color:var(--fg);font-size:12px;letter-spacing:normal;white-space:nowrap;transform:translateY(-50%);pointer-events:none;opacity:0;transition:opacity .1s}.side-min .side [data-tip]:before,.side-toggle:before{content:"";position:absolute;top:50%;left:calc(100% + 8px);z-index:31;width:8px;height:8px;border-bottom:1px solid var(--line2);border-left:1px solid var(--line2);background:var(--tile);transform:translateY(-50%) rotate(45deg);pointer-events:none;opacity:0;transition:opacity .1s}.side-min .side [data-tip]:is(:hover,:focus-visible):before,.side-min .side [data-tip]:is(:hover,:focus-visible):after,.side-toggle:is(:hover,:focus-visible):before,.side-toggle:is(:hover,:focus-visible):after{opacity:1}.side-toggle:is(:hover,:focus-visible):before,.side-toggle:is(:hover,:focus-visible):after{transition-delay:.7s}.side-min .menu:has(:popover-open)>[data-tip]:before,.side-min .menu:has(:popover-open)>[data-tip]:after{opacity:0}.side-min .server>button{justify-content:center;padding:10px 0}.side-min .server>button :is(.grow,.ic){display:none}@media(max-width:760px){.side-toggle{display:none}.app.side-min{grid-template-columns:minmax(0,1fr)}}.auth{display:grid;min-height:100vh}.auth-side{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:28px;padding:40px 24px 72px}.auth-frame{width:100%;max-width:440px}.auth-frame .bar{min-height:32px;font-size:10px}.auth-frame .brand{font-size:12px}.tag{margin-left:auto;padding:1px 8px;background:var(--deep);color:#fff}.auth-body{display:grid;gap:14px;padding:28px 24px 26px}.auth-body h1{font-size:22px}.auth-body .lead{margin:0 0 6px}.auth-body form{display:grid;gap:14px}.auth-links{position:absolute;bottom:24px;left:0;right:0;display:flex;justify-content:center;gap:24px;font-size:9px;color:var(--muted)}.auth-links a:hover{color:var(--fg)}.ic{width:16px;height:16px;flex:none;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}.brand .coder-mark{flex:none;position:relative;top:-1px;width:16px;height:16px;fill:currentColor}th .ic{width:12px;height:12px}.scrim{display:none}@media(max-width:760px){.drawer .side{transform:none}.scrim{display:block;position:fixed;inset:56px 0 0;z-index:25;background:#0b0c1073;opacity:0;pointer-events:none;transition:opacity .2s}.drawer .scrim{opacity:1;pointer-events:auto}}@media(min-width:761px){.only-m{display:none}}.pop,.more-list{position:fixed;inset:auto;margin:0;padding:6px;white-space:normal;max-height:calc(100vh - 24px);overflow-y:auto;border:1px solid var(--line2);background:var(--tile);color:inherit;box-shadow:0 12px 32px #0000002e}:where(.menu,.more)>button{padding:0;border:0;background:none;color:inherit;cursor:pointer}.menu>.pop,.more>.more-list{inset:0;margin:auto}@supports (anchor-scope: --menu){.menu,.more{anchor-scope:--menu}:where(.menu,.more)>button{anchor-name:--menu}.menu>.pop,.more>.more-list{position-anchor:--menu;position-try-fallbacks:flip-block;inset:anchor(bottom) auto auto anchor(left);margin:8px 0 0}.menu.right>.pop,.more>.more-list{inset:anchor(bottom) anchor(right) auto auto}.menu.up>.pop{inset:auto anchor(right) anchor(top) anchor(left);margin:0 0 8px}}.pop{z-index:40;min-width:180px}.pop:has(.pop-label,.pop-item.rich,.pop-row){min-width:260px}.menu.up>.pop{min-width:0}.pop.wide{width:min(320px,calc(100vw - 32px))}.pop hr{border:0;border-top:1px solid var(--line);margin:6px 0}.pop-label{padding:8px 10px 4px;font-size:10px;color:var(--dim);border-top:1px solid var(--line)}.pop-head+.pop-label,.pop .pop-label:first-child{border-top:0}.pop-item{display:flex;align-items:center;gap:12px;width:100%;padding:8px 10px;border:0;background:none;text-align:left;cursor:pointer}.pop-item:hover{background:var(--wash)}.pop-item.danger:hover{background:var(--badbg);color:var(--bad)}.pop-item:disabled{cursor:default}.pop-item:disabled:hover{background:none}.pop-item small{display:block}.pop-item.rich{align-items:flex-start}.pop-item.rich .ic{margin-top:2px}.pop-item[role=menuitemradio]>.ic:last-child{visibility:hidden}.pop-item[role=menuitemradio][aria-checked=true]>.ic:last-child{visibility:visible;color:var(--acc)}.pop form{margin:0}.pop-note{padding:0 10px 8px;font-size:11.5px;color:var(--muted)}.more{flex:none}.more>button{padding:0 7px;border:1px solid var(--line2);color:var(--fg);font-size:11.5px;white-space:nowrap}.more:hover>button,.more:has(:popover-open)>button{border-color:var(--acc);color:var(--acc)}.more-list{--max: 220px;z-index:45;min-width:220px}.more-list:before{content:"";position:absolute;left:0;right:0;top:-8px;height:8px}.more-list:popover-open{display:grid;gap:4px}@media(max-width:760px){.pop.wide{min-width:min(320px,calc(100vw - 32px))}}.pop .add-models{margin-top:4px;color:var(--muted)}.pop .add-models .ic{width:14px;height:14px}.toasts{position:fixed;top:16px;right:16px;bottom:16px;z-index:50;display:flex;flex-direction:column;justify-content:flex-end;gap:8px;width:min(340px,calc(100vw - 32px));pointer-events:none}.toast{position:relative;display:grid;grid-template-columns:minmax(0,1fr);gap:6px;padding:14px 16px;border:1px solid var(--line2);background:var(--tile);box-shadow:0 12px 32px #0000002e;pointer-events:auto;cursor:pointer;animation:toast-in .15s ease-out}.toast:hover{background:linear-gradient(var(--wash),var(--wash)),var(--tile)}.toast:has(.cover:focus-visible){outline:2px solid var(--acc);outline-offset:2px}.toast-head{display:flex;align-items:center;gap:10px;margin:0}.toast-head .cover{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--fg);text-decoration:none;outline:none}.toast-line{margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted)}.toast.err .toast-head .cover{color:var(--bad)}.toast.err .toast-line{white-space:normal}@keyframes toast-in{0%{opacity:0}}@media(prefers-reduced-motion:reduce){.toast{animation:none}}.st{display:inline-flex;align-items:baseline;gap:7px;padding:2px 8px;font-size:10px;letter-spacing:.14em;white-space:nowrap;color:var(--muted);background:var(--wash)}.st i{align-self:center;width:7px;height:7px;border-radius:50%;background:currentColor}.st.running{color:var(--acc);background:var(--accbg)}.st.running i{width:9px;height:9px;background:none;border:1.5px solid currentColor;border-top-color:transparent;animation:spin 1s linear infinite}.st.waiting{color:var(--warn);background:var(--warnbg)}.st.completed{color:var(--ok);background:var(--okbg)}.st.failed{color:var(--bad);background:var(--badbg)}.st.queued i,.st.cancelled i{background:none;border:1.5px solid currentColor}.stats .st{justify-self:start}.sheet>div{display:grid;grid-template-columns:minmax(0,300px) minmax(0,1fr);gap:24px;padding:20px;border-top:1px solid var(--line)}.sheet>div:first-child{border-top:0}.sheet .label b{display:block;font-size:10.5px;font-weight:500}.sheet .label span{display:block;margin-top:6px;color:var(--muted)}.sheet .value{display:flex;align-items:center;gap:12px;min-width:0}.sheet .value b,.sheet .value .muted{display:block}.sheet .notify{display:flex;align-items:center;gap:10px;cursor:pointer}.sheet input.switch{appearance:none;position:relative;flex:none;width:30px;height:18px;margin:0;border:1px solid var(--line2);background:var(--wash2);cursor:pointer}.sheet input.switch:after{content:"";position:absolute;top:2px;left:2px;width:12px;height:12px;background:var(--muted);transition:transform .15s}.sheet input.switch:checked{border-color:var(--deep);background:var(--deep)}.sheet input.switch:checked:after{transform:translate(12px);background:#fff}.sheet input.switch:focus-visible{outline:2px solid var(--acc);outline-offset:2px}.sheet input.switch:disabled{opacity:.5;cursor:default}@media(max-width:760px){.sheet>div{grid-template-columns:minmax(0,1fr);gap:12px}}.badge{display:inline-flex;align-items:center;gap:6px;padding:1px 7px;border:1px solid var(--line2);font-size:10px;letter-spacing:.14em;color:var(--muted);white-space:nowrap}.badge.acc{border-color:transparent;background:var(--accbg);color:var(--acc)}.badge.ok{border-color:transparent;background:var(--okbg);color:var(--ok)}.badge.warn{border-color:transparent;background:var(--warnbg);color:var(--warn)}.badge.solid{border-color:var(--fg);background:var(--fg);color:var(--bg)}a.badge:hover,button.badge:hover{border-color:var(--acc)}button.badge{cursor:pointer}.chips{display:inline-flex;flex-wrap:wrap;gap:4px}.chip{line-height:18px;padding:0 6px;border:1px solid var(--line2);font-size:11.5px;color:var(--muted)}.id{font-size:11.5px;color:var(--dim)}button.chip{background:none;cursor:pointer}button.chip:hover,button.chip[aria-pressed=true]{border-color:var(--acc);color:var(--acc)}.page.narrow{max-width:760px}.meta{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.page .head,.page .hero{position:sticky;top:56px;z-index:10;margin-inline:-40px;padding:0 40px 6px;background:var(--bg);overflow-anchor:none}.page{--stuck: calc(56px + var(--head, 0px) + var(--tabs, 0px))}.page:has(.tabs:not(.vertical)){--tabs: 40px}.page *{scroll-margin-top:calc(var(--stuck) + 16px)}.back{display:inline-flex;align-items:center;gap:4px;margin-bottom:6px;font-size:12px;color:var(--muted)}.stuck .back{display:none}.back:hover{color:var(--fg)}.back .ic{width:14px;height:14px}.title-row{display:flex;align-items:center;flex-wrap:wrap;gap:6px 12px;min-width:0}.title-row h1{min-width:0}.head .title-row{flex-wrap:nowrap}.head .title-row h1{flex:0 1 auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.head .title-row .meta{flex:none}@media(max-width:760px){.page .head,.page .hero{margin-inline:-16px;padding-inline:16px}.head .title-row{flex-wrap:wrap}}.head .meta:empty{min-height:20px}.sentinel{display:block;height:0;margin-bottom:-20px}.page .head.stuck,.page .hero.stuck{padding-top:10px}.stuck{border-bottom:1px solid var(--line2);align-items:center;flex-wrap:nowrap}.stuck h1{font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stuck .lead{display:none}.stuck .title-row{flex-wrap:nowrap}.stuck .meta{flex-wrap:nowrap;overflow:hidden}.stuck>div:first-child,.stuck>.grow{flex:1 1 auto;min-width:0}.stuck .actions{flex:none;flex-wrap:nowrap;width:auto;justify-content:flex-end}.stuck .hero-mark{width:28px;height:28px;font-size:13px}.stuck.hero{gap:12px}.hero.stuck .title-row .badge{display:none}@media(max-width:760px){.stuck .actions>:not(.flash,dialog)~:not(.flash,dialog){display:none}}.bar-r{display:flex;align-items:center;margin-block:-2px;gap:8px;flex-wrap:wrap;justify-content:flex-end}.card.accent{border-color:var(--warn)}.card.danger{border-color:var(--bad)}.empty{display:grid;justify-items:center;gap:6px;padding:32px 16px;border:1px dashed var(--line2);text-align:center;color:var(--muted)}.empty b{color:var(--fg);font-weight:500}.card .empty{border:0}.loading{display:flex;align-items:center;justify-content:center;gap:10px;flex:1 0 auto;min-height:var(--h, 240px);color:var(--dim);font-size:12px}.loading.inline{display:inline-flex;min-height:0}.card:has(>.loading:not([style])){flex:1 0 auto;display:flex;flex-direction:column}.loading>span{display:inline-flex;align-items:center;gap:10px;animation:loader-in 0s 60ms both}.loading .spin{flex:none;width:12px;height:12px;border:1.5px solid currentColor;border-top-color:transparent;border-radius:50%;animation:spin .8s linear infinite}.loading .dots{display:inline-flex;gap:3px}.loading .dots>b{width:4px;height:4px;border-radius:50%;background:currentColor;animation:dots 1.2s ease-in-out infinite}.loading .dots>b:nth-child(2){animation-delay:.2s}.loading .dots>b:nth-child(3){animation-delay:.4s}@keyframes dots{0%,80%,to{opacity:.25}40%{opacity:1}}
@@ -0,0 +1 @@
1
+ .app{--side: 232px;display:grid;grid-template-columns:var(--side) minmax(0,1fr);grid-template-rows:56px 1fr;min-height:100vh}.top{grid-column:1 / -1;position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 16px 0 20px;background:var(--bg);border-bottom:1px solid var(--line2)}.top-l,.top-r{display:flex;align-items:center;gap:10px;min-width:0}.lockup{display:grid}.lockup small{font-weight:400;font-size:8px;line-height:8px;letter-spacing:.3em;text-transform:uppercase;color:var(--muted)}.side{position:sticky;top:56px;z-index:12;height:calc(100vh - 56px);display:flex;flex-direction:column;justify-content:space-between;padding:16px 12px;border-right:1px solid var(--line)}.side nav{display:grid;gap:2px}.side nav a{display:flex;align-items:center;gap:12px;height:36px;padding:0 12px;color:var(--muted);border-left:2px solid transparent}.side nav a:hover{color:var(--fg);background:var(--wash)}.side nav a[aria-current]{color:var(--fg);background:var(--wash2);border-left-color:var(--deep)}.side nav .n{margin-left:auto;background:var(--accbg);color:var(--acc)}.dot{width:7px;height:7px;flex:none;border-radius:50%;background:var(--warn)}.dot.ok{background:var(--ok);box-shadow:0 0 0 3px var(--okbg)}.server>button{width:100%;display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--line);font-size:12px;text-align:left;cursor:pointer}.server>button:hover{background:var(--wash)}.server>button .grow{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.server .ic{color:var(--dim);width:14px}.server .pop{width:max-content;max-width:calc(100vw - 32px)}.server .kv dd{white-space:nowrap}.pop-head{display:flex;align-items:center;gap:12px;padding:8px 10px 12px;min-width:0}.pop-head b,.pop-head small{display:block;overflow:hidden;text-overflow:ellipsis}.pop-head small,.pop-item small{color:var(--muted);font-size:11.5px}.org,.avatar{display:inline-grid;place-items:center;flex:none;width:26px;height:26px;background:var(--wash2);font-weight:700;font-size:12px}.avatar{width:32px;height:32px}.avatar-btn{display:grid;place-items:center;width:32px;height:32px;background:var(--fg);color:var(--bg);font-weight:700;cursor:pointer}.kv{display:grid;grid-template-columns:max-content 1fr;gap:8px 20px;margin:0}.kv dt{color:var(--muted)}.kv dd{margin:0;overflow-wrap:anywhere}.pop .kv{padding:6px 10px 10px;font-size:12px}.theme .ic.sun,.theme .ic.moon,.theme .ic.sys{display:none}:root[data-theme=light] .theme .ic.sun,:root[data-theme=dark] .theme .ic.moon,:root:not([data-theme]) .theme .ic.sys{display:block}.app>.auth{position:fixed;inset:0;z-index:60;overflow:auto;background:var(--bg)}@media(max-width:760px){.app{grid-template-columns:minmax(0,1fr)}.top{padding:0 10px}.side{position:fixed;top:56px;left:0;bottom:0;height:auto;width:min(280px,84vw);z-index:30;background:var(--bg);border-right:1px solid var(--line2);transform:translate(-100%);transition:transform .2s}}.side-foot{display:grid;gap:8px}.side-toggle{justify-self:end;color:var(--dim)}.side-min .side-toggle{justify-self:center}.app.side-min{--side: 60px}.side-min .top .lockup{display:none}.side-min .side{padding-inline:10px}.side-min .side nav a{justify-content:center;gap:0;padding:0;font-size:0}.side-min .side nav .n{display:none}.side-min .side [data-tip],.side-toggle{position:relative}.side-min .side [data-tip]:after,.side-toggle:after{content:attr(data-tip) / "";position:absolute;top:50%;left:calc(100% + 12px);z-index:30;padding:6px 10px;border:1px solid var(--line2);background:var(--tile);box-shadow:0 12px 32px #0000002e;color:var(--fg);font-size:12px;letter-spacing:normal;white-space:nowrap;transform:translateY(-50%);pointer-events:none;opacity:0;transition:opacity .1s}.side-min .side [data-tip]:before,.side-toggle:before{content:"";position:absolute;top:50%;left:calc(100% + 8px);z-index:31;width:8px;height:8px;border-bottom:1px solid var(--line2);border-left:1px solid var(--line2);background:var(--tile);transform:translateY(-50%) rotate(45deg);pointer-events:none;opacity:0;transition:opacity .1s}.side-min .side [data-tip]:is(:hover,:focus-visible):before,.side-min .side [data-tip]:is(:hover,:focus-visible):after,.side-toggle:is(:hover,:focus-visible):before,.side-toggle:is(:hover,:focus-visible):after{opacity:1}.side-toggle:is(:hover,:focus-visible):before,.side-toggle:is(:hover,:focus-visible):after{transition-delay:.7s}.side-min .menu:has(:popover-open)>[data-tip]:before,.side-min .menu:has(:popover-open)>[data-tip]:after{opacity:0}.side-min .server>button{justify-content:center;padding:10px 0}.side-min .server>button :is(.grow,.ic){display:none}@media(max-width:760px){.side-toggle{display:none}.app.side-min{grid-template-columns:minmax(0,1fr)}}.auth{display:grid;min-height:100vh}.auth-side{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:28px;padding:40px 24px 72px}.auth-frame{width:100%;max-width:440px}.auth-frame .bar{min-height:32px;font-size:10px}.auth-frame .brand{font-size:12px}.tag{margin-left:auto;padding:1px 8px;background:var(--deep);color:#fff}.auth-body{display:grid;gap:14px;padding:28px 24px 26px}.auth-body h1{font-size:22px}.auth-body .lead{margin:0 0 6px}.auth-body form{display:grid;gap:14px}.auth-links{position:absolute;bottom:24px;left:0;right:0;display:flex;justify-content:center;gap:24px;font-size:9px;color:var(--muted)}.auth-links a:hover{color:var(--fg)}.ic{width:16px;height:16px;flex:none;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}.brand .coder-mark{flex:none;position:relative;top:-1px;width:16px;height:16px;fill:currentColor}th .ic{width:12px;height:12px}.scrim{display:none}@media(max-width:760px){.drawer .side{transform:none}.scrim{display:block;position:fixed;inset:56px 0 0;z-index:25;background:#0b0c1073;opacity:0;pointer-events:none;transition:opacity .2s}.drawer .scrim{opacity:1;pointer-events:auto}}@media(min-width:761px){.only-m{display:none}}.pop,.more-list{position:fixed;inset:auto;margin:0;padding:6px;white-space:normal;max-height:calc(100vh - 24px);overflow-y:auto;border:1px solid var(--line2);background:var(--tile);color:inherit;box-shadow:0 12px 32px #0000002e}:where(.menu,.more)>button{padding:0;border:0;background:none;color:inherit;cursor:pointer}.menu>.pop,.more>.more-list{inset:0;margin:auto}@supports (anchor-scope: --menu){.menu,.more{anchor-scope:--menu}:where(.menu,.more)>button{anchor-name:--menu}.menu>.pop,.more>.more-list{position-anchor:--menu;position-try-fallbacks:flip-block;inset:anchor(bottom) auto auto anchor(left);margin:8px 0 0}.menu.right>.pop,.more>.more-list{inset:anchor(bottom) anchor(right) auto auto}.menu.up>.pop{inset:auto anchor(right) anchor(top) anchor(left);margin:0 0 8px}}.pop{z-index:40;min-width:180px}.pop:has(.pop-label,.pop-item.rich,.pop-row){min-width:260px}.menu.up>.pop{min-width:0}.pop.wide{width:min(320px,calc(100vw - 32px))}.pop hr{border:0;border-top:1px solid var(--line);margin:6px 0}.pop-label{padding:8px 10px 4px;font-size:10px;color:var(--dim);border-top:1px solid var(--line)}.pop-head+.pop-label,.pop .pop-label:first-child{border-top:0}.pop-item{display:flex;align-items:center;gap:12px;width:100%;padding:8px 10px;border:0;background:none;text-align:left;cursor:pointer}.pop-item:hover{background:var(--wash)}.pop-item.danger:hover{background:var(--badbg);color:var(--bad)}.pop-item:disabled{cursor:default}.pop-item:disabled:hover{background:none}.pop-item small{display:block}.pop-item.rich{align-items:flex-start}.pop-item.rich .ic{margin-top:2px}.pop-item[role=menuitemradio]>.ic:last-child{visibility:hidden}.pop-item[role=menuitemradio][aria-checked=true]>.ic:last-child{visibility:visible;color:var(--acc)}.pop form{margin:0}.pop-note{padding:0 10px 8px;font-size:11.5px;color:var(--muted)}.more{flex:none}.more>button{padding:0 7px;border:1px solid var(--line2);color:var(--fg);font-size:11.5px;white-space:nowrap}.more:hover>button,.more:has(:popover-open)>button{border-color:var(--acc);color:var(--acc)}.more-list{--max: 220px;z-index:45;min-width:220px}.more-list:before{content:"";position:absolute;left:0;right:0;top:-8px;height:8px}.more-list:popover-open{display:grid;gap:4px}@media(max-width:760px){.pop.wide{min-width:min(320px,calc(100vw - 32px))}}.pop .add-models{margin-top:4px;color:var(--muted)}.pop .add-models .ic{width:14px;height:14px}.toasts{position:fixed;top:16px;right:16px;bottom:16px;z-index:50;display:flex;flex-direction:column;justify-content:flex-end;gap:8px;width:min(340px,calc(100vw - 32px));pointer-events:none}.toast{position:relative;display:grid;grid-template-columns:minmax(0,1fr);gap:6px;padding:14px 16px;border:1px solid var(--line2);background:var(--tile);box-shadow:0 12px 32px #0000002e;pointer-events:auto;cursor:pointer;animation:toast-in .15s ease-out}.toast:hover{background:linear-gradient(var(--wash),var(--wash)),var(--tile)}.toast:has(.cover:focus-visible){outline:2px solid var(--acc);outline-offset:2px}.toast-head{display:flex;align-items:center;gap:10px;margin:0}.toast-head .cover{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--fg);text-decoration:none;outline:none}.toast-line{margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted)}.toast.err .toast-head .cover{color:var(--bad)}.toast.err .toast-line{white-space:normal}@keyframes toast-in{0%{opacity:0}}@media(prefers-reduced-motion:reduce){.toast{animation:none}}.st{display:inline-flex;align-items:baseline;gap:7px;padding:2px 8px;font-size:10px;letter-spacing:.14em;white-space:nowrap;color:var(--muted);background:var(--wash)}.st i{align-self:center;width:7px;height:7px;border-radius:50%;background:currentColor}.st.running{color:var(--acc);background:var(--accbg)}.st.running i{width:9px;height:9px;background:none;border:1.5px solid currentColor;border-top-color:transparent;animation:spin 1s linear infinite}.st.waiting{color:var(--warn);background:var(--warnbg)}.st.completed{color:var(--ok);background:var(--okbg)}.st.failed{color:var(--bad);background:var(--badbg)}.st.queued i,.st.cancelled i{background:none;border:1.5px solid currentColor}.stats .st{justify-self:start}.agent-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}.agent-card{position:relative;display:flex;flex-direction:column;gap:14px;height:100%;padding:18px;border:1px solid var(--line2);background:var(--panel)}.agent-card:before{content:"";position:absolute;left:-1px;right:-1px;top:-1px;height:2px;background:var(--line2);transition:background .15s}.agent-card:hover{background:var(--tile)}.agent-card:hover:before{background:var(--deep)}.bc-head{display:flex;align-items:center;gap:12px}.bc-head h3{font-size:14px;font-weight:700;overflow-wrap:anywhere}.agent-card .pills a{position:relative;z-index:1}.mark{display:grid;place-items:center;flex:none;width:36px;height:36px;background:var(--blue);color:#fff;font-weight:700}.lead-clamp{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;flex:1;overflow:hidden;color:var(--muted)}.pfs{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;min-width:0;font-size:12px}.page.narrow{max-width:760px}.meta{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.page .head,.page .hero{position:sticky;top:56px;z-index:10;margin-inline:-40px;padding:0 40px 6px;background:var(--bg);overflow-anchor:none}.page{--stuck: calc(56px + var(--head, 0px) + var(--tabs, 0px))}.page:has(.tabs:not(.vertical)){--tabs: 40px}.page *{scroll-margin-top:calc(var(--stuck) + 16px)}.back{display:inline-flex;align-items:center;gap:4px;margin-bottom:6px;font-size:12px;color:var(--muted)}.stuck .back{display:none}.back:hover{color:var(--fg)}.back .ic{width:14px;height:14px}.title-row{display:flex;align-items:center;flex-wrap:wrap;gap:6px 12px;min-width:0}.title-row h1{min-width:0}.head .title-row{flex-wrap:nowrap}.head .title-row h1{flex:0 1 auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.head .title-row .meta{flex:none}@media(max-width:760px){.page .head,.page .hero{margin-inline:-16px;padding-inline:16px}.head .title-row{flex-wrap:wrap}}.head .meta:empty{min-height:20px}.sentinel{display:block;height:0;margin-bottom:-20px}.page .head.stuck,.page .hero.stuck{padding-top:10px}.stuck{border-bottom:1px solid var(--line2);align-items:center;flex-wrap:nowrap}.stuck h1{font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stuck .lead{display:none}.stuck .title-row{flex-wrap:nowrap}.stuck .meta{flex-wrap:nowrap;overflow:hidden}.stuck>div:first-child,.stuck>.grow{flex:1 1 auto;min-width:0}.stuck .actions{flex:none;flex-wrap:nowrap;width:auto;justify-content:flex-end}.stuck .hero-mark{width:28px;height:28px;font-size:13px}.stuck.hero{gap:12px}.hero.stuck .title-row .badge{display:none}@media(max-width:760px){.stuck .actions>:not(.flash,dialog)~:not(.flash,dialog){display:none}}.composer{display:flex;flex-wrap:wrap;padding:5px 5px 5px 8px;border:1px solid var(--line2);background:var(--field)}.composer:has(textarea:focus){border-color:var(--acc)}.composer textarea{flex:1 1 100%;width:auto;field-sizing:content;min-height:22px;max-height:8lh;margin:6px 0;padding:0 4px;border:0;background:none;box-shadow:none;resize:none}.composer textarea:focus{box-shadow:none}.composer-line{display:flex;align-items:center;gap:2px;width:100%;height:30px;min-width:0}.composer-line .select{flex:0 1 auto;max-width:220px}.composer-line .select>button,.composer-line .quiet{margin-left:auto;display:inline-flex;align-items:center;gap:6px;min-height:28px;padding:3px 8px;border:1px solid transparent;background:none;font-size:11.5px;color:var(--muted);white-space:nowrap;cursor:pointer}.composer-line .select>button:hover,.composer-line .quiet:hover{background:var(--wash)}.composer-line .send{flex:none;margin-left:4px}.composer-line .send[aria-busy=true] .ic{visibility:hidden}.composer>.flash{flex-basis:100%;margin:0 4px 2px}.composer-settings:popover-open{display:block;width:min(320px,calc(100vw - 32px));overflow-y:auto;padding:6px}.composer-settings>.pop-label:not(:first-child){margin-top:10px}.composer-settings .pop-item{width:100%;min-height:30px;font-size:12px}.composer-settings .pop-group{margin:6px 10px 2px;font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--dim)}.composer-settings .select{margin:2px 6px 4px}.set-label{font-size:11px;color:var(--muted)}.composer-settings .select>button{min-height:30px;padding:4px 8px 4px 10px;font-size:12px}.model-pick input[aria-expanded=true]{cursor:text}.model-pick input[aria-expanded=true]::placeholder{color:var(--dim)}.model-pick>.ic{position:absolute;right:8px;top:50%;transform:translateY(-50%);color:var(--dim);pointer-events:none}.model-list{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:1;max-height:260px;overflow-y:auto;padding:4px;border:1px solid var(--line2);background:var(--tile);box-shadow:0 12px 32px #0000002e;scrollbar-width:thin}.model-list .pop-item>.ic{visibility:hidden}.model-list .pop-item[aria-selected=true]>.ic{visibility:visible;color:var(--acc)}.model-list .pop-item,.composer-slash .pop-item{gap:10px;padding:6px 10px}.model-list .pop-item:hover,.composer-slash .pop-item:hover{background:none}.model-list .pop-item.on,.composer-slash .pop-item.on{background:var(--wash2)}.model-list small,.composer-slash small{font-size:11px;color:var(--dim);white-space:nowrap}.composer-slash{max-height:min(360px,50vh);overflow-y:auto}.composer-slash .grow{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.composer-slash>.loading{padding:6px 10px}.notice.slim{flex-wrap:nowrap;gap:10px;padding:8px 8px 8px 14px;font-size:12px}.notice.slim .grow{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card>.notice.slim{margin:12px 16px 0}dialog.compose-dialog{width:min(760px,calc(100vw - 32px));margin:14vh auto auto;padding:0;border:1px solid var(--line2);background:var(--tile);color:inherit;box-shadow:0 12px 32px #0000002e}dialog.compose-dialog::backdrop{background:light-dark(rgba(0,0,0,.45),rgba(0,0,0,.72))}.compose-dialog>header{display:flex;align-items:baseline;gap:10px;padding:10px 6px 0 16px}.compose-dialog h2{font-size:15px;font-weight:700}.compose-dialog>header .icon-btn{align-self:center;width:30px;height:30px;margin-left:auto}.compose-dialog .composer,.compose-dialog>.loading,.compose-dialog>.flash,.compose-dialog>.notice{margin:10px 16px 16px}@media(max-width:760px){.composer-settings:popover-open{right:16px!important;grid-template-columns:minmax(0,1fr);gap:4px}.notice.slim .grow{white-space:normal}.composer-settings .set-label:not(:first-child){margin-top:6px}}.pop-row{display:flex;align-items:center}.pop-row>.pop-item{flex:1 1 auto}.pop-row>.pop-item small{margin-right:6px;color:var(--muted);font-size:11px}.pop-chev{display:inline-grid;place-items:center;flex:none;align-self:stretch;aspect-ratio:1;width:auto;border:0;background:none;color:var(--dim);cursor:pointer}.pop-chev:focus-visible{outline-offset:-2px}.pop-chev:hover,.pop-chev[aria-expanded=true]{color:var(--fg);background:var(--wash)}.pop-chev .ic{width:14px;height:14px;transition:rotate .15s}.pop-chev[aria-expanded=true] .ic{rotate:90deg}.pop-sub{padding-left:32px}.composer-line .folder{display:contents}.composer-line input.folder-path{flex:0 1 260px;min-width:0;min-height:0;height:28px;padding:3px 8px;border:1px solid transparent;background:none;font-size:11.5px}.composer-line input.folder-path:focus{border-color:var(--line2);box-shadow:none}.composer-line .folder-busy{flex:none;font-size:11.5px;color:var(--muted)}.composer>.folder-hint{flex:1 1 100%;padding:0 8px 4px;font-size:11px;color:var(--muted)}.composer>.flash{flex:1 1 100%;padding:2px 8px 4px}.bar-r{display:flex;align-items:center;margin-block:-2px;gap:8px;flex-wrap:wrap;justify-content:flex-end}.card.accent{border-color:var(--warn)}.card.danger{border-color:var(--bad)}.empty{display:grid;justify-items:center;gap:6px;padding:32px 16px;border:1px dashed var(--line2);text-align:center;color:var(--muted)}.empty b{color:var(--fg);font-weight:500}.card .empty{border:0}.loading{display:flex;align-items:center;justify-content:center;gap:10px;flex:1 0 auto;min-height:var(--h, 240px);color:var(--dim);font-size:12px}.loading.inline{display:inline-flex;min-height:0}.card:has(>.loading:not([style])){flex:1 0 auto;display:flex;flex-direction:column}.loading>span{display:inline-flex;align-items:center;gap:10px;animation:loader-in 0s 60ms both}.loading .spin{flex:none;width:12px;height:12px;border:1.5px solid currentColor;border-top-color:transparent;border-radius:50%;animation:spin .8s linear infinite}.loading .dots{display:inline-flex;gap:3px}.loading .dots>b{width:4px;height:4px;border-radius:50%;background:currentColor;animation:dots 1.2s ease-in-out infinite}.loading .dots>b:nth-child(2){animation-delay:.2s}.loading .dots>b:nth-child(3){animation-delay:.4s}@keyframes dots{0%,80%,to{opacity:.25}40%{opacity:1}}.field{display:grid;gap:6px}.field>span:first-child,.field>label{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;font-weight:500}.field small{font-weight:400;color:var(--muted);font-size:11.5px}.field .seg-btns{width:max-content;max-width:100%}.field .seg-btns>button{height:36px}.select{position:relative;display:inline-flex;min-width:0}.field .select{display:flex}.select>button{display:flex;align-items:center;gap:10px;width:100%;min-height:36px;padding:7px 10px 7px 12px;border:1px solid var(--line2);background:var(--field);text-align:left;white-space:nowrap;cursor:pointer;touch-action:manipulation}.select>button .grow{overflow:hidden;text-overflow:ellipsis}.select>button .ic{color:var(--dim);transition:transform .15s}.select>button[aria-expanded=true] .ic{transform:rotate(180deg)}.select>button:focus-visible,.select>button[aria-expanded=true]{outline:none;border-color:var(--acc);box-shadow:0 0 0 3px var(--accbg)}.select>button:disabled{color:var(--muted);cursor:default}.select-pop{min-width:0;max-width:min(440px,calc(100vw - 16px));overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--line2) transparent}.select-pop .pop-item{white-space:nowrap}.select-pop .pop-item:hover{background:none}.select-pop .pop-item.on{background:var(--wash2)}.select-pop .pop-item>.ic{visibility:hidden}.select-pop .pop-item[aria-selected=true]>.ic{visibility:visible;color:var(--acc)}.select>button:disabled{opacity:.65;cursor:default}.select-pop .pop-item .pop-path{display:block;overflow:hidden;direction:rtl;text-align:left;white-space:nowrap;text-overflow:ellipsis;font-size:11px;color:var(--muted)}.select-pop .pop-item .grow{min-width:0;overflow:hidden;text-overflow:ellipsis}.select-pop .pop-item.action{margin-top:4px;color:var(--muted)}.select-pop .pop-item.action>.ic{visibility:visible;width:14px;height:14px}.select-pop .pop-item.action.on{color:var(--fg)}.link-pill{color:var(--acc);text-transform:none;letter-spacing:.02em}.link-pill .ic{width:12px;height:12px}.pf{display:inline-flex;flex:none;align-items:center;gap:7px;color:var(--muted);white-space:nowrap}.brand-icon{width:12px;height:12px;flex:none}.brand-icon>svg{display:block;width:100%;height:100%}.badge{display:inline-flex;align-items:center;gap:6px;padding:1px 7px;border:1px solid var(--line2);font-size:10px;letter-spacing:.14em;color:var(--muted);white-space:nowrap}.badge.acc{border-color:transparent;background:var(--accbg);color:var(--acc)}.badge.ok{border-color:transparent;background:var(--okbg);color:var(--ok)}.badge.warn{border-color:transparent;background:var(--warnbg);color:var(--warn)}.badge.solid{border-color:var(--fg);background:var(--fg);color:var(--bg)}a.badge:hover,button.badge:hover{border-color:var(--acc)}button.badge{cursor:pointer}.chips{display:inline-flex;flex-wrap:wrap;gap:4px}.chip{line-height:18px;padding:0 6px;border:1px solid var(--line2);font-size:11.5px;color:var(--muted)}.id{font-size:11.5px;color:var(--dim)}button.chip{background:none;cursor:pointer}button.chip:hover,button.chip[aria-pressed=true]{border-color:var(--acc);color:var(--acc)}.head.tools{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px 24px;min-height:36px}.head.tools>div:first-child{display:contents}.head.tools .lead{grid-row:2;grid-column:1 / -1}.head.tools>.filters{grid-row:1;grid-column:2;justify-content:flex-end}.head.tools>.filters:last-child{grid-column:2 / -1}.head.tools>.actions{grid-row:1;grid-column:3}.filters{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.search{position:relative;display:block}.tab-body .filters{position:sticky;top:calc(56px + var(--head, 0px) + var(--tabs, 0px));z-index:8;margin-block:-8px;padding-block:8px;background:var(--bg)}.filters .search{flex:1 1 240px;max-width:360px}.search .ic{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--dim);pointer-events:none}label.search input[type=search]{padding-left:32px}.filters .select{flex:none}.filters .end{margin-left:auto}.vsearch .search{width:min(280px,100%)}@media(max-width:760px){.head.tools{grid-template-columns:minmax(0,1fr) auto;row-gap:12px}.head.tools>.filters{grid-row:3;grid-column:1 / -1}.head.tools>.actions{grid-column:2;width:auto}.filters .search{max-width:none;flex-basis:100%}.filters .select{flex:1 1 0}.filters .select>button{gap:4px;padding-inline:8px}.head.tools.stuck>.filters>.select{display:none}}.filter-more>.pop:popover-open{display:block;width:min(260px,calc(100vw - 32px));max-height:calc(100vh - 160px);overflow-y:auto;padding:6px}.filter-more .pop-label:not(:first-child){margin-top:10px}.filter-more .pop-item{width:100%;min-height:30px;font-size:12px}.field-btn{display:flex;align-items:center;gap:10px;min-height:36px;padding:7px 12px;border:1px solid var(--line2);background:var(--field);white-space:nowrap;cursor:pointer}.field-btn:focus-visible,.field-btn:has(+.pop:popover-open){outline:none;border-color:var(--acc);box-shadow:0 0 0 3px var(--accbg)}.field-btn:disabled{color:var(--muted);cursor:default}.filter-more>.field-btn.on{color:var(--acc)}.tail{display:flex;align-items:center;justify-content:center;min-height:48px;padding:0 14px;color:var(--dim);font-size:11.5px}.tail.err{color:var(--bad)}
@@ -0,0 +1 @@
1
+ .app{--side: 232px;display:grid;grid-template-columns:var(--side) minmax(0,1fr);grid-template-rows:56px 1fr;min-height:100vh}.top{grid-column:1 / -1;position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 16px 0 20px;background:var(--bg);border-bottom:1px solid var(--line2)}.top-l,.top-r{display:flex;align-items:center;gap:10px;min-width:0}.lockup{display:grid}.lockup small{font-weight:400;font-size:8px;line-height:8px;letter-spacing:.3em;text-transform:uppercase;color:var(--muted)}.side{position:sticky;top:56px;z-index:12;height:calc(100vh - 56px);display:flex;flex-direction:column;justify-content:space-between;padding:16px 12px;border-right:1px solid var(--line)}.side nav{display:grid;gap:2px}.side nav a{display:flex;align-items:center;gap:12px;height:36px;padding:0 12px;color:var(--muted);border-left:2px solid transparent}.side nav a:hover{color:var(--fg);background:var(--wash)}.side nav a[aria-current]{color:var(--fg);background:var(--wash2);border-left-color:var(--deep)}.side nav .n{margin-left:auto;background:var(--accbg);color:var(--acc)}.dot{width:7px;height:7px;flex:none;border-radius:50%;background:var(--warn)}.dot.ok{background:var(--ok);box-shadow:0 0 0 3px var(--okbg)}.server>button{width:100%;display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--line);font-size:12px;text-align:left;cursor:pointer}.server>button:hover{background:var(--wash)}.server>button .grow{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.server .ic{color:var(--dim);width:14px}.server .pop{width:max-content;max-width:calc(100vw - 32px)}.server .kv dd{white-space:nowrap}.pop-head{display:flex;align-items:center;gap:12px;padding:8px 10px 12px;min-width:0}.pop-head b,.pop-head small{display:block;overflow:hidden;text-overflow:ellipsis}.pop-head small,.pop-item small{color:var(--muted);font-size:11.5px}.org,.avatar{display:inline-grid;place-items:center;flex:none;width:26px;height:26px;background:var(--wash2);font-weight:700;font-size:12px}.avatar{width:32px;height:32px}.avatar-btn{display:grid;place-items:center;width:32px;height:32px;background:var(--fg);color:var(--bg);font-weight:700;cursor:pointer}.kv{display:grid;grid-template-columns:max-content 1fr;gap:8px 20px;margin:0}.kv dt{color:var(--muted)}.kv dd{margin:0;overflow-wrap:anywhere}.pop .kv{padding:6px 10px 10px;font-size:12px}.theme .ic.sun,.theme .ic.moon,.theme .ic.sys{display:none}:root[data-theme=light] .theme .ic.sun,:root[data-theme=dark] .theme .ic.moon,:root:not([data-theme]) .theme .ic.sys{display:block}.app>.auth{position:fixed;inset:0;z-index:60;overflow:auto;background:var(--bg)}@media(max-width:760px){.app{grid-template-columns:minmax(0,1fr)}.top{padding:0 10px}.side{position:fixed;top:56px;left:0;bottom:0;height:auto;width:min(280px,84vw);z-index:30;background:var(--bg);border-right:1px solid var(--line2);transform:translate(-100%);transition:transform .2s}}.side-foot{display:grid;gap:8px}.side-toggle{justify-self:end;color:var(--dim)}.side-min .side-toggle{justify-self:center}.app.side-min{--side: 60px}.side-min .top .lockup{display:none}.side-min .side{padding-inline:10px}.side-min .side nav a{justify-content:center;gap:0;padding:0;font-size:0}.side-min .side nav .n{display:none}.side-min .side [data-tip],.side-toggle{position:relative}.side-min .side [data-tip]:after,.side-toggle:after{content:attr(data-tip) / "";position:absolute;top:50%;left:calc(100% + 12px);z-index:30;padding:6px 10px;border:1px solid var(--line2);background:var(--tile);box-shadow:0 12px 32px #0000002e;color:var(--fg);font-size:12px;letter-spacing:normal;white-space:nowrap;transform:translateY(-50%);pointer-events:none;opacity:0;transition:opacity .1s}.side-min .side [data-tip]:before,.side-toggle:before{content:"";position:absolute;top:50%;left:calc(100% + 8px);z-index:31;width:8px;height:8px;border-bottom:1px solid var(--line2);border-left:1px solid var(--line2);background:var(--tile);transform:translateY(-50%) rotate(45deg);pointer-events:none;opacity:0;transition:opacity .1s}.side-min .side [data-tip]:is(:hover,:focus-visible):before,.side-min .side [data-tip]:is(:hover,:focus-visible):after,.side-toggle:is(:hover,:focus-visible):before,.side-toggle:is(:hover,:focus-visible):after{opacity:1}.side-toggle:is(:hover,:focus-visible):before,.side-toggle:is(:hover,:focus-visible):after{transition-delay:.7s}.side-min .menu:has(:popover-open)>[data-tip]:before,.side-min .menu:has(:popover-open)>[data-tip]:after{opacity:0}.side-min .server>button{justify-content:center;padding:10px 0}.side-min .server>button :is(.grow,.ic){display:none}@media(max-width:760px){.side-toggle{display:none}.app.side-min{grid-template-columns:minmax(0,1fr)}}.auth{display:grid;min-height:100vh}.auth-side{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:28px;padding:40px 24px 72px}.auth-frame{width:100%;max-width:440px}.auth-frame .bar{min-height:32px;font-size:10px}.auth-frame .brand{font-size:12px}.tag{margin-left:auto;padding:1px 8px;background:var(--deep);color:#fff}.auth-body{display:grid;gap:14px;padding:28px 24px 26px}.auth-body h1{font-size:22px}.auth-body .lead{margin:0 0 6px}.auth-body form{display:grid;gap:14px}.auth-links{position:absolute;bottom:24px;left:0;right:0;display:flex;justify-content:center;gap:24px;font-size:9px;color:var(--muted)}.auth-links a:hover{color:var(--fg)}.ic{width:16px;height:16px;flex:none;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}.brand .coder-mark{flex:none;position:relative;top:-1px;width:16px;height:16px;fill:currentColor}th .ic{width:12px;height:12px}.scrim{display:none}@media(max-width:760px){.drawer .side{transform:none}.scrim{display:block;position:fixed;inset:56px 0 0;z-index:25;background:#0b0c1073;opacity:0;pointer-events:none;transition:opacity .2s}.drawer .scrim{opacity:1;pointer-events:auto}}@media(min-width:761px){.only-m{display:none}}.pop,.more-list{position:fixed;inset:auto;margin:0;padding:6px;white-space:normal;max-height:calc(100vh - 24px);overflow-y:auto;border:1px solid var(--line2);background:var(--tile);color:inherit;box-shadow:0 12px 32px #0000002e}:where(.menu,.more)>button{padding:0;border:0;background:none;color:inherit;cursor:pointer}.menu>.pop,.more>.more-list{inset:0;margin:auto}@supports (anchor-scope: --menu){.menu,.more{anchor-scope:--menu}:where(.menu,.more)>button{anchor-name:--menu}.menu>.pop,.more>.more-list{position-anchor:--menu;position-try-fallbacks:flip-block;inset:anchor(bottom) auto auto anchor(left);margin:8px 0 0}.menu.right>.pop,.more>.more-list{inset:anchor(bottom) anchor(right) auto auto}.menu.up>.pop{inset:auto anchor(right) anchor(top) anchor(left);margin:0 0 8px}}.pop{z-index:40;min-width:180px}.pop:has(.pop-label,.pop-item.rich,.pop-row){min-width:260px}.menu.up>.pop{min-width:0}.pop.wide{width:min(320px,calc(100vw - 32px))}.pop hr{border:0;border-top:1px solid var(--line);margin:6px 0}.pop-label{padding:8px 10px 4px;font-size:10px;color:var(--dim);border-top:1px solid var(--line)}.pop-head+.pop-label,.pop .pop-label:first-child{border-top:0}.pop-item{display:flex;align-items:center;gap:12px;width:100%;padding:8px 10px;border:0;background:none;text-align:left;cursor:pointer}.pop-item:hover{background:var(--wash)}.pop-item.danger:hover{background:var(--badbg);color:var(--bad)}.pop-item:disabled{cursor:default}.pop-item:disabled:hover{background:none}.pop-item small{display:block}.pop-item.rich{align-items:flex-start}.pop-item.rich .ic{margin-top:2px}.pop-item[role=menuitemradio]>.ic:last-child{visibility:hidden}.pop-item[role=menuitemradio][aria-checked=true]>.ic:last-child{visibility:visible;color:var(--acc)}.pop form{margin:0}.pop-note{padding:0 10px 8px;font-size:11.5px;color:var(--muted)}.more{flex:none}.more>button{padding:0 7px;border:1px solid var(--line2);color:var(--fg);font-size:11.5px;white-space:nowrap}.more:hover>button,.more:has(:popover-open)>button{border-color:var(--acc);color:var(--acc)}.more-list{--max: 220px;z-index:45;min-width:220px}.more-list:before{content:"";position:absolute;left:0;right:0;top:-8px;height:8px}.more-list:popover-open{display:grid;gap:4px}@media(max-width:760px){.pop.wide{min-width:min(320px,calc(100vw - 32px))}}.pop .add-models{margin-top:4px;color:var(--muted)}.pop .add-models .ic{width:14px;height:14px}.toasts{position:fixed;top:16px;right:16px;bottom:16px;z-index:50;display:flex;flex-direction:column;justify-content:flex-end;gap:8px;width:min(340px,calc(100vw - 32px));pointer-events:none}.toast{position:relative;display:grid;grid-template-columns:minmax(0,1fr);gap:6px;padding:14px 16px;border:1px solid var(--line2);background:var(--tile);box-shadow:0 12px 32px #0000002e;pointer-events:auto;cursor:pointer;animation:toast-in .15s ease-out}.toast:hover{background:linear-gradient(var(--wash),var(--wash)),var(--tile)}.toast:has(.cover:focus-visible){outline:2px solid var(--acc);outline-offset:2px}.toast-head{display:flex;align-items:center;gap:10px;margin:0}.toast-head .cover{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--fg);text-decoration:none;outline:none}.toast-line{margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted)}.toast.err .toast-head .cover{color:var(--bad)}.toast.err .toast-line{white-space:normal}@keyframes toast-in{0%{opacity:0}}@media(prefers-reduced-motion:reduce){.toast{animation:none}}.st{display:inline-flex;align-items:baseline;gap:7px;padding:2px 8px;font-size:10px;letter-spacing:.14em;white-space:nowrap;color:var(--muted);background:var(--wash)}.st i{align-self:center;width:7px;height:7px;border-radius:50%;background:currentColor}.st.running{color:var(--acc);background:var(--accbg)}.st.running i{width:9px;height:9px;background:none;border:1.5px solid currentColor;border-top-color:transparent;animation:spin 1s linear infinite}.st.waiting{color:var(--warn);background:var(--warnbg)}.st.completed{color:var(--ok);background:var(--okbg)}.st.failed{color:var(--bad);background:var(--badbg)}.st.queued i,.st.cancelled i{background:none;border:1.5px solid currentColor}.stats .st{justify-self:start}.page.narrow{max-width:760px}.meta{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.page .head,.page .hero{position:sticky;top:56px;z-index:10;margin-inline:-40px;padding:0 40px 6px;background:var(--bg);overflow-anchor:none}.page{--stuck: calc(56px + var(--head, 0px) + var(--tabs, 0px))}.page:has(.tabs:not(.vertical)){--tabs: 40px}.page *{scroll-margin-top:calc(var(--stuck) + 16px)}.back{display:inline-flex;align-items:center;gap:4px;margin-bottom:6px;font-size:12px;color:var(--muted)}.stuck .back{display:none}.back:hover{color:var(--fg)}.back .ic{width:14px;height:14px}.title-row{display:flex;align-items:center;flex-wrap:wrap;gap:6px 12px;min-width:0}.title-row h1{min-width:0}.head .title-row{flex-wrap:nowrap}.head .title-row h1{flex:0 1 auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.head .title-row .meta{flex:none}@media(max-width:760px){.page .head,.page .hero{margin-inline:-16px;padding-inline:16px}.head .title-row{flex-wrap:wrap}}.head .meta:empty{min-height:20px}.sentinel{display:block;height:0;margin-bottom:-20px}.page .head.stuck,.page .hero.stuck{padding-top:10px}.stuck{border-bottom:1px solid var(--line2);align-items:center;flex-wrap:nowrap}.stuck h1{font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stuck .lead{display:none}.stuck .title-row{flex-wrap:nowrap}.stuck .meta{flex-wrap:nowrap;overflow:hidden}.stuck>div:first-child,.stuck>.grow{flex:1 1 auto;min-width:0}.stuck .actions{flex:none;flex-wrap:nowrap;width:auto;justify-content:flex-end}.stuck .hero-mark{width:28px;height:28px;font-size:13px}.stuck.hero{gap:12px}.hero.stuck .title-row .badge{display:none}@media(max-width:760px){.stuck .actions>:not(.flash,dialog)~:not(.flash,dialog){display:none}}.bar-r{display:flex;align-items:center;margin-block:-2px;gap:8px;flex-wrap:wrap;justify-content:flex-end}.card.accent{border-color:var(--warn)}.card.danger{border-color:var(--bad)}.empty{display:grid;justify-items:center;gap:6px;padding:32px 16px;border:1px dashed var(--line2);text-align:center;color:var(--muted)}.empty b{color:var(--fg);font-weight:500}.card .empty{border:0}.loading{display:flex;align-items:center;justify-content:center;gap:10px;flex:1 0 auto;min-height:var(--h, 240px);color:var(--dim);font-size:12px}.loading.inline{display:inline-flex;min-height:0}.card:has(>.loading:not([style])){flex:1 0 auto;display:flex;flex-direction:column}.loading>span{display:inline-flex;align-items:center;gap:10px;animation:loader-in 0s 60ms both}.loading .spin{flex:none;width:12px;height:12px;border:1.5px solid currentColor;border-top-color:transparent;border-radius:50%;animation:spin .8s linear infinite}.loading .dots{display:inline-flex;gap:3px}.loading .dots>b{width:4px;height:4px;border-radius:50%;background:currentColor;animation:dots 1.2s ease-in-out infinite}.loading .dots>b:nth-child(2){animation-delay:.2s}.loading .dots>b:nth-child(3){animation-delay:.4s}@keyframes dots{0%,80%,to{opacity:.25}40%{opacity:1}}.fixed{padding:7px 0;color:var(--muted)}.agent-new{display:flex;flex-direction:column;gap:20px}.agent-new .btn[aria-pressed=true]{border-color:var(--deep);background:var(--accbg)}.templates{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.tile{width:100%;padding:10px 14px;border:1px solid var(--line2);background:var(--tile);text-align:left;font:inherit;color:inherit;cursor:pointer}.tile[aria-checked=true]{border-color:var(--deep);box-shadow:inset 3px 0 0 var(--deep)}.tile b,.tile small{display:block}.tile small{color:var(--muted);font-size:11.5px;margin-top:2px}.agent-form{display:grid;grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:24px}.agent-main{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;min-width:0}.form-part{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;padding:16px 18px;border:1px solid var(--line2);background:var(--panel)}.form-part h2{font-size:15px;font-weight:700}.form-part h2+.muted,.part-head+.muted{margin-top:-6px}.part-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.part-head .search{flex:0 1 240px;min-width:0}.md-preview{min-height:232px;max-height:240px;overflow:auto;padding:8px 10px;border:1px solid var(--line2);background:var(--field)}.listen{border:1px solid var(--line2)}.listen>li+li{border-top:1px solid var(--line2)}.listen-row{display:flex;align-items:center;gap:12px;padding:10px 12px;cursor:pointer}.listen-row b,.listen-row small{display:block}.listen-row small{color:var(--muted);font-size:11.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pf-mark{display:grid;place-items:center;flex:none;width:28px;height:28px;background:var(--wash2);color:var(--muted);font-size:12px;font-weight:700}.listen li.on .pf-mark{background:var(--wash2)}.listen input.switch{appearance:none;position:relative;width:30px;height:18px;border:1px solid var(--line2);background:var(--wash2)}.listen input.switch:after{content:"";position:absolute;top:2px;left:2px;width:12px;height:12px;background:var(--muted);transition:transform .15s}.listen input.switch:checked{border-color:var(--deep);background:var(--deep)}.listen input.switch:checked:after{transform:translate(12px);background:#fff}.listen input.switch:focus-visible{outline:2px solid var(--acc);outline-offset:2px}.triggers{display:grid;gap:8px;padding:0 12px 12px 52px}.triggers .chips{gap:6px}.match{display:flex;align-items:center;gap:10px}.match span{flex:none;font-size:11.5px;color:var(--muted)}.listen .match input.mono{min-width:0;min-height:30px;padding:4px 8px}.listen-none{padding:12px}.run:not([open]){gap:0}.run-body{display:grid;gap:14px}.run>summary{display:flex;align-items:baseline;gap:12px;list-style:none;cursor:pointer}.run>summary::-webkit-details-marker{display:none}.run>summary .grow{font-size:12px}.run>summary .ic{align-self:center;width:14px;height:14px;color:var(--muted);transform:rotate(-90deg);transition:transform .15s}.run[open]>summary .ic{transform:none}.agent-side{position:sticky;top:calc(var(--stuck) + 16px);display:grid;gap:10px}.side-label{font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:var(--dim)}.agent-card.preview{height:auto;min-height:160px}.agent-card.preview:before{background:var(--deep)}.summary{color:var(--muted)}@media(max-width:760px){.templates,.agent-form{grid-template-columns:minmax(0,1fr)}.agent-side{position:static}.triggers{padding-left:12px}.run-body .seg-btns>button{padding:0 8px}.page .agent-new .stuck .actions>:not(:last-child,[role=alert]){display:none}.page .agent-new .stuck .actions>:last-child{display:inline-flex}}.agent-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px}.agent-card{position:relative;display:flex;flex-direction:column;gap:14px;height:100%;padding:18px;border:1px solid var(--line2);background:var(--panel)}.agent-card:before{content:"";position:absolute;left:-1px;right:-1px;top:-1px;height:2px;background:var(--line2);transition:background .15s}.agent-card:hover{background:var(--tile)}.agent-card:hover:before{background:var(--deep)}.bc-head{display:flex;align-items:center;gap:12px}.bc-head h3{font-size:14px;font-weight:700;overflow-wrap:anywhere}.agent-card .pills a{position:relative;z-index:1}.mark{display:grid;place-items:center;flex:none;width:36px;height:36px;background:var(--blue);color:#fff;font-weight:700}.lead-clamp{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;flex:1;overflow:hidden;color:var(--muted)}.pfs{display:flex;flex-wrap:wrap;align-items:center;gap:6px 14px;min-width:0;font-size:12px}.link-pill{color:var(--acc);text-transform:none;letter-spacing:.02em}.link-pill .ic{width:12px;height:12px}.pf{display:inline-flex;flex:none;align-items:center;gap:7px;color:var(--muted);white-space:nowrap}.brand-icon{width:12px;height:12px;flex:none}.brand-icon>svg{display:block;width:100%;height:100%}.badge{display:inline-flex;align-items:center;gap:6px;padding:1px 7px;border:1px solid var(--line2);font-size:10px;letter-spacing:.14em;color:var(--muted);white-space:nowrap}.badge.acc{border-color:transparent;background:var(--accbg);color:var(--acc)}.badge.ok{border-color:transparent;background:var(--okbg);color:var(--ok)}.badge.warn{border-color:transparent;background:var(--warnbg);color:var(--warn)}.badge.solid{border-color:var(--fg);background:var(--fg);color:var(--bg)}a.badge:hover,button.badge:hover{border-color:var(--acc)}button.badge{cursor:pointer}.chips{display:inline-flex;flex-wrap:wrap;gap:4px}.chip{line-height:18px;padding:0 6px;border:1px solid var(--line2);font-size:11.5px;color:var(--muted)}.id{font-size:11.5px;color:var(--dim)}button.chip{background:none;cursor:pointer}button.chip:hover,button.chip[aria-pressed=true]{border-color:var(--acc);color:var(--acc)}.hero{display:flex;align-items:flex-start;gap:20px;flex-wrap:wrap}.hero>.grow{flex:1 1 280px}.hero-mark{display:grid;place-items:center;flex:none;width:64px;height:64px;background:var(--blue);color:#fff;font-size:26px;font-weight:700}@media(max-width:760px){.hero{gap:14px}.hero-mark{width:48px;height:48px;font-size:20px}.hero .lead{display:-webkit-box;min-height:2lh;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}}.head.tools{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px 24px;min-height:36px}.head.tools>div:first-child{display:contents}.head.tools .lead{grid-row:2;grid-column:1 / -1}.head.tools>.filters{grid-row:1;grid-column:2;justify-content:flex-end}.head.tools>.filters:last-child{grid-column:2 / -1}.head.tools>.actions{grid-row:1;grid-column:3}.filters{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.search{position:relative;display:block}.tab-body .filters{position:sticky;top:calc(56px + var(--head, 0px) + var(--tabs, 0px));z-index:8;margin-block:-8px;padding-block:8px;background:var(--bg)}.filters .search{flex:1 1 240px;max-width:360px}.search .ic{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--dim);pointer-events:none}label.search input[type=search]{padding-left:32px}.filters .select{flex:none}.filters .end{margin-left:auto}.vsearch .search{width:min(280px,100%)}@media(max-width:760px){.head.tools{grid-template-columns:minmax(0,1fr) auto;row-gap:12px}.head.tools>.filters{grid-row:3;grid-column:1 / -1}.head.tools>.actions{grid-column:2;width:auto}.filters .search{max-width:none;flex-basis:100%}.filters .select{flex:1 1 0}.filters .select>button{gap:4px;padding-inline:8px}.head.tools.stuck>.filters>.select{display:none}}.filter-more>.pop:popover-open{display:block;width:min(260px,calc(100vw - 32px));max-height:calc(100vh - 160px);overflow-y:auto;padding:6px}.filter-more .pop-label:not(:first-child){margin-top:10px}.filter-more .pop-item{width:100%;min-height:30px;font-size:12px}.field-btn{display:flex;align-items:center;gap:10px;min-height:36px;padding:7px 12px;border:1px solid var(--line2);background:var(--field);white-space:nowrap;cursor:pointer}.field-btn:focus-visible,.field-btn:has(+.pop:popover-open){outline:none;border-color:var(--acc);box-shadow:0 0 0 3px var(--accbg)}.field-btn:disabled{color:var(--muted);cursor:default}.filter-more>.field-btn.on{color:var(--acc)}.field{display:grid;gap:6px}.field>span:first-child,.field>label{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;font-weight:500}.field small{font-weight:400;color:var(--muted);font-size:11.5px}.field .seg-btns{width:max-content;max-width:100%}.field .seg-btns>button{height:36px}.select{position:relative;display:inline-flex;min-width:0}.field .select{display:flex}.select>button{display:flex;align-items:center;gap:10px;width:100%;min-height:36px;padding:7px 10px 7px 12px;border:1px solid var(--line2);background:var(--field);text-align:left;white-space:nowrap;cursor:pointer;touch-action:manipulation}.select>button .grow{overflow:hidden;text-overflow:ellipsis}.select>button .ic{color:var(--dim);transition:transform .15s}.select>button[aria-expanded=true] .ic{transform:rotate(180deg)}.select>button:focus-visible,.select>button[aria-expanded=true]{outline:none;border-color:var(--acc);box-shadow:0 0 0 3px var(--accbg)}.select>button:disabled{color:var(--muted);cursor:default}.select-pop{min-width:0;max-width:min(440px,calc(100vw - 16px));overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--line2) transparent}.select-pop .pop-item{white-space:nowrap}.select-pop .pop-item:hover{background:none}.select-pop .pop-item.on{background:var(--wash2)}.select-pop .pop-item>.ic{visibility:hidden}.select-pop .pop-item[aria-selected=true]>.ic{visibility:visible;color:var(--acc)}.select>button:disabled{opacity:.65;cursor:default}.select-pop .pop-item .pop-path{display:block;overflow:hidden;direction:rtl;text-align:left;white-space:nowrap;text-overflow:ellipsis;font-size:11px;color:var(--muted)}.select-pop .pop-item .grow{min-width:0;overflow:hidden;text-overflow:ellipsis}.select-pop .pop-item.action{margin-top:4px;color:var(--muted)}.select-pop .pop-item.action>.ic{visibility:visible;width:14px;height:14px}.select-pop .pop-item.action.on{color:var(--fg)}.seg-btns{display:flex;border:1px solid var(--line2)}.seg-btns>a,.seg-btns>button,.seg-btns .menu>button{display:flex;align-items:center;gap:6px;height:32px;padding:0 12px;border-left:1px solid var(--line2);background:var(--panel);font-size:10.5px;letter-spacing:.14em;color:var(--muted);cursor:pointer}.seg-btns>button{border-top:0;border-right:0;border-bottom:0;text-transform:uppercase}.seg-btns>:first-child{border-left:0}.seg-btns>a:hover,.seg-btns>button:hover,.seg-btns .menu>button:hover{color:var(--fg)}.seg-btns [aria-current],.seg-btns [aria-checked=true],.seg-btns .on>button{background:var(--accbg);color:var(--acc)}.seg-btns>button:disabled{opacity:.45;color:var(--muted);cursor:not-allowed}.form-actions.end{justify-content:flex-end}.import{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:20px}.import-repos,.import-preview,.import-agents{display:grid;gap:12px}.import-preview{min-height:240px;padding:20px;border:1px solid var(--line2);background:var(--panel)}.import-preview h3{font-size:14px;font-weight:700}.repo-list{--max: 420px;min-height:240px;border:1px solid var(--line2);background:var(--panel)}.repo-list .pop-item .ic{color:var(--dim)}.repo-list .pop-item[aria-pressed=true]{background:var(--accbg);box-shadow:inset 2px 0 0 var(--acc)}.picks-list{display:grid;gap:12px}.picks-list b{font-weight:500}.picks-list .badge{margin-left:6px}.md{overflow-wrap:anywhere}.md :where(h3,h4,h5,h6){margin:0;font-size:13px;font-weight:700}.md h3{font-size:14px}.md ul{padding-left:20px;list-style:disc}.md ol{padding-left:20px;list-style:decimal}.md pre{margin:0;padding:8px 12px;overflow-x:auto;background:var(--wash)}.md pre code{padding:0;background:none}.collapse{position:relative}.collapse:not(.open){padding-bottom:6px}.collapse-box{box-sizing:content-box;max-height:calc(var(--lines) * 1lh + 44px);overflow:hidden}.collapse.open>.collapse-box{max-height:none}.collapse.long:not(.open)>.collapse-box{mask-image:linear-gradient(#000 calc(100% - 52px),transparent calc(100% - 36px))}.collapse>.btn.more-toggle{position:absolute;z-index:1;left:50%;bottom:6px;translate:-50% 0}.collapse.open>.btn.more-toggle{position:static;display:flex;margin:0 auto 12px;translate:none}
@@ -0,0 +1 @@
1
+ .app{--side: 232px;display:grid;grid-template-columns:var(--side) minmax(0,1fr);grid-template-rows:56px 1fr;min-height:100vh}.top{grid-column:1 / -1;position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 16px 0 20px;background:var(--bg);border-bottom:1px solid var(--line2)}.top-l,.top-r{display:flex;align-items:center;gap:10px;min-width:0}.lockup{display:grid}.lockup small{font-weight:400;font-size:8px;line-height:8px;letter-spacing:.3em;text-transform:uppercase;color:var(--muted)}.side{position:sticky;top:56px;z-index:12;height:calc(100vh - 56px);display:flex;flex-direction:column;justify-content:space-between;padding:16px 12px;border-right:1px solid var(--line)}.side nav{display:grid;gap:2px}.side nav a{display:flex;align-items:center;gap:12px;height:36px;padding:0 12px;color:var(--muted);border-left:2px solid transparent}.side nav a:hover{color:var(--fg);background:var(--wash)}.side nav a[aria-current]{color:var(--fg);background:var(--wash2);border-left-color:var(--deep)}.side nav .n{margin-left:auto;background:var(--accbg);color:var(--acc)}.dot{width:7px;height:7px;flex:none;border-radius:50%;background:var(--warn)}.dot.ok{background:var(--ok);box-shadow:0 0 0 3px var(--okbg)}.server>button{width:100%;display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--line);font-size:12px;text-align:left;cursor:pointer}.server>button:hover{background:var(--wash)}.server>button .grow{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.server .ic{color:var(--dim);width:14px}.server .pop{width:max-content;max-width:calc(100vw - 32px)}.server .kv dd{white-space:nowrap}.pop-head{display:flex;align-items:center;gap:12px;padding:8px 10px 12px;min-width:0}.pop-head b,.pop-head small{display:block;overflow:hidden;text-overflow:ellipsis}.pop-head small,.pop-item small{color:var(--muted);font-size:11.5px}.org,.avatar{display:inline-grid;place-items:center;flex:none;width:26px;height:26px;background:var(--wash2);font-weight:700;font-size:12px}.avatar{width:32px;height:32px}.avatar-btn{display:grid;place-items:center;width:32px;height:32px;background:var(--fg);color:var(--bg);font-weight:700;cursor:pointer}.kv{display:grid;grid-template-columns:max-content 1fr;gap:8px 20px;margin:0}.kv dt{color:var(--muted)}.kv dd{margin:0;overflow-wrap:anywhere}.pop .kv{padding:6px 10px 10px;font-size:12px}.theme .ic.sun,.theme .ic.moon,.theme .ic.sys{display:none}:root[data-theme=light] .theme .ic.sun,:root[data-theme=dark] .theme .ic.moon,:root:not([data-theme]) .theme .ic.sys{display:block}.app>.auth{position:fixed;inset:0;z-index:60;overflow:auto;background:var(--bg)}@media(max-width:760px){.app{grid-template-columns:minmax(0,1fr)}.top{padding:0 10px}.side{position:fixed;top:56px;left:0;bottom:0;height:auto;width:min(280px,84vw);z-index:30;background:var(--bg);border-right:1px solid var(--line2);transform:translate(-100%);transition:transform .2s}}.side-foot{display:grid;gap:8px}.side-toggle{justify-self:end;color:var(--dim)}.side-min .side-toggle{justify-self:center}.app.side-min{--side: 60px}.side-min .top .lockup{display:none}.side-min .side{padding-inline:10px}.side-min .side nav a{justify-content:center;gap:0;padding:0;font-size:0}.side-min .side nav .n{display:none}.side-min .side [data-tip],.side-toggle{position:relative}.side-min .side [data-tip]:after,.side-toggle:after{content:attr(data-tip) / "";position:absolute;top:50%;left:calc(100% + 12px);z-index:30;padding:6px 10px;border:1px solid var(--line2);background:var(--tile);box-shadow:0 12px 32px #0000002e;color:var(--fg);font-size:12px;letter-spacing:normal;white-space:nowrap;transform:translateY(-50%);pointer-events:none;opacity:0;transition:opacity .1s}.side-min .side [data-tip]:before,.side-toggle:before{content:"";position:absolute;top:50%;left:calc(100% + 8px);z-index:31;width:8px;height:8px;border-bottom:1px solid var(--line2);border-left:1px solid var(--line2);background:var(--tile);transform:translateY(-50%) rotate(45deg);pointer-events:none;opacity:0;transition:opacity .1s}.side-min .side [data-tip]:is(:hover,:focus-visible):before,.side-min .side [data-tip]:is(:hover,:focus-visible):after,.side-toggle:is(:hover,:focus-visible):before,.side-toggle:is(:hover,:focus-visible):after{opacity:1}.side-toggle:is(:hover,:focus-visible):before,.side-toggle:is(:hover,:focus-visible):after{transition-delay:.7s}.side-min .menu:has(:popover-open)>[data-tip]:before,.side-min .menu:has(:popover-open)>[data-tip]:after{opacity:0}.side-min .server>button{justify-content:center;padding:10px 0}.side-min .server>button :is(.grow,.ic){display:none}@media(max-width:760px){.side-toggle{display:none}.app.side-min{grid-template-columns:minmax(0,1fr)}}.auth{display:grid;min-height:100vh}.auth-side{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:28px;padding:40px 24px 72px}.auth-frame{width:100%;max-width:440px}.auth-frame .bar{min-height:32px;font-size:10px}.auth-frame .brand{font-size:12px}.tag{margin-left:auto;padding:1px 8px;background:var(--deep);color:#fff}.auth-body{display:grid;gap:14px;padding:28px 24px 26px}.auth-body h1{font-size:22px}.auth-body .lead{margin:0 0 6px}.auth-body form{display:grid;gap:14px}.auth-links{position:absolute;bottom:24px;left:0;right:0;display:flex;justify-content:center;gap:24px;font-size:9px;color:var(--muted)}.auth-links a:hover{color:var(--fg)}.ic{width:16px;height:16px;flex:none;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}.brand .coder-mark{flex:none;position:relative;top:-1px;width:16px;height:16px;fill:currentColor}th .ic{width:12px;height:12px}.scrim{display:none}@media(max-width:760px){.drawer .side{transform:none}.scrim{display:block;position:fixed;inset:56px 0 0;z-index:25;background:#0b0c1073;opacity:0;pointer-events:none;transition:opacity .2s}.drawer .scrim{opacity:1;pointer-events:auto}}@media(min-width:761px){.only-m{display:none}}.pop,.more-list{position:fixed;inset:auto;margin:0;padding:6px;white-space:normal;max-height:calc(100vh - 24px);overflow-y:auto;border:1px solid var(--line2);background:var(--tile);color:inherit;box-shadow:0 12px 32px #0000002e}:where(.menu,.more)>button{padding:0;border:0;background:none;color:inherit;cursor:pointer}.menu>.pop,.more>.more-list{inset:0;margin:auto}@supports (anchor-scope: --menu){.menu,.more{anchor-scope:--menu}:where(.menu,.more)>button{anchor-name:--menu}.menu>.pop,.more>.more-list{position-anchor:--menu;position-try-fallbacks:flip-block;inset:anchor(bottom) auto auto anchor(left);margin:8px 0 0}.menu.right>.pop,.more>.more-list{inset:anchor(bottom) anchor(right) auto auto}.menu.up>.pop{inset:auto anchor(right) anchor(top) anchor(left);margin:0 0 8px}}.pop{z-index:40;min-width:180px}.pop:has(.pop-label,.pop-item.rich,.pop-row){min-width:260px}.menu.up>.pop{min-width:0}.pop.wide{width:min(320px,calc(100vw - 32px))}.pop hr{border:0;border-top:1px solid var(--line);margin:6px 0}.pop-label{padding:8px 10px 4px;font-size:10px;color:var(--dim);border-top:1px solid var(--line)}.pop-head+.pop-label,.pop .pop-label:first-child{border-top:0}.pop-item{display:flex;align-items:center;gap:12px;width:100%;padding:8px 10px;border:0;background:none;text-align:left;cursor:pointer}.pop-item:hover{background:var(--wash)}.pop-item.danger:hover{background:var(--badbg);color:var(--bad)}.pop-item:disabled{cursor:default}.pop-item:disabled:hover{background:none}.pop-item small{display:block}.pop-item.rich{align-items:flex-start}.pop-item.rich .ic{margin-top:2px}.pop-item[role=menuitemradio]>.ic:last-child{visibility:hidden}.pop-item[role=menuitemradio][aria-checked=true]>.ic:last-child{visibility:visible;color:var(--acc)}.pop form{margin:0}.pop-note{padding:0 10px 8px;font-size:11.5px;color:var(--muted)}.more{flex:none}.more>button{padding:0 7px;border:1px solid var(--line2);color:var(--fg);font-size:11.5px;white-space:nowrap}.more:hover>button,.more:has(:popover-open)>button{border-color:var(--acc);color:var(--acc)}.more-list{--max: 220px;z-index:45;min-width:220px}.more-list:before{content:"";position:absolute;left:0;right:0;top:-8px;height:8px}.more-list:popover-open{display:grid;gap:4px}@media(max-width:760px){.pop.wide{min-width:min(320px,calc(100vw - 32px))}}.pop .add-models{margin-top:4px;color:var(--muted)}.pop .add-models .ic{width:14px;height:14px}.toasts{position:fixed;top:16px;right:16px;bottom:16px;z-index:50;display:flex;flex-direction:column;justify-content:flex-end;gap:8px;width:min(340px,calc(100vw - 32px));pointer-events:none}.toast{position:relative;display:grid;grid-template-columns:minmax(0,1fr);gap:6px;padding:14px 16px;border:1px solid var(--line2);background:var(--tile);box-shadow:0 12px 32px #0000002e;pointer-events:auto;cursor:pointer;animation:toast-in .15s ease-out}.toast:hover{background:linear-gradient(var(--wash),var(--wash)),var(--tile)}.toast:has(.cover:focus-visible){outline:2px solid var(--acc);outline-offset:2px}.toast-head{display:flex;align-items:center;gap:10px;margin:0}.toast-head .cover{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--fg);text-decoration:none;outline:none}.toast-line{margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted)}.toast.err .toast-head .cover{color:var(--bad)}.toast.err .toast-line{white-space:normal}@keyframes toast-in{0%{opacity:0}}@media(prefers-reduced-motion:reduce){.toast{animation:none}}.st{display:inline-flex;align-items:baseline;gap:7px;padding:2px 8px;font-size:10px;letter-spacing:.14em;white-space:nowrap;color:var(--muted);background:var(--wash)}.st i{align-self:center;width:7px;height:7px;border-radius:50%;background:currentColor}.st.running{color:var(--acc);background:var(--accbg)}.st.running i{width:9px;height:9px;background:none;border:1.5px solid currentColor;border-top-color:transparent;animation:spin 1s linear infinite}.st.waiting{color:var(--warn);background:var(--warnbg)}.st.completed{color:var(--ok);background:var(--okbg)}.st.failed{color:var(--bad);background:var(--badbg)}.st.queued i,.st.cancelled i{background:none;border:1.5px solid currentColor}.stats .st{justify-self:start}.page.narrow{max-width:760px}.meta{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.page .head,.page .hero{position:sticky;top:56px;z-index:10;margin-inline:-40px;padding:0 40px 6px;background:var(--bg);overflow-anchor:none}.page{--stuck: calc(56px + var(--head, 0px) + var(--tabs, 0px))}.page:has(.tabs:not(.vertical)){--tabs: 40px}.page *{scroll-margin-top:calc(var(--stuck) + 16px)}.back{display:inline-flex;align-items:center;gap:4px;margin-bottom:6px;font-size:12px;color:var(--muted)}.stuck .back{display:none}.back:hover{color:var(--fg)}.back .ic{width:14px;height:14px}.title-row{display:flex;align-items:center;flex-wrap:wrap;gap:6px 12px;min-width:0}.title-row h1{min-width:0}.head .title-row{flex-wrap:nowrap}.head .title-row h1{flex:0 1 auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.head .title-row .meta{flex:none}@media(max-width:760px){.page .head,.page .hero{margin-inline:-16px;padding-inline:16px}.head .title-row{flex-wrap:wrap}}.head .meta:empty{min-height:20px}.sentinel{display:block;height:0;margin-bottom:-20px}.page .head.stuck,.page .hero.stuck{padding-top:10px}.stuck{border-bottom:1px solid var(--line2);align-items:center;flex-wrap:nowrap}.stuck h1{font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stuck .lead{display:none}.stuck .title-row{flex-wrap:nowrap}.stuck .meta{flex-wrap:nowrap;overflow:hidden}.stuck>div:first-child,.stuck>.grow{flex:1 1 auto;min-width:0}.stuck .actions{flex:none;flex-wrap:nowrap;width:auto;justify-content:flex-end}.stuck .hero-mark{width:28px;height:28px;font-size:13px}.stuck.hero{gap:12px}.hero.stuck .title-row .badge{display:none}@media(max-width:760px){.stuck .actions>:not(.flash,dialog)~:not(.flash,dialog){display:none}}.bar-r{display:flex;align-items:center;margin-block:-2px;gap:8px;flex-wrap:wrap;justify-content:flex-end}.card.accent{border-color:var(--warn)}.card.danger{border-color:var(--bad)}.empty{display:grid;justify-items:center;gap:6px;padding:32px 16px;border:1px dashed var(--line2);text-align:center;color:var(--muted)}.empty b{color:var(--fg);font-weight:500}.card .empty{border:0}.loading{display:flex;align-items:center;justify-content:center;gap:10px;flex:1 0 auto;min-height:var(--h, 240px);color:var(--dim);font-size:12px}.loading.inline{display:inline-flex;min-height:0}.card:has(>.loading:not([style])){flex:1 0 auto;display:flex;flex-direction:column}.loading>span{display:inline-flex;align-items:center;gap:10px;animation:loader-in 0s 60ms both}.loading .spin{flex:none;width:12px;height:12px;border:1.5px solid currentColor;border-top-color:transparent;border-radius:50%;animation:spin .8s linear infinite}.loading .dots{display:inline-flex;gap:3px}.loading .dots>b{width:4px;height:4px;border-radius:50%;background:currentColor;animation:dots 1.2s ease-in-out infinite}.loading .dots>b:nth-child(2){animation-delay:.2s}.loading .dots>b:nth-child(3){animation-delay:.4s}@keyframes dots{0%,80%,to{opacity:.25}40%{opacity:1}}.tabs{display:flex;gap:4px;min-width:0;overflow-x:auto;scrollbar-width:none;box-shadow:inset 0 -1px var(--line2)}.page .tabs:not(.vertical){height:40px;margin-top:-8px;position:sticky;top:calc(56px + var(--head, 0px));z-index:9;background:var(--bg)}.tabs a,.tabs>button{display:flex;flex:none;align-items:center;gap:8px;padding:10px 12px;border:0;border-bottom:2px solid transparent;background:none;font-size:10.5px;color:var(--muted);white-space:nowrap;cursor:pointer}.tabs a:hover,.tabs>button:hover{color:var(--fg)}.tabs:focus{outline:none}.tabs a:focus-visible,.tabs>button:focus-visible{outline-offset:-2px}.tabs a[aria-current],.tabs a[data-pending],.tabs>button[aria-current]{color:var(--fg);border-bottom-color:var(--fg)}.tabs:has(a[data-pending]) a[aria-current]:not([data-pending]){color:var(--muted);border-bottom-color:transparent}.tabs .count{color:var(--dim)}@property --tabs-fade{syntax: "<length>"; inherits: false; initial-value: 0px;}@keyframes tabs-fade{0%{--tabs-fade: 40px}to{--tabs-fade: 0px}}.tabs{mask-image:linear-gradient(to left,transparent,#000 var(--tabs-fade));animation:tabs-fade linear both;animation-timeline:scroll(self inline)}.tabs[aria-hidden]>*{visibility:hidden}.hero{display:flex;align-items:flex-start;gap:20px;flex-wrap:wrap}.hero>.grow{flex:1 1 280px}.hero-mark{display:grid;place-items:center;flex:none;width:64px;height:64px;background:var(--blue);color:#fff;font-size:26px;font-weight:700}@media(max-width:760px){.hero{gap:14px}.hero-mark{width:48px;height:48px;font-size:20px}.hero .lead{display:-webkit-box;min-height:2lh;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}}.head.tools{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px 24px;min-height:36px}.head.tools>div:first-child{display:contents}.head.tools .lead{grid-row:2;grid-column:1 / -1}.head.tools>.filters{grid-row:1;grid-column:2;justify-content:flex-end}.head.tools>.filters:last-child{grid-column:2 / -1}.head.tools>.actions{grid-row:1;grid-column:3}.filters{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.search{position:relative;display:block}.tab-body .filters{position:sticky;top:calc(56px + var(--head, 0px) + var(--tabs, 0px));z-index:8;margin-block:-8px;padding-block:8px;background:var(--bg)}.filters .search{flex:1 1 240px;max-width:360px}.search .ic{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--dim);pointer-events:none}label.search input[type=search]{padding-left:32px}.filters .select{flex:none}.filters .end{margin-left:auto}.vsearch .search{width:min(280px,100%)}@media(max-width:760px){.head.tools{grid-template-columns:minmax(0,1fr) auto;row-gap:12px}.head.tools>.filters{grid-row:3;grid-column:1 / -1}.head.tools>.actions{grid-column:2;width:auto}.filters .search{max-width:none;flex-basis:100%}.filters .select{flex:1 1 0}.filters .select>button{gap:4px;padding-inline:8px}.head.tools.stuck>.filters>.select{display:none}}.filter-more>.pop:popover-open{display:block;width:min(260px,calc(100vw - 32px));max-height:calc(100vh - 160px);overflow-y:auto;padding:6px}.filter-more .pop-label:not(:first-child){margin-top:10px}.filter-more .pop-item{width:100%;min-height:30px;font-size:12px}.field-btn{display:flex;align-items:center;gap:10px;min-height:36px;padding:7px 12px;border:1px solid var(--line2);background:var(--field);white-space:nowrap;cursor:pointer}.field-btn:focus-visible,.field-btn:has(+.pop:popover-open){outline:none;border-color:var(--acc);box-shadow:0 0 0 3px var(--accbg)}.field-btn:disabled{color:var(--muted);cursor:default}.filter-more>.field-btn.on{color:var(--acc)}.link-pill{color:var(--acc);text-transform:none;letter-spacing:.02em}.link-pill .ic{width:12px;height:12px}.pf{display:inline-flex;flex:none;align-items:center;gap:7px;color:var(--muted);white-space:nowrap}.brand-icon{width:12px;height:12px;flex:none}.brand-icon>svg{display:block;width:100%;height:100%}.badge{display:inline-flex;align-items:center;gap:6px;padding:1px 7px;border:1px solid var(--line2);font-size:10px;letter-spacing:.14em;color:var(--muted);white-space:nowrap}.badge.acc{border-color:transparent;background:var(--accbg);color:var(--acc)}.badge.ok{border-color:transparent;background:var(--okbg);color:var(--ok)}.badge.warn{border-color:transparent;background:var(--warnbg);color:var(--warn)}.badge.solid{border-color:var(--fg);background:var(--fg);color:var(--bg)}a.badge:hover,button.badge:hover{border-color:var(--acc)}button.badge{cursor:pointer}.chips{display:inline-flex;flex-wrap:wrap;gap:4px}.chip{line-height:18px;padding:0 6px;border:1px solid var(--line2);font-size:11.5px;color:var(--muted)}.id{font-size:11.5px;color:var(--dim)}button.chip{background:none;cursor:pointer}button.chip:hover,button.chip[aria-pressed=true]{border-color:var(--acc);color:var(--acc)}.tasks{table-layout:fixed;min-width:720px}.tasks th:nth-child(2){width:160px}.tasks th:nth-child(3){width:140px}.tasks th:nth-child(4){width:130px}.tasks th:nth-child(5){width:150px}.tasks td{padding-block:9px;vertical-align:middle}.tasks .cover{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;overflow-wrap:anywhere}.tasks td:first-child .sub{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tasks td:first-child .sub{margin-top:1px}@media(max-width:760px){.tasks{min-width:0}.tasks td:nth-child(3){display:flex;align-items:center;justify-self:end}.tasks td.when,.tasks td.num{font-size:11.5px}.tasks td.num{justify-self:end;color:var(--muted)}}.source{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.source .ic{color:var(--dim)}.tasks th.num,.tasks td.num{padding-right:64px}.tasks td.num{position:relative}.row-acts{position:absolute;top:50%;right:8px;z-index:1;translate:0 -50%;opacity:0;transition:opacity .12s}.tasks tr:is(:hover,:focus-within) .row-acts,.row-acts:has(.pop:popover-open){opacity:1}dialog.confirm{width:min(420px,calc(100vw - 32px));margin:auto;padding:0;border:1px solid var(--line2);background:var(--tile);color:inherit;text-align:left;white-space:normal;box-shadow:0 12px 32px #0000002e}dialog.confirm::backdrop{background:#00000073}dialog.confirm form{display:grid;gap:8px;padding:20px}dialog.confirm h2{font-size:15px;font-weight:700;overflow-wrap:anywhere}dialog.confirm p{color:var(--muted)}dialog.confirm .actions{justify-content:flex-end;margin-top:12px}.btn.destructive{background:var(--bad);border-color:var(--bad);color:var(--bg)}.field{display:grid;gap:6px}.field>span:first-child,.field>label{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;font-weight:500}.field small{font-weight:400;color:var(--muted);font-size:11.5px}.field .seg-btns{width:max-content;max-width:100%}.field .seg-btns>button{height:36px}.select{position:relative;display:inline-flex;min-width:0}.field .select{display:flex}.select>button{display:flex;align-items:center;gap:10px;width:100%;min-height:36px;padding:7px 10px 7px 12px;border:1px solid var(--line2);background:var(--field);text-align:left;white-space:nowrap;cursor:pointer;touch-action:manipulation}.select>button .grow{overflow:hidden;text-overflow:ellipsis}.select>button .ic{color:var(--dim);transition:transform .15s}.select>button[aria-expanded=true] .ic{transform:rotate(180deg)}.select>button:focus-visible,.select>button[aria-expanded=true]{outline:none;border-color:var(--acc);box-shadow:0 0 0 3px var(--accbg)}.select>button:disabled{color:var(--muted);cursor:default}.select-pop{min-width:0;max-width:min(440px,calc(100vw - 16px));overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--line2) transparent}.select-pop .pop-item{white-space:nowrap}.select-pop .pop-item:hover{background:none}.select-pop .pop-item.on{background:var(--wash2)}.select-pop .pop-item>.ic{visibility:hidden}.select-pop .pop-item[aria-selected=true]>.ic{visibility:visible;color:var(--acc)}.select>button:disabled{opacity:.65;cursor:default}.select-pop .pop-item .pop-path{display:block;overflow:hidden;direction:rtl;text-align:left;white-space:nowrap;text-overflow:ellipsis;font-size:11px;color:var(--muted)}.select-pop .pop-item .grow{min-width:0;overflow:hidden;text-overflow:ellipsis}.select-pop .pop-item.action{margin-top:4px;color:var(--muted)}.select-pop .pop-item.action>.ic{visibility:visible;width:14px;height:14px}.select-pop .pop-item.action.on{color:var(--fg)}.tail{display:flex;align-items:center;justify-content:center;min-height:48px;padding:0 14px;color:var(--dim);font-size:11.5px}.tail.err{color:var(--bad)}.composer{display:flex;flex-wrap:wrap;padding:5px 5px 5px 8px;border:1px solid var(--line2);background:var(--field)}.composer:has(textarea:focus){border-color:var(--acc)}.composer textarea{flex:1 1 100%;width:auto;field-sizing:content;min-height:22px;max-height:8lh;margin:6px 0;padding:0 4px;border:0;background:none;box-shadow:none;resize:none}.composer textarea:focus{box-shadow:none}.composer-line{display:flex;align-items:center;gap:2px;width:100%;height:30px;min-width:0}.composer-line .select{flex:0 1 auto;max-width:220px}.composer-line .select>button,.composer-line .quiet{margin-left:auto;display:inline-flex;align-items:center;gap:6px;min-height:28px;padding:3px 8px;border:1px solid transparent;background:none;font-size:11.5px;color:var(--muted);white-space:nowrap;cursor:pointer}.composer-line .select>button:hover,.composer-line .quiet:hover{background:var(--wash)}.composer-line .send{flex:none;margin-left:4px}.composer-line .send[aria-busy=true] .ic{visibility:hidden}.composer>.flash{flex-basis:100%;margin:0 4px 2px}.composer-settings:popover-open{display:block;width:min(320px,calc(100vw - 32px));overflow-y:auto;padding:6px}.composer-settings>.pop-label:not(:first-child){margin-top:10px}.composer-settings .pop-item{width:100%;min-height:30px;font-size:12px}.composer-settings .pop-group{margin:6px 10px 2px;font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--dim)}.composer-settings .select{margin:2px 6px 4px}.set-label{font-size:11px;color:var(--muted)}.composer-settings .select>button{min-height:30px;padding:4px 8px 4px 10px;font-size:12px}.model-pick input[aria-expanded=true]{cursor:text}.model-pick input[aria-expanded=true]::placeholder{color:var(--dim)}.model-pick>.ic{position:absolute;right:8px;top:50%;transform:translateY(-50%);color:var(--dim);pointer-events:none}.model-list{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:1;max-height:260px;overflow-y:auto;padding:4px;border:1px solid var(--line2);background:var(--tile);box-shadow:0 12px 32px #0000002e;scrollbar-width:thin}.model-list .pop-item>.ic{visibility:hidden}.model-list .pop-item[aria-selected=true]>.ic{visibility:visible;color:var(--acc)}.model-list .pop-item,.composer-slash .pop-item{gap:10px;padding:6px 10px}.model-list .pop-item:hover,.composer-slash .pop-item:hover{background:none}.model-list .pop-item.on,.composer-slash .pop-item.on{background:var(--wash2)}.model-list small,.composer-slash small{font-size:11px;color:var(--dim);white-space:nowrap}.composer-slash{max-height:min(360px,50vh);overflow-y:auto}.composer-slash .grow{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.composer-slash>.loading{padding:6px 10px}.notice.slim{flex-wrap:nowrap;gap:10px;padding:8px 8px 8px 14px;font-size:12px}.notice.slim .grow{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card>.notice.slim{margin:12px 16px 0}dialog.compose-dialog{width:min(760px,calc(100vw - 32px));margin:14vh auto auto;padding:0;border:1px solid var(--line2);background:var(--tile);color:inherit;box-shadow:0 12px 32px #0000002e}dialog.compose-dialog::backdrop{background:light-dark(rgba(0,0,0,.45),rgba(0,0,0,.72))}.compose-dialog>header{display:flex;align-items:baseline;gap:10px;padding:10px 6px 0 16px}.compose-dialog h2{font-size:15px;font-weight:700}.compose-dialog>header .icon-btn{align-self:center;width:30px;height:30px;margin-left:auto}.compose-dialog .composer,.compose-dialog>.loading,.compose-dialog>.flash,.compose-dialog>.notice{margin:10px 16px 16px}@media(max-width:760px){.composer-settings:popover-open{right:16px!important;grid-template-columns:minmax(0,1fr);gap:4px}.notice.slim .grow{white-space:normal}.composer-settings .set-label:not(:first-child){margin-top:6px}}.pop-row{display:flex;align-items:center}.pop-row>.pop-item{flex:1 1 auto}.pop-row>.pop-item small{margin-right:6px;color:var(--muted);font-size:11px}.pop-chev{display:inline-grid;place-items:center;flex:none;align-self:stretch;aspect-ratio:1;width:auto;border:0;background:none;color:var(--dim);cursor:pointer}.pop-chev:focus-visible{outline-offset:-2px}.pop-chev:hover,.pop-chev[aria-expanded=true]{color:var(--fg);background:var(--wash)}.pop-chev .ic{width:14px;height:14px;transition:rotate .15s}.pop-chev[aria-expanded=true] .ic{rotate:90deg}.pop-sub{padding-left:32px}.composer-line .folder{display:contents}.composer-line input.folder-path{flex:0 1 260px;min-width:0;min-height:0;height:28px;padding:3px 8px;border:1px solid transparent;background:none;font-size:11.5px}.composer-line input.folder-path:focus{border-color:var(--line2);box-shadow:none}.composer-line .folder-busy{flex:none;font-size:11.5px;color:var(--muted)}.composer>.folder-hint{flex:1 1 100%;padding:0 8px 4px;font-size:11px;color:var(--muted)}.composer>.flash{flex:1 1 100%;padding:2px 8px 4px}.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px 20px;margin:0}.facts dt{font-size:10px;color:var(--muted)}.facts dd{margin:4px 0 0;overflow-wrap:anywhere}.versions li{display:flex;align-items:first baseline;gap:14px;padding:12px 16px;border-top:1px solid var(--line)}.md{overflow-wrap:anywhere}.md :where(h3,h4,h5,h6){margin:0;font-size:13px;font-weight:700}.md h3{font-size:14px}.md ul{padding-left:20px;list-style:disc}.md ol{padding-left:20px;list-style:decimal}.md pre{margin:0;padding:8px 12px;overflow-x:auto;background:var(--wash)}.md pre code{padding:0;background:none}.collapse{position:relative}.collapse:not(.open){padding-bottom:6px}.collapse-box{box-sizing:content-box;max-height:calc(var(--lines) * 1lh + 44px);overflow:hidden}.collapse.open>.collapse-box{max-height:none}.collapse.long:not(.open)>.collapse-box{mask-image:linear-gradient(#000 calc(100% - 52px),transparent calc(100% - 36px))}.collapse>.btn.more-toggle{position:absolute;z-index:1;left:50%;bottom:6px;translate:-50% 0}.collapse.open>.btn.more-toggle{position:static;display:flex;margin:0 auto 12px;translate:none}