@wular/coder 0.4.12 → 0.5.0

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 (528) hide show
  1. package/README.md +3 -3
  2. package/dist/actions-CkMAM1Km.js +3 -0
  3. package/dist/agent-Bi5nbUhA.js +1 -0
  4. package/dist/app-server-BTpa5GBV.js +6 -0
  5. package/dist/approvals-CRwkc9vB.js +5 -0
  6. package/dist/apps-B6mUToTa.js +18 -0
  7. package/dist/args-CJsHYWbt.js +66 -0
  8. package/dist/async-CNhQ4wyZ.js +3 -0
  9. package/dist/auth-oCvlHitk.js +1 -0
  10. package/dist/builtin/coder/agent.json +6 -7
  11. package/dist/builtin/coder/system.md +5 -6
  12. package/dist/chat-4AiZEqKh.js +13 -0
  13. package/dist/{chat-bwKd3y6V.js → chat-Bfu9XKRa.js} +1 -1
  14. package/dist/cli.js +16 -11
  15. package/dist/{client-C4QCT6cG.js → client-nBo9Mhsr.js} +4 -4
  16. package/dist/cmd-Cu3OquA_.js +122 -0
  17. package/dist/config-D_RuO6gX.js +5 -0
  18. package/dist/connection-BXjn7gCC.js +1 -0
  19. package/dist/connections-Cswv7r8Z.js +2 -0
  20. package/dist/context-CFrDYenS.js +6 -0
  21. package/dist/crypto-Ittsv-m4.js +1 -0
  22. package/dist/dash/standalone/server/build-index.json +1 -1
  23. package/dist/dash/standalone/server/manifest.json +1686 -1428
  24. package/dist/dash/standalone/server/modules-server-server-react-server/src/agent/event-json.856d33f567e58d0e.js +30 -0
  25. package/dist/dash/standalone/server/modules-server-server-react-server/src/client/http.e78b470f4ecf125b.js +58 -0
  26. package/dist/dash/standalone/server/modules-server-server-react-server/src/client/{index.0de14cb4e30bd70d.js → index.54c45900f2153d34.js} +57 -77
  27. package/dist/dash/standalone/server/modules-server-server-react-server/src/core/task/{log-view.60308a11f7001eb7.js → view.e20379d8f741754a.js} +78 -48
  28. package/dist/dash/standalone/server/modules-server-server-react-server/src/core/types.5bf5a41cedb54154.js +37 -0
  29. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/api/{load.be791a5eaf328738.js → load.252f972b42c690e2.js} +18 -11
  30. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/create/[id]/{page.70913bd4075da914.js → page.11efd0e175db9053.js} +24 -4
  31. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/account/{loading.e348ec45e9ed951b.js → loading.56c14183236be231.js} +2 -2
  32. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/account/{notify.61aab176baeefebd.js → notify.59ae138dc182d7c3.js} +1 -1
  33. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/account/{page.815371ed0d5dd4fa.js → page.e9386951cedea737.js} +9 -9
  34. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/account/{sign-out.1d6af804f9ec043d.js → sign-out.713d3ec10951fde5.js} +4 -4
  35. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/(list)/{agent-menu.2ed0e66d131fc148.js → agent-menu.5c780867b82081b1.js} +3 -3
  36. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/(list)/{agents-grid.f43bcc1148ce3650.js → agents-grid.f989d6f2d9ece6e4.js} +9 -9
  37. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/(list)/{loading.fac1132ad9c4248e.js → loading.0130f8533d8f1b1e.js} +4 -4
  38. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/(list)/page.0f88720e52db99a2.js +48 -0
  39. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/{layout.a795379254982121.js → layout.8d2f0997462fc958.js} +90 -33
  40. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/{loading.388aeaf0c2edf8f8.js → loading.90bf37c903ce6f0d.js} +1 -1
  41. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/{page.a2cb6d1f1714259a.js → page.bc93891522c8120d.js} +22 -88
  42. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/platforms/{loading.4da9e2ba3fea937f.js → loading.d56ef50b0694f975.js} +2 -2
  43. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/platforms/{page.996172c951739b35.js → page.cf5cf9afe38ab0e4.js} +51 -111
  44. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/platforms/{platform-actions.8e7ca54dd1821e98.js → platform-actions.c44c7df7841719f2.js} +235 -109
  45. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/platforms/platform-state.6b6132518ca61635.js +21 -0
  46. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/platforms/platform-step.6e90cbfe308f28a0.js +82 -0
  47. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/settings/{agent-settings-form.aa9e157d141481d7.js → agent-settings-form.61de585104c2be10.js} +44 -66
  48. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/settings/{loading.ad1a4c9b000d269a.js → loading.2800c65e45a4a1d9.js} +1 -1
  49. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/settings/{page.44d886e60ae04303.js → page.4d06f759984a63b3.js} +11 -11
  50. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/tasks/{loading.521c9e7b8d77f557.js → loading.ea2925eab1d2e594.js} +1 -1
  51. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/tasks/{page.828cfb8112404792.js → page.fb069bf82b727d27.js} +1 -1
  52. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/usage/{loading.8f998a9c511e1fb3.js → loading.3a615597ca648452.js} +4 -4
  53. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/usage/{page.45e18b6dc3019af4.js → page.0a472a0e269b8c01.js} +6 -6
  54. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/{versions-list.c8d76988c734dda2.js → versions-list.7ef7dfd5d8f5de43.js} +3 -3
  55. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/edit/{loading.b1367e864b4fb406.js → loading.007326a04f05d46c.js} +5 -5
  56. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/edit/{page.dd11f2618e08becd.js → page.a26aa7bc6ab655f0.js} +10 -10
  57. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/platforms/[app]/app-cards.361918fe58349aa1.js +142 -0
  58. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/platforms/[app]/loading.f0d91d48e2b79e50.js +14 -0
  59. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/platforms/[app]/page.3f60cf67517d0d31.js +99 -0
  60. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/agent/{agent-pills.f987c12bcbc5c850.js → agent-pills.1012e04bfbc7bffd.js} +5 -5
  61. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/agent/{agent-toggle.1579dc8acbaacf92.js → agent-toggle.ffbf9a8b8b2fbde7.js} +3 -3
  62. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/agent/{hero.ad5cc342db794e5d.js → hero.0ae015a4fbe6321e.js} +6 -6
  63. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/agent/{instructions.85b1cd986a9edbb5.js → instructions.1b8c9189961c5a4f.js} +13 -4
  64. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/editor/{connect-repositories.43b4b28f194ea842.js → connect-repositories.9abe365f0098d358.js} +1 -1
  65. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/editor/{editor.776856fe1ed1a642.js → editor.6548f8f757578f90.js} +164 -116
  66. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/editor/{import-picker.eafa5b41a2ed571f.js → import-picker.577b1d84c7ab84e1.js} +11 -11
  67. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/new/{loading.ee001af7a96e3972.js → loading.9b65a8c1cdc8346f.js} +5 -5
  68. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/new/{page.7d84ef2b178b34d2.js → page.2b326d00ccef5544.js} +9 -8
  69. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/{layout.393cf7429eea189e.js → layout.45a09107b19f0a7e.js} +89 -26
  70. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/operator/operator-apps.f8d679f2d06b0ebc.js +155 -0
  71. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/operator/{page.980adfb7c5714752.js → page.5aa3ddc669366703.js} +37 -10
  72. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/{page.24a1987405ed7b17.js → page.5a5188f0fc75dcd2.js} +1 -1
  73. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/advanced-list.73cdadb2968a39d2.js +63 -0
  74. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/connection-add.353ec01fbb814f78.js +526 -0
  75. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/connections-list.cf4061ae909272c3.js +439 -0
  76. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/{credentials-list.683476f62a9ecde7.js → credentials-list.fc4cff0289267551.js} +120 -103
  77. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/{credentials.b43dd3d97c536c2a.js → credentials.db01de2581ac65f3.js} +9 -9
  78. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/list.e7d6a422f6a869ea.js +201 -0
  79. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/{loading.7ca95dcb4fb3362b.js → loading.71ca4f6c99a8a9d5.js} +1 -1
  80. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/models-list.acb92b39cab1d11c.js +635 -0
  81. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/{page.dfed4ae6ffc74434.js → page.95fe939e36e5be55.js} +67 -41
  82. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/{runners-list.3afa989490bbe77c.js → runners-list.5764eac3307d67cc.js} +42 -37
  83. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/{secrets-list.0d175ee815b22cd7.js → secrets-list.d316bb157f747f6c.js} +19 -17
  84. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/chain-hint.65c4cc04c78e8bfd.js +18 -0
  85. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/{layout.3e8289f888fa444c.js → layout.4eb70f2de8674f93.js} +7 -7
  86. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/model-options.dc630cb6e2cbf83a.js +150 -0
  87. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/model-pick.a143e77f5ed5f9d3.js +160 -0
  88. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/{page.06feaa5fbb06f1e6.js → page.70cad0e981c33fa5.js} +1 -1
  89. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/{settings-head.bbc7ced8dd5491eb.js → settings-head.004ced21e02ffa48.js} +5 -5
  90. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/{tunnel-guide.29eee1a0b1852168.js → tunnel-guide.1bc6bff9d8019098.js} +1 -1
  91. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/setup/{create-link.ff95e4b6977d0474.js → create-link.18bd2b92cd23b73f.js} +5 -5
  92. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/setup/{outcome-dialog.894c73f9abee3ce1.js → outcome-dialog.a74e686aaed0c584.js} +3 -3
  93. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/setup/outcome-toast.95f7be49430248eb.js +24 -0
  94. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/setup/{outcome.cbbc8cd1bbbee01b.js → outcome.22a83d756e4020a7.js} +3 -6
  95. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/setup/{page.f06fda0df59beeb5.js → page.e39ee9236664d043.js} +8 -8
  96. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/[id]/{activity.3c79cf14feff12bf.js → activity.441e82ab00344fb2.js} +12 -6
  97. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/[id]/{loading.47cbb34ea8d2e33f.js → loading.779ecdd9c9d2ff09.js} +6 -6
  98. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/[id]/{page.abed2a8424ef3da0.js → page.24e121ea6eb578ba.js} +16 -9
  99. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/[id]/task-actions.4a4052a38db4bad3.js +408 -0
  100. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/[id]/task-missing.33ec27a4a5eafefe.js +27 -0
  101. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/[id]/{task-view.dc294bb94b7437e1.js → task-view.0cd3ec2655f44cc7.js} +53 -44
  102. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/{composer-data.309a194fc7fa34be.js → composer-data.73225456d60d63e3.js} +4 -6
  103. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/{composer.5072aacdce127689.js → composer.ee326fbf5e526fb1.js} +114 -121
  104. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/list/pending-approvals.7607998094780fdd.js +40 -0
  105. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/list/status.d2c05c397780b833.js +25 -0
  106. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/list/{task.0a1b5878dccd3b37.js → task.a25847399a4dfb30.js} +14 -18
  107. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/list/{tasks-list.1162926f7498c732.js → tasks-list.e486cbd16ea3e963.js} +62 -39
  108. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/list/{tasks-section.1d687c986db53a73.js → tasks-section.01510523d1556d59.js} +16 -10
  109. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/{page.d5d8cb5033823c9c.js → page.ede64f82388f9480.js} +5 -5
  110. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/usage/{custom-range.2e21c7f891966c15.js → custom-range.fe91164d7a311356.js} +3 -3
  111. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/usage/{day-chart.261b6651df2d3966.js → day-chart.20faaaf57c81ad9e.js} +1 -1
  112. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/usage/{loading.97d277dbab9c15cf.js → loading.5b973a8bb29197d5.js} +3 -3
  113. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/usage/{page.fb21ebe90d49dac1.js → page.0499098badd3f5f8.js} +7 -7
  114. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/usage/{range-bar.2197d8f43216d104.js → range-bar.0b9038e9df707843.js} +5 -5
  115. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/usage/{top-agents.18fc469e781e2305.js → top-agents.93c916167299ffb6.js} +2 -2
  116. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/{layout.185dbc99875e208a.js → layout.94ea3908b03bede6.js} +2 -2
  117. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/login/{page.a82be2fd23e9ac67.js → page.4827d64c71c0690a.js} +2 -2
  118. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/frame/{drawer.d3e61538dbc8ec39.js → drawer.1a08ff611df7fe38.js} +2 -2
  119. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/frame/{foreign-link.1f4217895ff1e835.js → foreign-link.1d4f63a0379cbd1d.js} +3 -3
  120. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/frame/{loading-card.cc76fc9708142525.js → loading-card.77bea8c5870b5d3c.js} +5 -5
  121. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/frame/{page-head.85f15db7b648d48c.js → page-head.2eb1e0213eb50349.js} +5 -4
  122. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/frame/{stream.e2915852cf82c86b.js → stream.e3800e736f832124.js} +2 -2
  123. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/frame/{task-toasts.0ed8ccaae81b9d53.js → task-toasts.3b7eeee29fc327de.js} +29 -19
  124. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/frame/{theme-choices.85100ed66d6f9200.js → theme-choices.fc86071c1b634176.js} +2 -2
  125. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/nav/{back.180765bdadf6d602.js → back.7aa0ae82dbec38cd.js} +3 -3
  126. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/nav/{org.572ad93c7707ab27.js → org.853d173b55368728.js} +1 -1
  127. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/nav/{side-toggle.489faf1a259479f7.js → side-toggle.be7d2a7529557435.js} +2 -2
  128. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{badge.c0bc352791a95fd6.js → badge.9f63fd615cf0ee22.js} +2 -2
  129. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{button.ce9e6cdb08ca86db.js → button.b62fa52e18fa338b.js} +2 -2
  130. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{card.9f0d45b73bc78b4f.js → card.c0030eafd76587e3.js} +21 -9
  131. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{collapse.93e4d1b20c2873ed.js → collapse.eb578fdf42029754.js} +1 -1
  132. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{combo.54270c0251466fda.js → combo.e4e08287494081a3.js} +2 -2
  133. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{confirm.c1281f9b12854210.js → confirm.e21b7f5e486dafb8.js} +3 -3
  134. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{copy.bd6fc1577a393965.js → copy.043e0695c08c72f9.js} +2 -2
  135. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{filter.3a452a262f040973.js → filter.0730dccad6332327.js} +6 -6
  136. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{icons.e36c72f54750663a.js → icons.f769275420d072ce.js} +4 -0
  137. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{menu-items.1d082ac4dae8f3d4.js → menu-items.759a1b1f7c5ee365.js} +2 -2
  138. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{menu.ee45bace979944b6.js → menu.7f558c7c6f6345d5.js} +3 -3
  139. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{modal.25d53e5b41b9c4e5.js → modal.08ac85d31f4c76c1.js} +8 -7
  140. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/modal.a533234c7c831be4.css.pnext-asset.js +0 -0
  141. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{segmented.a08dc08338d080e9.js → segmented.633abe26ff760e37.js} +1 -1
  142. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/segmented.c6f30b839fd27f35.css.pnext-asset.js +0 -0
  143. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{select.2eb33e5bea28d804.js → select.0ee9e8f04ddd8b47.js} +9 -6
  144. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{sentinel.17cffebfc3103b9f.js → sentinel.0ddf515b8f09ef9f.js} +1 -1
  145. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/sentinel.d17e2bfcbeb9df31.css.pnext-asset.js +0 -0
  146. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/tabs.025b532d6cc51736.css.pnext-asset.js +0 -0
  147. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{tabs.66b2e54963f6901b.js → tabs.1600a0b563a5c7dd.js} +1 -1
  148. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{tail.04132db0c5033d4f.js → tail.7eb303330802ac18.js} +2 -2
  149. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/toolbar.cdbd0357f2c5e1fe.css.pnext-asset.js +0 -0
  150. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{toolbar.24036899654de6df.js → toolbar.ff8367c641d28c1e.js} +3 -3
  151. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/utils/{action.b9a5c37272250e82.js → action.f22057e7dfac40fe.js} +1 -1
  152. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/utils/{client.a3928fa2dcd27b75.js → client.c8d7efefb6194d7d.js} +1 -1
  153. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/routes/http.394704f4f12ada08.js +165 -0
  154. package/dist/dash/standalone/server/modules-server-server-react-server/src/utils/crypto.24a6439ff8d10d3d.js +11 -0
  155. package/dist/dash/standalone/static/assets/chunks/advanced-list-850a950afe4f6996.js +1 -0
  156. package/dist/dash/standalone/static/assets/chunks/agent-pills-9f6fa120182db948.js +2 -0
  157. package/dist/dash/standalone/static/assets/chunks/agent-settings-form-a8ee12513a02b1c5.js +1 -0
  158. package/dist/dash/standalone/static/assets/chunks/agent-toggle-521136f20a71400d.js +1 -0
  159. package/dist/dash/standalone/static/assets/chunks/agents-grid-bcd13cd7a46224a6.js +1 -0
  160. package/dist/dash/standalone/static/assets/chunks/{back-fa9d6e37f9828093.js → back-2d67134b122334f4.js} +1 -1
  161. package/dist/dash/standalone/static/assets/chunks/chain-hint-53675e299a865420.js +1 -0
  162. package/dist/dash/standalone/static/assets/chunks/{combo-86f3e11d1f6f6cee.js → combo-cb2c62fe580a8903.js} +1 -1
  163. package/dist/dash/standalone/static/assets/chunks/composer-4a46a458495ce3ba.js +1 -0
  164. package/dist/dash/standalone/static/assets/chunks/composer-92553de43276510b.js +1 -0
  165. package/dist/dash/standalone/static/assets/chunks/composer-data-890f71bade4f0616.js +1 -0
  166. package/dist/dash/standalone/static/assets/chunks/{confirm-c29a1db0130638d2.js → confirm-d6b2c5b1deccd1e8.js} +1 -1
  167. package/dist/dash/standalone/static/assets/chunks/{connect-repositories-0de82daaf654b1d3.js → connect-repositories-226bf70aa81c29d8.js} +1 -1
  168. package/dist/dash/standalone/static/assets/chunks/connections-list-a33d6637e2d52fcf.js +1 -0
  169. package/dist/dash/standalone/static/assets/chunks/{copy-445c11202f136275.js → copy-294c6052b3b69424.js} +1 -1
  170. package/dist/dash/standalone/static/assets/chunks/create-link-b2480a7601967e94.js +1 -0
  171. package/dist/dash/standalone/static/assets/chunks/credentials-list-90fc1c6d202e1461.js +1 -0
  172. package/dist/dash/standalone/static/assets/chunks/custom-range-efa1b6a71ba84597.js +1 -0
  173. package/dist/dash/standalone/static/assets/chunks/editor-53a3e1a893644fff.js +6 -0
  174. package/dist/dash/standalone/static/assets/chunks/{field-b82a0f895266791c.js → field-4d374d5ed3f43d7e.js} +1 -1
  175. package/dist/dash/standalone/static/assets/chunks/instructions-734d21dfb8f6393e.js +1 -0
  176. package/dist/dash/standalone/static/assets/chunks/instructions-d3dc01b2f90820db.js +2 -0
  177. package/dist/dash/standalone/static/assets/chunks/list-16247e39898cd20e.js +1 -0
  178. package/dist/dash/standalone/static/assets/chunks/model-options-d29e934a3de20ab4.js +1 -0
  179. package/dist/dash/standalone/static/assets/chunks/models-list-6d93523660503dfb.js +1 -0
  180. package/dist/dash/standalone/static/assets/chunks/{outcome-dialog-5cf575a5e6921a5d.js → outcome-dialog-755fc581cbc2836e.js} +1 -1
  181. package/dist/dash/standalone/static/assets/chunks/outcome-dialog-77e13c848000a3dc.js +1 -0
  182. package/dist/dash/standalone/static/assets/chunks/outcome-toast-9d5e9713c23882f5.js +1 -0
  183. package/dist/dash/standalone/static/assets/chunks/platform-actions-08e9b3816dcd62b1.js +1 -0
  184. package/dist/dash/standalone/static/assets/chunks/platform-actions-832904f5694ef902.js +1 -0
  185. package/dist/dash/standalone/static/assets/chunks/platform-step-29469fd4eaddc42a.js +1 -0
  186. package/dist/dash/standalone/static/assets/chunks/platform-step-5881a8be1e761e00.js +1 -0
  187. package/dist/dash/standalone/static/assets/chunks/runners-list-dd759d408c643a29.js +1 -0
  188. package/dist/dash/standalone/static/assets/chunks/{runtime-6e12333f12903a62-1.js → runtime-9b28886f3cbe0ed3-1.js} +1 -1
  189. package/dist/dash/standalone/static/assets/chunks/secrets-list-be1f634a1b077baa.js +1 -0
  190. package/dist/dash/standalone/static/assets/chunks/segmented-f646bfa8aa0aa449.js +1 -0
  191. package/dist/dash/standalone/static/assets/chunks/shared-init-926144b364908b3c.js +9 -0
  192. package/dist/dash/standalone/static/assets/chunks/shared-init-953965859f7bf6b9.js +1 -0
  193. package/dist/dash/standalone/static/assets/chunks/shared-init-9b28886f3cbe0ed3-2.js +1 -0
  194. package/dist/dash/standalone/static/assets/chunks/shared-init-b42d2c06c25d1e2b.js +1 -0
  195. package/dist/dash/standalone/static/assets/chunks/side-toggle-8c21d39a1e284887.js +1 -0
  196. package/dist/dash/standalone/static/assets/chunks/{tail-b1c46587301ef397.js → tail-d13c4cc0cf11ffd1.js} +1 -1
  197. package/dist/dash/standalone/static/assets/chunks/task-423e6a3f2527f534.js +1 -0
  198. package/dist/dash/standalone/static/assets/chunks/task-actions-5917357eac6504ca.js +3 -0
  199. package/dist/dash/standalone/static/assets/chunks/task-view-c6ee43d2ddb6db90.js +3 -0
  200. package/dist/dash/standalone/static/assets/chunks/tasks-list-2c5ce592e00fda45.js +1 -0
  201. package/dist/dash/standalone/static/assets/chunks/versions-list-177ae397ad64dcea.js +1 -0
  202. package/dist/dash/standalone/static/assets/chunks/{wular-pnext-6e12333f12903a62-0.js → wular-pnext-9b28886f3cbe0ed3-0.js} +1 -1
  203. package/dist/dash/standalone/static/assets/create-param-id-2c72f3e32e7f8b8d.css +1 -0
  204. package/dist/dash/standalone/static/assets/dash-param-org-a7f30a8c5a6fa651.css +1 -0
  205. package/dist/dash/standalone/static/assets/dash-param-org-account-76fffb9337b633f2.css +1 -0
  206. package/dist/dash/standalone/static/assets/dash-param-org-agents-cc5d59edfc3cf0b1.css +1 -0
  207. package/dist/dash/standalone/static/assets/dash-param-org-agents-new-170499c849114150.css +1 -0
  208. package/dist/dash/standalone/static/assets/dash-param-org-agents-param-slug-00243b34eb094b95.css +1 -0
  209. package/dist/dash/standalone/static/assets/dash-param-org-agents-param-slug-edit-199a9991de1bf2d9.css +1 -0
  210. package/dist/dash/standalone/static/assets/dash-param-org-agents-param-slug-platforms-25ae07e0b3f5b252.css +1 -0
  211. package/dist/dash/standalone/static/assets/dash-param-org-agents-param-slug-platforms-param-app-a6d559f0e26bd01b.css +1 -0
  212. package/dist/dash/standalone/static/assets/dash-param-org-agents-param-slug-settings-9f8faa8f7d714699.css +1 -0
  213. package/dist/dash/standalone/static/assets/dash-param-org-agents-param-slug-tasks-129adcdc293ceac8.css +1 -0
  214. package/dist/dash/standalone/static/assets/dash-param-org-agents-param-slug-usage-0e037c66e3977f33.css +1 -0
  215. package/dist/dash/standalone/static/assets/dash-param-org-operator-8d5ef55834d8deba.css +1 -0
  216. package/dist/dash/standalone/static/assets/dash-param-org-settings-7138821f5422d087.css +1 -0
  217. package/dist/dash/standalone/static/assets/dash-param-org-settings-param-tab-586fec34f285e9cb.css +1 -0
  218. package/dist/dash/standalone/static/assets/dash-param-org-setup-67679c1f84f352cf.css +1 -0
  219. package/dist/dash/standalone/static/assets/dash-param-org-tasks-8a44e171984d32a1.css +1 -0
  220. package/dist/dash/standalone/static/assets/dash-param-org-tasks-param-id-b9d3a7a1bd1dd666.css +1 -0
  221. package/dist/dash/standalone/static/assets/dash-param-org-usage-c534db20ce538fd2.css +1 -0
  222. package/dist/dash/standalone/static/assets/global-df2c26ad15039e8a.css +1 -0
  223. package/dist/dash/standalone/static/assets/{login-9760b85feae40270.css → login-148795638d6ff5d4.css} +1 -1
  224. package/dist/dash/standalone/static/assets/pnext-client-095026242a079175.js +1 -0
  225. package/dist/dash/standalone/static/assets/pnext-client-1dfeb8c3ef155f87.js +1 -0
  226. package/dist/dash/standalone/static/assets/pnext-client-2358423351524403.js +1 -0
  227. package/dist/dash/standalone/static/assets/pnext-client-28a6557216627768.js +1 -0
  228. package/dist/dash/standalone/static/assets/pnext-client-31a4ee73945fee19.js +1 -0
  229. package/dist/dash/standalone/static/assets/pnext-client-3dfdc76bb8712b82.js +1 -0
  230. package/dist/dash/standalone/static/assets/pnext-client-4355ac87961d78c1.js +1 -0
  231. package/dist/dash/standalone/static/assets/pnext-client-43c7a0046572e0c9.js +1 -0
  232. package/dist/dash/standalone/static/assets/pnext-client-53dc7db68d67e0b1.js +1 -0
  233. package/dist/dash/standalone/static/assets/pnext-client-5835cb35488bdf7f.js +1 -0
  234. package/dist/dash/standalone/static/assets/pnext-client-638b390bc23ab1ae.js +1 -0
  235. package/dist/dash/standalone/static/assets/pnext-client-67f832c6c51a66cd.js +1 -0
  236. package/dist/dash/standalone/static/assets/pnext-client-6fc99f0abe77c2ea.js +1 -0
  237. package/dist/dash/standalone/static/assets/pnext-client-7d99965f28ac7604.js +1 -0
  238. package/dist/dash/standalone/static/assets/pnext-client-7ecbd7a0cbe4e231.js +1 -0
  239. package/dist/dash/standalone/static/assets/pnext-client-8250bd3b86d038a3.js +1 -0
  240. package/dist/dash/standalone/static/assets/pnext-client-bfd06805a43c6dee.js +1 -0
  241. package/dist/dash/standalone/static/assets/pnext-client-ce2943f17e9d9ac3.js +1 -0
  242. package/dist/dash/standalone/static/assets/pnext-client-ed31510d4615a5a5.js +1 -0
  243. package/dist/dash/standalone/static/assets/pnext-client-f0496bf51e161ddd.js +1 -0
  244. package/dist/definition-4on4SG5J.js +1 -0
  245. package/dist/discover-DvzAbQvU.js +1 -0
  246. package/dist/dispatch-BaW2X6Sc.js +12 -0
  247. package/dist/{dist-DAnSqY1s.js → dist-B5qUdWUG.js} +35 -35
  248. package/dist/{dist-B2jiMMxZ.js → dist-Clxdruuu.js} +3 -3
  249. package/dist/{dist-ClCNj65n.js → dist-CymLGfHl.js} +4 -4
  250. package/dist/{adapter-CVd5klMH.js → dist-DX0JzVC6.js} +990 -990
  251. package/dist/{adapter-CU9H4g6c.js → dist-DfD9WmV8.js} +39 -39
  252. package/dist/dist-node-B8VIVzUc.js +20 -0
  253. package/dist/docs-CbgaMPvq.js +2 -0
  254. package/dist/drive-Tk6JvQK5.js +1 -0
  255. package/dist/drizzle-orm-CYU7WOQS.js +2 -0
  256. package/dist/emit-BgeqsCkC.js +11 -0
  257. package/dist/env-_AxrvBXP.js +1 -0
  258. package/dist/errors-DK_trCff.js +1 -0
  259. package/dist/exec-CAaYFJD1.js +3 -0
  260. package/dist/executor-Chc0zawh.js +11 -0
  261. package/dist/flow/builtin/review/index.d.ts +2 -2
  262. package/dist/flow/builtin/review/index.js +9 -9
  263. package/dist/flow/index.d.ts +1 -1
  264. package/dist/flow/index.js +1 -1
  265. package/dist/github-actions-2RjyRseX.js +36 -0
  266. package/dist/hook-COWDSO4a.js +1 -0
  267. package/dist/http-615JJgHo.js +5 -0
  268. package/dist/http-DRk8cDjf.js +1 -0
  269. package/dist/{index-BdkdNI1v.d.ts → index-ezhbF5wC.d.ts} +369 -413
  270. package/dist/integrations-BVmsk64f.js +9 -0
  271. package/dist/lib/broker.js +2 -2
  272. package/dist/load-PqaDHiHX.js +2 -0
  273. package/dist/local-BMGcCk8N.js +1 -0
  274. package/dist/local-BzZuOwgI.js +5 -0
  275. package/dist/login-BDKTNynK.js +8 -0
  276. package/dist/maintenance-d43Ml540.js +1 -0
  277. package/dist/mcp-BGam3G_B.js +1 -0
  278. package/dist/mcp-BGx48pyR.js +25 -0
  279. package/dist/mcp-BNz_l5TV2.js +1 -0
  280. package/dist/metadata-D_bBfr3H.js +1 -0
  281. package/dist/models-D1NXi6ni.js +1 -0
  282. package/dist/output-BKeyLbvt.js +5 -0
  283. package/dist/permission-BkYxjiFR.js +1 -0
  284. package/dist/prompt-CpwbsEWM.js +4 -0
  285. package/dist/refresh-yfEi5SQs.js +1 -0
  286. package/dist/remote-BbXx6S9P.js +1 -0
  287. package/dist/remote-rArUa01V.js +2 -0
  288. package/dist/runner-DG9jrX5H.js +1 -0
  289. package/dist/runner.json +1 -1
  290. package/dist/runner.tgz +0 -0
  291. package/dist/schema.d.ts +2 -2
  292. package/dist/schema.js +2 -3
  293. package/dist/sdk.d.ts +3264 -1601
  294. package/dist/sdk.js +1 -1
  295. package/dist/serve-B-5rDiZm.js +1 -0
  296. package/dist/serve-CvnrGAj7.js +12 -0
  297. package/dist/serve-DoYbHm_k.js +5 -0
  298. package/dist/session-Dtje9y-r.js +1 -0
  299. package/dist/sessions-DIz9fyRN.js +1 -0
  300. package/dist/shared--aE4olIO.js +1 -0
  301. package/dist/sign-in-wWkyaq5X.js +3 -0
  302. package/dist/state-Br-Fuaxg.js +6 -0
  303. package/dist/store-CzQLgCzt.js +352 -0
  304. package/dist/task-CFt85vTy.js +1 -0
  305. package/dist/task-N0qhnKpK.js +7 -0
  306. package/dist/tool-search-BkdgVolu.js +6 -0
  307. package/dist/tools-DNgEptor.js +1 -0
  308. package/dist/tools-oQvFAnh5.js +1 -0
  309. package/dist/tools-search-D1zArRyJ.js +1 -0
  310. package/dist/turn-Cc-v-eSy.js +3 -0
  311. package/dist/types-DHBqXFE2.js +1 -0
  312. package/dist/update-check-UyRob3yy.js +1 -0
  313. package/dist/view-D-rbQ1Kz.js +4 -0
  314. package/dist/views-3TxH367C.js +2 -0
  315. package/dist/worker-BMuKKiIa.js +1 -0
  316. package/dist/worker-CIHY9L42.js +7 -0
  317. package/dist/zod-_-snqfdO.js +1 -0
  318. package/dist/zod.js +65 -1
  319. package/docs/agents/coder.md +5 -12
  320. package/docs/agents/index.md +53 -82
  321. package/docs/approvals.md +47 -0
  322. package/docs/cli/agent.md +40 -19
  323. package/docs/cli/auth.md +1 -1
  324. package/docs/cli/connection.md +27 -26
  325. package/docs/cli/flow.md +9 -9
  326. package/docs/cli/index.md +17 -15
  327. package/docs/cli/model.md +23 -21
  328. package/docs/cli/runner.md +1 -1
  329. package/docs/cli/server.md +2 -2
  330. package/docs/cli/task.md +50 -50
  331. package/docs/config.md +37 -75
  332. package/docs/connections.md +80 -0
  333. package/docs/dash.md +23 -19
  334. package/docs/flows.md +46 -213
  335. package/docs/models.md +48 -77
  336. package/docs/review.md +20 -17
  337. package/docs/runners.md +49 -0
  338. package/docs/sdk.md +49 -73
  339. package/docs/self-host.md +79 -81
  340. package/package.json +4 -5
  341. package/plugins/agents/skills/coder/SKILL.md +3 -3
  342. package/plugins/claude/.claude-plugin/plugin.json +1 -1
  343. package/plugins/claude/skills/dispatch/SKILL.md +3 -3
  344. package/plugins/cursor/.cursor-plugin/plugin.json +1 -1
  345. package/plugins/cursor/README.md +3 -3
  346. package/plugins/cursor/skills/coder/SKILL.md +3 -3
  347. package/dist/actions-BT7_eKXm.js +0 -10
  348. package/dist/adapter-BT8ECcRG.js +0 -1
  349. package/dist/agent-BA6xr8QY.js +0 -8
  350. package/dist/apps-D-v5sQJk.js +0 -367
  351. package/dist/args-CbO_Ck9Z.js +0 -11
  352. package/dist/async-XNO3nqum.js +0 -3
  353. package/dist/auth-DuXnSNf9.js +0 -1
  354. package/dist/base64url-CsVsW4Id.js +0 -1
  355. package/dist/chat-CgQdDRhs.js +0 -13
  356. package/dist/cmd-DX5ByXo3.js +0 -119
  357. package/dist/connection-DNxi2btM.js +0 -1
  358. package/dist/context-65bOofts.js +0 -7
  359. package/dist/conversation-DT-35cEt.js +0 -1
  360. package/dist/core-DwsAMCnL.js +0 -65
  361. package/dist/dash/standalone/node_modules/contextjsx/dist/index.mjs +0 -1
  362. package/dist/dash/standalone/node_modules/contextjsx/dist/jsx-runtime.mjs +0 -1
  363. package/dist/dash/standalone/node_modules/contextjsx/dist/src-BJ0QFeB8.mjs +0 -2
  364. package/dist/dash/standalone/node_modules/contextjsx/package.json +0 -70
  365. package/dist/dash/standalone/server/modules-server-server-react-server/src/agent/context/turn.dac8eb211c500271.js +0 -141
  366. package/dist/dash/standalone/server/modules-server-server-react-server/src/core/defaults.1b615366c56838a1.js +0 -57
  367. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/auth/sign-in.661b3a4139af5bd7.js +0 -11
  368. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/connect/page.0fbfdba5254f7ae5.js +0 -26
  369. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/(list)/connect-apps.f3af8cc8540719d7.js +0 -36
  370. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/(list)/page.c6efd5432c1a4a75.js +0 -65
  371. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/operator/operator-apps.a244f3199e7cf09c.js +0 -144
  372. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/connections-list.21ec9dc73ce68656.js +0 -642
  373. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/engines-list.9e116751bd34e2cc.js +0 -73
  374. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/list.083f5c665df04b1b.js +0 -156
  375. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/models-list.537f63f8e5dd085d.js +0 -410
  376. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/model-options.a96c11d11674f598.js +0 -100
  377. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/[id]/task-actions.587da79d68ab8d14.js +0 -151
  378. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/list/status.16190fdd5fd7daad.js +0 -16
  379. package/dist/dash/standalone/static/assets/chunks/action-71685b2d5ad9f359.js +0 -1
  380. package/dist/dash/standalone/static/assets/chunks/agent-pills-15da36c2cb81991b.js +0 -2
  381. package/dist/dash/standalone/static/assets/chunks/agent-settings-form-6e6a87d6e673daa8.js +0 -1
  382. package/dist/dash/standalone/static/assets/chunks/agent-toggle-ca98586e3b4ce9ae.js +0 -1
  383. package/dist/dash/standalone/static/assets/chunks/agents-grid-29c399e46b4e9e2b.js +0 -1
  384. package/dist/dash/standalone/static/assets/chunks/composer-85e0ec7163ae18b7.js +0 -1
  385. package/dist/dash/standalone/static/assets/chunks/composer-910bb87127972f62.js +0 -1
  386. package/dist/dash/standalone/static/assets/chunks/composer-data-5fed6c271a4791ca.js +0 -1
  387. package/dist/dash/standalone/static/assets/chunks/connect-apps-b73490e04ae6398d.js +0 -1
  388. package/dist/dash/standalone/static/assets/chunks/connections-list-c50f58b4b28d10bb.js +0 -1
  389. package/dist/dash/standalone/static/assets/chunks/create-link-6d64a2d5f9ce6de0.js +0 -1
  390. package/dist/dash/standalone/static/assets/chunks/credentials-list-bee95799b2319b3b.js +0 -1
  391. package/dist/dash/standalone/static/assets/chunks/custom-range-a0630599f907b30e.js +0 -1
  392. package/dist/dash/standalone/static/assets/chunks/defaults-52f30e83d7666f7a.js +0 -1
  393. package/dist/dash/standalone/static/assets/chunks/editor-b9951819f21b2e43.js +0 -6
  394. package/dist/dash/standalone/static/assets/chunks/engines-list-2720c3e8fa12b2f7.js +0 -1
  395. package/dist/dash/standalone/static/assets/chunks/format-a27067f0186e78ac.js +0 -1
  396. package/dist/dash/standalone/static/assets/chunks/instructions-affaaeff366b1725.js +0 -2
  397. package/dist/dash/standalone/static/assets/chunks/instructions-fd7402ac5aa8b50e.js +0 -1
  398. package/dist/dash/standalone/static/assets/chunks/list-d918f79562d497eb.js +0 -1
  399. package/dist/dash/standalone/static/assets/chunks/model-options-8d2170eebe0d061d.js +0 -1
  400. package/dist/dash/standalone/static/assets/chunks/models-list-12bc7aceaa52f5b0.js +0 -1
  401. package/dist/dash/standalone/static/assets/chunks/notice-57db7a1f05b7308c.js +0 -1
  402. package/dist/dash/standalone/static/assets/chunks/outcome-dialog-b219595be320108a.js +0 -1
  403. package/dist/dash/standalone/static/assets/chunks/platform-actions-1d27d2ba7eee9ff1.js +0 -1
  404. package/dist/dash/standalone/static/assets/chunks/platform-actions-dba96dcb0f6513db.js +0 -1
  405. package/dist/dash/standalone/static/assets/chunks/runners-list-36f8c5ecfcf8e9ae.js +0 -1
  406. package/dist/dash/standalone/static/assets/chunks/secrets-list-d7dbafd24dd18481.js +0 -1
  407. package/dist/dash/standalone/static/assets/chunks/segmented-8f809ebe712e92a7.js +0 -1
  408. package/dist/dash/standalone/static/assets/chunks/shared-init-6e12333f12903a62-2.js +0 -1
  409. package/dist/dash/standalone/static/assets/chunks/shared-init-cc13a835f3508618.js +0 -2
  410. package/dist/dash/standalone/static/assets/chunks/shared-init-f475017dd5811e33.js +0 -5
  411. package/dist/dash/standalone/static/assets/chunks/side-toggle-0aa237eba3dfe9c1.js +0 -1
  412. package/dist/dash/standalone/static/assets/chunks/task-681061023bdf0a49.js +0 -5
  413. package/dist/dash/standalone/static/assets/chunks/task-actions-c9e46e81604e85c5.js +0 -1
  414. package/dist/dash/standalone/static/assets/chunks/task-view-134186a544917ceb.js +0 -5
  415. package/dist/dash/standalone/static/assets/chunks/tasks-list-352a3222d878de0f.js +0 -1
  416. package/dist/dash/standalone/static/assets/chunks/versions-list-21cb854e6a7108a7.js +0 -1
  417. package/dist/dash/standalone/static/assets/connect-a550b6f3a8c00186.css +0 -1
  418. package/dist/dash/standalone/static/assets/create-param-id-da3f7e20689fe51a.css +0 -1
  419. package/dist/dash/standalone/static/assets/dash-param-org-account-9471bec93c444232.css +0 -1
  420. package/dist/dash/standalone/static/assets/dash-param-org-agents-64500e78caae32df.css +0 -1
  421. package/dist/dash/standalone/static/assets/dash-param-org-agents-new-c067c22928a2d7cc.css +0 -1
  422. package/dist/dash/standalone/static/assets/dash-param-org-agents-param-slug-9dec87710e04f949.css +0 -1
  423. package/dist/dash/standalone/static/assets/dash-param-org-agents-param-slug-edit-779c474301e04440.css +0 -1
  424. package/dist/dash/standalone/static/assets/dash-param-org-agents-param-slug-platforms-c7d594b5232630c2.css +0 -1
  425. package/dist/dash/standalone/static/assets/dash-param-org-agents-param-slug-settings-a80e62570716fdb9.css +0 -1
  426. package/dist/dash/standalone/static/assets/dash-param-org-agents-param-slug-tasks-ce278252012297b9.css +0 -1
  427. package/dist/dash/standalone/static/assets/dash-param-org-agents-param-slug-usage-d3b6d701eb8e1403.css +0 -1
  428. package/dist/dash/standalone/static/assets/dash-param-org-bcfa3de29341d5ba.css +0 -1
  429. package/dist/dash/standalone/static/assets/dash-param-org-operator-b7bc6447cc27c9ce.css +0 -1
  430. package/dist/dash/standalone/static/assets/dash-param-org-settings-6d6902345d88a687.css +0 -1
  431. package/dist/dash/standalone/static/assets/dash-param-org-settings-param-tab-85c7af9a89eef06e.css +0 -1
  432. package/dist/dash/standalone/static/assets/dash-param-org-setup-173efecd7b990c2e.css +0 -1
  433. package/dist/dash/standalone/static/assets/dash-param-org-tasks-ae0bc03f468e63cc.css +0 -1
  434. package/dist/dash/standalone/static/assets/dash-param-org-tasks-param-id-7325d8cff5be3592.css +0 -1
  435. package/dist/dash/standalone/static/assets/dash-param-org-usage-517b2a7ae462ac57.css +0 -1
  436. package/dist/dash/standalone/static/assets/global-87e1762113874559.css +0 -1
  437. package/dist/dash/standalone/static/assets/pnext-client-05df74b071ddb0b3.js +0 -1
  438. package/dist/dash/standalone/static/assets/pnext-client-2c19cca257f78ae6.js +0 -1
  439. package/dist/dash/standalone/static/assets/pnext-client-2db05dfa62642a65.js +0 -1
  440. package/dist/dash/standalone/static/assets/pnext-client-36b0d6085a073880.js +0 -1
  441. package/dist/dash/standalone/static/assets/pnext-client-576c06599e241231.js +0 -1
  442. package/dist/dash/standalone/static/assets/pnext-client-6aa0f19a30d58d63.js +0 -1
  443. package/dist/dash/standalone/static/assets/pnext-client-6b30b71f452f2f07.js +0 -1
  444. package/dist/dash/standalone/static/assets/pnext-client-6ccb4d4fff812db3.js +0 -1
  445. package/dist/dash/standalone/static/assets/pnext-client-74eb465defba421e.js +0 -1
  446. package/dist/dash/standalone/static/assets/pnext-client-8c692d12b2fd90d6.js +0 -1
  447. package/dist/dash/standalone/static/assets/pnext-client-92e17d39063a9ced.js +0 -1
  448. package/dist/dash/standalone/static/assets/pnext-client-93246aea268c2682.js +0 -1
  449. package/dist/dash/standalone/static/assets/pnext-client-9954dcbc0c579e0d.js +0 -1
  450. package/dist/dash/standalone/static/assets/pnext-client-c0dfa1cdde9a9855.js +0 -1
  451. package/dist/dash/standalone/static/assets/pnext-client-c28d38d4aafd4af6.js +0 -1
  452. package/dist/dash/standalone/static/assets/pnext-client-c2c30dcb6dc31d60.js +0 -1
  453. package/dist/dash/standalone/static/assets/pnext-client-dbf741073e11eac0.js +0 -1
  454. package/dist/dash/standalone/static/assets/pnext-client-e29194a27280333f.js +0 -1
  455. package/dist/dash/standalone/static/assets/pnext-client-f8a7e692b27caad9.js +0 -1
  456. package/dist/dash/standalone/static/assets/pnext-client-fc5b8cfcba2a9f63.js +0 -1
  457. package/dist/discover-CPZdprlQ.js +0 -1
  458. package/dist/dist-node-Bv1kCqyi.js +0 -20
  459. package/dist/docs-x-l7gjFE.js +0 -2
  460. package/dist/drive-Y-ZlgiUW.js +0 -1
  461. package/dist/env-B9JG6gwo.js +0 -1
  462. package/dist/errors-XBA-Ls4n.js +0 -10
  463. package/dist/exec-iFssTO5V.js +0 -3
  464. package/dist/executor-Dt2FFT-y.js +0 -11
  465. package/dist/http-BZfjbiov.js +0 -1
  466. package/dist/integrations-DyInAa5g.js +0 -2
  467. package/dist/load-zhcrwSRF.js +0 -2
  468. package/dist/local-D55UkW93.js +0 -5
  469. package/dist/log-view-CL3_S0IQ.js +0 -3
  470. package/dist/maintenance-BfxcatXH.js +0 -1
  471. package/dist/match-Bq4sDuCy.js +0 -1
  472. package/dist/mcp-Bta09QCU.js +0 -13
  473. package/dist/mcp-CUITALl1.js +0 -1
  474. package/dist/models-C1O2DrXx.js +0 -1
  475. package/dist/output-D95NoAA9.js +0 -16
  476. package/dist/prompt-onpyIyXK.js +0 -8
  477. package/dist/prompts-B8pKhMcu.js +0 -4
  478. package/dist/refresh-D-0K9fo3.js +0 -1
  479. package/dist/remote-CDm0YUU3.js +0 -3
  480. package/dist/runner-CTFTuaz_.js +0 -1
  481. package/dist/runners-CYTicTb7.js +0 -36
  482. package/dist/serve-Bzs_lEg-.js +0 -1
  483. package/dist/serve-CWtLyyTz.js +0 -12
  484. package/dist/serve-DE6A-rBk.js +0 -4
  485. package/dist/slack-Bo5l13Rs.js +0 -5
  486. package/dist/task-BU1JEK9X.js +0 -7
  487. package/dist/task-CPzBITsp.js +0 -1
  488. package/dist/tools-BMaKWTa6.js +0 -1
  489. package/dist/tools-CM4UCsId.js +0 -1
  490. package/dist/turn-DMvPfhb5.js +0 -3
  491. package/dist/types-D_xnfP7m.js +0 -1
  492. package/dist/views-DEdKqLm_.js +0 -5
  493. package/dist/wire-JMNPv8f6.js +0 -1
  494. package/dist/worker-BuP_Lem1.js +0 -9
  495. package/dist/worker-C1tuzq5n.js +0 -1
  496. package/dist/zod-BoqHoRCH.js +0 -1
  497. package/docs/mcp.md +0 -54
  498. /package/dist/dash/standalone/server/modules-server-server-react-server/src/core/{errors.0a735590a5412ea6.js → errors.200335e62a9d9564.js} +0 -0
  499. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/account/{page.061f6006f2685f5e.css.pnext-asset.js → page.abe7a6d16eb15c41.css.pnext-asset.js} +0 -0
  500. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/platforms/{page.c811938ae8a8f1df.css.pnext-asset.js → page.1c7947d6f79d6447.css.pnext-asset.js} +0 -0
  501. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/{settings/agent-settings-form.ca926c58d15044aa.css.pnext-asset.js → platforms/platform-step.a722e3b8539a0f85.css.pnext-asset.js} +0 -0
  502. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/{agent/hero.1bef5dca89b5942c.css.pnext-asset.js → [slug]/(tabs)/settings/agent-settings-form.bf5430862c505c55.css.pnext-asset.js} +0 -0
  503. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/{agent/instructions.446bccc375f30eeb.css.pnext-asset.js → [slug]/platforms/[app]/@/app/dash/[org]/agents/[slug]/(tabs)/platforms/page.db05694ed4113dab.css.pnext-asset.js} +0 -0
  504. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/{editor/editor.c496247a81ed832c.css.pnext-asset.js → [slug]/platforms/[app]/app-cards.d2f5c8d620066e05.css.pnext-asset.js} +0 -0
  505. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/{layout.a4efa8d807fe5416.css.pnext-asset.js → agents/agent/hero.243d85cac1f22df2.css.pnext-asset.js} +0 -0
  506. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/{settings/[tab]/@/app/dash/[org]/setup/outcome.3ad5f7ec67e5238d.css.pnext-asset.js → agents/agent/instructions.4c31196fcbf9846c.css.pnext-asset.js} +0 -0
  507. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/{settings/[tab]/connections-list.46786fe36b121a43.css.pnext-asset.js → agents/editor/editor.6b9a1d5c0a490153.css.pnext-asset.js} +0 -0
  508. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/{settings/[tab]/credentials-list.f7c27f170ec1e868.css.pnext-asset.js → layout.52abe52dcfa736d7.css.pnext-asset.js} +0 -0
  509. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/{engines-list.9927d602ebe9e7fc.css.pnext-asset.js → advanced-list.819e410e4178b328.css.pnext-asset.js} +0 -0
  510. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/{list.8cbee173a5aff98d.css.pnext-asset.js → connections-list.87962937438296f1.css.pnext-asset.js} +0 -0
  511. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/{runners-list.53c7ea80b6fb734c.css.pnext-asset.js → credentials-list.973f91751525bcb6.css.pnext-asset.js} +0 -0
  512. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/{tasks/[id]/task-view.57990cfd2bdf5c11.css.pnext-asset.js → settings/[tab]/list.69d1b62c4066015b.css.pnext-asset.js} +0 -0
  513. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/{tasks/composer.5b8687662e1629fa.css.pnext-asset.js → settings/[tab]/models-list.efd3f5781314c1d9.css.pnext-asset.js} +0 -0
  514. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/{tasks/list/tasks-list.abbbc9ace4d866e5.css.pnext-asset.js → settings/[tab]/runners-list.df35d33aba0c8b07.css.pnext-asset.js} +0 -0
  515. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/{globals.c8fd2b8b01e7077b.css.pnext-asset.js → dash/[org]/settings/model-pick.74fababc0cc0bba7.css.pnext-asset.js} +0 -0
  516. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/{responsive.ebc5f7d77b4b86a0.css.pnext-asset.js → dash/[org]/tasks/[id]/task-view.aae9fa481b9015d1.css.pnext-asset.js} +0 -0
  517. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/{comps/frame/page-head.364ec93a8e7857b3.css.pnext-asset.js → app/dash/[org]/tasks/composer.33d49ad218253703.css.pnext-asset.js} +0 -0
  518. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/{comps/frame/task-toasts.d13d9f628e530552.css.pnext-asset.js → app/dash/[org]/tasks/list/pending-approvals.07e59a9cae7ccf29.css.pnext-asset.js} +0 -0
  519. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/{comps/ui/badge.0cb1513f8b077560.css.pnext-asset.js → app/dash/[org]/tasks/list/tasks-list.f3737549b4696cc8.css.pnext-asset.js} +0 -0
  520. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/{comps/ui/button.d7f4433f4e7faa80.css.pnext-asset.js → app/globals.3b53a3feaa1d72e1.css.pnext-asset.js} +0 -0
  521. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/{comps/ui/card.f80288cc42f9bcae.css.pnext-asset.js → app/responsive.2979ffa0161a5afd.css.pnext-asset.js} +0 -0
  522. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/{ui/filter.b53f21acc3e2cfef.css.pnext-asset.js → frame/page-head.9fcc49ddf7119d75.css.pnext-asset.js} +0 -0
  523. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/{ui/menu.25b184f68cba7b46.css.pnext-asset.js → frame/task-toasts.682322f6f729b33e.css.pnext-asset.js} +0 -0
  524. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{modal.9db07d368dcf5981.css.pnext-asset.js → badge.8e2a9842b28f44a6.css.pnext-asset.js} +0 -0
  525. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{segmented.0bd8652fdbc05eb0.css.pnext-asset.js → button.2b18ba19ae01e2bb.css.pnext-asset.js} +0 -0
  526. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{sentinel.1e3ec9bd6008d811.css.pnext-asset.js → card.4ab7ad42a0770726.css.pnext-asset.js} +0 -0
  527. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{tabs.ca13e40ff54128d0.css.pnext-asset.js → filter.6fdff1e7355aaa0e.css.pnext-asset.js} +0 -0
  528. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{toolbar.19e1ce5224a23acf.css.pnext-asset.js → menu.cd96fa0495fe0fde.css.pnext-asset.js} +0 -0
