@wular/coder 0.5.0 → 0.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (266) hide show
  1. package/dist/{actions-CkMAM1Km.js → actions-DO8MvHwc.js} +2 -2
  2. package/dist/{agent-Bi5nbUhA.js → agent-Cgala63h.js} +1 -1
  3. package/dist/{app-server-BTpa5GBV.js → app-server-dnlLhhZb.js} +1 -1
  4. package/dist/{approvals-CRwkc9vB.js → approvals-C8XV7CK2.js} +1 -1
  5. package/dist/apps-BORri-28.js +18 -0
  6. package/dist/async-BS9tyhva.js +3 -0
  7. package/dist/{auth-oCvlHitk.js → auth-C16ylySv.js} +1 -1
  8. package/dist/builtin/coder/system.md +6 -3
  9. package/dist/{chat-4AiZEqKh.js → chat-czruXAt3.js} +1 -1
  10. package/dist/cli.js +3 -3
  11. package/dist/{cmd-Cu3OquA_.js → cmd-C1gHyVG7.js} +34 -34
  12. package/dist/{config-D_RuO6gX.js → config-_32PHl9g.js} +1 -1
  13. package/dist/{connection-BXjn7gCC.js → connection-CgA5_NJ7.js} +1 -1
  14. package/dist/{connections-Cswv7r8Z.js → connections-B90TemYf.js} +1 -1
  15. package/dist/{context-CFrDYenS.js → context-C1XBbfEL.js} +1 -1
  16. package/dist/dash/standalone/server/build-index.json +1 -1
  17. package/dist/dash/standalone/server/manifest.json +1391 -1391
  18. package/dist/dash/standalone/server/modules-server-server-react-server/src/client/{index.54c45900f2153d34.js → index.91e126d7a389d4bd.js} +0 -3
  19. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/api/{load.252f972b42c690e2.js → load.858c062c7891a2c1.js} +2 -2
  20. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/create/[id]/{page.11efd0e175db9053.js → page.9375ab741dc9791e.js} +3 -3
  21. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/account/{notify.59ae138dc182d7c3.js → notify.c36570a56d279ce2.js} +1 -1
  22. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/account/{page.e9386951cedea737.js → page.13fdd9cc55ad3a52.js} +3 -3
  23. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/account/{sign-out.713d3ec10951fde5.js → sign-out.38a7f39cddc670f7.js} +1 -1
  24. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/(list)/{agents-grid.f989d6f2d9ece6e4.js → agents-grid.2385ffa8fdad08d6.js} +1 -1
  25. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/(list)/{page.0f88720e52db99a2.js → page.5ca6921e50484f8c.js} +6 -6
  26. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/{layout.8d2f0997462fc958.js → layout.afc4a8a5a8360975.js} +7 -7
  27. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/{page.bc93891522c8120d.js → page.ba65063a1aa99a62.js} +7 -7
  28. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/platforms/{page.cf5cf9afe38ab0e4.js → page.03c5e72b0fe50ba9.js} +11 -11
  29. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/platforms/{platform-actions.c44c7df7841719f2.js → platform-actions.7c8c75bd0c05df4a.js} +3 -3
  30. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/platforms/{platform-step.6e90cbfe308f28a0.js → platform-step.d6a980d1181dc940.js} +1 -1
  31. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/settings/{agent-settings-form.61de585104c2be10.js → agent-settings-form.b5299f5130a4e8af.js} +16 -17
  32. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/settings/{page.4d06f759984a63b3.js → page.fad77cea17947d47.js} +8 -9
  33. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/tasks/{loading.ea2925eab1d2e594.js → loading.4120e6979eaed441.js} +1 -1
  34. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/tasks/{page.fb069bf82b727d27.js → page.474b3524d5ea53b7.js} +1 -1
  35. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/usage/{page.0a472a0e269b8c01.js → page.7868a07efcaa26f4.js} +3 -3
  36. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/{versions-list.7ef7dfd5d8f5de43.js → versions-list.ba93a53773cab8a8.js} +1 -1
  37. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/edit/{loading.007326a04f05d46c.js → loading.6e53829bd1f3021d.js} +1 -1
  38. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/edit/{page.a26aa7bc6ab655f0.js → page.5798ede8ba8ace97.js} +6 -6
  39. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/platforms/[app]/{app-cards.361918fe58349aa1.js → app-cards.55778a4b3177846d.js} +2 -2
  40. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/platforms/[app]/{page.3f60cf67517d0d31.js → page.ce391cad0d78795f.js} +3 -3
  41. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/agent/{agent-toggle.ffbf9a8b8b2fbde7.js → agent-toggle.0cec822c6099f058.js} +2 -2
  42. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/agent/{hero.0ae015a4fbe6321e.js → hero.7151c467e7ecf6a5.js} +1 -1
  43. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/editor/{connect-repositories.9abe365f0098d358.js → connect-repositories.4e121d31ed0cfe02.js} +1 -1
  44. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/editor/{editor.6548f8f757578f90.js → editor.f314d92af0bb33b0.js} +8 -8
  45. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/editor/{import-picker.577b1d84c7ab84e1.js → import-picker.11028d5329ad537b.js} +3 -3
  46. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/new/{page.2b326d00ccef5544.js → page.1476d31e4554e88b.js} +4 -4
  47. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/{layout.45a09107b19f0a7e.js → layout.150d950d191db477.js} +3 -3
  48. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/operator/{operator-apps.f8d679f2d06b0ebc.js → operator-apps.3e72de86b86a7338.js} +6 -6
  49. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/operator/{page.5aa3ddc669366703.js → page.6a4be3b1a473ff8c.js} +5 -5
  50. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/{page.5a5188f0fc75dcd2.js → page.262ed73437c17872.js} +1 -1
  51. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/{advanced-list.73cdadb2968a39d2.js → advanced-list.7180570379e2625c.js} +1 -1
  52. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/{connection-add.353ec01fbb814f78.js → connection-add.632b1847c16ecd42.js} +4 -4
  53. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/{connections-list.cf4061ae909272c3.js → connections-list.4378ae707b2092ed.js} +5 -5
  54. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/{credentials-list.fc4cff0289267551.js → credentials-list.e47897acb6867df8.js} +4 -4
  55. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/{credentials.db01de2581ac65f3.js → credentials.6bd06f96afbe7329.js} +8 -8
  56. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/{list.e7d6a422f6a869ea.js → list.38e70272eeb98cd0.js} +3 -3
  57. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/{models-list.acb92b39cab1d11c.js → models-list.a08cd37d0f7ff86c.js} +6 -6
  58. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/{page.95fe939e36e5be55.js → page.f096b5a9ac419326.js} +13 -13
  59. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/{runners-list.5764eac3307d67cc.js → runners-list.0df1f9329df1b67d.js} +6 -6
  60. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/{secrets-list.d316bb157f747f6c.js → secrets-list.6d2f56fa7d6fcab0.js} +4 -4
  61. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/{layout.4eb70f2de8674f93.js → layout.0fd865c865e5bab4.js} +1 -1
  62. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/{model-options.dc630cb6e2cbf83a.js → model-options.0d6077fe68db3af9.js} +2 -5
  63. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/{model-pick.a143e77f5ed5f9d3.js → model-pick.695538b2edf9dd15.js} +1 -1
  64. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/{page.70cad0e981c33fa5.js → page.c57b81c2197cce0f.js} +1 -1
  65. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/setup/{create-link.18bd2b92cd23b73f.js → create-link.60aadbe43ea1e39c.js} +3 -3
  66. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/setup/{outcome-toast.95f7be49430248eb.js → outcome-toast.e2b9ef0344b1a1a2.js} +1 -1
  67. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/setup/{page.e39ee9236664d043.js → page.c456ad99c8a9f875.js} +4 -4
  68. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/[id]/{activity.441e82ab00344fb2.js → activity.2ec05d78d609b7b2.js} +1 -1
  69. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/[id]/{page.24e121ea6eb578ba.js → page.578be2f6c89fcba0.js} +6 -6
  70. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/[id]/{task-actions.4a4052a38db4bad3.js → task-actions.d131453dd2a423c3.js} +4 -4
  71. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/[id]/{task-view.0cd3ec2655f44cc7.js → task-view.3d72a4ecd2b3826e.js} +7 -53
  72. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/{composer-data.73225456d60d63e3.js → composer-data.c16854be11a561e4.js} +1 -1
  73. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/{composer.ee326fbf5e526fb1.js → composer.97be3e67214889c1.js} +24 -82
  74. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/list/{pending-approvals.7607998094780fdd.js → pending-approvals.9175908da02960e1.js} +1 -1
  75. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/list/{tasks-list.e486cbd16ea3e963.js → tasks-list.028798c79227a366.js} +8 -8
  76. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/list/{tasks-section.01510523d1556d59.js → tasks-section.9a9d13057b326f25.js} +4 -4
  77. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/{page.ede64f82388f9480.js → page.045c6db0c56975b2.js} +3 -3
  78. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/usage/{page.0499098badd3f5f8.js → page.938d29ff7edb678d.js} +2 -2
  79. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/frame/{stream.e3800e736f832124.js → stream.2cdb8eabd8f6df70.js} +1 -1
  80. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/frame/{task-toasts.3b7eeee29fc327de.js → task-toasts.8733901ca0e4c246.js} +1 -1
  81. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/utils/{action.f22057e7dfac40fe.js → action.56cea462eb725c39.js} +1 -1
  82. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/utils/{client.c8d7efefb6194d7d.js → client.685154f230716834.js} +1 -1
  83. package/dist/dash/standalone/static/assets/chunks/{advanced-list-850a950afe4f6996.js → advanced-list-b75a9c2bd11026de.js} +1 -1
  84. package/dist/dash/standalone/static/assets/chunks/{agent-pills-9f6fa120182db948.js → agent-pills-54564413a57d7fa7.js} +1 -1
  85. package/dist/dash/standalone/static/assets/chunks/agent-settings-form-55d294dad2ce5a0d.js +1 -0
  86. package/dist/dash/standalone/static/assets/chunks/{agent-toggle-521136f20a71400d.js → agent-toggle-b5dcc4ea6292fb3d.js} +1 -1
  87. package/dist/dash/standalone/static/assets/chunks/{agents-grid-bcd13cd7a46224a6.js → agents-grid-69461c53abbba433.js} +1 -1
  88. package/dist/dash/standalone/static/assets/chunks/{back-2d67134b122334f4.js → back-ba5e4340a9f8bbd2.js} +1 -1
  89. package/dist/dash/standalone/static/assets/chunks/{chain-hint-53675e299a865420.js → chain-hint-491eb09a20a15702.js} +1 -1
  90. package/dist/dash/standalone/static/assets/chunks/{combo-cb2c62fe580a8903.js → combo-6df61e8a1cc31037.js} +1 -1
  91. package/dist/dash/standalone/static/assets/chunks/composer-198b844da57b82a3.js +1 -0
  92. package/dist/dash/standalone/static/assets/chunks/composer-b26a3332a1243461.js +1 -0
  93. package/dist/dash/standalone/static/assets/chunks/{composer-data-890f71bade4f0616.js → composer-data-b05f3d93fdc472d7.js} +1 -1
  94. package/dist/dash/standalone/static/assets/chunks/{confirm-d6b2c5b1deccd1e8.js → confirm-14d018653fbe50fc.js} +1 -1
  95. package/dist/dash/standalone/static/assets/chunks/{connect-repositories-226bf70aa81c29d8.js → connect-repositories-5118edc019fc7890.js} +1 -1
  96. package/dist/dash/standalone/static/assets/chunks/{connections-list-a33d6637e2d52fcf.js → connections-list-5412dad7e0def52f.js} +1 -1
  97. package/dist/dash/standalone/static/assets/chunks/{copy-294c6052b3b69424.js → copy-04781f9af4e10f06.js} +1 -1
  98. package/dist/dash/standalone/static/assets/chunks/create-link-0651addf1461f901.js +1 -0
  99. package/dist/dash/standalone/static/assets/chunks/{credentials-list-90fc1c6d202e1461.js → credentials-list-e64c973aee5602d3.js} +1 -1
  100. package/dist/dash/standalone/static/assets/chunks/{custom-range-efa1b6a71ba84597.js → custom-range-b6919bab9846ebf7.js} +1 -1
  101. package/dist/dash/standalone/static/assets/chunks/{editor-53a3e1a893644fff.js → editor-68e9ccd1764fc512.js} +3 -3
  102. package/dist/dash/standalone/static/assets/chunks/{field-4d374d5ed3f43d7e.js → field-adcb6e6a5f9b7131.js} +1 -1
  103. package/dist/dash/standalone/static/assets/chunks/instructions-0022dd3bdd57c13f.js +1 -0
  104. package/dist/dash/standalone/static/assets/chunks/{instructions-d3dc01b2f90820db.js → instructions-7b274685ceb26457.js} +1 -1
  105. package/dist/dash/standalone/static/assets/chunks/{list-16247e39898cd20e.js → list-662f042656857c82.js} +1 -1
  106. package/dist/dash/standalone/static/assets/chunks/model-options-5e07b3318d69d218.js +1 -0
  107. package/dist/dash/standalone/static/assets/chunks/{models-list-6d93523660503dfb.js → models-list-ae1e2eff30d21824.js} +1 -1
  108. package/dist/dash/standalone/static/assets/chunks/outcome-dialog-546fe090efc129c2.js +1 -0
  109. package/dist/dash/standalone/static/assets/chunks/{outcome-dialog-755fc581cbc2836e.js → outcome-dialog-fd86ded4c44c2de7.js} +1 -1
  110. package/dist/dash/standalone/static/assets/chunks/outcome-toast-c00becdb638cd9a8.js +1 -0
  111. package/dist/dash/standalone/static/assets/chunks/platform-actions-2be223e68e648134.js +1 -0
  112. package/dist/dash/standalone/static/assets/chunks/{platform-actions-08e9b3816dcd62b1.js → platform-actions-f3979ab69a6ceb53.js} +1 -1
  113. package/dist/dash/standalone/static/assets/chunks/{platform-step-5881a8be1e761e00.js → platform-step-5454b6c0a19caefd.js} +1 -1
  114. package/dist/dash/standalone/static/assets/chunks/platform-step-9a52703f4c4f6a31.js +1 -0
  115. package/dist/dash/standalone/static/assets/chunks/{runners-list-dd759d408c643a29.js → runners-list-20d42f19fb4bec8a.js} +1 -1
  116. package/dist/dash/standalone/static/assets/chunks/{runtime-9b28886f3cbe0ed3-1.js → runtime-3fcac605fffcc273-1.js} +1 -1
  117. package/dist/dash/standalone/static/assets/chunks/{secrets-list-be1f634a1b077baa.js → secrets-list-89f89ee70edb3856.js} +1 -1
  118. package/dist/dash/standalone/static/assets/chunks/{segmented-f646bfa8aa0aa449.js → segmented-66a8c77c6294fec3.js} +1 -1
  119. package/dist/dash/standalone/static/assets/chunks/shared-init-3fcac605fffcc273-2.js +1 -0
  120. package/dist/dash/standalone/static/assets/chunks/{shared-init-953965859f7bf6b9.js → shared-init-96225b8c7758de9d.js} +1 -1
  121. package/dist/dash/standalone/static/assets/chunks/shared-init-96cde32cd50254c0.js +1 -0
  122. package/dist/dash/standalone/static/assets/chunks/shared-init-abd7653140f37a0c.js +9 -0
  123. package/dist/dash/standalone/static/assets/chunks/side-toggle-8a410cc6d6bd9b1d.js +1 -0
  124. package/dist/dash/standalone/static/assets/chunks/{tail-d13c4cc0cf11ffd1.js → tail-40f16e09eade7eee.js} +1 -1
  125. package/dist/dash/standalone/static/assets/chunks/{task-423e6a3f2527f534.js → task-396d849e58e50d59.js} +1 -1
  126. package/dist/dash/standalone/static/assets/chunks/{task-actions-5917357eac6504ca.js → task-actions-0b3054dc0f8d17c0.js} +1 -1
  127. package/dist/dash/standalone/static/assets/chunks/task-view-9e026dc5da58af5b.js +3 -0
  128. package/dist/dash/standalone/static/assets/chunks/{tasks-list-2c5ce592e00fda45.js → tasks-list-04c6568d7f7237b7.js} +1 -1
  129. package/dist/dash/standalone/static/assets/chunks/{versions-list-177ae397ad64dcea.js → versions-list-ceb756236e69b761.js} +1 -1
  130. package/dist/dash/standalone/static/assets/chunks/{wular-pnext-9b28886f3cbe0ed3-0.js → wular-pnext-3fcac605fffcc273-0.js} +1 -1
  131. package/dist/dash/standalone/static/assets/{dash-param-org-agents-param-slug-00243b34eb094b95.css → dash-param-org-agents-param-slug-dd4ac319a0d62432.css} +1 -1
  132. package/dist/dash/standalone/static/assets/{dash-param-org-agents-param-slug-settings-9f8faa8f7d714699.css → dash-param-org-agents-param-slug-platforms-9d2e1439f3f7e81b.css} +1 -1
  133. package/dist/dash/standalone/static/assets/{dash-param-org-agents-param-slug-usage-0e037c66e3977f33.css → dash-param-org-agents-param-slug-settings-f21d4fcd3948139b.css} +1 -1
  134. package/dist/dash/standalone/static/assets/{dash-param-org-agents-param-slug-tasks-129adcdc293ceac8.css → dash-param-org-agents-param-slug-tasks-c8d6aa06f6e75f4c.css} +1 -1
  135. package/dist/dash/standalone/static/assets/dash-param-org-agents-param-slug-usage-9cc128ba8af6ef62.css +1 -0
  136. package/dist/dash/standalone/static/assets/{dash-param-org-tasks-8a44e171984d32a1.css → dash-param-org-tasks-be3cb3d64573f3d9.css} +1 -1
  137. package/dist/dash/standalone/static/assets/{dash-param-org-tasks-param-id-b9d3a7a1bd1dd666.css → dash-param-org-tasks-param-id-c20a0537bc82620d.css} +1 -1
  138. package/dist/dash/standalone/static/assets/pnext-client-07b41bfab64b61c0.js +1 -0
  139. package/dist/dash/standalone/static/assets/pnext-client-0d388d56250f9f46.js +1 -0
  140. package/dist/dash/standalone/static/assets/pnext-client-1443e45181b60bb0.js +1 -0
  141. package/dist/dash/standalone/static/assets/pnext-client-27207e4f43f9a21b.js +1 -0
  142. package/dist/dash/standalone/static/assets/{pnext-client-7ecbd7a0cbe4e231.js → pnext-client-435db60553fa3a67.js} +1 -1
  143. package/dist/dash/standalone/static/assets/pnext-client-523dd4071aa294ba.js +1 -0
  144. package/dist/dash/standalone/static/assets/pnext-client-5f6bda3919f68382.js +1 -0
  145. package/dist/dash/standalone/static/assets/pnext-client-684fd8ad16563ed3.js +1 -0
  146. package/dist/dash/standalone/static/assets/pnext-client-6b952cdda9a1eb2b.js +1 -0
  147. package/dist/dash/standalone/static/assets/pnext-client-6fe9e98f7dd8dcbf.js +1 -0
  148. package/dist/dash/standalone/static/assets/pnext-client-730c2c507a159f9e.js +1 -0
  149. package/dist/dash/standalone/static/assets/pnext-client-7c46573e45b67166.js +1 -0
  150. package/dist/dash/standalone/static/assets/pnext-client-83a865c3d75705bd.js +1 -0
  151. package/dist/dash/standalone/static/assets/pnext-client-907d1db4fb398a1d.js +1 -0
  152. package/dist/dash/standalone/static/assets/pnext-client-9baf701f3e641d09.js +1 -0
  153. package/dist/dash/standalone/static/assets/pnext-client-a57705e4e1047a9e.js +1 -0
  154. package/dist/dash/standalone/static/assets/{pnext-client-ed31510d4615a5a5.js → pnext-client-b1af82c6f0db0033.js} +1 -1
  155. package/dist/dash/standalone/static/assets/pnext-client-cede3bd7b2735942.js +1 -0
  156. package/dist/dash/standalone/static/assets/pnext-client-d9a3996f22b6816b.js +1 -0
  157. package/dist/dash/standalone/static/assets/pnext-client-f95364a0073ca4ce.js +1 -0
  158. package/dist/{definition-4on4SG5J.js → definition-D0OpQfGX.js} +1 -1
  159. package/dist/{discover-DvzAbQvU.js → discover-BfYHHJN_.js} +1 -1
  160. package/dist/{dispatch-BaW2X6Sc.js → dispatch-BkoIU4GU.js} +2 -2
  161. package/dist/{docs-CbgaMPvq.js → docs-CxklYa3P.js} +1 -1
  162. package/dist/{drive-Tk6JvQK5.js → drive-B7SBFfcb.js} +1 -1
  163. package/dist/env-BwFCHakK.js +1 -0
  164. package/dist/{exec-CAaYFJD1.js → exec-D9jF2F-H.js} +2 -2
  165. package/dist/{executor-Chc0zawh.js → executor-DBW7R7Tf.js} +6 -6
  166. package/dist/flow/builtin/review/index.d.ts +2 -2
  167. package/dist/flow/builtin/review/index.js +10 -15
  168. package/dist/flow/index.d.ts +2 -2
  169. package/dist/flow/index.js +1 -1
  170. package/dist/{hook-COWDSO4a.js → hook-DN__zYOG.js} +1 -1
  171. package/dist/{index-ezhbF5wC.d.ts → index-CTAQrCRU.d.ts} +71 -66
  172. package/dist/integrations-DSZSa8Rc.js +9 -0
  173. package/dist/lib/broker.js +1 -1
  174. package/dist/{load-PqaDHiHX.js → load-BtIDghgd.js} +2 -2
  175. package/dist/{local-BzZuOwgI.js → local-BzMvgiwL.js} +1 -1
  176. package/dist/{local-BMGcCk8N.js → local-GIxwz_Or.js} +1 -1
  177. package/dist/{login-BDKTNynK.js → login-LlZrIlxb.js} +1 -1
  178. package/dist/maintenance-DyiyHI8S.js +1 -0
  179. package/dist/{mcp-BGam3G_B.js → mcp-Caq72REF.js} +1 -1
  180. package/dist/{mcp-BNz_l5TV2.js → mcp-CrtKQoVi.js} +1 -1
  181. package/dist/{mcp-BGx48pyR.js → mcp-cEIva8Pd.js} +6 -4
  182. package/dist/{models-D1NXi6ni.js → models-BVxs3I8o.js} +1 -1
  183. package/dist/{permission-BkYxjiFR.js → permission-RSZM3DUk.js} +1 -1
  184. package/dist/post-DLenID75.js +11 -0
  185. package/dist/{refresh-yfEi5SQs.js → refresh-CWEpTAkD.js} +1 -1
  186. package/dist/{remote-rArUa01V.js → remote-BDMuKaON.js} +1 -1
  187. package/dist/{remote-BbXx6S9P.js → remote-CY-qYX2C.js} +1 -1
  188. package/dist/{runner-DG9jrX5H.js → runner-CKMOh5Q3.js} +1 -1
  189. package/dist/runner.json +1 -1
  190. package/dist/runner.tgz +0 -0
  191. package/dist/schema.js +1 -1
  192. package/dist/sdk.d.ts +15 -45
  193. package/dist/sdk.js +1 -1
  194. package/dist/serve-D23JqDip.js +12 -0
  195. package/dist/{serve-B-5rDiZm.js → serve-YlU04KO7.js} +1 -1
  196. package/dist/{session-Dtje9y-r.js → session-D7eeJIaH.js} +1 -1
  197. package/dist/{sessions-DIz9fyRN.js → sessions-BGUfSe8L.js} +1 -1
  198. package/dist/{shared--aE4olIO.js → shared-BzNReirj.js} +1 -1
  199. package/dist/{sign-in-wWkyaq5X.js → sign-in-Dr6sU7vz.js} +2 -2
  200. package/dist/{state-Br-Fuaxg.js → state-CxAUec80.js} +1 -1
  201. package/dist/store-BrnWdtRw.js +349 -0
  202. package/dist/{task-CFt85vTy.js → task-CyqtCXo3.js} +1 -1
  203. package/dist/task-DN4assR8.js +7 -0
  204. package/dist/{tool-search-BkdgVolu.js → tool-search-C9Ty3hhL.js} +1 -1
  205. package/dist/{tools-DNgEptor.js → tools-Ck-ZWtmB.js} +1 -1
  206. package/dist/{tools-oQvFAnh5.js → tools-DVtBtED6.js} +1 -1
  207. package/dist/{tools-search-D1zArRyJ.js → tools-search-BNDea9vZ.js} +1 -1
  208. package/dist/{turn-Cc-v-eSy.js → turn-eI4iRPsq.js} +1 -1
  209. package/dist/{update-check-UyRob3yy.js → update-check-Bap3dwaj.js} +1 -1
  210. package/dist/{views-3TxH367C.js → views-Bxm_5J6T.js} +1 -1
  211. package/dist/{worker-BMuKKiIa.js → worker-DJANNSCT.js} +1 -1
  212. package/dist/worker-DeuC38Vp.js +7 -0
  213. package/docs/agents/coder.md +1 -1
  214. package/docs/cli/index.md +5 -3
  215. package/docs/connections.md +1 -1
  216. package/docs/flows.md +1 -1
  217. package/docs/review.md +36 -8
  218. package/docs/self-host.md +2 -1
  219. package/package.json +1 -1
  220. package/plugins/claude/.claude-plugin/plugin.json +1 -1
  221. package/plugins/cursor/.cursor-plugin/plugin.json +1 -1
  222. package/dist/apps-B6mUToTa.js +0 -18
  223. package/dist/async-CNhQ4wyZ.js +0 -3
  224. package/dist/dash/standalone/static/assets/chunks/agent-settings-form-a8ee12513a02b1c5.js +0 -1
  225. package/dist/dash/standalone/static/assets/chunks/composer-4a46a458495ce3ba.js +0 -1
  226. package/dist/dash/standalone/static/assets/chunks/composer-92553de43276510b.js +0 -1
  227. package/dist/dash/standalone/static/assets/chunks/create-link-b2480a7601967e94.js +0 -1
  228. package/dist/dash/standalone/static/assets/chunks/instructions-734d21dfb8f6393e.js +0 -1
  229. package/dist/dash/standalone/static/assets/chunks/model-options-d29e934a3de20ab4.js +0 -1
  230. package/dist/dash/standalone/static/assets/chunks/outcome-dialog-77e13c848000a3dc.js +0 -1
  231. package/dist/dash/standalone/static/assets/chunks/outcome-toast-9d5e9713c23882f5.js +0 -1
  232. package/dist/dash/standalone/static/assets/chunks/platform-actions-832904f5694ef902.js +0 -1
  233. package/dist/dash/standalone/static/assets/chunks/platform-step-29469fd4eaddc42a.js +0 -1
  234. package/dist/dash/standalone/static/assets/chunks/shared-init-926144b364908b3c.js +0 -9
  235. package/dist/dash/standalone/static/assets/chunks/shared-init-9b28886f3cbe0ed3-2.js +0 -1
  236. package/dist/dash/standalone/static/assets/chunks/shared-init-b42d2c06c25d1e2b.js +0 -1
  237. package/dist/dash/standalone/static/assets/chunks/side-toggle-8c21d39a1e284887.js +0 -1
  238. package/dist/dash/standalone/static/assets/chunks/task-view-c6ee43d2ddb6db90.js +0 -3
  239. package/dist/dash/standalone/static/assets/dash-param-org-agents-param-slug-platforms-25ae07e0b3f5b252.css +0 -1
  240. package/dist/dash/standalone/static/assets/pnext-client-095026242a079175.js +0 -1
  241. package/dist/dash/standalone/static/assets/pnext-client-1dfeb8c3ef155f87.js +0 -1
  242. package/dist/dash/standalone/static/assets/pnext-client-2358423351524403.js +0 -1
  243. package/dist/dash/standalone/static/assets/pnext-client-28a6557216627768.js +0 -1
  244. package/dist/dash/standalone/static/assets/pnext-client-31a4ee73945fee19.js +0 -1
  245. package/dist/dash/standalone/static/assets/pnext-client-3dfdc76bb8712b82.js +0 -1
  246. package/dist/dash/standalone/static/assets/pnext-client-4355ac87961d78c1.js +0 -1
  247. package/dist/dash/standalone/static/assets/pnext-client-43c7a0046572e0c9.js +0 -1
  248. package/dist/dash/standalone/static/assets/pnext-client-53dc7db68d67e0b1.js +0 -1
  249. package/dist/dash/standalone/static/assets/pnext-client-5835cb35488bdf7f.js +0 -1
  250. package/dist/dash/standalone/static/assets/pnext-client-638b390bc23ab1ae.js +0 -1
  251. package/dist/dash/standalone/static/assets/pnext-client-67f832c6c51a66cd.js +0 -1
  252. package/dist/dash/standalone/static/assets/pnext-client-6fc99f0abe77c2ea.js +0 -1
  253. package/dist/dash/standalone/static/assets/pnext-client-7d99965f28ac7604.js +0 -1
  254. package/dist/dash/standalone/static/assets/pnext-client-8250bd3b86d038a3.js +0 -1
  255. package/dist/dash/standalone/static/assets/pnext-client-bfd06805a43c6dee.js +0 -1
  256. package/dist/dash/standalone/static/assets/pnext-client-ce2943f17e9d9ac3.js +0 -1
  257. package/dist/dash/standalone/static/assets/pnext-client-f0496bf51e161ddd.js +0 -1
  258. package/dist/env-_AxrvBXP.js +0 -1
  259. package/dist/integrations-BVmsk64f.js +0 -9
  260. package/dist/maintenance-d43Ml540.js +0 -1
  261. package/dist/serve-CvnrGAj7.js +0 -12
  262. package/dist/store-CzQLgCzt.js +0 -352
  263. package/dist/task-N0qhnKpK.js +0 -7
  264. package/dist/worker-CIHY9L42.js +0 -7
  265. /package/dist/dash/standalone/server/modules-server-server-react-server/src/core/{types.5bf5a41cedb54154.js → types.9d22123d6296f5af.js} +0 -0
  266. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/[id]/{task-view.aae9fa481b9015d1.css.pnext-asset.js → task-view.440367ae07204ee7.css.pnext-asset.js} +0 -0
@@ -0,0 +1,9 @@
1
+ import{$2a as Ge,$2b as Ot,$2c as Ht,$2j as Nt,$2l as Bt}from"./shared-init-3fcac605fffcc273-2.js";function te(e,t={}){let n=Kt(Jt(e,t.params??{})),a=Vt(t.search),r=Qt(t.hash);return`${n}${a}${r}`}function zt(){return window.__PNEXT_TRAILING_SLASH__===!0}function Ft(){let e=window.__PNEXT_PREFETCH__;return e===void 0?"visible":e}function Kt(e){let[,t="",n=""]=/^([^?#]*)([\s\S]*)$/.exec(e)??[];return t.startsWith("/")?zt()?t==="/"||t.endsWith("/")||/\.[^/]+$/.test(t)?e:`${t}/${n}`:t==="/"||!t.endsWith("/")||/\.[^/]+\/$/.test(t)?e:`${t.replace(/\/+$/,"")}${n}`:e}function Jt(e,t){let n=e.replace(/\[\[\.\.\.([^\]]+)\]\]/g,(a,r)=>pe(t[r],!0)).replace(/\[\.\.\.([^\]]+)\]/g,(a,r)=>pe(t[r],!0)).replace(/\[([^\]]+)\]/g,(a,r)=>pe(t[r],!1));return Wt(n)}function Wt(e){return e.length<=1?e:e.replace(/\/+$/,"")||"/"}function pe(e,t){if(Array.isArray(e)){let n=e.map(a=>encodeURIComponent(a));return t?n.join("/"):n[0]??""}return encodeURIComponent(e??"")}function Vt(e){if(!e)return"";let t=(e instanceof URLSearchParams?e:Zt(e)).toString();return t?`?${t}`:""}function Zt(e){let t=new URLSearchParams;for(let[n,a]of Object.entries(e)){let r=Array.isArray(a)?a:[a];for(let i of r)i!=null&&t.append(n,String(i))}return t}function Qt(e){return e?e.startsWith("#")?e:`#${e}`:""}function F({href:e,params:t,prefetch:n,replace:a,scroll:r,search:i,hash:o,onClick:l,onNavigate:d,onPrefetchStart:u,onPrefetchFinish:p,children:g,...w}){let I=te(e,{params:t??{},search:i,hash:o}),k=n??Ft(),v=Xt(u,p);return Ot("a",{...w,ref:v,href:I,"data-pnext-link":!0,"data-prefetch":k===!1?"false":k,"data-pnext-replace":a?"true":void 0,"data-pnext-scroll":r===!1?"false":void 0,onClick:y=>{let $=y;if(l?.($),$.defaultPrevented||!d||!Yt($))return;let C=Gt();d(C),C.defaultPrevented&&$.preventDefault()}},g)}function Xt(e,t){let n=Bt(null);return Nt(()=>{let a=n.current;if(!a||!e&&!t)return;let r=()=>e?.(),i=()=>t?.();return a.addEventListener("pnext:prefetchstart",r),a.addEventListener("pnext:prefetchfinish",i),()=>{a.removeEventListener("pnext:prefetchstart",r),a.removeEventListener("pnext:prefetchfinish",i)}},[e,t]),n}function Gt(){return{defaultPrevented:!1,preventDefault(){this.defaultPrevented=!0}}}function Yt(e){return e.button===0&&!e.altKey&&!e.ctrlKey&&!e.metaKey&&!e.shiftKey&&!e.currentTarget.target&&!e.currentTarget.download}var en="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",tn="M22 12h-4l-3 9L9 3l-3 9H2",nn="M3 3v18h18M18 17V9M13 17V5M8 17v-3",an="M5 5v14M19 12H9M13 8l-4 4 4 4",ne="m15 18-6-6 6-6",me="m6 9 6 6 6-6",fe="m9 18 6-6-6-6",rn="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",sn="M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z",on="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",ln="M6 11h12v9H6zM8 11V8a4 4 0 0 1 8 0v3",cn="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",dn="M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2M5 7a4 4 0 1 0 8 0a4 4 0 1 0 -8 0M22 21v-2a4 4 0 0 0-3-3.9M16 3.1a4 4 0 0 1 0 7.8",un="M8 8a4 4 0 1 0 8 0a4 4 0 1 0 -8 0M4 21a8 8 0 0 1 16 0",Ye="M7 17 17 7M8 7h9v9",hn="M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4M16 17l5-5-5-5M21 12H9",pn="m12 3 1.9 5.1L19 10l-5.1 1.9L12 17l-1.9-5.1L5 10l5.1-1.9ZM19 3v4M17 5h4",mn="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",fn="M4 6h16M4 12h16M4 18h16",J="M18 6 6 18M6 6l12 12",ae="M20 6 9 17l-5-5",vn="M3 6h18M8 6V4h8v2M19 6l-1 14H6L5 6M10 11v6M14 11v6",gn="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4M17 8l-5-5-5 5M12 3v12",ve="M12 16v-4M12 8h.01M3 12a9 9 0 1 0 18 0a9 9 0 1 0-18 0",wn="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",X="M12 5v14M5 12h14",$n="M5.6 5.6l12.8 12.8M3 12a9 9 0 1 0 18 0a9 9 0 1 0 -18 0",bn="M9 14 4 9l5-5M4 9h10a6 6 0 0 1 0 12h-3",yn="M4 20h4L19 9l-4-4L4 16v4ZM13 7l4 4",kn="M21 12a8 8 0 0 1-11.6 7.1L4 20l1-4.6A8 8 0 1 1 21 12Z",Mn="M4 12h12M12 6l6 6-6 6",xn="M16 4h4v4M20 4l-7 7M4 20l6-6M16 20h4v-4M20 20l-5-5M4 4l5 5",ge="M4 11a7 7 0 1 0 14 0a7 7 0 1 0 -14 0M20 20l-3.5-3.5",Cn="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",En="m4 17 6-6-6-6M12 19h8",In="M4 20h16a2 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 2Z",Sn="M12 7v5l3 2M3 12a9 9 0 1 0 18 0a9 9 0 1 0 -18 0",Ln="M9 2v6M15 2v6M6 8h12v4a6 6 0 0 1-12 0ZM12 18v4",Un="M9 9h11v11H9ZM5 15H4V4h11v1",Rn="M4 21v-7M4 10V3M12 21v-9M12 8V3M20 21v-5M20 12V3M1 14h6M9 8h6M17 16h6",Tn=0;function s(e,t,n,a,r,i){t||(t={});var o,l,d=t;if("ref"in d)for(l in d={},t)l=="ref"?o=t[l]:d[l]=t[l];var u={type:e,props:d,key:n,ref:o,__k:null,__:null,__b:0,__e:null,__c:null,constructor:void 0,__v:--Tn,__i:-1,__u:0,__source:r,__self:i};if(typeof e=="function"&&(o=e.defaultProps))for(l in o)d[l]===void 0&&(d[l]=o[l]);return Ge.vnode&&Ge.vnode(u),u}function T({d:e,class:t}){return s("svg",{class:t?`ic ${t}`:"ic",viewBox:"0 0 24 24","aria-hidden":"true",children:s("path",{d:e})})}var et=({variant:e,danger:t,size:n,wide:a,class:r})=>["btn",e!=="primary"&&e,t&&"danger",n,a&&"wide",r].filter(Boolean).join(" ");function tt({leftIcon:e,rightIcon:t,loading:n,children:a}){let r=s("i",{class:"btn-spin"});return s(Ht,{children:[e?n?r:s(T,{d:e}):null,a,t?n&&!e?r:s(T,{d:t}):null]})}function W({variant:e,danger:t,size:n,wide:a,leftIcon:r,rightIcon:i,loading:o,disabled:l,href:d,external:u,as:p,type:g="button",class:w,children:I,...k}){let v=et({variant:e,danger:t,size:n,wide:a,class:w}),y=s(tt,{leftIcon:r,rightIcon:i??(u?Ye:void 0),loading:o,children:I});return p==="span"?s("span",{class:v,"aria-hidden":"true",children:y}):d&&!l&&!o?s("a",{...k,class:v,href:d,...u?{target:"_blank",rel:"noopener noreferrer"}:{},children:y}):s("button",{"aria-busy":o||void 0,...k,type:g,class:v,disabled:l||o,children:y})}function qn({variant:e,danger:t,size:n,wide:a,leftIcon:r,rightIcon:i,class:o,children:l,...d}){return s(F,{...d,class:et({variant:e,danger:t,size:n,wide:a,class:o}),children:s(tt,{leftIcon:r,rightIcon:i,children:l})})}function V({icon:e,label:t,tip:n,type:a="button",class:r,children:i,...o}){return s("button",{...o,type:a,class:r?`icon-btn ${r}`:"icon-btn","aria-label":t,title:n?void 0:t,"data-tip":n,children:e?s(T,{d:e}):i})}import{$2h as we,$2j as G,$2l as H,$2n as at}from"./shared-init-3fcac605fffcc273-2.js";var j=class extends Error{code;hint;taskId;payload;approval;result;runId;status;needs;constructor(e,t,n={}){super(t),this.name="CoderError",this.code=e,Object.assign(this,n)}};function _n(e){try{let t=new URL(e).hostname.toLowerCase();return t==="localhost"||t==="[::1]"||/^127(?:\.\d{1,3}){3}$/.test(t)}catch{return!1}}function Pn(e){let t;try{t=new URL(e)}catch{throw new j("invalid-option","Give the server as a URL, e.g. https://agents.example.com.")}if(t.protocol!=="https:"&&!(t.protocol==="http:"&&_n(t.origin)))throw new j("invalid-option","Coder servers require HTTPS unless they are loopback.",{hint:"Use https://, or http://localhost for a local server."});if(t.username||t.password||t.search||t.hash)throw new j("invalid-option","The server must be an origin without credentials, query, or fragment.");return t.toString().replace(/\/+$/,"")}var L=(e,t)=>{let n=new URLSearchParams;"cursor"in t&&typeof t.cursor=="string"&&n.set("cursor",t.cursor);for(let[a,r]of Object.entries(t))a!=="cursor"&&r!==void 0&&r!==!1&&r!==""&&n.set(a,r===!0?"1":Array.isArray(r)?r.join(","):String(r));return`${e}?${n}`};async function*se(e){let t=new TextDecoder,n="";for await(let a of e){n+=t.decode(a,{stream:!0});let r;for(;(r=n.indexOf(`
2
+
3
+ `))>=0;){let i=n.slice(0,r);n=n.slice(r+2);let o="message",l,d=[];for(let u of i.split(`
4
+ `))u.startsWith("event: ")?o=u.slice(7):u.startsWith("data: ")?d.push(u.slice(6)):u.startsWith("id: ")&&(l=u.slice(4));(d.length||l)&&(yield{event:o,data:d.join(`
5
+ `),...l?{id:l}:{}})}}}var rt=class extends j{constructor(e,t,n="",a,r){super("server",t,{status:e,...a?{hint:a}:{}}),this.authenticate=n,this.needs=r}},An=new Set(["completed","failed","cancelled"]),jn=class{url;fetchImpl;organization;renewal;onError;token;cookie;constructor(e,t,n={}){if(this.cookie="cookie"in t,this.url=e?Pn(e):"",!this.cookie&&!this.url)throw new j("invalid-option","Bearer clients need a server URL.");this.token="token"in t?t.token:void 0,this.fetchImpl=n.fetch??((a,r)=>fetch(a,r)),this.organization=n.organization,this.renewal=n.renewal,this.onError=n.onError}request(e,t={}){let n=this.read(e,t);return n.catch(()=>{}),n}async read(e,t){this.renewal&&this.renewal.expiresAt()-Date.now()<3e4&&(this.token=await this.renewal.renew());let n=await this.send(e,t);n.status===401&&this.renewal&&/invalid_token/.test(n.headers.get("www-authenticate")??"")&&(this.token=await this.renewal.renew(),n=await this.send(e,t));let a=await n.text().catch(()=>""),r={},i;try{a&&n.status!==204&&(r=JSON.parse(a))}catch{if(n.ok)throw new j("server",`The server answered ${n.status} with a body that is not JSON.`);this.cookie&&a&&(i=a)}if(n.status===202&&r.pending){let{approval:o,reason:l,changes:d}=r;throw new j("approval-pending",l,{approval:{id:o,reason:l,actions:d}})}if(!n.ok){let o=new rt(n.status,r.error??r.message??i??`The server answered ${n.status}.`,n.headers.get("www-authenticate")??"",r.hint,r.needs==="key"?r.needs:void 0);throw this.onError?.(o),o}return r}send(e,t){let n=new Headers(t.headers);return t.body&&!n.has("content-type")&&n.set("content-type","application/json"),this.token&&n.set("authorization",`Bearer ${this.token}`),this.organization&&n.set("x-coder-organization",this.organization),this.fetchImpl(`${this.url}${e}`,{...t,headers:n,...this.cookie?{credentials:"same-origin"}:{}}).catch(a=>{throw a instanceof j||a.name==="AbortError"?a:new j("server",this.url?`No Coder server answers at ${this.url}: ${a.message}`:"The server did not answer. Check the connection and try again.")})}post(e,t){return this.request(e,{method:"POST",...t!==void 0?{body:JSON.stringify(t)}:{}})}me(){return this.request("/me")}signOut(){return this.post("/api/auth/sign-out",{})}agents={list:e=>this.request(L("/admin/agents",e??{})),get:(e,t)=>this.request(L(`/admin/agents/${encodeURIComponent(e)}`,{...t?.versions===!1?{versions:0}:{},...t?.content===!1?{content:0}:{},...t?.handles?{handles:1}:{},...t?.installations?{installations:1}:{}})),versions:(e,t={})=>this.request(L(`/admin/agents/${encodeURIComponent(e)}/versions`,t)),remove:e=>this.request(`/admin/agents/${encodeURIComponent(e)}`,{method:"DELETE"}),preview:(e,t)=>this.request(L("/admin/agents/import",{repo:e,ref:t})),version:(e,t)=>this.request(`/admin/agents/${encodeURIComponent(e)}/versions/${t}`),put:(e,t)=>this.request(`/admin/agents/${encodeURIComponent(e)}`,{method:"PUT",body:JSON.stringify(t)}).then(n=>({id:e,version:n.version,unchanged:n.unchanged,...n.apps?.length?{apps:n.apps}:{}})),settings:(e,t)=>this.request(`/admin/agents/${encodeURIComponent(e)}/settings`,{method:"PATCH",body:JSON.stringify(t)}),import:(e,t,n)=>this.post("/admin/agents/import",{repo:e,ref:t,...n?{agents:n}:{}})};composer(){return this.request("/admin/composer")}folders={list:()=>this.request("/admin/folders"),check:e=>this.post("/admin/folders/check",{path:e}),clone:e=>this.post("/admin/folders/clone",{url:e}),pick:()=>this.post("/admin/folders/pick",{})};tasks={list:e=>this.request(L("/admin/tasks",{limit:20,...e,...e?.archived?{archived:1}:{},...e?.summary?{summary:1}:{},...e?.counts?{counts:1}:{},...e?.approvals?{approvals:1}:{}})),get:e=>this.request(`/admin/tasks/${encodeURIComponent(e)}`),logs:(e,t=-1,n)=>this.request(L(`/admin/tasks/${encodeURIComponent(e)}/logs`,{after:t,limit:n})),stream:(e,t=-1,n)=>this.send(`/admin/tasks/${encodeURIComponent(e)}/stream?after=${t}`,{headers:{accept:"text/event-stream"},signal:n}),events:(e,t,n)=>this.send(L("/admin/events",{tasks:e}),{headers:{accept:"text/event-stream",...t?{"last-event-id":t}:{}},signal:n}),cancel:e=>this.post(`/admin/tasks/${encodeURIComponent(e)}/cancel`),steer:(e,t,n={})=>this.post(`/admin/tasks/${encodeURIComponent(e)}/steer`,{text:t,...n}),ask:(e,t,n={})=>this.post(`/admin/tasks/${encodeURIComponent(e)}/ask`,{question:t,...n}),approve:(e,t,n,a={})=>this.post(`/admin/tasks/${encodeURIComponent(e)}/approve`,{approvalId:t,decision:n,...a}),request:(e,t,n,a={})=>this.post(`/admin/tasks/${encodeURIComponent(e)}/requests/${encodeURIComponent(t)}`,{decision:n,...a}),pendingApprovals:()=>this.request("/admin/approvals/pending"),archive:e=>this.post(`/admin/tasks/${encodeURIComponent(e)}/archive`),delete:e=>this.request(`/admin/tasks/${encodeURIComponent(e)}`,{method:"DELETE"}),create:e=>this.post("/admin/tasks",e),wait:async(e,t={})=>{let n=-1;for(;;){let a=new AbortController,r=await this.tasks.stream(e,n,a.signal);if(!r.ok||!r.body){let o=await this.tasks.get(e);if(An.has(o.status))return o;if(r.status===401)continue;throw new j("server",`The task stream answered ${r.status}.`)}let i=!1;for await(let o of se(r.body))if(o.event==="log"){let l=JSON.parse(o.data);n=l.seq,t.onLog?.(l)}else if(o.event==="end"||o.event==="approval"){i=!0;break}if(i)return this.tasks.get(e)}}};credentials={list:e=>this.request(L("/admin/credentials",e??{})),add:e=>this.post("/admin/credentials",e),remove:(e,{workspace:t}={})=>this.request(`/admin/credentials/${encodeURIComponent(e)}${t?"?workspace":""}`,{method:"DELETE"}),login:e=>this.post("/admin/logins",{engine:e}),loginStatus:(e,t)=>this.request(`/admin/logins/${encodeURIComponent(e)}${t?`?state=${encodeURIComponent(t)}`:""}`),loginCode:(e,t)=>this.post(`/admin/logins/${encodeURIComponent(e)}`,{code:t}),cancelLogin:e=>this.request(`/admin/logins/${encodeURIComponent(e)}`,{method:"DELETE"})};runners={list:()=>this.request("/admin/runners"),add:e=>this.post("/admin/runners",e),pair:e=>this.post("/admin/runners/pair",e),update:(e,t)=>this.request(`/admin/runners/${encodeURIComponent(e)}`,{method:"PATCH",body:JSON.stringify(t)}),test:e=>this.post(`/admin/runners/${encodeURIComponent(e)}/test`,{}),remove:e=>this.request(`/admin/runners/${encodeURIComponent(e)}`,{method:"DELETE"})};integrations={list:e=>this.request(L("/admin/integrations",{agent:e}))};repositories={list:()=>this.request("/admin/repositories"),refresh:()=>this.post("/admin/repositories/refresh",{})};engines={status:()=>this.request("/admin/engines/status"),login:e=>this.post(`/admin/engines/${encodeURIComponent(e)}/login`,{}),logout:e=>this.post(`/admin/engines/${encodeURIComponent(e)}/logout`,{})};apps={list:e=>this.request(L("/admin/apps",{agent:e})),install:(e,t)=>this.post(L(`/admin/apps/${encodeURIComponent(e)}/install`,{back:t})),remove:e=>this.request(`/admin/apps/${encodeURIComponent(e)}`,{method:"DELETE"}),update:e=>this.post(`/admin/apps/${encodeURIComponent(e)}/update`,{}),drift:e=>this.request(`/admin/apps/${encodeURIComponent(e)}/drift`),create:(e,t)=>this.post(`/admin/apps/create/${encodeURIComponent(e)}`,t),start:(e,t)=>this.post(L(`/create/${encodeURIComponent(e)}`,t)),finish:(e,t)=>this.request(`/create/${encodeURIComponent(e)}/callback`,{method:"POST",headers:{accept:"application/json","content-type":"application/x-www-form-urlencoded"},body:new URLSearchParams(t)})};operator={apps:()=>this.request("/admin/operator/apps"),setUp:(e,t)=>this.post(`/admin/operator/apps/${encodeURIComponent(e)}`,t),audit:()=>this.request("/admin/operator/audit"),drift:e=>this.request(`/admin/operator/apps/${encodeURIComponent(e)}/drift`),update:e=>this.post(`/admin/operator/apps/${encodeURIComponent(e)}/update`,{})};installations={list:(e,t={})=>this.request(L("/admin/installations",{agent:e,limit:t.limit,...t.active?{active:1}:{}})),uninstall:e=>this.request(`/admin/installations/${encodeURIComponent(e)}`,{method:"DELETE"})};connections={list:(e,t)=>this.request(L("/admin/connections",{authorization:e,wait:t})),add:e=>this.post("/admin/connections",e),update:(e,t)=>this.request(`/admin/connections/${encodeURIComponent(e)}`,{method:"PATCH",body:JSON.stringify(t)}),remove:e=>this.request(`/admin/connections/${encodeURIComponent(e)}`,{method:"DELETE"}),authorize:e=>this.post(`/admin/connections/${encodeURIComponent(e)}/authorize`)};config={get:()=>this.request("/admin/config"),patch:e=>this.request("/admin/config",{method:"PATCH",headers:{"content-type":"application/merge-patch+json"},body:JSON.stringify(e)})};models={list:()=>this.request("/admin/models"),add:e=>this.post("/admin/models",e),probe:e=>this.post("/admin/models/probe",e),remove:e=>this.request(`/admin/models/${encodeURIComponent(e)}`,{method:"DELETE"}),update:(e,t)=>this.request(`/admin/models/${encodeURIComponent(e)}`,{method:"PATCH",body:JSON.stringify(t)}),alias:(e,t)=>this.post(`/admin/models/${encodeURIComponent(e)}/alias`,{spec:t}),enable:e=>this.post(`/admin/models/${encodeURIComponent(e)}/enable`),disable:e=>this.post(`/admin/models/${encodeURIComponent(e)}/disable`)};mcp={search:e=>this.request(L("/admin/mcp-registry",{q:e}))};flows={list:e=>this.request(L("/admin/flows",{repo:e})),run:(e,t)=>this.post(`/admin/flows/${encodeURIComponent(e)}/run`,t)};pulls={list:e=>this.request(L("/admin/pulls",{repo:e}))};usage(e={}){return this.request(L("/admin/usage/totals",{...e,since:e.since??Date.now()-10080*60*1e3}))}usageRows(e){return this.request(L("/admin/usage",{installation:e}))}},ie=new jn("",{cookie:!0},{fetch(e,t){let n=/^\/dash\/([^/]+)/.exec(globalThis.location?.pathname??"")?.[1];if(!n)return fetch(e,t);let a=new Headers(t?.headers);return a.set("x-coder-organization",decodeURIComponent(n)),fetch(e,{...t,headers:a})},onError(e){e.status===401&&(e.authenticate||/^Sign in/.test(e.message))&&(location.href=`/login?return=${encodeURIComponent(location.pathname+location.search)}`)}});async function Dn(){let{url:e}=await ie.signOut();location.href=e??"/?signed_out=1"}function On(e,t){let n,a=!1,r=()=>{a||(n=setTimeout(i,t))},i=()=>{if(document.visibilityState==="hidden")return r();e().catch(o=>console.error("coder dashboard: poll",o)).finally(r)};return r(),()=>{a=!0,clearTimeout(n)}}function Hn(e,t,n=[]){let a=H(e);a.current=e;let r=!!e;G(()=>{if(!r)return;let i=new AbortController,o=On(async()=>a.current?.(i.signal),t);return()=>{i.abort(),o()}},[r,t,...n])}function be({summary:e,summaryClass:t,button:n,label:a,tip:r,align:i="right",wide:o,class:l,children:d}){let u=at();return s("span",{class:`menu ${i}${l?` ${l}`:""}`,children:[n==="icon"?s(V,{popovertarget:u,label:a??"",children:e}):n?s(W,{...n,popovertarget:u,"aria-label":a,title:r?void 0:a,children:e}):s("button",{popovertarget:u,type:"button",class:t,"aria-label":a,title:r?void 0:a,"data-tip":r,children:e}),s("div",{id:u,class:o?"pop wide":"pop",popover:"auto",onBeforeToggle:p=>{if(p.newState!=="open")return;let g=p.currentTarget,w=g.parentElement?.querySelector("button")?.getBoundingClientRect();if(!w)return;g.style.cssText="display: block; visibility: hidden; max-height: none";let I=g.offsetHeight;g.style.cssText="";let k=window.innerHeight-w.bottom-20,v=w.top-20,[y,$]=i==="up"?[v,k]:[k,v],C=I>y&&$>y;g.classList.toggle("flip",C),g.style.maxHeight=`${Math.max(120,Math.round(C?$:y))}px`},onClick:p=>{p.target.closest("a, button:not([data-keep])")&&p.currentTarget.hidePopover()},children:d})]})}function ye({label:e,title:t,class:n,children:a}){let r=at(),i=H(null),o=H(),l=d=>u=>{u.pointerType==="mouse"&&(clearTimeout(o.current),d?i.current.togglePopover(!0):o.current=setTimeout(()=>i.current?.togglePopover(!1),150))};return s("span",{class:n?`more ${n}`:"more",onPointerEnter:l(!0),onPointerLeave:l(!1),children:[s("button",{popovertarget:r,type:"button","aria-label":t,children:e}),s("div",{id:r,ref:i,class:"more-list scroll-box",popover:"auto",children:a})]})}var Nn=({label:e,children:t})=>s(ye,{label:s(T,{d:ve}),title:e,class:"info",children:t}),st=5,$e=3;function ke({tone:e,title:t,onClick:n,href:a,external:r,class:i,children:o}){let l=["badge",e,i].filter(Boolean).join(" ");return a?s("a",{class:l,href:a,title:t,...r?{target:"_blank",rel:"noopener noreferrer"}:{},children:o}):n?s("button",{type:"button",class:l,title:t,onClick:n,children:o}):s("span",{class:l,title:t,children:o})}function oe({onClick:e,children:t,...n}){return e?s("button",{...n,type:"button",class:"chip",onClick:e,children:t}):s("span",{class:"chip",children:t})}function Bn({values:e,label:t,children:n}){if(n)return s("span",{class:"chips",role:"group","aria-label":t,children:n});let a=(e??[]).filter(o=>!!o);if(!a.length)return s("span",{class:"muted",children:"None"});let r=o=>s(oe,{children:o},o),i=a.length>=st;return s("span",{class:"chips",children:[(i?a.slice(0,$e):a).map(r),i?s(ye,{label:`+${a.length-$e}`,children:s("span",{class:"chips",children:a.map(r)})}):null]})}function zn({value:e,title:t}){return s("span",{class:"id",title:t??e,children:e})}var it=(e,...t)=>["card frame",e==="filled"?"filled":void 0,...t].filter(Boolean).join(" ");function Fn({id:e,title:t,count:n,actions:a,tone:r,look:i="outlined",children:o}){return s("section",{id:e,class:it(i,r),children:[t?s("div",{class:"bar",children:[s("h2",{children:[t,n!==void 0?s("span",{class:"n",children:n}):null]}),a?s("span",{class:"bar-r",children:a}):null]}):null,o]})}function Kn({title:e,note:t,actions:n,open:a="Add",opened:r,look:i="outlined",children:o}){return s("details",{class:it(i,"fold"),open:r,children:[s("summary",{class:"bar",children:[s("h2",{children:e}),s("span",{class:"fold-note",children:t}),n?s("span",{class:"bar-r",children:n}):null,s(W,{as:"span",variant:"outline",size:"sm",class:"fold-open",leftIcon:a==="Add"?X:void 0,children:a}),s(W,{as:"span",variant:"ghost",size:"sm",class:"fold-close",children:"Close"})]}),o]})}function Jn({title:e,actions:t,children:n}){return s("div",{class:"empty",children:[s("b",{children:e}),n?s("span",{children:n}):null,t?s("div",{class:"actions",children:t}):null]})}function Wn({label:e,inline:t,dots:n,late:a,h:r}){return s(t?"span":"div",{class:["loading",t&&"inline",a&&"late"].filter(Boolean).join(" "),role:"status",style:r?`--h:${r}px`:void 0,children:s("span",{children:[n?s("i",{class:"dots",children:[s("b",{}),s("b",{}),s("b",{})]}):s("i",{class:"spin"}),e]})})}var nt=e=>`${history.state?.__pnextEntry??location.pathname}|${e}`,Vn=e=>history.state?.coderPages?.[e],Zn=(e,t)=>history.replaceState({...history.state,coderPages:{...history.state?.coderPages,[e]:t}},""),Qn=6e4,re=(e,t)=>({query:e,rows:t.items,next:t.next,meta:t});function Xn({name:e,query:t,first:n,initial:a,root:r,fetchPage:i}){let o=H(new Map([[a,{page:n,at:Date.now()}]])),[l,d]=we(()=>re(a,n)),[u,p]=we(""),[g,w]=we(!1),I=H(null),k=H(l);k.current=l;let v=H(void 0),y=H(void 0),$=(c,m,h)=>{let f=`${m}|${c}`;if(v.current?.key===f)return;let M={key:f};v.current=M,p(""),w(!0);let E=nt(e),S=h?void 0:o.current.get(m);S&&Date.now()-S.at<Qn&&d(re(m,S.page)),i(c).then(R=>{v.current===M&&(h||o.current.set(m,{page:R,at:Date.now()}),p(""),y.current=void 0,d(q=>{if(h&&(q.query!==m||q.next!==c))return q;let z=h&&q.query===m?{...q,rows:[...q.rows,...R.items],next:R.next}:re(m,R);return nt(e)===E&&Zn(e,z),z}))}).catch(R=>{v.current===M&&(y.current=()=>$(c,m,h),p(R instanceof Error?R.message:String(R)))}).finally(()=>{v.current===M&&(v.current=void 0,w(!1))})};G(()=>()=>{v.current=void 0},[]);let C=H(n);return G(()=>{C.current!==n&&(C.current=n,v.current=void 0,w(!1),o.current.set(a,{page:n,at:Date.now()}),d(re(a,n)))},[n]),G(()=>{v.current=void 0,y.current=void 0,p(""),w(!1);let c=Vn(e);if(c&&c.query===t&&c.rows.length>k.current.rows.length){d(c);return}t!==k.current.query&&$("",t,!1)},[t]),G(()=>{let c=I.current;if(!c||!l.next||u)return;let m=new IntersectionObserver(([h])=>{h?.isIntersecting&&k.current.next&&k.current.query===t&&$(k.current.next,t,!0)},{root:r?.()??null,rootMargin:"0px 0px 300px 0px"});return m.observe(c),()=>m.disconnect()},[l.next,l.rows.length,t,u]),{rows:l.rows,meta:l.meta,more:!!l.next,busy:g,error:u,stale:g&&l.query!==t,sentinel:I,retry:()=>{p(""),y.current?.()}}}function Me(e){let t=new URL(location.href);for(let[n,a]of Object.entries(e))a?t.searchParams.set(n,a):t.searchParams.delete(n);history.replaceState(history.state,"",t)}function xe(e){let t=new URLSearchParams(location.search);return Object.fromEntries(e.map(n=>[n,t.get(n)??""]))}var Gn=20,Y=20;import{f as Yn,i as ea,j as ot,k as lt}from"./wular-pnext-3fcac605fffcc273-0.js";import{$1a as pt,$1b as ta}from"./shared-init-3fcac605fffcc273-2.js";import{$0a as na,$0d as aa}from"./shared-init-3fcac605fffcc273-2.js";import{$2a as ra,$2c as D,$2h as P,$2j as N,$2k as Ie,$2l as K,$2n as sa}from"./shared-init-3fcac605fffcc273-2.js";var le=class extends Error{constructor(){super("Method unavailable on `ReadonlyURLSearchParams`. Read more: https://nextjs.org/docs/app/api-reference/functions/use-search-params#updating-searchparams")}},ia=class extends URLSearchParams{append(){throw new le}delete(){throw new le}set(){throw new le}sort(){throw new le}};Yn();function Te(){return oa}var oa={push(e,...[t]){ut(Ce(e,t),"push",t?.scroll)},replace(e,...[t]){ut(Ce(e,t),"replace",t?.scroll)},prefetch(e,...[t]){ta(Ce(e,t),{strict:!0,full:t?.kind==="full",onInvalidate:t?.onInvalidate})},refresh(){pt(window.location.href,{replace:!0,scroll:!1})},back(){window.history.back()},forward(){window.history.forward()},get bfcacheId(){return ft().bfcacheId??""}};function Ce(e,t){return la(t)?te(e,t):String(e)}function la(e){return!!(e&&("params"in e||"search"in e||"hash"in e))}function qe(){return _e().pathname}function ca(){return new ia(_e().search)}function mt(){return _e(),ft().params??{}}function da(){let e=ra,t=e.__h,n;e.__h=(i,...o)=>{n=i.__P,t?.(i,...o)};let[a,r]=P(!1);return e.__h=t,N(()=>{let i=n?.closest("a[data-pnext-link]");if(!i)return;let o=i.__pnextHints??=new Set;return o.add(r),()=>o.delete(r)},[]),{pending:a}}function _e(){let e=dt(),[,t]=P(()=>ct(e));return N(()=>{ua();let n=()=>t(a=>{let r=ct(dt());return a===r?a:r});return ot().add(n),n(),()=>ot().delete(n)},[]),e}function ct(e){return`${e.pathname}${e.search}${e.hash}`}function dt(){return{pathname:window.location.pathname,search:window.location.search,hash:window.location.hash}}function ft(){let e=history.state??{},t=window.__PNEXT_ROUTE__??{},n=typeof e.__pnextBfcacheId=="string"?e.__pnextBfcacheId:void 0;return n?{...t,bfcacheId:n}:t}function ut(e,t,n=!0){if(aa(e))return;let a=new URL(e,window.location.href);if(a.origin!==window.location.origin){let r=globalThis;r.__pnextMpaNavigation=(r.__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){pt(a.href,{replace:t==="replace",scroll:n});return}t==="replace"?window.history.replaceState(history.state,"",a):window.history.pushState(history.state,"",a),ea(a,{scroll:n}),na.settleLink?.()}function ua(){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 n(a){let r=window.history.state??{},i={};for(let l of Object.keys(r))l.startsWith("__pnext")&&(i[l]=r[l]);if(Object.keys(i).length===0)return a;let o=a??{};return Object.keys(o).some(l=>l.startsWith("__pnext"))?a:{...o,...i}}window.history.pushState=function(a,r,i){let o=window.location.href,l=e(n(a),r,i);return window.location.href!==o&&lt(),l},window.history.replaceState=function(a,r,i){let o=window.location.href,l=t(n(a),r,i);return window.location.href!==o&&lt(),l}}var vt={agents:{title:"Agents",lead:"Each agent listens on the platforms it declares and answers as itself."},tasks:{title:"Tasks"},newAgent:{title:"New agent",lead:"Start from a template or a repository. Everything but the name has a sensible default."},usage:{title:"Usage",lead:"Tasks, runner time, and tokens by agent. Pick a range, or open an agent for its breakdown."}};function Pe(){let e=K(null);return N(()=>{let t=e.current,n=t.nextElementSibling??t.parentElement.nextElementSibling,a=n.closest(".page"),r=()=>{let u=n.classList.contains("stuck"),p=n.offsetHeight;n.classList.toggle("stuck",!u);let g=n.offsetHeight;return n.classList.toggle("stuck",u),Math.max(0,u?g-p:p-g)},i,o=()=>{i?.disconnect();let u=56-r();i=new IntersectionObserver(([p])=>{let g=!p.isIntersecting&&p.boundingClientRect.top<u;if(g===n.classList.contains("stuck"))return;let w=n.offsetHeight;a&&(a.style.paddingBottom=`${w}px`),n.classList.toggle("stuck",g),n.style.marginBottom=g?`${w-n.offsetHeight}px`:"",a&&(a.style.paddingBottom="")},{rootMargin:`${-u}px 0px 0px 0px`}),i.observe(t)};o();let l=n.offsetWidth,d=new ResizeObserver(()=>{a?.style.setProperty("--head",`${n.offsetHeight}px`),n.offsetWidth!==l&&(l=n.offsetWidth,o())});return d.observe(n,{box:"border-box"}),()=>{i?.disconnect(),d.disconnect(),a?.style.removeProperty("--head")}},[]),s("i",{class:"sentinel",ref:e})}var ce=(...e)=>["pop-item",...e].filter(Boolean).join(" ");function de({icon:e,sub:t,end:n,children:a}){return s(D,{children:[typeof e=="string"?s(T,{d:e}):e,s("span",{class:"grow",children:[a,t?s("small",{children:t}):null]}),n]})}function Se({icon:e,title:t,sub:n,end:a,href:r,type:i="button",disabled:o,danger:l,...d}){let u=ce(n?"rich":!1,l&&"danger"),p=s(de,{icon:e,sub:n,end:a,children:t});return o?s("div",{class:u,"aria-disabled":"true",children:p}):r?s("a",{...d,class:u,href:r,children:p}):s("button",{...d,type:i,class:u,children:p})}function ha({icon:e,sub:t,end:n,class:a,children:r,...i}){return s(F,{...i,class:ce(t?"rich":!1,a),children:s(de,{icon:e,sub:t,end:n,children:r})})}function Le({on:e,onPick:t,href:n,disabled:a,icon:r,sub:i,end:o,children:l}){let d={role:"menuitemradio","aria-checked":e,class:ce(e&&"on",i?"rich":!1)},u=s(de,{icon:r,sub:i,end:s(D,{children:[o,s(T,{d:ae})]}),children:l});return a?s("div",{...d,"aria-disabled":"true",children:u}):n?s("a",{href:n,...d,children:u}):s("button",{type:"button",...d,onClick:t,children:u})}function Ue({active:e,selected:t,check:n,icon:a,sub:r,end:i,class:o,children:l,...d}){return s("div",{...d,role:"option","aria-selected":t,class:ce(e&&"on",o),children:s(de,{icon:a,sub:r,end:s(D,{children:[i,n?s(T,{d:ae}):null]}),children:l})})}var Ae=({children:e,...t})=>s("p",{...t,class:"pop-label",children:e}),Re=({children:e})=>s("p",{class:"pop-note",children:e}),pa=({icon:e,title:t,sub:n})=>s("div",{class:"pop-head",children:[e,s("div",{class:"grow",children:[s("b",{children:t}),s("small",{children:n})]})]}),ma=({children:e})=>s("div",{class:"pop-row",children:e});function gt({panelRef:e,class:t,children:n,...a}){return s("div",{...a,ref:e,class:t?`pop ${t}`:"pop",children:n})}var wt=e=>new URLSearchParams(Object.entries(e).filter(([,t])=>t)).toString();function fa(e){let[t,n]=P(e),[a,r]=P(e),i=K();return N(()=>{let o=xe(Object.keys(e));Object.keys(e).some(l=>o[l]!==e[l])&&(n(o),r(o))},[]),N(()=>()=>clearTimeout(i.current),[]),{values:t,set:(o,l,d=0)=>{let u={...t,[o]:l};n(u),clearTimeout(i.current);let p=()=>{r(u),Me(u)};d?i.current=setTimeout(p,d):p()},query:wt(a)}}function $t({value:e,label:t,onInput:n,disabled:a,...r}){return s("label",{class:"search","aria-hidden":a||void 0,children:[s(T,{d:ge}),s("input",{...r,type:"search",value:e,placeholder:t,"aria-label":t,disabled:a,tabIndex:a?-1:void 0,onInput:i=>n?.(i.currentTarget.value)})]})}function va({head:e,action:t,children:n}){return e?s(D,{children:[s(Pe,{}),s("header",{class:"head tools",children:[s("div",{children:[s("h1",{children:e.title}),e.lead?s("p",{class:"lead",children:e.lead}):null]}),s("div",{class:"filters",children:n}),t?s("div",{class:"actions",children:t}):null]})]}):s("div",{class:"filters",children:[n,t?s("span",{class:"end",children:t}):null]})}var bt="coder:filters",ga=5,Ee=5;function wa(e,t){if(e.length<=Ee)return e;let n=e.slice(0,Ee),a=e.find(([r])=>r===t);return a&&!n.includes(a)?[...n.slice(0,Ee-1),a]:n}var $a=e=>e.options.filter(([t])=>t).length>=ga;function ba(e,t,n={}){return t?e.options.find(([a])=>a===t)?.[1]??n[`${e.key}:${t}`]??t:"Any"}function ya(e,t,n={}){return e.filter(a=>t[a.key]).map(a=>{let r=ba(a,t[a.key],n);return{key:a.key,text:a.inline?r:`${a.label}: ${r}`}})}function ka(e,t,n){let a=n.trim().toLowerCase(),r=t.filter(([,o])=>o.toLowerCase().includes(a)),i=[...r,...e.filter(([o])=>!r.some(([l])=>l===o))];return{shown:i.slice(0,Y),more:i.length>Y}}function je(){try{return JSON.parse(localStorage.getItem(bt)??"{}")??{}}catch{return{}}}function Ma(e,t){let n=je();n[e]=[t,...(n[e]??[]).filter(([a])=>a!==t[0])].slice(0,5),localStorage.setItem(bt,JSON.stringify(n))}function xa({name:e,facets:t,values:n,onChange:a}){let[r,i]=P({}),o=(d,u)=>i(p=>({...p,...Object.fromEntries(u.map(([g,w])=>[`${d}:${g}`,w]))}));N(()=>{let d=je();for(let u of t)o(u.key,d[`${e}:${u.key}`]??[])},[]);let l=ya(t,n,r);return s(D,{children:[s(be,{class:"filter-more",summaryClass:`field-btn${l.length?" on":""}`,summary:l.length?`Filter \xB7 ${l.length}`:"Filter",children:s(Ca,{name:e,facets:t,values:n,seen:r,onFound:o,onPick:(d,[u,p])=>{!d.inline&&u!==n[d.key]&&(Ma(`${e}:${d.key}`,[u,p]),o(d.key,[[u,p]])),a(d.key,d.inline||u!==n[d.key]?u:"")}})}),s("span",{class:"filter-chips",children:l.map(d=>s(oe,{title:d.text,"aria-label":`Clear ${d.text}`,onClick:()=>a(d.key,""),children:[s("span",{class:"grow",children:d.text}),s(T,{d:J})]},d.key))})]})}function Ca({name:e,facets:t,values:n,seen:a,onFound:r,onPick:i}){let o=K(null),[l,d]=P(),[u,p]=P(""),[g,w]=P(),I=K(0),k=K(),v=u.trim(),y=h=>o.current?.querySelector(h)?.focus(),$=h=>{h&&(k.current=h.key),d(h),p(""),w(void 0)};N(()=>{let h=o.current.closest("[popover]"),f=M=>{M.newState==="open"?y("button"):$()};return h.addEventListener("toggle",f),()=>h.removeEventListener("toggle",f)},[]),N(()=>{o.current?.closest(":popover-open")&&y(l?"input":`[data-facet="${k.current}"]`)},[l]),N(()=>{if(!l?.search||!v)return;let h=++I.current,f=setTimeout(()=>void l.search(v,Y+1).then(M=>{I.current===h&&(w(M),r(l.key,M))},()=>I.current===h&&w([])),200);return()=>clearTimeout(f)},[l,v]);let C=l?l.search&&v?g??[]:l.options.filter(([h,f])=>h&&f.toLowerCase().includes(v.toLowerCase())):[],c=l?ka(C,je()[`${e}:${l.key}`]??[],v):{shown:[],more:!1},m=!!(l?.search&&v&&!g);return s("div",{ref:o,class:"filter-panel",onKeyDown:h=>{let f=[...o.current.querySelectorAll("input, button")],M=f.indexOf(document.activeElement),E=h.target,S=h.key;if(S==="ArrowDown")f[(M+1)%f.length]?.focus();else if(S==="ArrowUp")f[(M-1+f.length)%f.length]?.focus();else if(S==="ArrowRight"&&E.dataset.facet)E.click();else if(S==="ArrowLeft"&&l&&E.tagName!=="INPUT")$();else if(S==="Enter"&&E.tagName==="INPUT")y("[role=menuitemradio]");else if(S==="Escape"&&l)h.stopPropagation(),$();else return;h.preventDefault()},children:l?s(D,{children:[s(Se,{"data-keep":!0,icon:ne,title:l.label,onClick:()=>$()}),$a(l)?s($t,{value:u,label:`Find ${l.label.toLowerCase()}`,autocomplete:"off",onInput:p}):null,s("div",{role:"group","aria-label":l.label,"aria-busy":m,children:c.shown.map(([h,f])=>s(Le,{icon:l.icon?.(h),on:n[l.key]===h,onPick:()=>i(l,[h,f]),children:f},h))}),c.more?s(Re,{children:"Type to find more."}):!c.shown.length&&!m?s(Re,{children:"Nothing matches."}):null]}):t.map(h=>{let f=h.options.filter(([E])=>h.inline||E);if(!f.length)return null;let M=wa(f,n[h.key]);return s(D,{children:[s(Ae,{children:h.label}),s("div",{role:"group","aria-label":h.label,children:M.map(([E,S])=>s(Le,{icon:h.icon?.(E),on:n[h.key]===E,onPick:()=>i(h,[E,S]),children:S},E))}),f.length>M.length?s(Se,{"data-keep":!0,"data-facet":h.key,"aria-haspopup":"true",title:"More",end:s(D,{children:[s("span",{class:"muted",children:f.length-M.length}),s(T,{d:fe})]}),onClick:()=>$(h)}):null]},h.key)})})}var ht=10;function yt(e,t,n,a,r=[]){let[i,o]=P("");return Ie(()=>{if(!n)return;t.current?.showPopover();let l=()=>{let d=e.current?.getBoundingClientRect(),u=t.current;if(!d||!u)return;let p=innerHeight-d.bottom-12,g=p<Math.min(u.scrollHeight,240)&&d.top>p;o(`left:${Math.round(Math.min(d.left,innerWidth-u.offsetWidth-8))}px;min-width:${Math.round(d.width)}px;`+(g?`bottom:${Math.round(innerHeight-d.top+4)}px;max-height:${Math.round(Math.min(a,d.top-12))}px`:`top:${Math.round(d.bottom+4)}px;max-height:${Math.round(Math.min(a,p))}px`))};return l(),addEventListener("resize",l),addEventListener("scroll",l,!0),()=>{removeEventListener("resize",l),removeEventListener("scroll",l,!0)}},[n,...r]),i}function Ea({label:e,options:t,value:n,defaultValue:a,onChange:r,onFocus:i,name:o,disabled:l,headings:d,subs:u,unavailable:p,icons:g,action:w}){let[I,k]=P(a??t[0]?.[0]??""),v=Math.max(0,t.findIndex(([b])=>b===(n??I))),y=t[v]?.[0]??"",[$,C]=P(!1),[c,m]=P(v),h=K(null),f=K(null),M=yt(h,f,$,560),E=K({text:"",at:0}),S=sa(),R=(b=v)=>{m(b),C(!0)},q=(b=!0)=>{C(!1),b&&h.current?.focus()},z=b=>{if(w&&b===t.length){q(),w.onPick();return}let U=t[b]?.[0];U!==void 0&&p?.[U]||(q(),!(U===void 0||U===y)&&(n===void 0&&k(U),r?.(U)))},Ze=(b,U)=>{let x=Date.now(),_=x-E.current.at>600?b:E.current.text+b;E.current={text:_,at:x};let Qe=/^(.)\1*$/.test(_)?_[0]:_,Dt=Qe.length===1?U+1:U;for(let he=0;he<t.length;he++){let Xe=(Dt+he)%t.length;if(t[Xe][1].toLowerCase().startsWith(Qe.toLowerCase()))return Xe}return-1},jt=b=>{let U=t.length-1+(w?1:0),x=b.key;if(!$){if(["ArrowDown","ArrowUp","Enter"," "].includes(x))R();else if(x==="Home")R(0);else if(x==="End")R(U);else if(x.length===1&&!b.ctrlKey&&!b.metaKey){let _=Ze(x,v);if(_>=0)R(_);else return}else return;b.preventDefault();return}if(x==="ArrowDown")m(Math.min(U,c+1));else if(x==="ArrowUp"&&b.altKey)z(c);else if(x==="ArrowUp")m(Math.max(0,c-1));else if(x==="Home")m(0);else if(x==="End")m(U);else if(x==="PageDown")m(Math.min(U,c+ht));else if(x==="PageUp")m(Math.max(0,c-ht));else if(x==="Enter"||x===" "&&Date.now()-E.current.at>600)z(c);else if(x==="Escape")b.stopPropagation(),q();else if(x==="Tab"){p?.[t[c]?.[0]??""]?q(!1):z(c);return}else if(x.length===1&&!b.ctrlKey&&!b.metaKey){let _=Ze(x,c);_>=0&&m(_)}else return;b.preventDefault()};return Ie(()=>{if(!$)return;let b=U=>{let x=U.target;!h.current?.contains(x)&&!f.current?.contains(x)&&q(!1)};return document.addEventListener("pointerdown",b),()=>document.removeEventListener("pointerdown",b)},[$]),Ie(()=>{$&&f.current?.querySelector(`[data-index="${c}"]`)?.scrollIntoView({block:"nearest"})},[$,c,M]),s("span",{class:"select",children:[s("button",{ref:h,type:"button",role:"combobox","data-keep":!0,"aria-label":e,"aria-haspopup":"listbox","aria-expanded":$,"aria-controls":`${S}-list`,"aria-activedescendant":$?`${S}-${c}`:void 0,disabled:l,onFocus:i,onPointerDown:i,onClick:b=>{b.preventDefault(),$?q():R()},onKeyDown:jt,children:[g?.[y]??null,s("span",{class:"grow",children:t[v]?.[1]??""}),s(T,{d:me})]}),o?s("input",{type:"hidden",name:o,value:y}):null,$?s(kt,{id:S,label:e,listRef:f,place:M,children:[t.map(([b,U],x)=>s(D,{children:[d?.[b]?s(Ae,{children:d[b]}):null,s(Ue,{id:`${S}-${x}`,"data-index":x,active:x===c,selected:x===v,check:!0,icon:g?.[b],"aria-disabled":p?.[b]?"true":void 0,sub:p?.[b]??(u?.[b]?s("bdi",{dir:"ltr",children:u[b]}):null),onPointerMove:()=>x!==c&&m(x),onClick:_=>{_.preventDefault(),z(x)},children:U})]},b)),w?s(Ue,{id:`${S}-${t.length}`,"data-index":t.length,active:c===t.length,selected:!1,class:"action",icon:w.icon??X,onPointerMove:()=>c!==t.length&&m(t.length),onClick:b=>{b.preventDefault(),z(t.length)},children:w.label}):null]}):null]})}var kt=({id:e,label:t,listRef:n,place:a,children:r})=>s(gt,{panelRef:n,id:`${e}-list`,class:"select-pop",popover:"manual",role:"listbox","aria-label":t,style:a||"visibility:hidden",onMouseDown:i=>i.preventDefault(),children:r}),De=e=>e,Ia=e=>{let t=e.params??{};return e.href.replace(/\[([^\]]+)\]/g,(n,a)=>encodeURIComponent(String(t[a]??"")))};function Sa(e,t){let n=new URLSearchParams((e instanceof URLSearchParams,e));for(let[a,r]of Object.entries(t))n.set(a,r);return n}function La(e){if(!e?.startsWith("/"))return;let t=new URL(e,"http://dash");if(t.origin!=="http://dash"||!/^\/dash(\/|$)/.test(t.pathname))return;let[,,,n,a]=t.pathname.split("/"),r=vt[n]?.title??"Back";if(n==="tasks"&&a&&(r="Task"),n==="settings"&&(r=a?a[0].toUpperCase()+a.slice(1):"Settings"),n==="agents"&&a)try{r=decodeURIComponent(a)}catch{}return{to:{href:t.pathname,search:t.searchParams},label:r}}function Mt({label:e,back:t,named:n,...a}){let r=La(t),i=n??r?.label??e;return s(F,{class:"back","aria-label":i,...De(r?.to??a),children:[s(T,{d:ne}),s("span",{children:i})]})}function Ua({title:e,lead:t,actions:n,meta:a,back:r}){return s(D,{children:[s(Pe,{}),s("header",{class:"head",children:[s("div",{children:[r,s("div",{class:"title-row",children:[s("h1",{children:e}),a?s("div",{class:"meta",children:a}):null]}),t?s("p",{class:"lead",children:t}):null]}),n?s("div",{class:"actions",children:n}):null]})]})}var Z=()=>mt().org;function Ra({href:e,params:t,...n}){return s(F,{...n,...De({href:e,params:{...t,org:Z()}})})}function Ta({href:e,label:t}){return s(Mt,{href:e,params:{org:Z()},label:t})}import{$2h as Q,$2j as A,$2l as B}from"./shared-init-3fcac605fffcc273-2.js";var qa=e=>e.replace(/&(amp|lt|gt);/g,(t,n)=>({amp:"&",lt:"<",gt:">"})[n]);function Lt(e="",t=!1){let n=/<event>\n([^]*?)\n<\/event>/g;if(!t&&(!e.trimStart().startsWith("<event>")||e.replace(n,"").trim()))return;let a=[];for(let[,r]of e.matchAll(n))try{let i=JSON.parse(qa(r));if(!i||typeof i!="object"||Array.isArray(i)){if(!t)return;continue}a.push(i)}catch(i){if(console.error("coder: unreadable event prompt",i),!t)return}return a.length?a:void 0}function _a(e,t,n=[]){let a=[e??"",...n].flatMap(r=>(Lt(r,!0)??[]).flatMap(i=>typeof i.mustReply=="boolean"?[i.mustReply]:[]));return a.length?a.includes(!0):t}var Pa="__EMPTY__",Aa="Skipped: the agent chose not to reply.",ja="The agent returned no reply.",Da=/\x1b\[[0-9;?]*[ -/]*[@-~]|\x1b\][^\x07\x1b]*(?:\x07|\x1b\\)/g;function O(e,t){return t?e.split(`${t}/`).join("").split(t).join("."):e}var Oa=class{constructor(e,t={}){this.cwd=e,this.opts=t}prevKind=null;lastAssistant="";lastToolText="";openCalls=[];callIds=new WeakMap;approvals=new Map;lastUsageTotal=0;get lastAssistantMessage(){return this.lastAssistant}reduce(e){let t=e.entry,n=t?String(t.kind??"status"):"line",a=t?n==="tool-result"?this.close(e,t):n==="approval-answered"?this.decide(e,t):void 0:void 0;if(a)return this.prevKind=n,[a];let r={seq:e.seq,at:e.at,kind:"status",title:"",sourceKind:n,separated:!1,tone:"muted"};if(!t)r.kind=e.level==="err"?"error":e.level==="sys"?"status":"line",r.title=O(e.line,this.cwd),e.level==="err"&&(r.tone="error");else if(n==="usage"){let i=t.tokens;if(!i)return[];let o=this.lastUsageTotal>0,l=i.total-this.lastUsageTotal;if(!o||l<Math.max(2e4,this.lastUsageTotal*.2))return this.lastUsageTotal=Math.max(this.lastUsageTotal,i.total),[];this.lastUsageTotal=i.total,r.kind="usage",r.tokens=i;let d=typeof t.context=="number"?t.context:i.input+i.cachedInput;r.title=`ctx ${Ct(d)} \xB7 out ${Ct(i.output)}`}else if(n==="approval-escalated"){let i=Array.isArray(t.actions)?t.actions.map(String):[],o=O(t.reason?String(t.reason):"",this.cwd);r.kind="approval",r.title=["Approval needed",o,`${i.length} action${i.length===1?"":"s"}`].filter(Boolean).join(" \xB7 "),r.detail=O(i.map((l,d)=>`${d+1}. ${l.replaceAll(`
6
+ `,`
7
+ `)}`).join(`
8
+ `),this.cwd),r.state="waiting",this.approvals.set(String(t.approvalId),r)}else if(n==="approval-answered")r.kind="approval",r.title="Approval",Object.assign(r,xt(r,e,t));else if(n==="approval-decision"){let i=O(t.summary?String(t.summary):"",this.cwd),o=t.decision==="accept";r.kind="approval",r.title=[o?"Allowed as approved":"Refused by the reviewer",i].filter(Boolean).join(" \xB7 "),r.detail=O(t.reason?String(t.reason):"",this.cwd),o||(r.tone="error")}else if(n==="auto-review"){r.kind="approval";let i=t.riskLevel?`(${String(t.riskLevel)} risk)`:"",o=O(t.summary?String(t.summary):"",this.cwd),l=o.slice(o.indexOf(": ")+2),d=o&&l&&this.lastToolText.includes(l)?"":o,u=d?"":String(t.method??"");r.title=`${["auto-review",String(t.decision??""),i,u].filter(Boolean).join(" ")}${d?` \xB7 ${d}`:""}`,r.detail=O(t.reason?String(t.reason):"",this.cwd)}else{let i=t.message?String(t.message):n==="tool-result"?"(no output)":String(t.tool||t.kind||"");if(!i&&!(n==="tool-result"&&(t.exitCode!=null||t.isError)))return[];r.title=O(i,this.cwd),n==="assistant"?(r.kind="assistant",r.tone=void 0,this.lastAssistant=r.title):n==="error"||n==="steer"?(r.kind=n,r.tone=n==="error"?"error":"warning"):n==="warning"?r.tone="warning":n==="reasoning"?(r.kind="reasoning",r.durationMs=typeof t.durationMs=="number"?t.durationMs:0):n==="tool"?(r.kind="tool",t.tool&&(r.tool=String(t.tool)),this.lastToolText=r.title,t.callId&&this.callIds.set(r,String(t.callId)),this.openCalls.push(r)):n==="tool-result"&&(r.kind="tool-result",r.title=this.output(i),r.exitCode=typeof t.exitCode=="number"?t.exitCode:void 0,r.tone=r.exitCode!==void 0&&r.exitCode!==0||t.isError===!0?"error":"muted",r.durationMs=typeof t.durationMs=="number"?t.durationMs:0,t.tool&&(r.tool=String(t.tool)))}return this.prevKind!==null&&(r.separated=["assistant","error","steer"].includes(n)||n==="reasoning"&&this.prevKind!=="reasoning"||n==="tool"&&["assistant","reasoning"].includes(this.prevKind)),this.prevKind=n,[r]}close(e,t){let n=t.tool?String(t.tool):void 0,a=t.callId?this.openCalls.findIndex(d=>this.callIds.get(d)===String(t.callId)):-1,r=t.callId?a:n?this.openCalls.findIndex(d=>d.tool===n):this.openCalls.length-1;if(r<0)return;let[i]=this.openCalls.splice(r,1),o=typeof t.exitCode=="number"?t.exitCode:void 0,l=typeof t.durationMs=="number"?t.durationMs:e.at-i.at||0;return{...i,title:t.callMessage?O(String(t.callMessage),this.cwd):i.title,result:{ok:!o&&t.isError!==!0,exitCode:o,durationMs:Math.max(0,l),detail:this.output(t.message?String(t.message):"")}}}decide(e,t){let n=this.approvals.get(String(t.approvalId));return n?xt(n,e,t):void 0}output(e){return O(this.opts.keepAnsi?e:e.replace(Da,""),this.cwd)}};function xt(e,t,n){let a=n.decision==="accept";return{...e,state:`${a?"approved":"denied"} ${n.by?`by ${String(n.by)}`:"in Coder"}`,result:{ok:a,durationMs:Math.max(0,t.at-e.at||0),detail:!a&&n.reason?String(n.reason):""}}}function Ct(e){return e<1e3?String(e):e<1e6?`${(e/1e3).toFixed(e<1e4?1:0)}k`:`${(e/1e6).toFixed(1)}M`}var Ha=e=>e==="failed"?0:e==="completed"?3:e==="cancelled"?2:1,Na=(e,t)=>e==="waiting"||!!t?.some(n=>!n.response),Ba=(e,t)=>e<t?-1:e>t?1:0,za=(e,t)=>e.rank-t.rank||t.createdAt-e.createdAt||Ba(t.id,e.id);function Oe(e){return Lt(e)?.flatMap(t=>t.reactions?t.reactions.map(({emoji:n,by:a})=>({author:a.join(", "),text:`reacted ${n}`,reaction:!0})):(t.messages??(t.message?[t.message]:[])).map(({text:n,author:a})=>({author:[a.handle,a.name].find(r=>r&&r!==a.id)??"",text:n||(t.event??"")})))}function Fa(e,t){let n=e?.trim();return n&&!Oe(n)?n:t?.trim()||Oe(n)?.find(a=>!a.reaction)?.text.trim()}function Ut({status:e,approvals:t}){let n=Na(e,t)?"waiting":e;return s("span",{class:`st ${n}`,children:[s("i",{}),Rt[n]??n]})}var Ka=()=>s(ke,{title:"Ran with read-only access",children:"read-only"}),Rt={queued:"waiting for slot",running:"running",waiting:"needs approval",completed:"completed",failed:"failed",cancelled:"cancelled"},ee="coder:watched",Tt="coder:notify",ue="coder:toast",Ve=new Set(["completed","failed","cancelled"]),Ja=new Set([...Ve,"waiting"]),Wa=20,Et=3,Va=8e3,It="coder:events",He="coder:task",Ne="coder:task-replay",Be="coder:task-reset",ze="coder:task-resync",Fe="coder:task-counts",Ke="coder:task-counts-replay",Je="coder:runners",Za=6e4,Qa=200,We=()=>{try{return JSON.parse(localStorage.getItem(ee)??"{}")??{}}catch{return{}}},qt=e=>{let t=Object.entries(e).sort(([,n],[,a])=>a.at-n.at).slice(0,Wa);localStorage.setItem(ee,JSON.stringify(Object.fromEntries(t))),dispatchEvent(new Event(ee))},_t=(e,t,n)=>dispatchEvent(new CustomEvent(ue,{detail:{title:e,line:t,tone:n}})),Xa=(e,t)=>_t(e,t,"error");function Pt(e,t,n){let a=We(),r=a[e];!r&&Ve.has(t)||r?.status===t&&(!n||r.title===n)||(a[e]={title:n||r?.title||e,status:t,at:r?.at??Date.now(),org:r?.org??location.pathname.split("/")[2]},qt(a))}var St=e=>/^\/dash\/[^/]+\/tasks\/([^/]+)$/.exec(e)?.[1];function Ga(e){let t=r=>typeof r=="string"?r.trim().split(`
9
+ `)[0]:"",n=e.approval??{},a=typeof e.result=="object"?e.result?.output:e.result;return e.status==="waiting"?t(n.reason)||"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 At(e,t,n){let a=B({on:e,reset:t,resync:n});a.current={on:e,reset:t,resync:n},A(()=>{let r=l=>a.current.on(l.detail),i=()=>a.current.reset?.(),o=()=>a.current.resync?.();return addEventListener(He,r),addEventListener(Be,i),addEventListener(ze,o),dispatchEvent(new CustomEvent(Ne,{detail:l=>a.current.on(l)})),()=>{removeEventListener(He,r),removeEventListener(Be,i),removeEventListener(ze,o)}},[])}function Ya(e,t,n){let a=B(e);a.current=e;let r=B(),i=[...e].sort().join(",");A(()=>{let o=new Map,l=c=>{o.delete(c.id),o.set(c.id,c),o.size>Qa&&o.delete(o.keys().next().value),dispatchEvent(new CustomEvent(He,{detail:c}))},d=c=>{for(let m of o.values())c.detail(m)};addEventListener(Ne,d);let u,p=c=>u&&c.detail(u);addEventListener(Ke,p);let g=typeof BroadcastChannel<"u"&&navigator.locks?new BroadcastChannel(`${It}:${n}`):void 0,w=new AbortController,I,k=()=>{},v,y=c=>{I=c.id??I,c.event&&l(c.event),c.counts&&(u=c.counts,dispatchEvent(new CustomEvent(Fe,{detail:u}))),c.runners&&dispatchEvent(new CustomEvent(Je,{detail:c.runners})),c.resync&&dispatchEvent(new Event(ze)),c.reset&&(o.clear(),dispatchEvent(new Event(Be)))};g?.addEventListener("message",({data:c})=>{if(!c.hello)return y(c);v??=setTimeout(()=>{v=void 0,r.current?.abort.abort(),k()},300)}),g?.postMessage({hello:!0});let $=async()=>{t.current=!0;let c=setInterval(()=>{g?.postMessage({resync:!0}),y({resync:!0})},Za);try{await C()}finally{clearInterval(c)}},C=async()=>{for(;!w.signal.aborted;){let c=new AbortController,m=()=>c.abort();w.signal.addEventListener("abort",m);let h=a.current;r.current={key:[...h].sort().join(","),abort:c};let f=1e3;try{let M=await ie.tasks.events(h,I,c.signal);if(M.status===404)return void(t.current=!1);if(!M.ok||!M.body)f=[401,403].includes(M.status)?6e4:5e3;else for await(let{event:E,data:S,id:R}of se(M.body)){if(c.signal.aborted)break;let q={...R?{id:R}:{},...E==="task"?{event:JSON.parse(S)}:{},...E==="counts"?{counts:JSON.parse(S)}:{},...E==="runners"?{runners:JSON.parse(S)}:{},...E==="reset"?{reset:!0}:{}};g?.postMessage(q),y(q)}}catch(M){c.signal.aborted||console.error("coder dashboard: events",M)}w.signal.removeEventListener("abort",m),!c.signal.aborted&&(await new Promise(M=>{let E=setTimeout(M,f);k=()=>{clearTimeout(E),M()}}),k=()=>{})}};return g?navigator.locks.request(`${It}:${n}`,{signal:w.signal},$).catch(c=>{w.signal.aborted||console.error("coder dashboard: events",c)}):$(),()=>{w.abort(),k(),clearTimeout(v),g?.close(),removeEventListener(Ne,d),removeEventListener(Ke,p)}},[]),A(()=>{r.current&&r.current.key!==i&&r.current.abort.abort()},[i])}function er(e){let t=B(e);t.current=e,A(()=>{let n=a=>t.current(a.detail);return addEventListener(Je,n),()=>removeEventListener(Je,n)},[])}function tr(){let[e,t]=Q();return A(()=>{let n=a=>t(a.detail.active);return addEventListener(Fe,n),dispatchEvent(new CustomEvent(Ke,{detail:a=>t(a.active)})),()=>removeEventListener(Fe,n)},[]),e?s("span",{class:"n",title:`${e} active`,children:e}):null}function nr({toast:e,paused:t,dismiss:n}){let a=Z(),r=B(Va);return A(()=>{if(t)return;let i=Date.now(),o=setTimeout(()=>n(e.key),r.current);return()=>{clearTimeout(o),r.current-=Date.now()-i}},[t]),s("div",{class:e.tone?`toast ${e.tone}`:"toast",children:[s("p",{class:"toast-head",children:[e.id?s(F,{class:"toast-title",href:"/dash/[org]/tasks/[id]",params:{org:a,id:e.id},onClick:()=>n(e.key),children:e.title}):s("span",{class:"toast-title",children:e.title}),e.status?s(Ut,{status:e.status}):null,s(V,{icon:J,label:"Dismiss",onClick:()=>n(e.key)})]}),s("p",{class:"toast-line",children:e.line})]})}function ar(){let e=Z(),t=qe(),n=Te(),[a,r]=Q({}),[i,o]=Q([]),[l,d]=Q(!1),[u,p]=Q(!1),[g,w]=Q(!1),I=B(St(t));I.current=St(t);let k=B({}),v=B(!1);A(()=>{let c=()=>{let m=We();for(let[h,f]of Object.entries(m))k.current[h]??=f.status;r(m)};return c(),addEventListener(ee,c),addEventListener("storage",c),()=>{removeEventListener(ee,c),removeEventListener("storage",c)}},[]),A(()=>{let c=m=>{let h=m.detail;o(f=>[{key:`${ue}:${Date.now()}`,...h},...f].slice(0,Et))};return addEventListener(ue,c),()=>removeEventListener(ue,c)},[]),A(()=>{if(!i.length)return;let c=m=>m.key==="Escape"&&o([]);return addEventListener("keydown",c),()=>removeEventListener("keydown",c)},[i.length]);let y=B(null);A(()=>{let c=y.current;c.matches(":popover-open")&&c.hidePopover(),i.length&&c.showPopover()},[i[0]?.key]);let $=c=>o(m=>m.filter(h=>h.key!==c));At(c=>{let m=a[c.id];if(m?.org!==e)return;if(c.deleted){let f=We();return delete f[c.id],qt(f)}let h=k.current[c.id]??m.status;k.current[c.id]=c.status,h!==c.status&&C(c.id,{...c,result:c.result??void 0,error:c.error??void 0},m)});let C=(c,m,h)=>{if(Pt(c,m.status),!Ja.has(m.status)||I.current===c)return;let f={key:`${c}:${Date.now()}`,id:c,title:h.title,status:m.status,line:Ga(m)};if(o(E=>[f,...E].slice(0,Et)),!v.current||localStorage.getItem(Tt)!=="1"||typeof Notification>"u"||Notification.permission!=="granted")return;let M=new Notification(`${f.title} (${Rt[f.status]})`,{body:f.line,tag:c});M.onclick=()=>{focus(),n.push("/dash/[org]/tasks/[id]",{params:{org:e,id:c}})}};return Ya(Object.entries(a).filter(([,c])=>c.org===e&&!Ve.has(c.status)).map(([c])=>c),v,e),A(()=>{let c=()=>w(!0),m=()=>w(!1);return addEventListener("blur",c),addEventListener("focus",m),()=>{removeEventListener("blur",c),removeEventListener("focus",m)}},[]),s("section",{ref:y,class:"toasts",popover:"manual","aria-label":"Task updates","aria-live":"polite",onPointerOver:()=>d(!0),onPointerOut:c=>d(!!y.current?.contains(c.relatedTarget)),onFocusIn:()=>p(!0),onFocusOut:c=>p(!!y.current?.contains(c.relatedTarget)),children:i.map(c=>s(nr,{toast:c,paused:l||u||g,dismiss:$},c.key))})}import{$2e as rr,$2j as sr,$2l as ir,$2n as or}from"./shared-init-3fcac605fffcc273-2.js";function lr({open:e=!0,class:t,tone:n,title:a,icon:r,dismiss:i,busy:o,cancel:l="Cancel",cancelDanger:d,focus:u="cancel",actions:p,onSubmit:g,onClose:w,children:I}){let k=ir(null),v=or();sr(()=>{let C=k.current;e&&!C.open?C.showModal():!e&&C.open&&C.close()},[e]);let y=()=>!o&&k.current.close(),$=rr(p).length===0;return s("dialog",{ref:k,class:["modal",t,n&&`tone ${n}`].filter(Boolean).join(" "),"aria-labelledby":v,onClose:w,onCancel:C=>{C.preventDefault(),y()},onClick:C=>C.target===C.currentTarget&&y(),children:s("form",{method:g?void 0:"dialog",onSubmit:g??(i&&$?C=>C.preventDefault():void 0),children:[s("header",{children:[r?s(T,{d:r}):null,s("h2",{id:v,children:a}),i?s(V,{icon:J,label:"Close",onClick:y}):null]}),I,i&&$?null:s("div",{class:"actions",children:[s(W,{variant:$&&!d?"primary":"ghost",danger:d,disabled:o,autofocus:u==="cancel",onClick:y,children:l}),p]})]})})}export{kt as $0A,Mt as $0B,Ua as $0C,Z as $0D,Ra as $0E,Ta as $0F,Te as $0a,qe as $0b,ca as $0c,mt as $0d,da as $0e,De as $0f,Ia as $0g,Sa as $0h,vt as $0i,Pe as $0j,Se as $0k,ha as $0l,Le as $0m,Ue as $0n,Ae as $0o,Re as $0p,pa as $0q,ma as $0r,gt as $0s,wt as $0t,fa as $0u,$t as $0v,va as $0w,xa as $0x,yt as $0y,Ea as $0z,se as $1a,rt as $1b,ie as $1c,Dn as $1d,Hn as $1e,be as $1f,ye as $1g,Nn as $1h,st as $1i,$e as $1j,ke as $1k,oe as $1l,Bn as $1m,zn as $1n,Fn as $1o,Kn as $1p,Jn as $1q,Wn as $1r,Xn as $1s,Me as $1t,xe as $1u,Gn as $1v,Y as $1w,_a as $2a,Pa as $2b,Aa as $2c,ja as $2d,Oa as $2e,Ha as $2f,za as $2g,Oe as $2h,Fa as $2i,Ut as $2j,Ka as $2k,Tt as $2l,_t as $2m,Xa as $2n,Pt as $2o,At as $2p,er as $2q,tr as $2r,ar as $2s,wn as $3A,X as $3B,$n as $3C,bn as $3D,yn as $3E,kn as $3F,Mn as $3G,xn as $3H,ge as $3I,Cn as $3J,En as $3K,In as $3L,Sn as $3M,Ln as $3N,Un as $3O,Rn as $3P,s as $3Q,T as $3R,W as $3S,qn as $3T,V as $3U,te as $3a,F as $3b,en as $3c,tn as $3d,nn as $3e,an as $3f,ne as $3g,me as $3h,fe as $3i,rn as $3j,sn as $3k,on as $3l,ln as $3m,cn as $3n,dn as $3o,un as $3p,Ye as $3q,hn as $3r,pn as $3s,mn as $3t,fn as $3u,J as $3v,ae as $3w,vn as $3x,gn as $3y,ve as $3z,lr as $4a};
@@ -0,0 +1 @@
1
+ import{$0b as d,$0e as b,$0g as T,$0k as P,$0m as A}from"./shared-init-abd7653140f37a0c.js";import{$1d as y}from"./shared-init-abd7653140f37a0c.js";import{$4a as B}from"./shared-init-abd7653140f37a0c.js";import{$3J as R,$3Q as t,$3S as f,$3U as g,$3b as L,$3g as S,$3i as E,$3j as O,$3k as C,$3l as M,$3r as w,$3u as x}from"./shared-init-abd7653140f37a0c.js";import{$2c as l,$2h as a,$2j as p,$2k as h,$2l as k}from"./shared-init-3fcac605fffcc273-2.js";function N({within:n,children:r,onClick:s,...i}){let e=d(),o=e===T(i)||n!==void 0&&(e===n||e.startsWith(`${n}/`)),c=k(null);return t(L,{...i,"aria-current":o?"page":void 0,onClick:u=>{c.current=u.currentTarget,s?.(u)},children:[r,t($,{anchor:c,current:o})]})}function $({anchor:n,current:r}){let{pending:s}=b();return h(()=>{n.current&&(s&&!r?n.current.setAttribute("data-pending",""):n.current.removeAttribute("data-pending"))},[s,r]),null}function Q({link:n}){let r=`/api/auth/sign-in?${new URLSearchParams({return:n,prompt:"login"})}`;return t(B,{class:"outcome-dialog",tone:"warning",title:"Not in this workspace",icon:R,cancel:"Stay here",actions:t(f,{href:r,children:"Sign in with another account"}),onClose:()=>history.replaceState(history.state,"",location.pathname),children:t("p",{role:"status",children:"The link you followed does not belong to this workspace."})})}function ot({menu:n}){let r=()=>void y().catch(()=>location.reload());return n?t(P,{icon:w,title:"Sign out",onClick:r}):t(f,{variant:"secondary",danger:!0,onClick:r,children:"Sign out"})}var v=3600*24*365,I=[["light","Light",O],["dark","Dark",C],["system","System",M]];function mt({theme:n}){let[r,s]=a(n),i=e=>{let o=document.documentElement;e==="system"?delete o.dataset.theme:o.dataset.theme=e,document.cookie=`theme=${e}; path=/; max-age=${v}; samesite=lax`,s(e)};return t(l,{children:I.map(([e,o,c])=>t(A,{on:r===e,onPick:()=>i(e),icon:c,children:o},e))})}var H="side";function ht({collapsed:n}){let[r,s]=a(n);p(()=>{let o=document.querySelector(".app");if(!o)return;let c=()=>s(o.classList.contains("side-min"));c();let u=new MutationObserver(c);return u.observe(o,{attributes:!0,attributeFilter:["class"]}),()=>u.disconnect()},[]);let i=()=>{let o=!r;document.querySelector(".app")?.classList.toggle("side-min",o),document.cookie=`${H}=${o?"min":"max"}; path=/; max-age=31536000; samesite=lax`},e=r?"Expand sidebar":"Collapse sidebar";return t(g,{icon:r?E:S,label:e,tip:e,class:"side-toggle",onClick:i})}function xt(){let n=d(),[r,s]=a(),i=r===n,e=o=>s(o?n:void 0);return p(()=>{if(document.documentElement.classList.toggle("drawer",i),!i)return;let o=c=>c.key==="Escape"&&e(!1);return addEventListener("keydown",o),()=>removeEventListener("keydown",o)},[i]),t(l,{children:[t(g,{icon:x,label:"Open navigation",class:"only-m",onClick:()=>e(!i)}),t("div",{class:"scrim",onClick:()=>e(!1)})]})}export{N as a,Q as b,ot as c,mt as d,ht as e,xt as f};
@@ -1 +1 @@
1
- import{$3r as i}from"./shared-init-926144b364908b3c.js";import{$2Q as t,$2S as o}from"./shared-init-926144b364908b3c.js";import{$3c as n}from"./shared-init-9b28886f3cbe0ed3-2.js";function g({sentinel:l,more:r,busy:a,error:e,retry:s,noun:u}){return!r&&!e?null:t("div",{class:e?"tail err":"tail",ref:l,role:"status",children:e?t(n,{children:[e," ",t(o,{variant:"ghost",size:"sm",onClick:s,children:"Retry"})]}):a?t(i,{label:`Loading more ${u}`,inline:!0,late:!0}):null})}export{g as a};
1
+ import{$1r as i}from"./shared-init-abd7653140f37a0c.js";import{$3Q as t,$3S as o}from"./shared-init-abd7653140f37a0c.js";import{$2c as n}from"./shared-init-3fcac605fffcc273-2.js";function g({sentinel:l,more:r,busy:a,error:e,retry:s,noun:u}){return!r&&!e?null:t("div",{class:e?"tail err":"tail",ref:l,role:"status",children:e?t(n,{children:[e," ",t(o,{variant:"ghost",size:"sm",onClick:s,children:"Retry"})]}):a?t(i,{label:`Loading more ${u}`,inline:!0,late:!0}):null})}export{g as a};
@@ -1 +1 @@
1
- import{$4a as o,$4f as i,$4g as a,$4i as d}from"./shared-init-926144b364908b3c.js";var T=["Conversation","Activity"],f=[["","Recent"],["active","Active"],["waiting","Needs approval"],["running","Running"],["queued","Queued"],["completed","Completed"],["failed","Failed"],["cancelled","Cancelled"],["archived","Archived"]];function w(t){let{status:e,...r}=t;return e==="archived"?{...r,archived:!0}:{...r,status:e}}var p=[["","All sources"],["dashboard","Dashboard"],["cli","CLI"],["schedule","Schedule"]],g=t=>(p.find(([e])=>e===t)??[t,t])[1],x=t=>t.status==="queued"||t.status==="running"||t.status==="waiting",c=t=>({rank:i(t.status),createdAt:t.createdAt,id:t.task.id}),u=(t,e)=>a(c(t),c(e));function y(t,e){let r=new Set(e.map(s=>s.task.id));return[...e,...t.filter(s=>!r.has(s.task.id))].sort(u)}function A(t,e,r={}){let s=new Set(t.map(n=>n.task.id));return[...e.filter(n=>!s.has(n.task.id)),...t].map(n=>r[n.task.id]??n).sort(u)}function v(t,e,r,s){let n=t.at(-1);return{rows:t.filter(l=>(r[l.task.id]??0)<=s),cursor:n?{since:n.updatedAt,sinceId:n.task.id}:e}}var h=(t,e)=>o(e,t.task.event?.mustReply!==!1);function S(t){let e=d(t.turns?.[0]?.prompt??t.task.prompt,t.task.event?.text);return t.task.name?.trim()||e||`${t.task.event?.type??"task"} on ${t.task.agent}`}function b(t){let{usage:e,definition:r}=t.task,s=e?.engine||e?.model?e:void 0;return[s?.engine,t.model??s?.model??r?.model,s?.effort].filter(Boolean).join("/")}var C=t=>t.split(/[\\/]/).filter(Boolean).at(-1)??t;export{T as a,f as b,w as c,p as d,g as e,x as f,y as g,A as h,v as i,h as j,S as k,b as l,C as m};
1
+ import{$2a as o,$2f as i,$2g as a,$2i as d}from"./shared-init-abd7653140f37a0c.js";var T=["Conversation","Activity"],f=[["","Recent"],["active","Active"],["waiting","Needs approval"],["running","Running"],["queued","Queued"],["completed","Completed"],["failed","Failed"],["cancelled","Cancelled"],["archived","Archived"]];function w(t){let{status:e,...r}=t;return e==="archived"?{...r,archived:!0}:{...r,status:e}}var p=[["","All sources"],["dashboard","Dashboard"],["cli","CLI"],["schedule","Schedule"]],g=t=>(p.find(([e])=>e===t)??[t,t])[1],x=t=>t.status==="queued"||t.status==="running"||t.status==="waiting",c=t=>({rank:i(t.status),createdAt:t.createdAt,id:t.task.id}),u=(t,e)=>a(c(t),c(e));function y(t,e){let r=new Set(e.map(s=>s.task.id));return[...e,...t.filter(s=>!r.has(s.task.id))].sort(u)}function A(t,e,r={}){let s=new Set(t.map(n=>n.task.id));return[...e.filter(n=>!s.has(n.task.id)),...t].map(n=>r[n.task.id]??n).sort(u)}function v(t,e,r,s){let n=t.at(-1);return{rows:t.filter(l=>(r[l.task.id]??0)<=s),cursor:n?{since:n.updatedAt,sinceId:n.task.id}:e}}var h=(t,e)=>o(e,t.task.event?.mustReply!==!1);function S(t){let e=d(t.turns?.[0]?.prompt??t.task.prompt,t.task.event?.text);return t.task.name?.trim()||e||`${t.task.event?.type??"task"} on ${t.task.agent}`}function b(t){let{usage:e,definition:r}=t.task,s=e?.engine||e?.model?e:void 0;return[s?.engine,t.model??s?.model??r?.model,s?.effort].filter(Boolean).join("/")}var C=t=>t.split(/[\\/]/).filter(Boolean).at(-1)??t;export{T as a,f as b,w as c,p as d,g as e,x as f,y as g,A as h,v as i,h as j,S as k,b as l,C as m};
@@ -1,3 +1,3 @@
1
- import{k as H}from"./task-423e6a3f2527f534.js";import{a as U}from"./types-3eca2c7f47c46054.js";import{a as E}from"./segmented-f646bfa8aa0aa449.js";import{a as Q}from"./confirm-d6b2c5b1deccd1e8.js";import{a as W}from"./field-4d374d5ed3f43d7e.js";import{$1b as w}from"./shared-init-953965859f7bf6b9.js";import{$4m as P}from"./shared-init-926144b364908b3c.js";import{$0D as T,$0a as $,$0c as N,$0k as R}from"./shared-init-926144b364908b3c.js";import{$3c as A,$3f as I,$3o as S}from"./shared-init-926144b364908b3c.js";import{$1a as L}from"./shared-init-926144b364908b3c.js";import{$2A as z,$2Q as e,$2R as B,$2S as h,$2b as x,$2c as F,$2p as O}from"./shared-init-926144b364908b3c.js";import{$3c as C,$3h as y}from"./shared-init-9b28886f3cbe0ed3-2.js";function Ae({task:n,live:o}){let a=$(),t=T(),s=w(),f=w({leaves:!0}),[d,p]=y(""),[g,i]=y(!1),u=g||!!n.archivedAt,[v,k]=y(N().get("delete")==="1"),m=async l=>{p("");let c=await s.run(l,()=>A.tasks[l](n.task.id));return c&&p(l==="cancel"?"Stop requested.":"Archived."),c},b=()=>void f.run("delete",async()=>{await A.tasks.delete(n.task.id),a.push("/dash/[org]/tasks",{params:{org:t}})}).then(l=>l||k(!1)),r=()=>void m("archive").then(i);return e(C,{children:[e("span",{class:"flash",role:"status",children:d}),o?e(h,{variant:"outline",disabled:!!s.pending,loading:s.pending==="cancel",onClick:()=>void m("cancel"),children:"Stop"}):u?null:e(h,{variant:"outline",class:"archive",disabled:!!s.pending,loading:s.pending==="archive",onClick:r,children:"Archive"}),e(I,{summary:e(B,{d:z}),button:"icon",label:"More actions",children:[o&&!u?e(R,{title:"Archive",onClick:r}):null,e(R,{title:"Copy task id",onClick:()=>void navigator.clipboard.writeText(n.task.id).then(()=>P("Copied",n.task.id))}),e(R,{title:"Delete",danger:!0,onClick:()=>k(!0)})]}),e(Q,{open:v,title:"Delete this task?",body:"Its conversation, activity and diff go with it.",confirmLabel:"Delete",busy:!!f.pending,onConfirm:b,onClose:()=>k(!1)})]})}var Z=n=>n.approvals?.find(o=>!o.response)??(n.approvals?.some(o=>o.id===n.approval?.id)?void 0:n.approval),we=(n,o)=>{let a=Date.parse(o.createdAt??""),t=n.findIndex(s=>!s.finishedAt||s.finishedAt>=a);return t<0?n.length-1:t},K=({decision:n,by:o})=>n==="closed"?"Task stopped":`${n==="accept"?"Approved":"Denied"} ${o?`by ${o}`:"in Coder"}`;function q({actions:n,diff:o,note:a}){return e("details",{class:"approval-actions",children:[e("summary",{children:e("span",{children:[`${n.length} ${o?"change":"action"}${n.length===1?"":"s"}`,a?` \xB7 ${a}`:null]})}),o?e("pre",{class:"change-diff",children:n.flatMap(t=>t.split(`
1
+ import{k as H}from"./task-396d849e58e50d59.js";import{a as U}from"./types-3eca2c7f47c46054.js";import{a as Q}from"./confirm-14d018653fbe50fc.js";import{a as E}from"./segmented-66a8c77c6294fec3.js";import{a as W}from"./field-adcb6e6a5f9b7131.js";import{$0b as w}from"./shared-init-96225b8c7758de9d.js";import{$2m as P}from"./shared-init-abd7653140f37a0c.js";import{$0D as T,$0a as $,$0c as N,$0k as R}from"./shared-init-abd7653140f37a0c.js";import{$1c as A,$1f as I,$1o as S}from"./shared-init-abd7653140f37a0c.js";import{$4a as L}from"./shared-init-abd7653140f37a0c.js";import{$3A as z,$3Q as e,$3R as B,$3S as h,$3b as x,$3c as F,$3p as O}from"./shared-init-abd7653140f37a0c.js";import{$2c as C,$2h as y}from"./shared-init-3fcac605fffcc273-2.js";function Ae({task:n,live:o}){let a=$(),t=T(),s=w(),f=w({leaves:!0}),[d,p]=y(""),[g,i]=y(!1),u=g||!!n.archivedAt,[v,k]=y(N().get("delete")==="1"),m=async l=>{p("");let c=await s.run(l,()=>A.tasks[l](n.task.id));return c&&p(l==="cancel"?"Stop requested.":"Archived."),c},b=()=>void f.run("delete",async()=>{await A.tasks.delete(n.task.id),a.push("/dash/[org]/tasks",{params:{org:t}})}).then(l=>l||k(!1)),r=()=>void m("archive").then(i);return e(C,{children:[e("span",{class:"flash",role:"status",children:d}),o?e(h,{variant:"outline",disabled:!!s.pending,loading:s.pending==="cancel",onClick:()=>void m("cancel"),children:"Stop"}):u?null:e(h,{variant:"outline",class:"archive",disabled:!!s.pending,loading:s.pending==="archive",onClick:r,children:"Archive"}),e(I,{summary:e(B,{d:z}),button:"icon",label:"More actions",children:[o&&!u?e(R,{title:"Archive",onClick:r}):null,e(R,{title:"Copy task id",onClick:()=>void navigator.clipboard.writeText(n.task.id).then(()=>P("Copied",n.task.id))}),e(R,{title:"Delete",danger:!0,onClick:()=>k(!0)})]}),e(Q,{open:v,title:"Delete this task?",body:"Its conversation, activity and diff go with it.",confirmLabel:"Delete",busy:!!f.pending,onConfirm:b,onClose:()=>k(!1)})]})}var Z=n=>n.approvals?.find(o=>!o.response)??(n.approvals?.some(o=>o.id===n.approval?.id)?void 0:n.approval),we=(n,o)=>{let a=Date.parse(o.createdAt??""),t=n.findIndex(s=>!s.finishedAt||s.finishedAt>=a);return t<0?n.length-1:t},K=({decision:n,by:o})=>n==="closed"?"Task stopped":`${n==="accept"?"Approved":"Denied"} ${o?`by ${o}`:"in Coder"}`;function q({actions:n,diff:o,note:a}){return e("details",{class:"approval-actions",children:[e("summary",{children:e("span",{children:[`${n.length} ${o?"change":"action"}${n.length===1?"":"s"}`,a?` \xB7 ${a}`:null]})}),o?e("pre",{class:"change-diff",children:n.flatMap(t=>t.split(`
2
2
  `)).map((t,s)=>e("span",{class:t.startsWith("+ ")?"add":t.startsWith("- ")?"del":void 0,children:t},s))}):e("ol",{children:n.map((t,s)=>e("li",{children:e("code",{children:t})},s))})]})}var D=({response:n})=>e("strong",{class:"decided",children:K(n)});function Ce({approval:n}){let o=n.response;return e(S,{title:"Approval needed",actions:e(D,{response:o}),children:e("div",{class:"body",children:[e("p",{class:"approval",children:n.reason}),e(q,{actions:n.actions,diff:!!n.change}),o.reason?e("p",{class:"decision",children:o.reason}):null]})})}function Be({approval:n}){let o=n.response;return e("div",{class:`turn decision ${o.decision}`,children:[e("p",{class:"who",children:K(o)}),o.reason?e("div",{class:"prose",children:o.reason}):null,e(q,{actions:n.actions,diff:!!n.change})]})}var G={agent:["This agent","applies to this agent"],workspace:["Workspace","applies to the workspace"],personal:["Personal","applies to you"]};function J({task:n,me:o}){let a=n.task.requestedBy&&n.task.requestedBy===o.user?.id?"you":n.task.context?.user?.name??(n.task.event?.actor?.login!==n.task.event?.actor?.id?n.task.event?.actor?.login:void 0);return e("span",{class:"asker",title:a?`${n.task.agent} asks, for ${a}`:`${n.task.agent} asks`,children:[e("span",{children:[e(B,{d:F}),n.task.agent]}),a?e("span",{children:[e(B,{d:O}),a]}):null]})}function V({task:n,me:o,reason:a,request:t,answered:s,queue:f,actions:d,admin:p,dialog:g,children:i}){let u=T(),v=t?"body request":"body";return f?e("li",{class:"queue-row",children:[e("details",{children:[e("summary",{children:[e("span",{class:"queue-ask",children:[e(J,{task:n,me:o}),a?e("span",{class:"queue-reason",children:a}):null]}),e("span",{class:"queue-task",children:[e(x,{href:"/dash/[org]/tasks/[id]",params:{org:u,id:n.task.id},children:H(n).split(`
3
3
  `)[0]}),p]})]}),e("div",{class:v,children:i})]}),d?e("span",{class:"queue-acts",children:d}):null,g]}):e(S,{tone:s?void 0:"accent",title:"Approval needed",actions:d,children:[e("div",{class:v,children:[e("p",{class:"approval",children:[e(J,{task:n,me:o}),a]}),p?e("p",{children:p}):null,i]}),g]})}function _({task:n,approval:o,me:a,queue:t}){let s=o.change,f=w({toast:"Not sent"}),d=f.pending,[p,g]=y(s.scope),[i,u]=y(),v=p==="agent"||(p==="personal"?a.user?.id===s.asker:U(a)),k=s.operation.kind==="act-as"?s.operation.user.name:void 0,m=i==="ask"||!!s.askedAdmin,b=k?`Only ${k} answers this.`:m?"Asked an admin. Only a workspace admin approves this.":"Only a workspace admin approves this. Ask one.",r=o.response??(i&&i!=="ask"?{decision:i,by:a.user?.name}:void 0),l=c=>{let M=f.run(c,()=>A.tasks.request(n.task.id,o.id,c,{scope:p}));t?.onSent(M),M.then(X=>X&&u(c))};return e(V,{task:n,me:a,reason:o.reason,request:!0,answered:!!r,queue:t,actions:r?e(D,{response:r}):e(C,{children:[e(h,{variant:"outline",size:"sm",disabled:!!d||!!(k&&!v),loading:d==="decline",onClick:()=>l("decline"),children:"Deny"}),v?e(h,{size:"sm",disabled:!!d,loading:d==="accept",onClick:()=>l("accept"),children:"Approve"}):e("span",{class:"approve-off",title:b,children:e(h,{size:"sm",disabled:!0,children:"Approve"})})]}),admin:v||r||k?void 0:e("span",{class:"admin-ask",children:["Only a workspace admin approves this."," ",m?"Asked an admin.":e("button",{type:"button",class:"link",disabled:!!d,onClick:()=>l("ask"),children:"Ask an admin"})]}),children:[s.scopes.length>1&&!r?e(E,{label:"Scope",options:s.scopes.map(c=>[c,G[c][0]]),value:p,onChange:c=>g(c)}):null,e(q,{actions:o.actions,diff:!0,note:s.scopes.length>1&&!r?void 0:G[p][1]})]})}function Re({task:n,me:o,queue:a}){let t=w({toast:"Not sent"}),s=t.pending,[f,d]=y(),[p,g]=y(),i=Z(n),{id:u,reason:v,actions:k}=i??{actions:[]},m=i?.response??(f?.id===u?f?.response:void 0),b=async(r,l)=>{let c=t.run(r,()=>A.tasks.approve(n.task.id,u??"",r,l?{reason:l}:{}));a?.onSent(c),await c&&d({id:u,response:{decision:r,by:o.user?.name,...l?{reason:l}:{}}})};return i?i.change?e(_,{task:n,approval:i,me:o,queue:a},i.id):e(V,{task:n,me:o,reason:v,answered:!!m,queue:a,actions:m?e(D,{response:m}):n.task.flow==="default"?e(C,{children:[e(h,{variant:"outline",size:"sm",disabled:!!s,loading:s==="decline",onClick:()=>g(u),children:"Deny"}),e(h,{size:"sm",disabled:!!s,loading:s==="accept",onClick:()=>void b("accept"),children:"Approve"})]}):void 0,dialog:e(L,{class:"deny-why",open:p===u&&!m,title:"Deny this request?",focus:"actions",busy:s==="decline",onSubmit:r=>{r.preventDefault();let l=new FormData(r.currentTarget).get("why");g(void 0),b("decline",String(l??"").trim())},onClose:()=>g(void 0),actions:e(h,{type:"submit",danger:!0,loading:s==="decline",children:"Deny"}),children:e(W,{label:"Why?",hint:"optional, the task reads it",children:e("input",{name:"why",placeholder:"Use the staging bucket instead",autocomplete:"off",autofocus:!0})})}),children:[e(q,{actions:k}),m?.reason?e("p",{class:"decision",children:m.reason}):null]}):null}export{Ae as a,Z as b,we as c,Ce as d,Be as e,Re as f};
@@ -0,0 +1,3 @@
1
+ "use client";import{a as Me,c as xe,d as Oe,e as Ce,f as Ie}from"./task-actions-0b3054dc0f8d17c0.js";import{a as ze,b as At}from"./instructions-7b274685ceb26457.js";import{a as Ee,e as Tt,f as q,j as we,k as lt,l as Te,m as Ae}from"./task-396d849e58e50d59.js";import"./types-3eca2c7f47c46054.js";import"./confirm-14d018653fbe50fc.js";import"./segmented-66a8c77c6294fec3.js";import"./field-adcb6e6a5f9b7131.js";import{$0b as wt}from"./shared-init-96225b8c7758de9d.js";import{$1a as Et,$1b as Se,$1d as $,$1e as ye,$1h as ke}from"./shared-init-96225b8c7758de9d.js";import{$2b as Xt,$2c as Zt,$2d as Qt,$2e as te,$2h as ee,$2j as fe,$2k as me,$2n as kt,$2o as ve,$2p as be}from"./shared-init-abd7653140f37a0c.js";import{$0B as pe,$0C as ge,$0D as yt,$0c as Ut,$0m as St}from"./shared-init-abd7653140f37a0c.js";import{$1a as Jt,$1c as P,$1e as Yt,$1f as de,$1k as he,$1o as rt,$1r as Y}from"./shared-init-abd7653140f37a0c.js";import"./wular-pnext-3fcac605fffcc273-0.js";import"./shared-init-abd7653140f37a0c.js";import{$3F as oe,$3G as re,$3J as le,$3K as ot,$3L as ae,$3M as ce,$3N as ue,$3Q as l,$3R as _,$3S as bt,$3b as Gt,$3c as se,$3d as gt,$3e as ne,$3h as nt,$3i as H,$3n as vt,$3s as ie,$3v as J,$3w as it}from"./shared-init-abd7653140f37a0c.js";import{$4b as Ht}from"./shared-init-3fcac605fffcc273-2.js";import"./shared-init-3fcac605fffcc273-2.js";import"./shared-init-3fcac605fffcc273-2.js";import{$2c as F,$2h as M,$2i as pt,$2j as W,$2k as st,$2l as z,$2m as K}from"./shared-init-3fcac605fffcc273-2.js";var is=()=>innerHeight+scrollY>=document.documentElement.scrollHeight-48,Mt=()=>scrollTo({top:document.documentElement.scrollHeight});function at(n=!1){let[a,t]=M(n),s=z(n);return s.current=a,W(()=>{let i=location.pathname,r=()=>t(s.current=is()),o=new ResizeObserver(()=>s.current&&location.pathname===i&&Mt());return o.observe(document.body),addEventListener("scroll",r,{passive:!0}),s.current&&Mt(),r(),()=>{o.disconnect(),removeEventListener("scroll",r)}},[]),{following:a,follow:()=>{s.current=!0,t(!0),Mt()}}}function _e(n,a,t){let s=new Array(n);return new Proxy(s,{get(e,i,r){if(typeof i=="string"){let o=i.charCodeAt(0);if(o>=48&&o<=57){let u=+i;if(Number.isInteger(u)&&u>=0&&u<n){let f=e[u];if(!f){let d=a[u*2];f=e[u]={index:u,key:t(u),start:d,size:a[u*2+1],end:d+a[u*2+1],lane:0}}return f}}if(i==="length")return n}return Reflect.get(e,i,r)}})}function j(n,a,t){let s=t.initialDeps??[],e,i=!0;function r(){var o;let f=0,d=n();if(!(d.length!==s.length||d.some((y,m)=>s[m]!==y)))return e;s=d;let h=0;return e=a(...d),t?.onChange&&!(i&&t.skipInitialOnChange)&&t.onChange(e),i=!1,e}return r.updateDeps=o=>{s=o},r}function xt(n,a){if(n===void 0)throw new Error(`Unexpected undefined${a?`: ${a}`:""}`);return n}var Re=(n,a)=>Math.abs(n-a)<1.01,De=(n,a,t)=>{let s;return function(...e){n.clearTimeout(s),s=n.setTimeout(()=>a.apply(this,e),t)}};var G,Ot=()=>{if(G!==void 0)return G;if(typeof navigator>"u")return G=!1;if(/iP(hone|od|ad)/.test(navigator.userAgent))return G=!0;let n=navigator.maxTouchPoints;return G=navigator.platform==="MacIntel"&&n!==void 0&&n>0};var os=n=>n,rs=n=>{let a=Math.max(n.startIndex-n.overscan,0),s=Math.min(n.endIndex+n.overscan,n.count-1)-a+1,e=new Array(s);for(let i=0;i<s;i++)e[i]=a+i;return e};var X={passive:!0},Le=(n,a)=>{let t=n.scrollElement;if(!t)return;let s=()=>{a({width:t.innerWidth,height:t.innerHeight})};return s(),t.addEventListener("resize",s,X),()=>{t.removeEventListener("resize",s)}},ls=typeof window>"u"?!0:"onscrollend"in window,as=(n,a,t)=>{let s=n.scrollElement;if(!s)return;let e=n.targetWindow;if(!e)return;let i=n.options.useScrollendEvent&&ls,r=0,o=i?null:De(e,()=>a(r,!1),n.options.isScrollingResetDelay),u=g=>()=>{r=t(s),o?.(),a(r,g)},f=u(!0),d=u(!1);return s.addEventListener("scroll",f,X),i&&s.addEventListener("scrollend",d,X),()=>{s.removeEventListener("scroll",f),i&&s.removeEventListener("scrollend",d)}};var Fe=(n,a)=>as(n,a,t=>n.options.horizontal?t.scrollX:t.scrollY),cs=(n,a,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(a?.borderBoxSize){let s=a.borderBoxSize[0];if(s)return Math.round(s[t.options.horizontal?"inlineSize":"blockSize"])}if(!a){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"]},us=(n,{adjustments:a=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+a,behavior:t})},We=us;var ct=class{constructor(a){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 o=i.target,u=this.indexFromElement(o);if(!o.isConnected){this.observer.unobserve(o);for(let[f,d]of this.elementsCache)if(d===o){this.elementsCache.delete(f);break}return}this.shouldMeasureDuringScroll(u)&&this.resizeItem(u,this.options.measureElement(o,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:os,rangeExtractor:rs,onChange:()=>{},measureElement:cs,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 y=t[h];y!==void 0&&(i[h]=y)}let r=this.options,o=null,u=null,f=!1;if(r!==void 0&&r.enabled&&i.enabled&&i.anchorTo==="end"&&this.scrollElement!==null){let h=r.count,y=i.count,m=this.getMeasurements(),w=h>0?((s=m[0])==null?void 0:s.key)??r.getItemKey(0):null,S=h>0?((e=m[h-1])==null?void 0:e.key)??r.getItemKey(h-1):null;if(y!==h||h>0&&y>0&&(i.getItemKey(0)!==w||i.getItemKey(y-1)!==S)){f=!0;let v=h>0?this.getVirtualItemForOffset(this.getScrollOffset())??m[0]:null;v&&(o=[v.key,this.getScrollOffset()-v.start]);let R=i.followOnAppend===!0?"auto":i.followOnAppend||null;R&&y>h&&this.isAtEnd(r.scrollEndThreshold)&&(h===0||i.getItemKey(y-1)!==S)&&(u=R)}}this.options=i,f&&(this.pendingMin=0,this.itemSizeCacheVersion++);let d=!1,g=0;if(o&&this.scrollOffset!==null){let[h,y]=o,m=this.getMeasurements(),{count:w,getItemKey:S}=this.options,k=0;for(;k<w&&S(k)!==h;)k++;if(k<w){let E=m[k];if(E){let v=E.start+y;v!==this.scrollOffset&&(g=v-this.scrollOffset,this.scrollOffset=v,d=!0)}}}(d||u)&&(this.pendingScrollAnchor=[d?o[0]:null,d?o[1]:0,u,g])},this.notify=t=>{var s,e;(e=(s=this.options).onChange)==null||e.call(s,this,t)},this.maybeNotify=j(()=>(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)},o=()=>{this._iosTouching=!1,!(!Ot()||this.targetWindow==null)&&(this._iosJustTouchEnded=!0,this._iosTouchEndTimerId=this.targetWindow.setTimeout(()=>{this._iosJustTouchEnded=!1,this._iosTouchEndTimerId=null,this._flushIosDeferredIfReady()},150))};i.addEventListener("touchstart",r,X),i.addEventListener("touchend",o,X),this.unsubs.push(()=>{i.removeEventListener("touchstart",r),i.removeEventListener("touchend",o),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,o,u]=e;i!==null&&!o&&(Ot()&&(this.isScrolling||this._iosTouching||this._iosJustTouchEnded)?u!==0&&(this._iosDeferredAdjustment+=u):this._scrollToOffset(this.getScrollOffset(),{adjustments:void 0,behavior:void 0})),o&&this.scrollToEnd({behavior:o})}},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 o=t[r];if(e.has(o.lane))continue;let u=i.get(o.lane);if(u==null||o.end>u.end?i.set(o.lane,o):o.end<u.end&&e.set(o.lane,!0),e.size===this.options.lanes)break}return i.size===this.options.lanes?Array.from(i.values()).sort((r,o)=>r.end===o.end?r.index-o.index:r.end-o.end)[0]:void 0},this.getMeasurementOptions=j(()=>[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,o,u)=>(this.prevLanes!==void 0&&this.prevLanes!==o&&(this.lanesChangedFlag=!0),this.prevLanes=o,this.pendingMin=null,{count:t,paddingStart:s,scrollMargin:e,getItemKey:i,enabled:r,lanes:o,laneAssignmentMode:u}),{key:!1}),this.getMeasurements=j(()=>[this.getMeasurementOptions(),this.itemSizeCacheVersion],({count:t,paddingStart:s,scrollMargin:e,getItemKey:i,enabled:r,lanes:o,laneAssignmentMode:u},f)=>{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 g=this.lanesSettling?0:this.pendingMin??0;if(this.pendingMin=null,this.lanesSettling&&this.measurementsCache.length===t&&(this.lanesSettling=!1),o===1){let m=this.options.gap,w=t*2,S=this._flatMeasurements;if(!S||S.length<w){let v=new Float64Array(w);S&&g>0&&v.set(S.subarray(0,g*2)),S=v,this._flatMeasurements=S}let k;if(g===0)k=s+e;else{let v=g-1;k=S[v*2]+S[v*2+1]+m}for(let v=g;v<t;v++){let R=i(v),C=d.get(R),x=typeof C=="number"?C:this.options.estimateSize(v);S[v*2]=k,S[v*2+1]=x,k+=x+m}let E=_e(t,S,i);return this.measurementsCache=E,E}let h=this.measurementsCache.slice(0,g),y=new Array(o).fill(void 0);for(let m=0;m<g;m++){let w=h[m];w&&(y[w.lane]=m)}for(let m=g;m<t;m++){let w=i(m),S=this.laneAssignments.get(m),k,E,v=u==="estimate"||d.has(w);if(S!==void 0&&this.options.lanes>1){k=S;let D=y[k],Z=D!==void 0?h[D]:void 0;E=Z?Z.end+this.options.gap:s+e}else{let D=this.options.lanes===1?h[m-1]:this.getFurthestMeasurement(h,m);E=D?D.end+this.options.gap:s+e,k=D?D.lane:m%this.options.lanes,this.options.lanes>1&&v&&this.laneAssignments.set(m,k)}let R=d.get(w),C=typeof R=="number"?R:this.options.estimateSize(m),x=E+C;h[m]={index:m,start:E,size:C,end:x,key:w,lane:k},y[k]=m}return this.measurementsCache=h,h},{key:!1,debug:()=>this.options.debug}),this.calculateRange=j(()=>[this.getMeasurements(),this.getSize(),this.getScrollOffset(),this.options.lanes],(t,s,e,i)=>this.range=t.length>0&&s>0?ds({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=j(()=>{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),o=Math.min(this.options.count-1,e+i);return t>=r&&t<=o}return!0},this.measureElement=t=>{if(!t){this.elementsCache.forEach((r,o)=>{r.isConnected||(this.observer.unobserve(r),this.elementsCache.delete(o))});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,o,u,f=this._flatMeasurements;if(this.options.lanes===1&&f!==null)u=this.options.getItemKey(t),o=f[t*2],r=f[t*2+1];else{let h=this.measurementsCache[t];if(!h)return;u=h.key,o=h.start,r=h.size}let d=this.itemSizeCache.get(u)??r,g=s-d;if(g!==0){let h=this.options.anchorTo==="end"&&((e=this.scrollState)==null?void 0:e.behavior)!=="smooth"&&this.getVirtualDistanceFromEnd()<=this.options.scrollEndThreshold,y=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:u,start:o,size:r,end:o+r,lane:0},g,this):o<this.getScrollOffset()+this.scrollAdjustments&&(!this.itemSizeCache.has(u)||this.scrollDirection!=="backward"));(this.pendingMin===null||t<this.pendingMin)&&(this.pendingMin=t),this.itemSizeCache.set(u,s),this.itemSizeCacheVersion++,h?this.applyScrollAdjustment(this.getTotalSize()-y):m&&this.applyScrollAdjustment(g),this.notify(!1)}},this.getVirtualItems=j(()=>[this.getVirtualIndexes(),this.getMeasurements()],(t,s)=>{let e=[];for(let i=0,r=t.length;i<r;i++){let o=t[i],u=s[o];e.push(u)}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=Ne(0,s.length-1,i?o=>e[o*2]:o=>xt(s[o]).start,t);return xt(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 o=this.getMaxScrollOffset();return Math.max(Math.min(o,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 o=s==="end"?r.end+this.options.scrollPaddingEnd:r.start-this.options.scrollPaddingStart;return[this.getOffsetForAlignment(o,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,o]=i,u=this.now();this.scrollState={index:t,align:o,behavior:e,startedAt:u,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(o=>o===null);){let o=s[r];i[o.lane]===null&&(i[o.lane]=o.end),r--}e=Math.max(...i.filter(o=>o!==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(a)}applyScrollAdjustment(a,t){a!==0&&(Ot()&&(this.isScrolling||this._iosTouching||this._iosJustTouchEnded)?this._iosDeferredAdjustment+=a:this._scrollToOffset(this.getScrollOffset(),{adjustments:this.scrollAdjustments+=a,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&&Re(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 o=this.getSize()||600,u=Math.abs(e-this.getScrollOffset()),f=this.scrollState.behavior==="smooth"&&u>o;this.scrollState.lastTargetOffset=e,f||(this.scrollState.behavior="auto"),this._scrollToOffset(e,{adjustments:void 0,behavior:f?"smooth":"auto"})}this.scheduleScrollReconcile()}},Ne=(n,a,t,s)=>{for(;n<=a;){let e=(n+a)/2|0,i=t(e);if(i<s)n=e+1;else if(i>s)a=e-1;else return e}return n>0?n-1:0};function ds({measurements:n,outerSize:a,scrollOffset:t,lanes:s,flat:e}){let i=n.length-1,r=e?d=>e[d*2]:d=>n[d].start,o=e?d=>e[d*2]+e[d*2+1]:d=>n[d].end;if(n.length<=s)return{startIndex:0,endIndex:i};let u=Ne(0,i,r,t),f=u;if(s===1)for(;f<i&&o(f)<t+a;)f++;else if(s>1){let d=Array(s).fill(0);for(;f<i&&d.some(h=>h<t+a);){let h=n[f];d[h.lane]=h.end,f++}let g=Array(s).fill(t+a);for(;u>=0&&g.some(h=>h>=t);){let h=n[u];g[h.lane]=h.start,u--}u=Math.max(0,u-u%s),f=Math.min(i,f+(s-1-f%s))}return{startIndex:u,endIndex:f}}var qe={assistant:oe,tool:ot,"tool-result":it,approval:vt,status:gt,error:le,line:gt,reasoning:ie,steer:re,usage:ne},hs=n=>!!(n.detail||n.result?.detail)||n.title.length>120||n.title.includes(`
2
+ `);function fs(n,a){let[,t]=pt(i=>i+1,0),s={count:n,estimateSize:()=>30,overscan:16,getScrollElement:()=>window,observeElementRect:Le,observeElementOffset:Fe,scrollToFn:We,scrollMargin:a.current?a.current.getBoundingClientRect().top+scrollY:0,onChange:()=>t(0)},[e]=M(()=>new ct(s));return e.setOptions(s),st(()=>e._didMount(),[]),st(()=>e._willUpdate()),e}function Ve(n){let[,a]=pt(t=>t+1,0);Yt(n?async()=>a(0):void 0,1e3)}function je(n,a){let t=n.findLastIndex(s=>s.kind==="assistant"||s.kind==="reasoning");return(s,e)=>a&&!s.result&&(s.state!==void 0||s.kind==="tool"&&e>t)}function ms({row:n,running:a}){Ve(a);let t=n.result,s=a?Math.max(0,Date.now()-n.at):t?.durationMs,e=[n.state,t&&!t.ok&&t.exitCode!==void 0?`exit ${t.exitCode}`:"",s?$(s):""].filter(Boolean).join(" \xB7 ");return l("span",{class:`act-state${t&&!t.ok?" bad":""}`,children:[a?l("i",{class:"spin"}):t?l(_,{d:t.ok?it:J}):null,e]})}function ps({row:n,tz:a,open:t,running:s,onToggle:e}){let i=z(null),[r,o]=M(!1);st(()=>{i.current&&o(i.current.scrollWidth>i.current.clientWidth)},[n.title]);let u=t||r||hs(n),f=n.tone==="error",d=n.kind==="tool"||n.state!==void 0,g=n.kind==="tool-result"?[n.tool,n.exitCode!==void 0?`exit ${n.exitCode}`:void 0,n.durationMs?$(n.durationMs):void 0].filter(Boolean).join(" \xB7 "):n.kind==="reasoning"&&n.durationMs?$(n.durationMs):"";return l("div",{class:`act ${n.kind}${n.tone?` ${n.tone}`:""}${d?" timed":""}${t?" open":""}${u?" fold":""}`,...u?{role:"button",tabIndex:0,"aria-expanded":t,onClick:()=>getSelection()?.isCollapsed!==!1&&e(),onKeyDown:h=>{h.key!=="Enter"&&h.key!==" "||(h.preventDefault(),e())}}:{},children:[l("time",{children:Se(n.at,a)}),l(_,{d:n.kind==="tool-result"&&f?J:qe[n.kind]}),l("span",{class:"act-text",children:[l("span",{class:"act-title",ref:i,children:n.title}),g?l("span",{class:"act-detail",children:g}):null,n.detail&&(t||!n.state)?l("span",{class:"act-detail",children:n.detail}):null,t&&n.result?.detail?l("span",{class:"act-detail",children:n.result.detail}):null]}),d?l(ms,{row:n,running:s}):null,u?l(_,{d:nt,class:"act-chev"}):null]})}function Pe({rows:n,live:a,tz:t,at:s}){let e=z(null),[i,r]=M(()=>new Set(typeof s=="number"?[s]:[])),{following:o,follow:u}=at(s===void 0?a:s==="end"),f=fs(n.length,e),d=je(n,a);return W(()=>{let g=n.findIndex(E=>E.seq===s);if(g<0||!e.current)return;let h=e.current.getBoundingClientRect().top+scrollY;f.setOptions({...f.options,scrollMargin:h}),scrollTo({top:f.getOffsetForIndex(g,"center")?.[0]??0});let y=60,m=0,w=0,S=()=>{cancelAnimationFrame(w);for(let E of["wheel","touchstart","keydown"])removeEventListener(E,S)},k=()=>{let E=e.current?.querySelector(".act-slot.at");if(E){let v=parseFloat(getComputedStyle(E).scrollMarginTop),R=document.querySelector("form.reply")?.getBoundingClientRect().top??innerHeight,C=E.getBoundingClientRect(),x=C.top-(C.height>R-v?v:(v+R-C.height)/2);Math.abs(x)<1?m++:scrollBy(0,x)}m<3&&--y?w=requestAnimationFrame(k):S()};for(let E of["wheel","touchstart","keydown"])addEventListener(E,S,{passive:!0});return w=requestAnimationFrame(k),S},[]),n.length?l(F,{children:[l("div",{class:"act-list",ref:e,style:`height:${f.getTotalSize()}px`,role:"log","aria-live":"off",children:f.getVirtualItems().map(g=>{let h=n[g.index];return l("div",{class:h.seq===s?"act-slot at":"act-slot","data-index":g.index,ref:f.measureElement,style:`transform:translateY(${g.start-f.options.scrollMargin}px)`,children:l(ps,{row:h,tz:t,open:i.has(h.seq),running:d(h,g.index),onToggle:()=>r(y=>{let m=new Set(y);return m.delete(h.seq)||m.add(h.seq),m})})},h.seq)})}),o?null:l("button",{type:"button",class:"jump",onClick:u,children:"Jump to latest"})]}):l("p",{class:"act-empty muted",children:a?"Nothing yet. Events appear here as the task runs.":"No activity recorded."})}var $e=new Set(["tool","tool-result","approval"]);function Ct(n,a){let t=n.filter(o=>o.kind==="tool").length,s=n.filter(o=>o.kind==="approval"&&o.result?.ok).length,e=n.filter(o=>o.kind==="approval"&&o.result?.ok===!1).length,i=n.filter(o=>o.kind==="tool"?o.result?.ok===!1:o.kind==="tool-result"&&o.tone==="error").length,r=n.reduce((o,u)=>o+(u.kind==="reasoning"?u.durationMs??0:0),0);return[t?`${t} tool ${t===1?"call":"calls"}`:"",s?`${s} approved`:"",e?`${e} denied`:"",i?`${i} failed`:"",r?`reasoning ${$(r)}`:"",a===void 0?"":$(a)].filter(Boolean).join(" \xB7 ")}function gs({row:n,running:a,onOpen:t}){let s=a&&n.state==="waiting",e=n.result?!n.result.ok:n.tone==="error",i=s?vt:n.result?n.result.ok?it:J:e?J:qe[n.kind];return l("button",{type:"button",class:`act step ${n.kind}${s||n.tone==="warning"?" warning":e?" error":""}`,onClick:t,children:[a&&!s?l("i",{class:"spin"}):l(_,{d:i}),l("span",{class:"act-text",children:[l("span",{class:"act-title",children:s?"Waiting for your approval":n.title}),s?l("span",{class:"act-detail",children:n.title}):null]},n.seq),l("span",{class:"act-state",children:a&&!s?n.state??"running":ye(n.at+(n.result?.durationMs??0))}),l(_,{d:H,class:"act-chev"})]})}function Be({rows:n,startedAt:a,onOpen:t}){Ve(!0);let s=je(n,!0),e=n.findIndex(d=>$e.has(d.kind)),r=[...(e<0?n:n.slice(0,e)).filter(d=>d.kind==="status"||d.kind==="error").map(d=>({row:d,running:!1})),...n.flatMap((d,g)=>$e.has(d.kind)?[{row:d,running:s(d,g)}]:[])],o=r.filter(d=>d.running&&d.row.state==="waiting"),u=r.filter(d=>!o.includes(d)),f=[...o,...u.slice(Math.max(0,u.length-2+o.length))].slice(0,2);return l("div",{class:"body run",children:[l("button",{type:"button",class:"act run-sum",onClick:()=>t("end"),children:[Ct(n,a===void 0?void 0:Date.now()-a),l(_,{d:H,class:"act-chev"})]}),l("div",{class:r.length>f.length?"run-steps earlier":"run-steps",children:f.map((d,g)=>l(gs,{...d,onOpen:()=>t(d.row.seq)},g))}),l(Y,{inline:!0,dots:!0,label:"The result appears here when the task finishes."})]})}var Ke=n=>n.split("/")[1]??n;function ut(n,a){if(typeof n=="string")return n;if(!n||typeof n!="object")return a;let t=n;for(let s of["output","answer","message"])if(typeof t[s]=="string")return t[s];return a}function vs(n,a,t){let{event:s}=n.task;return ee(a)??(t&&s?.actor&&a===s.text?[{author:s.actor.login!==s.actor.id?s.actor.login??"":"",text:a}]:[{author:"Prompt",text:a}])}var He=(n,a)=>n.logSeq!==void 0?a.seq<n.logSeq:n.finishedAt===void 0||a.at<=n.finishedAt;function bs(n,a){let t=n.map(()=>[]);for(let s of a){let e=s.entry?.kind==="reply"?s.entry.message:void 0;if(!e)continue;let i=n.findIndex(r=>He(r,s));t.at(i).push(e)}return t}function Je(n){return n.trim().replace(/^`+|`+$/g,"").trim()===Xt}function Ss({value:n,required:a}){let t=ut(n,"Result received.");if(Je(t))return l("p",{class:"body muted",children:a?Qt:Zt});let s;if(/^\s*[[{]/.test(t))try{s=JSON.parse(t)}catch{}return s&&typeof s=="object"?l("pre",{class:"body json",children:JSON.stringify(s,null,2)}):l("div",{class:"body md",children:At(t)})}function ys(){let n=Ut(),a=yt();return l(pe,{href:"/dash/[org]/tasks",params:{org:a},label:"Tasks",back:n.get("back")})}function ks({task:n,tz:a}){let t=yt(),s=q(n),e=Te(n),i=n.task.event?.integration??n.task.source,r=n.task.event?.type??(n.task.flow!=="default"?n.task.flow:void 0),o=K(()=>lt(n).split(`
3
+ `)[0],[n.task,n.turns]);return l(ge,{back:l(ys,{}),title:o,meta:l(F,{children:[l(fe,{status:n.status,approvals:n.approvals}),n.archivedAt?l(he,{children:"archived"}):null,n.task.access==="read-only"?l(me,{}):null]}),lead:l(F,{children:[l("span",{class:"fact",title:`Created ${Et(n.createdAt,a)}`,children:[l(_,{d:ce}),Et(n.createdAt,a,!0),n.startedAt&&n.finishedAt?`, ran ${$(n.finishedAt-n.startedAt)}`:null]}),l("span",{class:"fact",title:"Source",children:[l(_,{d:n.task.event?ue:ot}),r?`${Tt(i)} ${r}`:Tt(i)]}),n.task.cwd?l("span",{class:"fact",title:n.task.cwd,children:[l(_,{d:ae}),Ae(n.task.cwd)]}):null,l("span",{class:"fact",children:[l(Gt,{class:"agent-link",href:"/dash/[org]/agents/[slug]",params:{org:t,slug:n.task.agent},search:{back:`/dash/${t}/tasks/${n.task.id}`},children:[l(_,{d:se}),n.task.agent]}),e?l("span",{class:"fact-dim",title:"Engine, model and effort",children:e}):null]})]}),actions:l(Me,{task:n,live:s})})}function Es(n){let a=z();return K(()=>{let t=a.current??={log:new te,rows:[],seen:0};for(let s of n.slice(t.seen))for(let e of t.log.reduce(s))e.seq>(t.rows.at(-1)?.seq??-1)?t.rows.push(e):t.rows[t.rows.findLastIndex(({seq:i})=>i===e.seq)]=e;return t.seen=n.length,[...t.rows]},[n])}function kn({initial:n,tz:a,me:t}){let s=Ht(a),[e,i]=M(n),[r,o]=M(n.logs??[]),[u,f]=M((n.logs?.length??0)<ws),[d,g]=M("conversation"),[h,y]=M(),[m,w]=M([]),[S,k]=M(0),E=z(e.answer?.length??0),[v,R]=M(!1),C=z(n.logs?.at(-1)?.seq??-1),x=z(null),D=z(null);W(()=>{let c=D.current,p=c?.closest(".page");if(!c||!p)return;let b=new ResizeObserver(()=>p.style.setProperty("--reply",`${c.offsetHeight}px`));return b.observe(c),()=>b.disconnect()},[e.task.flow]);let{follow:Z}=at(),It=wt({toast:"Not sent"}),Ye=wt({toast:"Not sent"}),dt=!!It.pending,I=q(e),zt=e.task.flow==="default",_t=Es(r);W(()=>ve(e.task.id,e.status,lt(e)),[e.status]);let Rt=z([]),Ue=c=>{let p=c.filter(b=>b.seq>C.current);p.length&&(C.current=p.at(-1).seq,Rt.current.push(...p)===p.length&&setTimeout(()=>{let b=Rt.current.splice(0);o(A=>[...A,...b])}))};W(()=>{I&&zt&&x.current?.focus()},[]);let[Dt,Ge]=M(!0);W(()=>{let c=()=>Ge(document.visibilityState==="visible");return c(),addEventListener("visibilitychange",c),()=>removeEventListener("visibilitychange",c)},[]);let[ht,Q]=M(I||!u),[Xe,Ze]=M(0),Lt=()=>{f(!1),Q(!0),Ze(c=>c+1)},[Ft,Qe]=M(0),B=z(0);B.current=Ft;let ft=()=>{let c=B.current;P.tasks.get(e.task.id).then(({logs:p,...b})=>{B.current===c&&(i(b),q(b)&&Q(!0))}).catch(p=>kt("Task not refreshed",ke(p)))},ts=()=>{ft(),ht||Lt()},Wt=()=>{let c=++B.current;Qe(c),Q(!0),P.tasks.get(e.task.id).then(({turns:p})=>{B.current===c&&i(b=>q(b)?{...b,turns:p}:b)}).catch(p=>console.error("coder dashboard: task turns",p))};be(c=>{if(c.id!==e.task.id||c.deleted)return;I&&!q(c)&&ft();let p=I&&e.startedAt!==void 0&&c.startedAt!==e.startedAt;q(c)&&(!I||p)&&Wt(),!I&&!q(c)&&c.finishedAt!==e.finishedAt&&(ft(),Lt()),i(b=>({...b,status:c.status,approval:c.approval??void 0,approvals:c.approvals??void 0,archivedAt:c.archivedAt,startedAt:c.startedAt,finishedAt:c.finishedAt,...c.result===void 0?{}:{result:c.result??void 0,error:c.error??void 0,answer:c.answer??void 0}}))},ts),W(()=>{if(!ht||!Dt)return;let c=new AbortController;return(async()=>{for(;!c.signal.aborted;){try{let b=await P.tasks.stream(e.task.id,C.current,c.signal);if(!b.ok||!b.body){kt("Live updates stopped","Reload the page to see new activity.");return}for await(let A of Jt(b.body)){if(c.signal.aborted)return;if(A.event==="log")Ue([JSON.parse(A.data)]);else if(A.event==="caught-up")f(!0);else if(A.event==="end")return f(!0),Q(!1)}}catch(b){if(c.signal.aborted)return;console.error("coder dashboard: task stream",b)}await new Promise(b=>setTimeout(b,1e3))}})(),()=>c.abort()},[ht,Dt,Ft,Xe]);let O=e.turns??[{prompt:e.task.prompt??e.task.event?.text??lt(e),result:e.result,error:e.error,finishedAt:e.finishedAt}],Nt=K(()=>O.map((c,p)=>({messages:vs(e,c.prompt,p===0),required:we(e,c.prompt)})),[O,e.task]),es=K(()=>bs(O,r),[O,r]),$t=O.findIndex(c=>!u&&(!r.length||He(c,r.at(-1)))),qt=$t<0?O:O.slice(0,$t),ss=(e.approvals??[]).filter(c=>c.response),Vt=async()=>{let c=x.current?.value.trim();if(!c||dt)return;let p=I?v?"ask":"steer":"continue";if(Z(),p==="ask"){x.current.value="",w(A=>[...A,{kind:p,text:c,turn:O.length-1}]),k(A=>A+1),g("conversation"),Ye.run(p,()=>P.tasks.ask(e.task.id,c)).then(A=>{k(L=>L-1),A||w(L=>L.filter(N=>N.text!==c||N.kind!==p))});return}await It.run(p,()=>P.tasks.steer(e.task.id,c))&&(x.current.value="",p==="continue"?(Wt(),i(A=>({...A,status:"queued",result:void 0,error:void 0,startedAt:void 0,finishedAt:void 0,turns:[...O.map((L,N)=>N===O.length-1?{...L,finishedAt:L.finishedAt??Date.now()}:L),{prompt:c}]}))):(w(A=>[...A,{kind:p,text:c,turn:O.length-1}]),tt()))},tt=c=>{y(c),g("activity")},jt=l(bt,{variant:"ghost",size:"sm",rightIcon:H,onClick:()=>tt("end"),children:"Activity"}),Pt=_t.filter(c=>c.at>=(e.startedAt??0)),mt=!I&&e.startedAt&&e.finishedAt?l("p",{class:"run-foot",children:[Ct(Pt,e.finishedAt-e.startedAt),jt]}):null,Bt=c=>{R(c),setTimeout(()=>x.current?.focus())};return l(F,{children:[l(ks,{task:e,tz:s}),e.fallbacks?.map((c,p)=>l("p",{class:"flash",role:"status",children:[Ke(c.model)," was unavailable. ",c.detail," This task is using"," ",Ke(c.next),c.next===c.model?" on another credential":"","."]},p)),l("nav",{class:"tabs",role:"tablist","aria-label":"Task",children:Ee.map(c=>{let p=c.toLowerCase();return l("button",{type:"button",role:"tab","aria-selected":d===p,"aria-current":d===p?"page":void 0,onClick:()=>p==="activity"?tt():g(p),children:c},p)})}),d==="activity"?l(Pe,{rows:_t,live:I,tz:s,at:h}):l(F,{children:[l(Ie,{task:e,me:t}),l("div",{class:"convo",children:[qt.map((c,p)=>{let b=p===O.length-1,A=es[p],L=A.length>0&&Je(ut(c.result,""))?null:l(Ss,{value:c.result,required:Nt[p].required}),N=c.approval?e.approvals?.find(T=>T.id===c.approval):void 0;return l(F,{children:[N?l(Ce,{approval:N}):null,(N?[]:Nt[p].messages).map((T,V)=>l("div",{class:"turn prompt",children:[T.author?l("p",{class:"who",children:T.author}):null,l(ze,{class:"prose",children:T.text})]},`p${V}`)),b?(e.answer??[]).slice(0,E.current).map((T,V)=>l("div",{class:"turn answer",children:[l("p",{class:"who",children:"Answer"}),l("div",{class:"prose",children:ut(T,"Answer received.")})]},`a${V}`)):null,A.map((T,V)=>l("div",{class:"turn reply",children:[l("p",{class:"who",children:e.task.agent}),l("div",{class:"prose md",children:At(T)})]},`r${V}`)),m.filter(T=>T.turn===p).map((T,V)=>{let et=T.kind==="ask"?m.filter(ns=>ns.kind==="ask").indexOf(T):-1,Kt=et<0?void 0:e.answer?.[E.current+et];return l("div",{class:et<0?"turn you":"turn you qa",children:[l("p",{class:"who",children:T.kind==="ask"?"You asked":"You steered"}),l("div",{class:"prose",children:T.text}),et<0?null:l("div",{class:"answer",children:[l("p",{class:"who",children:"Answer"}),Kt===void 0?l(Y,{inline:!0,dots:!0,label:"Answering without interrupting the run."}):l("div",{class:"prose",children:ut(Kt,"Answer received.")})]})]},V)}),ss.filter(T=>xe(O,T)===p).map(T=>l(Oe,{approval:T},T.id)),c.result&&(L||b&&mt)?l(rt,{title:"Result",children:[L,b?mt:null]}):b&&I?l(rt,{title:"Result",actions:jt,children:l(Be,{rows:Pt,startedAt:e.startedAt,onOpen:tt})}):null,c.error?l(rt,{tone:"danger",title:"Error",children:[l("div",{class:"body prose",children:c.error}),b&&!c.result?mt:null]}):null]},p)}),qt.length<O.length?l(Y,{label:"Loading the conversation."}):null]})]}),zt?l("form",{ref:D,class:"reply",onSubmit:c=>{c.preventDefault(),Vt()},children:l("div",{class:"reply-box",children:[I?l(de,{summary:l(F,{children:[v?"Ask":"Steer",l(_,{d:nt})]}),summaryClass:"mode",label:"Send as",align:"up",wide:!0,children:[l(St,{on:!v,onPick:()=>Bt(!1),sub:"Change course while it works.",children:"Steer"}),l(St,{on:v,onPick:()=>Bt(!0),sub:"A question that does not interrupt it.",children:"Ask"})]}):null,l("textarea",{ref:x,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:c=>{c.key!=="Enter"||c.shiftKey||c.isComposing||(c.preventDefault(),Vt())}}),l(bt,{type:"submit",size:"sm",disabled:dt,"aria-busy":dt||S>0,children:"Send"})]})}):l("p",{class:"muted no-reply",children:"This flow takes no follow-ups."})]})}var ws=500;export{kn as TaskView};
@@ -1 +1 @@
1
- "use client";import{b as N,f as te}from"./task-actions-5917357eac6504ca.js";import{a as ct}from"./agent-pills-9f6fa120182db948.js";import{a as Xt}from"./tail-d13c4cc0cf11ffd1.js";import{b as Qt}from"./composer-92553de43276510b.js";import"./composer-data-890f71bade4f0616.js";import{b as Ht,c as jt,d as Gt,e as at,f as dt,g as Kt,h as Vt,i as Wt,k as Yt,l as Jt,m as Zt}from"./task-423e6a3f2527f534.js";import"./connect-repositories-226bf70aa81c29d8.js";import"./shared-init-b42d2c06c25d1e2b.js";import"./shared-init-b42d2c06c25d1e2b.js";import"./model-options-d29e934a3de20ab4.js";import"./types-3eca2c7f47c46054.js";import"./segmented-f646bfa8aa0aa449.js";import{a as zt}from"./confirm-d6b2c5b1deccd1e8.js";import"./field-4d374d5ed3f43d7e.js";import{$1b as Ut}from"./shared-init-953965859f7bf6b9.js";import{$0a as Bt,$0c as $t,$0d as Ft,$0f as W}from"./shared-init-953965859f7bf6b9.js";import"./back-2d67134b122334f4.js";import{$4j as _t,$4p as qt}from"./shared-init-926144b364908b3c.js";import{$0D as it,$0a as wt,$0k as x,$0t as It,$0u as Lt,$0v as xt,$0w as Nt,$0x as Ot}from"./shared-init-926144b364908b3c.js";import{$3c as S,$3f as Rt,$3k as rt,$3o as V,$3q as st,$3s as Et,$3v as Mt}from"./shared-init-926144b364908b3c.js";import"./wular-pnext-9b28886f3cbe0ed3-0.js";import"./shared-init-926144b364908b3c.js";import{$2A as Tt,$2B as Ct,$2K as At,$2L as Dt,$2M as St,$2N as Pt,$2Q as t,$2R as H,$2S as K,$2b as bt,$2c as ot,$2l as vt}from"./shared-init-926144b364908b3c.js";import{$1b as kt}from"./shared-init-9b28886f3cbe0ed3-2.js";import"./shared-init-9b28886f3cbe0ed3-2.js";import"./shared-init-9b28886f3cbe0ed3-2.js";import{$3b as b,$3c as M,$3d as yt,$3h as T,$3j as z,$3k as nt,$3l as w}from"./shared-init-9b28886f3cbe0ed3-2.js";var ue=Symbol.for("pnext.dynamic");function ne(n,r={},d){let a=null,p=null,s=!1,c=typeof n=="string"?()=>{throw new Error(`dynamic(${JSON.stringify(n)}) was not compiled by PNext.`)}:n,h=()=>(p??=Promise.resolve(c()).then(i=>(a=typeof i=="function"?i:i.default,a)),p);function v(i){let m=w(null),[A,k]=T(0);if(nt(()=>{m.current?.hasAttribute("data-pnext-loading")&&k(1)},[]),a)return b("pnext-dynamic",{key:A,ref:m,style:ee},b(a,i));let C=r.loading;if(s)return b("pnext-dynamic",{ref:m,style:ee,"data-pnext-loading":""},C?b(C,i):null);throw typeof window>"u"?h().then(()=>{},()=>{s=!0}):h()}function l(i){let[m,A]=T(null),[k,C]=T(()=>r.load!=="visible"),g=w(null);if(nt(()=>{a&&A(()=>a)},[]),z(()=>{if(m||k)return;let P=g.current;if(!P||typeof IntersectionObserver>"u"){C(!0);return}let R=new IntersectionObserver(J=>{J.some(_=>_.isIntersecting)&&(R.disconnect(),C(!0))},{rootMargin:r.rootMargin,threshold:r.threshold});return R.observe(P),()=>R.disconnect()},[m,k]),z(()=>{if(m||!k)return;let P=!1;return h().then(R=>{P||A(()=>R)}),()=>{P=!0}},[m,k]),m)return b(m,i);let I=r.loading;return r.load==="visible"?b("div",{ref:g},I?b(I,i):null):I?b(I,i):null}let D=r.ssr===!1||r.load==="visible"?l:i=>typeof window>"u"?b(v,i):b(lt,{fallback:r.loading?b(r.loading,i):null},b(v,i));return D[ue]={load:h,target:d},D}var ee={display:"contents"},pe=32,lt=class extends yt{__c(r,d){this.setState({waiting:!0,held:(d.__u&pe)!==0}),r.then(()=>this.setState({waiting:!1}))}componentDidCatch(r){if(!(r instanceof Promise))throw r;this.__c(r,this.__v.__k[0])}shouldComponentUpdate(r,d){return!(d.waiting&&d.held)}render(){return this.state.waiting&&!this.state.held?this.props.fallback:this.props.children}};var oe=3;function re({rows:n,me:r}){let[d,a]=T([]),[p,s]=T(!1),c=n.filter(l=>!d.includes(l.task.id)&&N(l));if(!c.length)return null;let h=p?c:c.slice(0,oe),v=l=>D=>{a(i=>[...i,l]),D.then(i=>i||a(m=>m.filter(A=>A!==l)))};return t(V,{tone:"accent",title:"Pending approvals",count:c.length,actions:c.length>oe?t(K,{variant:"secondary",size:"sm",onClick:()=>s(!p),children:p?"Show fewer":`Show all ${c.length}`}):void 0,children:t("ul",{class:p?"approval-queue scroll-box":"approval-queue",children:h.map(l=>t(te,{task:l,me:r,queue:{onSent:v(l.task.id)}},l.task.id))})})}var me=ne(()=>import("./composer-4a46a458495ce3ba.js").then(n=>n.NewTaskButton),{loading:()=>t(K,{class:"new-task",leftIcon:Ct,disabled:!0,children:"New task"})}),fe={dashboard:vt,cli:At,schedule:St},ie=n=>fe[n]??Pt,se=200;function he(n,r,d){if(n===void 0)return"Not available";let a=Math.round((r-n)/6e4);return a<1?"just now":a<60?`${a} min ago`:a<1440?`${Math.round(a/60)} h ago`:$t(n,d)}function ge({task:n,brand:r,back:d,scoped:a,tz:p,now:s,onDone:c}){let h=it(),v=dt(n)&&n.startedAt!==void 0?s-n.startedAt:n.lastTurnMs,l=n.task.event?.integration??n.task.source??"dashboard",D=n.task.event?.type??(n.task.flow==="default"?void 0:n.task.flow);return t("tr",{children:[t("td",{children:[t(bt,{class:"cover",href:"/dash/[org]/tasks/[id]",params:{org:h,id:n.task.id},search:d?{back:d}:void 0,children:Yt(n)}),t("span",{class:"sub",children:[a?null:t(M,{children:[t(H,{d:ot}),n.task.agent]}),D,n.task.cwd?t("span",{title:n.task.cwd,children:[t(H,{d:Dt}),Zt(n.task.cwd)]}):null].filter(Boolean).map((i,m)=>t(M,{children:[m?" \xB7 ":null,i]},m))})]}),t("td",{children:t(_t,{status:n.status,approvals:n.approvals})}),t("td",{class:"model",title:Jt(n),children:n.model??n.task.usage?.model??n.task.definition?.model}),t("td",{class:"when",title:Bt(n.lastActivityAt,p),children:he(n.lastActivityAt,s,p)}),t("td",{class:"num",children:n.startedAt===void 0?null:Ft(v)}),t("td",{children:[t("span",{class:"source",title:at(l),children:[r?t(ct,{brand:r}):t(H,{d:ie(l)}),at(l)]}),t("span",{class:"row-acts",children:t(ye,{task:n,onDone:c})})]})]})}function ye({task:n,onDone:r}){let d=Ut(),[a,p]=T(!1),s=N(n),c=(h,v)=>void d.run(h,()=>h==="approve"?S.tasks.approve(n.task.id,s?.id??"",v??"decline"):h==="delete"?S.tasks.delete(n.task.id):S.tasks[h](n.task.id)).then(l=>{l&&r(h),p(!1)});return t(M,{children:[t(Rt,{summary:t(H,{d:Tt}),button:"icon",label:"Task actions",align:"right",children:[s?t(x,{title:"Approve",onClick:()=>c("approve","accept")}):null,s?t(x,{title:"Deny",onClick:()=>c("approve","decline")}):null,dt(n)?t(x,{title:"Stop",onClick:()=>c("cancel")}):null,n.archivedAt?null:t(x,{title:"Archive",onClick:()=>c("archive")}),t(x,{title:"Delete",danger:!0,onClick:()=>p(!0)})]}),t(zt,{open:a,title:"Delete this task?",body:"Its conversation, activity and diff go with it.",confirmLabel:"Delete",busy:d.pending==="delete",onConfirm:()=>c("delete"),onClose:()=>p(!1)})]})}function fn({first:n,platforms:r,brands:d={},agents:a=[],filters:p,agent:s,head:c,missing:h,pendingApprovals:v,me:l,tz:D,now:i}){let m=kt(D),A=it(),{values:k,set:C,query:g}=Lt(p),I=It(p),P=s?`&agent=${encodeURIComponent(s)}`:"",R=s?`/dash/${A}/agents/${encodeURIComponent(s)}/tasks`:`/dash/${A}/tasks`,J=g||s?`${R}${g?`?${g}`:""}`:void 0,_={limit:Mt,summary:!0,counts:!0,...jt(k),agent:s??k.agent},ut=[{key:"status",label:"Status",options:Ht,inline:!0},{key:"source",label:"Source",options:[...Gt,...r],icon:e=>d[e]?t(ct,{brand:d[e]}):ie(e)}];s||ut.push({key:"agent",label:"Agent",options:a,icon:()=>ot,search:(e,u)=>S.agents.list({cursor:"",limit:u,q:e}).then(o=>o.items.map(y=>[y.id,y.name]))});let O=Et({name:`tasks${P}`,fetchPage:e=>S.tasks.list({..._,cursor:e}),query:g,first:n,initial:I}),[L,j]=T({rows:{},added:[]}),[pt,ae]=T({query:g,ids:[]}),de=pt.query===g?pt.ids:[],q=e=>ae(u=>({query:g,ids:e(u.query===g?u.ids:[])})),Z=Vt(O.rows,L.query===g?L.added:[],L.rows).filter(e=>!de.includes(e.task.id)),E=(L.query===g?L.counts:void 0)??O.meta.counts,B=w(),$=w(!1),Q=w(!1),mt=w(),ft=w(!1),X=w(0),F=w(0),G=w({}),U=()=>{if(document.visibilityState==="hidden")return void(Q.current=!0);if(B.current)return void($.current=!0);let e=B.current=Date.now(),u=F.current;S.tasks.list({..._,cursor:""}).then(o=>{F.current===u&&(j(y=>({rows:{...y.rows,...Object.fromEntries(o.items.filter(f=>(G.current[f.task.id]??0)<=e).map(f=>[f.task.id,{...y.rows[f.task.id],...f}]))},added:Kt(y.query===g?y.added:[],o.items),counts:o.counts,query:g})),X.current=0)}).catch(()=>{X.current++,$.current=!0}).finally(()=>{if(!ft.current){if(!$.current)return void(B.current=void 0);$.current=!1,mt.current=setTimeout(()=>{B.current=void 0,tt.current()},Math.min(3e4,1e3*2**X.current))}})},tt=w(U);tt.current=U,z(()=>{let e=()=>{document.visibilityState!=="visible"||!Q.current||(Q.current=!1,tt.current())};return addEventListener("visibilitychange",e),()=>{removeEventListener("visibilitychange",e),clearTimeout(mt.current),ft.current=!0}},[]);let ce=wt(),le=()=>{F.current++,G.current={},j({rows:{},added:[]}),q(()=>[]),ce.refresh()},ht=e=>{let u=Z.find(o=>o.task.id===e.id);if(!u){e.deleted||e.archivedAt&&k.status!=="archived"?q(o=>[...o,e.id]):q(o=>o.includes(e.id)?o.filter(y=>y!==e.id):o),j(o=>{let{[e.id]:y,...f}=o.rows;return y?{...o,rows:f}:o}),(e.deleted||(s||k.agent||e.agent)===e.agent)&&U();return}if(G.current[e.id]=Date.now(),B.current&&($.current=!0),(e.deleted||e.status!==u.status||!!e.archivedAt!=!!u.archivedAt||!!N(u)!=!!N({approval:e.approval,approvals:e.approvals}))&&U(),e.deleted||e.archivedAt&&k.status!=="archived")return q(o=>[...o,e.id]);j(o=>{let y=o.rows[e.id]??u;return{...o,rows:{...o.rows,[e.id]:{...y,status:e.status,approval:e.approval??void 0,approvals:e.approvals??void 0,archivedAt:e.archivedAt,startedAt:e.startedAt,finishedAt:e.finishedAt}}}})},et=w({since:n.items.reduce((e,u)=>Math.max(e,u.updatedAt),0)||i}),gt=()=>{if(document.visibilityState==="hidden")return;let e=Date.now(),u=F.current;S.tasks.list({...et.current,limit:se,agent:_.agent,source:_.source,archived:_.archived}).then(o=>{if(F.current!==u)return;let y=Wt(o,et.current,G.current,e);et.current=y.cursor;for(let f of y.rows)ht({id:f.task.id,agent:f.task.agent,status:f.status,approval:f.approval,approvals:f.approvals,archivedAt:f.archivedAt,createdAt:f.createdAt,startedAt:f.startedAt,finishedAt:f.finishedAt});o.length===se&&gt()}).catch(o=>console.error("coder dashboard: task resync",o))};return qt(ht,le,gt),t(M,{children:[t(Nt,{head:c,action:c?t(me,{}):void 0,children:[t(xt,{value:k.q,label:"Search tasks",onInput:e=>C("q",e,250)}),t(Ot,{name:"tasks",facets:ut,values:k,onChange:C})]}),h?t(Qt,{}):null,v?.length?t(re,{rows:v.map(e=>L.rows[e.task.id]??e),me:l}):null,t(V,{title:"Tasks",count:E?W(E.all):void 0,actions:E?t(M,{children:[E.active?t(rt,{tone:"acc",onClick:()=>C("status","active"),children:[W(E.active)," active"]}):null,E.waiting?t(rt,{tone:"warn",onClick:()=>C("status","waiting"),children:[W(E.waiting)," awaiting approval"]}):null]}):void 0,children:[Z.length?t("div",{class:"table-scroll",children:t("table",{class:"rows tasks stacked","aria-busy":O.stale,children:[t("thead",{children:t("tr",{children:[t("th",{children:"Task"}),t("th",{children:"Status"}),t("th",{class:"model",children:"Model"}),t("th",{children:"Last activity"}),t("th",{class:"num",children:"Duration"}),t("th",{children:"Source"})]})}),t("tbody",{children:Z.map(e=>t(ge,{task:e,brand:d[e.task.event?.integration??e.task.source],back:J,scoped:!!s,tz:m,now:Date.now(),onDone:u=>{(u==="delete"||u==="archive"&&k.status!=="archived")&&q(o=>[...o,e.task.id]),U()}},e.task.id))})]})}):O.stale?null:g?t(st,{title:"No tasks match",children:"Try another search or filter."}):t(st,{title:"No tasks yet",children:s?"Tasks appear here as this agent runs.":"Start one with New task. Tasks from the dashboard, the CLI and platforms like GitHub show up here, newest first."}),t(Xt,{noun:"tasks",...O})]})]})}export{fn as TasksList};
1
+ "use client";import{b as N,f as te}from"./task-actions-0b3054dc0f8d17c0.js";import{a as ct}from"./agent-pills-54564413a57d7fa7.js";import{a as Xt}from"./tail-40f16e09eade7eee.js";import{b as Qt}from"./composer-198b844da57b82a3.js";import"./composer-data-b05f3d93fdc472d7.js";import{b as Ht,c as jt,d as Gt,e as at,f as dt,g as Kt,h as Vt,i as Wt,k as Yt,l as Jt,m as Zt}from"./task-396d849e58e50d59.js";import"./connect-repositories-5118edc019fc7890.js";import"./shared-init-96cde32cd50254c0.js";import"./shared-init-96cde32cd50254c0.js";import"./model-options-5e07b3318d69d218.js";import"./types-3eca2c7f47c46054.js";import{a as zt}from"./confirm-14d018653fbe50fc.js";import"./segmented-66a8c77c6294fec3.js";import"./field-adcb6e6a5f9b7131.js";import{$0b as Ut}from"./shared-init-96225b8c7758de9d.js";import{$1a as Bt,$1c as $t,$1d as Ft,$1f as W}from"./shared-init-96225b8c7758de9d.js";import"./back-ba5e4340a9f8bbd2.js";import{$2j as _t,$2p as qt}from"./shared-init-abd7653140f37a0c.js";import{$0D as it,$0a as wt,$0k as x,$0t as It,$0u as Lt,$0v as xt,$0w as Nt,$0x as Ot}from"./shared-init-abd7653140f37a0c.js";import{$1c as S,$1f as Rt,$1k as rt,$1o as V,$1q as st,$1s as Et,$1v as Mt}from"./shared-init-abd7653140f37a0c.js";import"./wular-pnext-3fcac605fffcc273-0.js";import"./shared-init-abd7653140f37a0c.js";import{$3A as Tt,$3B as Ct,$3K as At,$3L as Dt,$3M as St,$3N as Pt,$3Q as t,$3R as H,$3S as K,$3b as bt,$3c as ot,$3l as vt}from"./shared-init-abd7653140f37a0c.js";import{$4b as kt}from"./shared-init-3fcac605fffcc273-2.js";import"./shared-init-3fcac605fffcc273-2.js";import"./shared-init-3fcac605fffcc273-2.js";import{$2b as b,$2c as M,$2d as yt,$2h as T,$2j as z,$2k as nt,$2l as w}from"./shared-init-3fcac605fffcc273-2.js";var ue=Symbol.for("pnext.dynamic");function ne(n,r={},d){let a=null,p=null,s=!1,c=typeof n=="string"?()=>{throw new Error(`dynamic(${JSON.stringify(n)}) was not compiled by PNext.`)}:n,h=()=>(p??=Promise.resolve(c()).then(i=>(a=typeof i=="function"?i:i.default,a)),p);function v(i){let m=w(null),[A,k]=T(0);if(nt(()=>{m.current?.hasAttribute("data-pnext-loading")&&k(1)},[]),a)return b("pnext-dynamic",{key:A,ref:m,style:ee},b(a,i));let C=r.loading;if(s)return b("pnext-dynamic",{ref:m,style:ee,"data-pnext-loading":""},C?b(C,i):null);throw typeof window>"u"?h().then(()=>{},()=>{s=!0}):h()}function l(i){let[m,A]=T(null),[k,C]=T(()=>r.load!=="visible"),g=w(null);if(nt(()=>{a&&A(()=>a)},[]),z(()=>{if(m||k)return;let P=g.current;if(!P||typeof IntersectionObserver>"u"){C(!0);return}let R=new IntersectionObserver(J=>{J.some(_=>_.isIntersecting)&&(R.disconnect(),C(!0))},{rootMargin:r.rootMargin,threshold:r.threshold});return R.observe(P),()=>R.disconnect()},[m,k]),z(()=>{if(m||!k)return;let P=!1;return h().then(R=>{P||A(()=>R)}),()=>{P=!0}},[m,k]),m)return b(m,i);let I=r.loading;return r.load==="visible"?b("div",{ref:g},I?b(I,i):null):I?b(I,i):null}let D=r.ssr===!1||r.load==="visible"?l:i=>typeof window>"u"?b(v,i):b(lt,{fallback:r.loading?b(r.loading,i):null},b(v,i));return D[ue]={load:h,target:d},D}var ee={display:"contents"},pe=32,lt=class extends yt{__c(r,d){this.setState({waiting:!0,held:(d.__u&pe)!==0}),r.then(()=>this.setState({waiting:!1}))}componentDidCatch(r){if(!(r instanceof Promise))throw r;this.__c(r,this.__v.__k[0])}shouldComponentUpdate(r,d){return!(d.waiting&&d.held)}render(){return this.state.waiting&&!this.state.held?this.props.fallback:this.props.children}};var oe=3;function re({rows:n,me:r}){let[d,a]=T([]),[p,s]=T(!1),c=n.filter(l=>!d.includes(l.task.id)&&N(l));if(!c.length)return null;let h=p?c:c.slice(0,oe),v=l=>D=>{a(i=>[...i,l]),D.then(i=>i||a(m=>m.filter(A=>A!==l)))};return t(V,{tone:"accent",title:"Pending approvals",count:c.length,actions:c.length>oe?t(K,{variant:"secondary",size:"sm",onClick:()=>s(!p),children:p?"Show fewer":`Show all ${c.length}`}):void 0,children:t("ul",{class:p?"approval-queue scroll-box":"approval-queue",children:h.map(l=>t(te,{task:l,me:r,queue:{onSent:v(l.task.id)}},l.task.id))})})}var me=ne(()=>import("./composer-b26a3332a1243461.js").then(n=>n.NewTaskButton),{loading:()=>t(K,{class:"new-task",leftIcon:Ct,disabled:!0,children:"New task"})}),fe={dashboard:vt,cli:At,schedule:St},ie=n=>fe[n]??Pt,se=200;function he(n,r,d){if(n===void 0)return"Not available";let a=Math.round((r-n)/6e4);return a<1?"just now":a<60?`${a} min ago`:a<1440?`${Math.round(a/60)} h ago`:$t(n,d)}function ge({task:n,brand:r,back:d,scoped:a,tz:p,now:s,onDone:c}){let h=it(),v=dt(n)&&n.startedAt!==void 0?s-n.startedAt:n.lastTurnMs,l=n.task.event?.integration??n.task.source??"dashboard",D=n.task.event?.type??(n.task.flow==="default"?void 0:n.task.flow);return t("tr",{children:[t("td",{children:[t(bt,{class:"cover",href:"/dash/[org]/tasks/[id]",params:{org:h,id:n.task.id},search:d?{back:d}:void 0,children:Yt(n)}),t("span",{class:"sub",children:[a?null:t(M,{children:[t(H,{d:ot}),n.task.agent]}),D,n.task.cwd?t("span",{title:n.task.cwd,children:[t(H,{d:Dt}),Zt(n.task.cwd)]}):null].filter(Boolean).map((i,m)=>t(M,{children:[m?" \xB7 ":null,i]},m))})]}),t("td",{children:t(_t,{status:n.status,approvals:n.approvals})}),t("td",{class:"model",title:Jt(n),children:n.model??n.task.usage?.model??n.task.definition?.model}),t("td",{class:"when",title:Bt(n.lastActivityAt,p),children:he(n.lastActivityAt,s,p)}),t("td",{class:"num",children:n.startedAt===void 0?null:Ft(v)}),t("td",{children:[t("span",{class:"source",title:at(l),children:[r?t(ct,{brand:r}):t(H,{d:ie(l)}),at(l)]}),t("span",{class:"row-acts",children:t(ye,{task:n,onDone:c})})]})]})}function ye({task:n,onDone:r}){let d=Ut(),[a,p]=T(!1),s=N(n),c=(h,v)=>void d.run(h,()=>h==="approve"?S.tasks.approve(n.task.id,s?.id??"",v??"decline"):h==="delete"?S.tasks.delete(n.task.id):S.tasks[h](n.task.id)).then(l=>{l&&r(h),p(!1)});return t(M,{children:[t(Rt,{summary:t(H,{d:Tt}),button:"icon",label:"Task actions",align:"right",children:[s?t(x,{title:"Approve",onClick:()=>c("approve","accept")}):null,s?t(x,{title:"Deny",onClick:()=>c("approve","decline")}):null,dt(n)?t(x,{title:"Stop",onClick:()=>c("cancel")}):null,n.archivedAt?null:t(x,{title:"Archive",onClick:()=>c("archive")}),t(x,{title:"Delete",danger:!0,onClick:()=>p(!0)})]}),t(zt,{open:a,title:"Delete this task?",body:"Its conversation, activity and diff go with it.",confirmLabel:"Delete",busy:d.pending==="delete",onConfirm:()=>c("delete"),onClose:()=>p(!1)})]})}function fn({first:n,platforms:r,brands:d={},agents:a=[],filters:p,agent:s,head:c,missing:h,pendingApprovals:v,me:l,tz:D,now:i}){let m=kt(D),A=it(),{values:k,set:C,query:g}=Lt(p),I=It(p),P=s?`&agent=${encodeURIComponent(s)}`:"",R=s?`/dash/${A}/agents/${encodeURIComponent(s)}/tasks`:`/dash/${A}/tasks`,J=g||s?`${R}${g?`?${g}`:""}`:void 0,_={limit:Mt,summary:!0,counts:!0,...jt(k),agent:s??k.agent},ut=[{key:"status",label:"Status",options:Ht,inline:!0},{key:"source",label:"Source",options:[...Gt,...r],icon:e=>d[e]?t(ct,{brand:d[e]}):ie(e)}];s||ut.push({key:"agent",label:"Agent",options:a,icon:()=>ot,search:(e,u)=>S.agents.list({cursor:"",limit:u,q:e}).then(o=>o.items.map(y=>[y.id,y.name]))});let O=Et({name:`tasks${P}`,fetchPage:e=>S.tasks.list({..._,cursor:e}),query:g,first:n,initial:I}),[L,j]=T({rows:{},added:[]}),[pt,ae]=T({query:g,ids:[]}),de=pt.query===g?pt.ids:[],q=e=>ae(u=>({query:g,ids:e(u.query===g?u.ids:[])})),Z=Vt(O.rows,L.query===g?L.added:[],L.rows).filter(e=>!de.includes(e.task.id)),E=(L.query===g?L.counts:void 0)??O.meta.counts,B=w(),$=w(!1),Q=w(!1),mt=w(),ft=w(!1),X=w(0),F=w(0),G=w({}),U=()=>{if(document.visibilityState==="hidden")return void(Q.current=!0);if(B.current)return void($.current=!0);let e=B.current=Date.now(),u=F.current;S.tasks.list({..._,cursor:""}).then(o=>{F.current===u&&(j(y=>({rows:{...y.rows,...Object.fromEntries(o.items.filter(f=>(G.current[f.task.id]??0)<=e).map(f=>[f.task.id,{...y.rows[f.task.id],...f}]))},added:Kt(y.query===g?y.added:[],o.items),counts:o.counts,query:g})),X.current=0)}).catch(()=>{X.current++,$.current=!0}).finally(()=>{if(!ft.current){if(!$.current)return void(B.current=void 0);$.current=!1,mt.current=setTimeout(()=>{B.current=void 0,tt.current()},Math.min(3e4,1e3*2**X.current))}})},tt=w(U);tt.current=U,z(()=>{let e=()=>{document.visibilityState!=="visible"||!Q.current||(Q.current=!1,tt.current())};return addEventListener("visibilitychange",e),()=>{removeEventListener("visibilitychange",e),clearTimeout(mt.current),ft.current=!0}},[]);let ce=wt(),le=()=>{F.current++,G.current={},j({rows:{},added:[]}),q(()=>[]),ce.refresh()},ht=e=>{let u=Z.find(o=>o.task.id===e.id);if(!u){e.deleted||e.archivedAt&&k.status!=="archived"?q(o=>[...o,e.id]):q(o=>o.includes(e.id)?o.filter(y=>y!==e.id):o),j(o=>{let{[e.id]:y,...f}=o.rows;return y?{...o,rows:f}:o}),(e.deleted||(s||k.agent||e.agent)===e.agent)&&U();return}if(G.current[e.id]=Date.now(),B.current&&($.current=!0),(e.deleted||e.status!==u.status||!!e.archivedAt!=!!u.archivedAt||!!N(u)!=!!N({approval:e.approval,approvals:e.approvals}))&&U(),e.deleted||e.archivedAt&&k.status!=="archived")return q(o=>[...o,e.id]);j(o=>{let y=o.rows[e.id]??u;return{...o,rows:{...o.rows,[e.id]:{...y,status:e.status,approval:e.approval??void 0,approvals:e.approvals??void 0,archivedAt:e.archivedAt,startedAt:e.startedAt,finishedAt:e.finishedAt}}}})},et=w({since:n.items.reduce((e,u)=>Math.max(e,u.updatedAt),0)||i}),gt=()=>{if(document.visibilityState==="hidden")return;let e=Date.now(),u=F.current;S.tasks.list({...et.current,limit:se,agent:_.agent,source:_.source,archived:_.archived}).then(o=>{if(F.current!==u)return;let y=Wt(o,et.current,G.current,e);et.current=y.cursor;for(let f of y.rows)ht({id:f.task.id,agent:f.task.agent,status:f.status,approval:f.approval,approvals:f.approvals,archivedAt:f.archivedAt,createdAt:f.createdAt,startedAt:f.startedAt,finishedAt:f.finishedAt});o.length===se&&gt()}).catch(o=>console.error("coder dashboard: task resync",o))};return qt(ht,le,gt),t(M,{children:[t(Nt,{head:c,action:c?t(me,{}):void 0,children:[t(xt,{value:k.q,label:"Search tasks",onInput:e=>C("q",e,250)}),t(Ot,{name:"tasks",facets:ut,values:k,onChange:C})]}),h?t(Qt,{}):null,v?.length?t(re,{rows:v.map(e=>L.rows[e.task.id]??e),me:l}):null,t(V,{title:"Tasks",count:E?W(E.all):void 0,actions:E?t(M,{children:[E.active?t(rt,{tone:"acc",onClick:()=>C("status","active"),children:[W(E.active)," active"]}):null,E.waiting?t(rt,{tone:"warn",onClick:()=>C("status","waiting"),children:[W(E.waiting)," awaiting approval"]}):null]}):void 0,children:[Z.length?t("div",{class:"table-scroll",children:t("table",{class:"rows tasks stacked","aria-busy":O.stale,children:[t("thead",{children:t("tr",{children:[t("th",{children:"Task"}),t("th",{children:"Status"}),t("th",{class:"model",children:"Model"}),t("th",{children:"Last activity"}),t("th",{class:"num",children:"Duration"}),t("th",{children:"Source"})]})}),t("tbody",{children:Z.map(e=>t(ge,{task:e,brand:d[e.task.event?.integration??e.task.source],back:J,scoped:!!s,tz:m,now:Date.now(),onDone:u=>{(u==="delete"||u==="archive"&&k.status!=="archived")&&q(o=>[...o,e.task.id]),U()}},e.task.id))})]})}):O.stale?null:g?t(st,{title:"No tasks match",children:"Try another search or filter."}):t(st,{title:"No tasks yet",children:s?"Tasks appear here as this agent runs.":"Start one with New task. Tasks from the dashboard, the CLI and platforms like GitHub show up here, newest first."}),t(Xt,{noun:"tasks",...O})]})]})}export{fn as TasksList};
@@ -1 +1 @@
1
- "use client";import{a as c}from"./tail-d13c4cc0cf11ffd1.js";import{$0a as p}from"./shared-init-953965859f7bf6b9.js";import{$3c as s,$3k as n,$3s as a,$3v as l}from"./shared-init-926144b364908b3c.js";import{$2Q as e}from"./shared-init-926144b364908b3c.js";import{$3c as m}from"./shared-init-9b28886f3cbe0ed3-2.js";function B({agent:t,current:r,first:d,tz:f}){let i=a({name:`versions|${t}`,fetchPage:o=>s.agents.versions(t,{cursor:o,limit:l}),query:"",first:d,initial:""});return e(m,{children:[e("ul",{class:"versions",children:i.rows.map(o=>e("li",{children:[e(n,{tone:o.version===r?"acc":void 0,children:["v",o.version]}),e("span",{class:"muted grow",children:[o.version===r&&"current",o.importedFrom!=="upload"&&o.importedFrom&&`${o.importedFrom}${o.commit?` at ${o.commit.slice(0,7)}`:""}`].filter(Boolean).join(", ")}),e("span",{class:"when",children:p(o.createdAt,f)})]},o.version))}),e(c,{noun:"versions",...i})]})}export{B as VersionsList};
1
+ "use client";import{a as c}from"./tail-40f16e09eade7eee.js";import{$1a as p}from"./shared-init-96225b8c7758de9d.js";import{$1c as s,$1k as n,$1s as a,$1v as l}from"./shared-init-abd7653140f37a0c.js";import{$3Q as e}from"./shared-init-abd7653140f37a0c.js";import{$2c as m}from"./shared-init-3fcac605fffcc273-2.js";function B({agent:t,current:r,first:d,tz:f}){let i=a({name:`versions|${t}`,fetchPage:o=>s.agents.versions(t,{cursor:o,limit:l}),query:"",first:d,initial:""});return e(m,{children:[e("ul",{class:"versions",children:i.rows.map(o=>e("li",{children:[e(n,{tone:o.version===r?"acc":void 0,children:["v",o.version]}),e("span",{class:"muted grow",children:[o.version===r&&"current",o.importedFrom!=="upload"&&o.importedFrom&&`${o.importedFrom}${o.commit?` at ${o.commit.slice(0,7)}`:""}`].filter(Boolean).join(", ")}),e("span",{class:"when",children:p(o.createdAt,f)})]},o.version))}),e(c,{noun:"versions",...i})]})}export{B as VersionsList};
@@ -1 +1 @@
1
- import{$0a as o,$0b as i}from"./shared-init-9b28886f3cbe0ed3-2.js";var a="__pnextBfcacheId";function s(){let t=history.state;return t&&typeof t=="object"?t:{}}function c(t=s()){let n=t[a];return typeof n=="string"?n:void 0}function d(t){return`${t}${Date.now().toString(36)}_${Math.random().toString(36).slice(2,8)}`}function p(){return d("b_")}function l(){return d("e")}function v(){let t=s(),n=t.__pnextEntry,r=typeof n=="string";if(o.renderedEntryId=r?n:l(),!(c(t)&&r))try{history.replaceState({...t,__pnextEntry:o.renderedEntryId,[a]:c(t)??p()},"",location.href)}catch{}}var f;function h(t){f=t}function m(t,n={}){f?.(t,n)}function S(){return window.__PNEXT_LOCATION_LISTENERS__??=new Set,window.__PNEXT_LOCATION_LISTENERS__}function E(){if(o.observedLocationKey=i(),!(e>0))for(let t of[...S()])t()}var e=0;function I(t){e++;try{t()}finally{e--}}var g=new Set;function L(){for(let t of[...g])t()}var y=new Set;function C(){for(let t of[...y])t()}export{a,s as b,c,p as d,l as e,v as f,f as g,h,m as i,S as j,E as k,I as l,L as m,C as n};
1
+ import{$0a as o,$0b as i}from"./shared-init-3fcac605fffcc273-2.js";var a="__pnextBfcacheId";function s(){let t=history.state;return t&&typeof t=="object"?t:{}}function c(t=s()){let n=t[a];return typeof n=="string"?n:void 0}function d(t){return`${t}${Date.now().toString(36)}_${Math.random().toString(36).slice(2,8)}`}function p(){return d("b_")}function l(){return d("e")}function v(){let t=s(),n=t.__pnextEntry,r=typeof n=="string";if(o.renderedEntryId=r?n:l(),!(c(t)&&r))try{history.replaceState({...t,__pnextEntry:o.renderedEntryId,[a]:c(t)??p()},"",location.href)}catch{}}var f;function h(t){f=t}function m(t,n={}){f?.(t,n)}function S(){return window.__PNEXT_LOCATION_LISTENERS__??=new Set,window.__PNEXT_LOCATION_LISTENERS__}function E(){if(o.observedLocationKey=i(),!(e>0))for(let t of[...S()])t()}var e=0;function I(t){e++;try{t()}finally{e--}}var g=new Set;function L(){for(let t of[...g])t()}var y=new Set;function C(){for(let t of[...y])t()}export{a,s as b,c,p as d,l as e,v as f,f as g,h,m as i,S as j,E as k,I as l,L as m,C as n};