@@ -1 +0,0 @@
1
- "use client";import{a}from"./outcome-dialog-5cf575a5e6921a5d.js";import"./shared-init-cc13a835f3508618.js";import"./shared-init-f475017dd5811e33.js";import"./shared-init-6e12333f12903a62-2.js";export{a as OutcomeDialog};
@@ -1 +0,0 @@
1
- "use client";import{a,b,c,d,e,f}from"./platform-actions-dba96dcb0f6513db.js";import"./copy-445c11202f136275.js";import"./segmented-8f809ebe712e92a7.js";import"./outcome-dialog-5cf575a5e6921a5d.js";import"./confirm-c29a1db0130638d2.js";import"./field-b82a0f895266791c.js";import"./action-71685b2d5ad9f359.js";import"./format-a27067f0186e78ac.js";import"./shared-init-cc13a835f3508618.js";import"./shared-init-cc13a835f3508618.js";import"./shared-init-cc13a835f3508618.js";import"./wular-pnext-6e12333f12903a62-0.js";import"./shared-init-cc13a835f3508618.js";import"./shared-init-f475017dd5811e33.js";import"./shared-init-f475017dd5811e33.js";import"./shared-init-6e12333f12903a62-2.js";import"./shared-init-6e12333f12903a62-2.js";import"./shared-init-6e12333f12903a62-2.js";export{d as CreateDialog,e as DriftQueue,c as InstallButton,f as PlatformActions,b as createForm,a as postTo};
@@ -1 +0,0 @@
1
- import{a as W,b as P}from"./copy-445c11202f136275.js";import{a as pe}from"./segmented-8f809ebe712e92a7.js";import{a as me}from"./outcome-dialog-5cf575a5e6921a5d.js";import{a as ue}from"./confirm-c29a1db0130638d2.js";import{a as M}from"./field-b82a0f895266791c.js";import{b as T}from"./action-71685b2d5ad9f359.js";import{h as B}from"./format-a27067f0186e78ac.js";import{$1c as ce,$1d as E}from"./shared-init-cc13a835f3508618.js";import{$3a as I,$3j as R,$3x as le}from"./shared-init-cc13a835f3508618.js";import{$2j as ie,$2o as re}from"./shared-init-cc13a835f3508618.js";import{$0a as O}from"./shared-init-cc13a835f3508618.js";import{$0c as b}from"./shared-init-f475017dd5811e33.js";import{$1B as ae,$1L as $,$1a as e,$1b as K,$1j as Y,$1p as Z,$1q as ee,$1t as te,$1w as ne,$1y as oe,$1z as se}from"./shared-init-f475017dd5811e33.js";import{$3c as A,$3h as w,$3j as F,$3l as H}from"./shared-init-6e12333f12903a62-2.js";var j={private:{text:"Private",note:()=>"Only the account that owns it can install it.",owner:"Owns it and is the only place it installs. Leave empty for your personal account."},public:{text:"Public",note:o=>`Any account can install it. ${o} asks where on each install.`,owner:"Manages its settings; it still installs anywhere. Leave empty for your personal account."}},ge=(o,t,s={})=>t().then(({tx:i})=>b.apps.finish(o,{...s,tx:i})).then(({url:i})=>location.assign(i)),N=o=>o.split(/\*\*(.+?)\*\*/).map((t,s)=>s%2?e("span",{class:"ui-name",children:t},s):t),Ae=o=>o?.focus();function he({url:o,fields:t}){let s=Object.assign(document.createElement("form"),{method:"post",action:o});for(let[i,l]of Object.entries(t))s.append(Object.assign(document.createElement("input"),{type:"hidden",name:i,value:l}));document.body.append(s),s.submit()}var Te=(o,t,s)=>o&&!t.public?Promise.resolve(o):s().then(({post:i,create:l})=>i?void he(i):l??o),de=(o,t="",s=!1)=>({...Object.fromEntries(new URL(o,location.href).searchParams),...t?{owner:t}:{},...s?{public:"1"}:{}});function fe(){return e("p",{class:"flash err",children:["This server is only reachable from this machine, so"," ",e("a",{href:"#tunnel",onClick:o=>{o.currentTarget.closest("dialog").close(),document.querySelector("#tunnel details")?.setAttribute("open","")},children:"set a public address"})," ","first."]})}function be(){let o=T({toast:"Not installed",leaves:!0}),t=s=>void o.run("install",async()=>{location.href=(await b.apps.install(s,location.pathname)).url});return{busy:!!o.pending,install:t}}function Ke({app:o,label:t}){let{busy:s,install:i}=be();return e($,{loading:s,onClick:()=>i(o),children:t})}function Be({app:o,name:t,onClose:s}){let i=T({toast:"Not removed",refresh:!0,leaves:!0}),l=()=>void i.run("remove",async()=>{await b.apps.remove(o.id),history.replaceState(history.state,"",location.pathname)});return e(ue,{open:!0,title:`Remove ${o.name}?`,body:e(A,{children:["Coder forgets this app and its installs here, and the agent stops answering through it on"," ",t,".",e("br",{}),"Delete the app itself on ",t,o.settingsUrl?e(A,{children:[" ","in"," ",e("a",{class:"link",href:o.settingsUrl,target:"_blank",rel:"noreferrer",children:"its settings"})]}):null,"."]}),confirmLabel:"Remove",busy:!!i.pending,onConfirm:l,onClose:s})}function Re({integration:o,step:t,start:s,unreachable:i,onClose:l}){let h=T({leaves:!0}),r=!!h.pending,m=H(null),[c,u]=w(()=>Object.fromEntries(t.fields.map(n=>[n.name,n.options?.[0]?.value??""]))),f=({when:n})=>!n||c[n.field]===n.equals,C=t.steps.filter(f),y=t.fields.filter(f),d=(n,g)=>{let v=m.current.closest("dialog");if(!v.style.marginTop){let{top:S}=v.getBoundingClientRect();Object.assign(v.style,{marginTop:`${S}px`,maxHeight:`calc(100dvh - ${S+24}px)`})}u({...c,[n]:g})},k=n=>{n.preventDefault();let g=n.currentTarget;h.run("create",()=>ge(o,s,{...t.hidden,...Object.fromEntries(new FormData(g))}))};return e(O,{class:"create-dialog",title:t.submit,dismiss:!0,busy:r,onSubmit:k,onClose:l,actions:e($,{type:"submit",rightIcon:ae,loading:r,children:t.submit}),children:[i?e(fe,{}):null,e("p",{ref:m,class:"muted",children:t.intro}),y.filter(n=>n.options).map(n=>e(M,{label:n.label,hint:n.hint,group:!0,children:e(le,{label:n.label,name:n.name,options:n.options.map(({value:g,label:v})=>[g,v]),value:c[n.name],onChange:g=>d(n.name,g),disabled:r})},n.name)),C.length?e(A,{children:[e("div",{class:"create-link",children:[e($,{variant:"secondary",class:"create-open",href:t.link,external:!0,children:["Open ",new URL(t.link).host]}),e(W,{value:t.link,label:"Copy link"})]}),e("ol",{class:"create-steps",children:C.map(({text:n,link:g,copy:v=[]})=>e("li",{children:[e("p",{children:N(n)}),g&&g!==t.link?e("div",{class:"create-link",children:[e("a",{href:g,target:"_blank",rel:"noreferrer",children:g.replace(/^https:\/\//,"")}),e(W,{value:g,label:"Copy link"})]}):null,v.map(S=>e(P,{value:S,label:"Copy"},S))]},n))})]}):null,t.notes?.length?e("details",{class:"create-more",children:[e("summary",{children:"Advanced"}),e("ul",{children:t.notes.map(n=>e("li",{children:N(n)},n))})]}):null,y.filter(n=>!n.options).map(n=>e(M,{label:n.label,hint:n.hint??(n.required?void 0:"optional"),children:e("input",{ref:n.when?Ae:void 0,name:n.name,placeholder:n.placeholder,required:n.required,autocomplete:"off",spellcheck:!1})},n.name))]})}function Ee({integration:o,name:t,publicApps:s,organizationApps:i,unreachable:l,onSubmit:h,onClose:r}){let[m,c]=w("private"),u=T({leaves:!0}),f=!!u.pending,C=H(null);F(()=>{i&&b.installations.list(void 0,{limit:200,active:!0}).then(d=>{let[k]=d.map(n=>n.value).filter(n=>n.integration===o&&n.account.type&&n.account.type!=="User").map(n=>n.account.login).sort();k&&C.current&&!C.current.value&&(C.current.value=k)}).catch(d=>console.error("coder dashboard: installations",d))},[]);let y=d=>{d.preventDefault();let k=new FormData(d.currentTarget);u.run("submit",()=>h(String(k.get("owner")??"").trim(),m==="public"))};return e(O,{class:"create-dialog",title:`Create ${t} app`,dismiss:!0,busy:f,onSubmit:y,onClose:r,actions:e($,{type:"submit",rightIcon:Z,loading:f,children:["Continue to ",t]}),children:[l?e(fe,{}):null,s?e(M,{label:"Who can install it",group:!0,children:[e(pe,{label:"Who can install it",options:Object.entries(j).map(([d,{text:k}])=>[d,k]),value:m,onChange:d=>c(d),disabled:f}),e("small",{class:"where-note",children:j[m].note(t)})]}):null,i?e(M,{label:"Owner",hint:j[m].owner,children:e("input",{ref:C,name:"owner",placeholder:"your-org",autocomplete:"off",spellcheck:!1})}):null]})}function ye({app:o,name:t,check:s,onClose:i}){let l=T({toast:`${t} app not updated`,leaves:!0}),h=!!l.pending,r=!s.changed,m=c=>{let u=c.currentTarget.closest("dialog");l.run("confirm",async()=>{await b.apps.update(o.id),u.close()})};return e(O,{class:"create-dialog",title:`Update ${o.name} on ${t}`,busy:h,cancel:r?"Close":"Cancel",onClose:i,actions:r&&!s.confirm?null:e(A,{children:[s.confirm&&!r?e($,{variant:"secondary",loading:h,onClick:m,children:"I updated it"}):null,e($,{href:s.url,external:!0,children:s.label})]}),children:s.confirm?e(A,{children:[e("p",{class:"muted",children:r?`Up to date on ${t}. The app uses these values.`:`${t} cannot show Coder the app's settings. Enter the values marked changed in the app on ${t}, then confirm.`}),e("ul",{class:"create-steps update-values",children:s.lines.map(({text:c,copy:u,changed:f})=>e("li",{children:[e("p",{children:[c," ",f?e(re,{tone:"warn",children:"changed"}):null]}),u?e(P,{value:u,label:"Copy"}):null]},`${c} ${u}`))})]}):r?e("p",{children:["Up to date on ",t,"."]}):e(A,{children:[e("p",{class:"muted",children:["The app on ",t," differs from what the agent needs now. Make these changes in its settings and save them."]}),e("ol",{class:"create-steps",children:s.lines.map(({text:c,copy:u})=>e("li",{children:[e("p",{children:N(c)}),u?e(P,{value:u,label:"Copy"}):null]},c))})]})})}function Ye({apps:o}){let t=I(),[s,i]=w(o),[l,h]=w(),r=s[0],m=c=>{i(c),h(void 0);let[u]=c;if(!u){history.replaceState(history.state,"",location.pathname),t.refresh();return}b.apps.drift(u.id).then(h).catch(f=>{E(`Not read from ${u.platform}`,B(f)),m(c.slice(1))})};return F(()=>m(o),[]),r&&l?e(ye,{app:r,name:r.platform,check:l,onClose:()=>m(s.slice(1))}):null}function Me({name:o,issues:t,title:s=`Setting up ${o} failed`,text:i="Coder ran into an unexpected error, so nothing was set up. Try again, and if it fails again, report it on GitHub.",onRetry:l}){return e(me,{ok:!1,title:s,text:i,issues:t,focus:"actions",children:e($,{autofocus:!0,onClick:r=>{r.currentTarget.closest("dialog").close(),l()},children:"Try again"})})}function Ze({integration:o,name:t,apps:s,installed:i,reinstall:l,createUrl:h,create:r,unreachable:m,publicApps:c=!1,organizationApps:u=!1,shared:f=!1,appUpdate:C,failed:y}){let d=I(),{busy:k,install:n}=be(),[g,v]=w(!1),[S,q]=w(),[ve,D]=w(!1),[x,z]=w(),[L,_]=w(),Ce=c||u,G=s.find(a=>a.id===l)??s[0],ke=a=>(v(!0),b.apps.create(o,a).then(({post:p})=>p&&he(p)).catch(p=>{throw v(!1),p})),we=a=>(v(!0),ge(o,()=>b.apps.create(o,a),r.hidden).catch(p=>{throw v(!1),p})),Q=a=>r?r.fields.length?Te(r,a,()=>b.apps.create(o,a)).then(p=>{p&&(q({state:a,step:p}),D(!1))}):we(a):ke(a),U=()=>Ce?D(!0):void Q(de(h)).catch(a=>E("App not created",B(a))),V=S?e(Re,{integration:o,step:S.step,start:()=>b.apps.create(o,S.state),unreachable:m,onClose:()=>q(void 0)}):null,X=ve?e(Ee,{integration:o,name:t,publicApps:c,organizationApps:u,unreachable:m,onSubmit:(a,p)=>Q(de(h,a,p)),onClose:()=>D(!1)}):null,$e=a=>C==="push"?void b.apps.update(a.id).then(()=>{ce(`${t} app updated`,`${a.name} now matches the agent.`,"success"),d.refresh()}).catch(p=>E(`${t} app not updated`,B(p))):void b.apps.drift(a.id).then(p=>_({app:a,check:p})).catch(p=>E(`Not read from ${t}`,B(p))),Se=x&&s.some(a=>a.id===x.id)?e(Be,{app:x,name:t,onClose:()=>z(void 0)}):null,J=y?e(Me,{name:y.name,issues:y.issues,title:y.title,text:y.text,onRetry:()=>s.some(a=>a.id===y.app)?n(y.app):U()}):null;return s.length?e(A,{children:[e("span",{class:"split",children:[i?null:e($,{size:"sm",loading:k,onClick:()=>n(G.id),children:l?"Reinstall":"Install"}),e(ie,{button:i?"icon":{size:"sm",class:"split-more"},label:`More for ${o}`,wide:!0,summary:e(K,{d:i?oe:Y}),children:[s.map(a=>{if(!i&&a===G)return null;let p=s.length>1?` ${a.name}`:"";return e(R,{icon:se,title:`Install${p}`,sub:`On its owner's account, or any account if it is public on ${t}.`,onClick:()=>n(a.id)},a.id)}),f?null:e(R,{icon:ee,onClick:U,title:`Create another ${t} app`,sub:"A separate app with its own name."}),f||!C?null:s.map(a=>e(R,{icon:ne,title:s.length>1?`Update ${a.name} on ${t}`:`Update on ${t}`,sub:a.changed?"Changed since last update":void 0,onClick:()=>$e(a)},`update ${a.id}`)),f?null:s.map(a=>e(R,{icon:te,title:`Remove ${a.name}`,danger:!0,onClick:()=>z(a)},`remove ${a.id}`))]})]}),V,X,Se,J,L?e(ye,{app:L.app,name:t,check:L.check,onClose:()=>{_(void 0),d.refresh()}}):null]}):e(A,{children:[e($,{size:"sm",loading:g,onClick:U,children:r&&!r.fields.length?r.submit:"Create app"}),V,X,J]})}export{he as a,Te as b,Ke as c,Re as d,Ye as e,Ze as f};
@@ -1 +0,0 @@
1
- "use client";import{b as C}from"./copy-445c11202f136275.js";import{e as tn}from"./composer-data-5fed6c271a4791ca.js";import{d as F}from"./model-options-8d2170eebe0d061d.js";import{a as en}from"./types-3eca2c7f47c46054.js";import{c as on}from"./list-d918f79562d497eb.js";import"./confirm-c29a1db0130638d2.js";import{a as $}from"./field-b82a0f895266791c.js";import"./defaults-52f30e83d7666f7a.js";import{a as nn,b as O}from"./action-71685b2d5ad9f359.js";import{d as W,e as _}from"./format-a27067f0186e78ac.js";import{$1g as Z}from"./shared-init-cc13a835f3508618.js";import{$3j as D,$3l as Y,$3x as L}from"./shared-init-cc13a835f3508618.js";import{$2a as X,$2d as I,$2j as E,$2o as A}from"./shared-init-cc13a835f3508618.js";import"./wular-pnext-6e12333f12903a62-0.js";import"./shared-init-cc13a835f3508618.js";import{$0c as d}from"./shared-init-f475017dd5811e33.js";import{$1F as Q,$1I as S,$1L as T,$1a as n,$1b as v,$1j as z,$1n as q,$1q as G,$1r as U,$1y as V,$1z as J}from"./shared-init-f475017dd5811e33.js";import"./shared-init-6e12333f12903a62-2.js";import"./shared-init-6e12333f12903a62-2.js";import{$3c as w,$3h as u,$3j as P,$3l as H}from"./shared-init-6e12333f12903a62-2.js";var K={local:q,"local-docker":Q,"vercel-sandbox":G,"github-actions":U,http:S},dn=new Set(["default","local"]);function cn({runner:t,tested:o}){return o==="testing"?n("span",{class:"sub runner-status",children:[n("i",{class:"dot"}),"Testing\u2026"]}):o?n("span",{class:`sub runner-status ${o.ok?"ok":"bad"}`,children:[n("i",{class:"dot"}),o.ok?`Reached in ${W(o.ms)}`:o.detail]}):n("span",{class:`sub runner-status${t.online?" ok":""}`,children:[n("i",{class:"dot"}),t.online?"Online":t.lastSeen?`Last seen ${_(t.lastSeen)}`:"Not seen yet"]})}function mn({runner:t,manage:o,onChange:r}){let[l,b]=u(!1),[p,s]=u(!1),[c,a]=u(),m=H(null);P(()=>m.current?.select(),[p]);let R=dn.has(t.id),k=on(o&&!R?{title:`Remove ${t.name}?`,body:"Its tasks go to another runner.",onRemove:()=>r(()=>d.runners.remove(t.id))}:void 0),h=()=>{a("testing"),d.runners.test(t.id).then(a,f=>{a(void 0),nn(f)})};return n("tr",{children:[n("td",{children:[n("span",{class:"row-title",children:[n("b",{class:"runner-name",children:[n(v,{d:K[t.kind]??S}),p?n("input",{class:"runner-rename","aria-label":"Runner name",defaultValue:t.name,ref:m,onKeyDown:f=>{let y=f.currentTarget.value.trim();f.key==="Escape"&&s(!1),f.key==="Enter"&&y&&r(()=>d.runners.update(t.id,{name:y})).then(()=>s(!1))},onBlur:()=>s(!1)}):t.name]}),n(A,{children:t.scope}),t.default?n(A,{tone:"acc",children:"default"}):null]}),n(cn,{runner:t,tested:c})]}),n("td",{class:"acts",children:[t.default||!o?null:n(T,{variant:"secondary",size:"sm",loading:l,onClick:()=>{b(!0),r(()=>d.runners.update(t.id,{default:!0})).finally(()=>b(!1))},children:"Make default"}),n(E,{button:"icon",label:"Actions",summary:n(v,{d:V}),children:[n(D,{title:"Test",onClick:h}),o&&!R?n(D,{title:"Rename",onClick:()=>s(!0)}):null,k.item]}),k.dialog]})]})}function pn({pairing:t,onCancel:o}){return n("div",{class:"runner-pair",children:[n("details",{class:"runner-step",children:[n("summary",{children:"Install the Coder CLI on that computer, if it is not there yet"}),n(C,{value:"npm install -g @wular/coder"})]}),n("div",{class:"runner-step",children:[n("p",{children:"Run this there. The token works once and expires in 15 minutes."}),n(C,{value:t.command})]}),n("details",{class:"runner-step",children:[n("summary",{children:"Behind a firewall? This server has to reach that computer over HTTPS"}),n("p",{children:["Open a tunnel on that computer first, then add its address to the command above as"," ",n("code",{children:"--runner-url"}),"."]}),n(C,{value:"cloudflared tunnel --url http://localhost:4100"})]}),n("div",{class:"runner-wait",children:[n(I,{label:"Waiting for that computer to connect",inline:!0,dots:!0}),n(T,{variant:"secondary",danger:!0,size:"sm",onClick:o,children:"Cancel"})]})]})}function fn({catalog:t,admin:o,personal:r,known:l,onAdded:b}){let[p,s]=u(),[c,a]=u(r?"personal":"workspace"),m=O(),R=!!m.pending,[k,h]=u(),[f,y]=u(l),N=!!k&&l.some(e=>!f.includes(e)),x=N?void 0:p,g=N?void 0:k,i=t.find(e=>e.kind===x);P(()=>{if(!g)return;let e=setTimeout(j,Math.min(g.expiresAt-Date.now(),15*6e4));return()=>clearTimeout(e)},[g]);let j=()=>{h(void 0),s(void 0)},an=e=>{h(void 0),s(e.kind),e.connect==="pair"&&(y(l),m.run("pair",async()=>h(await d.runners.pair({scope:c}))).then(B=>B||s(void 0)))};return n("form",{class:"runner-add",method:"post",onSubmit:async e=>{if(e.preventDefault(),!i||R)return;let B=Object.fromEntries([...new FormData(e.currentTarget)].map(([M,ln])=>[M,String(ln).trim()])),{name:sn,...rn}=B;await m.run("add",async()=>{await d.runners.add({kind:i.kind,name:sn||i.name,scope:c,config:Object.fromEntries(Object.entries(rn).filter(([,M])=>M))}),b(await d.runners.list()),s(void 0)})},children:[n("div",{class:"runner-pick",children:[n(E,{button:{variant:"secondary"},label:"Runner kind",align:"left",wide:!0,summary:n(w,{children:[n(v,{d:i?K[i.kind]:J}),i?i.name:"Add a runner",n(v,{d:z})]}),children:t.filter(e=>e.available).map(e=>n(Y,{on:e.kind===x,onPick:()=>an(e),icon:K[e.kind]??S,sub:e.available?e.description:e.reason,children:e.name},e.kind))}),i?.connect==="fields"?n(w,{children:[i.help?n("p",{class:"muted runner-help",children:i.help}):null,n("div",{class:"add-grid",children:[n($,{label:"Name",hint:"shown in the list",children:n("input",{name:"name",placeholder:i.name,autocomplete:"off"})}),i.fields.map(e=>n($,{label:e.label,hint:e.hint??(e.optional?"optional":void 0),children:n("input",{name:e.key,type:e.secret?"password":"text",placeholder:e.placeholder,required:!e.optional,autocomplete:"off"})},`${i.kind}:${e.key}`))]})]}):null,i?.connect==="fields"?n("div",{class:"runner-foot",children:[r?n(L,{label:"Who can use this runner",options:F,value:o?c:"personal",onChange:a,disabled:!o}):null,n(T,{type:"submit",loading:R,children:"Add runner"})]}):n(w,{children:[i&&r?n(L,{label:"Who can use this runner",options:F,value:o?c:"personal",onChange:a,disabled:!o||!!g}):null,R&&!g?n(I,{label:"Pairing",inline:!0}):null]})]}),g?n(pn,{pairing:g,onCancel:j}):null]})}function Nn({first:t,me:o}){let[r,l]=u(t),b=O(),p=en(o),s=tn(r.items);Z(({items:a})=>l(m=>({...m,items:a})));let c=a=>b.run("change",async()=>{await a(),l(await d.runners.list())});return n(X,{title:"Runners",count:s.length,children:[n("div",{class:"table-scroll",children:n("table",{class:"rows settings",children:n("tbody",{children:s.map(a=>n(mn,{runner:a,manage:a.scope==="personal"||p,onChange:c},a.id))})})}),n(fn,{catalog:r.catalog,admin:p,personal:!!o.user,known:s.map(a=>a.id),onAdded:l})]})}export{Nn as RunnersList};
@@ -1 +0,0 @@
1
- "use client";import{e as N}from"./model-options-8d2170eebe0d061d.js";import{f as I}from"./list-d918f79562d497eb.js";import"./confirm-c29a1db0130638d2.js";import"./defaults-52f30e83d7666f7a.js";import{a as A,b as E}from"./action-71685b2d5ad9f359.js";import"./format-a27067f0186e78ac.js";import"./shared-init-cc13a835f3508618.js";import{$3x as T}from"./shared-init-cc13a835f3508618.js";import{$2a as B,$2o as m}from"./shared-init-cc13a835f3508618.js";import"./wular-pnext-6e12333f12903a62-0.js";import"./shared-init-cc13a835f3508618.js";import{$0c as r}from"./shared-init-f475017dd5811e33.js";import{$1L as l,$1N as R,$1a as t,$1z as C}from"./shared-init-f475017dd5811e33.js";import"./shared-init-6e12333f12903a62-2.js";import"./shared-init-6e12333f12903a62-2.js";import{$3c as h,$3h as a}from"./shared-init-6e12333f12903a62-2.js";function G({first:_,local:u,admin:p}){let[s,f]=a(_),[w,v]=a(!1),[g,D]=a(p||u?"":"me"),[P,y]=a(""),c=E(),i=!!c.pending,b=w||!s.length,k=e=>f(n=>n.some(o=>o.id===e.id)?n.map(o=>o.id===e.id?e:o):[...n,e]);return t(B,{title:"Task secrets",count:s.length||void 0,actions:b?null:t(R,{icon:C,label:"Add a task secret",onClick:()=>v(!0)}),children:t("div",{class:"cred-engine",children:[t("p",{class:"muted cred-note",children:"Tasks read these as environment variables, like a test API key or a deploy token."}),s.length?t("table",{class:"rows creds",children:t("tbody",{children:s.map(e=>t(I,{title:e.env??e.name,badges:t(h,{children:[t(m,{children:e.owner?e.mine?"personal":"member":"workspace"}),e.status==="ok"?null:t(m,{tone:"warn",children:"needs a new value"})]}),actions:P===e.id?t("form",{class:"cred-add",method:"post",onSubmit:n=>{n.preventDefault();let o=String(new FormData(n.currentTarget).get("key")??"");o.trim()&&c.run("renew",async()=>{k(await r.connections.update(e.id,{key:o.trim()})),y("")})},children:[t("input",{name:"key",type:"password","aria-label":`New value for ${e.env??e.name}`,placeholder:"New value",autocomplete:"off","aria-busy":i,ref:n=>n?.focus()}),t(l,{type:"submit",loading:i,children:"Save"})]}):t(l,{variant:"ghost",size:"sm",onClick:()=>y(e.id),children:e.status==="ok"?"Replace":"Reconnect"}),remove:{title:`Remove ${e.env??e.name}?`,body:"Tasks stop getting it, and its value is deleted.",onRemove:()=>r.connections.remove(e.id).then(()=>f(n=>n.filter(o=>o.id!==e.id)),A)}},e.id))})}):null,b?t("div",{class:"cred-new",children:t("form",{class:"cred-add",method:"post",onSubmit:e=>{e.preventDefault();let n=e.currentTarget,o=new FormData(n),d=String(o.get("env")??"").trim(),S=String(o.get("key")??"").trim();!d||!S||c.run("add",async()=>{k(await r.connections.add({name:d,provider:"env",key:S,keyIn:{env:d},...g?{owner:"me"}:{}})),n.reset(),v(!1)},{toast:"Not saved"})},children:[t("input",{name:"env",class:"mono cred-var","aria-label":"Secret variable",placeholder:"STRIPE_SECRET_KEY",pattern:"[A-Za-z_][A-Za-z0-9_]*",autocomplete:"off",spellcheck:!1,required:!0}),t("input",{name:"key",type:"password","aria-label":"Secret value",placeholder:"Value",autocomplete:"off","aria-busy":i,required:!0}),p&&!u?t(T,{label:"Who can use this secret",options:N,value:g,onChange:D}):null,t(l,{type:"submit",loading:i,children:"Add"})]})}):null]})})}export{G as TaskSecrets};
@@ -1 +0,0 @@
1
- import{$1a as t,$1e as f}from"./shared-init-f475017dd5811e33.js";function w({label:d,options:n,value:a,onChange:s,link:l,class:i,disabled:m,children:c}){if(!s)return t("div",{class:i?`seg-btns ${i}`:"seg-btns",role:"group","aria-label":d,children:[n.map(([e,r])=>l?t(f,{...l(e),"aria-current":e===a?"page":void 0,children:r},e):t("a",{children:r},e)),c]});let u=Math.max(0,n.findIndex(([e])=>e===a));return t("div",{class:i?`seg-btns ${i}`:"seg-btns",role:"radiogroup","aria-label":d,onKeyDown:e=>{let r=e.currentTarget.closest("form");if(e.key==="Enter"&&r)return e.preventDefault(),r.requestSubmit();let o={ArrowRight:1,ArrowDown:1,ArrowLeft:-1,ArrowUp:-1}[e.key];if(!o)return;e.preventDefault();let p=(u+o+n.length)%n.length;s(n[p][0]),e.currentTarget.children[p]?.focus()},children:n.map(([e,r],o)=>t("button",{type:"button",role:"radio","aria-checked":e===a,tabIndex:o===u?0:-1,disabled:m,onClick:()=>s(e),children:r},e))})}export{w as a};
@@ -1 +0,0 @@
1
- var st={observedLocationKey:V()};function V(){return location.pathname+location.search}var ke=[];function ct(){return ke.splice(0)}var Ot,Ne;function Te(t){return/^[\u0000-\u0020]*javascript:/i.test(t)}function Mt(t){return Te(t)?(Ot?Ot(t):window.dispatchEvent(new CustomEvent("pnext:blocked-javascript-url",{detail:t})),!0):!1}function Y(t){let e;try{e=new URL(t,location.href)}catch{return null}return e.origin!==location.origin||Ne?.(e)?null:e}function Ut(t){let e=t.target;return e instanceof Element?e.closest("a[data-pnext-link]"):null}function ft(t){if(t.defaultPrevented||t.button!==0||t.metaKey||t.ctrlKey||t.shiftKey||t.altKey)return null;let e=Ut(t);if(!e||e.target&&e.target!=="_self"||e.hasAttribute("download"))return null;let n=e.getAttribute("data-pnext-blocked-href")??e.getAttribute("href");if(!n)return null;if(Mt(n))return t.preventDefault(),null;let o=e.getAttribute("data-pnext-replace")==="true",i=Y(n);return i?{link:e,url:i,replace:o,scroll:e.getAttribute("data-pnext-scroll")!=="false"}:(o&&(t.preventDefault(),window.location.replace(n)),null)}var at=new Map;window.__PNEXT_REGISTER_ENTRY__=(t,e)=>{let n=jt(t);at.has(n)||at.set(n,e)};function Ce(){return(window.__PNEXT_ROUTER_IMPORTS__??0)>0}function jt(t){return new URL(t,location.href).href}var it,x,Jt,Se,O,Dt,Qt,te,pt,J,W,ee,gt,ht,mt,Ae,et={},nt=[],Pe=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i,X=Array.isArray;function I(t,e){for(var n in e)t[n]=e[n];return t}function bt(t){t&&t.parentNode&&t.parentNode.removeChild(t)}function T(t,e,n){var o,i,r,a={};for(r in e)r=="key"?o=e[r]:r=="ref"?i=e[r]:a[r]=e[r];if(arguments.length>2&&(a.children=arguments.length>3?it.call(arguments,2):n),typeof t=="function"&&t.defaultProps!=null)for(r in t.defaultProps)a[r]===void 0&&(a[r]=t.defaultProps[r]);return Q(t,a,o,i,null)}function Q(t,e,n,o,i){var r={type:t,props:e,key:n,ref:o,__k:null,__:null,__b:0,__e:null,__c:null,constructor:void 0,__v:i??++Jt,__i:-1,__u:0};return i==null&&x.vnode!=null&&x.vnode(r),r}function q(t){return t.children}function j(t,e){this.props=t,this.context=e}function F(t,e){if(e==null)return t.__?F(t.__,t.__i+1):null;for(var n;e<t.__k.length;e++)if((n=t.__k[e])!=null&&n.__e!=null)return n.__e;return typeof t.type=="function"?F(t):null}function Re(t){if(t.__P&&t.__d){var e=t.__v,n=e.__e,o=[],i=[],r=I({},e);r.__v=e.__v+1,x.vnode&&x.vnode(r),xt(t.__P,r,e,t.__n,t.__P.namespaceURI,32&e.__u?[n]:null,o,n??F(e),!!(32&e.__u),i),r.__v=e.__v,r.__.__k[r.__i]=r,le(o,r,i),e.__e=e.__=null,r.__e!=n&&ne(r)}}function ne(t){if((t=t.__)!=null&&t.__c!=null)return t.__e=t.__c.base=null,t.__k.some(function(e){if(e!=null&&e.__e!=null)return t.__e=t.__c.base=e.__e}),ne(t)}function Bt(t){(!t.__d&&(t.__d=!0)&&O.push(t)&&!rt.__r++||Dt!=x.debounceRendering)&&((Dt=x.debounceRendering)||Qt)(rt)}function rt(){try{for(var t,e=1;O.length;)O.length>e&&O.sort(te),t=O.shift(),e=O.length,Re(t)}finally{O.length=rt.__r=0}}function re(t,e,n,o,i,r,a,p,m,s,v){var l,y,h,N,C,E,g,b=o&&o.__k||nt,$=e.length;for(m=$e(n,e,b,m,$),l=0;l<$;l++)(h=n.__k[l])!=null&&(y=h.__i!=-1&&b[h.__i]||et,h.__i=l,E=xt(t,h,y,i,r,a,p,m,s,v),N=h.__e,h.ref&&y.ref!=h.ref&&(y.ref&&wt(y.ref,null,h),v.push(h.ref,h.__c||N,h)),C==null&&N!=null&&(C=N),(g=!!(4&h.__u))||y.__k===h.__k?(m=oe(h,m,t,g),g&&y.__e&&(y.__e=null)):typeof h.type=="function"&&E!==void 0?m=E:N&&(m=N.nextSibling),h.__u&=-7);return n.__e=C,m}function $e(t,e,n,o,i){var r,a,p,m,s,v=n.length,l=v,y=0;for(t.__k=new Array(i),r=0;r<i;r++)(a=e[r])!=null&&typeof a!="boolean"&&typeof a!="function"?(typeof a=="string"||typeof a=="number"||typeof a=="bigint"||a.constructor==String?a=t.__k[r]=Q(null,a,null,null,null):X(a)?a=t.__k[r]=Q(q,{children:a},null,null,null):a.constructor===void 0&&a.__b>0?a=t.__k[r]=Q(a.type,a.props,a.key,a.ref?a.ref:null,a.__v):t.__k[r]=a,m=r+y,a.__=t,a.__b=t.__b+1,p=null,(s=a.__i=Le(a,n,m,l))!=-1&&(l--,(p=n[s])&&(p.__u|=2)),p==null||p.__v==null?(s==-1&&(i>v?y--:i<v&&y++),typeof a.type!="function"&&(a.__u|=4)):s!=m&&(s==m-1?y--:s==m+1?y++:(s>m?y--:y++,a.__u|=4))):t.__k[r]=null;if(l)for(r=0;r<v;r++)(p=n[r])!=null&&(2&p.__u)==0&&(p.__e==o&&(o=F(p)),ue(p,p));return o}function oe(t,e,n,o){var i,r;if(typeof t.type=="function"){for(i=t.__k,r=0;i&&r<i.length;r++)i[r]&&(i[r].__=t,e=oe(i[r],e,n,o));return e}t.__e!=e&&(o&&(e&&t.type&&!e.parentNode&&(e=F(t)),n.insertBefore(t.__e,e||null)),e=t.__e);do e=e&&e.nextSibling;while(e!=null&&e.nodeType==8);return e}function ie(t,e){return e=e||[],t==null||typeof t=="boolean"||(X(t)?t.some(function(n){ie(n,e)}):e.push(t)),e}function Le(t,e,n,o){var i,r,a,p=t.key,m=t.type,s=e[n],v=s!=null&&(2&s.__u)==0;if(s===null&&p==null||v&&p==s.key&&m==s.type)return n;if(o>(v?1:0)){for(i=n-1,r=n+1;i>=0||r<e.length;)if((s=e[a=i>=0?i--:r++])!=null&&(2&s.__u)==0&&p==s.key&&m==s.type)return a}return-1}function Ft(t,e,n){e[0]=="-"?t.setProperty(e,n??""):t[e]=n==null?"":typeof n!="number"||Pe.test(e)?n:n+"px"}function Z(t,e,n,o,i){var r,a;t:if(e=="style")if(typeof n=="string")t.style.cssText=n;else{if(typeof o=="string"&&(t.style.cssText=o=""),o)for(e in o)n&&e in n||Ft(t.style,e,"");if(n)for(e in n)o&&n[e]==o[e]||Ft(t.style,e,n[e])}else if(e[0]=="o"&&e[1]=="n")r=e!=(e=e.replace(ee,"$1")),a=e.toLowerCase(),e=a in t||e=="onFocusOut"||e=="onFocusIn"?a.slice(2):e.slice(2),t.l||(t.l={}),t.l[e+r]=n,n?o?n[W]=o[W]:(n[W]=gt,t.addEventListener(e,r?mt:ht,r)):t.removeEventListener(e,r?mt:ht,r);else{if(i=="http://www.w3.org/2000/svg")e=e.replace(/xlink(H|:h)/,"h").replace(/sName$/,"s");else if(e!="width"&&e!="height"&&e!="href"&&e!="list"&&e!="form"&&e!="tabIndex"&&e!="download"&&e!="rowSpan"&&e!="colSpan"&&e!="role"&&e!="popover"&&e in t)try{t[e]=n??"";break t}catch{}typeof n=="function"||(n==null||n===!1&&e[4]!="-"?t.removeAttribute(e):t.setAttribute(e,e=="popover"&&n==1?"":n))}}function Wt(t){return function(e){if(this.l){var n=this.l[e.type+t];if(e[J]==null)e[J]=gt++;else if(e[J]<n[W])return;return n(x.event?x.event(e):e)}}}function xt(t,e,n,o,i,r,a,p,m,s){var v,l,y,h,N,C,E,g,b,$,P,S,G,U,B,A=e.type;if(e.constructor!==void 0)return null;128&n.__u&&(m=!!(32&n.__u),r=[p=e.__e=n.__e]),(v=x.__b)&&v(e);t:if(typeof A=="function")try{if(g=e.props,b=A.prototype&&A.prototype.render,$=(v=A.contextType)&&o[v.__c],P=v?$?$.props.value:v.__:o,n.__c?E=(l=e.__c=n.__c).__=l.__E:(b?e.__c=l=new A(g,P):(e.__c=l=new j(g,P),l.constructor=A,l.render=He),$&&$.sub(l),l.state||(l.state={}),l.__n=o,y=l.__d=!0,l.__h=[],l._sb=[]),b&&l.__s==null&&(l.__s=l.state),b&&A.getDerivedStateFromProps!=null&&(l.__s==l.state&&(l.__s=I({},l.__s)),I(l.__s,A.getDerivedStateFromProps(g,l.__s))),h=l.props,N=l.state,l.__v=e,y)b&&A.getDerivedStateFromProps==null&&l.componentWillMount!=null&&l.componentWillMount(),b&&l.componentDidMount!=null&&l.__h.push(l.componentDidMount);else{if(b&&A.getDerivedStateFromProps==null&&g!==h&&l.componentWillReceiveProps!=null&&l.componentWillReceiveProps(g,P),e.__v==n.__v||!l.__e&&l.shouldComponentUpdate!=null&&l.shouldComponentUpdate(g,l.__s,P)===!1){e.__v!=n.__v&&(l.props=g,l.state=l.__s,l.__d=!1),e.__e=n.__e,e.__k=n.__k,e.__k.some(function(H){H&&(H.__=e)}),nt.push.apply(l.__h,l._sb),l._sb=[],l.__h.length&&a.push(l);break t}l.componentWillUpdate!=null&&l.componentWillUpdate(g,l.__s,P),b&&l.componentDidUpdate!=null&&l.__h.push(function(){l.componentDidUpdate(h,N,C)})}if(l.context=P,l.props=g,l.__P=t,l.__e=!1,S=x.__r,G=0,b)l.state=l.__s,l.__d=!1,S&&S(e),v=l.render(l.props,l.state,l.context),nt.push.apply(l.__h,l._sb),l._sb=[];else do l.__d=!1,S&&S(e),v=l.render(l.props,l.state,l.context),l.state=l.__s;while(l.__d&&++G<25);l.state=l.__s,l.getChildContext!=null&&(o=I(I({},o),l.getChildContext())),b&&!y&&l.getSnapshotBeforeUpdate!=null&&(C=l.getSnapshotBeforeUpdate(h,N)),U=v!=null&&v.type===q&&v.key==null?_e(v.props.children):v,p=re(t,X(U)?U:[U],e,n,o,i,r,a,p,m,s),l.base=e.__e,e.__u&=-161,l.__h.length&&a.push(l),E&&(l.__E=l.__=null)}catch(H){if(e.__v=null,m||r!=null)if(H.then){for(e.__u|=m?160:128;p&&p.nodeType==8&&p.nextSibling;)p=p.nextSibling;r[r.indexOf(p)]=null,e.__e=p}else{for(B=r.length;B--;)bt(r[B]);vt(e)}else e.__e=n.__e,e.__k=n.__k,H.then||vt(e);x.__e(H,e,n)}else r==null&&e.__v==n.__v?(e.__k=n.__k,e.__e=n.__e):p=e.__e=Ie(n.__e,e,n,o,i,r,a,m,s);return(v=x.diffed)&&v(e),128&e.__u?void 0:p}function vt(t){t&&(t.__c&&(t.__c.__e=!0),t.__k&&t.__k.some(vt))}function le(t,e,n){for(var o=0;o<n.length;o++)wt(n[o],n[++o],n[++o]);x.__c&&x.__c(e,t),t.some(function(i){try{t=i.__h,i.__h=[],t.some(function(r){r.call(i)})}catch(r){x.__e(r,i.__v)}})}function _e(t){return typeof t!="object"||t==null||t.__b>0?t:X(t)?t.map(_e):t.constructor!==void 0?null:I({},t)}function Ie(t,e,n,o,i,r,a,p,m){var s,v,l,y,h,N,C,E=n.props||et,g=e.props,b=e.type;if(b=="svg"?i="http://www.w3.org/2000/svg":b=="math"?i="http://www.w3.org/1998/Math/MathML":i||(i="http://www.w3.org/1999/xhtml"),r!=null){for(s=0;s<r.length;s++)if((h=r[s])&&"setAttribute"in h==!!b&&(b?h.localName==b:h.nodeType==3)){t=h,r[s]=null;break}}if(t==null){if(b==null)return document.createTextNode(g);t=document.createElementNS(i,b,g.is&&g),p&&(x.__m&&x.__m(e,r),p=!1),r=null}if(b==null)E===g||p&&t.data==g||(t.data=g);else{if(r=b=="textarea"&&g.defaultValue!=null?null:r&&it.call(t.childNodes),!p&&r!=null)for(E={},s=0;s<t.attributes.length;s++)E[(h=t.attributes[s]).name]=h.value;for(s in E)h=E[s],s=="dangerouslySetInnerHTML"?l=h:s=="children"||s in g||s=="value"&&"defaultValue"in g||s=="checked"&&"defaultChecked"in g||Z(t,s,null,h,i);for(s in g)h=g[s],s=="children"?y=h:s=="dangerouslySetInnerHTML"?v=h:s=="value"?N=h:s=="checked"?C=h:p&&typeof h!="function"||E[s]===h||Z(t,s,h,E[s],i);if(v)p||l&&(v.__html==l.__html||v.__html==t.innerHTML)||(t.innerHTML=v.__html),e.__k=[];else if(l&&(t.innerHTML=""),re(e.type=="template"?t.content:t,X(y)?y:[y],e,n,o,b=="foreignObject"?"http://www.w3.org/1999/xhtml":i,r,a,r?r[0]:n.__k&&F(n,0),p,m),r!=null)for(s=r.length;s--;)bt(r[s]);p&&b!="textarea"||(s="value",b=="progress"&&N==null?t.removeAttribute("value"):N!=null&&(N!==t[s]||b=="progress"&&!N||b=="option"&&N!=E[s])&&Z(t,s,N,E[s],i),s="checked",C!=null&&C!=t[s]&&Z(t,s,C,E[s],i))}return t}function wt(t,e,n){try{if(typeof t=="function"){var o=typeof t.__u=="function";o&&t.__u(),o&&e==null||(t.__u=t(e))}else t.current=e}catch(i){x.__e(i,n)}}function ue(t,e,n){var o,i;if(x.unmount&&x.unmount(t),(o=t.ref)&&(o.current&&o.current!=t.__e||wt(o,null,e)),(o=t.__c)!=null){if(o.componentWillUnmount)try{o.componentWillUnmount()}catch(r){x.__e(r,e)}o.base=o.__P=null}if(o=t.__k)for(i=0;i<o.length;i++)o[i]&&ue(o[i],e,n||typeof t.type!="function");n||bt(t.__e),t.__c=t.__=t.__e=void 0}function He(t,e,n){return this.constructor(t,n)}function M(t,e,n){var o,i,r,a;e==document&&(e=document.documentElement),x.__&&x.__(t,e),i=(o=typeof n=="function")?null:n&&n.__k||e.__k,r=[],a=[],xt(e,t=(!o&&n||e).__k=T(q,null,[t]),i||et,et,e.namespaceURI,!o&&n?[n]:i?null:e.firstChild?it.call(e.childNodes):null,r,!o&&n?n:i?i.__e:e.firstChild,o,a),le(r,t,a)}function lt(t,e){M(t,e,lt)}it=nt.slice,x={__e:function(t,e,n,o){for(var i,r,a;e=e.__;)if((i=e.__c)&&!i.__)try{if((r=i.constructor)&&r.getDerivedStateFromError!=null&&(i.setState(r.getDerivedStateFromError(t)),a=i.__d),i.componentDidCatch!=null&&(i.componentDidCatch(t,o||{}),a=i.__d),a)return i.__E=i}catch(p){t=p}throw t}},Jt=0,Se=function(t){return t!=null&&t.constructor===void 0},j.prototype.setState=function(t,e){var n;n=this.__s!=null&&this.__s!=this.state?this.__s:this.__s=I({},this.state),typeof t=="function"&&(t=t(I({},n),this.props)),t&&I(n,t),t!=null&&this.__v&&(e&&this._sb.push(e),Bt(this))},j.prototype.forceUpdate=function(t){this.__v&&(this.__e=!0,t&&this.__h.push(t),Bt(this))},j.prototype.render=q,O=[],Qt=typeof Promise=="function"?Promise.prototype.then.bind(Promise.resolve()):setTimeout,te=function(t,e){return t.__v.__b-e.__v.__b},rt.__r=0,pt=Math.random().toString(8),J="__d"+pt,W="__a"+pt,ee=/(PointerCapture)$|Capture$/i,gt=0,ht=Wt(!1),mt=Wt(!0),Ae=0;var D,w,dt,Xt,ot=0,ae=[],k=x,qt=k.__b,Kt=k.__r,Gt=k.diffed,zt=k.__c,Vt=k.unmount,Yt=k.__;function K(t,e){k.__h&&k.__h(w,t,ot||e),ot=0;var n=w.__H||(w.__H={__:[],__h:[]});return t>=n.__.length&&n.__.push({}),n.__[t]}function Et(t){return ot=1,se(fe,t)}function se(t,e,n){var o=K(D++,2);if(o.t=t,!o.__c&&(o.__=[n?n(e):fe(void 0,e),function(p){var m=o.__N?o.__N[0]:o.__[0],s=o.t(m,p);m!==s&&(o.__N=[s,o.__[1]],o.__c.setState({}))}],o.__c=w,!w.__f)){var i=function(p,m,s){if(!o.__c.__H)return!0;var v=o.__c.__H.__.filter(function(y){return y.__c});if(v.every(function(y){return!y.__N}))return!r||r.call(this,p,m,s);var l=o.__c.props!==p;return v.some(function(y){if(y.__N){var h=y.__[0];y.__=y.__N,y.__N=void 0,h!==y.__[0]&&(l=!0)}}),r&&r.call(this,p,m,s)||l};w.__f=!0;var r=w.shouldComponentUpdate,a=w.componentWillUpdate;w.componentWillUpdate=function(p,m,s){if(this.__e){var v=r;r=void 0,i(p,m,s),r=v}a&&a.call(this,p,m,s)},w.shouldComponentUpdate=i}return o.__N||o.__}function _t(t,e){var n=K(D++,3);!k.__s&&kt(n.__H,e)&&(n.__=t,n.u=e,w.__H.__h.push(n))}function Oe(t,e){var n=K(D++,4);!k.__s&&kt(n.__H,e)&&(n.__=t,n.u=e,w.__h.push(n))}function Me(t){return ot=5,ce(function(){return{current:t}},[])}function ce(t,e){var n=K(D++,7);return kt(n.__H,e)&&(n.__=t(),n.__H=e,n.__h=t),n.__}function Ue(){var t=K(D++,11);if(!t.__){for(var e=w.__v;e!==null&&!e.__m&&e.__!==null;)e=e.__;var n=e.__m||(e.__m=[0,0]);t.__="P"+n[0]+"-"+n[1]++}return t.__}function je(){for(var t;t=ae.shift();){var e=t.__H;if(t.__P&&e)try{e.__h.some(tt),e.__h.some(yt),e.__h=[]}catch(n){e.__h=[],k.__e(n,t.__v)}}}k.__b=function(t){w=null,qt&&qt(t)},k.__=function(t,e){t&&e.__k&&e.__k.__m&&(t.__m=e.__k.__m),Yt&&Yt(t,e)},k.__r=function(t){Kt&&Kt(t),D=0;var e=(w=t.__c).__H;e&&(dt===w?(e.__h=[],w.__h=[],e.__.some(function(n){n.__N&&(n.__=n.__N),n.u=n.__N=void 0})):(e.__h.some(tt),e.__h.some(yt),e.__h=[],D=0)),dt=w},k.diffed=function(t){Gt&&Gt(t);var e=t.__c;e&&e.__H&&(e.__H.__h.length&&(ae.push(e)!==1&&Xt===k.requestAnimationFrame||((Xt=k.requestAnimationFrame)||De)(je)),e.__H.__.some(function(n){n.u&&(n.__H=n.u),n.u=void 0})),dt=w=null},k.__c=function(t,e){e.some(function(n){try{n.__h.some(tt),n.__h=n.__h.filter(function(o){return!o.__||yt(o)})}catch(o){e.some(function(i){i.__h&&(i.__h=[])}),e=[],k.__e(o,n.__v)}}),zt&&zt(t,e)},k.unmount=function(t){Vt&&Vt(t);var e,n=t.__c;n&&n.__H&&(n.__H.__.some(function(o){try{tt(o)}catch(i){e=i}}),n.__H=void 0,e&&k.__e(e,n.__v))};var Zt=typeof requestAnimationFrame=="function";function De(t){var e,n=function(){clearTimeout(o),Zt&&cancelAnimationFrame(e),setTimeout(t)},o=setTimeout(n,35);Zt&&(e=requestAnimationFrame(n))}function tt(t){var e=w,n=t.__c;typeof n=="function"&&(t.__c=void 0,n()),w=e}function yt(t){var e=w;t.__c=t.__(),w=e}function kt(t,e){return!t||t.length!==e.length||e.some(function(n,o){return n!==t[o]})}function fe(t,e){return typeof e=="function"?e(t):e}var pe=()=>Intl.DateTimeFormat().resolvedOptions().timeZone;function Be(){return _t(()=>{let t=pe();t&&!document.cookie.includes(`tz=${encodeURIComponent(t)}`)&&(document.cookie=`tz=${encodeURIComponent(t)}; path=/; max-age=31536000; samesite=lax`)},[]),null}function Fe(t){let[e,n]=Et(t);return _t(()=>n(pe()||t),[]),e}var de;function Ct(t){return de??=import("./runtime-6e12333f12903a62-1.js").then(async e=>(await Promise.all(ct().map(n=>n())),e)),de.then(t)}function We(t,e){return Ct(n=>n.softNavigate(t,e))}function Xe(t,e){let n=Y(t);if(!n){if(e?.strict)try{new URL(t,location.href)}catch{throw new Error(`Cannot prefetch '${t}' because it cannot be converted to a URL.`)}return Promise.resolve(null)}return Ct(o=>o.prefetchRoute(n.href,e))}var qe=3e3,ut=[],Nt=!1,he=!1,Tt;function me(t){let e=ft(t);e&&(t.preventDefault(),ut.push(e),Tt??=setTimeout(()=>{let n=ut[0];n&&(location.href=n.url.href)},qe),St())}function ve(){Nt=!0,St()}function St(){return Ct(t=>{he||(he=!0,document.removeEventListener("click",me),window.removeEventListener("popstate",ve),t.installRouterFull()),clearTimeout(Tt),Tt=void 0;let e=ut;ut=[];for(let n of e)t.commitLinkNavigation(n);Nt&&(Nt=!1,t.onPopState())})}function Ke(t){typeof requestIdleCallback=="function"?requestIdleCallback(()=>t(),{timeout:1e3}):setTimeout(t,1)}function Ge(){window.__PNEXT_ROUTER_INSTALLED__||(window.__PNEXT_ROUTER_INSTALLED__=!0,"scrollRestoration"in history&&(history.scrollRestoration="manual"),st.activeRouteKey=V(),document.addEventListener("click",me),window.addEventListener("popstate",ve),Ke(()=>void St()))}var ze="$$pnext_typed_array",Ve="$$pnext_array_buffer",Ye="$$pnext_ref",$t="__pnextPromise",Ze="$$pnextErrorReset";function Je(t,e){if(t===null||typeof t!="object")return t;let n=o=>{for(let i of Object.keys(o)){let r=o[i];if(r===null||typeof r!="object"||ArrayBuffer.isView(r))continue;let a=r,p=rn(t,a)??e?.(a)??nn(a)??Qe(a);if(p!==void 0){o[i]=p;continue}n(a)}};return n(t),t}function Qe(t){return t[Ze]===!0?tn:void 0}function tn(){location.reload()}function en(t){let e=globalThis[t];return typeof e=="function"&&"BYTES_PER_ELEMENT"in e?e:void 0}function ye(t){return Uint8Array.from(atob(t),e=>e.charCodeAt(0))}function nn(t){let e=t[Ve];if(typeof e=="string")return ye(e).buffer;let n=t[ze];if(n===null||typeof n!="object")return;let{type:o,data:i}=n;if(typeof o!="string"||typeof i!="string")return;let r=en(o);return r?new r(ye(i).buffer):void 0}function rn(t,e){let n=e[Ye];if(!Array.isArray(n))return;let o=t;for(let i of n){if(o===null||typeof o!="object")return;o=o[String(i)]}return o}function on(t){return t.includes($t)}function ln(t,e){return Lt(t,new Set,e)}var _n=new Set(["params","searchParams"]);function Lt(t,e,n,o){if(t===null||typeof t!="object"||e.has(t))return t;if($t in t){let r=t[$t],a=un(r);return!n||!o||!_n.has(o)||r===null||typeof r!="object"?a:n(a,o,r)}if(e.add(t),Array.isArray(t)){for(let r=0;r<t.length;r++)t[r]=Lt(t[r],e,n);return t}if(Object.getPrototypeOf(t)!==Object.prototype)return t;let i=t;for(let r of Object.keys(i))i[r]=Lt(i[r],e,n,r);return t}function un(t){let e=Promise.resolve(t);return e.status="fulfilled",e.value=t,e}var ge="data-pnext-static-slot",be="$$pnext_slot";function an(t){return t.includes(be)}async function sn(t,e,n,o){return await xe(t,e,n,o,new Set)}async function xe(t,e,n,o,i){if(t===null||typeof t!="object"||i.has(t))return t;let r=t[be];if(typeof r=="string"){let m=e.querySelector(`[${ge}="${cn(r)}"]`);return m?o("pnext-static-slot",{[ge]:r,style:{display:"contents"}},await n(m)):null}let a=Object.getPrototypeOf(t);if(!Array.isArray(t)&&a!==Object.prototype&&a!==null)return t;i.add(t);let p=t;for(let m of Object.keys(p))p[m]=await xe(p[m],e,n,o,i);return t}function cn(t){return t.replace(/["\\]/g,"\\$&")}function fn(t,e){let n=e.__pnextMask??=[e.getAttribute("data-pnext-id"),0];Object.defineProperty(t,"__m",{enumerable:!0,get(){return(this.__c||this).__pnextMask??=n}})}function At(t,e,n,o,i){let r=o!==void 0?t(e,n,o):t(e,n);return fn(r,i),r}function Pt(t,e,n,o){let i=pn(t);return an(t)?sn(i,e,n,o):i}function pn(t){let e=JSON.parse(t||"{}"),n=Je(e);return on(t||"")?ln(n):n}function dn(t){let e=t.getAttribute("data-pnext-error-message")??"",n=t.getAttribute("data-pnext-error-digest");return T(function(){let o=new Error(e);throw n&&(o.digest=n),o},null)}function Rt(t){let e={};for(let n of t.attributes)e[n.name]=n.value;return e}function hn(t){return t.parentElement?.closest("pnext-client")}var mn=class extends j{componentDidMount(){this.base&&(this.base.__pnextHole=this)}componentWillUnmount(){this.base&&this.base.__pnextHole===this&&(this.base.__pnextHole=void 0)}componentWillReceiveProps(t){t.children!==this.props.children&&this.setState({adopted:void 0})}render(t,e){return T("pnext-hole",t.attrs,e.adopted!==void 0?e.adopted:t.children)}};function vn(t){let e=t;for(;e.parentElement&&getComputedStyle(e).display==="contents";)e=e.parentElement;return e}async function yn(t,e){let n=t.__pnextMounting;if(n&&(await n,t.__pnextLive&&!t.__pnextIncoming))return;let o=e();t.__pnextMounting=o;try{await o}finally{t.__pnextMounting===o&&(t.__pnextMounting=void 0)}}function gn(){if(typeof customElements>"u"||window.__PNEXT_HOST_MEASURE__)return;window.__PNEXT_HOST_MEASURE__=!0;let t=i=>i.style.display==="contents"||getComputedStyle(i).display==="contents"?i.parentElement:null;class e extends HTMLElement{getBoundingClientRect(){let r=t(this);return r?r.getBoundingClientRect():super.getBoundingClientRect()}getClientRects(){let r=t(this);return r?r.getClientRects():super.getClientRects()}}for(let i of["clientWidth","clientHeight","offsetWidth","offsetHeight","offsetTop","offsetLeft"])Object.defineProperty(e.prototype,i,{configurable:!0,get(){let r=t(this);return r?r[i]:0}});for(let i of["pnext-client","pnext-dynamic","pnext-static-children"])customElements.get(i)||customElements.define(i,class extends e{});let n=i=>i instanceof e?t(i)??i:i,o=window.ResizeObserver;o&&(window.ResizeObserver=class extends o{observe(i,r){super.observe(n(i),r)}unobserve(i){super.unobserve(n(i))}})}gn();function bn(t,e){if(!e)return!1;for(let n of e)if(t===n||n instanceof Node&&t.contains&&t.contains(n))return!0;return!1}function xn(t){let e=t.islands??[],n=t.Page,o=t.shell,i=new Set,r,a,p;function m(_,u){let f=_.getAttribute&&_.getAttribute("data-pnext-ssr-failed")!=null;(_.hasChildNodes()&&!f?lt:M)(u,_),_.__pnextLive=M,i.add(_)}let s=new Map(e.map(_=>[_.id,_]));function v(_,u){if(_.moveBefore&&_.isConnected&&u.isConnected)try{_.moveBefore(u,null);return}catch{}_.append(u)}function l(_,u){let f=_.__pnextCaptured;if(f){if(_.__pnextCaptured=void 0,u)for(let c of[...f.childNodes])v(u,c);f.remove()}}function y(_){for(let u of _.querySelectorAll("img[loading=lazy]"))if(!(u.complete||u.currentSrc))for(let f of["src","srcset"]){let c=u.getAttribute(f);c!==null&&(u.removeAttribute(f),u.setAttribute(f,c))}}async function h(_){let u=_.__pnextAdopting;if(u)return u;let f=_.__pnextHole;if(!f)return l(_,_);let c=(async()=>{let d=_.__pnextCaptured,R=await S(d??_);l(_),_.replaceChildren(),f.setState({adopted:R??null},()=>y(_))})();_.__pnextAdopting=c;try{await c}finally{_.__pnextAdopting===c&&(_.__pnextAdopting=void 0)}}async function N(_,u){let f;for(let c=_.parentElement;c&&c!==u;c=c.parentElement)if(c.localName==="pnext-hole"){if(c.__pnextHole){f=c;break}f??=c}if(f&&!f.__pnextHole&&!f.__pnextCaptured&&u.__pnextMounting){let c=document.createElement("pnext-hole-capture");c.hidden=!0,document.body.append(c),f.__pnextCaptured=c;for(let d of[...f.childNodes])v(c,d)}if(await u.__pnextMounting?.catch(()=>{}),!(!f||!f.__pnextCaptured&&!_.isConnected))return h(f)}function C(){let _=[],u=0;for(let f of e)for(let c of document.querySelectorAll(`[data-pnext-client="${f.id}"]`)){if(c.closest("[data-pnext-stream]"))continue;let d=hn(c);if(d){_.push(N(c,d));continue}if(!(c.__pnextLive&&!c.__pnextIncoming)){if(u+=1,f.load&&f.options?.load==="visible"&&!c.__pnextIncoming){$(c,f);continue}_.push(E(c,f))}}return{mounted:u,done:Promise.all(_)}}function E(_,u){return yn(_,()=>b(_,u))}async function g(_){return _.Component??await _.load()}async function b(_,u){let f=await g(u),c=_.getAttribute("data-pnext-props")??"{}",d=_.__pnextIncoming;_.__pnextIncoming=void 0;let R=_.__pnextStreamGrafted;if(_.__pnextStreamGrafted=void 0,d&&_.__pnextLive===M&&!R){if(d!==_){let z=At(T,f,await Pt(c,d,S,T),await P(d,u.id),_);M(z,_)}i.add(_);return}d&&(_.replaceChildren(...d.childNodes),_.__pnextLive=void 0,_.__pnextMask=[d.getAttribute("data-pnext-id"),0]);let L=At(T,f,await Pt(c,_,S,T),await P(_,u.id),_);m(_,L)}function $(_,u){if(typeof IntersectionObserver>"u"){E(_,u);return}let f=new IntersectionObserver(c=>{c.some(d=>d.isIntersecting)&&(f.disconnect(),E(_,u))},u.options);f.observe(vn(_))}async function P(_,u){let f=_.querySelector(`[data-pnext-static-children="${u}"]`);if(!f)return;let c=f.localName==="template",d=c?f.content:f;c&&window.__PNEXT_MATERIALIZE_CLIENT_ISLANDS__&&window.__PNEXT_MATERIALIZE_CLIENT_ISLANDS__(d);let R=await S(d);if(n){let L=d.querySelector?.("#pnext-page");L?.parentNode&&L.replaceWith(...L.childNodes)}return c&&f.remove(),T("pnext-static-children",{"data-pnext-static-children":u,style:{display:"contents"}},R)}async function S(_){let u=(await Promise.all(Array.from(_.childNodes,G))).filter(f=>f!=null&&f!==!1);if(u.length!==0)return u.length===1?u[0]:u}async function G(_){if(_.nodeType===3)return _.textContent;if(_.nodeType!==1)return null;let u=_;if(u.localName==="pnext-boundary-error")return dn(u);if(u.localName==="pnext-hole")return T(mn,{attrs:Rt(u)},await S(u));if(u.localName==="pnext-client"){let f=u.getAttribute("data-pnext-client"),c=f?s.get(f):void 0;if(!c)return T(u.localName,Rt(u),await S(u));let d=u.getAttribute("data-pnext-props")??"{}",R=await P(u,c.id),L=await g(c);return At(T,L,await Pt(d,u,S,T),R,u)}return n&&u.id==="pnext-page"?T(n,B()):T(u.localName,Rt(u),await S(u))}async function U(){await r,!document.getElementById("pnext-page")?.closest("pnext-client")&&A()}function B(){let _=window.__PNEXT_PROPS__??{},u=(f,c)=>{let d=Promise.resolve(c);return d.status="fulfilled",d.value=c,d};return{..._,params:u("params",_.params??{}),searchParams:u("searchParams",_.searchParams??Object.fromEntries(new URLSearchParams(location.search)))}}function A(){if(document.documentElement.hasAttribute("data-pnext-ssr-error"))return;let _=window.__PNEXT_CLIENT_PAGE_ROOT__;if(_&&i.has(_))return;let u=H();u&&(window.__PNEXT_CLIENT_PAGE_ROOT__=u,m(u,T(n,B())))}function H(){let _=document.getElementById("pnext-page");if(!_||!_.parentNode||_.closest("pnext-client")||_.closest("pnext-layout[data-pnext-segment]"))return _;let u=_.parentNode,f="";for(let z of _.attributes)f+=" "+z.name+'="'+z.value+'"';let c=f.replace(/</g,"&lt;").replace(/>/g,"&gt;"),d=document.createComment("pnext-page:"+c),R=document.createComment("/pnext-page");for(u.insertBefore(d,_);_.firstChild;)u.insertBefore(_.firstChild,_);u.replaceChild(R,_);let L=we(d,R,u);return L.__pnextAnchors=[d,R],L}function we(_,u,f){return{nodeType:1,namespaceURI:f.namespaceURI,get firstChild(){let c=_.nextSibling;return c===u?null:c},get childNodes(){let c=[];for(let d=_.nextSibling;d&&d!==u;d=d.nextSibling)c.push(d);return c},hasChildNodes(){return _.nextSibling!==u},insertBefore(c,d){return f.insertBefore(c,d??u)},appendChild(c){return f.insertBefore(c,u)},removeChild(c){return f.removeChild(c)},contains(c){for(let d=_.nextSibling;d&&d!==u;d=d.nextSibling)if(d===c||d.contains&&d.contains(c))return!0;return!1},closest(c){return f.closest?f.closest(c):null}}}function Ee(){return e.length>0&&(a=C(),r=a.done.then(()=>a.mounted)),n&&(e.length>0?p=U():A()),window.__PNEXT_ACTIVE_ENTRY__={unmount:Ht},r}function It(){return e.length>0&&(a=C(),r=a.done.then(()=>a.mounted)),n&&(e.length>0?p=U():A()),r}window.__PNEXT_MOUNT_ISLANDS__=It;function Ht(_){for(let c of i)bn(c,_)||(M(null,c),c.__pnextLive=void 0);let u=window.__PNEXT_CLIENT_PAGE_ROOT__,f=!1;if(u&&_)for(let c of _)c===u&&(f=!0);i.clear(),f&&i.add(u)}return{mountRoute:Ee,remountRoute:It,unmountRoute:Ht}}export{st as $0a,V as $0b,ct as $0c,Mt as $0d,Y as $0e,Ut as $0f,ft as $0g,at as $0h,Ce as $0i,jt as $0j,Be as $1a,Fe as $1b,We as $2a,Xe as $2b,Ge as $2c,x as $3a,T as $3b,q as $3c,j as $3d,ie as $3e,M as $3f,lt as $3g,Et as $3h,se as $3i,_t as $3j,Oe as $3k,Me as $3l,ce as $3m,Ue as $3n,xn as $4a};
@@ -1,2 +0,0 @@
1
- import{$1L as mt,$1N as gt,$1a as B,$1b as vt,$1t as bt}from"./shared-init-f475017dd5811e33.js";import{$3e as wt,$3j as yt,$3l as $t,$3n as kt}from"./shared-init-6e12333f12903a62-2.js";function xt({open:e=!0,class:t,tone:n,title:r,icon:s,dismiss:o,busy:c,cancel:l="Cancel",cancelDanger:d,focus:h="cancel",actions:p,onSubmit:g,onClose:L,children:_}){let x=$t(null),$=kt();yt(()=>{let w=x.current;e&&!w.open?w.showModal():!e&&w.open&&w.close()},[e]);let b=()=>!c&&x.current.close(),S=wt(p).length===0;return B("dialog",{ref:x,class:["modal",t,n&&`tone ${n}`].filter(Boolean).join(" "),"aria-labelledby":$,onClose:L,onCancel:w=>{w.preventDefault(),b()},onClick:w=>w.target===w.currentTarget&&b(),children:B("form",{method:g?void 0:"dialog",onSubmit:g,children:[B("header",{children:[s?B(vt,{d:s}):null,B("h2",{id:$,children:r}),o?B(gt,{icon:bt,label:"Close",onClick:b}):null]}),_,B("div",{class:"actions",children:[B(mt,{variant:S?"primary":"ghost",danger:!S&&d,disabled:c,autofocus:h==="cancel",onClick:b,children:l}),p]})]})})}import{$1L as ae,$1N as Et,$1a as m,$1b as Lt,$1x as Ct,$1z as St}from"./shared-init-f475017dd5811e33.js";import{$3h as re,$3j as V,$3l as H,$3n as Ae}from"./shared-init-6e12333f12903a62-2.js";function Pt({id:e,title:t,count:n,actions:r,tone:s,children:o}){return m("section",{id:e,class:s?`card frame ${s}`:"card frame",children:[t?m("div",{class:"bar",children:[m("h2",{children:[t,n!==void 0?m("span",{class:"n",children:n}):null]}),r?m("span",{class:"bar-r",children:r}):null]}):null,o]})}function _t({title:e,note:t,actions:n,open:r="Add",opened:s,children:o}){return m("details",{class:"card frame fold",open:s,children:[m("summary",{class:"bar",children:[m("h2",{children:e}),m("span",{class:"fold-note",children:t}),n?m("span",{class:"bar-r",children:n}):null,m(ae,{as:"span",variant:"outline",size:"sm",class:"fold-open",leftIcon:r==="Add"?St:void 0,children:r}),m(ae,{as:"span",variant:"ghost",size:"sm",class:"fold-close",children:"Close"})]}),o]})}function Tt({title:e,children:t}){return m("div",{class:"empty",children:[m("b",{children:e}),t?m("span",{children:t}):null]})}function It({label:e,inline:t,dots:n,late:r,h:s}){return m(t?"span":"div",{class:["loading",t&&"inline",r&&"late"].filter(Boolean).join(" "),role:"status",style:s?`--h:${s}px`:void 0,children:m("span",{children:[n?m("i",{class:"dots",children:[m("b",{}),m("b",{}),m("b",{})]}):m("i",{class:"spin"}),e]})})}var Re=e=>`${history.state?.__pnextEntry??location.pathname}|${e}`,jt=e=>history.state?.coderPages?.[e],Dt=(e,t)=>history.replaceState({...history.state,coderPages:{...history.state?.coderPages,[e]:t}},""),Mt=6e4,Y=(e,t)=>({query:e,rows:t.items,next:t.next,meta:t});function Ot({name:e,query:t,first:n,initial:r,root:s,fetchPage:o}){let c=H(new Map([[r,{page:n,at:Date.now()}]])),[l,d]=re(()=>Y(r,n)),[h,p]=re(""),[g,L]=re(!1),_=H(null),x=H(l);x.current=l;let $=H(void 0),b=H(void 0),S=(a,f,u)=>{let v=`${f}|${a}`;if($.current?.key===v)return;let k={key:v};$.current=k,p(""),L(!0);let C=Re(e),P=u?void 0:c.current.get(f);P&&Date.now()-P.at<Mt&&d(Y(f,P.page)),o(a).then(T=>{$.current===k&&(u||c.current.set(f,{page:T,at:Date.now()}),p(""),b.current=void 0,d(j=>{if(u&&(j.query!==f||j.next!==a))return j;let J=u&&j.query===f?{...j,rows:[...j.rows,...T.items],next:T.next}:Y(f,T);return Re(e)===C&&Dt(e,J),J}))}).catch(T=>{$.current===k&&(b.current=()=>S(a,f,u),p(T instanceof Error?T.message:String(T)))}).finally(()=>{$.current===k&&($.current=void 0,L(!1))})};V(()=>()=>{$.current=void 0},[]);let w=H(n);return V(()=>{w.current!==n&&(w.current=n,$.current=void 0,L(!1),c.current.set(r,{page:n,at:Date.now()}),d(Y(r,n)))},[n]),V(()=>{$.current=void 0,b.current=void 0,p(""),L(!1);let a=jt(e);if(a&&a.query===t&&a.rows.length>x.current.rows.length){d(a);return}t!==x.current.query&&S("",t,!1)},[t]),V(()=>{let a=_.current;if(!a||!l.next||h)return;let f=new IntersectionObserver(([u])=>{u?.isIntersecting&&x.current.next&&x.current.query===t&&S(x.current.next,t,!0)},{root:s?.()??null,rootMargin:"0px 0px 300px 0px"});return f.observe(a),()=>f.disconnect()},[l.next,l.rows.length,t,h]),{rows:l.rows,meta:l.meta,more:!!l.next,busy:g,error:h,stale:g&&l.query!==t,sentinel:_,retry:()=>{p(""),b.current?.()}}}function le(e){let t=new URL(location.href);for(let[n,r]of Object.entries(e))r?t.searchParams.set(n,r):t.searchParams.delete(n);history.replaceState(history.state,"",t)}function ie(e){let t=new URLSearchParams(location.search);return Object.fromEntries(e.map(n=>[n,t.get(n)??""]))}var Rt=20,K=20;function oe({summary:e,summaryClass:t,button:n,label:r,tip:s,align:o="right",wide:c,class:l,children:d}){let h=Ae();return m("span",{class:`menu ${o}${l?` ${l}`:""}`,children:[n==="icon"?m(Et,{popovertarget:h,label:r??"",children:e}):n?m(ae,{...n,popovertarget:h,"aria-label":r,title:s?void 0:r,children:e}):m("button",{popovertarget:h,type:"button",class:t,"aria-label":r,title:s?void 0:r,"data-tip":s,children:e}),m("div",{id:h,class:c?"pop wide":"pop",popover:"auto",onBeforeToggle:p=>{if(p.newState!=="open")return;let g=p.currentTarget,L=g.parentElement?.querySelector("button")?.getBoundingClientRect();if(!L)return;g.style.cssText="display: block; visibility: hidden; max-height: none";let _=g.offsetHeight;g.style.cssText="";let x=window.innerHeight-L.bottom-20,$=L.top-20,[b,S]=o==="up"?[$,x]:[x,$],w=_>b&&S>b;g.classList.toggle("flip",w),g.style.maxHeight=`${Math.max(120,Math.round(w?S:b))}px`},onClick:p=>{p.target.closest("a, button:not([data-keep])")&&p.currentTarget.hidePopover()},children:d})]})}function ce({label:e,title:t,class:n,children:r}){let s=Ae(),o=H(null),c=H(),l=d=>h=>{h.pointerType==="mouse"&&(clearTimeout(c.current),d?o.current.togglePopover(!0):c.current=setTimeout(()=>o.current?.togglePopover(!1),150))};return m("span",{class:n?`more ${n}`:"more",onPointerEnter:l(!0),onPointerLeave:l(!1),children:[m("button",{popovertarget:s,type:"button","aria-label":t,children:e}),m("div",{id:s,ref:o,class:"more-list scroll-box",popover:"auto",children:r})]})}var At=({label:e,children:t})=>m(ce,{label:m(Lt,{d:Ct}),title:e,class:"info",children:t}),Ne=5,se=3;function Nt({tone:e,title:t,onClick:n,href:r,external:s,class:o,children:c}){let l=["badge",e,o].filter(Boolean).join(" ");return r?m("a",{class:l,href:r,title:t,...s?{target:"_blank",rel:"noopener noreferrer"}:{},children:c}):n?m("button",{type:"button",class:l,title:t,onClick:n,children:c}):m("span",{class:l,title:t,children:c})}function G({onClick:e,children:t,...n}){return e?m("button",{...n,type:"button",class:"chip",onClick:e,children:t}):m("span",{class:"chip",children:t})}function qt({values:e,label:t,children:n}){if(n)return m("span",{class:"chips",role:"group","aria-label":t,children:n});let r=(e??[]).filter(c=>!!c);if(!r.length)return m("span",{class:"muted",children:"None"});let s=c=>m(G,{children:c},c),o=r.length>=Ne;return m("span",{class:"chips",children:[(o?r.slice(0,se):r).map(s),o?m(ce,{label:`+${r.length-se}`,children:m("span",{class:"chips",children:r.map(s)})}):null]})}function Bt({value:e,title:t}){return m("span",{class:"id",title:t??e,children:e})}import{f as Ht,i as Ut,j as qe,k as Be}from"./wular-pnext-6e12333f12903a62-0.js";import{$1D as zt,$1a as i,$1b as z,$1d as Ft,$1e as ve,$1i as We,$1j as Wt,$1k as Jt,$1t as Kt,$1u as Je,$1z as Xt}from"./shared-init-f475017dd5811e33.js";import{$2a as Ke,$2b as Vt}from"./shared-init-6e12333f12903a62-2.js";import{$0a as Yt,$0d as Gt}from"./shared-init-6e12333f12903a62-2.js";import{$3a as Qt,$3c as A,$3h as M,$3j as N,$3k as he,$3l as U,$3n as Zt}from"./shared-init-6e12333f12903a62-2.js";var Q=class extends Error{constructor(){super("Method unavailable on `ReadonlyURLSearchParams`. Read more: https://nextjs.org/docs/app/api-reference/functions/use-search-params#updating-searchparams")}},en=class extends URLSearchParams{append(){throw new Q}delete(){throw new Q}set(){throw new Q}sort(){throw new Q}};Ht();function be(){return tn}var tn={push(e,...[t]){ze(de(e,t),"push",t?.scroll)},replace(e,...[t]){ze(de(e,t),"replace",t?.scroll)},prefetch(e,...[t]){Vt(de(e,t),{strict:!0,full:t?.kind==="full",onInvalidate:t?.onInvalidate})},refresh(){Ke(window.location.href,{replace:!0,scroll:!1})},back(){window.history.back()},forward(){window.history.forward()},get bfcacheId(){return Xe().bfcacheId??""}};function de(e,t){return nn(t)?Ft(e,t):String(e)}function nn(e){return!!(e&&("params"in e||"search"in e||"hash"in e))}function we(){return ye().pathname}function rn(){return new en(ye().search)}function an(){return ye(),Xe().params??{}}function sn(){let e=Qt,t=e.__h,n;e.__h=(o,...c)=>{n=o.__P,t?.(o,...c)};let[r,s]=M(!1);return e.__h=t,N(()=>{let o=n?.closest("a[data-pnext-link]");if(!o)return;let c=o.__pnextHints??=new Set;return c.add(s),()=>c.delete(s)},[]),{pending:r}}function ye(){let e=Ue(),[,t]=M(()=>He(e));return N(()=>{ln();let n=()=>t(r=>{let s=He(Ue());return r===s?r:s});return qe().add(n),n(),()=>qe().delete(n)},[]),e}function He(e){return`${e.pathname}${e.search}${e.hash}`}function Ue(){return{pathname:window.location.pathname,search:window.location.search,hash:window.location.hash}}function Xe(){let e=history.state??{},t=window.__PNEXT_ROUTE__??{},n=typeof e.__pnextBfcacheId=="string"?e.__pnextBfcacheId:void 0;return n?{...t,bfcacheId:n}:t}function ze(e,t,n=!0){if(Gt(e))return;let r=new URL(e,window.location.href);if(r.origin!==window.location.origin){let s=globalThis;s.__pnextMpaNavigation=(s.__pnextMpaNavigation??0)+1,requestAnimationFrame(()=>requestAnimationFrame(()=>{t==="replace"?window.location.replace(r.href):window.location.assign(r.href)}));return}if(r.pathname!==window.location.pathname||r.search!==window.location.search){Ke(r.href,{replace:t==="replace",scroll:n});return}t==="replace"?window.history.replaceState(history.state,"",r):window.history.pushState(history.state,"",r),Ut(r,{scroll:n}),Yt.settleLink?.()}function ln(){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(r){let s=window.history.state??{},o={};for(let l of Object.keys(s))l.startsWith("__pnext")&&(o[l]=s[l]);if(Object.keys(o).length===0)return r;let c=r??{};return Object.keys(c).some(l=>l.startsWith("__pnext"))?r:{...c,...o}}window.history.pushState=function(r,s,o){let c=window.location.href,l=e(n(r),s,o);return window.location.href!==c&&Be(),l},window.history.replaceState=function(r,s,o){let c=window.location.href,l=t(n(r),s,o);return window.location.href!==c&&Be(),l}}var Ve={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 $e(){let e=U(null);return N(()=>{let t=e.current,n=t.nextElementSibling??t.parentElement.nextElementSibling,r=n.closest(".page"),s=()=>{let h=n.classList.contains("stuck"),p=n.offsetHeight;n.classList.toggle("stuck",!h);let g=n.offsetHeight;return n.classList.toggle("stuck",h),Math.max(0,h?g-p:p-g)},o,c=()=>{o?.disconnect();let h=56-s();o=new IntersectionObserver(([p])=>{let g=!p.isIntersecting&&p.boundingClientRect.top<h;if(g===n.classList.contains("stuck"))return;let L=n.offsetHeight;r&&(r.style.paddingBottom=`${L}px`),n.classList.toggle("stuck",g),n.style.marginBottom=g?`${L-n.offsetHeight}px`:"",r&&(r.style.paddingBottom="")},{rootMargin:`${-h}px 0px 0px 0px`}),o.observe(t)};c();let l=n.offsetWidth,d=new ResizeObserver(()=>{r?.style.setProperty("--head",`${n.offsetHeight}px`),n.offsetWidth!==l&&(l=n.offsetWidth,c())});return d.observe(n,{box:"border-box"}),()=>{o?.disconnect(),d.disconnect(),r?.style.removeProperty("--head")}},[]),i("i",{class:"sentinel",ref:e})}var Z=(...e)=>["pop-item",...e].filter(Boolean).join(" ");function ee({icon:e,sub:t,end:n,children:r}){return i(A,{children:[typeof e=="string"?i(z,{d:e}):e,i("span",{class:"grow",children:[r,t?i("small",{children:t}):null]}),n]})}function pe({icon:e,title:t,sub:n,end:r,href:s,type:o="button",disabled:c,danger:l,...d}){let h=Z(n?"rich":!1,l&&"danger"),p=i(ee,{icon:e,sub:n,end:r,children:t});return c?i("div",{class:h,"aria-disabled":"true",children:p}):s?i("a",{...d,class:h,href:s,children:p}):i("button",{...d,type:o,class:h,children:p})}function on({icon:e,sub:t,end:n,class:r,children:s,...o}){return i(ve,{...o,class:Z(t?"rich":!1,r),children:i(ee,{icon:e,sub:t,end:n,children:s})})}function fe({on:e,onPick:t,href:n,disabled:r,icon:s,sub:o,end:c,children:l}){let d={role:"menuitemradio","aria-checked":e,class:Z(e&&"on",o?"rich":!1)},h=i(ee,{icon:s,sub:o,end:i(A,{children:[c,i(z,{d:Je})]}),children:l});return r?i("div",{...d,"aria-disabled":"true",children:h}):n?i("a",{href:n,...d,children:h}):i("button",{type:"button",...d,onClick:t,children:h})}function me({active:e,selected:t,check:n,icon:r,sub:s,end:o,class:c,children:l,...d}){return i("div",{...d,role:"option","aria-selected":t,class:Z(e&&"on",c),children:i(ee,{icon:r,sub:s,end:i(A,{children:[o,n?i(z,{d:Je}):null]}),children:l})})}var ke=({children:e,...t})=>i("p",{...t,class:"pop-label",children:e}),ge=({children:e})=>i("p",{class:"pop-note",children:e}),cn=({children:e})=>i("div",{class:"pop-row",children:e});function Ye({panelRef:e,class:t,children:n,...r}){return i("div",{...r,ref:e,class:t?`pop ${t}`:"pop",children:n})}var Ge=e=>new URLSearchParams(Object.entries(e).filter(([,t])=>t)).toString();function dn(e){let[t,n]=M(e),[r,s]=M(e),o=U();return N(()=>{let c=ie(Object.keys(e));Object.keys(e).some(l=>c[l]!==e[l])&&(n(c),s(c))},[]),N(()=>()=>clearTimeout(o.current),[]),{values:t,set:(c,l,d=0)=>{let h={...t,[c]:l};n(h),clearTimeout(o.current);let p=()=>{s(h),le(h)};d?o.current=setTimeout(p,d):p()},query:Ge(r)}}function Qe({value:e,label:t,onInput:n,disabled:r,...s}){return i("label",{class:"search","aria-hidden":r||void 0,children:[i(z,{d:zt}),i("input",{...s,type:"search",value:e,placeholder:t,"aria-label":t,disabled:r,tabIndex:r?-1:void 0,onInput:o=>n?.(o.currentTarget.value)})]})}function un({head:e,action:t,children:n}){return e?i(A,{children:[i($e,{}),i("header",{class:"head tools",children:[i("div",{children:[i("h1",{children:e.title}),e.lead?i("p",{class:"lead",children:e.lead}):null]}),i("div",{class:"filters",children:n}),t?i("div",{class:"actions",children:t}):null]})]}):i("div",{class:"filters",children:[n,t?i("span",{class:"end",children:t}):null]})}var Ze="coder:filters",hn=5,ue=5;function pn(e,t){if(e.length<=ue)return e;let n=e.slice(0,ue),r=e.find(([s])=>s===t);return r&&!n.includes(r)?[...n.slice(0,ue-1),r]:n}var fn=e=>e.options.filter(([t])=>t).length>=hn;function mn(e,t,n={}){return t?e.options.find(([r])=>r===t)?.[1]??n[`${e.key}:${t}`]??t:"Any"}function gn(e,t,n={}){return e.filter(r=>t[r.key]).map(r=>{let s=mn(r,t[r.key],n);return{key:r.key,text:r.inline?s:`${r.label}: ${s}`}})}function vn(e,t,n){let r=n.trim().toLowerCase(),s=t.filter(([,c])=>c.toLowerCase().includes(r)),o=[...s,...e.filter(([c])=>!s.some(([l])=>l===c))];return{shown:o.slice(0,K),more:o.length>K}}function xe(){try{return JSON.parse(localStorage.getItem(Ze)??"{}")??{}}catch{return{}}}function bn(e,t){let n=xe();n[e]=[t,...(n[e]??[]).filter(([r])=>r!==t[0])].slice(0,5),localStorage.setItem(Ze,JSON.stringify(n))}function wn({name:e,facets:t,values:n,onChange:r}){let[s,o]=M({}),c=(d,h)=>o(p=>({...p,...Object.fromEntries(h.map(([g,L])=>[`${d}:${g}`,L]))}));N(()=>{let d=xe();for(let h of t)c(h.key,d[`${e}:${h.key}`]??[])},[]);let l=gn(t,n,s);return i(A,{children:[i(oe,{class:"filter-more",summaryClass:`field-btn${l.length?" on":""}`,summary:l.length?`Filter \xB7 ${l.length}`:"Filter",children:i(yn,{name:e,facets:t,values:n,seen:s,onFound:c,onPick:(d,[h,p])=>{!d.inline&&h!==n[d.key]&&(bn(`${e}:${d.key}`,[h,p]),c(d.key,[[h,p]])),r(d.key,d.inline||h!==n[d.key]?h:"")}})}),i("span",{class:"filter-chips",children:l.map(d=>i(G,{title:d.text,"aria-label":`Clear ${d.text}`,onClick:()=>r(d.key,""),children:[i("span",{class:"grow",children:d.text}),i(z,{d:Kt})]},d.key))})]})}function yn({name:e,facets:t,values:n,seen:r,onFound:s,onPick:o}){let c=U(null),[l,d]=M(),[h,p]=M(""),[g,L]=M(),_=U(0),x=U(),$=h.trim(),b=u=>c.current?.querySelector(u)?.focus(),S=u=>{u&&(x.current=u.key),d(u),p(""),L(void 0)};N(()=>{let u=c.current.closest("[popover]"),v=k=>{k.newState==="open"?b("button"):S()};return u.addEventListener("toggle",v),()=>u.removeEventListener("toggle",v)},[]),N(()=>{c.current?.closest(":popover-open")&&b(l?"input":`[data-facet="${x.current}"]`)},[l]),N(()=>{if(!l?.search||!$)return;let u=++_.current,v=setTimeout(()=>void l.search($,K+1).then(k=>{_.current===u&&(L(k),s(l.key,k))},()=>_.current===u&&L([])),200);return()=>clearTimeout(v)},[l,$]);let w=l?l.search&&$?g??[]:l.options.filter(([u,v])=>u&&v.toLowerCase().includes($.toLowerCase())):[],a=l?vn(w,xe()[`${e}:${l.key}`]??[],$):{shown:[],more:!1},f=!!(l?.search&&$&&!g);return i("div",{ref:c,class:"filter-panel",onKeyDown:u=>{let v=[...c.current.querySelectorAll("input, button")],k=v.indexOf(document.activeElement),C=u.target,P=u.key;if(P==="ArrowDown")v[(k+1)%v.length]?.focus();else if(P==="ArrowUp")v[(k-1+v.length)%v.length]?.focus();else if(P==="ArrowRight"&&C.dataset.facet)C.click();else if(P==="ArrowLeft"&&l&&C.tagName!=="INPUT")S();else if(P==="Enter"&&C.tagName==="INPUT")b("[role=menuitemradio]");else if(P==="Escape"&&l)u.stopPropagation(),S();else return;u.preventDefault()},children:l?i(A,{children:[i(pe,{"data-keep":!0,icon:We,title:l.label,onClick:()=>S()}),fn(l)?i(Qe,{value:h,label:`Find ${l.label.toLowerCase()}`,autocomplete:"off",onInput:p}):null,i("div",{role:"group","aria-label":l.label,"aria-busy":f,children:a.shown.map(([u,v])=>i(fe,{icon:l.icon?.(u),on:n[l.key]===u,onPick:()=>o(l,[u,v]),children:v},u))}),a.more?i(ge,{children:"Type to find more."}):!a.shown.length&&!f?i(ge,{children:"Nothing matches."}):null]}):t.map(u=>{let v=u.options.filter(([C])=>u.inline||C);if(!v.length)return null;let k=pn(v,n[u.key]);return i(A,{children:[i(ke,{children:u.label}),i("div",{role:"group","aria-label":u.label,children:k.map(([C,P])=>i(fe,{icon:u.icon?.(C),on:n[u.key]===C,onPick:()=>o(u,[C,P]),children:P},C))}),v.length>k.length?i(pe,{"data-keep":!0,"data-facet":u.key,"aria-haspopup":"true",title:"More",end:i(A,{children:[i("span",{class:"muted",children:v.length-k.length}),i(z,{d:Jt})]}),onClick:()=>S(u)}):null]},u.key)})})}var Fe=10;function et(e,t,n,r,s=[]){let[o,c]=M("");return he(()=>{if(!n)return;t.current?.showPopover();let l=()=>{let d=e.current?.getBoundingClientRect(),h=t.current;if(!d||!h)return;let p=innerHeight-d.bottom-12,g=p<Math.min(h.scrollHeight,240)&&d.top>p;c(`left:${Math.round(Math.min(d.left,innerWidth-h.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(r,d.top-12))}px`:`top:${Math.round(d.bottom+4)}px;max-height:${Math.round(Math.min(r,p))}px`))};return l(),addEventListener("resize",l),addEventListener("scroll",l,!0),()=>{removeEventListener("resize",l),removeEventListener("scroll",l,!0)}},[n,...s]),o}function $n({label:e,options:t,value:n,defaultValue:r,onChange:s,onFocus:o,name:c,disabled:l,headings:d,subs:h,icons:p,action:g}){let[L,_]=M(r??t[0]?.[0]??""),x=Math.max(0,t.findIndex(([y])=>y===(n??L))),$=t[x]?.[0]??"",[b,S]=M(!1),[w,a]=M(x),f=U(null),u=U(null),v=et(f,u,b,560),k=U({text:"",at:0}),C=Zt(),P=(y=x)=>{a(y),S(!0)},T=(y=!0)=>{S(!1),y&&f.current?.focus()},j=y=>{if(g&&y===t.length){T(),g.onPick();return}let I=t[y]?.[0];T(),!(I===void 0||I===$)&&(n===void 0&&_(I),s?.(I))},J=(y,I)=>{let E=Date.now(),D=E-k.current.at>600?y:k.current.text+y;k.current={text:D,at:E};let Me=/^(.)\1*$/.test(D)?D[0]:D,ft=Me.length===1?I+1:I;for(let ne=0;ne<t.length;ne++){let Oe=(ft+ne)%t.length;if(t[Oe][1].toLowerCase().startsWith(Me.toLowerCase()))return Oe}return-1},pt=y=>{let I=t.length-1+(g?1:0),E=y.key;if(!b){if(["ArrowDown","ArrowUp","Enter"," "].includes(E))P();else if(E==="Home")P(0);else if(E==="End")P(I);else if(E.length===1&&!y.ctrlKey&&!y.metaKey){let D=J(E,x);if(D>=0)P(D);else return}else return;y.preventDefault();return}if(E==="ArrowDown")a(Math.min(I,w+1));else if(E==="ArrowUp"&&y.altKey)j(w);else if(E==="ArrowUp")a(Math.max(0,w-1));else if(E==="Home")a(0);else if(E==="End")a(I);else if(E==="PageDown")a(Math.min(I,w+Fe));else if(E==="PageUp")a(Math.max(0,w-Fe));else if(E==="Enter"||E===" "&&Date.now()-k.current.at>600)j(w);else if(E==="Escape")y.stopPropagation(),T();else if(E==="Tab"){j(w);return}else if(E.length===1&&!y.ctrlKey&&!y.metaKey){let D=J(E,w);D>=0&&a(D)}else return;y.preventDefault()};return he(()=>{if(!b)return;let y=I=>{let E=I.target;!f.current?.contains(E)&&!u.current?.contains(E)&&T(!1)};return document.addEventListener("pointerdown",y),()=>document.removeEventListener("pointerdown",y)},[b]),he(()=>{b&&u.current?.querySelector(`[data-index="${w}"]`)?.scrollIntoView({block:"nearest"})},[b,w,v]),i("span",{class:"select",children:[i("button",{ref:f,type:"button",role:"combobox","data-keep":!0,"aria-label":e,"aria-haspopup":"listbox","aria-expanded":b,"aria-controls":`${C}-list`,"aria-activedescendant":b?`${C}-${w}`:void 0,disabled:l,onFocus:o,onPointerDown:o,onClick:y=>{y.preventDefault(),b?T():P()},onKeyDown:pt,children:[p?.[$]??null,i("span",{class:"grow",children:t[x]?.[1]??""}),i(z,{d:Wt})]}),c?i("input",{type:"hidden",name:c,value:$}):null,b?i(tt,{id:C,label:e,listRef:u,place:v,children:[t.map(([y,I],E)=>i(A,{children:[d?.[y]?i(ke,{children:d[y]}):null,i(me,{id:`${C}-${E}`,"data-index":E,active:E===w,selected:E===x,check:!0,icon:p?.[y],sub:h?.[y]?i("bdi",{dir:"ltr",children:h[y]}):null,onPointerMove:()=>E!==w&&a(E),onClick:D=>{D.preventDefault(),j(E)},children:I})]},y)),g?i(me,{id:`${C}-${t.length}`,"data-index":t.length,active:w===t.length,selected:!1,class:"action",icon:g.icon??Xt,onPointerMove:()=>w!==t.length&&a(t.length),onClick:y=>{y.preventDefault(),j(t.length)},children:g.label}):null]}):null]})}var tt=({id:e,label:t,listRef:n,place:r,children:s})=>i(Ye,{panelRef:n,id:`${e}-list`,class:"select-pop",popover:"manual",role:"listbox","aria-label":t,style:r||"visibility:hidden",onMouseDown:o=>o.preventDefault(),children:s}),Ee=e=>e,kn=e=>{let t=e.params??{};return e.href.replace(/\[([^\]]+)\]/g,(n,r)=>encodeURIComponent(String(t[r]??"")))};function xn(e,t){let n=new URLSearchParams((e instanceof URLSearchParams,e));for(let[r,s]of Object.entries(t))n.set(r,s);return n}function En(e){if(!e?.startsWith("/"))return;let t=new URL(e,"http://dash");if(t.origin!=="http://dash"||!/^\/dash(\/|$)/.test(t.pathname))return;let[,,,n,r]=t.pathname.split("/"),s=Ve[n]?.title??"Back";if(n==="tasks"&&r&&(s="Task"),n==="agents"&&r)try{s=decodeURIComponent(r)}catch{}return{to:{href:t.pathname,search:t.searchParams},label:s}}function nt({label:e,back:t,named:n,...r}){let s=En(t),o=n??s?.label??e;return i(ve,{class:"back","aria-label":o,...Ee(s?.to??r),children:[i(z,{d:We}),i("span",{children:o})]})}function Ln({title:e,lead:t,actions:n,meta:r,back:s}){return i(A,{children:[i($e,{}),i("header",{class:"head",children:[i("div",{children:[s,i("div",{class:"title-row",children:[i("h1",{children:e}),r?i("div",{class:"meta",children:r}):null]}),t?i("p",{class:"lead",children:t}):null]}),n?i("div",{class:"actions",children:n}):null]})]})}var F=()=>an().org;function Cn({href:e,params:t,...n}){return i(ve,{...n,...Ee({href:e,params:{...t,org:F()}})})}function Sn({href:e,label:t}){return i(nt,{href:e,params:{org:F()},label:t})}import{$0b as Pn,$0c as _n}from"./shared-init-f475017dd5811e33.js";import{$1a as O,$1e as Tn}from"./shared-init-f475017dd5811e33.js";import{$3h as W,$3j as R,$3l as q}from"./shared-init-6e12333f12903a62-2.js";function lt({status:e}){return O("span",{class:`st ${e}`,children:[O("i",{}),it[e]??e]})}var it={queued:"waiting for slot",running:"running",waiting:"needs approval",completed:"completed",failed:"failed",cancelled:"cancelled"},X="coder:watched",ot="coder:notify",te="coder:toast",De=new Set(["completed","failed","cancelled"]),In=new Set([...De,"waiting"]),jn=20,rt=3,Dn=8e3,at="coder:events",Le="coder:task",Ce="coder:task-replay",Se="coder:task-reset",Pe="coder:task-resync",_e="coder:task-counts",Te="coder:task-counts-replay",Ie="coder:runners",Mn=6e4,On=200,je=()=>{try{return JSON.parse(localStorage.getItem(X)??"{}")??{}}catch{return{}}},ct=e=>{let t=Object.entries(e).sort(([,n],[,r])=>r.at-n.at).slice(0,jn);localStorage.setItem(X,JSON.stringify(Object.fromEntries(t))),dispatchEvent(new Event(X))},dt=(e,t,n)=>dispatchEvent(new CustomEvent(te,{detail:{title:e,line:t,tone:n}})),Rn=(e,t)=>dt(e,t,"error");function ut(e,t,n){let r=je(),s=r[e];!s&&De.has(t)||s?.status===t&&(!n||s.title===n)||(r[e]={title:n||s?.title||e,status:t,at:s?.at??Date.now(),org:s?.org??location.pathname.split("/")[2]},ct(r))}var st=e=>/^\/dash\/[^/]+\/tasks\/([^/]+)$/.exec(e)?.[1];function An(e){let t=s=>typeof s=="string"?s.trim().split(`
2
- `)[0]:"",n=e.approval??{},r=typeof e.result=="object"?e.result?.output:e.result;return e.status==="waiting"?t(n.summary)||t(n.reason)||t(n.kind)||"It is waiting for your approval.":e.status==="completed"?t(r)||"It finished.":t(e.error)||(e.status==="failed"?"It failed.":"It was stopped.")}function ht(e,t,n){let r=q({on:e,reset:t,resync:n});r.current={on:e,reset:t,resync:n},R(()=>{let s=l=>r.current.on(l.detail),o=()=>r.current.reset?.(),c=()=>r.current.resync?.();return addEventListener(Le,s),addEventListener(Se,o),addEventListener(Pe,c),dispatchEvent(new CustomEvent(Ce,{detail:l=>r.current.on(l)})),()=>{removeEventListener(Le,s),removeEventListener(Se,o),removeEventListener(Pe,c)}},[])}function Nn(e,t,n){let r=q(e);r.current=e;let s=q(),o=[...e].sort().join(",");R(()=>{let c=new Map,l=a=>{c.delete(a.id),c.set(a.id,a),c.size>On&&c.delete(c.keys().next().value),dispatchEvent(new CustomEvent(Le,{detail:a}))},d=a=>{for(let f of c.values())a.detail(f)};addEventListener(Ce,d);let h,p=a=>h&&a.detail(h);addEventListener(Te,p);let g=typeof BroadcastChannel<"u"&&navigator.locks?new BroadcastChannel(`${at}:${n}`):void 0,L=new AbortController,_,x=()=>{},$,b=a=>{_=a.id??_,a.event&&l(a.event),a.counts&&(h=a.counts,dispatchEvent(new CustomEvent(_e,{detail:h}))),a.runners&&dispatchEvent(new CustomEvent(Ie,{detail:a.runners})),a.resync&&dispatchEvent(new Event(Pe)),a.reset&&(c.clear(),dispatchEvent(new Event(Se)))};g?.addEventListener("message",({data:a})=>{if(!a.hello)return b(a);$??=setTimeout(()=>{$=void 0,s.current?.abort.abort(),x()},300)}),g?.postMessage({hello:!0});let S=async()=>{t.current=!0;let a=setInterval(()=>{g?.postMessage({resync:!0}),b({resync:!0})},Mn);try{await w()}finally{clearInterval(a)}},w=async()=>{for(;!L.signal.aborted;){let a=new AbortController,f=()=>a.abort();L.signal.addEventListener("abort",f);let u=r.current;s.current={key:[...u].sort().join(","),abort:a};let v=1e3;try{let k=await _n.tasks.events(u,_,a.signal);if(k.status===404)return void(t.current=!1);if(!k.ok||!k.body)v=[401,403].includes(k.status)?6e4:5e3;else for await(let{event:C,data:P,id:T}of Pn(k.body)){if(a.signal.aborted)break;let j={...T?{id:T}:{},...C==="task"?{event:JSON.parse(P)}:{},...C==="counts"?{counts:JSON.parse(P)}:{},...C==="runners"?{runners:JSON.parse(P)}:{},...C==="reset"?{reset:!0}:{}};g?.postMessage(j),b(j)}}catch(k){a.signal.aborted||console.error("coder dashboard: events",k)}L.signal.removeEventListener("abort",f),!a.signal.aborted&&(await new Promise(k=>{let C=setTimeout(k,v);x=()=>{clearTimeout(C),k()}}),x=()=>{})}};return g?navigator.locks.request(`${at}:${n}`,{signal:L.signal},S).catch(a=>{L.signal.aborted||console.error("coder dashboard: events",a)}):S(),()=>{L.abort(),x(),clearTimeout($),g?.close(),removeEventListener(Ce,d),removeEventListener(Te,p)}},[]),R(()=>{s.current&&s.current.key!==o&&s.current.abort.abort()},[o])}function qn(e){let t=q(e);t.current=e,R(()=>{let n=r=>t.current(r.detail);return addEventListener(Ie,n),()=>removeEventListener(Ie,n)},[])}function Bn(){let[e,t]=W();return R(()=>{let n=r=>t(r.detail.active);return addEventListener(_e,n),dispatchEvent(new CustomEvent(Te,{detail:r=>t(r.active)})),()=>removeEventListener(_e,n)},[]),e?O("span",{class:"n",title:`${e} active`,children:e}):null}function Hn({toast:e,paused:t,dismiss:n}){let r=F(),s=q(Dn);return R(()=>{if(t)return;let o=Date.now(),c=setTimeout(()=>n(e.key),s.current);return()=>{clearTimeout(c),s.current-=Date.now()-o}},[t]),O("div",{class:e.tone?`toast ${e.tone}`:"toast",onClick:()=>n(e.key),children:[O("p",{class:"toast-head",children:[e.id?O(Tn,{class:"cover",href:"/dash/[org]/tasks/[id]",params:{org:r,id:e.id},children:e.title}):O("span",{class:"cover",children:e.title}),e.status?O(lt,{status:e.status}):null]}),O("p",{class:"toast-line",children:e.line})]})}function Un(){let e=F(),t=we(),n=be(),[r,s]=W({}),[o,c]=W([]),[l,d]=W(!1),[h,p]=W(!1),[g,L]=W(!1),_=q(st(t));_.current=st(t);let x=q({}),$=q(!1);R(()=>{let a=()=>{let f=je();for(let[u,v]of Object.entries(f))x.current[u]??=v.status;s(f)};return a(),addEventListener(X,a),addEventListener("storage",a),()=>{removeEventListener(X,a),removeEventListener("storage",a)}},[]),R(()=>{let a=f=>{let u=f.detail;c(v=>[{key:`${te}:${Date.now()}`,...u},...v].slice(0,rt))};return addEventListener(te,a),()=>removeEventListener(te,a)},[]),R(()=>{if(!o.length)return;let a=f=>f.key==="Escape"&&c([]);return addEventListener("keydown",a),()=>removeEventListener("keydown",a)},[o.length]);let b=q(null);R(()=>{let a=b.current;a.matches(":popover-open")&&a.hidePopover(),o.length&&a.showPopover()},[o[0]?.key]);let S=a=>c(f=>f.filter(u=>u.key!==a));ht(a=>{let f=r[a.id];if(f?.org!==e)return;if(a.deleted){let v=je();return delete v[a.id],ct(v)}let u=x.current[a.id]??f.status;x.current[a.id]=a.status,u!==a.status&&w(a.id,{...a,result:a.result??void 0,error:a.error??void 0},f)});let w=(a,f,u)=>{if(ut(a,f.status),!In.has(f.status)||_.current===a)return;let v={key:`${a}:${Date.now()}`,id:a,title:u.title,status:f.status,line:An(f)};if(c(C=>[v,...C].slice(0,rt)),!$.current||localStorage.getItem(ot)!=="1"||typeof Notification>"u"||Notification.permission!=="granted")return;let k=new Notification(`${v.title} (${it[v.status]})`,{body:v.line,tag:a});k.onclick=()=>{focus(),n.push("/dash/[org]/tasks/[id]",{params:{org:e,id:a}})}};return Nn(Object.entries(r).filter(([,a])=>a.org===e&&!De.has(a.status)).map(([a])=>a),$,e),R(()=>{let a=()=>L(!0),f=()=>L(!1);return addEventListener("blur",a),addEventListener("focus",f),()=>{removeEventListener("blur",a),removeEventListener("focus",f)}},[]),O("section",{ref:b,class:"toasts",popover:"manual","aria-label":"Task updates","aria-live":"polite",onPointerOver:()=>d(!0),onPointerOut:a=>d(!!b.current?.contains(a.relatedTarget)),onFocusIn:()=>p(!0),onFocusOut:a=>p(!!b.current?.contains(a.relatedTarget)),children:o.map(a=>O(Hn,{toast:a,paused:l||h||g,dismiss:S},a.key))})}export{xt as $0a,lt as $1a,ot as $1b,dt as $1c,Rn as $1d,ut as $1e,ht as $1f,qn as $1g,Bn as $1h,Un as $1i,Pt as $2a,_t as $2b,Tt as $2c,It as $2d,Ot as $2e,le as $2f,ie as $2g,Rt as $2h,K as $2i,oe as $2j,ce as $2k,At as $2l,Ne as $2m,se as $2n,Nt as $2o,G as $2p,qt as $2q,Bt as $2r,Ln as $3A,F as $3B,Cn as $3C,Sn as $3D,be as $3a,we as $3b,rn as $3c,sn as $3d,Ee as $3e,kn as $3f,xn as $3g,Ve as $3h,$e as $3i,pe as $3j,on as $3k,fe as $3l,me as $3m,ke as $3n,ge as $3o,cn as $3p,Ye as $3q,Ge as $3r,dn as $3s,Qe as $3t,un as $3u,wn as $3v,et as $3w,$n as $3x,tt as $3y,nt as $3z};
@@ -1,5 +0,0 @@
1
- import{$3j as _,$3l as T}from"./shared-init-6e12333f12903a62-2.js";var p=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)}},C=class extends p{constructor(e,t,n="",s,a){super("server",t,{status:e,...s?{hint:s}:{}}),this.authenticate=n,this.needs=a}};function S(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 z(e){let t;try{t=new URL(e)}catch{throw new p("invalid-option","Give the server as a URL, e.g. https://agents.example.com.")}if(t.protocol!=="https:"&&!(t.protocol==="http:"&&S(t.origin)))throw new p("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 p("invalid-option","The server must be an origin without credentials, query, or fragment.");return t.toString().replace(/\/+$/,"")}var d=(e,t)=>{let n=new URLSearchParams;"cursor"in t&&typeof t.cursor=="string"&&n.set("cursor",t.cursor);for(let[s,a]of Object.entries(t))s!=="cursor"&&a!==void 0&&a!==!1&&a!==""&&n.set(s,a===!0?"1":Array.isArray(a)?a.join(","):String(a));return`${e}?${n}`},A=new Set(["completed","failed","cancelled"]),H=class{url;fetchImpl;organization;renewal;onError;token;cookie;constructor(e,t,n={}){if(this.cookie="cookie"in t,this.url=e?z(e):"",!this.cookie&&!this.url)throw new p("invalid-option","Bearer clients need a server URL.");this.token="token"in t?t.token:void 0,this.fetchImpl=n.fetch??((s,a)=>fetch(s,a)),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 s=await n.text().catch(()=>""),a={},r;try{s&&n.status!==204&&(a=JSON.parse(s))}catch{if(n.ok)throw new p("server",`The server answered ${n.status} with a body that is not JSON.`);this.cookie&&s&&(r=s)}if(!n.ok){let i=new C(n.status,a.error??a.message??r??`The server answered ${n.status}.`,n.headers.get("www-authenticate")??"",a.hint,a.needs==="key"?a.needs:void 0);throw this.onError?.(i),i}return a}send(e,t){let n=new Headers(t.headers);return t.body&&!n.has("content-type")&&n.set("content-type","application/json"),this.cookie||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(s=>{throw s instanceof p||s.name==="AbortError"?s:new p("server",this.url?`No Coder server answers at ${this.url}: ${s.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")}info(){return this.request("/api/auth/capabilities")}linkAccount(e){return this.post("/connect",{token:e})}signOut(){return this.post("/api/auth/sign-out",{})}agents={list:e=>this.request(d("/admin/agents",{...e,...e?.connect?{connect:1}:{}})),get:(e,t)=>this.request(d(`/admin/agents/${encodeURIComponent(e)}`,{...t?.versions===!1?{versions:0}:{},...t?.content===!1?{content:0}:{},...t?.handles?{handles:1}:{}})),versions:(e,t={})=>this.request(d(`/admin/agents/${encodeURIComponent(e)}/versions`,t)),remove:e=>this.request(`/admin/agents/${encodeURIComponent(e)}`,{method:"DELETE"}),preview:(e,t)=>this.request(d("/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(d("/admin/tasks",{limit:20,...e,...e?.archived?{archived:1}:{},...e?.summary?{summary:1}:{},...e?.counts?{counts:1}:{}})),get:e=>this.request(`/admin/tasks/${encodeURIComponent(e)}`),logs:(e,t=-1,n)=>this.request(d(`/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(d("/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)=>this.post(`/admin/tasks/${encodeURIComponent(e)}/ask`,{question:t}),approve:(e,t,n)=>this.post(`/admin/tasks/${encodeURIComponent(e)}/approve`,{approvalId:t,decision:n}),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 s=await this.tasks.stream(e,n);if(!s.ok||!s.body){let r=await this.tasks.get(e);if(A.has(r.status))return r;if(s.status===401)continue;throw new p("server",`The task stream answered ${s.status}.`)}let a=!1;for await(let r of R(s.body))if(r.event==="log"){let i=JSON.parse(r.data);n=i.seq,t.onLog?.(i)}else r.event==="end"&&(a=!0);if(a)return this.tasks.get(e)}}};credentials={list:e=>this.request(d("/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(d("/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(d("/admin/apps",{agent:e})),install:(e,t)=>this.post(d(`/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(d(`/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")};installations={list:(e,t={})=>this.request(d("/admin/installations",{agent:e,limit:t.limit,...t.active?{active:1}:{}}))};connections={list:(e,t)=>this.request(d("/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"}),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(d("/admin/mcp-registry",{q:e}))};flows={list:e=>this.request(d("/admin/flows",{repo:e})),run:(e,t)=>this.post(`/admin/flows/${encodeURIComponent(e)}/run`,t)};pulls={list:e=>this.request(d("/admin/pulls",{repo:e}))};review(e){return this.post("/admin/review",e)}usage(e={}){return this.request(d("/admin/usage/totals",{...e,since:e.since??Date.now()-10080*60*1e3}))}usageRows(e){return this.request(d("/admin/usage",{installation:e}))}};async function*R(e){let t=new TextDecoder,n="";for await(let s of e){n+=t.decode(s,{stream:!0});let a;for(;(a=n.indexOf(`
2
-
3
- `))>=0;){let r=n.slice(0,a);n=n.slice(a+2);let i="message",o,h=[];for(let l of r.split(`
4
- `))l.startsWith("event: ")?i=l.slice(7):l.startsWith("data: ")?h.push(l.slice(6)):l.startsWith("id: ")&&(o=l.slice(4));(h.length||o)&&(yield{event:i,data:h.join(`
5
- `),...o?{id:o}:{}})}}}var U=new H("",{cookie:!0},{fetch(e,t){let n=/^\/dash\/([^/]+)/.exec(globalThis.location?.pathname??"")?.[1];if(!n)return fetch(e,t);let s=new Headers(t?.headers);return s.set("x-coder-organization",decodeURIComponent(n)),fetch(e,{...t,headers:s})},onError(e){e.status===401&&(e.authenticate||/^Sign in/.test(e.message))&&(location.href=`/login?return=${encodeURIComponent(location.pathname+location.search)}`)}});async function P(){let{url:e}=await U.signOut();location.href=e??"/?signed_out=1"}function N(e,t){let n,s=!1,a=()=>{s||(n=setTimeout(r,t))},r=()=>{if(document.visibilityState==="hidden")return a();e().catch(i=>console.error("coder dashboard: poll",i)).finally(a)};return a(),()=>{s=!0,clearTimeout(n)}}function O(e,t,n=[]){let s=T(e);s.current=e;let a=!!e;_(()=>{if(!a)return;let r=new AbortController,i=N(async()=>s.current?.(r.signal),t);return()=>{r.abort(),i()}},[a,t,...n])}import{$3a as b,$3b as j,$3c as D,$3j as V,$3l as J}from"./shared-init-6e12333f12903a62-2.js";var B=0;function c(e,t,n,s,a,r){t||(t={});var i,o,h=t;if("ref"in h)for(o in h={},t)o=="ref"?i=t[o]:h[o]=t[o];var l={type:e,props:h,key:n,ref:i,__k:null,__:null,__b:0,__e:null,__c:null,constructor:void 0,__v:--B,__i:-1,__u:0,__source:a,__self:r};if(typeof e=="function"&&(i=e.defaultProps))for(o in i)h[o]===void 0&&(h[o]=i[o]);return b.vnode&&b.vnode(l),l}function g({d:e,class:t}){return c("svg",{class:t?`ic ${t}`:"ic",viewBox:"0 0 24 24","aria-hidden":"true",children:c("path",{d:e})})}function Z(){return c("svg",{class:"coder-mark",viewBox:"0 0 16 16","aria-hidden":"true",children:c("path",{d:"M5 0h3v3h-3zM9 0h3v3h-3zM13 0h3v3h-3zM0 4h3v3h-3zM0 9h3v3h-3zM5 13h3v3h-3zM9 13h3v3h-3zM13 13h3v3h-3z"})})}function q(e,t={}){let n=G(F(e,t.params??{})),s=Q(t.search),a=ee(t.hash);return`${n}${s}${a}`}function K(){return window.__PNEXT_TRAILING_SLASH__===!0}function W(){let e=window.__PNEXT_PREFETCH__;return e===void 0?"visible":e}function G(e){let[,t="",n=""]=/^([^?#]*)([\s\S]*)$/.exec(e)??[];return t.startsWith("/")?K()?t==="/"||t.endsWith("/")||/\.[^/]+$/.test(t)?e:`${t}/${n}`:t==="/"||!t.endsWith("/")||/\.[^/]+\/$/.test(t)?e:`${t.replace(/\/+$/,"")}${n}`:e}function F(e,t){let n=e.replace(/\[\[\.\.\.([^\]]+)\]\]/g,(s,a)=>y(t[a],!0)).replace(/\[\.\.\.([^\]]+)\]/g,(s,a)=>y(t[a],!0)).replace(/\[([^\]]+)\]/g,(s,a)=>y(t[a],!1));return X(n)}function X(e){return e.length<=1?e:e.replace(/\/+$/,"")||"/"}function y(e,t){if(Array.isArray(e)){let n=e.map(s=>encodeURIComponent(s));return t?n.join("/"):n[0]??""}return encodeURIComponent(e??"")}function Q(e){if(!e)return"";let t=(e instanceof URLSearchParams?e:Y(e)).toString();return t?`?${t}`:""}function Y(e){let t=new URLSearchParams;for(let[n,s]of Object.entries(e)){let a=Array.isArray(s)?s:[s];for(let r of a)r!=null&&t.append(n,String(r))}return t}function ee(e){return e?e.startsWith("#")?e:`#${e}`:""}function E({href:e,params:t,prefetch:n,replace:s,scroll:a,search:r,hash:i,onClick:o,onNavigate:h,onPrefetchStart:l,onPrefetchFinish:$,children:M,...w}){let I=q(e,{params:t??{},search:r,hash:i}),u=n??W(),m=te(l,$);return j("a",{...w,ref:m,href:I,"data-pnext-link":!0,"data-prefetch":u===!1?"false":u,"data-pnext-replace":s?"true":void 0,"data-pnext-scroll":a===!1?"false":void 0,onClick:f=>{let v=f;if(o?.(v),v.defaultPrevented||!h||!se(v))return;let k=ne();h(k),k.defaultPrevented&&v.preventDefault()}},M)}function te(e,t){let n=J(null);return V(()=>{let s=n.current;if(!s||!e&&!t)return;let a=()=>e?.(),r=()=>t?.();return s.addEventListener("pnext:prefetchstart",a),s.addEventListener("pnext:prefetchfinish",r),()=>{s.removeEventListener("pnext:prefetchstart",a),s.removeEventListener("pnext:prefetchfinish",r)}},[e,t]),n}function ne(){return{defaultPrevented:!1,preventDefault(){this.defaultPrevented=!0}}}function se(e){return e.button===0&&!e.altKey&&!e.ctrlKey&&!e.metaKey&&!e.shiftKey&&!e.currentTarget.target&&!e.currentTarget.download}var ae="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",re="M22 12h-4l-3 9L9 3l-3 9H2",ie="M3 3v18h18M18 17V9M13 17V5M8 17v-3",oe="m15 18-6-6 6-6",de="m6 9 6 6 6-6",he="m9 18 6-6-6-6",ce="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",le="M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z",pe="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",ue="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",me="M7 17 17 7M8 7h9v9",fe="M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4M16 17l5-5-5-5M21 12H9",ve="m12 3 1.9 5.1L19 10l-5.1 1.9L12 17l-1.9-5.1L5 10l5.1-1.9ZM19 3v4M17 5h4",ge="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",$e="M4 6h16M4 12h16M4 18h16",Me="M18 6 6 18M6 6l12 12",we="M20 6 9 17l-5-5",Ie="M3 6h18M8 6V4h8v2M19 6l-1 14H6L5 6M10 11v6M14 11v6",ye="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4M17 8l-5-5-5 5M12 3v12",ke="M12 16v-4M12 8h.01M3 12a9 9 0 1 0 18 0a9 9 0 1 0-18 0",Ce="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",Re="M12 5v14M5 12h14",Ue="M21 12a8 8 0 0 1-11.6 7.1L4 20l1-4.6A8 8 0 1 1 21 12Z",be="M4 12h12M12 6l6 6-6 6",qe="M16 4h4v4M20 4l-7 7M4 20l6-6M16 20h4v-4M20 20l-5-5M4 4l5 5",Ee="M4 11a7 7 0 1 0 14 0a7 7 0 1 0 -14 0M20 20l-3.5-3.5",Le="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",xe="m4 17 6-6-6-6M12 19h8",_e="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",Te="M12 7v5l3 2M3 12a9 9 0 1 0 18 0a9 9 0 1 0 -18 0",Se="M9 2v6M15 2v6M6 8h12v4a6 6 0 0 1-12 0ZM12 18v4",ze="M9 9h11v11H9ZM5 15H4V4h11v1",Ae="M4 21v-7M4 10V3M12 21v-9M12 8V3M20 21v-5M20 12V3M1 14h6M9 8h6M17 16h6",L=({variant:e,danger:t,size:n,wide:s,class:a})=>["btn",e!=="primary"&&e,t&&"danger",n,s&&"wide",a].filter(Boolean).join(" ");function x({leftIcon:e,rightIcon:t,loading:n,children:s}){let a=c("i",{class:"btn-spin"});return c(D,{children:[e?n?a:c(g,{d:e}):null,s,t?n&&!e?a:c(g,{d:t}):null]})}function He({variant:e,danger:t,size:n,wide:s,leftIcon:a,rightIcon:r,loading:i,disabled:o,href:h,external:l,as:$,type:M="button",class:w,children:I,...u}){let m=L({variant:e,danger:t,size:n,wide:s,class:w}),f=c(x,{leftIcon:a,rightIcon:r??(l?me:void 0),loading:i,children:I});return $==="span"?c("span",{class:m,"aria-hidden":"true",children:f}):h&&!o&&!i?c("a",{...u,class:m,href:h,...l?{target:"_blank",rel:"noopener noreferrer"}:{},children:f}):c("button",{"aria-busy":i||void 0,...u,type:M,class:m,disabled:o||i,children:f})}function Pe({variant:e,danger:t,size:n,wide:s,leftIcon:a,rightIcon:r,class:i,children:o,...h}){return c(E,{...h,class:L({variant:e,danger:t,size:n,wide:s,class:i}),children:c(x,{leftIcon:a,rightIcon:r,children:o})})}function Ne({icon:e,label:t,tip:n,type:s="button",class:a,children:r,...i}){return c("button",{...i,type:s,class:a?`icon-btn ${a}`:"icon-btn","aria-label":t,title:n?void 0:t,"data-tip":n,children:e?c(g,{d:e}):r})}export{C as $0a,R as $0b,U as $0c,P as $0d,O as $0e,Ue as $1A,be as $1B,qe as $1C,Ee as $1D,Le as $1E,xe as $1F,_e as $1G,Te as $1H,Se as $1I,ze as $1J,Ae as $1K,He as $1L,Pe as $1M,Ne as $1N,c as $1a,g as $1b,Z as $1c,q as $1d,E as $1e,ae as $1f,re as $1g,ie as $1h,oe as $1i,de as $1j,he as $1k,ce as $1l,le as $1m,pe as $1n,ue as $1o,fe as $1p,ve as $1q,ge as $1r,$e as $1s,Me as $1t,we as $1u,Ie as $1v,ye as $1w,ke as $1x,Ce as $1y,Re as $1z};
@@ -1 +0,0 @@
1
- import{$3b as g,$3d as R,$3f as T,$3j as P,$3l as A}from"./shared-init-cc13a835f3508618.js";import{$0a as B}from"./shared-init-cc13a835f3508618.js";import{$0d as y}from"./shared-init-f475017dd5811e33.js";import{$1E as x,$1L as d,$1N as f,$1a as t,$1e as b,$1i as L,$1k as S,$1l as E,$1m as O,$1n as C,$1p as M,$1s as w}from"./shared-init-f475017dd5811e33.js";import{$3c as l,$3h as a,$3j as p,$3k as h,$3l as k}from"./shared-init-6e12333f12903a62-2.js";var $="side";function F({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=`${$}=${o?"min":"max"}; path=/; max-age=31536000; samesite=lax`},e=r?"Expand sidebar":"Collapse sidebar";return t(f,{icon:r?S:L,label:e,tip:e,class:"side-toggle",onClick:i})}function J({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:x,cancel:"Stay here",actions:t(d,{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 et({menu:n}){let r=()=>void y().catch(()=>location.reload());return n?t(P,{icon:M,title:"Sign out",onClick:r}):t(d,{variant:"secondary",danger:!0,onClick:r,children:"Sign out"})}var v=3600*24*365,I=[["light","Light",E],["dark","Dark",O],["system","System",C]];function at({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))})}function bt(){let n=g(),[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(f,{icon:w,label:"Open navigation",class:"only-m",onClick:()=>e(!i)}),t("div",{class:"scrim",onClick:()=>e(!1)})]})}function xt({within:n,children:r,onClick:s,...i}){let e=g(),o=e===T(i)||n!==void 0&&(e===n||e.startsWith(`${n}/`)),c=k(null);return t(b,{...i,"aria-current":o?"page":void 0,onClick:u=>{c.current=u.currentTarget,s?.(u)},children:[r,t(H,{anchor:c,current:o})]})}function H({anchor:n,current:r}){let{pending:s}=R();return h(()=>{n.current&&(s&&!r?n.current.setAttribute("data-pending",""):n.current.removeAttribute("data-pending"))},[s,r]),null}export{F as a,J as b,et as c,at as d,bt as e,xt as f};
@@ -1,5 +0,0 @@
1
- import{e as h,f as y}from"./defaults-52f30e83d7666f7a.js";function x(t,e){return{type:t,props:e}}function l(t){return t.children}var w={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&apos;"},v=(t,e)=>t.replace(e,r=>w[r]);function a(t,e,r){if(t==null||typeof t=="boolean")return;if(typeof t=="string"||typeof t=="number"){let i=String(t);r.push(e?v(i,/[&<>]/g):i);return}if(Array.isArray(t)){for(let i of t)a(i,e,r);return}let{type:n,props:s}=t,o=s.children;if(n===l)return s.value!==void 0&&a(JSON.stringify(s.value,null,2),!0,r),a(o,!0,r);if(typeof n=="function")return a(n(s),e,r);let m=[];a(o,e,m);let f=k(m);if(!f.length&&!s.keep)return;let g="";for(let i in s){let u=s[i];if(i!=="children"&&i!=="keep"&&u!=null){if(typeof u!="string"&&typeof u!="number"&&typeof u!="boolean")throw Error(`contextjsx: attribute ${i} on <${n}> must be a string, number or boolean`);g+=` ${i}="${v(String(u),/[&<>"']/g)}"`}}r.push({name:n,attributes:g,children:f})}function k(t){let e=[],r="",n=()=>{let s=r.trim();s&&e.push(s),r=""};for(let s of t)typeof s=="string"?r+=s:(n(),e.push(s));return n(),e}function R(t,e,r){return t.map(n=>typeof n=="string"?e?n.replace(/^(?=.)/gm,e):n:n.children.length?`${e}<${n.name}${n.attributes}>
2
- ${R(n.children,e+r,r)}
3
- ${e}</${n.name}>`:`${e}<${n.name}${n.attributes}/>`).join(`
4
- `)}function d(t,e={}){let r=[];return a(t,!1,r),R(k(r),""," ".repeat(e.indent??1))}var S=t=>t.replace(/&(amp|lt|gt);/g,(e,r)=>({amp:"&",lt:"<",gt:">"})[r]);function p(t="",e=!1){let r=/<event>\n([^]*?)\n<\/event>/g;if(!e&&(!t.trimStart().startsWith("<event>")||t.replace(r,"").trim()))return;let n=[];for(let[,s]of t.matchAll(r))try{let o=JSON.parse(S(s));if(!o||typeof o!="object"||Array.isArray(o)){if(!e)return;continue}n.push(o)}catch(o){if(console.error("coder: unreadable event prompt",o),!e)return}return n.length?n:void 0}function b(t,e,r=[]){let n=[t??"",...r].flatMap(s=>(p(s,!0)??[]).flatMap(o=>typeof o.mustReply=="boolean"?[o.mustReply]:[]));return n.length?n.includes(!0):e}var K=d(x("summary-request",{children:["Summarize this conversation so a new engine conversation can continue it. Return only the summary: no tools, no reply to the platform.","Use these headings in order, each even if empty: Goal; Decisions; Preferences and constraints; Files and PRs touched; Open items.","Name who asked for or decided each thing. Keep durable facts, including any earlier summary. Leave out details a speaker asked to forget, without quoting them."].filter(Boolean).join(`
5
- `)}));var Y=["Conversation","Activity"],H=[["","Recent"],["active","Active"],["waiting","Needs approval"],["running","Running"],["queued","Queued"],["completed","Completed"],["failed","Failed"],["cancelled","Cancelled"],["archived","Archived"]];function X(t){let{status:e,...r}=t;return e==="archived"?{...r,archived:!0}:{...r,status:e}}var E=[["","All sources"],["dashboard","Dashboard"],["cli","CLI"],["schedule","Schedule"]],Z=t=>(E.find(([e])=>e===t)??[t,t])[1],tt=t=>t.status==="queued"||t.status==="running"||t.status==="waiting",A=t=>({rank:h(t.status),createdAt:t.createdAt,id:t.task.id}),T=(t,e)=>y(A(t),A(e));function et(t,e){let r=new Set(e.map(n=>n.task.id));return[...e,...t.filter(n=>!r.has(n.task.id))].sort(T)}function nt(t,e,r={}){let n=new Set(t.map(s=>s.task.id));return[...e.filter(s=>!n.has(s.task.id)),...t].map(s=>r[s.task.id]??s).sort(T)}function rt(t,e,r,n){let s=t.at(-1);return{rows:t.filter(o=>(r[o.task.id]??0)<=n),cursor:s?{since:s.updatedAt,sinceId:s.task.id}:e}}function $(t){return p(t)?.flatMap(e=>e.reactions?e.reactions.map(({emoji:r,by:n})=>({author:n.join(", "),text:`reacted ${r}`,reaction:!0})):(e.messages??(e.message?[e.message]:[])).map(({text:r,author:n})=>({author:n.handle??n.name??n.id,text:r||(e.event??"")})))}var st=(t,e)=>b(e,t.task.event?.mustReply!==!1);function ot(t){let e=t.task.prompt?.trim(),r=!e||$(e)?t.task.event?.text?.trim()||$(t.turns?.[0]?.prompt??e)?.find(n=>!n.reaction)?.text.trim():e;return t.task.name?.trim()||r||`${t.task.event?.type??"task"} on ${t.task.agent}`}var it=t=>t.split(/[\\/]/).filter(Boolean).at(-1)??t;export{Y as a,H as b,X as c,E as d,Z as e,tt as f,et as g,nt as h,rt as i,$ as j,st as k,ot as l,it as m};
@@ -1 +0,0 @@
1
- import{a as I}from"./confirm-c29a1db0130638d2.js";import{b as v}from"./action-71685b2d5ad9f359.js";import{$1c as y}from"./shared-init-cc13a835f3508618.js";import{$3B as x,$3a as D,$3j as f}from"./shared-init-cc13a835f3508618.js";import{$2a as R,$2j as M}from"./shared-init-cc13a835f3508618.js";import{$0c as m}from"./shared-init-f475017dd5811e33.js";import{$1L as p,$1a as o,$1b as B,$1y as T}from"./shared-init-f475017dd5811e33.js";import{$3c as b,$3h as d}from"./shared-init-6e12333f12903a62-2.js";function H(t){if(!t||typeof t!="object")return{};let i=t,n=(...s)=>s.map(e=>i[e]).find(e=>typeof e=="string");return{id:n("id"),action:n("kind","tool"),reason:n("summary","reason")}}function W({task:t,live:i}){let n=D(),s=x(),e=v(),a=v({leaves:!0}),[g,r]=d(""),[u,c]=d(!1),k=u||!!t.archivedAt,[S,h]=d(!1),w=async l=>{r("");let A=await e.run(l,()=>m.tasks[l](t.task.id));return A&&r(l==="cancel"?"Stop requested.":"Archived."),A},z=()=>void a.run("delete",async()=>{await m.tasks.delete(t.task.id),n.push("/dash/[org]/tasks",{params:{org:s}})}).then(l=>l||h(!1)),C=()=>void w("archive").then(c);return o(b,{children:[o("span",{class:"flash",role:"status",children:g}),i?o(p,{variant:"outline",disabled:!!e.pending,loading:e.pending==="cancel",onClick:()=>void w("cancel"),children:"Stop"}):k?null:o(p,{variant:"outline",class:"archive",disabled:!!e.pending,loading:e.pending==="archive",onClick:C,children:"Archive"}),o(M,{summary:o(B,{d:T}),button:"icon",label:"More actions",children:[i&&!k?o(f,{title:"Archive",onClick:C}):null,o(f,{title:"Copy task id",onClick:()=>void navigator.clipboard.writeText(t.task.id).then(()=>y("Copied",t.task.id))}),o(f,{title:"Delete",danger:!0,onClick:()=>h(!0)})]}),o(I,{open:S,title:"Delete this task?",body:"Its conversation, activity and diff go with it.",confirmLabel:"Delete",busy:!!a.pending,onConfirm:z,onClose:()=>h(!1)})]})}function X({task:t}){let i=v({toast:"Not sent"}),n=i.pending,[s,e]=d(),{id:a,action:g,reason:r}=H(t.approval),u=async c=>{await i.run(c,()=>m.tasks.approve(t.task.id,a??"",c))&&(e(a),y(c==="accept"?"Allowed":"Denied","The task continues."))};return a&&s===a?null:o(R,{tone:"accent",title:"Approval needed",actions:t.task.flow==="default"?o(b,{children:[o(p,{variant:"outline",size:"sm",disabled:!!n,loading:n==="decline",onClick:()=>void u("decline"),children:"Deny"}),o(p,{size:"sm",disabled:!!n,loading:n==="accept",onClick:()=>void u("accept"),children:"Allow"})]}):void 0,children:o("div",{class:"body",children:[o("p",{class:"muted",children:"The task is paused until someone decides."}),o("p",{class:"approval",children:["The agent wants to run ",o("b",{children:g??"a tool"}),"."]}),r?o("p",{class:"muted",children:r}):null]})})}export{H as a,W as b,X as c};
@@ -1,5 +0,0 @@
1
- "use client";import{b as Ee,c as xe}from"./task-actions-c9e46e81604e85c5.js";import{a as Me,b as Mt}from"./instructions-affaaeff366b1725.js";import{a as ye,e as xt,f as N,j as Se,k as we,l as lt,m as Te}from"./task-681061023bdf0a49.js";import"./confirm-c29a1db0130638d2.js";import{b as ve,c as ke,d as be}from"./defaults-52f30e83d7666f7a.js";import{b as Et}from"./action-71685b2d5ad9f359.js";import{a as vt,b as Gt,d as j,e as Xt,h as Zt}from"./format-a27067f0186e78ac.js";import{$1a as ue,$1d as Tt,$1e as me,$1f as ge}from"./shared-init-cc13a835f3508618.js";import{$3A as pe,$3B as wt,$3c as ce,$3l as St,$3z as fe}from"./shared-init-cc13a835f3508618.js";import{$2a as rt,$2d as G,$2j as de,$2o as he}from"./shared-init-cc13a835f3508618.js";import"./wular-pnext-6e12333f12903a62-0.js";import"./shared-init-cc13a835f3508618.js";import{$0b as Jt,$0c as P,$0e as Yt}from"./shared-init-f475017dd5811e33.js";import{$1A as ne,$1B as ie,$1E as oe,$1F as ot,$1G as re,$1H as le,$1I as ae,$1L as yt,$1a as a,$1b as R,$1e as Qt,$1f as te,$1g as kt,$1h as ee,$1j as nt,$1k as J,$1o as bt,$1q as se,$1t as Y,$1u as it}from"./shared-init-f475017dd5811e33.js";import{$1b as Ut}from"./shared-init-6e12333f12903a62-2.js";import"./shared-init-6e12333f12903a62-2.js";import"./shared-init-6e12333f12903a62-2.js";import{$3c as $,$3h as x,$3i as gt,$3j as L,$3k as st,$3l as _,$3m as U}from"./shared-init-6e12333f12903a62-2.js";var Ze=()=>innerHeight+scrollY>=document.documentElement.scrollHeight-48,At=()=>scrollTo({top:document.documentElement.scrollHeight});function at(s=!1){let[o,t]=x(s),e=_(s);return e.current=o,L(()=>{let n=location.pathname,l=()=>t(e.current=Ze()),r=new ResizeObserver(()=>e.current&&location.pathname===n&&At());return r.observe(document.body),addEventListener("scroll",l,{passive:!0}),e.current&&At(),l(),()=>{r.disconnect(),removeEventListener("scroll",l)}},[]),{following:o,follow:()=>{e.current=!0,t(!0),At()}}}var Ae=s=>s.includes("approval")||s==="sidecar-decision"||s==="auto-review",Qe=/\x1b\[[0-9;?]*[ -/]*[@-~]|\x1b\][^\x07\x1b]*(?:\x07|\x1b\\)/g;function W(s,o){return o?s.split(`${o}/`).join("").split(o).join("."):s}var ct=class{constructor(o,t={}){this.cwd=o;this.opts=t}prevKind=null;lastAssistant="";lastToolText="";openCalls=[];callIds=new WeakMap;approval;approvals=new Map;lastUsageTotal=0;get lastAssistantMessage(){return this.lastAssistant}reduce(o){let t=o.entry,e=t?String(t.kind??"status"):"line",i=t?e==="tool-result"?this.close(o,t):Ae(e)?this.decide(o,t,e):void 0:void 0;if(i)return this.prevKind=e,[i];let n={seq:o.seq,at:o.at,kind:"status",title:"",sourceKind:e,separated:!1,tone:"muted"};if(!t)n.kind=o.level==="err"?"error":o.level==="sys"?"status":"line",n.title=W(o.line,this.cwd),o.level==="err"&&(n.tone="error");else if(e==="usage"){let l=t.tokens;if(!l)return[];let r=this.lastUsageTotal>0,c=l.total-this.lastUsageTotal;if(!r||c<Math.max(2e4,this.lastUsageTotal*.2))return this.lastUsageTotal=Math.max(this.lastUsageTotal,l.total),[];this.lastUsageTotal=l.total,n.kind="usage",n.tokens=l,n.title=`ctx ${Ce(l.input+l.cachedInput)} \xB7 out ${Ce(l.output)}`}else if(e==="approval-decision"&&t.decision==="escalate"||e==="approval-escalated"){let l=W(t.summary?String(t.summary):"",this.cwd),r=/^(?:run command: |Run command\. |Apply file changes\. |\w+: )?([\s\S]*)$/.exec(l)[1],c=String(t.method??""),d=c&&!c.includes("/")?c:this.openCalls.at(-1)?.tool,f=r.startsWith("{")?"":r.split(/\s+/)[0],g=W(t.reason?String(t.reason):"",this.cwd);n.kind="approval",n.title=["Approval",[d,f].filter(Boolean).join(" ")].filter(Boolean).join(" \xB7 "),n.detail=[r,g&&`Policy \xB7 ${g}`].filter(Boolean).join(`
2
- `),n.state=e==="approval-escalated"?"waiting":"escalated",e==="approval-escalated"?this.approvals.set(String(t.approvalId),n):this.approval=n}else if(Ae(e)&&(t.decision||!t.message)){n.kind="approval";let l=e==="sidecar-decision"?"sidecar":e==="auto-review"?"auto-review":"approval",r=t.riskLevel?`(${String(t.riskLevel)} risk)`:"",c=W(t.summary?String(t.summary):"",this.cwd),d=c.slice(c.indexOf(": ")+2),f=c&&d&&this.lastToolText.includes(d)?"":c,g=f?"":String(t.method??"");n.title=`${[l,String(t.decision??""),r,g].filter(Boolean).join(" ")}${f?` \xB7 ${f}`:""}`,n.detail=W(t.reason?String(t.reason):"",this.cwd)}else{let l=t.message?String(t.message):e==="tool-result"?"(no output)":String(t.tool||t.kind||"");if(!l&&!(e==="tool-result"&&(t.exitCode!=null||t.isError)))return[];n.title=W(l,this.cwd),e==="assistant"?(n.kind="assistant",n.tone=void 0,this.lastAssistant=n.title):e==="error"||e==="steer"?(n.kind=e,n.tone=e==="error"?"error":"warning"):e==="reasoning"?(n.kind="reasoning",n.durationMs=typeof t.durationMs=="number"?t.durationMs:0):e==="tool"?(n.kind="tool",t.tool&&(n.tool=String(t.tool)),this.lastToolText=n.title,t.callId&&this.callIds.set(n,String(t.callId)),this.openCalls.push(n)):e==="tool-result"&&(n.kind="tool-result",n.title=this.output(l),n.exitCode=typeof t.exitCode=="number"?t.exitCode:void 0,n.tone=n.exitCode!==void 0&&n.exitCode!==0||t.isError===!0?"error":"muted",n.durationMs=typeof t.durationMs=="number"?t.durationMs:0,t.tool&&(n.tool=String(t.tool)))}return this.prevKind!==null&&(n.separated=["assistant","error","steer"].includes(e)||e==="reasoning"&&this.prevKind!=="reasoning"||e==="tool"&&["assistant","reasoning"].includes(this.prevKind)),this.prevKind=e,[n]}close(o,t){let e=t.tool?String(t.tool):void 0,i=t.callId?this.openCalls.findIndex(d=>this.callIds.get(d)===String(t.callId)):-1,n=t.callId?i:e?this.openCalls.findIndex(d=>d.tool===e):this.openCalls.length-1;if(n<0)return;let[l]=this.openCalls.splice(n,1),r=typeof t.exitCode=="number"?t.exitCode:void 0,c=typeof t.durationMs=="number"?t.durationMs:o.at-l.at||0;return{...l,title:t.callMessage?W(String(t.callMessage),this.cwd):l.title,result:{ok:!r&&t.isError!==!0,exitCode:r,durationMs:Math.max(0,c),detail:this.output(t.message?String(t.message):"")}}}decide(o,t,e){let i=String(t.approvalId??""),n=t.decision==="accept";if(e==="sidecar-decision"&&this.approval){let r=W(t.reason?String(t.reason):"",this.cwd),c={...this.approval,detail:[this.approval.detail,r&&`Sidecar \xB7 ${r}`].filter(Boolean).join(`
3
- `)};return t.decision==="escalate"?this.approval=c:(this.approval=void 0,Ct(c,o,`${n?"accepted":"denied"} by sidecar`,n))}if(e==="approval-escalated"&&this.approval){let r={...this.approval,state:"waiting"};return this.approval=void 0,this.approvals.set(i,r),r}let l=this.approvals.get(i);if(!(!l||e!=="approval-answered"&&e!=="approval-timeout"))return this.approvals.delete(i),e==="approval-timeout"?Ct(l,o,"timed out",!1):Ct(l,o,`${n?"accepted":"denied"} by reviewer`,n)}output(o){return W(this.opts.keepAnsi?o:o.replace(Qe,""),this.cwd)}};function Ct(s,o,t,e){return{...s,state:t,result:{ok:e,durationMs:Math.max(0,o.at-s.at||0),detail:""}}}function Ce(s){return s<1e3?String(s):s<1e6?`${(s/1e3).toFixed(s<1e4?1:0)}k`:`${(s/1e6).toFixed(1)}M`}function Oe(s,o,t){let e=new Array(s);return new Proxy(e,{get(i,n,l){if(typeof n=="string"){let r=n.charCodeAt(0);if(r>=48&&r<=57){let c=+n;if(Number.isInteger(c)&&c>=0&&c<s){let d=i[c];if(!d){let f=o[c*2];d=i[c]={index:c,key:t(c),start:f,size:o[c*2+1],end:f+o[c*2+1],lane:0}}return d}}if(n==="length")return s}return Reflect.get(i,n,l)}})}function K(s,o,t){let e=t.initialDeps??[],i,n=!0;function l(){var r;let d=0,f=s();if(!(f.length!==e.length||f.some((S,p)=>e[p]!==S)))return i;e=f;let h=0;return i=o(...f),t?.onChange&&!(n&&t.skipInitialOnChange)&&t.onChange(i),n=!1,i}return l.updateDeps=r=>{e=r},l}function Ot(s,o){if(s===void 0)throw new Error(`Unexpected undefined${o?`: ${o}`:""}`);return s}var Ie=(s,o)=>Math.abs(s-o)<1.01,_e=(s,o,t)=>{let e;return function(...i){s.clearTimeout(e),e=s.setTimeout(()=>o.apply(this,i),t)}};var X,It=()=>{if(X!==void 0)return X;if(typeof navigator>"u")return X=!1;if(/iP(hone|od|ad)/.test(navigator.userAgent))return X=!0;let s=navigator.maxTouchPoints;return X=navigator.platform==="MacIntel"&&s!==void 0&&s>0};var ts=s=>s,es=s=>{let o=Math.max(s.startIndex-s.overscan,0),e=Math.min(s.endIndex+s.overscan,s.count-1)-o+1,i=new Array(e);for(let n=0;n<e;n++)i[n]=o+n;return i};var Z={passive:!0},Re=(s,o)=>{let t=s.scrollElement;if(!t)return;let e=()=>{o({width:t.innerWidth,height:t.innerHeight})};return e(),t.addEventListener("resize",e,Z),()=>{t.removeEventListener("resize",e)}},ss=typeof window>"u"?!0:"onscrollend"in window,ns=(s,o,t)=>{let e=s.scrollElement;if(!e)return;let i=s.targetWindow;if(!i)return;let n=s.options.useScrollendEvent&&ss,l=0,r=n?null:_e(i,()=>o(l,!1),s.options.isScrollingResetDelay),c=g=>()=>{l=t(e),r?.(),o(l,g)},d=c(!0),f=c(!1);return e.addEventListener("scroll",d,Z),n&&e.addEventListener("scrollend",f,Z),()=>{e.removeEventListener("scroll",d),n&&e.removeEventListener("scrollend",f)}};var ze=(s,o)=>ns(s,o,t=>s.options.horizontal?t.scrollX:t.scrollY),is=(s,o,t)=>{if(t.options.useCachedMeasurements){let e=t.indexFromElement(s),i=t.options.getItemKey(e);return t.itemSizeCache.get(i)??t.options.estimateSize(e)}if(o?.borderBoxSize){let e=o.borderBoxSize[0];if(e)return Math.round(e[t.options.horizontal?"inlineSize":"blockSize"])}if(!o){let e=t.indexFromElement(s),i=t.options.getItemKey(e),n=t.itemSizeCache.get(i);if(n!==void 0)return n}return s[t.options.horizontal?"offsetWidth":"offsetHeight"]},os=(s,{adjustments:o=0,behavior:t},e)=>{var i,n;(n=(i=e.scrollElement)==null?void 0:i.scrollTo)==null||n.call(i,{[e.options.horizontal?"left":"top"]:s+o,behavior:t})},De=os;var ut=class{constructor(o){this.unsubs=[],this.scrollElement=null,this.targetWindow=null,this.isScrolling=!1,this.scrollState=null,this.measurementsCache=[],this._flatMeasurements=null,this.itemSizeCache=new Map,this.itemSizeCacheVersion=0,this.laneAssignments=new Map,this.pendingMin=null,this.prevLanes=void 0,this.lanesChangedFlag=!1,this.lanesSettling=!1,this.pendingScrollAnchor=null,this.scrollRect=null,this.scrollOffset=null,this.scrollDirection=null,this.scrollAdjustments=0,this._iosDeferredAdjustment=0,this._iosTouching=!1,this._iosJustTouchEnded=!1,this._iosTouchEndTimerId=null,this._intendedScrollOffset=null,this.elementsCache=new Map,this.now=()=>{var t,e,i;return((i=(e=(t=this.targetWindow)==null?void 0:t.performance)==null?void 0:e.now)==null?void 0:i.call(e))??Date.now()},this.observer=(()=>{let t=null,e=()=>t||(!this.targetWindow||!this.targetWindow.ResizeObserver?null:t=new this.targetWindow.ResizeObserver(i=>{i.forEach(n=>{let l=()=>{let r=n.target,c=this.indexFromElement(r);if(!r.isConnected){this.observer.unobserve(r);for(let[d,f]of this.elementsCache)if(f===r){this.elementsCache.delete(d);break}return}this.shouldMeasureDuringScroll(c)&&this.resizeItem(c,this.options.measureElement(r,n,this))};this.options.useAnimationFrameWithResizeObserver?requestAnimationFrame(l):l()})}));return{disconnect:()=>{var i;(i=e())==null||i.disconnect(),t=null},observe:i=>{var n;return(n=e())==null?void 0:n.observe(i,{box:"border-box"})},unobserve:i=>{var n;return(n=e())==null?void 0:n.unobserve(i)}}})(),this.range=null,this.setOptions=t=>{var e,i;let n={debug:!1,initialOffset:0,overscan:1,paddingStart:0,paddingEnd:0,scrollPaddingStart:0,scrollPaddingEnd:0,horizontal:!1,getItemKey:ts,rangeExtractor:es,onChange:()=>{},measureElement:is,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 S=t[h];S!==void 0&&(n[h]=S)}let l=this.options,r=null,c=null,d=!1;if(l!==void 0&&l.enabled&&n.enabled&&n.anchorTo==="end"&&this.scrollElement!==null){let h=l.count,S=n.count,p=this.getMeasurements(),T=h>0?((e=p[0])==null?void 0:e.key)??l.getItemKey(0):null,k=h>0?((i=p[h-1])==null?void 0:i.key)??l.getItemKey(h-1):null;if(S!==h||h>0&&S>0&&(n.getItemKey(0)!==T||n.getItemKey(S-1)!==k)){d=!0;let y=h>0?this.getVirtualItemForOffset(this.getScrollOffset())??p[0]:null;y&&(r=[y.key,this.getScrollOffset()-y.start]);let C=n.followOnAppend===!0?"auto":n.followOnAppend||null;C&&S>h&&this.isAtEnd(l.scrollEndThreshold)&&(h===0||n.getItemKey(S-1)!==k)&&(c=C)}}this.options=n,d&&(this.pendingMin=0,this.itemSizeCacheVersion++);let f=!1,g=0;if(r&&this.scrollOffset!==null){let[h,S]=r,p=this.getMeasurements(),{count:T,getItemKey:k}=this.options,w=0;for(;w<T&&k(w)!==h;)w++;if(w<T){let b=p[w];if(b){let y=b.start+S;y!==this.scrollOffset&&(g=y-this.scrollOffset,this.scrollOffset=y,f=!0)}}}(f||c)&&(this.pendingScrollAnchor=[f?r[0]:null,f?r[1]:0,c,g])},this.notify=t=>{var e,i;(i=(e=this.options).onChange)==null||i.call(e,this,t)},this.maybeNotify=K(()=>(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 e=this.options.enabled?this.options.getScrollElement():null;if(this.scrollElement!==e){if(this.cleanup(),!e){this.maybeNotify();return}if(this.scrollElement=e,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(n=>{this.observer.observe(n)}),this.unsubs.push(this.options.observeElementRect(this,n=>{this.scrollRect=n,this.maybeNotify()})),this.unsubs.push(this.options.observeElementOffset(this,(n,l)=>{this._intendedScrollOffset!==null&&Math.abs(n-this._intendedScrollOffset)<1.5&&(n=this._intendedScrollOffset),this._intendedScrollOffset=null,this.scrollAdjustments=0,this.scrollDirection=l?this.getScrollOffset()<n?"forward":"backward":null,this.scrollOffset=n,this.isScrolling=l,this._flushIosDeferredIfReady(),this.scrollState&&this.scheduleScrollReconcile(),this.maybeNotify()})),"addEventListener"in this.scrollElement){let n=this.scrollElement,l=()=>{this._iosTouching=!0,this._iosJustTouchEnded=!1,this._iosTouchEndTimerId!==null&&this.targetWindow!=null&&(this.targetWindow.clearTimeout(this._iosTouchEndTimerId),this._iosTouchEndTimerId=null)},r=()=>{this._iosTouching=!1,!(!It()||this.targetWindow==null)&&(this._iosJustTouchEnded=!0,this._iosTouchEndTimerId=this.targetWindow.setTimeout(()=>{this._iosJustTouchEnded=!1,this._iosTouchEndTimerId=null,this._flushIosDeferredIfReady()},150))};n.addEventListener("touchstart",l,Z),n.addEventListener("touchend",r,Z),this.unsubs.push(()=>{n.removeEventListener("touchstart",l),n.removeEventListener("touchend",r),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 i=this.pendingScrollAnchor;if(this.pendingScrollAnchor=null,i&&this.scrollElement&&this.options.enabled){let[n,l,r,c]=i;n!==null&&!r&&(It()&&(this.isScrolling||this._iosTouching||this._iosJustTouchEnded)?c!==0&&(this._iosDeferredAdjustment+=c):this._scrollToOffset(this.getScrollOffset(),{adjustments:void 0,behavior:void 0})),r&&this.scrollToEnd({behavior:r})}},this._flushIosDeferredIfReady=()=>{if(this._iosDeferredAdjustment===0||this.isScrolling||this._iosTouching||this._iosJustTouchEnded)return;let t=this.getScrollOffset(),e=this.getMaxScrollOffset();if(t<0||t>e)return;let i=this._iosDeferredAdjustment;this._iosDeferredAdjustment=0,this._scrollToOffset(t,{adjustments:this.scrollAdjustments+=i,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,e)=>{let i=new Map,n=new Map;for(let l=e-1;l>=0;l--){let r=t[l];if(i.has(r.lane))continue;let c=n.get(r.lane);if(c==null||r.end>c.end?n.set(r.lane,r):r.end<c.end&&i.set(r.lane,!0),i.size===this.options.lanes)break}return n.size===this.options.lanes?Array.from(n.values()).sort((l,r)=>l.end===r.end?l.index-r.index:l.end-r.end)[0]:void 0},this.getMeasurementOptions=K(()=>[this.options.count,this.options.paddingStart,this.options.scrollMargin,this.options.getItemKey,this.options.enabled,this.options.lanes,this.options.laneAssignmentMode],(t,e,i,n,l,r,c)=>(this.prevLanes!==void 0&&this.prevLanes!==r&&(this.lanesChangedFlag=!0),this.prevLanes=r,this.pendingMin=null,{count:t,paddingStart:e,scrollMargin:i,getItemKey:n,enabled:l,lanes:r,laneAssignmentMode:c}),{key:!1}),this.getMeasurements=K(()=>[this.getMeasurementOptions(),this.itemSizeCacheVersion],({count:t,paddingStart:e,scrollMargin:i,getItemKey:n,enabled:l,lanes:r,laneAssignmentMode:c},d)=>{let f=this.itemSizeCache;if(!l)return this.measurementsCache=[],this.itemSizeCache.clear(),this.laneAssignments.clear(),[];if(this.laneAssignments.size>t)for(let p of this.laneAssignments.keys())p>=t&&this.laneAssignments.delete(p);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(p=>{this.itemSizeCache.set(p.key,p.size)}));let g=this.lanesSettling?0:this.pendingMin??0;if(this.pendingMin=null,this.lanesSettling&&this.measurementsCache.length===t&&(this.lanesSettling=!1),r===1){let p=this.options.gap,T=t*2,k=this._flatMeasurements;if(!k||k.length<T){let y=new Float64Array(T);k&&g>0&&y.set(k.subarray(0,g*2)),k=y,this._flatMeasurements=k}let w;if(g===0)w=e+i;else{let y=g-1;w=k[y*2]+k[y*2+1]+p}for(let y=g;y<t;y++){let C=n(y),A=f.get(C),z=typeof A=="number"?A:this.options.estimateSize(y);k[y*2]=w,k[y*2+1]=z,w+=z+p}let b=Oe(t,k,n);return this.measurementsCache=b,b}let h=this.measurementsCache.slice(0,g),S=new Array(r).fill(void 0);for(let p=0;p<g;p++){let T=h[p];T&&(S[T.lane]=p)}for(let p=g;p<t;p++){let T=n(p),k=this.laneAssignments.get(p),w,b,y=c==="estimate"||f.has(T);if(k!==void 0&&this.options.lanes>1){w=k;let F=S[w],V=F!==void 0?h[F]:void 0;b=V?V.end+this.options.gap:e+i}else{let F=this.options.lanes===1?h[p-1]:this.getFurthestMeasurement(h,p);b=F?F.end+this.options.gap:e+i,w=F?F.lane:p%this.options.lanes,this.options.lanes>1&&y&&this.laneAssignments.set(p,w)}let C=f.get(T),A=typeof C=="number"?C:this.options.estimateSize(p),z=b+A;h[p]={index:p,start:b,size:A,end:z,key:T,lane:w},S[w]=p}return this.measurementsCache=h,h},{key:!1,debug:()=>this.options.debug}),this.calculateRange=K(()=>[this.getMeasurements(),this.getSize(),this.getScrollOffset(),this.options.lanes],(t,e,i,n)=>this.range=t.length>0&&e>0?rs({measurements:t,outerSize:e,scrollOffset:i,lanes:n,flat:n===1&&this._flatMeasurements!=null?this._flatMeasurements:null}):null,{key:!1,debug:()=>this.options.debug}),this.getVirtualIndexes=K(()=>{let t=null,e=null,i=this.calculateRange();return i&&(t=i.startIndex,e=i.endIndex),this.maybeNotify.updateDeps([this.isScrolling,t,e]),[this.options.rangeExtractor,this.options.overscan,this.options.count,t,e]},(t,e,i,n,l)=>n===null||l===null?[]:t({startIndex:n,endIndex:l,overscan:e,count:i}),{key:!1,debug:()=>this.options.debug}),this.indexFromElement=t=>{let e=this.options.indexAttribute,i=t.getAttribute(e);return i?parseInt(i,10):(console.warn(`Missing attribute name '${e}={index}' on measured element.`),-1)},this.shouldMeasureDuringScroll=t=>{var e;if(!this.scrollState||this.scrollState.behavior!=="smooth")return!0;let i=this.scrollState.index??((e=this.getVirtualItemForOffset(this.scrollState.lastTargetOffset))==null?void 0:e.index);if(i!==void 0&&this.range){let n=Math.max(this.options.overscan,Math.ceil((this.range.endIndex-this.range.startIndex)/2)),l=Math.max(0,i-n),r=Math.min(this.options.count-1,i+n);return t>=l&&t<=r}return!0},this.measureElement=t=>{if(!t){this.elementsCache.forEach((l,r)=>{l.isConnected||(this.observer.unobserve(l),this.elementsCache.delete(r))});return}let e=this.indexFromElement(t),i=this.options.getItemKey(e),n=this.elementsCache.get(i);n!==t&&(n&&this.observer.unobserve(n),this.observer.observe(t),this.elementsCache.set(i,t)),(!this.isScrolling||this.scrollState)&&this.shouldMeasureDuringScroll(e)&&this.resizeItem(e,this.options.measureElement(t,void 0,this))},this.resizeItem=(t,e)=>{var i,n;if(t<0||t>=this.options.count)return;let l,r,c,d=this._flatMeasurements;if(this.options.lanes===1&&d!==null)c=this.options.getItemKey(t),r=d[t*2],l=d[t*2+1];else{let h=this.measurementsCache[t];if(!h)return;c=h.key,r=h.start,l=h.size}let f=this.itemSizeCache.get(c)??l,g=e-f;if(g!==0){let h=this.options.anchorTo==="end"&&((i=this.scrollState)==null?void 0:i.behavior)!=="smooth"&&this.getVirtualDistanceFromEnd()<=this.options.scrollEndThreshold,S=h?this.getTotalSize():0,p=((n=this.scrollState)==null?void 0:n.behavior)!=="smooth"&&(this.shouldAdjustScrollPositionOnItemSizeChange!==void 0?this.shouldAdjustScrollPositionOnItemSizeChange(this.measurementsCache[t]??{index:t,key:c,start:r,size:l,end:r+l,lane:0},g,this):r<this.getScrollOffset()+this.scrollAdjustments&&(!this.itemSizeCache.has(c)||this.scrollDirection!=="backward"));(this.pendingMin===null||t<this.pendingMin)&&(this.pendingMin=t),this.itemSizeCache.set(c,e),this.itemSizeCacheVersion++,h?this.applyScrollAdjustment(this.getTotalSize()-S):p&&this.applyScrollAdjustment(g),this.notify(!1)}},this.getVirtualItems=K(()=>[this.getVirtualIndexes(),this.getMeasurements()],(t,e)=>{let i=[];for(let n=0,l=t.length;n<l;n++){let r=t[n],c=e[r];i.push(c)}return i},{key:!1,debug:()=>this.options.debug}),this.getVirtualItemForOffset=t=>{let e=this.getMeasurements();if(e.length===0)return;let i=this._flatMeasurements,n=this.options.lanes===1&&i!=null,l=Le(0,e.length-1,n?r=>i[r*2]:r=>Ot(e[r]).start,t);return Ot(e[l])},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,e,i=0)=>{if(!this.scrollElement)return 0;let n=this.getSize(),l=this.getScrollOffset();e==="auto"&&(e=t>=l+n?"end":"start"),e==="center"?t+=(i-n)/2:e==="end"&&(t-=n);let r=this.getMaxScrollOffset();return Math.max(Math.min(r,t),0)},this.getOffsetForIndex=(t,e="auto")=>{t=Math.max(0,Math.min(t,this.options.count-1));let i=this.getSize(),n=this.getScrollOffset(),l=this.measurementsCache[t];if(!l)return;if(e==="auto")if(l.end>=n+i-this.options.scrollPaddingEnd)e="end";else if(l.start<=n+this.options.scrollPaddingStart)e="start";else return[n,e];if(e==="end"&&t===this.options.count-1)return[this.getMaxScrollOffset(),e];let r=e==="end"?l.end+this.options.scrollPaddingEnd:l.start-this.options.scrollPaddingStart;return[this.getOffsetForAlignment(r,e,l.size),e]},this.scrollToOffset=(t,{align:e="start",behavior:i="auto"}={})=>{let n=this.getOffsetForAlignment(t,e),l=this.now();this.scrollState={index:null,align:e,behavior:i,startedAt:l,lastTargetOffset:n,stableFrames:0},this._scrollToOffset(n,{adjustments:void 0,behavior:i}),this.scheduleScrollReconcile()},this.scrollToIndex=(t,{align:e="auto",behavior:i="auto"}={})=>{t=Math.max(0,Math.min(t,this.options.count-1));let n=this.getOffsetForIndex(t,e);if(!n)return;let[l,r]=n,c=this.now();this.scrollState={index:t,align:r,behavior:i,startedAt:c,lastTargetOffset:l,stableFrames:0},this._scrollToOffset(l,{adjustments:void 0,behavior:i}),this.scheduleScrollReconcile()},this.scrollBy=(t,{behavior:e="auto"}={})=>{let i=this.getScrollOffset()+t,n=this.now();this.scrollState={index:null,align:"start",behavior:e,startedAt:n,lastTargetOffset:i,stableFrames:0},this._scrollToOffset(i,{adjustments:void 0,behavior:e}),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 e=this.getMeasurements(),i;if(e.length===0)i=this.options.paddingStart;else if(this.options.lanes===1){let n=e.length-1,l=this._flatMeasurements;l!=null?i=l[n*2]+l[n*2+1]:i=((t=e[n])==null?void 0:t.end)??0}else{let n=Array(this.options.lanes).fill(null),l=e.length-1;for(;l>=0&&n.some(r=>r===null);){let r=e[l];n[r.lane]===null&&(n[r.lane]=r.end),l--}i=Math.max(...n.filter(r=>r!==null))}return Math.max(i-this.options.scrollMargin+this.options.paddingEnd,0)},this.takeSnapshot=()=>{let t=[];if(this.itemSizeCache.size===0)return t;let e=this.getMeasurements();for(let i of e)i&&this.itemSizeCache.has(i.key)&&t.push({index:i.index,key:i.key,start:i.start,size:i.size,end:i.end,lane:i.lane});return t},this._scrollToOffset=(t,{adjustments:e,behavior:i})=>{this._intendedScrollOffset=t+(e??0),this.options.scrollToFn(t,{behavior:i,adjustments:e},this)},this.measure=()=>{this.pendingMin=null,this.itemSizeCache.clear(),this.laneAssignments.clear(),this.itemSizeCacheVersion++,this.notify(!1)},this.setOptions(o)}applyScrollAdjustment(o,t){o!==0&&(It()&&(this.isScrolling||this._iosTouching||this._iosJustTouchEnded)?this._iosDeferredAdjustment+=o:this._scrollToOffset(this.getScrollOffset(),{adjustments:this.scrollAdjustments+=o,behavior:t}))}scheduleScrollReconcile(){if(!this.targetWindow){this.scrollState=null;return}this.rafId==null&&(this.rafId=this.targetWindow.requestAnimationFrame(()=>{this.rafId=null,this.reconcileScroll()}))}reconcileScroll(){if(!this.scrollState||!this.scrollElement)return;if(this.now()-this.scrollState.startedAt>5e3){this.scrollState=null;return}let e=this.scrollState.index!=null?this.getOffsetForIndex(this.scrollState.index,this.scrollState.align):void 0,i=e?e[0]:this.scrollState.lastTargetOffset,n=1,l=i!==this.scrollState.lastTargetOffset;if(!l&&Ie(i,this.getScrollOffset())){if(this.scrollState.stableFrames++,this.scrollState.stableFrames>=n){this.getScrollOffset()!==i&&this._scrollToOffset(i,{adjustments:void 0,behavior:"auto"}),this.scrollState=null;return}}else if(this.scrollState.stableFrames=0,l){let r=this.getSize()||600,c=Math.abs(i-this.getScrollOffset()),d=this.scrollState.behavior==="smooth"&&c>r;this.scrollState.lastTargetOffset=i,d||(this.scrollState.behavior="auto"),this._scrollToOffset(i,{adjustments:void 0,behavior:d?"smooth":"auto"})}this.scheduleScrollReconcile()}},Le=(s,o,t,e)=>{for(;s<=o;){let i=(s+o)/2|0,n=t(i);if(n<e)s=i+1;else if(n>e)o=i-1;else return i}return s>0?s-1:0};function rs({measurements:s,outerSize:o,scrollOffset:t,lanes:e,flat:i}){let n=s.length-1,l=i?f=>i[f*2]:f=>s[f].start,r=i?f=>i[f*2]+i[f*2+1]:f=>s[f].end;if(s.length<=e)return{startIndex:0,endIndex:n};let c=Le(0,n,l,t),d=c;if(e===1)for(;d<n&&r(d)<t+o;)d++;else if(e>1){let f=Array(e).fill(0);for(;d<n&&f.some(h=>h<t+o);){let h=s[d];f[h.lane]=h.end,d++}let g=Array(e).fill(t+o);for(;c>=0&&g.some(h=>h>=t);){let h=s[c];g[h.lane]=h.start,c--}c=Math.max(0,c-c%e),d=Math.min(n,d+(e-1-d%e))}return{startIndex:c,endIndex:d}}var Fe={assistant:ne,tool:ot,"tool-result":it,approval:bt,status:kt,error:oe,line:kt,reasoning:se,steer:ie,usage:ee},ls=s=>!!(s.detail||s.result?.detail)||s.title.length>120||s.title.includes(`
4
- `);function as(s,o){let[,t]=gt(n=>n+1,0),e={count:s,estimateSize:()=>30,overscan:16,getScrollElement:()=>window,observeElementRect:Re,observeElementOffset:ze,scrollToFn:De,scrollMargin:o.current?o.current.getBoundingClientRect().top+scrollY:0,onChange:()=>t(0)},[i]=x(()=>new ut(e));return i.setOptions(e),st(()=>i._didMount(),[]),st(()=>i._willUpdate()),i}function $e(s){let[,o]=gt(t=>t+1,0);Yt(s?async()=>o(0):void 0,1e3)}function We(s,o){let t=s.findLastIndex(e=>e.kind==="assistant"||e.kind==="reasoning");return(e,i)=>o&&!e.result&&(e.state!==void 0||e.kind==="tool"&&i>t)}function cs({row:s,running:o}){$e(o);let t=s.result,e=o?Math.max(0,Date.now()-s.at):t?.durationMs,i=[s.state,t&&!t.ok&&t.exitCode!==void 0?`exit ${t.exitCode}`:"",e?j(e):""].filter(Boolean).join(" \xB7 ");return a("span",{class:`act-state${t&&!t.ok?" bad":""}`,children:[o?a("i",{class:"spin"}):t?a(R,{d:t.ok?it:Y}):null,i]})}function us({row:s,tz:o,open:t,running:e,onToggle:i}){let n=_(null),[l,r]=x(!1);st(()=>{n.current&&r(n.current.scrollWidth>n.current.clientWidth)},[s.title]);let c=t||l||ls(s),d=s.tone==="error",f=s.kind==="tool"||s.state!==void 0,g=s.kind==="tool-result"?[s.tool,s.exitCode!==void 0?`exit ${s.exitCode}`:void 0,s.durationMs?j(s.durationMs):void 0].filter(Boolean).join(" \xB7 "):s.kind==="reasoning"&&s.durationMs?j(s.durationMs):"";return a("div",{class:`act ${s.kind}${s.tone?` ${s.tone}`:""}${f?" timed":""}${t?" open":""}${c?" fold":""}`,...c?{role:"button",tabIndex:0,"aria-expanded":t,onClick:()=>getSelection()?.isCollapsed!==!1&&i(),onKeyDown:h=>{h.key!=="Enter"&&h.key!==" "||(h.preventDefault(),i())}}:{},children:[a("time",{children:Gt(s.at,o)}),a(R,{d:s.kind==="tool-result"&&d?Y:Fe[s.kind]}),a("span",{class:"act-text",children:[a("span",{class:"act-title",ref:n,children:s.title}),g?a("span",{class:"act-detail",children:g}):null,s.detail&&(t||!s.state)?a("span",{class:"act-detail",children:s.detail}):null,t&&s.result?.detail?a("span",{class:"act-detail",children:s.result.detail}):null]}),f?a(cs,{row:s,running:e}):null,c?a(R,{d:nt,class:"act-chev"}):null]})}function je({rows:s,live:o,tz:t,at:e}){let i=_(null),[n,l]=x(()=>new Set(typeof e=="number"?[e]:[])),{following:r,follow:c}=at(e===void 0?o:e==="end"),d=as(s.length,i),f=We(s,o);return L(()=>{let g=s.findIndex(b=>b.seq===e);if(g<0||!i.current)return;let h=i.current.getBoundingClientRect().top+scrollY;d.setOptions({...d.options,scrollMargin:h}),scrollTo({top:d.getOffsetForIndex(g,"center")?.[0]??0});let S=60,p=0,T=0,k=()=>{cancelAnimationFrame(T);for(let b of["wheel","touchstart","keydown"])removeEventListener(b,k)},w=()=>{let b=i.current?.querySelector(".act-slot.at");if(b){let y=parseFloat(getComputedStyle(b).scrollMarginTop),C=document.querySelector("form.reply")?.getBoundingClientRect().top??innerHeight,A=b.getBoundingClientRect(),z=A.top-(A.height>C-y?y:(y+C-A.height)/2);Math.abs(z)<1?p++:scrollBy(0,z)}p<3&&--S?T=requestAnimationFrame(w):k()};for(let b of["wheel","touchstart","keydown"])addEventListener(b,k,{passive:!0});return T=requestAnimationFrame(w),k},[]),s.length?a($,{children:[a("div",{class:"act-list",ref:i,style:`height:${d.getTotalSize()}px`,role:"log","aria-live":"off",children:d.getVirtualItems().map(g=>{let h=s[g.index];return a("div",{class:h.seq===e?"act-slot at":"act-slot","data-index":g.index,ref:d.measureElement,style:`transform:translateY(${g.start-d.options.scrollMargin}px)`,children:a(us,{row:h,tz:t,open:n.has(h.seq),running:f(h,g.index),onToggle:()=>l(S=>{let p=new Set(S);return p.delete(h.seq)||p.add(h.seq),p})})},h.seq)})}),r?null:a("button",{type:"button",class:"jump",onClick:c,children:"Jump to latest"})]}):a("p",{class:"act-empty muted",children:o?"Nothing yet. Events appear here as the task runs.":"No activity recorded."})}var ds=new Set(["tool","tool-result","approval"]);function _t(s,o){let t=s.filter(r=>r.kind==="tool").length,e=s.filter(r=>r.kind==="approval"&&r.result?.ok).length,i=s.filter(r=>r.kind==="approval"&&r.result?.ok===!1).length,n=s.filter(r=>r.kind==="tool"?r.result?.ok===!1:r.kind==="tool-result"&&r.tone==="error").length,l=s.reduce((r,c)=>r+(c.kind==="reasoning"?c.durationMs??0:0),0);return[t?`${t} tool ${t===1?"call":"calls"}`:"",e?`${e} approved`:"",i?`${i} denied`:"",n?`${n} failed`:"",l?`reasoning ${j(l)}`:"",o===void 0?"":j(o)].filter(Boolean).join(" \xB7 ")}function hs({row:s,running:o,onOpen:t}){let e=o&&s.state==="waiting",i=s.result?!s.result.ok:s.tone==="error",n=e?bt:s.result?s.result.ok?it:Y:i?Y:Fe[s.kind];return a("button",{type:"button",class:`act step ${s.kind}${e?" warning":i?" error":""}`,onClick:t,children:[o&&!e?a("i",{class:"spin"}):a(R,{d:n}),a("span",{class:"act-text",children:[a("span",{class:"act-title",children:e?"Waiting for your approval":s.title}),e?a("span",{class:"act-detail",children:s.title}):null]},s.seq),a("span",{class:"act-state",children:o&&!e?s.state??"running":Xt(s.at+(s.result?.durationMs??0))}),a(R,{d:J,class:"act-chev"})]})}function Ne({rows:s,startedAt:o,onOpen:t}){$e(!0);let e=We(s,!0),i=s.flatMap((c,d)=>ds.has(c.kind)?[{row:c,running:e(c,d)}]:[]),n=i.filter(c=>c.running&&c.row.state==="waiting"),l=i.filter(c=>!n.includes(c)),r=[...n,...l.slice(Math.max(0,l.length-2+n.length))].slice(0,2);return a("div",{class:"body run",children:[a("button",{type:"button",class:"act run-sum",onClick:()=>t("end"),children:[_t(s,o===void 0?void 0:Date.now()-o),a(R,{d:J,class:"act-chev"})]}),a("div",{class:i.length>r.length?"run-steps earlier":"run-steps",children:r.map((c,d)=>a(hs,{...c,onOpen:()=>t(c.row.seq)},d))}),a(G,{inline:!0,dots:!0,label:"The result appears here when the task finishes."})]})}function dt(s,o){if(typeof s=="string")return s;if(!s||typeof s!="object")return o;let t=s;for(let e of["output","answer","message"])if(typeof t[e]=="string")return t[e];return o}function fs(s,o,t){let{event:e}=s.task;return Se(o)??(t&&e?.actor&&o===e.text?[{author:e.actor.login??e.actor.id,text:o}]:[{author:"Prompt",text:o}])}var qe=(s,o)=>s.logSeq!==void 0?o.seq<s.logSeq:s.finishedAt===void 0||o.at<=s.finishedAt;function ps(s,o){let t=s.map(()=>[]);for(let e of o){let i=e.entry?.kind==="reply"?e.entry.message:void 0;if(!i)continue;let n=s.findIndex(l=>qe(l,e));t.at(n).push(i)}return t}function Be(s){return s.trim().replace(/^`+|`+$/g,"").trim()===ve}var ms=s=>typeof s=="object"&&s!==null&&Array.isArray(s.findings)&&s.findings.every(o=>typeof o=="object"&&o!==null&&"file"in o&&"summary"in o);function gs({findings:s}){return s.length?a("ul",{class:"findings",children:s.map((o,t)=>a("li",{class:`finding ${o.severity}`,children:[a("p",{class:"finding-head",children:[a("span",{class:"sev",children:o.severity}),a("span",{class:"loc",children:[o.file,":",o.line]}),o.category?a("span",{class:"cat",children:o.category}):null]}),a("p",{class:"finding-sum",children:o.summary}),o.failure_scenario?a("p",{class:"finding-why muted",children:o.failure_scenario}):null]},t))}):a("p",{class:"body muted",children:"No findings."})}function vs({value:s,required:o}){let t=dt(s,"Result received.");if(Be(t))return a("p",{class:"body muted",children:o?be:ke});let e;if(/^\s*[[{]/.test(t))try{e=JSON.parse(t)}catch{}return ms(e)?a(gs,{findings:e.findings}):e&&typeof e=="object"?a("pre",{class:"body json",children:JSON.stringify(e,null,2)}):a("div",{class:"body md",children:Mt(t)})}function ks(){let s=ce(),o=wt();return a(fe,{href:"/dash/[org]/tasks",params:{org:o},label:"Tasks",back:s.get("back")})}function bs({task:s,tz:o}){let t=wt(),e=N(s),{engine:i,model:n,effort:l}={...s.task.definition,...s.task.usage},r=s.task.event?.integration??s.task.source,c=s.task.event?.type??(s.task.flow!=="default"?s.task.flow:void 0),d=U(()=>lt(s).split(`
5
- `)[0],[s.task,s.turns]);return a(pe,{back:a(ks,{}),title:d,meta:a($,{children:[a(ue,{status:s.status}),s.archivedAt?a(he,{children:"archived"}):null]}),lead:a($,{children:[a("span",{class:"fact",title:`Created ${vt(s.createdAt,o)}`,children:[a(R,{d:le}),vt(s.createdAt,o,!0),s.startedAt&&s.finishedAt?`, ran ${j(s.finishedAt-s.startedAt)}`:null]}),a("span",{class:"fact",title:"Source",children:[a(R,{d:s.task.event?ae:ot}),c?`${xt(r)} ${c}`:xt(r)]}),s.task.cwd?a("span",{class:"fact",title:s.task.cwd,children:[a(R,{d:re}),Te(s.task.cwd)]}):null,a("span",{class:"fact",children:[a(Qt,{class:"agent-link",href:"/dash/[org]/agents/[slug]",params:{org:t,slug:s.task.agent},search:{back:`/dash/${t}/tasks/${s.task.id}`},children:[a(R,{d:te}),s.task.agent]}),i?a("span",{class:"fact-dim",title:"Engine, model and effort",children:[i,n,l].filter(Boolean).join("/")}):null]})]}),actions:a(Ee,{task:s,live:e})})}function ys(s){let o=_();return U(()=>{let t=o.current??={log:new ct,rows:[],seen:0};for(let e of s.slice(t.seen))for(let i of t.log.reduce(e))i.seq>(t.rows.at(-1)?.seq??-1)?t.rows.push(i):t.rows[t.rows.findLastIndex(({seq:n})=>n===i.seq)]=i;return t.seen=s.length,[...t.rows]},[s])}function xn({initial:s,tz:o}){let t=Ut(o),[e,i]=x(s),[n,l]=x(s.logs??[]),[r,c]=x((s.logs?.length??0)<Ss),[d,f]=x("conversation"),[g,h]=x(),[S,p]=x([]),[T,k]=x(0),w=_(e.answer?.length??0),[b,y]=x(!1),C=_(s.logs?.at(-1)?.seq??-1),A=_(null),z=_(null);L(()=>{let u=z.current,m=u?.closest(".page");if(!u||!m)return;let v=new ResizeObserver(()=>m.style.setProperty("--reply",`${u.offsetHeight}px`));return v.observe(u),()=>v.disconnect()},[e.task.flow]);let{follow:F}=at(),V=Et({toast:"Not sent"}),Ke=Et({toast:"Not sent"}),ht=!!V.pending,O=N(e),Rt=e.task.flow==="default",zt=ys(n);L(()=>me(e.task.id,e.status,lt(e)),[e.status]);let Dt=_([]),Pe=u=>{let m=u.filter(v=>v.seq>C.current);m.length&&(C.current=m.at(-1).seq,Dt.current.push(...m)===m.length&&setTimeout(()=>{let v=Dt.current.splice(0);l(E=>[...E,...v])}))};L(()=>{O&&Rt&&A.current?.focus()},[]);let[Lt,Ve]=x(!0);L(()=>{let u=()=>Ve(document.visibilityState==="visible");return u(),addEventListener("visibilitychange",u),()=>removeEventListener("visibilitychange",u)},[]);let[ft,Q]=x(O||!r),[He,Ue]=x(0),Ft=()=>{c(!1),Q(!0),Ue(u=>u+1)},[$t,Je]=x(0),H=_(0);H.current=$t;let pt=()=>{let u=H.current;P.tasks.get(e.task.id).then(({logs:m,...v})=>{H.current===u&&(i(v),N(v)&&Q(!0))}).catch(m=>Tt("Task not refreshed",Zt(m)))},Ye=()=>{pt(),ft||Ft()},Wt=()=>{let u=++H.current;Je(u),Q(!0),P.tasks.get(e.task.id).then(({turns:m})=>{H.current===u&&i(v=>N(v)?{...v,turns:m}:v)}).catch(m=>console.error("coder dashboard: task turns",m))};ge(u=>{if(u.id!==e.task.id||u.deleted)return;O&&!N(u)&&pt();let m=O&&e.startedAt!==void 0&&u.startedAt!==e.startedAt;N(u)&&(!O||m)&&Wt(),!O&&!N(u)&&u.finishedAt!==e.finishedAt&&(pt(),Ft()),i(v=>({...v,status:u.status,approval:u.approval??void 0,archivedAt:u.archivedAt,startedAt:u.startedAt,finishedAt:u.finishedAt,...u.result===void 0?{}:{result:u.result??void 0,error:u.error??void 0,answer:u.answer??void 0}}))},Ye),L(()=>{if(!ft||!Lt)return;let u=new AbortController;return(async()=>{for(;!u.signal.aborted;){try{let v=await P.tasks.stream(e.task.id,C.current,u.signal);if(!v.ok||!v.body){Tt("Live updates stopped","Reload the page to see new activity.");return}for await(let E of Jt(v.body)){if(u.signal.aborted)return;if(E.event==="log")Pe([JSON.parse(E.data)]);else if(E.event==="caught-up")c(!0);else if(E.event==="end")return c(!0),Q(!1)}}catch(v){if(u.signal.aborted)return;console.error("coder dashboard: task stream",v)}await new Promise(v=>setTimeout(v,1e3))}})(),()=>u.abort()},[ft,Lt,$t,He]);let I=e.turns??[{prompt:e.task.prompt??e.task.event?.text??lt(e),result:e.result,error:e.error,finishedAt:e.finishedAt}],jt=U(()=>I.map((u,m)=>({messages:fs(e,u.prompt,m===0),required:we(e,u.prompt)})),[I,e.task]),Ge=U(()=>ps(I,n),[I,n]),Nt=I.findIndex(u=>!r&&(!n.length||qe(u,n.at(-1)))),qt=Nt<0?I:I.slice(0,Nt),Bt=async()=>{let u=A.current?.value.trim();if(!u||ht)return;let m=O?b?"ask":"steer":"continue";if(F(),m==="ask"){A.current.value="",p(E=>[...E,{kind:m,text:u,turn:I.length-1}]),k(E=>E+1),f("conversation"),Ke.run(m,()=>P.tasks.ask(e.task.id,u)).then(E=>{k(D=>D-1),E||p(D=>D.filter(M=>M.text!==u||M.kind!==m))});return}await V.run(m,()=>P.tasks.steer(e.task.id,u))&&(A.current.value="",m==="continue"?(Wt(),i(E=>({...E,status:"queued",result:void 0,error:void 0,startedAt:void 0,finishedAt:void 0,turns:[...I.map((D,M)=>M===I.length-1?{...D,finishedAt:D.finishedAt??Date.now()}:D),{prompt:u}]}))):(p(E=>[...E,{kind:m,text:u,turn:I.length-1}]),tt()))},tt=u=>{h(u),f("activity")},Kt=a(yt,{variant:"ghost",size:"sm",rightIcon:J,onClick:()=>tt("end"),children:"Activity"}),Pt=zt.filter(u=>u.at>=(e.startedAt??0)),mt=!O&&e.startedAt&&e.finishedAt?a("p",{class:"run-foot",children:[_t(Pt,e.finishedAt-e.startedAt),Kt]}):null,Vt=u=>{y(u),setTimeout(()=>A.current?.focus())},ws=e.result;return a($,{children:[a(bs,{task:e,tz:t}),e.fallbacks?.map((u,m)=>a("p",{class:"flash",role:"status",children:[u.engine," was unavailable. ",u.detail," This task is using ",u.next,"."]},m)),a("nav",{class:"tabs",role:"tablist","aria-label":"Task",children:ye.map(u=>{let m=u.toLowerCase();return a("button",{type:"button",role:"tab","aria-selected":d===m,"aria-current":d===m?"page":void 0,onClick:()=>m==="activity"?tt():f(m),children:u},m)})}),e.approval?a(xe,{task:e}):null,d==="activity"?a(je,{rows:zt,live:O,tz:t,at:g}):a("div",{class:"convo",children:[qt.map((u,m)=>{let v=m===I.length-1,E=Ge[m],D=E.length>0&&Be(dt(u.result,""))?null:a(vs,{value:u.result,required:jt[m].required});return a($,{children:[jt[m].messages.map((M,q)=>a("div",{class:"turn prompt",children:[a("p",{class:"who",children:M.author}),a(Me,{class:"prose",children:M.text})]},`p${q}`)),v?(e.answer??[]).slice(0,w.current).map((M,q)=>a("div",{class:"turn answer",children:[a("p",{class:"who",children:"Answer"}),a("div",{class:"prose",children:dt(M,"Answer received.")})]},`a${q}`)):null,E.map((M,q)=>a("div",{class:"turn reply",children:[a("p",{class:"who",children:e.task.agent}),a("div",{class:"prose md",children:Mt(M)})]},`r${q}`)),S.filter(M=>M.turn===m).map((M,q)=>{let et=M.kind==="ask"?S.filter(Xe=>Xe.kind==="ask").indexOf(M):-1,Ht=et<0?void 0:e.answer?.[w.current+et];return a("div",{class:et<0?"turn you":"turn you qa",children:[a("p",{class:"who",children:M.kind==="ask"?"You asked":"You steered"}),a("div",{class:"prose",children:M.text}),et<0?null:a("div",{class:"answer",children:[a("p",{class:"who",children:"Answer"}),Ht===void 0?a(G,{inline:!0,dots:!0,label:"Answering without interrupting the run."}):a("div",{class:"prose",children:dt(Ht,"Answer received.")})]})]},q)}),u.result&&(D||v&&mt)?a(rt,{title:"Result",children:[D,v?mt:null]}):v&&O?a(rt,{title:"Result",actions:Kt,children:a(Ne,{rows:Pt,startedAt:e.startedAt,onOpen:tt})}):null,u.error?a(rt,{tone:"danger",title:"Error",children:[a("div",{class:"body prose",children:u.error}),v&&!u.result?mt:null]}):null]},m)}),qt.length<I.length?a(G,{label:"Loading the conversation."}):null]}),Rt?a("form",{ref:z,class:"reply",onSubmit:u=>{u.preventDefault(),Bt()},children:a("div",{class:"reply-box",children:[O?a(de,{summary:a($,{children:[b?"Ask":"Steer",a(R,{d:nt})]}),summaryClass:"mode",label:"Send as",align:"up",wide:!0,children:[a(St,{on:!b,onPick:()=>Vt(!1),sub:"Change course while it works.",children:"Steer"}),a(St,{on:b,onPick:()=>Vt(!0),sub:"A question that does not interrupt it.",children:"Ask"})]}):null,a("textarea",{ref:A,rows:1,"aria-label":"Message",autofocus:O,placeholder:O?b?"Ask about the run without interrupting it.":"Steer the agent while it works.":"Continue the conversation.",onKeyDown:u=>{u.key!=="Enter"||u.shiftKey||u.isComposing||(u.preventDefault(),Bt())}}),a(yt,{type:"submit",size:"sm",disabled:ht,"aria-busy":ht||T>0,children:"Send"})]})}):a("p",{class:"muted no-reply",children:"This flow takes no follow-ups."})]})}var Ss=500;export{xn as TaskView};
@@ -1 +0,0 @@
1
- "use client";import{a as Wt}from"./task-actions-c9e46e81604e85c5.js";import{a as ot}from"./agent-pills-15da36c2cb81991b.js";import{a as Jt}from"./tail-b1c46587301ef397.js";import{a as Yt}from"./composer-85e0ec7163ae18b7.js";import"./composer-data-5fed6c271a4791ca.js";import{b as Ft,c as Ut,d as jt,e as nt,f as rt,g as Ht,h as zt,i as Gt,l as Kt,m as Vt}from"./task-681061023bdf0a49.js";import"./connect-repositories-0de82daaf654b1d3.js";import"./model-options-8d2170eebe0d061d.js";import"./notice-57db7a1f05b7308c.js";import"./types-3eca2c7f47c46054.js";import"./back-fa9d6e37f9828093.js";import{a as Bt}from"./confirm-c29a1db0130638d2.js";import"./defaults-52f30e83d7666f7a.js";import{b as qt}from"./action-71685b2d5ad9f359.js";import{a as mt,c as pt,d as ht,f as G}from"./format-a27067f0186e78ac.js";import{$1a as St,$1f as $t}from"./shared-init-cc13a835f3508618.js";import{$3B as et,$3a as Dt,$3j as L,$3r as Lt,$3s as xt,$3t as Mt,$3u as Nt,$3v as Ot}from"./shared-init-cc13a835f3508618.js";import{$2a as Pt,$2c as X,$2e as Rt,$2h as _t,$2j as It,$2o as tt,$2r as Et}from"./shared-init-cc13a835f3508618.js";import"./wular-pnext-6e12333f12903a62-0.js";import"./shared-init-cc13a835f3508618.js";import{$0c as A}from"./shared-init-f475017dd5811e33.js";import{$1F as wt,$1G as vt,$1H as Tt,$1I as Ct,$1L as At,$1a as t,$1b as F,$1e as gt,$1f as Q,$1n as yt,$1y as bt,$1z as kt}from"./shared-init-f475017dd5811e33.js";import{$1b as ft}from"./shared-init-6e12333f12903a62-2.js";import"./shared-init-6e12333f12903a62-2.js";import"./shared-init-6e12333f12903a62-2.js";import{$3b as h,$3c as E,$3d as ut,$3h as C,$3j as B,$3k as Z,$3l as p}from"./shared-init-6e12333f12903a62-2.js";var ie=Symbol.for("pnext.dynamic");function Xt(n,o={},d){let c=null,g=null,s=!1,y=typeof n=="string"?()=>{throw new Error(`dynamic(${JSON.stringify(n)}) was not compiled by PNext.`)}:n,k=()=>(g??=Promise.resolve(y()).then(u=>(c=typeof u=="function"?u:u.default,c)),g);function v(u){let a=p(null),[w,i]=C(0);if(Z(()=>{a.current?.hasAttribute("data-pnext-loading")&&i(1)},[]),c)return h("pnext-dynamic",{key:w,ref:a,style:Qt},h(c,u));let S=o.loading;if(s)return h("pnext-dynamic",{ref:a,style:Qt,"data-pnext-loading":""},S?h(S,u):null);throw typeof window>"u"?k().then(()=>{},()=>{s=!0}):k()}function T(u){let[a,w]=C(null),[i,S]=C(()=>o.load!=="visible"),U=p(null);if(Z(()=>{c&&w(()=>c)},[]),B(()=>{if(a||i)return;let P=U.current;if(!P||typeof IntersectionObserver>"u"){S(!0);return}let b=new IntersectionObserver(j=>{j.some(R=>R.isIntersecting)&&(b.disconnect(),S(!0))},{rootMargin:o.rootMargin,threshold:o.threshold});return b.observe(P),()=>b.disconnect()},[a,i]),B(()=>{if(a||!i)return;let P=!1;return k().then(b=>{P||w(()=>b)}),()=>{P=!0}},[a,i]),a)return h(a,u);let I=o.loading;return o.load==="visible"?h("div",{ref:U},I?h(I,u):null):I?h(I,u):null}let D=o.ssr===!1||o.load==="visible"?T:u=>typeof window>"u"?h(v,u):h(st,{fallback:o.loading?h(o.loading,u):null},h(v,u));return D[ie]={load:k,target:d},D}var Qt={display:"contents"},ae=32,st=class extends ut{__c(o,d){this.setState({waiting:!0,held:(d.__u&ae)!==0}),o.then(()=>this.setState({waiting:!1}))}componentDidCatch(o){if(!(o instanceof Promise))throw o;this.__c(o,this.__v.__k[0])}shouldComponentUpdate(o,d){return!(d.waiting&&d.held)}render(){return this.state.waiting&&!this.state.held?this.props.fallback:this.props.children}};var de=Xt(()=>import("./composer-910bb87127972f62.js").then(n=>n.NewTaskButton),{loading:()=>t(At,{class:"new-task",leftIcon:kt,disabled:!0,children:"New task"})}),ce={dashboard:yt,cli:wt,schedule:Tt},ee=n=>ce[n]??Ct,te=200;function le(n,o,d){if(n===void 0)return"Not available";let c=Math.round((o-n)/6e4);return c<1?"just now":c<60?`${c} min ago`:c<1440?`${Math.round(c/60)} h ago`:pt(n,d)}function ue({task:n,brand:o,back:d,scoped:c,tz:g,now:s,onDone:y}){let k=et(),v=rt(n)&&n.startedAt!==void 0?s-n.startedAt:n.lastTurnMs,T=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(gt,{class:"cover",href:"/dash/[org]/tasks/[id]",params:{org:k,id:n.task.id},search:d?{back:d}:void 0,children:Kt(n)}),t("span",{class:"sub",children:[c?null:t(E,{children:[t(F,{d:Q}),`${n.task.agent} \xB7 `]}),t(Et,{value:n.task.id}),D?` \xB7 ${D}`:null,n.task.cwd?t(E,{children:[" \xB7 ",t("span",{title:n.task.cwd,children:[t(F,{d:vt}),Vt(n.task.cwd)]})]}):null]})]}),t("td",{children:t(St,{status:n.status})}),t("td",{class:"when",title:mt(n.lastActivityAt,g),children:le(n.lastActivityAt,s,g)}),t("td",{class:"num",children:ht(v)}),t("td",{children:[t("span",{class:"source",title:nt(T),children:[o?t(ot,{brand:o}):t(F,{d:ee(T)}),nt(T)]}),t("span",{class:"row-acts",children:t(fe,{task:n,onDone:y})})]})]})}function fe({task:n,onDone:o}){let d=qt(),[c,g]=C(!1),s=(y,k)=>void d.run(y,()=>y==="approve"?A.tasks.approve(n.task.id,Wt(n.approval).id??"",k??"decline"):y==="delete"?A.tasks.delete(n.task.id):A.tasks[y](n.task.id)).then(v=>{v&&o(y),g(!1)});return t(E,{children:[t(It,{summary:t(F,{d:bt}),button:"icon",label:"Task actions",align:"right",children:[n.approval?t(L,{title:"Approve",onClick:()=>s("approve","accept")}):null,n.approval?t(L,{title:"Deny",onClick:()=>s("approve","decline")}):null,rt(n)?t(L,{title:"Stop",onClick:()=>s("cancel")}):null,n.archivedAt?null:t(L,{title:"Archive",onClick:()=>s("archive")}),t(L,{title:"Delete",danger:!0,onClick:()=>g(!0)})]}),t(Bt,{open:c,title:"Delete this task?",body:"Its conversation, activity and diff go with it.",confirmLabel:"Delete",busy:d.pending==="delete",onConfirm:()=>s("delete"),onClose:()=>g(!1)})]})}function We({first:n,platforms:o,brands:d={},agents:c=[],filters:g,agent:s,head:y,missing:k,tz:v,now:T}){let D=ft(v),u=et(),{values:a,set:w,query:i}=xt(g),S=Lt(g),U=s?`&agent=${encodeURIComponent(s)}`:"",I=s?`/dash/${u}/agents/${encodeURIComponent(s)}/tasks`:`/dash/${u}/tasks`,P=i||s?`${I}${i?`?${i}`:""}`:void 0,b={limit:_t,summary:!0,counts:!0,...Ut(a),agent:s??a.agent},j=[{key:"status",label:"Status",options:Ft,inline:!0},{key:"source",label:"Source",options:[...jt,...o],icon:e=>d[e]?t(ot,{brand:d[e]}):ee(e)}];s||j.push({key:"agent",label:"Agent",options:c,icon:()=>Q,search:(e,l)=>A.agents.list({cursor:"",limit:l,q:e}).then(r=>r.items.map(f=>[f.id,f.name]))});let R=Rt({name:`tasks${U}`,fetchPage:e=>A.tasks.list({...b,cursor:e}),query:i,first:n,initial:S}),[x,H]=C({rows:{},added:[]}),[it,ne]=C({query:i,ids:[]}),re=it.query===i?it.ids:[],M=e=>ne(l=>({query:i,ids:e(l.query===i?l.ids:[])})),K=zt(R.rows,x.query===i?x.added:[],x.rows).filter(e=>!re.includes(e.task.id)),_=(x.query===i?x.counts:void 0)??R.meta.counts,N=p(),O=p(!1),V=p(!1),at=p(),dt=p(!1),Y=p(0),$=p(0),z=p({}),q=()=>{if(document.visibilityState==="hidden")return void(V.current=!0);if(N.current)return void(O.current=!0);let e=N.current=Date.now(),l=$.current;A.tasks.list({...b,cursor:""}).then(r=>{$.current===l&&(H(f=>({rows:{...f.rows,...Object.fromEntries(r.items.filter(m=>(z.current[m.task.id]??0)<=e).map(m=>[m.task.id,{...f.rows[m.task.id],...m}]))},added:Ht(f.query===i?f.added:[],r.items),counts:r.counts,query:i})),Y.current=0)}).catch(()=>{Y.current++,O.current=!0}).finally(()=>{if(!dt.current){if(!O.current)return void(N.current=void 0);O.current=!1,at.current=setTimeout(()=>{N.current=void 0,J.current()},Math.min(3e4,1e3*2**Y.current))}})},J=p(q);J.current=q,B(()=>{let e=()=>{document.visibilityState!=="visible"||!V.current||(V.current=!1,J.current())};return addEventListener("visibilitychange",e),()=>{removeEventListener("visibilitychange",e),clearTimeout(at.current),dt.current=!0}},[]);let oe=Dt(),se=()=>{$.current++,z.current={},H({rows:{},added:[]}),M(()=>[]),oe.refresh()},ct=e=>{let l=K.find(r=>r.task.id===e.id);if(!l){e.deleted||e.archivedAt&&a.status!=="archived"?M(r=>[...r,e.id]):M(r=>r.includes(e.id)?r.filter(f=>f!==e.id):r),H(r=>{let{[e.id]:f,...m}=r.rows;return f?{...r,rows:m}:r}),(e.deleted||(s||a.agent||e.agent)===e.agent)&&q();return}if(z.current[e.id]=Date.now(),N.current&&(O.current=!0),(e.deleted||e.status!==l.status||!!e.archivedAt!=!!l.archivedAt)&&q(),e.deleted||e.archivedAt&&a.status!=="archived")return M(r=>[...r,e.id]);H(r=>{let f=r.rows[e.id]??l;return{...r,rows:{...r.rows,[e.id]:{...f,status:e.status,approval:e.approval??void 0,archivedAt:e.archivedAt,startedAt:e.startedAt,finishedAt:e.finishedAt}}}})},W=p({since:n.items.reduce((e,l)=>Math.max(e,l.updatedAt),0)||T}),lt=()=>{if(document.visibilityState==="hidden")return;let e=Date.now(),l=$.current;A.tasks.list({...W.current,limit:te,agent:b.agent,source:b.source,archived:b.archived}).then(r=>{if($.current!==l)return;let f=Gt(r,W.current,z.current,e);W.current=f.cursor;for(let m of f.rows)ct({id:m.task.id,agent:m.task.agent,status:m.status,approval:m.approval,archivedAt:m.archivedAt,createdAt:m.createdAt,startedAt:m.startedAt,finishedAt:m.finishedAt});r.length===te&&lt()}).catch(r=>console.error("coder dashboard: task resync",r))};return $t(ct,se,lt),t(E,{children:[t(Nt,{head:y,action:y?t(de,{}):void 0,children:[t(Mt,{value:a.q,label:"Search tasks",onInput:e=>w("q",e,250)}),t(Ot,{name:"tasks",facets:j,values:a,onChange:w})]}),k?t(Yt,{}):null,t(Pt,{title:"Tasks",count:_?G(_.all):void 0,actions:_?t(E,{children:[_.active?t(tt,{tone:"acc",onClick:()=>w("status","active"),children:[G(_.active)," active"]}):null,_.waiting?t(tt,{tone:"warn",onClick:()=>w("status","waiting"),children:[G(_.waiting)," awaiting approval"]}):null]}):void 0,children:[K.length?t("div",{class:"table-scroll",children:t("table",{class:"rows tasks stacked","aria-busy":R.stale,children:[t("thead",{children:t("tr",{children:[t("th",{children:"Task"}),t("th",{children:"Status"}),t("th",{children:"Last activity"}),t("th",{class:"num",children:"Duration"}),t("th",{children:"Source"})]})}),t("tbody",{children:K.map(e=>t(ue,{task:e,brand:d[e.task.event?.integration??e.task.source],back:P,scoped:!!s,tz:D,now:T,onDone:l=>{(l==="delete"||l==="archive"&&a.status!=="archived")&&M(r=>[...r,e.task.id]),q()}},e.task.id))})]})}):R.stale?null:i?t(X,{title:"No tasks match",children:"Try another search or filter."}):t(X,{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(Jt,{noun:"tasks",...R})]})]})}export{We as TasksList};
@@ -1 +0,0 @@
1
- "use client";import{a as c}from"./tail-b1c46587301ef397.js";import{a as n}from"./format-a27067f0186e78ac.js";import{$2e as a,$2h as l,$2o as p}from"./shared-init-cc13a835f3508618.js";import{$0c as s}from"./shared-init-f475017dd5811e33.js";import{$1a as e}from"./shared-init-f475017dd5811e33.js";import{$3c as m}from"./shared-init-6e12333f12903a62-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(p,{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:n(o.createdAt,f)})]},o.version))}),e(c,{noun:"versions",...i})]})}export{B as VersionsList};
@@ -1 +0,0 @@
1
- .auth{display:grid;min-height:100vh}.auth-side{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:28px;padding:40px 24px 72px}.auth-frame{width:100%;max-width:440px}.auth-frame .bar{min-height:32px;font-size:10px}.auth-frame .brand{font-size:12px}.tag{margin-left:auto;padding:1px 8px;background:var(--deep);color:#fff}.auth-body{display:grid;gap:14px;padding:28px 24px 26px}.auth-body h1{font-size:22px}.auth-body .lead{margin:0 0 6px}.auth-body form{display:grid;gap:14px}.auth-links{position:absolute;bottom:24px;left:0;right:0;display:flex;justify-content:center;gap:24px;font-size:9px;color:var(--muted)}.auth-links a:hover{color:var(--fg)}.ic{width:16px;height:16px;flex:none;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}.brand .coder-mark{flex:none;position:relative;top:-1px;width:16px;height:16px;fill:currentColor}th .ic{width:12px;height:12px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:34px;padding:0 14px;border:1px solid var(--deep);background:var(--deep);color:#fff;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.2em;white-space:nowrap;cursor:pointer}.btn:hover{filter:brightness(1.12)}.btn.outline{background:transparent;color:var(--fg);border-color:var(--line2)}.btn.outline:hover,.btn.ghost:hover{background:var(--wash);filter:none}.btn.ghost{background:transparent;border-color:transparent;color:var(--fg)}.btn.secondary{background:var(--wash2);border-color:transparent;color:var(--fg)}.btn.secondary:hover{background:var(--line2);filter:none}.btn.danger{background:light-dark(#c92a2a,#d42f2f);border-color:light-dark(#c92a2a,#d42f2f);color:#fff}.btn.secondary.danger{background:var(--badbg);border-color:transparent;color:var(--bad)}.btn.secondary.danger:is(:hover,:focus-visible){background:light-dark(rgba(224,49,49,.18),rgba(224,49,49,.3))}.btn.outline.danger{background:transparent;border-color:var(--line2);color:var(--bad)}.btn.ghost.danger{background:transparent;border-color:transparent;color:var(--fg)}.btn:is(.outline,.ghost).danger:is(:hover,:focus-visible){background:var(--badbg);color:var(--bad)}.btn.sm{height:28px;padding:0 10px;font-size:10px}.btn.wide{width:100%}.btn:disabled{opacity:.45;cursor:not-allowed;filter:none}.btn-spin{flex:none;width:12px;height:12px;margin:2px;border:1.5px solid currentColor;border-top-color:transparent;border-radius:50%;animation:spin .8s linear infinite}.btn[aria-busy=true]:not(:has(>.btn-spin)){position:relative;-webkit-text-fill-color:transparent}.btn[aria-busy=true]:not(:has(>.btn-spin)):after{content:"";position:absolute;inset:0;width:12px;height:12px;margin:auto;border:1.5px solid currentColor;border-top-color:transparent;border-radius:50%;animation:spin .8s linear infinite}.icon-btn{display:inline-grid;place-items:center;width:34px;height:34px;border:0;background:none;color:var(--muted);cursor:pointer}.icon-btn:hover{color:var(--fg);background:var(--wash)}td .btn,td .icon-btn{height:28px;margin-block:-3px -5px;vertical-align:top}td .icon-btn{width:28px}.bar-r .icon-btn{width:28px;height:28px}
@@ -1 +0,0 @@
1
- .auth{display:grid;min-height:100vh}.auth-side{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:28px;padding:40px 24px 72px}.auth-frame{width:100%;max-width:440px}.auth-frame .bar{min-height:32px;font-size:10px}.auth-frame .brand{font-size:12px}.tag{margin-left:auto;padding:1px 8px;background:var(--deep);color:#fff}.auth-body{display:grid;gap:14px;padding:28px 24px 26px}.auth-body h1{font-size:22px}.auth-body .lead{margin:0 0 6px}.auth-body form{display:grid;gap:14px}.auth-links{position:absolute;bottom:24px;left:0;right:0;display:flex;justify-content:center;gap:24px;font-size:9px;color:var(--muted)}.auth-links a:hover{color:var(--fg)}.ic{width:16px;height:16px;flex:none;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}.brand .coder-mark{flex:none;position:relative;top:-1px;width:16px;height:16px;fill:currentColor}th .ic{width:12px;height:12px}.outcome{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin-bottom:16px}.outcome>.flash{flex-basis:100%;font-size:13px}.toasts{position:fixed;z-index:50;display:flex;flex-direction:column;justify-content:flex-end;gap:8px;width:min(340px,calc(100vw - 32px));height:auto;inset:16px 16px 16px auto;margin:0;padding:0;border:0;background:none;color:inherit;overflow:visible;pointer-events:none}.toast{position:relative;display:grid;grid-template-columns:minmax(0,1fr);gap:6px;padding:14px 16px;border:1px solid var(--line2);background:var(--tile);box-shadow:0 12px 32px #0000002e;pointer-events:auto;cursor:pointer;animation:toast-in .15s ease-out}.toast:hover{background:linear-gradient(var(--wash),var(--wash)),var(--tile)}.toast:has(.cover:focus-visible){outline:2px solid var(--acc);outline-offset:2px}.toast-head{display:flex;align-items:center;gap:10px;margin:0}.toast-head .cover{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--fg);text-decoration:none;outline:none}.toast-line{margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted)}.toast:is(.success,.warning,.error){border-top:3px solid var(--tone)}.toast.success{--tone: var(--ok)}.toast.warning{--tone: var(--warn)}.toast.error{--tone: var(--bad)}.toast.error .toast-line{white-space:normal}@keyframes toast-in{0%{opacity:0}}@media(prefers-reduced-motion:reduce){.toast{animation:none}}.st{display:inline-flex;align-items:baseline;gap:7px;padding:2px 8px;font-size:10px;letter-spacing:.14em;white-space:nowrap;color:var(--muted);background:var(--wash)}.st i{align-self:center;width:7px;height:7px;border-radius:50%;background:currentColor}.st.running{color:var(--acc);background:var(--accbg)}.st.running i{width:9px;height:9px;background:none;border:1.5px solid currentColor;border-top-color:transparent;animation:spin 1s linear infinite}.st.waiting{color:var(--warn);background:var(--warnbg)}.st.completed{color:var(--ok);background:var(--okbg)}.st.failed{color:var(--bad);background:var(--badbg)}.st.queued i,.st.cancelled i{background:none;border:1.5px solid currentColor}.stats .st{justify-self:start}.page.narrow{max-width:760px}.meta{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.page .head,.page .hero{position:sticky;top:56px;z-index:10;margin-inline:-40px;padding:0 40px 6px;background:var(--bg);overflow-anchor:none}.page{--stuck: calc(56px + var(--head, 0px) + var(--tabs, 0px))}.page:has(.tabs:not(.vertical)){--tabs: 40px}.page *{scroll-margin-top:calc(var(--stuck) + 16px)}.back{display:inline-flex;align-items:center;gap:4px;margin-bottom:6px;font-size:12px;color:var(--muted)}.stuck>div:first-child:has(>.back,>*>.back){display:flex;align-items:center;gap:8px}.stuck .back{flex:none;margin:0}.stuck .back>span{display:none}.back:hover{color:var(--fg)}.back .ic{width:14px;height:14px}.title-row{display:flex;align-items:center;flex-wrap:wrap;gap:6px 12px;min-width:0}.title-row h1{min-width:0}.head .title-row{flex-wrap:nowrap}.head .title-row h1{flex:0 1 auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.head .title-row .meta{flex:none}@media(max-width:760px){.page .head,.page .hero{margin-inline:-16px;padding-inline:16px}.head .title-row{flex-wrap:wrap}}.head .meta:empty{min-height:20px}.sentinel{display:block;height:0;margin-bottom:-20px}.page .head.stuck,.page .hero.stuck{padding-top:10px}.stuck{border-bottom:1px solid var(--line2);align-items:center;flex-wrap:nowrap}.stuck h1{font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.stuck .lead{display:none}.stuck .title-row{flex-wrap:nowrap}.stuck .meta{flex-wrap:nowrap;overflow:hidden}.stuck>div:first-child,.stuck>.grow{flex:1 1 auto;min-width:0}.stuck .actions{flex:none;flex-wrap:nowrap;width:auto;justify-content:flex-end}.stuck .hero-mark{width:28px;height:28px;font-size:13px}.stuck.hero{align-items:center;gap:12px}.hero.stuck .title-row .badge{display:none}@media(max-width:760px){.stuck .actions>:not(.flash,dialog)~:not(.flash,dialog){display:none}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:34px;padding:0 14px;border:1px solid var(--deep);background:var(--deep);color:#fff;font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.2em;white-space:nowrap;cursor:pointer}.btn:hover{filter:brightness(1.12)}.btn.outline{background:transparent;color:var(--fg);border-color:var(--line2)}.btn.outline:hover,.btn.ghost:hover{background:var(--wash);filter:none}.btn.ghost{background:transparent;border-color:transparent;color:var(--fg)}.btn.secondary{background:var(--wash2);border-color:transparent;color:var(--fg)}.btn.secondary:hover{background:var(--line2);filter:none}.btn.danger{background:light-dark(#c92a2a,#d42f2f);border-color:light-dark(#c92a2a,#d42f2f);color:#fff}.btn.secondary.danger{background:var(--badbg);border-color:transparent;color:var(--bad)}.btn.secondary.danger:is(:hover,:focus-visible){background:light-dark(rgba(224,49,49,.18),rgba(224,49,49,.3))}.btn.outline.danger{background:transparent;border-color:var(--line2);color:var(--bad)}.btn.ghost.danger{background:transparent;border-color:transparent;color:var(--fg)}.btn:is(.outline,.ghost).danger:is(:hover,:focus-visible){background:var(--badbg);color:var(--bad)}.btn.sm{height:28px;padding:0 10px;font-size:10px}.btn.wide{width:100%}.btn:disabled{opacity:.45;cursor:not-allowed;filter:none}.btn-spin{flex:none;width:12px;height:12px;margin:2px;border:1.5px solid currentColor;border-top-color:transparent;border-radius:50%;animation:spin .8s linear infinite}.btn[aria-busy=true]:not(:has(>.btn-spin)){position:relative;-webkit-text-fill-color:transparent}.btn[aria-busy=true]:not(:has(>.btn-spin)):after{content:"";position:absolute;inset:0;width:12px;height:12px;margin:auto;border:1.5px solid currentColor;border-top-color:transparent;border-radius:50%;animation:spin .8s linear infinite}.icon-btn{display:inline-grid;place-items:center;width:34px;height:34px;border:0;background:none;color:var(--muted);cursor:pointer}.icon-btn:hover{color:var(--fg);background:var(--wash)}td .btn,td .icon-btn{height:28px;margin-block:-3px -5px;vertical-align:top}td .icon-btn{width:28px}.bar-r .icon-btn{width:28px;height:28px}.bar-r{display:flex;align-items:center;margin-block:-2px;gap:8px;flex-wrap:wrap;justify-content:flex-end}.card.accent{border-color:var(--warn);background:linear-gradient(var(--warnbg),var(--warnbg)),var(--panel)}.card.danger{border-color:var(--bad)}.fold>summary{list-style:none;cursor:pointer}.fold>summary::-webkit-details-marker{display:none}.fold:not([open])>summary{border-bottom:0}.fold>summary h2{flex:0 0 auto}.fold-note{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:12px}.fold>summary:hover{background:var(--wash)}.fold>summary:focus-visible{outline:2px solid var(--acc);outline-offset:-2px}.fold>summary .btn{pointer-events:none}.fold[open]>summary .fold-open,.fold:not([open])>summary .fold-close{display:none}.empty{display:grid;justify-items:center;gap:6px;padding:32px 16px;border:1px dashed var(--line2);text-align:center;color:var(--muted)}.empty b{color:var(--fg);font-weight:500}.card .empty{border:0}.loading{display:flex;align-items:center;justify-content:center;gap:10px;flex:1 0 auto;min-height:var(--h, 240px);color:var(--dim);font-size:12px}.loading.inline{display:inline-flex;min-height:0}.card:has(>.loading:not([style])){flex:1 0 auto;display:flex;flex-direction:column}.loading>span{display:inline-flex;align-items:center;gap:10px;animation:loader-in 0s 60ms both}.loading.late>span{animation-delay:.3s}.loading .spin{flex:none;width:12px;height:12px;border:1.5px solid currentColor;border-top-color:transparent;border-radius:50%;animation:spin .8s linear infinite}.loading .dots{display:inline-flex;gap:3px}.loading .dots>b{width:4px;height:4px;border-radius:50%;background:currentColor;animation:dots 1.2s ease-in-out infinite}.loading .dots>b:nth-child(2){animation-delay:.2s}.loading .dots>b:nth-child(3){animation-delay:.4s}@keyframes dots{0%,80%,to{opacity:.25}40%{opacity:1}}.filter-chips{display:flex;flex:1 1 0;gap:4px;min-width:0;overflow-x:auto;scrollbar-width:none}.filters:has(>.filter-chips)>.search{flex-grow:1000}.head.tools .filter-chips{order:-1}.head.tools .filter-chips>:first-child{margin-left:auto}.filter-chips .chip{display:inline-flex;flex:none;align-items:center;gap:4px;max-width:200px}.filter-chips .chip .grow{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.filter-chips .chip .ic{width:12px;height:12px}.filter-more>.pop:popover-open{display:block;width:min(260px,calc(100vw - 32px));max-height:calc(100vh - 160px);overflow-y:auto;padding:6px}.filter-more .pop-label:not(:first-child){margin-top:10px}.filter-more .pop-item{width:100%;min-height:30px;font-size:12px}.field-btn{display:flex;align-items:center;gap:10px;min-height:36px;padding:7px 12px;border:1px solid var(--line2);background:var(--field);white-space:nowrap;cursor:pointer}.field-btn:focus-visible,.field-btn:has(+.pop:popover-open){outline:none;border-color:var(--acc);box-shadow:0 0 0 3px var(--accbg)}.field-btn:disabled{color:var(--muted);cursor:default}.filter-more>.field-btn.on{color:var(--acc)}.filter-panel .pop-item>.brand-icon{width:16px;height:16px}.filter-panel [data-facet]{color:var(--muted)}.filter-panel .search{margin:4px 0 6px}.filter-panel .search input{width:100%}@media(max-width:760px){@supports (anchor-scope: --menu){.filters .menu.filter-more>.pop{inset:anchor(bottom) auto auto anchor(left)}}.head.tools .filter-chips{order:0}.head.tools .filter-chips>:first-child{margin-left:0}}.badge{display:inline-flex;align-items:center;gap:6px;padding:1px 7px;border:1px solid var(--line2);font-size:10px;letter-spacing:.14em;color:var(--muted);white-space:nowrap}.badge.acc{border-color:transparent;background:var(--accbg);color:var(--acc)}.badge.ok{border-color:transparent;background:var(--okbg);color:var(--ok)}.badge.warn{border-color:transparent;background:var(--warnbg);color:var(--warn)}.badge.solid{border-color:var(--fg);background:var(--fg);color:var(--bg)}a.badge:hover,button.badge:hover{border-color:var(--acc)}button.badge{cursor:pointer}.chips{display:inline-flex;flex-wrap:wrap;gap:4px}.chip{line-height:18px;padding:0 6px;border:1px solid var(--line2);font-size:11.5px;color:var(--muted)}.id{font-size:11.5px;color:var(--dim)}button.chip{background:none;cursor:pointer}button.chip:hover,button.chip[aria-pressed=true]{border-color:var(--acc);color:var(--acc)}.pop,.more-list{position:fixed;inset:auto;margin:0;padding:6px;white-space:normal;max-height:calc(100vh - 24px);overflow-y:auto;border:1px solid var(--line2);background:var(--tile);color:inherit;box-shadow:0 12px 32px #0000002e}:where(.menu,.more)>button{padding:0;border:0;background:none;color:inherit;cursor:pointer}.menu>.pop,.more>.more-list{inset:0;margin:auto}@supports (anchor-scope: --menu){.menu,.more{anchor-scope:--menu}:where(.menu,.more)>button{anchor-name:--menu}.menu>.pop,.more>.more-list{position-anchor:--menu;inset:anchor(bottom) auto auto anchor(left);margin:8px 0 0}.more>.more-list{position-try-fallbacks:flip-block}.menu.right>.pop,.more>.more-list{inset:anchor(bottom) anchor(right) auto auto}.menu.up>.pop{inset:auto anchor(right) anchor(top) anchor(left);margin:0 0 8px}.menu>.pop.flip{inset:auto auto anchor(top) anchor(left);margin:0 0 8px}.menu.right>.pop.flip{inset:auto anchor(right) anchor(top) auto}.menu.up>.pop.flip{inset:anchor(bottom) anchor(right) auto anchor(left);margin:8px 0 0}}.pop{z-index:40;min-width:180px}.pop:has(.pop-label,.pop-item.rich,.pop-row){min-width:260px}.menu.up>.pop{min-width:0}.pop.wide{width:min(320px,calc(100vw - 32px))}.pop hr{border:0;border-top:1px solid var(--line);margin:6px 0}.pop-label{padding:8px 10px 4px;font-size:10px;color:var(--dim);border-top:1px solid var(--line)}.pop-head+.pop-label,.pop .pop-label:first-child{border-top:0}.pop-item{display:flex;align-items:center;gap:12px;width:100%;padding:8px 10px;border:0;background:none;text-align:left;cursor:pointer}.pop-item:hover{background:var(--wash)}.pop-item.danger:hover{background:var(--badbg);color:var(--bad)}.pop-item:disabled,.pop-item[aria-disabled=true]{cursor:default}.pop-item:disabled:hover,.pop-item[aria-disabled=true]:hover{background:none}.pop-item small{display:block;color:var(--muted);font-size:11.5px}.pop-item.rich{align-items:flex-start}.pop-item.rich .ic{margin-top:2px}.pop-item[role=menuitemradio]>.ic:last-child{visibility:hidden}.pop-item[role=menuitemradio][aria-checked=true]>.ic:last-child{visibility:visible;color:var(--acc)}.pop form{margin:0}.pop-head{display:flex;align-items:center;gap:12px;padding:8px 10px 12px;min-width:0}.pop-head b,.pop-head small{display:block;overflow:hidden;text-overflow:ellipsis}.pop-head small{color:var(--muted);font-size:11.5px}.pop-row{display:flex;align-items:center}.pop-row>.pop-item{flex:1 1 auto}.pop-row>.pop-item small{margin-right:6px;color:var(--muted);font-size:11px}.pop-note{padding:0 10px 8px;font-size:11.5px;color:var(--muted)}.more{flex:none}.more>button{padding:0 7px;border:1px solid var(--line2);color:var(--fg);font-size:11.5px;white-space:nowrap}.more:hover>button,.more:has(:popover-open)>button{border-color:var(--acc);color:var(--acc)}.more.info>button{display:inline-flex;padding:0;border:0;color:var(--muted);vertical-align:middle}.more.info .ic{width:14px;height:14px}.more.info>.more-list{max-width:280px;padding:10px 12px;gap:6px;color:var(--fg);font-size:13px;letter-spacing:normal;text-align:left}.more-list{--max: 220px;z-index:45;min-width:220px}.more-list:before{content:"";position:absolute;left:0;right:0;top:-8px;height:8px}.more-list:popover-open{display:grid;gap:4px}.more-list>:not(.pf-row,p){padding:4px 6px}@media(max-width:760px){.pop.wide{min-width:min(320px,calc(100vw - 32px))}}.head.tools{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px 24px;min-height:36px}.head.tools>div:first-child{display:contents}.head.tools .lead{grid-row:2;grid-column:1 / -1}.head.tools>.filters{grid-row:1;grid-column:2;justify-content:flex-end}.head.tools>.filters:last-child{grid-column:2 / -1}.head.tools>.actions{grid-row:1;grid-column:3}.page{container-type:inline-size}@container (max-width: 720px){.head.tools:has(>.actions)>.filters{grid-row:auto;grid-column:1 / -1;justify-content:flex-start}.head.tools:has(>.actions) .search{max-width:none}}.filters{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.search{position:relative;display:block}.tab-body .filters{position:sticky;top:calc(56px + var(--head, 0px) + var(--tabs, 0px));z-index:8;margin-block:-8px;padding-block:8px;background:var(--bg)}.filters .search{flex:1 1 240px;max-width:360px}.search .ic{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:var(--dim);pointer-events:none}label.search input[type=search]{padding-left:32px}.filters .select{flex:none}.filters .end{margin-left:auto}.vsearch .search{width:min(280px,100%)}@media(max-width:760px){.head.tools{grid-template-columns:minmax(0,1fr) auto;row-gap:12px}.head.tools>.filters{grid-row:3;grid-column:1 / -1}.head.tools>.actions{grid-column:2;width:auto}.filters .search{max-width:none;flex-basis:100%}.filters .select{flex:1 1 0}.filters .select>button{gap:4px;padding-inline:8px}.head.tools.stuck>.filters>.select{display:none}}.select{position:relative;display:inline-flex;min-width:0}.field .select{display:flex}.select>button{display:flex;align-items:center;gap:10px;width:100%;min-height:36px;padding:7px 10px 7px 12px;border:1px solid var(--line2);background:var(--field);text-align:left;white-space:nowrap;cursor:pointer;touch-action:manipulation}.select>button .grow{overflow:hidden;text-overflow:ellipsis}.select>button .ic{color:var(--dim);transition:transform .15s}.select>button[aria-expanded=true] .ic{transform:rotate(180deg)}.select>button:focus-visible,.select>button[aria-expanded=true]{outline:none;border-color:var(--acc);box-shadow:0 0 0 3px var(--accbg)}.select>button:disabled{color:var(--muted);cursor:default}.select-pop{min-width:0;max-width:min(440px,calc(100vw - 16px));overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--line2) transparent}.select-pop .pop-item{white-space:nowrap}.select-pop .pop-item:hover{background:none}.select-pop .pop-item.on{background:var(--wash2)}.select-pop .pop-item>.ic{visibility:hidden}.select-pop .pop-item[aria-selected=true]>.ic{visibility:visible;color:var(--acc)}.select>button:disabled{opacity:.65;cursor:default}.select-pop .pop-item small{display:block;overflow:hidden;direction:rtl;text-align:left;white-space:nowrap;text-overflow:ellipsis;font-size:11px;color:var(--muted)}.select-pop .pop-item .grow{min-width:0;overflow:hidden;text-overflow:ellipsis}.select-pop .pop-item.action{margin-top:4px;color:var(--muted)}.select-pop .pop-item.action>.ic{visibility:visible;width:14px;height:14px}.select-pop .pop-item.action.on{color:var(--fg)}.select .brand-icon,.select-pop .brand-icon{flex:none;width:14px;height:14px}dialog.modal{width:min(560px,calc(100vw - 32px));max-height:calc(100dvh - 48px);margin:auto;padding:0;border:1px solid var(--line2);background:var(--tile);color:inherit;text-align:left;white-space:normal;box-shadow:0 12px 32px #0000002e}dialog.modal:focus-visible{outline:none}dialog.modal::backdrop{background:light-dark(rgba(0,0,0,.45),rgba(0,0,0,.72))}.modal form{display:grid;gap:16px;padding:20px 24px 24px}.modal header{display:flex;align-items:center;gap:10px}.modal header:has(.icon-btn){margin-right:-10px}.modal h2{flex:1;font-size:15px;font-weight:700;overflow-wrap:anywhere}.modal .actions{justify-content:flex-end;margin-top:4px}@media(min-width:561px){.modal .actions>:first-child:not(:only-child){margin-right:auto}}dialog.confirm,dialog.outcome-dialog{width:min(500px,calc(100vw - 32px))}.confirm p,.outcome-dialog p{color:var(--muted);line-height:1.6}.confirm form{gap:8px}.confirm .actions{margin-top:12px}.outcome-dialog form{gap:10px;padding:24px 24px 20px}dialog.modal.tone{border-top:3px solid var(--tone)}dialog.modal.neutral{--tone: var(--muted)}dialog.modal.success{--tone: var(--ok)}dialog.modal.warning{--tone: var(--warn)}dialog.modal.error{--tone: var(--bad)}.modal.tone header{color:var(--tone)}.modal.tone h2{color:var(--fg)}.outcome-dialog .actions{margin-top:14px}@media(max-width:560px){.modal .actions{flex-direction:column-reverse;align-items:stretch}.modal .actions>*{margin-right:0}}.copy-line{display:flex;align-items:center;gap:8px}.copy-line>code,.copy-line>a{flex:1;min-width:0}.copy-line code{display:block;padding:8px 10px;background:var(--wash2);font:12px/1.5 var(--mono);overflow-wrap:anywhere}.copy-line>a code{color:var(--acc)}.copy-line>a:hover code{background:var(--accbg)}.icon-btn.copied,.icon-btn.copied:hover{color:var(--ok)}.field{display:grid;gap:6px}.field>span:first-child,.field>label{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;font-weight:500}.field small{font-weight:400;color:var(--muted);font-size:11.5px}.field .seg-btns{width:max-content;max-width:100%}.field .seg-btns>button{height:36px}.seg-btns{display:flex;border:1px solid var(--line2)}.seg-btns>a,.seg-btns>button,.seg-btns .menu>button{display:flex;align-items:center;gap:6px;height:32px;padding:0 12px;border-left:1px solid var(--line2);background:var(--panel);font-size:10.5px;letter-spacing:.14em;color:var(--muted);cursor:pointer}.seg-btns>button{border-top:0;border-right:0;border-bottom:0;text-transform:uppercase}.seg-btns>:first-child{border-left:0}.seg-btns>a:hover,.seg-btns>button:hover,.seg-btns .menu>button:hover{color:var(--fg)}.seg-btns [aria-current],.seg-btns [aria-checked=true],.seg-btns .on>button{background:var(--accbg);color:var(--acc)}.seg-btns>button:disabled{opacity:.45;color:var(--muted);cursor:not-allowed}