@wular/coder 0.4.9 → 0.4.11

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 (551) hide show
  1. package/dist/actions-Cwe3IDVs.js +2 -0
  2. package/dist/adapter-Bi768A94.js +1 -0
  3. package/dist/{adapter-YCvP9H2n.js → adapter-CkL4PqXE.js} +42 -42
  4. package/dist/{adapter-B2RXnvqt.js → adapter-DYxjaefw.js} +6 -6
  5. package/dist/add-B6vPKZEr.js +1 -0
  6. package/dist/add-n6c9OINP.js +2 -0
  7. package/dist/add-v1Pv00HX.js +1 -0
  8. package/dist/{add-CvBTpxgY.js → add-wC8ByRgM.js} +2 -2
  9. package/dist/agent-6GooVMsq.js +8 -0
  10. package/dist/{agent-vYm7Geh-.js → agent-BkxXgha0.js} +1 -1
  11. package/dist/alias-A8ObWElH.js +2 -0
  12. package/dist/{app-CJPFaLIV.js → app-CaxTL1H3.js} +1 -1
  13. package/dist/approvals-h5lytkey.js +2 -0
  14. package/dist/approve-BNhg0MLi.js +2 -0
  15. package/dist/{approve-CBuGu3du.js → approve-BiHM8kSo.js} +1 -1
  16. package/dist/apps-BNe86LfS.js +367 -0
  17. package/dist/archive-CMHRsVYf.js +4 -0
  18. package/dist/{archive-C89Z4kSx.js → archive-H2B7Me8E.js} +2 -2
  19. package/dist/args-CURX44CA.js +1 -0
  20. package/dist/ask-D8TIVhPl.js +4 -0
  21. package/dist/auth-BSMPjhnz.js +1 -0
  22. package/dist/auth-D3quZAKT.js +1 -0
  23. package/dist/builtin/coder/agent.json +5 -9
  24. package/dist/chat-3AvUDOwf.js +13 -0
  25. package/dist/chat-bridge-BmqYsASZ.js +2 -0
  26. package/dist/chat-bwKd3y6V.js +1 -0
  27. package/dist/cli-BBlH53hA.js +9 -0
  28. package/dist/cli.js +1 -1
  29. package/dist/client-sqXb-y09.js +22 -0
  30. package/dist/config-K6Rrjsee.js +3 -0
  31. package/dist/connection-B-IB8tlP.js +1 -0
  32. package/dist/{connection-BtUZA2St.js → connection-BXBDeoax.js} +1 -1
  33. package/dist/conversation-DT-35cEt.js +1 -0
  34. package/dist/create-CP_JmJnh.js +1 -0
  35. package/dist/credentials-BRFajC0d.js +1 -0
  36. package/dist/dash/standalone/server/build-index.json +1 -1
  37. package/dist/dash/standalone/server/manifest.json +1321 -1307
  38. package/dist/dash/standalone/server/modules-server-server-react-server/src/client/{index.8e150ef2bc6a5f4e.js → index.0de14cb4e30bd70d.js} +8 -16
  39. package/dist/dash/standalone/server/modules-server-server-react-server/src/core/{defaults.e6ce0944639198a2.js → defaults.1b615366c56838a1.js} +27 -1
  40. package/dist/dash/standalone/server/modules-server-server-react-server/src/core/event-prompt.87f064ca0141e796.js +30 -0
  41. package/dist/dash/standalone/server/modules-server-server-react-server/src/core/task/{log-view.871cbff2605b5cfd.js → log-view.60308a11f7001eb7.js} +10 -0
  42. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/api/{load.4f942c7f68b2e273.js → load.be791a5eaf328738.js} +15 -2
  43. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/api/{types.9f59e6c761d6aac4.js → types.79f9092cdb5a00d1.js} +4 -0
  44. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/connect/{page.a2a16ead424b2185.js → page.0fbfdba5254f7ae5.js} +3 -3
  45. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/create/[id]/{page.90e312759b87cfa2.js → page.70913bd4075da914.js} +2 -2
  46. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/account/{loading.787d09fb0b2b6b57.js → loading.e348ec45e9ed951b.js} +2 -2
  47. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/account/{notify.5fc5e4346dcbfc32.js → notify.61aab176baeefebd.js} +1 -1
  48. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/account/{page.1641da62504df30a.js → page.815371ed0d5dd4fa.js} +9 -9
  49. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/account/{sign-out.5dac3bf780c74354.js → sign-out.1d6af804f9ec043d.js} +4 -4
  50. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/(list)/{agent-menu.f1dacbfebc27a656.js → agent-menu.2ed0e66d131fc148.js} +3 -3
  51. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/(list)/{agents-grid.5da78e9a741b028a.js → agents-grid.f43bcc1148ce3650.js} +22 -13
  52. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/(list)/{connect-apps.722bc3e4ec1f9fad.js → connect-apps.f3af8cc8540719d7.js} +5 -5
  53. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/(list)/{loading.2815a010098aa676.js → loading.fac1132ad9c4248e.js} +5 -5
  54. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/(list)/{page.b01992337eeca2dc.js → page.5f88059c03cf82b4.js} +15 -20
  55. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/{layout.8aeb0fddffe22ad5.js → layout.b7392d534ce0410e.js} +19 -19
  56. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/{loading.50692149df9abb28.js → loading.388aeaf0c2edf8f8.js} +1 -1
  57. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/{page.e2e23101c05b9548.js → page.5aae24bbfd90c434.js} +80 -30
  58. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/platforms/{loading.31d2c13229ae9222.js → loading.4da9e2ba3fea937f.js} +2 -2
  59. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/platforms/{page.11c7b50d6119efe6.js → page.91c992fdd3b4a493.js} +38 -35
  60. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/platforms/{platform-actions.92ac7aa258e706a4.js → platform-actions.8e7ca54dd1821e98.js} +68 -41
  61. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/settings/{agent-settings-form.fc530622fa2292a0.js → agent-settings-form.eb707a9e32718374.js} +47 -72
  62. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/settings/{loading.bf17bd39f41db826.js → loading.ad1a4c9b000d269a.js} +1 -1
  63. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/settings/{page.6e95dfe07dfebf4b.js → page.9ec1ec08ba05da59.js} +15 -21
  64. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/tasks/{loading.7b17368ee81275ab.js → loading.dd9088a4581b1d65.js} +2 -2
  65. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/tasks/{page.0bd3da9b3227b12f.js → page.71dc042821133e82.js} +1 -1
  66. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/usage/{loading.d2cc33cf044a92a3.js → loading.8f998a9c511e1fb3.js} +3 -3
  67. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/usage/{page.91c43fbc54e37646.js → page.45e18b6dc3019af4.js} +7 -7
  68. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/{versions-list.23e4131cdf71daa5.js → versions-list.c8d76988c734dda2.js} +6 -6
  69. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/edit/{loading.47c4c8f31b4f17cc.js → loading.b1367e864b4fb406.js} +5 -5
  70. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/edit/{page.cbd2bad8fede6fef.js → page.e3179ddf20a7e55d.js} +13 -24
  71. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/agent/{agent-pills.d8e785c45f5410a6.js → agent-pills.f987c12bcbc5c850.js} +13 -7
  72. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/agent/{agent-toggle.a6e27ac4171bfdb0.js → agent-toggle.1579dc8acbaacf92.js} +3 -3
  73. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/agent/{hero.96bdca9762ff3e2e.js → hero.ad5cc342db794e5d.js} +6 -6
  74. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/agent/{instructions.ca0c09d4849bfc30.js → instructions.85b1cd986a9edbb5.js} +1 -1
  75. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/editor/{connect-repositories.258f6c2c5f1b1b17.js → connect-repositories.43b4b28f194ea842.js} +1 -1
  76. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/editor/{editor.20c42102ed262db7.js → editor.62cb8207218e6437.js} +36 -76
  77. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/editor/{import-picker.b8093a7ca97656a5.js → import-picker.eafa5b41a2ed571f.js} +15 -16
  78. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/new/{loading.6012b36c10c68657.js → loading.ee001af7a96e3972.js} +6 -6
  79. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/new/{page.1ebdb0247922fc14.js → page.dffb05f2d256d81a.js} +11 -19
  80. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/{layout.6d2242d49ae9dd35.js → layout.393cf7429eea189e.js} +13 -13
  81. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/operator/{operator-apps.a56516bc0ba79187.js → operator-apps.a244f3199e7cf09c.js} +7 -7
  82. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/operator/{page.af19494c89ac62c0.js → page.980adfb7c5714752.js} +8 -9
  83. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/{page.c720853404d94114.js → page.24a1987405ed7b17.js} +2 -2
  84. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/{connections-list.9b96914a4fa4e2a9.js → connections-list.21ec9dc73ce68656.js} +36 -31
  85. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/{credentials-list.dbaa8f3d82445b90.js → credentials-list.683476f62a9ecde7.js} +204 -240
  86. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/{credentials.c4b01484d183549d.js → credentials.b43dd3d97c536c2a.js} +10 -11
  87. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/{engines-list.5c03e83663a6a9b7.js → engines-list.9e116751bd34e2cc.js} +7 -7
  88. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/{list.df5ee5d74bec0f5b.js → list.083f5c665df04b1b.js} +43 -33
  89. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/{loading.480b8f915bae18c1.js → loading.7ca95dcb4fb3362b.js} +1 -1
  90. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/{models-list.2835a48d1edeb6d1.js → models-list.537f63f8e5dd085d.js} +147 -137
  91. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/{page.1d53415d55e77fee.js → page.dfed4ae6ffc74434.js} +23 -23
  92. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/{runners-list.bf5746f48e3f78f5.js → runners-list.3afa989490bbe77c.js} +18 -19
  93. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/{secrets-list.b0dedc1567efc09f.js → secrets-list.0d175ee815b22cd7.js} +23 -15
  94. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/{layout.567d27e39d42d719.js → layout.3e8289f888fa444c.js} +5 -5
  95. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/{model-options.2eacf7f8ac0032df.js → model-options.a96c11d11674f598.js} +13 -0
  96. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/{page.bac05d6e87953d0e.js → page.06feaa5fbb06f1e6.js} +1 -1
  97. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/{settings-head.5e2dff2550b3b73e.js → settings-head.bbc7ced8dd5491eb.js} +1 -1
  98. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/{tunnel-guide.d6fae1c5d62f2c74.js → tunnel-guide.29eee1a0b1852168.js} +1 -1
  99. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/setup/{create-link.03989d2f7585a045.js → create-link.ff95e4b6977d0474.js} +5 -5
  100. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/setup/{outcome-dialog.4debc1a8c644df4b.js → outcome-dialog.894c73f9abee3ce1.js} +5 -4
  101. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/setup/{page.43c969f59a710781.js → page.f06fda0df59beeb5.js} +7 -7
  102. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/[id]/{activity.3755ae6065c3fc28.js → activity.3c79cf14feff12bf.js} +22 -27
  103. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/[id]/{loading.9efbed6531879838.js → loading.56520888d5270b88.js} +6 -9
  104. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/[id]/{page.7b92dcd08095b934.js → page.25b29e72df84806b.js} +7 -7
  105. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/[id]/{task-actions.62422b873f98ee8e.js → task-actions.587da79d68ab8d14.js} +14 -12
  106. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/[id]/{task-view.ae0e9c9dffe0ff9f.js → task-view.f2e902c8208b2e78.js} +129 -66
  107. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/{composer-data.ff108c0ef82a4d7b.js → composer-data.309a194fc7fa34be.js} +3 -3
  108. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/{composer.fdad306647cbaa59.js → composer.b0bb1faaac8e0b6c.js} +29 -41
  109. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/list/{task.af5001e51d2f612b.js → task.a0c68180db5fb4c1.js} +26 -2
  110. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/list/{tasks-list.952f37a9486aebe7.js → tasks-list.b52a49fb5faeefd0.js} +34 -31
  111. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/list/{tasks-section.1247d4765d0e1bdc.js → tasks-section.80f9c9a42ecae854.js} +10 -10
  112. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/{page.cf74c55e6528c7c9.js → page.20b5c22658eae312.js} +5 -5
  113. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/usage/{custom-range.2d55812ec086b540.js → custom-range.2e21c7f891966c15.js} +3 -3
  114. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/usage/{day-chart.08d378cca93d3ab1.js → day-chart.261b6651df2d3966.js} +2 -2
  115. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/usage/{loading.7aed78a276b08a4f.js → loading.97d277dbab9c15cf.js} +4 -5
  116. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/usage/{metric.ada350d2b7449b39.js → metric.5ff3636065481c44.js} +1 -1
  117. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/usage/{page.fed9345ebac3e1b3.js → page.fb21ebe90d49dac1.js} +11 -18
  118. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/usage/{range-bar.b1296c2378128472.js → range-bar.2197d8f43216d104.js} +4 -4
  119. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/usage/{top-agents.e215d44e00192271.js → top-agents.18fc469e781e2305.js} +6 -10
  120. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/{layout.b7e3af142b17941b.js → layout.185dbc99875e208a.js} +11 -3
  121. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/login/{page.226544940a39fd3a.js → page.a82be2fd23e9ac67.js} +2 -7
  122. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/zone.0515a688ee5ff6ca.js +17 -0
  123. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/frame/{drawer.8287e5a02144e4f1.js → drawer.d3e61538dbc8ec39.js} +2 -2
  124. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/frame/{foreign-link.86f0cc228353da6e.js → foreign-link.1f4217895ff1e835.js} +3 -3
  125. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/frame/heads.37e35439c02fc636.js +16 -0
  126. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/frame/{loading-card.0c6ac62ff3ccf38a.js → loading-card.cc76fc9708142525.js} +5 -5
  127. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/frame/{page-head.bd54e52ac4a7a89c.js → page-head.85f15db7b648d48c.js} +4 -3
  128. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/frame/{stream.1cc355a530dcc5e3.js → stream.e2915852cf82c86b.js} +3 -3
  129. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/frame/{task-toasts.63f673632770924d.js → task-toasts.0ed8ccaae81b9d53.js} +11 -7
  130. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/frame/{theme-choices.5f59814a635caeec.js → theme-choices.85100ed66d6f9200.js} +2 -2
  131. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/nav/{back.5681714d0cf45454.js → back.180765bdadf6d602.js} +3 -3
  132. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/nav/{org.4d84ad0ac340fbe2.js → org.572ad93c7707ab27.js} +1 -1
  133. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/nav/{side-toggle.249400957d6a7527.js → side-toggle.489faf1a259479f7.js} +2 -2
  134. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{badge.0851f234f300c694.js → badge.c0bc352791a95fd6.js} +1 -1
  135. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{button.983daea9e687fc5d.js → button.ce9e6cdb08ca86db.js} +1 -1
  136. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{card.c08471eaa0bc1cec.js → card.9f0d45b73bc78b4f.js} +9 -5
  137. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{collapse.762eba56417214ca.js → collapse.93e4d1b20c2873ed.js} +13 -3
  138. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{combo.efb84f0cca771948.js → combo.54270c0251466fda.js} +3 -22
  139. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{confirm.53edc755945b0563.js → confirm.c1281f9b12854210.js} +3 -3
  140. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{copy.0b23d7dc05757df5.js → copy.bd6fc1577a393965.js} +2 -2
  141. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{filter.1983b85dd0679af6.js → filter.3a452a262f040973.js} +6 -6
  142. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{icons.a34176f37808cd66.js → icons.e36c72f54750663a.js} +0 -1
  143. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{menu-items.a8e580a0c90631ff.js → menu-items.1d082ac4dae8f3d4.js} +1 -1
  144. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{menu.a41edd5cde1c90cf.js → menu.ee45bace979944b6.js} +2 -2
  145. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{modal.b5f74ebf59590fa6.js → modal.25d53e5b41b9c4e5.js} +2 -2
  146. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{select.36c6f21ce6aa720f.js → select.2eb33e5bea28d804.js} +28 -23
  147. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{tail.a8a951c757376590.js → tail.04132db0c5033d4f.js} +4 -3
  148. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{toolbar.9621ef221a896a8e.js → toolbar.24036899654de6df.js} +2 -2
  149. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/utils/{action.1a6356d5b722cafb.js → action.b9a5c37272250e82.js} +2 -2
  150. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/utils/{client.d25e6dcc6704eb60.js → client.a3928fa2dcd27b75.js} +1 -1
  151. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/utils/follow.bfb9bcff3c1366d7.js +32 -0
  152. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/utils/{format.6a7d1beaf4d09d9c.js → format.ceeaafa10a0563f3.js} +1 -0
  153. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/utils/{paged.18f5872fc5aebe96.js → paged.0e54c3044f8ca567.js} +1 -7
  154. package/dist/dash/standalone/static/assets/chunks/action-fc8716cda7527d8c.js +1 -0
  155. package/dist/dash/standalone/static/assets/chunks/agent-pills-bd32cb89331aff7e.js +2 -0
  156. package/dist/dash/standalone/static/assets/chunks/agent-settings-form-f5576a2c50fce094.js +1 -0
  157. package/dist/dash/standalone/static/assets/chunks/{agent-toggle-b2f2c22e63dedc1f.js → agent-toggle-a45b95908d62f926.js} +1 -1
  158. package/dist/dash/standalone/static/assets/chunks/agents-grid-9f79b5074899c8be.js +1 -0
  159. package/dist/dash/standalone/static/assets/chunks/{back-1d1b062f0e1b29b7.js → back-b0cd2b85c9d8403e.js} +1 -1
  160. package/dist/dash/standalone/static/assets/chunks/combo-1050768988cd0347.js +1 -0
  161. package/dist/dash/standalone/static/assets/chunks/composer-87f138e21d68370d.js +1 -0
  162. package/dist/dash/standalone/static/assets/chunks/composer-8f0e8b1d07e74aad.js +1 -0
  163. package/dist/dash/standalone/static/assets/chunks/composer-data-5fed6c271a4791ca.js +1 -0
  164. package/dist/dash/standalone/static/assets/chunks/{confirm-1cb4d8df3974f34a.js → confirm-01d5814b1c5f7721.js} +1 -1
  165. package/dist/dash/standalone/static/assets/chunks/connect-apps-857dc9fa3f6f5bbc.js +1 -0
  166. package/dist/dash/standalone/static/assets/chunks/{connect-repositories-995d55b3f166337d.js → connect-repositories-49098298b3a82647.js} +1 -1
  167. package/dist/dash/standalone/static/assets/chunks/connections-list-46d48443d8fc8a0d.js +1 -0
  168. package/dist/dash/standalone/static/assets/chunks/{copy-c938369a1bfe75fd.js → copy-5db9d328f8f65d82.js} +1 -1
  169. package/dist/dash/standalone/static/assets/chunks/create-link-6b6e9eeac436c4af.js +1 -0
  170. package/dist/dash/standalone/static/assets/chunks/credentials-list-3cccc85ef335cb22.js +1 -0
  171. package/dist/dash/standalone/static/assets/chunks/{custom-range-4eeb710748887f3a.js → custom-range-fdf1946aac09cfc3.js} +1 -1
  172. package/dist/dash/standalone/static/assets/chunks/defaults-52f30e83d7666f7a.js +1 -0
  173. package/dist/dash/standalone/static/assets/chunks/editor-d2460c315bb1fd32.js +6 -0
  174. package/dist/dash/standalone/static/assets/chunks/engines-list-0159c8baa0b3e711.js +1 -0
  175. package/dist/dash/standalone/static/assets/chunks/{field-657227821326b5b3.js → field-c530e261587d94df.js} +1 -1
  176. package/dist/dash/standalone/static/assets/chunks/format-a27067f0186e78ac.js +1 -0
  177. package/dist/dash/standalone/static/assets/chunks/instructions-3ea5afeea1992bf2.js +2 -0
  178. package/dist/dash/standalone/static/assets/chunks/instructions-d8884576a18e6cdb.js +1 -0
  179. package/dist/dash/standalone/static/assets/chunks/list-b67ce61483dd6acb.js +1 -0
  180. package/dist/dash/standalone/static/assets/chunks/model-options-8d2170eebe0d061d.js +1 -0
  181. package/dist/dash/standalone/static/assets/chunks/models-list-98c956ba00913a73.js +1 -0
  182. package/dist/dash/standalone/static/assets/chunks/{notice-cd32ca98bbc10844.js → notice-8939183c8a889bae.js} +1 -1
  183. package/dist/dash/standalone/static/assets/chunks/outcome-dialog-6323cb5300b6d3c9.js +1 -0
  184. package/dist/dash/standalone/static/assets/chunks/outcome-dialog-be3fbe8c4b43d180.js +1 -0
  185. package/dist/dash/standalone/static/assets/chunks/platform-actions-aafbf038008de64f.js +1 -0
  186. package/dist/dash/standalone/static/assets/chunks/platform-actions-ed27388f722b4a4c.js +1 -0
  187. package/dist/dash/standalone/static/assets/chunks/runners-list-a13d0f8f6583c6d2.js +1 -0
  188. package/dist/dash/standalone/static/assets/chunks/{runtime-e8b9eb1e537215ed-1.js → runtime-71b727f8f5906f08-1.js} +1 -1
  189. package/dist/dash/standalone/static/assets/chunks/secrets-list-53a0c079492199c9.js +1 -0
  190. package/dist/dash/standalone/static/assets/chunks/{segmented-24da438244eedc8f.js → segmented-a3642b8169857fb1.js} +1 -1
  191. package/dist/dash/standalone/static/assets/chunks/shared-init-6cad28f8cc696d91.js +2 -0
  192. package/dist/dash/standalone/static/assets/chunks/shared-init-71b727f8f5906f08-2.js +1 -0
  193. package/dist/dash/standalone/static/assets/chunks/shared-init-94883db7bc70a5a8.js +5 -0
  194. package/dist/dash/standalone/static/assets/chunks/side-toggle-a2f67a8671a0309b.js +1 -0
  195. package/dist/dash/standalone/static/assets/chunks/tail-81b69d49bfebfd4c.js +1 -0
  196. package/dist/dash/standalone/static/assets/chunks/task-95daa40d39de664f.js +1 -0
  197. package/dist/dash/standalone/static/assets/chunks/task-actions-25c70b47b5a53cd2.js +1 -0
  198. package/dist/dash/standalone/static/assets/chunks/task-view-e5ee0ada38552918.js +5 -0
  199. package/dist/dash/standalone/static/assets/chunks/tasks-list-d58f3063ae31d9d2.js +1 -0
  200. package/dist/dash/standalone/static/assets/chunks/types-3eca2c7f47c46054.js +1 -0
  201. package/dist/dash/standalone/static/assets/chunks/{versions-list-31f31eb1923a0ded.js → versions-list-fbeed95c0b4e5f0f.js} +1 -1
  202. package/dist/dash/standalone/static/assets/chunks/{wular-pnext-e8b9eb1e537215ed-0.js → wular-pnext-71b727f8f5906f08-0.js} +1 -1
  203. package/dist/dash/standalone/static/assets/create-param-id-da3f7e20689fe51a.css +1 -0
  204. package/dist/dash/standalone/static/assets/{dash-param-org-account-3f646d473e3bd795.css → dash-param-org-account-9471bec93c444232.css} +1 -1
  205. package/dist/dash/standalone/static/assets/dash-param-org-agents-64500e78caae32df.css +1 -0
  206. package/dist/dash/standalone/static/assets/dash-param-org-agents-new-c067c22928a2d7cc.css +1 -0
  207. package/dist/dash/standalone/static/assets/dash-param-org-agents-param-slug-9dec87710e04f949.css +1 -0
  208. package/dist/dash/standalone/static/assets/dash-param-org-agents-param-slug-edit-779c474301e04440.css +1 -0
  209. package/dist/dash/standalone/static/assets/dash-param-org-agents-param-slug-platforms-c7d594b5232630c2.css +1 -0
  210. package/dist/dash/standalone/static/assets/dash-param-org-agents-param-slug-settings-a80e62570716fdb9.css +1 -0
  211. package/dist/dash/standalone/static/assets/dash-param-org-agents-param-slug-tasks-ce278252012297b9.css +1 -0
  212. package/dist/dash/standalone/static/assets/dash-param-org-agents-param-slug-usage-d3b6d701eb8e1403.css +1 -0
  213. package/dist/dash/standalone/static/assets/{dash-param-org-67f7811b1343c064.css → dash-param-org-bcfa3de29341d5ba.css} +1 -1
  214. package/dist/dash/standalone/static/assets/dash-param-org-operator-b7bc6447cc27c9ce.css +1 -0
  215. package/dist/dash/standalone/static/assets/{dash-param-org-settings-a851a659784d94b5.css → dash-param-org-settings-6d6902345d88a687.css} +1 -1
  216. package/dist/dash/standalone/static/assets/dash-param-org-settings-param-tab-85c7af9a89eef06e.css +1 -0
  217. package/dist/dash/standalone/static/assets/{dash-param-org-setup-1b708aa5bb2f83ef.css → dash-param-org-setup-173efecd7b990c2e.css} +1 -1
  218. package/dist/dash/standalone/static/assets/dash-param-org-tasks-ae0bc03f468e63cc.css +1 -0
  219. package/dist/dash/standalone/static/assets/dash-param-org-tasks-param-id-7325d8cff5be3592.css +1 -0
  220. package/dist/dash/standalone/static/assets/{dash-param-org-operator-56742192a9aafc19.css → dash-param-org-usage-517b2a7ae462ac57.css} +1 -1
  221. package/dist/dash/standalone/static/assets/global-87e1762113874559.css +1 -0
  222. package/dist/dash/standalone/static/assets/pnext-client-037852a9f274c8c8.js +1 -0
  223. package/dist/dash/standalone/static/assets/pnext-client-10eac8df53f62104.js +1 -0
  224. package/dist/dash/standalone/static/assets/pnext-client-12635905e9754177.js +1 -0
  225. package/dist/dash/standalone/static/assets/pnext-client-12955733c71cc641.js +1 -0
  226. package/dist/dash/standalone/static/assets/pnext-client-26999113ea61d5b9.js +1 -0
  227. package/dist/dash/standalone/static/assets/pnext-client-27b6e4b7d1697094.js +1 -0
  228. package/dist/dash/standalone/static/assets/pnext-client-34fec171024dd082.js +1 -0
  229. package/dist/dash/standalone/static/assets/pnext-client-44eb6d4096f7e875.js +1 -0
  230. package/dist/dash/standalone/static/assets/pnext-client-4c558a168b95d9b1.js +1 -0
  231. package/dist/dash/standalone/static/assets/pnext-client-5d21f3dd3f4407af.js +1 -0
  232. package/dist/dash/standalone/static/assets/pnext-client-5fe04a4e1dff28a3.js +1 -0
  233. package/dist/dash/standalone/static/assets/pnext-client-88bbc009041aa776.js +1 -0
  234. package/dist/dash/standalone/static/assets/pnext-client-b36106c6b8a6cd35.js +1 -0
  235. package/dist/dash/standalone/static/assets/pnext-client-b47dda1cd4cfac04.js +1 -0
  236. package/dist/dash/standalone/static/assets/pnext-client-b556f5611fdcf545.js +1 -0
  237. package/dist/dash/standalone/static/assets/pnext-client-b8485144ca29d436.js +1 -0
  238. package/dist/dash/standalone/static/assets/pnext-client-c5c3c90b3518c5a8.js +1 -0
  239. package/dist/dash/standalone/static/assets/pnext-client-e4c659a371f4cd79.js +1 -0
  240. package/dist/dash/standalone/static/assets/pnext-client-f139547dc55d7d76.js +1 -0
  241. package/dist/dash/standalone/static/assets/pnext-client-fd280710b31af681.js +1 -0
  242. package/dist/default-Ojx5oFuw.js +1 -0
  243. package/dist/delete-D1hEPpsk.js +2 -0
  244. package/dist/{delete-DS6P_fun.js → delete-UyzcQPoG.js} +2 -2
  245. package/dist/disable-Dml_Slph.js +1 -0
  246. package/dist/{discover-pKrMDvpW.js → discover-CyIfIBGD.js} +2 -2
  247. package/dist/dispatch-CFZ9Crvg.js +8 -0
  248. package/dist/{dist-C3wD7GfG.js → dist-B2jiMMxZ.js} +2 -2
  249. package/dist/{dist-DkATuPBB.js → dist-ClCNj65n.js} +2 -2
  250. package/dist/{dist-BTornX7Y.js → dist-DAnSqY1s.js} +2 -2
  251. package/dist/{docs-sFUXzJbk.js → docs-BUHKbQjM.js} +1 -1
  252. package/dist/docs-CvjWiada.js +2 -0
  253. package/dist/drive-BqunNi9n.js +1 -0
  254. package/dist/{enable-BWvDv7dP.js → enable-xye-Nanc.js} +1 -1
  255. package/dist/env-BgE9ipvN.js +1 -0
  256. package/dist/exec-Cprez703.js +3 -0
  257. package/dist/executor-3QMa-XRY.js +11 -0
  258. package/dist/flow/builtin/review.d.ts +2 -2
  259. package/dist/flow/builtin/review.js +7 -14
  260. package/dist/flow/index.d.ts +1 -1
  261. package/dist/flow/index.js +1 -1
  262. package/dist/flow-CtillCQY.js +1 -0
  263. package/dist/history-C53URBjs.js +8 -0
  264. package/dist/http-CDZKt5ln.js +1 -0
  265. package/dist/hub-B0WCXtsP.js +2 -0
  266. package/dist/init-HdSVUozH.js +1 -0
  267. package/dist/integrations-BdLs4W6o.js +1 -0
  268. package/dist/integrations-IGnXBrPw.js +2 -0
  269. package/dist/lib/broker.js +2 -2
  270. package/dist/list-1IMeVNg3.js +1 -0
  271. package/dist/{list-CaFQOnfI.js → list-BTjIMvNs.js} +1 -1
  272. package/dist/list-BlOB32n6.js +4 -0
  273. package/dist/list-CZGTVKcS.js +4 -0
  274. package/dist/list-CquHtsmW.js +3 -0
  275. package/dist/list-CxjPT0Il.js +1 -0
  276. package/dist/{list-BDpYPbJF.js → list-DvFVuGT_.js} +1 -1
  277. package/dist/list-gFnOS9Hk.js +2 -0
  278. package/dist/load-Q9fL4VC6.js +2 -0
  279. package/dist/local-Bzdmzc1o.js +5 -0
  280. package/dist/log-view-CL3_S0IQ.js +3 -0
  281. package/dist/login-C723kHh6.js +1 -0
  282. package/dist/{login-CpHx_RCq.js → login-Dq3r6gh6.js} +1 -1
  283. package/dist/{logout-zSQBDPCK.js → logout-DEg0aTmq.js} +1 -1
  284. package/dist/{maintenance-DuIspk-y.js → maintenance-DYOstY6V.js} +1 -1
  285. package/dist/match-BwcxeAZF.js +1 -0
  286. package/dist/mcp-CKqinFkk.js +1 -0
  287. package/dist/mcp-Dsl3Xdd3.js +13 -0
  288. package/dist/mcp-server-BlP9lACI.js +1 -0
  289. package/dist/model-Bs27g5EX.js +1 -0
  290. package/dist/models-Cb0ZTKZ7.js +1 -0
  291. package/dist/prompt-PEgcMJO7.js +8 -0
  292. package/dist/prompts-Bj4Fbd_n.js +78 -0
  293. package/dist/push-DpEW4XbQ.js +1 -0
  294. package/dist/reconnect-BmP_XXDv.js +1 -0
  295. package/dist/refresh-SHNJq9Cx.js +1 -0
  296. package/dist/remote-D3JZ4MMQ.js +3 -0
  297. package/dist/remove-BZZgJq8Z.js +1 -0
  298. package/dist/remove-CId1EwPg.js +1 -0
  299. package/dist/remove-Ci87WQq0.js +1 -0
  300. package/dist/remove-DxCv9BB4.js +1 -0
  301. package/dist/rename-DJaf5SwH.js +1 -0
  302. package/dist/{result-Bg557zR6.js → result-BesDQ-b1.js} +2 -2
  303. package/dist/result-D0dpv2O_.js +18 -0
  304. package/dist/{resume-fnx4FUQF.js → resume-2Y0uC5MM.js} +2 -2
  305. package/dist/{review-CAHDqPq8.js → review-DIm9oK_W.js} +2 -2
  306. package/dist/{index-vd37q3fn.d.ts → review-Dxs-idTn.d.ts} +173 -74
  307. package/dist/{rotate-key-Dpx_WmuU.js → rotate-key-CS1G6ReH.js} +1 -1
  308. package/dist/run-BKUd6B8S.js +2 -0
  309. package/dist/run-DjTTb8oA.js +5 -0
  310. package/dist/run-UPW-7pKo.js +2 -0
  311. package/dist/runner-BLS_ReEw.js +1 -0
  312. package/dist/runner-BM_98EQl.js +1 -0
  313. package/dist/runner.json +1 -0
  314. package/dist/runner.tgz +0 -0
  315. package/dist/runners-DyLnqHKy.js +36 -0
  316. package/dist/schema-CjHmulYJ.js +8 -0
  317. package/dist/schema.d.ts +2 -2
  318. package/dist/schema.js +1 -1
  319. package/dist/{sdk-CWerLcF5.d.ts → sdk-B4Cl0Hbw.d.ts} +665 -485
  320. package/dist/sdk.d.ts +4 -5
  321. package/dist/sdk.js +1 -1
  322. package/dist/serve-BApfeXk8.js +12 -0
  323. package/dist/serve-DE1cKoGa.js +1 -0
  324. package/dist/{serve-w-9qRCP1.js → serve-lF97RlpX.js} +2 -2
  325. package/dist/serve-mXTjboT1.js +1 -0
  326. package/dist/{server-Bw_YmgCf.js → server-CUsxAflx.js} +1 -1
  327. package/dist/setup-host-tlsilI6C.js +6 -0
  328. package/dist/show-Dn7zTz-9.js +1 -0
  329. package/dist/show-uyUpeqa9.js +1 -0
  330. package/dist/slack-DhPhLuWb.js +5 -0
  331. package/dist/{status-PO1YXbt4.js → status-D_1VGn9F.js} +1 -1
  332. package/dist/steer-CMp-a7v2.js +4 -0
  333. package/dist/stop-C7YjN2sB.js +1 -0
  334. package/dist/{stop-CkvoZEAH.js → stop-D8G7AtdY.js} +2 -2
  335. package/dist/task-DJ6nruuA.js +1 -0
  336. package/dist/task-DeFLNmQH.js +1 -0
  337. package/dist/task-bkoi8_NN.js +7 -0
  338. package/dist/test-BD9rvefN.js +1 -0
  339. package/dist/tools-CdWkwI1g.js +1 -0
  340. package/dist/{types-C1tWi5lP.d.ts → types-C6NAqGqn.d.ts} +96 -42
  341. package/dist/{types-B42Oh0zF.js → types-D_xnfP7m.js} +1 -1
  342. package/dist/unalias-bL5t8Isc.js +1 -0
  343. package/dist/update-DIYW08ME.js +2 -0
  344. package/dist/upgrade-3fH6dGJw.js +2 -0
  345. package/dist/usage-Dr8F0xt0.js +1 -0
  346. package/dist/views-CE2d9x6T.js +5 -0
  347. package/dist/watch-BiyN4NxE.js +5 -0
  348. package/dist/watch-DJXu13jK.js +9 -0
  349. package/dist/wire-nJ7sEi-M.js +1 -0
  350. package/dist/worker-CHD_OiQS.js +1 -0
  351. package/dist/worker-KfrTK_Dk.js +2 -0
  352. package/dist/{workflow-BKxG9OUk.js → workflow-C21qQ4rT.js} +1 -1
  353. package/docs/agents/coder.md +7 -7
  354. package/docs/agents/index.md +17 -19
  355. package/docs/agents/prompt.md +231 -0
  356. package/docs/cli.md +2 -2
  357. package/docs/config.md +5 -3
  358. package/docs/mcp.md +2 -2
  359. package/docs/review.md +1 -1
  360. package/docs/sdk.md +1 -1
  361. package/docs/self-host.md +7 -9
  362. package/package.json +2 -1
  363. package/plugins/claude/.claude-plugin/plugin.json +1 -1
  364. package/plugins/cursor/.cursor-plugin/plugin.json +1 -1
  365. package/dist/actions-5TDwmn_z.js +0 -20
  366. package/dist/adapter-sKt1J1Cm.js +0 -1
  367. package/dist/add-BftLUw05.js +0 -1
  368. package/dist/add-CXAGrCnC.js +0 -1
  369. package/dist/add-Ck_y_nKX.js +0 -2
  370. package/dist/agent-ChnedLBv.js +0 -8
  371. package/dist/alias-BpgVDY6_.js +0 -2
  372. package/dist/approvals-CE8dXZhE.js +0 -2
  373. package/dist/approve-dWW4qt76.js +0 -2
  374. package/dist/apps-B60OpAHX.js +0 -242
  375. package/dist/archive-CmRVm4iS.js +0 -4
  376. package/dist/archive-sweep-EiiXIqjr.js +0 -1
  377. package/dist/args-CxsMr9Un.js +0 -1
  378. package/dist/ask-Bou8zg-4.js +0 -4
  379. package/dist/auth-CImjIcG5.js +0 -1
  380. package/dist/auth-CWzSsiSC.js +0 -1
  381. package/dist/chat-Bbzlea60.js +0 -1
  382. package/dist/chat-Djps0Seg.js +0 -13
  383. package/dist/chat-bridge-CvspGKBc.js +0 -2
  384. package/dist/cli-ZUdhZnuW.js +0 -9
  385. package/dist/config-CF3_A3NX.js +0 -3
  386. package/dist/config-D2FxHWwi.js +0 -14
  387. package/dist/connection-BCRJHTgp.js +0 -1
  388. package/dist/create-Z0QxarzN.js +0 -1
  389. package/dist/credentials-Dt2uP3AQ.js +0 -1
  390. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/responsive.82549d958fae8f00.css.pnext-asset.js +0 -0
  391. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/zone.dbc84f981415d8f7.js +0 -10
  392. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/frame/heads.20414ddcb2d08bcd.js +0 -51
  393. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/card.15f7435f202831c3.css.pnext-asset.js +0 -0
  394. package/dist/dash/standalone/static/assets/chunks/action-977f2355e308d7d0.js +0 -1
  395. package/dist/dash/standalone/static/assets/chunks/agent-pills-e75e6ac80d515ffc.js +0 -1
  396. package/dist/dash/standalone/static/assets/chunks/agent-settings-form-09f23ed893d441c7.js +0 -1
  397. package/dist/dash/standalone/static/assets/chunks/agents-grid-bb4f3e4d38b2f459.js +0 -1
  398. package/dist/dash/standalone/static/assets/chunks/combo-126d5709a0b3a5bd.js +0 -1
  399. package/dist/dash/standalone/static/assets/chunks/composer-6bf94d1087a6e6a6.js +0 -1
  400. package/dist/dash/standalone/static/assets/chunks/composer-9c1fe67a0de73997.js +0 -1
  401. package/dist/dash/standalone/static/assets/chunks/connect-apps-32c169b6e00711ff.js +0 -1
  402. package/dist/dash/standalone/static/assets/chunks/connections-list-a102e909edff14d4.js +0 -1
  403. package/dist/dash/standalone/static/assets/chunks/create-link-a147953f343355ec.js +0 -1
  404. package/dist/dash/standalone/static/assets/chunks/credentials-list-31e0fbc1ef0d003e.js +0 -1
  405. package/dist/dash/standalone/static/assets/chunks/defaults-dcc0eccad4e8585b.js +0 -1
  406. package/dist/dash/standalone/static/assets/chunks/editor-79560c0f91cfc2f6.js +0 -7
  407. package/dist/dash/standalone/static/assets/chunks/engines-list-d22f50040e6842ae.js +0 -1
  408. package/dist/dash/standalone/static/assets/chunks/format-b19b8eec331414f4.js +0 -1
  409. package/dist/dash/standalone/static/assets/chunks/instructions-a08bb02650dedb8d.js +0 -2
  410. package/dist/dash/standalone/static/assets/chunks/instructions-a1f10bc3c2866e3f.js +0 -1
  411. package/dist/dash/standalone/static/assets/chunks/list-a0cc9bdb05fc71d4.js +0 -1
  412. package/dist/dash/standalone/static/assets/chunks/model-options-3a57918eaa4a2a82.js +0 -1
  413. package/dist/dash/standalone/static/assets/chunks/models-list-63ab774de3bf3788.js +0 -1
  414. package/dist/dash/standalone/static/assets/chunks/outcome-dialog-4ab62d613bee243a.js +0 -1
  415. package/dist/dash/standalone/static/assets/chunks/platform-actions-40824017c7b5b910.js +0 -1
  416. package/dist/dash/standalone/static/assets/chunks/platform-actions-a515643f341df568.js +0 -1
  417. package/dist/dash/standalone/static/assets/chunks/runners-list-a9f4f71695f7b376.js +0 -1
  418. package/dist/dash/standalone/static/assets/chunks/secrets-list-34e09c332363564c.js +0 -1
  419. package/dist/dash/standalone/static/assets/chunks/shared-init-02aaa49ed4606a76.js +0 -2
  420. package/dist/dash/standalone/static/assets/chunks/shared-init-03e620f936463465.js +0 -5
  421. package/dist/dash/standalone/static/assets/chunks/shared-init-6f8c76316a2cd9da.js +0 -1
  422. package/dist/dash/standalone/static/assets/chunks/shared-init-e8b9eb1e537215ed-2.js +0 -1
  423. package/dist/dash/standalone/static/assets/chunks/side-toggle-8563e6056e862225.js +0 -1
  424. package/dist/dash/standalone/static/assets/chunks/tail-ebdefca4d5c23266.js +0 -1
  425. package/dist/dash/standalone/static/assets/chunks/task-6ae2bb4f1b384140.js +0 -1
  426. package/dist/dash/standalone/static/assets/chunks/task-actions-462507b76bda4657.js +0 -1
  427. package/dist/dash/standalone/static/assets/chunks/task-view-341d79730a341007.js +0 -5
  428. package/dist/dash/standalone/static/assets/chunks/tasks-list-6037ecd098332564.js +0 -1
  429. package/dist/dash/standalone/static/assets/create-param-id-8fa3e9101430f26a.css +0 -1
  430. package/dist/dash/standalone/static/assets/dash-param-org-agents-0ddb989cab5b0fbf.css +0 -1
  431. package/dist/dash/standalone/static/assets/dash-param-org-agents-new-504d1a906feabb6f.css +0 -1
  432. package/dist/dash/standalone/static/assets/dash-param-org-agents-param-slug-edit-7cd987a1a42a3b44.css +0 -1
  433. package/dist/dash/standalone/static/assets/dash-param-org-agents-param-slug-fcdddf2dc26453ce.css +0 -1
  434. package/dist/dash/standalone/static/assets/dash-param-org-agents-param-slug-platforms-26b84d659dbca7f4.css +0 -1
  435. package/dist/dash/standalone/static/assets/dash-param-org-agents-param-slug-settings-97ff652f9fe5979d.css +0 -1
  436. package/dist/dash/standalone/static/assets/dash-param-org-agents-param-slug-tasks-d47377c0f877c5c0.css +0 -1
  437. package/dist/dash/standalone/static/assets/dash-param-org-agents-param-slug-usage-6a09580f11d669b7.css +0 -1
  438. package/dist/dash/standalone/static/assets/dash-param-org-settings-param-tab-06283106fffbd5c6.css +0 -1
  439. package/dist/dash/standalone/static/assets/dash-param-org-tasks-9cb2bb12389c9a04.css +0 -1
  440. package/dist/dash/standalone/static/assets/dash-param-org-tasks-param-id-a87fa0eaa02e4008.css +0 -1
  441. package/dist/dash/standalone/static/assets/dash-param-org-usage-786c91a7640542e6.css +0 -1
  442. package/dist/dash/standalone/static/assets/global-eee296f070a9bb95.css +0 -1
  443. package/dist/dash/standalone/static/assets/pnext-client-17c3ee29b7487596.js +0 -1
  444. package/dist/dash/standalone/static/assets/pnext-client-1eaa8deb5395345f.js +0 -1
  445. package/dist/dash/standalone/static/assets/pnext-client-29e2b964470f6587.js +0 -1
  446. package/dist/dash/standalone/static/assets/pnext-client-2a1e756934e7be1a.js +0 -1
  447. package/dist/dash/standalone/static/assets/pnext-client-31e64d49f6132b26.js +0 -1
  448. package/dist/dash/standalone/static/assets/pnext-client-3d13328ad0b1148b.js +0 -1
  449. package/dist/dash/standalone/static/assets/pnext-client-4ac29d3e9f1a91be.js +0 -1
  450. package/dist/dash/standalone/static/assets/pnext-client-7d479b3375e3c07e.js +0 -1
  451. package/dist/dash/standalone/static/assets/pnext-client-9eac45990b233b55.js +0 -1
  452. package/dist/dash/standalone/static/assets/pnext-client-a8c9c169322e7e3d.js +0 -1
  453. package/dist/dash/standalone/static/assets/pnext-client-b622d087a38b1b77.js +0 -1
  454. package/dist/dash/standalone/static/assets/pnext-client-b7fea94dfda72453.js +0 -1
  455. package/dist/dash/standalone/static/assets/pnext-client-cc8e5e6c95040688.js +0 -1
  456. package/dist/dash/standalone/static/assets/pnext-client-d16e2a42b0a274c0.js +0 -1
  457. package/dist/dash/standalone/static/assets/pnext-client-dbccfef0cbb6b18d.js +0 -1
  458. package/dist/dash/standalone/static/assets/pnext-client-e74706ae238018e5.js +0 -1
  459. package/dist/dash/standalone/static/assets/pnext-client-ebe7c9692619ea00.js +0 -1
  460. package/dist/dash/standalone/static/assets/pnext-client-ef8d348060493085.js +0 -1
  461. package/dist/dash/standalone/static/assets/pnext-client-fcdfa8b2c8824449.js +0 -1
  462. package/dist/dash/standalone/static/assets/pnext-client-ff36e2f8a0522759.js +0 -1
  463. package/dist/default-DcYwZCnl.js +0 -1
  464. package/dist/default-EXRzdZUY.js +0 -1
  465. package/dist/delete-Bmn2_TiV.js +0 -2
  466. package/dist/disable-CnCxTC3X.js +0 -1
  467. package/dist/discover-CBP4Uw0N.js +0 -1
  468. package/dist/dispatch-D3Dqxijf.js +0 -8
  469. package/dist/docs-3SW1O9iS.js +0 -2
  470. package/dist/env-C_DoQYl5.js +0 -1
  471. package/dist/exec-BsXFIdTl.js +0 -11
  472. package/dist/executor-5j-Ewzzb.js +0 -11
  473. package/dist/flow-CuUq-MDm.js +0 -1
  474. package/dist/http-Cg_wYcZT.js +0 -1
  475. package/dist/init-Dgj6V-aS.js +0 -1
  476. package/dist/integrations-D3OgJk6Y.js +0 -1
  477. package/dist/integrations-DsFX2KCq.js +0 -1
  478. package/dist/list-B6lwbCEp.js +0 -1
  479. package/dist/list-BE3xmX_4.js +0 -1
  480. package/dist/list-BVIAyAAE.js +0 -4
  481. package/dist/list-Bggy3HZY.js +0 -4
  482. package/dist/list-CLtqMYPK.js +0 -2
  483. package/dist/list-DkO78ZEF.js +0 -3
  484. package/dist/load-CRmQB1LD.js +0 -2
  485. package/dist/local-ccKBhpQc.js +0 -1
  486. package/dist/log-view-DB4nXHXO.js +0 -3
  487. package/dist/login-BCdXHQ7z.js +0 -1
  488. package/dist/match-Kt3vFTl1.js +0 -1
  489. package/dist/mcp-O8VTfzdL.js +0 -12
  490. package/dist/mcp-YhyTUMIM.js +0 -11
  491. package/dist/mcp-server-DGzme0YX.js +0 -1
  492. package/dist/model-Bzpwl_95.js +0 -1
  493. package/dist/models-CdvmuaLv.js +0 -1
  494. package/dist/prompt-C--TI1qn.js +0 -8
  495. package/dist/push-vt81gcxD.js +0 -1
  496. package/dist/reconnect-BfghDbl1.js +0 -1
  497. package/dist/refresh-yXJ13FAf.js +0 -1
  498. package/dist/remote-oQs6My_3.js +0 -1
  499. package/dist/remove-5iAM2aTO.js +0 -1
  500. package/dist/remove-BZCA-gdU.js +0 -1
  501. package/dist/remove-BcewhH1U.js +0 -1
  502. package/dist/remove-BwhcR6ig.js +0 -1
  503. package/dist/rename-lyssPQfD.js +0 -1
  504. package/dist/result-jeiRJTzA.js +0 -18
  505. package/dist/review-CJS59vO-.d.ts +0 -157
  506. package/dist/run-CLy9a2MO.js +0 -2
  507. package/dist/run-DU4G8gNw.js +0 -2
  508. package/dist/run-D_pl9GF_.js +0 -5
  509. package/dist/runner-DME7ohjt.js +0 -1
  510. package/dist/runner-zT5Oyrfr.js +0 -1
  511. package/dist/runners-CNhxPjg8.js +0 -36
  512. package/dist/schema-BSlHRFSP.js +0 -8
  513. package/dist/serve-FG2LgXxM.js +0 -9
  514. package/dist/serve-UE1fcf4t.js +0 -1
  515. package/dist/serve-wQgyxwdY.js +0 -1
  516. package/dist/setup-host-BsbDs4lJ.js +0 -6
  517. package/dist/show-Cajmf606.js +0 -1
  518. package/dist/show-D0qTuXRU.js +0 -1
  519. package/dist/slack-C_RlVDz7.js +0 -3
  520. package/dist/steer-i6w87g_t.js +0 -4
  521. package/dist/stop-CJ0PHvKp.js +0 -1
  522. package/dist/task-DTN_fIGC.js +0 -1
  523. package/dist/task-DXHKWB_J.js +0 -5
  524. package/dist/task-IoBYe7ok.js +0 -1
  525. package/dist/test-BTkKFbnx.js +0 -1
  526. package/dist/tools-B-2oi2wI.js +0 -1
  527. package/dist/unalias-Cqx7i_L0.js +0 -1
  528. package/dist/update-MNyeVXyy.js +0 -2
  529. package/dist/upgrade-CGSkY0FY.js +0 -2
  530. package/dist/usage-sx-FR0bz.js +0 -1
  531. package/dist/views-BhsnL0nr.js +0 -5
  532. package/dist/watch-IL2eEgwD.js +0 -9
  533. package/dist/watch-qfr7aSfo.js +0 -5
  534. package/dist/wire-B5rc5Av6.js +0 -1
  535. package/dist/worker-BBZ36xL0.js +0 -1
  536. package/dist/worker-D2csFtoH.js +0 -9
  537. /package/dist/dash/standalone/server/modules-server-server-react-server/src/core/{errors.5954bd9bd05e8230.js → errors.0a735590a5412ea6.js} +0 -0
  538. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/(list)/{page.76589c15dee1732d.css.pnext-asset.js → page.cf7460a024706f75.css.pnext-asset.js} +0 -0
  539. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/platforms/{page.3ffef848a0b0dda3.css.pnext-asset.js → page.c811938ae8a8f1df.css.pnext-asset.js} +0 -0
  540. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/settings/{agent-settings-form.2d19ea3a4d380e0d.css.pnext-asset.js → agent-settings-form.ca926c58d15044aa.css.pnext-asset.js} +0 -0
  541. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/agent/{hero.13019680f38b0630.css.pnext-asset.js → hero.1bef5dca89b5942c.css.pnext-asset.js} +0 -0
  542. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/{operator/page.9002a449f872a10e.css.pnext-asset.js → settings/[tab]/connections-list.46786fe36b121a43.css.pnext-asset.js} +0 -0
  543. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/{connections-list.f742847e4887f072.css.pnext-asset.js → credentials-list.f7c27f170ec1e868.css.pnext-asset.js} +0 -0
  544. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/{credentials-list.98e0b34932a6ee4c.css.pnext-asset.js → list.8cbee173a5aff98d.css.pnext-asset.js} +0 -0
  545. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/{list.e0ce46919b75ef76.css.pnext-asset.js → runners-list.53c7ea80b6fb734c.css.pnext-asset.js} +0 -0
  546. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/{settings/[tab]/runners-list.a835c9a264cf8903.css.pnext-asset.js → tasks/[id]/task-view.57990cfd2bdf5c11.css.pnext-asset.js} +0 -0
  547. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/{[id]/task-view.38b1b7ef3976ba71.css.pnext-asset.js → composer.5b8687662e1629fa.css.pnext-asset.js} +0 -0
  548. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/{composer.79c015348f861749.css.pnext-asset.js → list/tasks-list.abbbc9ace4d866e5.css.pnext-asset.js} +0 -0
  549. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/{dash/[org]/tasks/list/tasks-list.2282a7cef8b15bd8.css.pnext-asset.js → globals.c8fd2b8b01e7077b.css.pnext-asset.js} +0 -0
  550. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/{dash/[org]/usage/usage.775df2f43187c487.css.pnext-asset.js → responsive.ebc5f7d77b4b86a0.css.pnext-asset.js} +0 -0
  551. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/{app/globals.dccea8b03fa4b6d2.css.pnext-asset.js → comps/ui/card.f80288cc42f9bcae.css.pnext-asset.js} +0 -0
@@ -1 +0,0 @@
1
- "use client";import{a as O}from"./agent-pills-e75e6ac80d515ffc.js";import{a as me}from"./segmented-24da438244eedc8f.js";import{a as pe}from"./notice-cd32ca98bbc10844.js";import{f as fe}from"./list-a0cc9bdb05fc71d4.js";import"./confirm-1cb4d8df3974f34a.js";import{a as k}from"./field-657227821326b5b3.js";import{a as ue,b as $}from"./action-977f2355e308d7d0.js";import{g as Z}from"./format-b19b8eec331414f4.js";import"./shared-init-02aaa49ed4606a76.js";import"./shared-init-02aaa49ed4606a76.js";import{$2B as de,$2k as ce,$2u as le,$2x as M}from"./shared-init-02aaa49ed4606a76.js";import{$0a as oe,$0b as ae,$0c as re,$0d as se,$0e as ie,$0p as F}from"./shared-init-02aaa49ed4606a76.js";import"./wular-pnext-e8b9eb1e537215ed-0.js";import{$0c as I}from"./shared-init-03e620f936463465.js";import{$1E as ne,$1L as R,$1M as te,$1a as e,$1b as ee}from"./shared-init-03e620f936463465.js";import"./shared-init-e8b9eb1e537215ed-2.js";import{$2c as B,$2h as m,$2j as X,$2l as L}from"./shared-init-e8b9eb1e537215ed-2.js";import"./shared-init-e8b9eb1e537215ed-2.js";var Oe=o=>(o.match(/"[^"]*"|'[^']*'|(?:\{[^}]+\}|[^\s])+/g)??[]).map(s=>s.replace(/^(["'])(.*)\1$/,"$2")),N=o=>/^https?:\/\//.test(o.trim()),ge=o=>o.url??[o.command,...(o.args??[]).map(s=>s.replace(/\{((?:runtime|package):[^}]+)\}/g,(r,i)=>`{${o.argumentInputs?.find(c=>c.name===i)?.label??i}}`))].join(" ").trim(),he=o=>o.split("/")[0].split(".").reverse().join("."),ve=o=>[...o?.headers??[],...o?.env??[]].filter(s=>s.secret),ye=o=>o.map(s=>s.name).join(", "),Ne=[["platform","Platform"],["mcp","MCP server"]],De={platform:"Sign in with OAuth, and tasks use the account through Coder\u2019s own tools.",mcp:"Search known servers, or paste a URL or command."},ze=["observe","Read only"],be=["write","Read and write"],He=[["me","Just me"],["","Workspace"]],ke={ok:{tone:"ok",label:"connected"},authorize:{tone:"warn",label:"not signed in"},reconnect:{tone:"warn",label:"reconnect needed"}};function Ke({row:o,catalog:s}){let r=s.find(c=>c.id===o.provider),i=r?r.name:o.env?o.env:o.url?URL.canParse(o.url)?new URL(o.url).host:o.url:o.command;return e("span",{class:"reach",children:[r?e(O,{brand:r.brand}):null,[i,o.account].filter(Boolean).join(" \xB7 ")]})}function q({kind:o,list:s}){return e(B,{children:s.map(r=>e(k,{label:e("span",{class:"mono",children:r.label??r.name}),hint:r.description??(r.required?"required":"optional"),children:e("input",{name:`${o}:${r.name}`,placeholder:r.placeholder,defaultValue:o==="arg"?r.placeholder:void 0,autocomplete:"off",required:r.required})},r.name))})}function qe({local:o,admin:s,value:r,onChange:i}){return o||!s?null:e(k,{label:"Scope",group:!0,children:e(M,{label:"Scope",options:He,value:r,onChange:i})})}function Ce({value:o,onChange:s,write:r}){return e(k,{label:"Access",group:!0,children:e(M,{label:"Access",options:r?[be]:[ze,be],value:o,onChange:s})})}function we({local:o,admin:s,onAdded:r}){let i=$({leaves:!0}),[c,a]=m(s||o?"":"me"),p=(f,u)=>void i.run("add",async()=>{let{authorize:g,...v}=await I.connections.add({...f,...c?{owner:"me"}:{}}).catch(t=>{throw u?.(t),t});if(g)return location.assign(g);r(v)}),d=e(qe,{local:o,admin:s,value:c,onChange:a});return{busy:!!i.pending,add:p,who:d}}function je({catalog:o,rows:s,...r}){let i=de(),c=o.filter(l=>l.personal),[a,p]=m(c[0]?.id??""),[d,f]=m("observe"),{busy:u,add:g,who:v}=we(r),t=c.find(l=>l.id===a),y=s.find(l=>l.provider===a&&l.mine);return e("form",{class:"add-form",method:"post",onSubmit:l=>{l.preventDefault(),t?.connectable&&g({name:t.name,provider:t.id,access:d})},children:[e("div",{class:"add-grid",children:[e(k,{label:"Platform",group:!0,children:e(M,{label:"Platform",options:c.map(l=>[l.id,l.name]),icons:Object.fromEntries(c.map(l=>[l.id,e(O,{brand:l.brand})])),value:a,onChange:p})}),e(Ce,{value:d,onChange:f}),v]}),t&&!t.connectable?e(pe,{tone:"warning",slim:!0,children:[e(ee,{d:ne}),e("span",{class:"grow",children:["This server has no shared ",t.name," app yet.",r.operator?null:" Ask whoever runs this server to add one."]}),r.operator?e(te,{variant:"outline",size:"sm",href:"/dash/[org]/operator",params:{org:i},children:"Set it up"}):null]}):null,e("div",{class:"add-foot",children:[e("p",{class:"muted grow",children:t?y&&t.connectable?`Connected as ${y.account??"you"}.`:null:"No platform here offers sign-in yet."}),e(R,{type:"submit",disabled:!t?.connectable,loading:u,children:[t?e(O,{brand:t.brand}):null,"Sign in to ",t?.name??"a platform"]})]})]})}function Ue(o){let[s,r]=m(""),[i,c]=m(),[a,p]=m(),[d,f]=m(""),[u,g]=m(""),[v,t]=m(!1),[y,l]=m("observe"),{busy:Ae,add:Ie,who:Re}=we(o),j=L(),D=L(null),C=!u.trim()||N(u),Fe=!C||v||ve(a).length>0,U=C?y:"write",P=ve(a),S=P.find(n=>n.required)??P[0],z=P.filter(n=>n!==S),H=z.some(n=>n.required),Se=[...a?.argumentInputs??[],...a?.env??[],...a?.headers??[]].some(n=>!n.secret),K=n=>{if(!n.trim()){I.mcp.search("").then(w=>w.length&&c(h=>h??{q:n,items:w}),()=>{});return}c({q:n}),I.mcp.search(n.trim()).then(ie(performance.now())).then(w=>c(h=>h?.q===n?{q:n,items:w}:h)).catch(w=>c(h=>h?.q===n?{q:n,error:Z(w)}:h))},Te=n=>{r(n),clearTimeout(j.current),(!n.trim()||N(n)||/\s/.test(n.trim()))&&c(void 0),!(N(n)||/\s/.test(n.trim()))&&(j.current=setTimeout(()=>K(n),250))},Ee=n=>{p(n),c(void 0),r(n.title),f(n.title),g(ge(n)),t(!1),requestAnimationFrame(()=>D.current?.querySelector("input[name^='arg:'], input[name^='env:'], input[name^='header:'], input[name=key]")?.focus())},Pe=n=>{let w=[...new FormData(n)].map(([b,A])=>[b,String(A).trim()]),h=b=>w.find(([A])=>A===b)?.[1]??"",_=b=>Object.fromEntries(w.filter(([A,T])=>A.startsWith(b)&&T).map(([A,T])=>[A.slice(b.length),T])),E=u.trim();if(!d.trim()||!E||H)return;let Be=a?.command?ge(a):void 0,Le=a&&E===Be?[a.command,...a.args??[]]:Oe(E),[Me,...W]=Le.map(b=>b.replace(/\{([^}]+)\}/g,(A,T)=>{let J=a?.argumentInputs?.find(Q=>Q.name===T||Q.label===T);return J?h(`arg:${J.name}`):A})),V=_("env:"),G=_("header:"),Y=C?{url:E,...a?.url===E?{type:a.type}:{},...Object.keys(G).length?{headers:G}:{}}:{command:Me,...W.length?{args:W}:{},...Object.keys(V).length?{env:V}:{}};a?.description&&(Y.description=a.description);let x=h("key");Ie({name:d.trim(),provider:"mcp",access:U,endpoint:Y,...x?{auth:"key",key:x,keyIn:C?{header:h("header")}:{env:h("env")}}:C?{}:{auth:"none"}},b=>{b.needs==="key"&&(t(!0),requestAnimationFrame(()=>D.current?.querySelector("input[name=key]")?.focus()))})};return e("form",{ref:D,class:"add-form",method:"post",onSubmit:n=>{n.preventDefault(),Pe(n.currentTarget)},children:[e("div",{class:"registry",onKeyDown:n=>{n.key==="Enter"&&n.preventDefault(),n.key==="Escape"&&c(void 0)},onFocusIn:()=>{!i&&!N(s)&&K(s)},onFocusOut:n=>{n.currentTarget.contains(n.relatedTarget)||c(void 0)},children:[e(le,{value:s,label:"Search known MCP servers",onInput:Te}),i?e("div",{class:"registry-pop","aria-live":"polite","aria-busy":!i.items&&!i.error,children:i.error?e("div",{class:"registry-note err",role:"alert",children:[e("span",{children:i.error}),e(R,{variant:"ghost",size:"sm",onMouseDown:n=>n.preventDefault(),onClick:()=>K(i.q),children:"Retry"})]}):i.items?i.items.length?i.items.map(n=>e(ce,{onClick:()=>Ee(n),title:e(B,{children:[e("b",{children:n.title}),n.verified?e("span",{title:`The MCP registry checked that the publisher owns ${he(n.name)}`,children:e(F,{tone:"ok",children:["by ",he(n.name)]})}):null,n.curated?e("span",{title:"In GitHub's reviewed list of MCP servers",children:e(F,{children:"GitHub list"})}):null,e(F,{children:n.type})]}),sub:n.description||n.name},n.name)):e("p",{class:"registry-note",children:"No known server matches. Paste its URL or command below."}):e("div",{class:"registry-note",children:e(se,{label:"Searching known servers",inline:!0,dots:!0})})}):null]}),a?.description?e("p",{class:"muted registry-picked",children:a.description}):null,e("div",{class:"add-grid",children:[e(k,{label:"Name",children:e("input",{name:"name",value:d,onInput:n=>f(n.currentTarget.value),placeholder:"Acme docs",autocomplete:"off",required:!0})}),e(k,{label:"URL or command",children:e("input",{name:"target",class:"mono",value:u,onInput:n=>g(n.currentTarget.value),placeholder:"https://mcp.acme.dev/mcp",autocomplete:"off",spellcheck:!1,required:!0})})]}),Se?e("div",{class:"add-grid",children:[e(q,{kind:"arg",list:a?.argumentInputs??[]}),e(q,{kind:"env",list:(a?.env??[]).filter(n=>!n.secret)}),e(q,{kind:"header",list:(a?.headers??[]).filter(n=>!n.secret)})]}):null,z.length?e("p",{class:"muted",role:"note",children:H?`This server needs ${ye(P.filter(n=>n.required))}, and a connection holds one key. Add it in the server's own config instead.`:`A connection holds one key, sent as ${S.name}. Add ${ye(z)} in the server's own config if you use them.`}):null,e("div",{class:"add-grid",children:[e(Ce,{value:U,onChange:l,write:!C}),Re]}),Fe?e("div",{class:"add-grid",children:[e(k,{label:"API key",hint:C?void 0:"optional",children:e("input",{name:"key",type:"password",placeholder:"acme_live_4f9a\u2026",autocomplete:"off",required:!!C},a?.name)}),C?e(k,{label:"Header",children:e("input",{name:"header",class:"mono",defaultValue:S?.name??"Authorization",placeholder:"Authorization",autocomplete:"off",required:!0},`header:${S?.name}`)}):e(k,{label:"Environment variable",children:e("input",{name:"env",class:"mono",defaultValue:S?.name,placeholder:"ACME_API_KEY",autocomplete:"off"},`env:${S?.name}`)})]}):null,e("div",{class:"add-foot",children:e(R,{type:"submit",disabled:H,loading:Ae,children:"Add connection"})})]})}function _e({catalog:o,rows:s,local:r,admin:i,operator:c,empty:a,onAdded:p}){let[d,f]=m(o.some(t=>t.personal)?"platform":"mcp"),[u,g]=m(0),v={local:r,admin:i,operator:c,onAdded:t=>{p(t),g(u+1)}};return e(ae,{opened:a,title:"Add a connection",note:"A platform account, or any MCP server",children:[e("div",{class:"conn-add",children:[e(me,{label:"What to connect",options:Ne,value:d,onChange:f}),e("p",{class:"muted",children:De[d]})]}),d==="platform"?e(je,{...v,catalog:o,rows:s},u):e(Ue,{...v},u)]})}function We({row:o,onSaved:s,onClose:r}){let i=$({leaves:!0}),c=!!i.pending,a=L(null);return X(()=>a.current?.focus(),[]),e("form",{class:"add-row conn-key",method:"post",onSubmit:p=>{p.preventDefault();let d=String(new FormData(p.currentTarget).get("key")??"").trim();d&&i.run("save",async()=>s(await I.connections.update(o.id,{key:d})))},children:[e("input",{name:"key",type:"password","aria-label":`New key for ${o.name}`,placeholder:`New key for ${o.name}, then Enter`,ref:a,autocomplete:"off",required:!0}),e(R,{type:"submit",loading:c,children:"Save key"}),e(R,{variant:"ghost",disabled:c,onClick:r,children:"Cancel"})]})}function gn({first:o,catalog:s,local:r,admin:i,operator:c}){let[a,p]=m(o.filter(t=>t.provider!=="env")),[d,f]=m(),u=$({leaves:!0}),g=t=>p(y=>y.some(l=>l.id===t.id)?y.map(l=>l.id===t.id?t:l):[...y,t]),v=t=>{if(t.auth==="key")return f(t);u.run(t.id,async()=>location.assign((await I.connections.authorize(t.id)).url))};return e(B,{children:[e(_e,{catalog:s,rows:a,local:r,admin:i,operator:c,empty:!o.some(t=>t.provider!=="env"),onAdded:g}),e(oe,{title:"Connections",count:a.length,children:[a.length?e("div",{class:"table-scroll",children:e("table",{class:"rows settings conns",children:e("tbody",{children:a.map(t=>e(fe,{title:t.name,badges:e("span",{class:"conn-badges",children:[e(F,{children:t.owner?t.mine?"yours":"member":"workspace"}),t.provider==="env"?null:e(F,{children:t.access==="write"?"read and write":"read only"}),e(F,{tone:ke[t.status].tone,children:ke[t.status].label})]}),sub:e(Ke,{row:t,catalog:s}),actions:t.status==="ok"?null:e(R,{variant:"outline",size:"sm",loading:u.pending===t.id,onClick:()=>v(t),children:"Reconnect"}),remove:{title:`Remove ${t.name}?`,body:"Tasks stop using it, and its key or sign-in is deleted.",onRemove:()=>I.connections.remove(t.id).then(()=>p(y=>y.filter(l=>l.id!==t.id)),ue)}},t.id))})})}):e(re,{title:"No connections yet",children:"Add one above so tasks can use another service, like an issue tracker or a database."}),d?e(We,{row:d,onSaved:t=>{g(t),f(void 0)},onClose:()=>f(void 0)}):null]})]})}export{gn as ConnectionsList};
@@ -1 +0,0 @@
1
- "use client";import{b as u,d as g}from"./platform-actions-40824017c7b5b910.js";import"./copy-c938369a1bfe75fd.js";import"./segmented-24da438244eedc8f.js";import"./confirm-1cb4d8df3974f34a.js";import"./field-657227821326b5b3.js";import{a as l}from"./action-977f2355e308d7d0.js";import"./format-b19b8eec331414f4.js";import"./shared-init-02aaa49ed4606a76.js";import"./shared-init-02aaa49ed4606a76.js";import"./shared-init-02aaa49ed4606a76.js";import{$0d as f}from"./shared-init-02aaa49ed4606a76.js";import"./wular-pnext-e8b9eb1e537215ed-0.js";import{$0c as c}from"./shared-init-03e620f936463465.js";import{$1L as m,$1a as e}from"./shared-init-03e620f936463465.js";import"./shared-init-e8b9eb1e537215ed-2.js";import{$2h as t,$2j as p}from"./shared-init-e8b9eb1e537215ed-2.js";import"./shared-init-e8b9eb1e537215ed-2.js";function v({integration:r,state:i,info:o}){let[d,C]=t(!1),[b,a]=t(!0),[n,h]=t(),s=()=>c.apps.start(r,i);return p(()=>{u(o?.create,i,s).then(h).catch(y=>{C(!0),l(y)})},[]),d?null:n?b?e(g,{integration:r,step:n,start:s,unreachable:o?.unreachable,onClose:()=>a(!1)}):e(m,{onClick:()=>a(!0),children:n.submit}):e(f,{label:`Opening ${o?.name??r}`})}export{v as CreateLink};
@@ -1 +0,0 @@
1
- "use client";import{a as de}from"./combo-126d5709a0b3a5bd.js";import{a as se}from"./copy-c938369a1bfe75fd.js";import{a as ae}from"./segmented-24da438244eedc8f.js";import{e as re}from"./list-a0cc9bdb05fc71d4.js";import"./confirm-1cb4d8df3974f34a.js";import{a as $,b as T}from"./action-977f2355e308d7d0.js";import{g as F}from"./format-b19b8eec331414f4.js";import{$3a as ie}from"./shared-init-02aaa49ed4606a76.js";import"./shared-init-02aaa49ed4606a76.js";import{$2B as oe,$2a as ee,$2k as W,$2x as te}from"./shared-init-02aaa49ed4606a76.js";import{$0a as H,$0d as R,$0k as ne,$0p as L}from"./shared-init-02aaa49ed4606a76.js";import"./wular-pnext-e8b9eb1e537215ed-0.js";import{$0c as k,$0e as U}from"./shared-init-03e620f936463465.js";import{$1L as O,$1N as Z,$1a as e,$1b as G,$1u as V,$1y as q,$1z as X}from"./shared-init-03e620f936463465.js";import"./shared-init-e8b9eb1e537215ed-2.js";import{$2c as S,$2h as v,$2j as M,$2l as x}from"./shared-init-e8b9eb1e537215ed-2.js";import"./shared-init-e8b9eb1e537215ed-2.js";var le=[{id:"claude",name:"Claude",key:"ANTHROPIC_API_KEY",hint:"Anthropic API key",signIn:"Claude"},{id:"codex",name:"Codex",key:"OPENAI_API_KEY",hint:"OpenAI API key",signIn:"ChatGPT"},{id:"custom",name:"Custom",key:"OPENAI_API_KEY",hint:"API key"}],pe=["OPENAI_API_KEY","OPENROUTER_API_KEY","AI_GATEWAY_API_KEY","GROQ_API_KEY","TOGETHER_API_KEY","ANTHROPIC_API_KEY"],fe=[["personal","Just me"],["workspace","Workspace"]],he={signin:"Sign in",key:"API key",token:"Setup token"},ve=new Set(["owner","admin"]);function ye({row:t,busy:s,onAct:m,onSignIn:b,canManage:a}){let c=t.label.endsWith("-subscription"),g=[t.account?.email,t.account?.plan].filter(Boolean).join(" \xB7 "),u=c&&b,o=re(a?{label:c?"Sign out":"Remove",title:c?`Sign out of ${t.label}?`:`Remove ${t.label}?`,body:"Tasks that use it stop running.",onRemove:()=>m("remove")}:void 0);return e("tr",{children:[e("td",{children:[e("span",{class:"row-title",children:[e("b",{children:t.label}),e(L,{children:t.scope}),t.isDefault?e(L,{tone:"acc",children:"default"}):null]}),e("span",{class:"sub mono",children:g?`${g} \xB7 ${t.masked}`:t.masked})]}),e("td",{class:"acts",children:[t.isDefault||!a?null:e(O,{variant:"ghost",size:"sm",loading:s==="default",onClick:()=>void m("default"),children:"Make default"}),u||o.item?e(ne,{button:"icon",label:"Actions",summary:e(G,{d:q}),children:[u?e(S,{children:[e(W,{title:"Sign in again",onClick:u}),e(W,{title:"Switch account",onClick:u})]}):null,o.item]}):null,o.dialog]})]})}function be({engine:t,token:s,admin:m,autoFocus:b,onSaved:a}){let[c,g]=v(""),u=x(null),[o,d]=v(t.key),[y,C]=v("personal"),E=T({leaves:!0}),A=!!E.pending;M(()=>{b&&u.current?.focus()},[]);let _=()=>{A||!c.trim()||!o.trim()||E.run("save",async()=>{await k.credentials.add({engine:t.id,env:{[s?"CLAUDE_CODE_OAUTH_TOKEN":o.trim()]:c.trim()},...y==="workspace"&&!s?{workspace:!0}:{}}),a()})};return e("form",{class:"cred-add",method:"post",onSubmit:P=>{P.preventDefault(),_()},children:[t.id==="custom"?e(S,{children:e(de,{label:"Environment variable",name:"custom-var",class:"mono cred-var",options:pe,placeholder:"OPENAI_API_KEY",value:o,onChange:d})}):null,e("input",{type:"password",autocomplete:"off",name:`${t.id}-${s?"token":"key"}`,"aria-label":s?"Your claude setup-token":t.hint,placeholder:s?"Paste a claude setup-token, then Enter":`${t.hint}, then Enter`,ref:u,"aria-busy":A,value:c,onInput:P=>g(P.currentTarget.value)}),m?e(te,{label:"Who can use this key",options:fe,value:s?"personal":y,onChange:C,disabled:s}):null,e("button",{hidden:!0})]})}function Ie({login:t,engine:s,onChange:m,onDone:b,onError:a,onCancel:c}){let[g,u]=v(),[o,d]=v();U(t.id&&t.state!=="done"&&t.state!=="failed"?p=>k.credentials.loginStatus(t.id).then(i=>{if(!p.aborted){if(i.state==="done")return b();if(i.state==="failed")return a(i.error??"Sign-in failed. Try again.");t.state==="verifying"&&i.state==="open"&&i.url===o||m(i)}}).catch(i=>{if(p.aborted)return;let w=i.status;if(w===void 0||w>=500)return console.error("coder dashboard: sign-in status",i);a(F(i))}):void 0,800,[t.id]);let y=p=>{d(t.url),m({...t,state:"verifying"}),k.credentials.loginCode(t.id,p).catch(i=>a(F(i)))},C=!!t.url,E=t.state==="verifying",A=!!t.url&&g===t.url,_=!!o&&t.state==="open"&&t.url!==o,P=`Open ${s.signIn} sign-in`;return e(ie,{class:"sign-in",title:`Sign in with ${s.signIn}`,cancelDanger:!0,focus:"actions",onClose:c,actions:e(O,{href:t.url,external:!0,variant:A?"outline":"primary",loading:!C,autoFocus:!0,onClick:()=>u(t.url),children:A?"Open again":P}),children:[e("p",{class:"muted",children:"Coder signs in on a private machine and keeps the sign-in for your tasks."}),e("ol",{class:"steps-list sign-steps",role:"status",children:[e("li",{children:C?"The sign-in machine is ready.":e(R,{label:"Starting the sign-in machine\u2026",inline:!0})}),t.engine==="codex"?e(S,{children:[e("li",{children:["Open the sign-in page and enter this code.",t.code?e("span",{class:"code-box",children:[t.code,e(se,{value:t.code,label:"Copy code"})]}):null]}),e("li",{children:C?e(R,{label:"Waiting for your approval on the sign-in page\u2026",inline:!0}):"Approve it there."})]}):e(S,{children:[e("li",{children:["Open the ",s.signIn," sign-in and approve it."]}),e("li",{children:[_?e("span",{class:"rejected",role:"alert",children:"That code did not work. Open the sign-in again and paste the new code."}):"Paste the code it shows.",e("input",{class:"mono",autocomplete:"off","aria-label":`Code from the ${s.signIn} sign-in page`,placeholder:"Paste the code from the sign-in page",disabled:t.state!=="open",onPaste:p=>{let i=p.clipboardData?.getData("text").trim();i&&(p.preventDefault(),p.currentTarget.value=i,y(i))},onKeyDown:p=>{let i=p.currentTarget.value.trim();p.key==="Enter"&&i&&y(i)}},t.url),E?e(R,{label:"Checking the code\u2026",inline:!0}):null]})]})]})]})}function Ge({status:t}){let[s,m]=v(t),b=T(),[a,c]=v(),g=b.pending??(a?`${a.engine}:login`:"");U(a?async o=>{let d=await k.engines.status();o.aborted||(m(d),(d[a.engine]?.signedIn||Date.now()>a.until)&&c(void 0))}:void 0,2e3,[a]);let u=(o,d)=>void b.run(`${o}:${d}`,async()=>{m(await k.engines[d](o)),d==="login"&&c({engine:o,until:Date.now()+5*6e4})});return e(S,{children:[le.filter(o=>o.id!=="custom").map(o=>{let d=s[o.id],y=g===`${o.id}:login`;return e(H,{title:o.name,children:e("div",{class:"cred-new",children:[d?.signedIn?e("span",{class:"signed grow",children:[e(G,{d:V}),"Signed in to ",o.name]}):y?e("span",{class:"grow muted",children:["Finish signing in in the window ",o.name," opened."]}):e("span",{class:"grow muted",children:"Not signed in on this machine."}),d?.signedIn?e(O,{variant:"secondary",danger:!0,size:"sm",loading:g===`${o.id}:logout`,onClick:()=>u(o.id,"logout"),children:"Sign out"}):e(O,{variant:"secondary",size:"sm",loading:y,disabled:!!g,onClick:()=>u(o.id,"login"),children:"Sign in"}),y?e(O,{variant:"ghost",size:"sm",onClick:()=>c(void 0),children:"Cancel"}):null]})},o.id)}),e("p",{class:"muted",children:"On the local server, custom models read their key variable from this machine's environment."})]})}function He({rows:t,me:s,focus:m}){let b=ee(),a=oe(),[c,g]=v(""),[u,o]=v({}),[d,y]=v({}),C=!s.user,E=C||ve.has(s.organization?.role??""),A=s.server?.subscriptions,_=T({refresh:!0,leaves:!0}),[P,p]=v(t),i=P===t?_.pending??"":"",w=`coder-logins:${a}`,z=()=>{try{return JSON.parse(sessionStorage.getItem(w)??"{}")}catch{return{}}},I=(n,r)=>{o(h=>({...h,[n]:r}));try{let h={...z(),[n]:r?.id||void 0};sessionStorage.setItem(w,JSON.stringify(h))}catch{}},N=x(new Set);M(()=>{for(let[n,r]of Object.entries(z()))k.credentials.loginStatus(r).then(h=>{if(!N.current.has(n)){if(h.state==="done")return D(n);if(h.state==="failed")return I(n),$(h.error??"Sign-in failed. Try again.");I(n,h)}}).catch(()=>{N.current.has(n)||I(n)})},[]);let D=n=>{n&&I(n),g(""),b.refresh()},j=n=>{N.current.add(n),I(n,{id:"",engine:n,state:"starting"}),k.credentials.login(n).then(r=>I(n,r)).catch(r=>{I(n),$(r)})},ce=(n,r)=>i?Promise.resolve():(p(t),_.run(`${n.scope}/${n.label}/${r}`,()=>k.credentials[r==="default"?"setDefault":"remove"](n.label,{workspace:n.scope==="workspace"})));return e(S,{children:le.map(n=>{let r=t.filter(l=>l.engine===n.id),h=n.id!=="custom"&&!C&&!!A?.[n.id],K=[...h?["signin"]:[],"key",...n.id==="claude"&&!h?["token"]:[]],B=d[n.id]??K[0],ue=!r.length||c===n.id,f=n.id==="custom"?void 0:u[n.id],J=r.length>0&&n.id!=="custom",Q=!f&&r.length>0&&c!==n.id;return e(H,{title:n.name,count:r.length||void 0,actions:J||Q?e(S,{children:[J?e(L,{tone:"ok",children:"ready"}):null,Q?e(Z,{icon:X,label:`Add a ${n.name} credential`,onClick:()=>g(n.id)}):null]}):null,children:e("div",{id:`engine-${n.id}`,class:"cred-engine",children:[n.id==="custom"?e("p",{class:"muted cred-note",children:["Custom keys back ",e("a",{href:`/dash/${a}/settings/models`,children:"custom models"}),". A model uses OPENAI_API_KEY unless it names another variable."]}):null,r.length?e("table",{class:"rows creds",children:e("tbody",{children:r.map(l=>{let Y=`${l.scope}/${l.label}/`;return e(ye,{row:l,busy:i.startsWith(Y)?i.slice(Y.length):"",canManage:l.scope==="personal"||E,onAct:me=>ce(l,me),...h&&l.scope==="personal"?{onSignIn:()=>j(n.id)}:{}},Y)})})}):null,ue||f?e("div",{class:"cred-new",children:[K.length>1?e(ae,{label:`How to add ${n.name}`,disabled:!!f,options:K.map(l=>[l,he[l]]),value:B,onChange:l=>y({...d,[n.id]:l})}):null,f||B==="signin"?e("div",{class:"cred-login grow end",children:[e(O,{autoFocus:m===n.id,disabled:!!f,onClick:()=>j(n.id),children:["Sign in with ",n.signIn]}),f?e(Ie,{login:f,engine:n,onChange:l=>I(f.engine,l),onDone:()=>D(f.engine),onError:l=>{I(f.engine),$(l)},onCancel:()=>{I(f.engine),f.id&&k.credentials.cancelLogin(f.id).catch($)}}):null]}):e(be,{engine:n,token:B==="token",admin:E,autoFocus:m===n.id||!!d[n.id],onSaved:()=>D()},B)]}):null]})},n.id)})})}export{He as CredentialsList,Ge as EngineLogins};
@@ -1 +0,0 @@
1
- var t={chain:["codex","claude"],engines:{codex:{model:"gpt-6.1-sol",effort:"high",permissions:"auto"},claude:{model:"opus",effort:"medium",permissions:"auto"}},models:{},approvals:{escalationTimeoutMs:12e4,allowedNetworkHosts:[]}},n=t.chain[0],s=e=>e==="failed"?0:e==="completed"?3:e==="cancelled"?2:1,i=(e,o)=>e<o?-1:e>o?1:0,d=(e,o)=>e.rank-o.rank||o.createdAt-e.createdAt||i(o.id,e.id);export{n as a,s as b,d as c};
@@ -1,7 +0,0 @@
1
- "use client";import{b as et}from"./instructions-a08bb02650dedb8d.js";import{a as Qe,b as Ye,c as Je,d as Xe}from"./agent-pills-e75e6ac80d515ffc.js";import{a as $}from"./segmented-24da438244eedc8f.js";import{a as Ze}from"./agent-toggle-b2f2c22e63dedc1f.js";import{a as We}from"./connect-repositories-995d55b3f166337d.js";import{b as re,d as ae,e as Ke,f as ze,g as Ge,h as Ue}from"./model-options-3a57918eaa4a2a82.js";import{a as Ve}from"./notice-cd32ca98bbc10844.js";import{a as E}from"./field-657227821326b5b3.js";import{a as G,b as U}from"./action-977f2355e308d7d0.js";import{f as q}from"./format-b19b8eec331414f4.js";import{$1c as _e,$1d as ie}from"./shared-init-02aaa49ed4606a76.js";import{$2A as He,$2B as z,$2a as W,$2h as Oe,$2j as Be,$2k as se,$2p as je,$2u as K,$2x as qe,$2z as oe}from"./shared-init-02aaa49ed4606a76.js";import{$0b as De,$0d as te,$0e as ne,$0l as $e,$0p as D,$0q as xe,$0r as Me,$0s as Fe}from"./shared-init-02aaa49ed4606a76.js";import"./wular-pnext-e8b9eb1e537215ed-0.js";import{$0c as B}from"./shared-init-03e620f936463465.js";import{$1C as Le,$1L as A,$1M as Ne,$1a as e,$1b as H,$1e as Ae,$1j as Ee,$1r as _,$1w as Te,$1z as ee}from"./shared-init-03e620f936463465.js";import"./shared-init-e8b9eb1e537215ed-2.js";import{$2c as R,$2h as k,$2j as j,$2l as Re}from"./shared-init-e8b9eb1e537215ed-2.js";import"./shared-init-e8b9eb1e537215ed-2.js";var V=2,tt=({name:n,platform:o})=>e("li",{children:[e("b",{children:["@",n]})," on ",o]},`${o} ${n}`);function nt({agent:n,actions:o,back:u}){return e(R,{children:[e(Be,{}),e("header",{class:"hero",children:[e("span",{class:"hero-mark",children:q(n.name)}),e("div",{class:"grow",children:[u,e("div",{class:"title-row",children:[e("h1",{children:n.name}),e(Xe,{agent:n}),n.settings?.disabled?e(Ze,{agent:n,link:!0}):null]}),e("p",{class:"lead",children:n.description??"No description yet."})]}),o||n.handles?.length?e("div",{class:"hero-side",children:[o?e("div",{class:"actions",children:o}):null,n.handles?.length?e("ul",{class:"handles",title:"Mention it on its platforms by these names",children:[n.handles.slice(0,V).map(tt),n.handles.length>V?e("li",{children:e($e,{label:`+${n.handles.length-V} more`,children:e("ul",{class:"handles",children:n.handles.slice(V).map(tt)})})}):null]}):null]}):null]})]})}function st({port:n}){return e(De,{title:"Receive platform events",note:`Expose port ${n} so platforms can reach this server`,open:"Show",children:e("div",{class:"guide",children:[e("p",{children:["Platforms reach this server through a public address. Expose port ",n," with one of these."]}),e("ul",{class:"steps-list",children:[e("li",{children:e("code",{children:["ngrok http ",n]})}),e("li",{children:e("code",{children:["cloudflared tunnel --url http://localhost:",n]})}),e("li",{children:"VS Code's Ports panel, with the port's visibility set to Public"})]}),e("p",{children:["Then restart with ",e("code",{children:"PUBLIC_URL=<tunnel URL> coder server serve"}),". The tunnel serves only webhooks and app setup, never this dashboard."]})]})})}var ot=/^[\w.-]+\/[\w.-]+$/,Rt=n=>/^[0-9a-f]{12,}$/i.test(n)?n.slice(0,7):n;function At({preview:n,onDone:o}){let[u,p]=k(new Set),f=U({leaves:!0});if(n.failed)return null;if(!n.agents)return e(te,{label:`Reading ${n.repo}`,h:180});if(!n.agents.length)return e("p",{class:"muted",children:[n.repo," has no agents yet. Add a folder per agent under ",e("code",{children:".coder/agents"}),", with an ",e("code",{children:"agent.json"})," and a ",e("code",{children:"system.md"}),"."]});let r=n.agents.filter(i=>!i.taken&&!u.has(i.id)).map(i=>i.id);return e("form",{class:"import-agents",onSubmit:async i=>{i.preventDefault(),r.length&&await f.run("import",async()=>o((await B.agents.import(n.repo,void 0,r)).imported))},children:[e("ul",{class:"picks-list",children:n.agents.map(i=>e("li",{children:e("label",{class:"check",children:[e("input",{type:"checkbox",checked:!i.taken&&!u.has(i.id),disabled:i.taken,onChange:b=>{let m=new Set(u);b.currentTarget.checked?m.delete(i.id):m.add(i.id),p(m)}}),e("span",{children:[e("b",{children:i.name})," ",e(Fe,{value:i.id}),i.version?e(D,{children:["v",i.version,i.commit?` \xB7 ${Rt(i.commit)}`:""]}):null,e("small",{children:i.taken?"An agent with this id already exists here.":i.description??"No description."}),i.warnings?.map(b=>e("small",{role:"status",children:b},b))]})]})},i.id))}),e("p",{class:"muted",children:["Each push to ",n.repo," that changes an agent publishes its new version here."]}),e("div",{class:"form-actions end",children:e(A,{type:"submit",disabled:!!f.pending||!r.length,children:["Import ",r.length===1?"1 agent":`${r.length} agents`]})})]})}function it({connected:n,connectLabel:o,tunnel:u,port:p}){let f=W(),r=z(),[i,b]=k(),[m,M]=k(""),[S,P]=k(),w=Re("");j(()=>{n&&B.repositories.list().then(ne(performance.now())).then(c=>b(c.map(L=>L.repo))).catch(c=>{b([]),G(c)})},[]);let g=c=>{w.current=c,P({repo:c}),B.agents.preview(c).then(ne(performance.now())).then(({agents:L})=>w.current===c&&P({repo:c,agents:L})).catch(L=>{w.current===c&&(P({repo:c,failed:!0}),G(L))})},N=c=>c.length===1?f.push("/dash/[org]/agents/[slug]",{params:{org:r,slug:c[0]}}):f.push("/dash/[org]/agents",{params:{org:r}}),Q=m.trim().toLowerCase(),s=(i??[]).filter(c=>c.toLowerCase().includes(Q)),y=ot.test(m.trim())&&!i?.includes(m.trim())?m.trim():"";return e("div",{class:"import",children:[e("div",{class:"import-repos",children:[n?e(K,{value:m,label:"Search repositories or type owner/repo",onInput:M}):e(R,{children:[e(Ve,{children:[e(H,{d:_}),e("span",{class:"grow",children:"Connect to list your repositories here."}),e(A,{variant:"outline",size:"sm",onClick:()=>void We(`/dash/${r}/agents/new?template=import`).catch(G),children:o})]}),e("form",{class:"with-btn",onSubmit:c=>{c.preventDefault(),ot.test(m.trim())&&g(m.trim())},children:[e("input",{class:"mono","aria-label":"Repository",placeholder:"owner/repo",autocomplete:"off",value:m,onInput:c=>M(c.currentTarget.value)}),e(A,{type:"submit",variant:"outline",children:"Look up"})]})]}),n?e("div",{class:"repo-list scroll-box",role:"list",children:i?e(R,{children:[y?e(se,{"aria-pressed":S?.repo===y,icon:_,title:y,onClick:()=>g(y)}):null,s.map(c=>e(se,{"aria-pressed":S?.repo===c,icon:_,title:c,onClick:()=>g(c)},c)),!s.length&&!y?e(je,{children:"No repository matches. Type owner/repo to use another."}):null]}):e(te,{label:"Loading repositories",h:240})}):null,!n&&u?e(st,{port:p}):null]}),e("div",{class:"import-preview",children:S?e(R,{children:[e("h3",{children:["Agents in ",S.repo]}),e(At,{preview:S,onDone:N},S.repo)]}):e("p",{class:"muted",children:"Pick a repository to see the agents in its .coder/agents folder."})})]})}var rt=[["Brisk","Calm","Clever","Keen","Nimble","Quiet","Steady","Swift","Tidy","Bright","Patient","Lucky"],["Heron","Otter","Falcon","Lynx","Badger","Relay","Beacon","Compass","Lantern","Pilot","Sparrow","Harbor"]],at=n=>n[Math.floor(Math.random()*n.length)],lt=()=>`${at(rt[0])} ${at(rt[1])}`;var ct=[["read-only","Read only"],["workspace-write","Edit files"],["auto","Auto"]],Et={"read-only":"reads the repository and changes nothing","workspace-write":"edits files inside the repository",auto:"edits files, reaches the network, and asks when it needs more"},Tt=[["low","Low"],["medium","Medium"],["high","High"]],x=["observe","comment","write"],dt={observe:["Observe","reads the platform only"],comment:["Comment","also replies and reacts"],write:["Write","also changes code there, like opening pull requests"]},Lt=[["blank","Blank","start from nothing"],["helper","Slack helper","answers questions in chat"],["reviewer","GitHub reviewer","reviews pull requests"]],Nt=6,Ot=`Review each pull request for bugs, risky changes and missing tests.
2
- Comment on the lines that matter and keep it short.
3
- When mentioned, answer questions about the code and cite file paths.`,Bt=`Answer the team's questions in the thread.
4
- Read the code before you answer, cite file paths, and say when you are unsure.
5
- If asked to change code, describe the change and stop.`,Dt=n=>Array.isArray(n)?n.map(String):n&&typeof n=="object"?Object.keys(n):[],mt=n=>n.toLowerCase().replace(/[^a-z0-9_-]+/g,"-").replace(/^-+|-+$/g,"").slice(0,40);function $t(n,o,u){let p=n?.definition,f={name:n?.name??o,id:n?.id??mt(o),description:n?.description??p?.description??"",platforms:[],events:{},match:{},tools:{},permissions:p?.permissions??"read-only",systemPrompt:n?.systemPrompt??"",engine:p?.engine??"",model:p?.model??"",effort:p?.effort??""};for(let[r,i]of Object.entries(p?.integrations??{}))if(u.some(b=>b.id===r)){if(f.platforms.push(r),f.events[r]=Dt(i.events),f.match[r]={},i.events&&!Array.isArray(i.events))for(let[b,m]of Object.entries(i.events))m&&typeof m=="object"&&"match"in m&&(f.match[r][b]=String(m.match));f.tools[r]=i.tools}return f}var ut=n=>Object.entries(n?.events??{}).filter(([,o])=>!o.noisy).map(([o])=>o);function pt(n,o){let u=p=>{let f=o.filter(p).map(r=>r.id);return{platforms:f,events:Object.fromEntries(f.map(r=>[r,ut(o.find(i=>i.id===r))])),tools:Object.fromEntries(f.map(r=>[r,"comment"])),match:{}}};return n==="reviewer"?{...u(p=>"pull_request"in p.events),description:"Reviews pull requests and answers questions about the code.",systemPrompt:Ot}:n==="helper"?{...u(p=>p.id==="slack"),description:"Answers the team's questions in chat.",systemPrompt:Bt}:{platforms:[],events:{},tools:{},match:{},description:"",systemPrompt:""}}function xt(n,o,u){let p=n?.events&&!Array.isArray(n.events)?n.events:{},f=Object.fromEntries(o.map(r=>{let i=p[r],b=u[r]?.trim(),m=i&&typeof i=="object"?{...i}:{};return b?m.match=b:delete m.match,Object.keys(m).length?[r,m]:[r,i===void 0||typeof i=="object"?!0:i]}));return Object.values(f).every(r=>r===!0)?o:f}var Mt=(n=[],o=[])=>n.length===o.length&&n.every(u=>o.includes(u));function Ft(n){if(!n)return[];let o=x.filter((u,p)=>!p||!Mt(n.presets[u],n.presets[x[p-1]]));return o.length>1?o:[]}var jt=(n,o)=>n.filter(u=>x.indexOf(u)<=x.indexOf(o)).at(-1)??"";function is({catalog:n,agent:o,suggested:u="",section:p,models:f,defaults:r={engine:"",engines:{},builtin:{}},template:i,connected:b=!1,connectLabel:m="Connect",tunnel:M=!1,port:S=""}){let P=W(),w=z(),g=!o,[N,Q]=k(i??"blank"),[s,y]=k(()=>({...$t(o,u,n),...g?pt(i??"blank",n):{}})),[c,L]=k(!1),[le,ft]=k("write"),[ce,ht]=k(""),de=U({toast:g?"Agent not created":"Not published",leaves:!0}),gt=!!de.pending,O=(t,a)=>y(d=>({...d,[t]:a})),Y=(t,a=s.tools[t])=>Array.isArray(a)?"custom":a??"observe",J=s.platforms.length?Y(s.platforms[0]):"comment",vt=s.platforms.every(t=>Y(t)===J),pe=s.platforms.map(t=>[t,Ft(n.find(a=>a.id===t))]).filter(([,t])=>t.length),X=x.filter(t=>pe.some(([,a])=>a.includes(t))),me=new Set(pe.map(([t])=>Y(t))),ue=me.size===1?jt(X,[...me][0]):"",fe=(t,a)=>Object.entries(r.builtin[t]??{}).find(([,d])=>d===a)?.[0]??a,F=s.engine||r.engine,Z=r.engines[F]??{},bt=[re[r.engine]??r.engine,fe(r.engine,r.engines[r.engine]?.model)].filter(Boolean).join(" \xB7 "),he=ct.find(([t])=>t===s.permissions)?.[1].toLowerCase(),yt=g?"you can change these later in its settings":(s.engine||s.model||s.effort?[re[F]??F,s.model||fe(F,Z.model),s.effort||Z.effort,he]:["Default models",he]).filter(Boolean).join(" \xB7 ");j(()=>{if(!p)return;let t=document.getElementById(`agent-${p}`);t?.scrollIntoView({block:"start"}),t?.querySelector("input, textarea, button")?.focus({preventScroll:!0})},[]);let ge=t=>{Q(t),t!=="import"&&y(a=>({...a,...pt(t,n)}))},ve=t=>y(a=>({...a,name:t,...g&&!c?{id:mt(t)}:{}})),wt=(t,a)=>y(d=>{let v=Object.keys(n.find(l=>l.id===t)?.events??{});return{...d,platforms:a?n.map(l=>l.id).filter(l=>l===t||d.platforms.includes(l)):d.platforms.filter(l=>l!==t),events:a&&!d.events[t]?.length?{...d.events,[t]:ut(n.find(l=>l.id===t))}:d.events,tools:a&&!d.tools[t]?{...d.tools,[t]:vt&&J!=="custom"?J:"comment"}:d.tools}}),kt=(t,a,d)=>y(v=>{let l=v.events[t]??[],h=d?v.match:{...v.match,[t]:{...v.match[t],[a]:""}};return{...v,events:{...v.events,[t]:d?[...new Set([...l,a])]:l.filter(C=>C!==a)},match:h}}),Ct=(t,a,d)=>y(v=>({...v,match:{...v.match,[t]:{...v.match[t],[a]:d}}})),It=async()=>{let t=s.platforms.find(h=>!s.events[h]?.length);if(t)return ie("Not published",`Pick at least one event on ${t}, or turn ${t} off.`);let a={};for(let h of s.platforms)a[h]={events:xt(o?.definition?.integrations?.[h],s.events[h]??[],s.match[h]??{}),tools:s.tools[h]};let d={...o?.definition,integrations:a,permissions:s.permissions};for(let h of["name","description","engine","model","effort"]){let C=s[h].trim();C?d[h]=C:delete d[h]}let v=g?s.id:o.id,l=s.name.trim();await de.run("publish",async()=>{let h=o?.files,{apps:C=[]}=await B.agents.put(v,{definition:d,...h?{files:h}:{},systemPrompt:s.systemPrompt.trim()?s.systemPrompt:`You are ${l||v}.
6
- `,...l?{name:l}:{},...s.description.trim()?{description:s.description.trim()}:{}});for(let I of C){let Pe=n.find(Pt=>Pt.id===I.integration)?.name??I.integration;I.updated&&_e(`${Pe} app updated`,`${I.name} now matches the agent.`,"success"),I.error&&ie(`${Pe} app not updated`,I.error)}let Se=C.filter(I=>I.drift).map(I=>I.id);Se.length?P.push("/dash/[org]/agents/[slug]/platforms",{params:{org:w,slug:v},search:{update:Se.join(",")}}):g&&s.platforms.length?P.push("/dash/[org]/agents/[slug]/platforms",{params:{org:w,slug:v}}):P.push("/dash/[org]/agents/[slug]",{params:{org:w,slug:v}})})},be=e(R,{children:[g?e(A,{variant:"outline","aria-pressed":N==="import",onClick:()=>ge("import"),children:"Import from repo"}):null,g?null:e(Ne,{variant:"ghost",href:"/dash/[org]/agents/[slug]",params:{org:w,slug:o.id},children:"Cancel"}),e(A,{type:"submit",leftIcon:g?ee:Te,disabled:!s.name.trim()||N==="import",loading:gt,children:g?"Create agent":"Publish new version"})]}),ye=g?e(He,{...Oe.newAgent,back:e(oe,{href:"/dash/[org]/agents",params:{org:w},label:"Agents"}),actions:be}):e(nt,{agent:o,back:e(oe,{href:"/dash/[org]/agents/[slug]",params:{org:w,slug:o.id},label:o.name}),actions:be}),we=g?e("div",{class:"templates",role:"radiogroup","aria-label":"Start from",children:Lt.map(([t,a,d])=>e("button",{type:"button",role:"radio","aria-checked":N===t,class:"tile",onClick:()=>ge(t),children:[e("b",{children:a}),e("small",{children:d})]},t))}):null;if(N==="import"&&g)return e("div",{class:"agent-new",children:[ye,we,e(it,{connected:b,connectLabel:m,tunnel:M,port:S})]});let St=ce.trim().toLowerCase(),ke=n.filter(t=>`${t.id} ${t.description}`.toLowerCase().includes(St)),Ce=t=>!!t.featured||s.platforms.includes(t.id),Ie=[...ke.filter(Ce),...ke.filter(t=>!Ce(t))];return e("form",{class:"agent-new",onSubmit:t=>{t.preventDefault(),It()},children:[ye,we,e("div",{class:"agent-form",children:[e("div",{class:"agent-main",children:[e("section",{id:"agent-name",class:"form-part",children:[e("h2",{children:"Name and description"}),e("div",{class:"fields",children:[e(E,{label:"Name",hint:"its handle on every platform",children:e("span",{class:"with-btn",children:[e("input",{name:"name",required:!0,value:s.name,onInput:t=>ve(t.currentTarget.value)}),g?e(A,{variant:"outline",leftIcon:Le,title:"Suggest another name",onClick:()=>ve(lt()),children:"Suggest"}):null]})}),g?e(E,{label:"Id",hint:"the folder and command name",children:e("input",{class:"mono",name:"id",required:!0,pattern:"[a-z0-9][a-z0-9_\\-]*",autocomplete:"off",value:s.id,onInput:t=>{L(!0),O("id",t.currentTarget.value)}})}):e("div",{class:"field",children:[e("span",{children:["Id ",e("small",{children:"fixed once created"})]}),e("p",{class:"fixed mono",children:o.id})]})]}),e(E,{label:"Description",hint:"optional, shown in lists and added to the prompt",children:e("input",{name:"description",maxLength:240,placeholder:"Answers engineering questions about acme/app.",value:s.description,onInput:t=>O("description",t.currentTarget.value)})})]}),e("section",{id:"agent-instructions",class:"form-part",children:[e("div",{class:"part-head",children:[e("h2",{children:"Instructions"}),e($,{label:"Instructions view",options:[["write","Write"],["preview","Preview"]],value:le,onChange:ft})]}),le==="write"?e("textarea",{name:"systemPrompt",rows:10,"aria-label":"Instructions",placeholder:`Markdown. The system prompt every task starts from.
7
- You answer questions about acme/app from its source. Cite file paths.`,value:s.systemPrompt,onInput:t=>O("systemPrompt",t.currentTarget.value)}):e("div",{class:"body md md-preview",children:s.systemPrompt.trim()?et(s.systemPrompt):e("p",{class:"muted",children:"Nothing written yet."})})]}),e("section",{id:"agent-platforms",class:"form-part",children:[e("div",{class:"part-head",onKeyDown:t=>t.key==="Enter"&&t.preventDefault(),children:[e("h2",{children:"Handles"}),n.length>Nt?e(K,{value:ce,label:"Search platforms",onInput:ht}):null]}),e("p",{class:"muted",children:["Each platform becomes the agent's handle there: its own app, set up on the next page, where ",e("span",{class:"semi",children:"@mentions"})," and events start tasks. The dashboard, the CLI and the SDK can always start it."]}),e("p",{class:"muted",children:[e("b",{children:"Connections"})," are separate and shared by all agents: add as many as tasks need, like an API key, an MCP server or a member's own account, in"," ",e(Ae,{class:"link",href:"/dash/[org]/settings/[tab]",params:{org:w,tab:"connections"},children:"Settings"}),"."]}),e("ul",{class:"listen",children:[Ie.map(t=>{let a=s.platforms.includes(t.id),d=s.events[t.id]??[],v=Object.entries(t.events);return e("li",{class:a?"on":void 0,children:[e("label",{class:"listen-row",children:[e("span",{class:"pf-mark","aria-hidden":"true",children:e(Qe,{brand:t.brand})}),e("span",{class:"grow",children:[e("b",{children:t.name}),e("small",{title:t.description,children:t.description})]}),e("input",{type:"checkbox",role:"switch",class:"switch",name:"platform",value:t.id,checked:a,onChange:l=>wt(t.id,l.currentTarget.checked)})]}),a?e("div",{class:"events",children:[e(Me,{label:`What wakes it on ${t.id}`,children:v.map(([l,h])=>{let C=d.includes(l);return e(xe,{"aria-pressed":C,title:h.description,onClick:()=>kt(t.id,l,!C),children:l.replace(/_/g," ")},l)})}),v.filter(([l,h])=>h.noisy&&d.includes(l)).map(([l])=>e("label",{class:"match",children:[e("span",{children:l.replace(/_/g," ")}),e("input",{class:"mono",name:`match:${t.id}:${l}`,placeholder:"only when the text matches, like ^help\\b","aria-label":`Text filter for ${l} on ${t.id}`,value:s.match[t.id]?.[l]??"",onInput:h=>Ct(t.id,l,h.currentTarget.value)})]},l))]}):null]},t.id)}),Ie.length?null:e("li",{class:"listen-none muted",children:"No platform matches."})]}),X.length?e(E,{label:"Platform access",hint:dt[ue]?.[1]??"differs between platforms",group:!0,children:e($,{label:"Platform access",options:X.map(t=>[t,dt[t][0]]),value:ue,onChange:t=>O("tools",Object.fromEntries(s.platforms.map(a=>[a,t])))})}):null]}),e("details",{id:"agent-run",class:"form-part run",open:p==="run",children:[e("summary",{children:[e("h2",{children:"Run settings"}),e("span",{class:"grow muted",children:yt}),e(H,{d:Ee})]}),e("div",{class:"run-body",children:[e("div",{class:"fields",children:[e(E,{label:"Engine and model",hint:"what runs each task",group:!0,children:e(qe,{label:"Model",value:ze(s.engine,s.model),options:Ke(f,ae(bt)),headings:Ue(f),action:{label:"Add models",icon:ee,onPick:()=>P.push("/dash/[org]/settings/[tab]",{params:{org:w,tab:"models"}})},onChange:t=>y(a=>({...a,...Ge(t)}))})}),e(E,{label:"Effort",hint:"how hard the model thinks",group:!0,children:e($,{label:"Effort",options:[["",ae(Z.effort)],...Tt],value:s.effort,onChange:t=>O("effort",t)})})]}),e(E,{label:"Repository access",hint:Et[s.permissions],group:!0,children:e($,{label:"Repository access",options:ct,value:s.permissions,onChange:t=>O("permissions",t)})})]})]})]}),e("aside",{class:"agent-side","aria-label":"Preview",children:[e("span",{class:"side-label",children:"Preview"}),e("div",{class:"agent-card preview",children:[e("div",{class:"bc-head",children:[e("span",{class:"mark",children:q(s.name)}),e("div",{class:"grow",children:[e("h3",{children:s.name.trim()||"Unnamed agent"}),e("span",{class:"pills",children:[e(D,{children:"dashboard"}),o?.local?null:e(D,{children:["v",g?1:o.currentVersion+1]}),o?.settings?.disabled?e(Je,{}):null]})]})]}),e("div",{class:"lead-clamp",children:e("span",{children:s.description.trim()||"No description yet."})}),s.platforms.length?e(Ye,{platforms:s.platforms.map(t=>({id:t,state:"none"})),catalog:n}):e("span",{class:"pfs muted",children:"No handles yet"})]})]})]})]})}export{is as AgentEditor};
@@ -1 +0,0 @@
1
- "use client";import{a as c,b as p,d as S}from"./model-options-3a57918eaa4a2a82.js";import{a as b,b as k,c as N,d as C,f as u,g}from"./list-a0cc9bdb05fc71d4.js";import"./confirm-1cb4d8df3974f34a.js";import"./action-977f2355e308d7d0.js";import"./format-b19b8eec331414f4.js";import"./shared-init-02aaa49ed4606a76.js";import"./shared-init-02aaa49ed4606a76.js";import{$2k as f,$2x as w}from"./shared-init-02aaa49ed4606a76.js";import{$0p as d}from"./shared-init-02aaa49ed4606a76.js";import"./wular-pnext-e8b9eb1e537215ed-0.js";import"./shared-init-03e620f936463465.js";import{$1L as m,$1a as t}from"./shared-init-03e620f936463465.js";import"./shared-init-e8b9eb1e537215ed-2.js";import{$2c as a,$2h as E}from"./shared-init-e8b9eb1e537215ed-2.js";import"./shared-init-e8b9eb1e537215ed-2.js";function P({first:s,defaults:R}){let[B,h]=E(""),n=b(s.config),o=n.value.chain??s.effective.chain??c,l=n.value.approvals?.allowedNetworkHosts??[],I=[...o.filter(e=>c.includes(e)),...c.filter(e=>!o.includes(e))],L=(e,i)=>(s.config.engines?.[e]?.[i]?void 0:s.effective.engines?.[e]?.[i])??R[e]?.[i],v=(e,i,M)=>t("label",{children:[i,t(w,{label:`${p[e]} ${i}`,value:n.value.engines?.[e]?.[i]??"",options:[["",S(L(e,i)??(i==="permissions"?"auto":void 0))],...M.map(r=>[r,r])],onChange:r=>void n.patch({engines:{[e]:{[i]:r||null}}})})]});return t(a,{children:[t(g,{title:"Engines",count:o.length,children:I.map(e=>t(u,{title:p[e],badges:t(a,{children:[o[0]===e?t(d,{tone:"acc",children:"default"}):null,o.includes(e)?null:t(d,{children:"off"})]}),sub:t("span",{class:"inline-picks",children:[v(e,"effort",k),v(e,"permissions",N)]}),actions:o[0]===e?null:t(m,{variant:"secondary",size:"sm",loading:B===e,onClick:()=>{h(e),n.patch({chain:[e,...o.filter(i=>i!==e)]}).finally(()=>h(""))},children:"Make default"}),menu:o.includes(e)?o.length>1?t(f,{title:"Disable",onClick:()=>void n.patch({chain:o.filter(i=>i!==e)})}):void 0:t(f,{title:"Enable",onClick:()=>void n.patch({chain:[...o,e]})})},e))}),t(g,{title:"Allowed network hosts",count:l.length,add:t(C,{fields:[["host","Host, like registry.npmjs.org"]],onAdd:({host:e})=>n.patch({approvals:{allowedNetworkHosts:[...new Set([...l,e])]}})}),children:l.map(e=>t(u,{title:e,remove:{title:`Remove ${e}?`,body:"Tasks lose access to it.",onRemove:()=>n.patch({approvals:{allowedNetworkHosts:l.filter(i=>i!==e)}})}},e))})]})}export{P as EnginesList};
@@ -1 +0,0 @@
1
- var m=(t,o,n)=>Object.fromEntries(new Intl.DateTimeFormat("en-US",{...n,timeZone:o}).formatToParts(t).map(e=>[e.type,e.value]));function s(t,o,n){if(!t)return"Not available";let e={month:"short",day:"numeric",year:"numeric",hour:"numeric",minute:"2-digit",hour12:!0},r=m(t,o,e),i=`${r.hour}:${r.minute} ${r.dayPeriod}`;if(!n)return`${r.month} ${r.day}, ${r.year}, ${i}`;let a=m(Date.now(),o,e);return r.year!==a.year?`${r.month} ${r.day}, ${r.year}, ${i}`:r.month===a.month&&r.day===a.day?i:`${r.month} ${r.day}, ${i}`}function f(t,o){let n=m(t,o,{hour:"numeric",minute:"2-digit",second:"2-digit",hour12:!0});return`${n.hour}:${n.minute}:${n.second} ${n.dayPeriod}`}function d(t,o){let n=m(t,o,{month:"short",day:"numeric",year:"numeric"});return`${n.month} ${n.day}, ${n.year}`}var u=new Intl.NumberFormat("en-US",{notation:"compact",maximumFractionDigits:1});function $(t){if(t===void 0)return"Not available";if(t<1e3)return`${Math.round(t)} ms`;if(t<6e4)return`${(t/1e3).toFixed(1)} s`;let[o,n]=t<36e5?["min",t/6e4]:["h",t/36e5];return`${n>=1e4?u.format(n):n.toLocaleString("en-US",{minimumFractionDigits:1,maximumFractionDigits:1})} ${o}`}var h=t=>t.toLocaleString("en-US");function p(t){return(t??"?").trim().charAt(0).toUpperCase()||"?"}var y=t=>t instanceof Error?t.message:String(t);export{s as a,f as b,d as c,$ as d,h as e,p as f,y as g};
@@ -1,2 +0,0 @@
1
- import{$1L as x,$1a as o}from"./shared-init-03e620f936463465.js";import{$2b as g,$2h as f,$2k as C,$2l as b}from"./shared-init-e8b9eb1e537215ed-2.js";function v({lines:c=10,class:e,children:t}){let n=b(null),[p,h]=f(!1),[l,u]=f(!1);return C(()=>{let s=n.current,i=()=>h(l||s.scrollHeight>s.clientHeight+1);i();let r=new ResizeObserver(i);return r.observe(s),()=>r.disconnect()},[t,l]),o("div",{class:`collapse${p?" long":""}${l?" open":""}`,style:`--lines:${c}`,children:[o("div",{class:e?`collapse-box ${e}`:"collapse-box",ref:n,children:t}),p?o(x,{variant:"ghost",size:"sm",class:"more-toggle","aria-expanded":l,onClick:()=>u(!l),children:l?"Show less":"Show more"}):null]})}var S=/`([^`\n]+)`|\*\*(.+?)\*\*|__(.+?)__|\*(\S(?:.*?\S)?)\*|(?<!\w)_(\S(?:.*?\S)?)_(?!\w)|\[([^\]\n]+)\]\(([^)\s]+)\)/g,_=/^(?:https?:|mailto:)/i,$=/^\s*(```|~~~)/,w=/^(#{1,6})\s+(.*?)(?:\s+#+)?\s*$/,E=/^\s*(?:([-*+])|\d+[.)])\s+(.*)$/,I=/^\s*(?:#{1,6}\s|```|~~~|[-*+]\s|\d+[.)]\s)/;function d(c){let e=[],t=0;for(let n of c.matchAll(S)){let[p,h,l,u,s,i,r,a]=n;n.index>t&&e.push(c.slice(t,n.index)),h?e.push(o("code",{children:h})):l||u?e.push(o("strong",{children:d(l||u)})):s||i?e.push(o("em",{children:d(s||i)})):_.test(a)?e.push(o("a",{class:"link",href:a,target:"_blank",rel:"noopener noreferrer",children:d(r)})):e.push(...d(r)),t=n.index+p.length}return t<c.length&&e.push(c.slice(t)),e}function k(c){let e=c.split(/\r?\n/),t=[];for(let n=0;n<e.length;){let p=e[n],h=$.exec(p),l=w.exec(p),u=E.exec(p);if(h){let s=e.findIndex((r,a)=>a>n&&r.trim().startsWith(h[1])),i=s<0?e.length:s;t.push(o("pre",{children:o("code",{children:e.slice(n+1,i).join(`
2
- `)})})),n=i+1}else if(l)t.push(g(`h${Math.min(l[1].length+2,6)}`,null,d(l[2]))),n++;else if(u){let s=!u[1],i=[];for(let r;(r=E.exec(e[n]??""))&&!r[1]===s;n++)i.push(o("li",{children:d(r[2])}));t.push(s?o("ol",{children:i}):o("ul",{children:i}))}else if(!p.trim())n++;else{let s=[];for(;e[n]?.trim()&&(!s.length||!I.test(e[n]));n++)s.length&&s.push(o("br",{})),s.push(...d(e[n]));t.push(o("p",{children:s}))}}return t}function G({text:c}){return o(v,{class:"body md",children:k(c)})}export{v as a,k as b,G as c};
@@ -1 +0,0 @@
1
- "use client";import{b as a,c as b}from"./instructions-a08bb02650dedb8d.js";import"./shared-init-03e620f936463465.js";import"./shared-init-e8b9eb1e537215ed-2.js";export{b as Instructions,a as markdown};
@@ -1 +0,0 @@
1
- import{a as h}from"./confirm-1cb4d8df3974f34a.js";import{a as v}from"./action-977f2355e308d7d0.js";import{$2k as g}from"./shared-init-02aaa49ed4606a76.js";import{$0a as y,$0k as C}from"./shared-init-02aaa49ed4606a76.js";import{$0c as f}from"./shared-init-03e620f936463465.js";import{$1L as b,$1a as o,$1b as d,$1y as p}from"./shared-init-03e620f936463465.js";import{$2h as u,$2l as c}from"./shared-init-e8b9eb1e537215ed-2.js";function R(n,r){if(!r||typeof r!="object"||Array.isArray(r))return r;let t=n&&typeof n=="object"&&!Array.isArray(n)?{...n}:{};for(let[e,i]of Object.entries(r))i===null?delete t[e]:t[e]=R(t[e],i);return t}function L(n){let[r,t]=u(n),e=c(0),i=c(n);return{value:r,patch:s=>{let m=++e.current;return t(a=>R(a,s)),f.config.patch(s).then(a=>(i.current=a,m===e.current&&t(a),!0),a=>(m===e.current&&(t(i.current),v(a)),!1))}}}var q=["low","medium","high"],N=["read-only","workspace-write","auto"];function V({fields:n,onAdd:r}){return o("form",{class:"add-row",method:"post",onSubmit:async t=>{t.preventDefault();let e=t.currentTarget,i=Object.fromEntries([...new FormData(e)].map(([l,s])=>[l,String(s).trim()]));Object.values(i).some(l=>!l)||await r(i)&&e.reset()},children:[n.map(([t,e])=>o("input",{name:t,placeholder:e,"aria-label":e,autocomplete:"off"},t)),o(b,{type:"submit",children:"Add"})]})}function A(n){let[r,t]=u(!1),[e,i]=u(!1);if(!n)return{};let{title:l,body:s,label:m="Remove",onRemove:a}=n;return{item:o(g,{title:m,danger:!0,onClick:()=>t(!0)}),dialog:r?o(h,{open:!0,title:l,body:s,confirmLabel:m,busy:e,onClose:()=>t(!1),onConfirm:()=>{i(!0),a().finally(()=>{i(!1),t(!1)})}}):null}}function z({title:n,badges:r,sub:t,actions:e,menu:i,remove:l}){let s=A(l);return o("tr",{children:[o("td",{children:[o("span",{class:"row-title",children:[o("b",{children:n}),r]}),t?o("span",{class:"sub mono",children:t}):null]}),o("td",{class:"acts",children:[e,i||s.item?o(C,{button:"icon",label:"Actions",summary:o(d,{d:p}),children:[i,s.item]}):null,s.dialog]})]})}function G({title:n,count:r,children:t,add:e}){return o(y,{title:n,count:r,children:[o("div",{class:"table-scroll",children:o("table",{class:"rows settings",children:o("tbody",{children:t})})}),e]})}export{L as a,q as b,N as c,V as d,A as e,z as f,G as g};
@@ -1 +0,0 @@
1
- var o=["claude","codex","custom"],n={claude:"Claude",codex:"Codex",custom:"Custom"};function a(e){let t=Object.entries(e.models).filter(([,r])=>!r.disabled);return Object.fromEntries(o.map(r=>[r,[...Object.keys(e.builtin[r]??{}).filter(s=>!e.models[s]?.disabled),...t.filter(([,s])=>r==="custom"?s.baseUrl:s.provider===r).map(([s])=>s)]]))}var l=e=>`Default (${e||"engine's own"})`;function d(e,t){return[["",t],...o.filter(r=>e[r]?.length).flatMap(r=>[[`${r}:`,"Its default model"],...e[r].map(s=>[`${r}:${s}`,s])])]}var p=(e,t)=>e||t?`${e??""}:${t??""}`:"";function c(e){let t=e.indexOf(":");return t<0?{engine:"",model:""}:{engine:e.slice(0,t),model:e.slice(t+1)}}var g=e=>Object.fromEntries(o.filter(t=>e[t]?.length).map(t=>[`${t}:`,n[t]])),m=[{id:"openrouter",name:"OpenRouter",baseUrl:"https://openrouter.ai/api/v1",envKey:"OPENROUTER_API_KEY",keyUrl:"https://openrouter.ai/keys",needsKey:!0},{id:"vercel",name:"Vercel AI Gateway",baseUrl:"https://ai-gateway.vercel.sh/v1",envKey:"AI_GATEWAY_API_KEY",keyUrl:"https://vercel.com/d?to=%2F%5Bteam%5D%2F~%2Fai-gateway%2Fapi-keys&title=AI+Gateway+API+Keys",needsKey:!0},{id:"groq",name:"Groq",baseUrl:"https://api.groq.com/openai/v1",envKey:"GROQ_API_KEY",keyUrl:"https://console.groq.com/keys",needsKey:!0},{id:"together",name:"Together AI",baseUrl:"https://api.together.xyz/v1",envKey:"TOGETHER_API_KEY",keyUrl:"https://api.together.ai/settings/api-keys",needsKey:!0},{id:"ollama",name:"Ollama",baseUrl:"http://localhost:11434/v1",envKey:"",needsKey:!1},{id:"other",name:"Other",baseUrl:"",envKey:"",needsKey:!0}];export{o as a,n as b,a as c,l as d,d as e,p as f,c as g,g as h,m as i};
@@ -1 +0,0 @@
1
- "use client";import{a as X}from"./combo-126d5709a0b3a5bd.js";import{a as $,b as z,d as V,i as Y}from"./model-options-3a57918eaa4a2a82.js";import{a as Z,f as J,g as W}from"./list-a0cc9bdb05fc71d4.js";import"./confirm-1cb4d8df3974f34a.js";import{a as u}from"./field-657227821326b5b3.js";import{b as G}from"./action-977f2355e308d7d0.js";import{g as x}from"./format-b19b8eec331414f4.js";import"./shared-init-02aaa49ed4606a76.js";import"./shared-init-02aaa49ed4606a76.js";import{$2k as q,$2x as T}from"./shared-init-02aaa49ed4606a76.js";import{$0b as D,$0d as H,$0p as B}from"./shared-init-02aaa49ed4606a76.js";import"./wular-pnext-e8b9eb1e537215ed-0.js";import{$0c as P}from"./shared-init-03e620f936463465.js";import{$1L as I,$1a as e}from"./shared-init-03e620f936463465.js";import"./shared-init-e8b9eb1e537215ed-2.js";import{$2c as K,$2h as i,$2l as _}from"./shared-init-e8b9eb1e537215ed-2.js";import"./shared-init-e8b9eb1e537215ed-2.js";var ne=[["custom","Custom endpoint"],["claude","Claude"],["codex","Codex"]],le={claude:"sonnet",codex:"sol"},se=[["low","Low"],["medium","Medium"],["high","High"]],ae=[["personal","Just me"],["workspace","Workspace"]],L=Y,Q={id:"other",name:"Other",baseUrl:"",envKey:"",needsKey:!0},ee=h=>h.split("/").pop().toLowerCase().replace(/[^a-z0-9]+/g,"-").replace(/^-+|-+$/g,""),re=(h,m)=>h.find(C=>!(C in m));function ie({builtin:h,credentials:m,admin:C,taken:U,efforts:p,onAdd:a}){let[b,v]=i("custom"),f=b==="custom"?"custom":"alias",d=e(u,{label:"Engine",group:!0,children:e(T,{label:"Engine",options:ne,value:b,onChange:v})}),[y,g]=i(""),[w,A]=i(!1),[S,o]=i(0),t=h[b]??{},n=t[le[b]]??Object.values(t)[0];return e(D,{title:"Add a model",note:"A short name for an engine model, or an OpenAI-compatible endpoint",children:e("form",{class:"add-form",method:"post",onSubmit:async c=>{c.preventDefault();let E=c.currentTarget,l=Object.fromEntries([...new FormData(E)].map(([R,O])=>[R,String(O).trim()]));if(f==="custom"&&!l.name&&(l.name=ee(l.model??"")),!l.name||!l.model||f==="custom"&&!l.baseUrl)return;A(!0);let k=f==="alias"?await a(()=>P.models.alias(l.name,[b,l.model,y].filter(Boolean).join(":"))):await a(async()=>{let R=l.envKey||"OPENAI_API_KEY";return l.key&&await P.credentials.add({env:{[R]:l.key},engine:"custom",label:L.find(O=>O.id===l.provider)?.name,workspace:l.scope==="workspace"}),P.models.add({name:l.name,baseUrl:l.baseUrl,model:l.model,envKey:R})});A(!1),k&&(E.reset(),o(S+1))},children:f==="alias"?e("div",{class:"add-grid",children:[d,e(u,{label:"Name",children:e("input",{name:"name",placeholder:re(["fast","deep","quick"],U),autocomplete:"off",pattern:"[a-z0-9][a-z0-9\\-]*"})}),e(u,{label:"Model id",children:e("input",{name:"model",placeholder:n??"model id",autocomplete:"off"})}),e(u,{label:"Effort",hint:"optional",group:!0,children:e(T,{label:"Effort",options:[["",V(p[b])],...se],value:y,onChange:g})}),e(I,{type:"submit",loading:w,children:"Add"})]}):e(de,{engine:d,credentials:m,admin:C,taken:U,busy:w},S)})})}function de({engine:h,credentials:m,admin:C,taken:U,busy:p}){let[a,b]=i(L[0]??Q),[v,f]=i(a.baseUrl),[d,y]=i(a.envKey),[g,w]=i(""),[A,S]=i("personal"),[o,t]=i(null),n=_(0),[c,E]=i(""),l=s=>!!s&&!!m?.some(r=>r.env.includes(s)),[k,R]=i(!1),O=_(),j=(s,r,M)=>{let te=++n.current;if(!s.trim())return t(null);R(!0),P.models.probe({baseUrl:s.trim(),...r.trim()?{envKey:r.trim()}:{},...M.trim()?{key:M.trim()}:{}}).catch(F=>({reachable:!1,modelListed:null,models:null,detail:x(F)})).then(F=>{te===n.current&&(R(!1),t(F.models?{...F,models:[...F.models].sort()}:F))})},N=(s,r,M)=>{clearTimeout(O.current),O.current=setTimeout(()=>j(s,r,M),250)},oe=o?o.reachable?o.models?`${o.models.length} listed`:"reachable, no model list":/HTTP 40[13]/.test(o.detail)?"key rejected":o.detail:void 0;return e(K,{children:[e("div",{class:"add-grid",children:[h,e(u,{label:"Provider",group:!0,children:e(T,{label:"Provider",name:"provider",options:L.map(s=>[s.id,s.name]),value:a.id,onChange:s=>{let r=L.find(M=>M.id===s)??Q;b(r),f(r.baseUrl),y(r.envKey),t(null),(g.trim()||l(r.envKey)||!r.needsKey)&&j(r.baseUrl,r.envKey,g)}})}),e(u,{label:"Model name",hint:"optional",children:e("input",{name:"name",placeholder:ee(c)||"short name like kimi",autocomplete:"off",pattern:"[a-z0-9][a-z0-9\\-]*"})})]}),e("div",{class:"add-grid",children:[a.needsKey&&m?e(u,{label:"API key",hint:e(K,{children:[l(d)?`optional, your saved ${d}`:`saved as ${d}`,a.keyUrl?e(K,{children:[", ",e("a",{class:"link",href:a.keyUrl,target:"_blank",rel:"noopener noreferrer",children:"get a key"})]}):null]}),children:e("input",{name:"key",type:"password",autocomplete:"off",placeholder:l(d)?"Optional":`${a.name} API key`,value:g,onInput:s=>{w(s.currentTarget.value),N(v,d,s.currentTarget.value)}})}):null,e(u,{label:"Model id",group:!0,hint:k?e(H,{label:"Fetching models",inline:!0,dots:!0}):oe,children:e(X,{label:"Model id",onOpen:()=>{!o&&!k&&j(v,d,g)},name:"model",options:o?.models??[],placeholder:o?.models?.[0]??"qwen3-coder",value:c,onChange:E})}),a.needsKey&&m&&C?e(u,{label:"Scope",group:!0,children:e(T,{label:"Scope",name:"scope",options:ae,value:A,onChange:S})}):null]}),e("div",{class:"add-foot",children:[e("details",{class:"add-more",open:a.id==="other"||void 0,children:[e("summary",{children:"Advanced"}),e("div",{class:"add-grid",children:[e(u,{label:"Base URL",children:e("input",{name:"baseUrl",type:"url",placeholder:"http://localhost:11434/v1",autocomplete:"off",value:v,onInput:s=>{f(s.currentTarget.value),N(s.currentTarget.value,d,g)}})}),e(u,{label:"Key variable",children:e("input",{name:"envKey",class:"mono",placeholder:"OPENAI_API_KEY",autocomplete:"off",pattern:"[A-Za-z_][A-Za-z0-9_]*",value:d,onInput:s=>y(s.currentTarget.value)})})]})]}),e(I,{type:"submit",loading:p,children:"Add model"})]})]})}function Pe({first:h,config:m,credentials:C,admin:U}){let[p,a]=i(h),b=G(),v=Z(m.config),f=o=>b.run("send",async()=>{let t=await o();a(n=>({...n,models:t.models??{}}))}),d=o=>v.value.engines?.[o]?.model??m.effective.engines?.[o]?.model,y=o=>p.models[o]?.disabled===!0,g=v.value.chain??m.effective.chain??$,w=Object.entries(p.models).filter(([,o])=>o.provider||o.baseUrl),A=[...Object.entries(p.builtin).flatMap(([o,t])=>Object.entries(t).filter(([n])=>!w.some(([c])=>c===n)).map(([n,c])=>({name:n,engine:o,target:c,entry:p.models[n],removable:!1}))),...w.map(([o,t])=>({name:o,engine:t.provider??"custom",target:t.baseUrl?`${t.model} \xB7 ${t.baseUrl}`:`${t.model}${t.effort?` \xB7 ${t.effort}`:""}`,entry:t,removable:!0}))],S=[...new Set([...g,...$])].map(o=>[o,A.filter(t=>t.engine===o)]).filter(([,o])=>o.length);return e(K,{children:[e(ie,{builtin:p.builtin,credentials:C,admin:U,taken:{...p.models,...Object.assign({},...Object.values(p.builtin))},efforts:Object.fromEntries($.map(o=>[o,v.value.engines?.[o]?.effort??m.effective.engines?.[o]?.effort])),onAdd:f}),S.map(([o,t])=>e(W,{title:z[o]??o,count:t.length,children:t.map(({name:n,target:c,entry:E,removable:l})=>{let k=[n,c].includes(d(o)??"");return e(J,{title:n,badges:e(K,{children:[k&&g[0]===o?e(B,{tone:"acc",children:"default for new tasks"}):null,k&&g[0]!==o?e(B,{children:["default for ",z[o]??o]}):null,E?.disabled?e(B,{children:"off"}):null]}),sub:c===n?void 0:`\u2192 ${c}`,actions:k||E?.disabled?null:e(I,{variant:"ghost",size:"sm",onClick:()=>void v.patch({engines:{[o]:{model:n}}}),children:"Make default"}),menu:e(q,{title:y(n)?"Enable":"Disable",onClick:()=>void f(()=>P.models[y(n)?"enable":"disable"](n))}),remove:l?{title:`Remove ${n}?`,body:"Tasks that ask for it stop running.",onRemove:()=>f(()=>P.models.remove(n))}:void 0},n)})},o))]})}export{Pe as ModelsList};
@@ -1 +0,0 @@
1
- "use client";import{$3a as u}from"./shared-init-02aaa49ed4606a76.js";import{$1E as p,$1L as m,$1a as t,$1u as c}from"./shared-init-03e620f936463465.js";import{$2c as s,$2e as a}from"./shared-init-e8b9eb1e537215ed-2.js";function A({ok:o,title:e,text:n,issues:r,cancel:h="Close",children:d}){let i=a(d),l=!o&&r?t(m,{variant:"outline",href:`${r}?${new URLSearchParams({title:e,body:n})}`,external:!0,children:"Report issue"}):null;return t(u,{class:"outcome-dialog",tone:o?"success":"error",title:e,icon:o?c:p,cancel:h,actions:l||i.length?t(s,{children:[l,i]}):void 0,onClose:()=>history.replaceState(history.state,"",location.pathname),children:t("p",{role:"status",children:n})})}export{A as OutcomeDialog};
@@ -1 +0,0 @@
1
- import{a as I,b as M}from"./copy-c938369a1bfe75fd.js";import{a as ce}from"./segmented-24da438244eedc8f.js";import{a as le}from"./confirm-1cb4d8df3974f34a.js";import{a as P}from"./field-657227821326b5b3.js";import{b as w}from"./action-977f2355e308d7d0.js";import{g as $}from"./format-b19b8eec331414f4.js";import{$3a as B}from"./shared-init-02aaa49ed4606a76.js";import{$1c as re,$1d as A}from"./shared-init-02aaa49ed4606a76.js";import{$2a as F,$2k as S}from"./shared-init-02aaa49ed4606a76.js";import{$0k as ae,$0p as ie}from"./shared-init-02aaa49ed4606a76.js";import{$0c as h}from"./shared-init-03e620f936463465.js";import{$1B as oe,$1E as se,$1L as b,$1a as e,$1b as J,$1j as K,$1p as V,$1q as Y,$1t as Z,$1w as ee,$1y as te,$1z as ne}from"./shared-init-03e620f936463465.js";import{$2c as v,$2h as k,$2j as x,$2l as X}from"./shared-init-e8b9eb1e537215ed-2.js";var H={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."}},pe=(o,t,n={})=>t().then(({tx:i})=>h.apps.finish(o,{...n,tx:i})).then(({url:i})=>location.assign(i)),W=o=>o.split(/\*\*(.+?)\*\*/).map((t,n)=>n%2?e("span",{class:"ui-name",children:t},n):t);function de({url:o,fields:t}){let n=Object.assign(document.createElement("form"),{method:"post",action:o});for(let[i,l]of Object.entries(t))n.append(Object.assign(document.createElement("input"),{type:"hidden",name:i,value:l}));document.body.append(n),n.submit()}var we=(o,t,n)=>o&&!t.public?Promise.resolve(o):n().then(({post:i,create:l})=>i?void de(i):l??o),ue=(o,t="",n=!1)=>({...Object.fromEntries(new URL(o,location.href).searchParams),...t?{owner:t}:{},...n?{public:"1"}:{}});function me(){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 he(){let o=w({toast:"Not installed",leaves:!0}),t=n=>void o.run("install",async()=>{location.href=(await h.apps.install(n,location.pathname)).url});return{busy:!!o.pending,install:t}}function _e({app:o,label:t}){let{busy:n,install:i}=he();return e(b,{loading:n,onClick:()=>i(o),children:t})}function $e({app:o,name:t,onClose:n}){let i=w({toast:"Not removed",refresh:!0,leaves:!0}),l=()=>void i.run("remove",async()=>{await h.apps.remove(o.id),history.replaceState(history.state,"",location.pathname)});return e(le,{open:!0,title:`Remove ${o.name}?`,body:e(v,{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(v,{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:n})}function Se({integration:o,step:t,start:n,unreachable:i,onClose:l}){let c=w({leaves:!0}),u=!!c.pending,d=a=>{a.preventDefault();let r=a.currentTarget;c.run("create",()=>pe(o,n,{...t.hidden,...Object.fromEntries(new FormData(r))}))};return e(B,{class:"create-dialog",title:t.submit,dismiss:!0,busy:u,onSubmit:d,onClose:l,actions:e(b,{type:"submit",rightIcon:oe,loading:u,children:t.submit}),children:[i?e(me,{}):null,e("p",{class:"muted",children:t.intro}),e("div",{class:"create-link",children:[e(b,{variant:"secondary",class:"create-open",href:t.link,external:!0,children:["Open ",new URL(t.link).host]}),e(I,{value:t.link,label:"Copy link"})]}),e("ol",{class:"create-steps",children:t.steps.map(({text:a,link:r,copy:g=[]})=>e("li",{children:[e("p",{children:W(a)}),r&&r!==t.link?e("div",{class:"create-link",children:[e("a",{href:r,target:"_blank",rel:"noreferrer",children:r.replace(/^https:\/\//,"")}),e(I,{value:r,label:"Copy link"})]}):null,g.map(m=>e(M,{value:m,label:"Copy"},m))]},a))}),t.notes?.length?e("details",{class:"create-more",children:[e("summary",{children:"Advanced"}),e("ul",{children:t.notes.map(a=>e("li",{children:W(a)},a))})]}):null,t.fields.map(a=>e(P,{label:a.label,hint:a.hint??(a.required?void 0:"optional"),children:e("input",{name:a.name,placeholder:a.placeholder,required:a.required,autocomplete:"off",spellcheck:!1})},a.name))]})}function Ae({integration:o,name:t,publicApps:n,organizationApps:i,unreachable:l,onSubmit:c,onClose:u}){let[d,a]=k("private"),r=w({leaves:!0}),g=!!r.pending,m=X(null);x(()=>{i&&h.installations.list(void 0,{limit:200,active:!0}).then(f=>{let[y]=f.map(C=>C.value).filter(C=>C.integration===o&&C.account.type&&C.account.type!=="User").map(C=>C.account.login).sort();y&&m.current&&!m.current.value&&(m.current.value=y)}).catch(f=>console.error("coder dashboard: installations",f))},[]);let R=f=>{f.preventDefault();let y=new FormData(f.currentTarget);r.run("submit",()=>c(String(y.get("owner")??"").trim(),d==="public"))};return e(B,{class:"create-dialog",title:`Create ${t} app`,dismiss:!0,busy:g,onSubmit:R,onClose:u,actions:e(b,{type:"submit",rightIcon:V,loading:g,children:["Continue to ",t]}),children:[l?e(me,{}):null,n?e(P,{label:"Who can install it",group:!0,children:[e(ce,{label:"Who can install it",options:Object.entries(H).map(([f,{text:y}])=>[f,y]),value:d,onChange:f=>a(f),disabled:g}),e("small",{class:"where-note",children:H[d].note(t)})]}):null,i?e(P,{label:"Owner",hint:H[d].owner,children:e("input",{ref:m,name:"owner",placeholder:"your-org",autocomplete:"off",spellcheck:!1})}):null]})}function ge({app:o,name:t,check:n,onClose:i}){let l=w({toast:`${t} app not updated`,leaves:!0}),c=!!l.pending,u=!n.changed,d=a=>{let r=a.currentTarget.closest("dialog");l.run("confirm",async()=>{await h.apps.update(o.id),r.close()})};return e(B,{class:"create-dialog",title:`Update ${o.name} on ${t}`,busy:c,cancel:u?"Close":"Cancel",onClose:i,actions:u&&!n.confirm?null:e(v,{children:[n.confirm&&!u?e(b,{variant:"secondary",loading:c,onClick:d,children:"I updated it"}):null,e(b,{href:n.url,external:!0,children:n.label})]}),children:n.confirm?e(v,{children:[e("p",{class:"muted",children:u?`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:n.lines.map(({text:a,copy:r,changed:g})=>e("li",{children:[e("p",{children:[a," ",g?e(ie,{tone:"warn",children:"changed"}):null]}),r?e(M,{value:r,label:"Copy"}):null]},`${a} ${r}`))})]}):u?e("p",{children:["Up to date on ",t,"."]}):e(v,{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:n.lines.map(({text:a,copy:r})=>e("li",{children:[e("p",{children:W(a)}),r?e(M,{value:r,label:"Copy"}):null]},a))})]})})}function Ge({apps:o}){let t=F(),[n,i]=k(o),[l,c]=k(),u=n[0],d=a=>{i(a),c(void 0);let[r]=a;if(!r){history.replaceState(history.state,"",location.pathname),t.refresh();return}h.apps.drift(r.id).then(c).catch(g=>{A(`Not read from ${r.platform}`,$(g)),d(a.slice(1))})};return x(()=>d(o),[]),u&&l?e(ge,{app:u,name:u.platform,check:l,onClose:()=>d(n.slice(1))}):null}function Be({name:o,issues:t,title:n=`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}){let c=u=>{u.currentTarget.closest("dialog").close(),l()};return e(B,{class:"outcome-dialog",tone:"error",title:n,icon:se,cancel:"Close",focus:"actions",onClose:()=>history.replaceState(history.state,"",location.pathname),actions:e(v,{children:[t?e(b,{variant:"outline",href:`${t}?${new URLSearchParams({title:n,body:i})}`,external:!0,children:"Report issue"}):null,e(b,{autofocus:!0,onClick:c,children:"Try again"})]}),children:e("p",{children:i})})}function Qe({integration:o,name:t,apps:n,installed:i,createUrl:l,create:c,unreachable:u,publicApps:d=!1,organizationApps:a=!1,shared:r=!1,appUpdate:g,failed:m}){let R=F(),{busy:f,install:y}=he(),[C,T]=k(!1),[E,N]=k(),[fe,U]=k(!1),[O,j]=k(),[D,q]=k(),be=d||a,ye=s=>(T(!0),h.apps.create(o,s).then(({post:p})=>p&&de(p)).catch(p=>{throw T(!1),p})),Ce=s=>(T(!0),pe(o,()=>h.apps.create(o,s),c.hidden).catch(p=>{throw T(!1),p})),z=s=>c?c.fields.length?we(c,s,()=>h.apps.create(o,s)).then(p=>{p&&(N({state:s,step:p}),U(!1))}):Ce(s):ye(s),L=()=>be?U(!0):void z(ue(l)).catch(s=>A("App not created",$(s))),_=E?e(Se,{integration:o,step:E.step,start:()=>h.apps.create(o,E.state),unreachable:u,onClose:()=>N(void 0)}):null,G=fe?e(Ae,{integration:o,name:t,publicApps:d,organizationApps:a,unreachable:u,onSubmit:(s,p)=>z(ue(l,s,p)),onClose:()=>U(!1)}):null,ve=s=>g==="push"?void h.apps.update(s.id).then(()=>{re(`${t} app updated`,`${s.name} now matches the agent.`,"success"),R.refresh()}).catch(p=>A(`${t} app not updated`,$(p))):void h.apps.drift(s.id).then(p=>q({app:s,check:p})).catch(p=>A(`Not read from ${t}`,$(p))),ke=O&&n.some(s=>s.id===O.id)?e($e,{app:O,name:t,onClose:()=>j(void 0)}):null,Q=m?e(Be,{name:m.name,issues:m.issues,title:m.title,text:m.text,onRetry:()=>n.some(s=>s.id===m.app)?y(m.app):L()}):null;return n.length?e(v,{children:[e("span",{class:"split",children:[i?null:e(b,{size:"sm",loading:f,onClick:()=>y(n[0].id),children:"Install"}),e(ae,{button:i?"icon":{size:"sm",class:"split-more"},label:`More for ${o}`,wide:!0,summary:e(J,{d:i?te:K}),children:[n.map(s=>{if(!i&&s===n[0])return null;let p=n.length>1?` ${s.name}`:"";return e(S,{icon:ne,title:`Install${p}`,sub:`On its owner's account, or any account if it is public on ${t}.`,onClick:()=>y(s.id)},s.id)}),r?null:e(S,{icon:Y,onClick:L,title:`Create another ${t} app`,sub:"A separate app with its own name."}),r||!g?null:n.map(s=>e(S,{icon:ee,title:n.length>1?`Update ${s.name} on ${t}`:`Update on ${t}`,sub:s.changed?"Changed since last update":void 0,onClick:()=>ve(s)},`update ${s.id}`)),r?null:n.map(s=>e(S,{icon:Z,title:`Remove ${s.name}`,danger:!0,onClick:()=>j(s)},`remove ${s.id}`))]})]}),_,G,ke,Q,D?e(ge,{app:D.app,name:t,check:D.check,onClose:()=>{q(void 0),R.refresh()}}):null]}):e(v,{children:[e(b,{size:"sm",loading:C,onClick:L,children:c&&!c.fields.length?c.submit:"Create app"}),_,G,Q]})}export{de as a,we as b,_e as c,Se as d,Ge as e,Qe as f};
@@ -1 +0,0 @@
1
- "use client";import{a,b,c,d,e,f}from"./platform-actions-40824017c7b5b910.js";import"./copy-c938369a1bfe75fd.js";import"./segmented-24da438244eedc8f.js";import"./confirm-1cb4d8df3974f34a.js";import"./field-657227821326b5b3.js";import"./action-977f2355e308d7d0.js";import"./format-b19b8eec331414f4.js";import"./shared-init-02aaa49ed4606a76.js";import"./shared-init-02aaa49ed4606a76.js";import"./shared-init-02aaa49ed4606a76.js";import"./shared-init-02aaa49ed4606a76.js";import"./wular-pnext-e8b9eb1e537215ed-0.js";import"./shared-init-03e620f936463465.js";import"./shared-init-03e620f936463465.js";import"./shared-init-e8b9eb1e537215ed-2.js";import"./shared-init-e8b9eb1e537215ed-2.js";import"./shared-init-e8b9eb1e537215ed-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
- "use client";import{b as C}from"./copy-c938369a1bfe75fd.js";import{$1e as Z}from"./shared-init-6f8c76316a2cd9da.js";import"./defaults-dcc0eccad4e8585b.js";import"./shared-init-6f8c76316a2cd9da.js";import"./model-options-3a57918eaa4a2a82.js";import{e as nn}from"./list-a0cc9bdb05fc71d4.js";import"./confirm-1cb4d8df3974f34a.js";import{a as F}from"./field-657227821326b5b3.js";import{a as Y,b as $}from"./action-977f2355e308d7d0.js";import{d as I}from"./format-b19b8eec331414f4.js";import"./shared-init-02aaa49ed4606a76.js";import{$1g as X}from"./shared-init-02aaa49ed4606a76.js";import{$2k as L,$2m as Q,$2x as O}from"./shared-init-02aaa49ed4606a76.js";import{$0a as V,$0d as D,$0k as E,$0p as A}from"./shared-init-02aaa49ed4606a76.js";import"./wular-pnext-e8b9eb1e537215ed-0.js";import{$0c as d}from"./shared-init-03e620f936463465.js";import{$1F as U,$1I as S,$1L as T,$1a as n,$1b as v,$1j as W,$1n as z,$1q as H,$1r as q,$1y as G,$1z as J}from"./shared-init-03e620f936463465.js";import"./shared-init-e8b9eb1e537215ed-2.js";import{$2c as y,$2h as u,$2j as P,$2l as x}from"./shared-init-e8b9eb1e537215ed-2.js";import"./shared-init-e8b9eb1e537215ed-2.js";var K={local:z,"local-docker":U,"vercel-sandbox":H,"github-actions":q,http:S},ln=new Set(["default","local"]),en=[["personal","Just me"],["workspace","Workspace"]],un=new Set(["owner","admin"]),dn=t=>Date.now()-t<6e4?"just now":`${I(Date.now()-t).replace(/\.\d/,"")} ago`;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 ${I(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 ${dn(t.lastSeen)}`:"Not seen yet"]})}function mn({runner:t,manage:o,onChange:r}){let[l,b]=u(!1),[p,i]=u(!1),[c,a]=u(),m=x(null);P(()=>m.current?.select(),[p]);let R=ln.has(t.id),k=nn(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),Y(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 w=f.currentTarget.value.trim();f.key==="Escape"&&i(!1),f.key==="Enter"&&w&&r(()=>d.runners.update(t.id,{name:w})).then(()=>i(!1))},onBlur:()=>i(!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:G}),children:[n(L,{title:"Test",onClick:h}),o&&!R?n(L,{title:"Rename",onClick:()=>i(!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(D,{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,i]=u(),[c,a]=u(r?"personal":"workspace"),m=$(),R=!!m.pending,[k,h]=u(),[f,w]=u(l),N=!!k&&l.some(e=>!f.includes(e)),_=N?void 0:p,g=N?void 0:k,s=t.find(e=>e.kind===_);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),i(void 0)},tn=e=>{h(void 0),i(e.kind),e.connect==="pair"&&(w(l),m.run("pair",async()=>h(await d.runners.pair({scope:c}))).then(B=>B||i(void 0)))};return n("form",{class:"runner-add",method:"post",onSubmit:async e=>{if(e.preventDefault(),!s||R)return;let B=Object.fromEntries([...new FormData(e.currentTarget)].map(([M,sn])=>[M,String(sn).trim()])),{name:on,...an}=B;await m.run("add",async()=>{await d.runners.add({kind:s.kind,name:on||s.name,scope:c,config:Object.fromEntries(Object.entries(an).filter(([,M])=>M))}),b(await d.runners.list()),i(void 0)})},children:[n("div",{class:"runner-pick",children:[n(E,{button:{variant:"secondary"},label:"Runner kind",align:"left",wide:!0,summary:n(y,{children:[n(v,{d:s?K[s.kind]:J}),s?s.name:"Add a runner",n(v,{d:W})]}),children:t.filter(e=>e.available).map(e=>n(Q,{on:e.kind===_,onPick:()=>tn(e),icon:K[e.kind]??S,sub:e.available?e.description:e.reason,children:e.name},e.kind))}),s?.connect==="fields"?n(y,{children:[s.help?n("p",{class:"muted runner-help",children:s.help}):null,n("div",{class:"add-grid",children:[n(F,{label:"Name",hint:"shown in the list",children:n("input",{name:"name",placeholder:s.name,autocomplete:"off"})}),s.fields.map(e=>n(F,{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"})},`${s.kind}:${e.key}`))]})]}):null,s?.connect==="fields"?n("div",{class:"runner-foot",children:[r?n(O,{label:"Who can use this runner",options:en,value:o?c:"personal",onChange:a,disabled:!o}):null,n(T,{type:"submit",loading:R,children:"Add runner"})]}):n(y,{children:[s&&r?n(O,{label:"Who can use this runner",options:en,value:o?c:"personal",onChange:a,disabled:!o||!!g}):null,R&&!g?n(D,{label:"Pairing",inline:!0}):null]})]}),g?n(pn,{pairing:g,onCancel:j}):null]})}function Fn({first:t,me:o}){let[r,l]=u(t),b=$(),p=!o.user||un.has(o.organization?.role??""),i=Z(r.items);X(({items:a})=>l(m=>({...m,items:a})));let c=a=>b.run("change",async()=>{await a(),l(await d.runners.list())});return n(V,{title:"Runners",count:i.length,children:[n("div",{class:"table-scroll",children:n("table",{class:"rows settings",children:n("tbody",{children:i.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:i.map(a=>a.id),onAdded:l})]})}export{Fn as RunnersList};
@@ -1 +0,0 @@
1
- "use client";import{f as w}from"./list-a0cc9bdb05fc71d4.js";import"./confirm-1cb4d8df3974f34a.js";import{a as B,b as E}from"./action-977f2355e308d7d0.js";import"./format-b19b8eec331414f4.js";import"./shared-init-02aaa49ed4606a76.js";import"./shared-init-02aaa49ed4606a76.js";import{$2x as A}from"./shared-init-02aaa49ed4606a76.js";import{$0a as T,$0p as l}from"./shared-init-02aaa49ed4606a76.js";import"./wular-pnext-e8b9eb1e537215ed-0.js";import{$0c as i}from"./shared-init-03e620f936463465.js";import{$1L as R,$1N as C,$1a as t,$1z as S}from"./shared-init-03e620f936463465.js";import"./shared-init-e8b9eb1e537215ed-2.js";import{$2c as h,$2h as a}from"./shared-init-e8b9eb1e537215ed-2.js";import"./shared-init-e8b9eb1e537215ed-2.js";var z=[["me","Just me"],["","Workspace"]];function V({first:D,local:d,admin:m}){let[s,u]=a(D),[I,p]=a(!1),[f,P]=a(m||d?"":"me"),[_,v]=a(""),r=E(),g=!!r.pending,b=I||!s.length,k=e=>u(n=>n.some(o=>o.id===e.id)?n.map(o=>o.id===e.id?e:o):[...n,e]);return t(T,{title:"Task secrets",count:s.length||void 0,actions:b?null:t(C,{icon:S,label:"Add a task secret",onClick:()=>p(!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(w,{title:e.env??e.name,badges:t(h,{children:[t(l,{children:e.owner?e.mine?"personal":"member":"workspace"}),e.status==="ok"?null:t(l,{tone:"warn",children:"needs a new value"})]}),actions:_===e.id?t("form",{class:"cred-add",method:"post",onSubmit:n=>{n.preventDefault();let o=String(new FormData(n.currentTarget).get("key")??"");o.trim()&&r.run("renew",async()=>{k(await i.connections.update(e.id,{key:o.trim()})),v("")})},children:[t("input",{name:"key",type:"password","aria-label":`New value for ${e.env??e.name}`,placeholder:"New value, then Enter",autocomplete:"off","aria-busy":g,ref:n=>n?.focus()}),t("button",{hidden:!0})]}):t(R,{variant:"ghost",size:"sm",onClick:()=>v(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:()=>i.connections.remove(e.id).then(()=>u(n=>n.filter(o=>o.id!==e.id)),B)}},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),c=String(o.get("env")??"").trim(),y=String(o.get("key")??"").trim();!c||!y||r.run("add",async()=>{k(await i.connections.add({name:c,provider:"env",key:y,keyIn:{env:c},...f?{owner:"me"}:{}})),n.reset(),p(!1)})},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, then Enter",autocomplete:"off","aria-busy":g,required:!0}),m&&!d?t(A,{label:"Who can use this secret",options:z,value:f,onChange:P}):null,t("button",{hidden:!0})]})}):null]})})}export{V as TaskSecrets};
@@ -1,2 +0,0 @@
1
- import{$1L as ie,$1N as gt,$1a as f,$1b as vt,$1x as bt,$1z as wt}from"./shared-init-03e620f936463465.js";import{$2h as le,$2j as Y,$2l as H,$2n as qe}from"./shared-init-e8b9eb1e537215ed-2.js";function yt({id:e,title:t,count:n,actions:r,tone:s,children:l}){return f("section",{id:e,class:s?`card frame ${s}`:"card frame",children:[t?f("div",{class:"bar",children:[f("h2",{children:[t,n!==void 0?f("span",{class:"n",children:n}):null]}),r?f("span",{class:"bar-r",children:r}):null]}):null,l]})}function $t({title:e,note:t,actions:n,open:r="Add",opened:s,children:l}){return f("details",{class:"card frame fold",open:s,children:[f("summary",{class:"bar",children:[f("h2",{children:e}),f("span",{class:"fold-note",children:t}),n?f("span",{class:"bar-r",children:n}):null,f(ie,{as:"span",variant:"outline",size:"sm",class:"fold-open",leftIcon:r==="Add"?wt:void 0,children:r}),f(ie,{as:"span",variant:"ghost",size:"sm",class:"fold-close",children:"Close"})]}),l]})}function kt({title:e,children:t}){return f("div",{class:"empty",children:[f("b",{children:e}),t?f("span",{children:t}):null]})}function xt({label:e,inline:t,dots:n,h:r}){return f(t?"span":"div",{class:t?"loading inline":"loading",role:"status",style:r?`--h:${r}px`:void 0,children:f("span",{children:[n?f("i",{class:"dots",children:[f("b",{}),f("b",{}),f("b",{})]}):f("i",{class:"spin"}),e]})})}var Ne=e=>`${history.state?.__pnextEntry??location.pathname}|${e}`,Et=e=>history.state?.coderPages?.[e],Lt=(e,t)=>history.replaceState({...history.state,coderPages:{...history.state?.coderPages,[e]:t}},""),Ct=6e4,Ue=e=>t=>new Promise(n=>{let r=performance.now()-e;setTimeout(n,r>150?450-r:0,t)}),G=(e,t)=>({query:e,rows:t.items,next:t.next,meta:t});function Pt({name:e,query:t,first:n,initial:r,root:s,fetchPage:l}){let o=H(new Map([[r,{page:n,at:Date.now()}]])),[c,h]=le(()=>G(r,n)),[u,p]=le(""),[v,L]=le(!1),_=H(null),E=H(c);E.current=c;let k=H(void 0),$=H(void 0),P=(a,m,d)=>{let g=`${m}|${a}`;if(k.current?.key===g)return;let x={key:g};k.current=x,p(""),L(!0);let C=performance.now(),S=Ne(e),j=d?void 0:o.current.get(m);j&&Date.now()-j.at<Ct&&h(G(m,j.page)),l(a).then(Ue(C)).then(M=>{k.current===x&&(d||o.current.set(m,{page:M,at:Date.now()}),p(""),$.current=void 0,h(D=>{if(d&&(D.query!==m||D.next!==a))return D;let X=d&&D.query===m?{...D,rows:[...D.rows,...M.items],next:M.next}:G(m,M);return Ne(e)===S&&Lt(e,X),X}))}).catch(M=>{k.current===x&&($.current=()=>P(a,m,d),p(M instanceof Error?M.message:String(M)))}).finally(()=>{k.current===x&&(k.current=void 0,L(!1))})};Y(()=>()=>{k.current=void 0},[]);let y=H(n);return Y(()=>{y.current!==n&&(y.current=n,k.current=void 0,L(!1),o.current.set(r,{page:n,at:Date.now()}),h(G(r,n)))},[n]),Y(()=>{k.current=void 0,$.current=void 0,p(""),L(!1);let a=Et(e);if(a&&a.query===t&&a.rows.length>E.current.rows.length){h(a);return}t!==E.current.query&&P("",t,!1)},[t]),Y(()=>{let a=_.current;if(!a||!c.next||u)return;let m=new IntersectionObserver(([d])=>{d?.isIntersecting&&E.current.next&&E.current.query===t&&P(E.current.next,t,!0)},{root:s?.()??null,rootMargin:"0px 0px 300px 0px"});return m.observe(a),()=>m.disconnect()},[c.next,c.rows.length,t,u]),{rows:c.rows,meta:c.meta,more:!!c.next,busy:v,error:u,stale:v&&c.query!==t,sentinel:_,retry:()=>{p(""),$.current?.()}}}function ce(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 de(e){let t=new URLSearchParams(location.search);return Object.fromEntries(e.map(n=>[n,t.get(n)??""]))}var St=20,V=20;function ue({summary:e,summaryClass:t,button:n,label:r,tip:s,align:l="right",wide:o,class:c,children:h}){let u=qe();return f("span",{class:`menu ${l}${c?` ${c}`:""}`,children:[n==="icon"?f(gt,{popovertarget:u,label:r??"",children:e}):n?f(ie,{...n,popovertarget:u,"aria-label":r,title:s?void 0:r,children:e}):f("button",{popovertarget:u,type:"button",class:t,"aria-label":r,title:s?void 0:r,"data-tip":s,children:e}),f("div",{id:u,class:o?"pop wide":"pop",popover:"auto",onBeforeToggle:p=>{if(p.newState!=="open")return;let v=p.currentTarget,L=v.parentElement?.querySelector("button")?.getBoundingClientRect();if(!L)return;v.style.cssText="display: block; visibility: hidden; max-height: none";let _=v.offsetHeight;v.style.cssText="";let E=window.innerHeight-L.bottom-20,k=L.top-20,[$,P]=l==="up"?[k,E]:[E,k],y=_>$&&P>$;v.classList.toggle("flip",y),v.style.maxHeight=`${Math.max(120,Math.round(y?P:$))}px`},onClick:p=>{p.target.closest("a, button:not([data-keep])")&&p.currentTarget.hidePopover()},children:h})]})}function he({label:e,title:t,class:n,children:r}){let s=qe(),l=H(null),o=H(),c=h=>u=>{u.pointerType==="mouse"&&(clearTimeout(o.current),h?l.current.togglePopover(!0):o.current=setTimeout(()=>l.current?.togglePopover(!1),150))};return f("span",{class:n?`more ${n}`:"more",onPointerEnter:c(!0),onPointerLeave:c(!1),children:[f("button",{popovertarget:s,type:"button","aria-label":t,children:e}),f("div",{id:s,ref:l,class:"more-list scroll-box",popover:"auto",children:r})]})}var _t=({label:e,children:t})=>f(he,{label:f(vt,{d:bt}),title:e,class:"info",children:t}),He=5,oe=3;function It({tone:e,title:t,onClick:n,href:r,external:s,class:l,children:o}){let c=["badge",e,l].filter(Boolean).join(" ");return r?f("a",{class:c,href:r,title:t,...s?{target:"_blank",rel:"noopener noreferrer"}:{},children:o}):n?f("button",{type:"button",class:c,title:t,onClick:n,children:o}):f("span",{class:c,title:t,children:o})}function Z({onClick:e,children:t,...n}){return e?f("button",{...n,type:"button",class:"chip",onClick:e,children:t}):f("span",{class:"chip",children:t})}function Mt({values:e,label:t,children:n}){if(n)return f("span",{class:"chips",role:"group","aria-label":t,children:n});let r=(e??[]).filter(o=>!!o);if(!r.length)return f("span",{class:"muted",children:"None"});let s=o=>f(Z,{children:o},o),l=r.length>=He;return f("span",{class:"chips",children:[(l?r.slice(0,oe):r).map(s),l?f(he,{label:`+${r.length-oe}`,children:f("span",{class:"chips",children:r.map(s)})}):null]})}function Tt({value:e,title:t}){return f("span",{class:"id",title:t??e,children:e})}import{f as jt,i as Dt,j as Be,k as ze}from"./wular-pnext-e8b9eb1e537215ed-0.js";import{$1D as Rt,$1a as i,$1b as z,$1d as Ot,$1e as we,$1i as Ve,$1j as At,$1k as Nt,$1t as qt,$1u as Qe,$1z as Ut}from"./shared-init-03e620f936463465.js";import{$1a as Ye,$1b as Ht}from"./shared-init-e8b9eb1e537215ed-2.js";import{$2a as Bt,$2c as N,$2h as R,$2j as q,$2k as Fe,$2l as B,$2n as zt}from"./shared-init-e8b9eb1e537215ed-2.js";import{$0a as Ft,$0d as Wt}from"./shared-init-e8b9eb1e537215ed-2.js";var ee=class extends Error{constructor(){super("Method unavailable on `ReadonlyURLSearchParams`. Read more: https://nextjs.org/docs/app/api-reference/functions/use-search-params#updating-searchparams")}},Kt=class extends URLSearchParams{append(){throw new ee}delete(){throw new ee}set(){throw new ee}sort(){throw new ee}};jt();function ye(){return Jt}var Jt={push(e,...[t]){Je(pe(e,t),"push",t?.scroll)},replace(e,...[t]){Je(pe(e,t),"replace",t?.scroll)},prefetch(e,...[t]){Ht(pe(e,t),{strict:!0,full:t?.kind==="full",onInvalidate:t?.onInvalidate})},refresh(){Ye(window.location.href,{replace:!0,scroll:!1})},back(){window.history.back()},forward(){window.history.forward()},get bfcacheId(){return Ge().bfcacheId??""}};function pe(e,t){return Xt(t)?Ot(e,t):String(e)}function Xt(e){return!!(e&&("params"in e||"search"in e||"hash"in e))}function $e(){return ke().pathname}function Vt(){return new Kt(ke().search)}function Qt(){return ke(),Ge().params??{}}function Yt(){let e=Bt,t=e.__h,n;e.__h=(l,...o)=>{n=l.__P,t?.(l,...o)};let[r,s]=R(!1);return e.__h=t,q(()=>{let l=n?.closest("a[data-pnext-link]");if(!l)return;let o=l.__pnextHints??=new Set;return o.add(s),()=>o.delete(s)},[]),{pending:r}}function ke(){let e=Ke(),[,t]=R(()=>We(e));return q(()=>{Gt();let n=()=>t(r=>{let s=We(Ke());return r===s?r:s});return Be().add(n),n(),()=>Be().delete(n)},[]),e}function We(e){return`${e.pathname}${e.search}${e.hash}`}function Ke(){return{pathname:window.location.pathname,search:window.location.search,hash:window.location.hash}}function Ge(){let e=history.state??{},t=window.__PNEXT_ROUTE__??{},n=typeof e.__pnextBfcacheId=="string"?e.__pnextBfcacheId:void 0;return n?{...t,bfcacheId:n}:t}function Je(e,t,n=!0){if(Wt(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){Ye(r.href,{replace:t==="replace",scroll:n});return}t==="replace"?window.history.replaceState(history.state,"",r):window.history.pushState(history.state,"",r),Dt(r,{scroll:n}),Ft.settleLink?.()}function Gt(){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??{},l={};for(let c of Object.keys(s))c.startsWith("__pnext")&&(l[c]=s[c]);if(Object.keys(l).length===0)return r;let o=r??{};return Object.keys(o).some(c=>c.startsWith("__pnext"))?r:{...o,...l}}window.history.pushState=function(r,s,l){let o=window.location.href,c=e(n(r),s,l);return window.location.href!==o&&ze(),c},window.history.replaceState=function(r,s,l){let o=window.location.href,c=t(n(r),s,l);return window.location.href!==o&&ze(),c}}var xe={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 Zt(e,t){let n=e?.match(/^\/dash\/([^\/?]+)\/tasks\/([^\/?]+)$/);if(n)return{href:"/dash/[org]/tasks/[id]",params:{org:decodeURIComponent(n[1]),id:decodeURIComponent(n[2])},label:"Task"};let r=e?.match(/^\/dash\/([^\/?]+)\/(usage|agents|tasks)(?:\?(.*))?$/);if(!r)return t;let s={org:decodeURIComponent(r[1])},l=new URLSearchParams(r[3]??""),o=xe[r[2]].title;return r[2]==="usage"?{href:"/dash/[org]/usage",params:s,search:l,label:o}:r[2]==="agents"?{href:"/dash/[org]/agents",params:s,search:l,label:o}:{href:"/dash/[org]/tasks",params:s,search:l,label:o}}function Ee(){let e=B(null);return q(()=>{let t=e.current,n=t.nextElementSibling??t.parentElement.nextElementSibling,r=n.closest(".page"),s=()=>{let u=n.classList.contains("stuck"),p=n.offsetHeight;n.classList.toggle("stuck",!u);let v=n.offsetHeight;return n.classList.toggle("stuck",u),Math.max(0,u?v-p:p-v)},l,o=()=>{l?.disconnect();let u=56-s();l=new IntersectionObserver(([p])=>{let v=!p.isIntersecting&&p.boundingClientRect.top<u;if(v===n.classList.contains("stuck"))return;let L=n.offsetHeight;r&&(r.style.paddingBottom=`${L}px`),n.classList.toggle("stuck",v),n.style.marginBottom=v?`${L-n.offsetHeight}px`:"",r&&(r.style.paddingBottom="")},{rootMargin:`${-u}px 0px 0px 0px`}),l.observe(t)};o();let c=n.offsetWidth,h=new ResizeObserver(()=>{r?.style.setProperty("--head",`${n.offsetHeight}px`),n.offsetWidth!==c&&(c=n.offsetWidth,o())});return h.observe(n,{box:"border-box"}),()=>{l?.disconnect(),h.disconnect(),r?.style.removeProperty("--head")}},[]),i("i",{class:"sentinel",ref:e})}var te=(...e)=>["pop-item",...e].filter(Boolean).join(" ");function ne({icon:e,sub:t,end:n,children:r}){return i(N,{children:[typeof e=="string"?i(z,{d:e}):e,i("span",{class:"grow",children:[r,t?i("small",{children:t}):null]}),n]})}function me({icon:e,title:t,sub:n,end:r,href:s,type:l="button",disabled:o,danger:c,...h}){let u=te(n?"rich":!1,c&&"danger"),p=i(ne,{icon:e,sub:n,end:r,children:t});return o?i("div",{class:u,"aria-disabled":"true",children:p}):s?i("a",{...h,class:u,href:s,children:p}):i("button",{...h,type:l,class:u,children:p})}function en({icon:e,sub:t,end:n,class:r,children:s,...l}){return i(we,{...l,class:te(t?"rich":!1,r),children:i(ne,{icon:e,sub:t,end:n,children:s})})}function ge({on:e,onPick:t,href:n,disabled:r,icon:s,sub:l,end:o,children:c}){let h={role:"menuitemradio","aria-checked":e,class:te(e&&"on",l?"rich":!1)},u=i(ne,{icon:s,sub:l,end:i(N,{children:[o,i(z,{d:Qe})]}),children:c});return r?i("div",{...h,"aria-disabled":"true",children:u}):n?i("a",{href:n,...h,children:u}):i("button",{type:"button",...h,onClick:t,children:u})}function ve({active:e,selected:t,check:n,icon:r,sub:s,end:l,class:o,children:c,...h}){return i("div",{...h,role:"option","aria-selected":t,class:te(e&&"on",o),children:i(ne,{icon:r,sub:s,end:i(N,{children:[l,n?i(z,{d:Qe}):null]}),children:c})})}var Le=({children:e,...t})=>i("p",{...t,class:"pop-label",children:e}),be=({children:e})=>i("p",{class:"pop-note",children:e}),tn=({children:e})=>i("div",{class:"pop-row",children:e});function Ze({panelRef:e,class:t,children:n,...r}){return i("div",{...r,ref:e,class:t?`pop ${t}`:"pop",children:n})}var et=e=>new URLSearchParams(Object.entries(e).filter(([,t])=>t)).toString();function nn(e){let[t,n]=R(e),[r,s]=R(e),l=B();return q(()=>{let o=de(Object.keys(e));Object.keys(e).some(c=>o[c]!==e[c])&&(n(o),s(o))},[]),q(()=>()=>clearTimeout(l.current),[]),{values:t,set:(o,c,h=0)=>{let u={...t,[o]:c};n(u),clearTimeout(l.current);let p=()=>{s(u),ce(u)};h?l.current=setTimeout(p,h):p()},query:et(r)}}function tt({value:e,label:t,onInput:n,disabled:r,...s}){return i("label",{class:"search","aria-hidden":r||void 0,children:[i(z,{d:Rt}),i("input",{...s,type:"search",value:e,placeholder:t,"aria-label":t,disabled:r,tabIndex:r?-1:void 0,onInput:l=>n?.(l.currentTarget.value)})]})}function rn({head:e,action:t,children:n}){return e?i(N,{children:[i(Ee,{}),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 nt="coder:filters",an=5,fe=5;function sn(e,t){if(e.length<=fe)return e;let n=e.slice(0,fe),r=e.find(([s])=>s===t);return r&&!n.includes(r)?[...n.slice(0,fe-1),r]:n}var ln=e=>e.options.filter(([t])=>t).length>=an;function on(e,t,n={}){return t?e.options.find(([r])=>r===t)?.[1]??n[`${e.key}:${t}`]??t:"Any"}function cn(e,t,n={}){return e.filter(r=>t[r.key]).map(r=>{let s=on(r,t[r.key],n);return{key:r.key,text:r.inline?s:`${r.label}: ${s}`}})}function dn(e,t,n){let r=n.trim().toLowerCase(),s=t.filter(([,o])=>o.toLowerCase().includes(r)),l=[...s,...e.filter(([o])=>!s.some(([c])=>c===o))];return{shown:l.slice(0,V),more:l.length>V}}function Ce(){try{return JSON.parse(localStorage.getItem(nt)??"{}")??{}}catch{return{}}}function un(e,t){let n=Ce();n[e]=[t,...(n[e]??[]).filter(([r])=>r!==t[0])].slice(0,5),localStorage.setItem(nt,JSON.stringify(n))}function hn({name:e,facets:t,values:n,onChange:r}){let[s,l]=R({}),o=(h,u)=>l(p=>({...p,...Object.fromEntries(u.map(([v,L])=>[`${h}:${v}`,L]))}));q(()=>{let h=Ce();for(let u of t)o(u.key,h[`${e}:${u.key}`]??[])},[]);let c=cn(t,n,s);return i(N,{children:[i(ue,{class:"filter-more",summaryClass:`field-btn${c.length?" on":""}`,summary:c.length?`Filter \xB7 ${c.length}`:"Filter",children:i(pn,{name:e,facets:t,values:n,seen:s,onFound:o,onPick:(h,[u,p])=>{!h.inline&&u!==n[h.key]&&(un(`${e}:${h.key}`,[u,p]),o(h.key,[[u,p]])),r(h.key,h.inline||u!==n[h.key]?u:"")}})}),i("span",{class:"filter-chips",children:c.map(h=>i(Z,{title:h.text,"aria-label":`Clear ${h.text}`,onClick:()=>r(h.key,""),children:[i("span",{class:"grow",children:h.text}),i(z,{d:qt})]},h.key))})]})}function pn({name:e,facets:t,values:n,seen:r,onFound:s,onPick:l}){let o=B(null),[c,h]=R(),[u,p]=R(""),[v,L]=R(),_=B(0),E=B(),k=u.trim(),$=d=>o.current?.querySelector(d)?.focus(),P=d=>{d&&(E.current=d.key),h(d),p(""),L(void 0)};q(()=>{let d=o.current.closest("[popover]"),g=x=>{x.newState==="open"?$("button"):P()};return d.addEventListener("toggle",g),()=>d.removeEventListener("toggle",g)},[]),q(()=>{o.current?.closest(":popover-open")&&$(c?"input":`[data-facet="${E.current}"]`)},[c]),q(()=>{if(!c?.search||!k)return;let d=++_.current,g=setTimeout(()=>void c.search(k,V+1).then(x=>{_.current===d&&(L(x),s(c.key,x))},()=>_.current===d&&L([])),200);return()=>clearTimeout(g)},[c,k]);let y=c?c.search&&k?v??[]:c.options.filter(([d,g])=>d&&g.toLowerCase().includes(k.toLowerCase())):[],a=c?dn(y,Ce()[`${e}:${c.key}`]??[],k):{shown:[],more:!1},m=!!(c?.search&&k&&!v);return i("div",{ref:o,class:"filter-panel",onKeyDown:d=>{let g=[...o.current.querySelectorAll("input, button")],x=g.indexOf(document.activeElement),C=d.target,S=d.key;if(S==="ArrowDown")g[(x+1)%g.length]?.focus();else if(S==="ArrowUp")g[(x-1+g.length)%g.length]?.focus();else if(S==="ArrowRight"&&C.dataset.facet)C.click();else if(S==="ArrowLeft"&&c&&C.tagName!=="INPUT")P();else if(S==="Enter"&&C.tagName==="INPUT")$("[role=menuitemradio]");else if(S==="Escape"&&c)d.stopPropagation(),P();else return;d.preventDefault()},children:c?i(N,{children:[i(me,{"data-keep":!0,icon:Ve,title:c.label,onClick:()=>P()}),ln(c)?i(tt,{value:u,label:`Find ${c.label.toLowerCase()}`,autocomplete:"off",onInput:p}):null,i("div",{role:"group","aria-label":c.label,"aria-busy":m,children:a.shown.map(([d,g])=>i(ge,{icon:c.icon?.(d),on:n[c.key]===d,onPick:()=>l(c,[d,g]),children:g},d))}),a.more?i(be,{children:"Type to find more."}):!a.shown.length&&!m?i(be,{children:"Nothing matches."}):null]}):t.map(d=>{let g=d.options.filter(([C])=>d.inline||C);if(!g.length)return null;let x=sn(g,n[d.key]);return i(N,{children:[i(Le,{children:d.label}),i("div",{role:"group","aria-label":d.label,children:x.map(([C,S])=>i(ge,{icon:d.icon?.(C),on:n[d.key]===C,onPick:()=>l(d,[C,S]),children:S},C))}),g.length>x.length?i(me,{"data-keep":!0,"data-facet":d.key,"aria-haspopup":"true",title:"More",end:i(N,{children:[i("span",{class:"muted",children:g.length-x.length}),i(z,{d:Nt})]}),onClick:()=>P(d)}):null]},d.key)})})}var Xe=10;function fn({label:e,options:t,value:n,defaultValue:r,onChange:s,onFocus:l,name:o,disabled:c,headings:h,subs:u,icons:p,action:v}){let[L,_]=R(r??t[0]?.[0]??""),E=Math.max(0,t.findIndex(([w])=>w===(n??L))),k=t[E]?.[0]??"",[$,P]=R(!1),[y,a]=R(E),[m,d]=R(""),g=B(null),x=B(null),C=B({text:"",at:0}),S=zt(),j=(w=E)=>{a(w),P(!0)},M=(w=!0)=>{P(!1),w&&g.current?.focus()},D=w=>{if(v&&w===t.length){M(),v.onPick();return}let T=t[w]?.[0];M(),!(T===void 0||T===k)&&(n===void 0&&_(T),s?.(T))},X=(w,T)=>{let b=Date.now(),I=b-C.current.at>600?w:C.current.text+w;C.current={text:I,at:b};let W=/^(.)\1*$/.test(I)?I[0]:I,ae=W.length===1?T+1:T;for(let se=0;se<t.length;se++){let Ae=(ae+se)%t.length;if(t[Ae][1].toLowerCase().startsWith(W.toLowerCase()))return Ae}return-1},mt=w=>{let T=t.length-1+(v?1:0),b=w.key;if(!$){if(["ArrowDown","ArrowUp","Enter"," "].includes(b))j();else if(b==="Home")j(0);else if(b==="End")j(T);else if(b.length===1&&!w.ctrlKey&&!w.metaKey){let I=X(b,E);if(I>=0)j(I);else return}else return;w.preventDefault();return}if(b==="ArrowDown")a(Math.min(T,y+1));else if(b==="ArrowUp"&&w.altKey)D(y);else if(b==="ArrowUp")a(Math.max(0,y-1));else if(b==="Home")a(0);else if(b==="End")a(T);else if(b==="PageDown")a(Math.min(T,y+Xe));else if(b==="PageUp")a(Math.max(0,y-Xe));else if(b==="Enter"||b===" "&&Date.now()-C.current.at>600)D(y);else if(b==="Escape")w.stopPropagation(),M();else if(b==="Tab"){D(y);return}else if(b.length===1&&!w.ctrlKey&&!w.metaKey){let I=X(b,y);I>=0&&a(I)}else return;w.preventDefault()};return Fe(()=>{if(!$)return;x.current?.showPopover();let w=()=>{let b=g.current?.getBoundingClientRect(),I=x.current;if(!b||!I)return;let W=innerHeight-b.bottom-12,ae=W<Math.min(I.scrollHeight,240)&&b.top>W;d(`left:${Math.round(Math.min(b.left,innerWidth-I.offsetWidth-8))}px;min-width:${Math.round(b.width)}px;`+(ae?`bottom:${Math.round(innerHeight-b.top+4)}px;max-height:${Math.round(Math.min(560,b.top-12))}px`:`top:${Math.round(b.bottom+4)}px;max-height:${Math.round(Math.min(560,W))}px`))};w();let T=b=>{let I=b.target;!g.current?.contains(I)&&!x.current?.contains(I)&&M(!1)};return addEventListener("resize",w),addEventListener("scroll",w,!0),document.addEventListener("pointerdown",T),()=>{removeEventListener("resize",w),removeEventListener("scroll",w,!0),document.removeEventListener("pointerdown",T)}},[$]),Fe(()=>{$&&x.current?.querySelector(`[data-index="${y}"]`)?.scrollIntoView({block:"nearest"})},[$,y,m]),i("span",{class:"select",children:[i("button",{ref:g,type:"button",role:"combobox","data-keep":!0,"aria-label":e,"aria-haspopup":"listbox","aria-expanded":$,"aria-controls":`${S}-list`,"aria-activedescendant":$?`${S}-${y}`:void 0,disabled:c,onFocus:l,onPointerDown:l,onClick:w=>{w.preventDefault(),$?M():j()},onKeyDown:mt,children:[p?.[k]??null,i("span",{class:"grow",children:t[E]?.[1]??""}),i(z,{d:At})]}),o?i("input",{type:"hidden",name:o,value:k}):null,$?i(rt,{id:S,label:e,listRef:x,place:m,children:[t.map(([w,T],b)=>i(N,{children:[h?.[w]?i(Le,{children:h[w]}):null,i(ve,{id:`${S}-${b}`,"data-index":b,active:b===y,selected:b===E,check:!0,icon:p?.[w],sub:u?.[w]?i("bdi",{dir:"ltr",children:u[w]}):null,onPointerMove:()=>b!==y&&a(b),onClick:I=>{I.preventDefault(),D(b)},children:T})]},w)),v?i(ve,{id:`${S}-${t.length}`,"data-index":t.length,active:y===t.length,selected:!1,class:"action",icon:v.icon??Ut,onPointerMove:()=>y!==t.length&&a(t.length),onClick:w=>{w.preventDefault(),D(t.length)},children:v.label}):null]}):null]})}var rt=({id:e,label:t,listRef:n,place:r,children:s})=>i(Ze,{panelRef:n,id:`${e}-list`,class:"select-pop",popover:"manual",role:"listbox","aria-label":t,style:r||"visibility:hidden",onMouseDown:l=>l.preventDefault(),children:s}),Pe=e=>e,mn=e=>{let t=e.params??{};return e.href.replace(/\[([^\]]+)\]/g,(n,r)=>encodeURIComponent(String(t[r]??"")))};function gn(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 vn(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=xe[n]?.title??"Back";if(n==="agents"&&r)try{s=decodeURIComponent(r)}catch{}return{to:{href:t.pathname,search:t.searchParams},label:s}}function at({label:e,back:t,named:n,...r}){let s=vn(t),l=n??s?.label??e;return i(we,{class:"back","aria-label":l,...Pe(s?.to??r),children:[i(z,{d:Ve}),i("span",{children:l})]})}function bn({title:e,lead:t,actions:n,meta:r,back:s}){return i(N,{children:[i(Ee,{}),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 K=()=>Qt().org;function wn({href:e,params:t,...n}){return i(we,{...n,...Pe({href:e,params:{...t,org:K()}})})}function yn({href:e,label:t}){return i(at,{href:e,params:{org:K()},label:t})}import{$0b as $n,$0c as kn}from"./shared-init-03e620f936463465.js";import{$1a as O,$1e as xn}from"./shared-init-03e620f936463465.js";import{$2h as J,$2j as A,$2l as U}from"./shared-init-e8b9eb1e537215ed-2.js";function ot({status:e}){return O("span",{class:`st ${e}`,children:[O("i",{}),ct[e]??e]})}var ct={queued:"waiting for slot",running:"running",waiting:"needs approval",completed:"completed",failed:"failed",cancelled:"cancelled"},Q="coder:watched",dt="coder:notify",re="coder:toast",Oe=new Set(["completed","failed","cancelled"]),En=new Set([...Oe,"waiting"]),Ln=20,st=3,Cn=8e3,lt="coder:events",Se="coder:task",_e="coder:task-replay",Ie="coder:task-reset",Me="coder:task-resync",Te="coder:task-counts",je="coder:task-counts-replay",De="coder:runners",Pn=6e4,Sn=200,Re=()=>{try{return JSON.parse(localStorage.getItem(Q)??"{}")??{}}catch{return{}}},ut=e=>{let t=Object.entries(e).sort(([,n],[,r])=>r.at-n.at).slice(0,Ln);localStorage.setItem(Q,JSON.stringify(Object.fromEntries(t))),dispatchEvent(new Event(Q))},ht=(e,t,n)=>dispatchEvent(new CustomEvent(re,{detail:{title:e,line:t,tone:n}})),_n=(e,t)=>ht(e,t,"error");function pt(e,t,n){let r=Re(),s=r[e];!s&&Oe.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]},ut(r))}var it=e=>/^\/dash\/[^/]+\/tasks\/([^/]+)$/.exec(e)?.[1];function In(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 ft(e,t,n){let r=U({on:e,reset:t,resync:n});r.current={on:e,reset:t,resync:n},A(()=>{let s=c=>r.current.on(c.detail),l=()=>r.current.reset?.(),o=()=>r.current.resync?.();return addEventListener(Se,s),addEventListener(Ie,l),addEventListener(Me,o),dispatchEvent(new CustomEvent(_e,{detail:c=>r.current.on(c)})),()=>{removeEventListener(Se,s),removeEventListener(Ie,l),removeEventListener(Me,o)}},[])}function Mn(e,t,n){let r=U(e);r.current=e;let s=U(),l=[...e].sort().join(",");A(()=>{let o=new Map,c=a=>{o.delete(a.id),o.set(a.id,a),o.size>Sn&&o.delete(o.keys().next().value),dispatchEvent(new CustomEvent(Se,{detail:a}))},h=a=>{for(let m of o.values())a.detail(m)};addEventListener(_e,h);let u,p=a=>u&&a.detail(u);addEventListener(je,p);let v=typeof BroadcastChannel<"u"&&navigator.locks?new BroadcastChannel(`${lt}:${n}`):void 0,L=new AbortController,_,E=()=>{},k,$=a=>{_=a.id??_,a.event&&c(a.event),a.counts&&(u=a.counts,dispatchEvent(new CustomEvent(Te,{detail:u}))),a.runners&&dispatchEvent(new CustomEvent(De,{detail:a.runners})),a.resync&&dispatchEvent(new Event(Me)),a.reset&&(o.clear(),dispatchEvent(new Event(Ie)))};v?.addEventListener("message",({data:a})=>{if(!a.hello)return $(a);k??=setTimeout(()=>{k=void 0,s.current?.abort.abort(),E()},300)}),v?.postMessage({hello:!0});let P=async()=>{t.current=!0;let a=setInterval(()=>{v?.postMessage({resync:!0}),$({resync:!0})},Pn);try{await y()}finally{clearInterval(a)}},y=async()=>{for(;!L.signal.aborted;){let a=new AbortController,m=()=>a.abort();L.signal.addEventListener("abort",m);let d=r.current;s.current={key:[...d].sort().join(","),abort:a};let g=1e3;try{let x=await kn.tasks.events(d,_,a.signal);if(x.status===404)return void(t.current=!1);if(!x.ok||!x.body)g=[401,403].includes(x.status)?6e4:5e3;else for await(let{event:C,data:S,id:j}of $n(x.body)){if(a.signal.aborted)break;let M={...j?{id:j}:{},...C==="task"?{event:JSON.parse(S)}:{},...C==="counts"?{counts:JSON.parse(S)}:{},...C==="runners"?{runners:JSON.parse(S)}:{},...C==="reset"?{reset:!0}:{}};v?.postMessage(M),$(M)}}catch{}L.signal.removeEventListener("abort",m),!a.signal.aborted&&(await new Promise(x=>{let C=setTimeout(x,g);E=()=>{clearTimeout(C),x()}}),E=()=>{})}};return v?navigator.locks.request(`${lt}:${n}`,{signal:L.signal},P).catch(()=>{}):P(),()=>{L.abort(),E(),clearTimeout(k),v?.close(),removeEventListener(_e,h),removeEventListener(je,p)}},[]),A(()=>{s.current&&s.current.key!==l&&s.current.abort.abort()},[l])}function Tn(e){let t=U(e);t.current=e,A(()=>{let n=r=>t.current(r.detail);return addEventListener(De,n),()=>removeEventListener(De,n)},[])}function jn(){let[e,t]=J();return A(()=>{let n=r=>t(r.detail.active);return addEventListener(Te,n),dispatchEvent(new CustomEvent(je,{detail:r=>t(r.active)})),()=>removeEventListener(Te,n)},[]),e?O("span",{class:"n",title:`${e} active`,children:e}):null}function Dn({toast:e,paused:t,dismiss:n}){let r=K(),s=U(Cn);return A(()=>{if(t)return;let l=Date.now(),o=setTimeout(()=>n(e.key),s.current);return()=>{clearTimeout(o),s.current-=Date.now()-l}},[t]),O("div",{class:e.tone?`toast ${e.tone}`:"toast",onClick:()=>n(e.key),children:[O("p",{class:"toast-head",children:[e.id?O(xn,{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(ot,{status:e.status}):null]}),O("p",{class:"toast-line",children:e.line})]})}function Rn(){let e=K(),t=$e(),n=ye(),[r,s]=J({}),[l,o]=J([]),[c,h]=J(!1),[u,p]=J(!1),[v,L]=J(!1),_=U(it(t));_.current=it(t);let E=U({}),k=U(!1);A(()=>{let a=()=>{let m=Re();for(let[d,g]of Object.entries(m))E.current[d]??=g.status;s(m)};return a(),addEventListener(Q,a),addEventListener("storage",a),()=>{removeEventListener(Q,a),removeEventListener("storage",a)}},[]),A(()=>{let a=m=>{let d=m.detail;o(g=>[{key:`${re}:${Date.now()}`,...d},...g].slice(0,st))};return addEventListener(re,a),()=>removeEventListener(re,a)},[]),A(()=>{if(!l.length)return;let a=m=>m.key==="Escape"&&o([]);return addEventListener("keydown",a),()=>removeEventListener("keydown",a)},[l.length]);let $=U(null);A(()=>{let a=$.current;a.matches(":popover-open")&&a.hidePopover(),l.length&&a.showPopover()},[l[0]?.key]);let P=a=>o(m=>m.filter(d=>d.key!==a));ft(a=>{let m=Re(),d=m[a.id];if(d?.org!==e)return;if(a.deleted)return delete m[a.id],ut(m);let g=E.current[a.id]??d.status;E.current[a.id]=a.status,g!==a.status&&y(a.id,{...a,result:a.result??void 0,error:a.error??void 0},d)});let y=(a,m,d)=>{if(pt(a,m.status),!En.has(m.status)||_.current===a)return;let g={key:`${a}:${Date.now()}`,id:a,title:d.title,status:m.status,line:In(m)};if(o(C=>[g,...C].slice(0,st)),!k.current||localStorage.getItem(dt)!=="1"||typeof Notification>"u"||Notification.permission!=="granted")return;let x=new Notification(`${g.title} (${ct[g.status]})`,{body:g.line,tag:a});x.onclick=()=>{focus(),n.push("/dash/[org]/tasks/[id]",{params:{org:e,id:a}})}};return Mn(Object.entries(r).filter(([,a])=>a.org===e&&!Oe.has(a.status)).map(([a])=>a),k,e),A(()=>{let a=()=>L(!0),m=()=>L(!1);return addEventListener("blur",a),addEventListener("focus",m),()=>{removeEventListener("blur",a),removeEventListener("focus",m)}},[]),O("section",{ref:$,class:"toasts",popover:"manual","aria-label":"Task updates","aria-live":"polite",onPointerOver:()=>h(!0),onPointerOut:a=>h(!!$.current?.contains(a.relatedTarget)),onFocusIn:()=>p(!0),onFocusOut:a=>p(!!$.current?.contains(a.relatedTarget)),children:l.map(a=>O(Dn,{toast:a,paused:c||u||v,dismiss:P},a.key))})}import{$1L as On,$1N as An,$1a as F,$1b as Nn,$1t as qn}from"./shared-init-03e620f936463465.js";import{$2e as Un,$2j as Hn,$2l as Bn,$2n as zn}from"./shared-init-e8b9eb1e537215ed-2.js";function Fn({open:e=!0,class:t,tone:n,title:r,icon:s,dismiss:l,busy:o,cancel:c="Cancel",cancelDanger:h,focus:u="cancel",actions:p,onSubmit:v,onClose:L,children:_}){let E=Bn(null),k=zn();Hn(()=>{let y=E.current;e&&!y.open?y.showModal():!e&&y.open&&y.close()},[e]);let $=()=>!o&&E.current.close(),P=Un(p).length===0;return F("dialog",{ref:E,class:["modal",t,n&&`tone ${n}`].filter(Boolean).join(" "),"aria-labelledby":k,onClose:L,onCancel:y=>{y.preventDefault(),$()},onClick:y=>y.target===y.currentTarget&&$(),children:F("form",{method:v?void 0:"dialog",onSubmit:v,children:[F("header",{children:[s?F(Nn,{d:s}):null,F("h2",{id:k,children:r}),l?F(An,{icon:qn,label:"Close",onClick:$}):null]}),_,F("div",{class:"actions",children:[F(On,{variant:P?"primary":"ghost",danger:!P&&h,disabled:o,autofocus:u==="cancel",onClick:$,children:c}),p]})]})})}export{yt as $0a,$t as $0b,kt as $0c,xt as $0d,Ue as $0e,Pt as $0f,ce as $0g,de as $0h,St as $0i,V as $0j,ue as $0k,he as $0l,_t as $0m,He as $0n,oe as $0o,It as $0p,Z as $0q,Mt as $0r,Tt as $0s,ot as $1a,dt as $1b,ht as $1c,_n as $1d,pt as $1e,ft as $1f,Tn as $1g,jn as $1h,Rn as $1i,bn as $2A,K as $2B,wn as $2C,yn as $2D,ye as $2a,$e as $2b,Vt as $2c,Yt as $2d,Pe as $2e,mn as $2f,gn as $2g,xe as $2h,Zt as $2i,Ee as $2j,me as $2k,en as $2l,ge as $2m,ve as $2n,Le as $2o,be as $2p,tn as $2q,Ze as $2r,et as $2s,nn as $2t,tt as $2u,rn as $2v,hn as $2w,fn as $2x,rt as $2y,at as $2z,Fn as $3a};
@@ -1,5 +0,0 @@
1
- import{$2j as _,$2l as S}from"./shared-init-e8b9eb1e537215ed-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)}},b=class extends p{constructor(e,t,n="",s,a){super("server",t,{status:e,...s?{hint:s}:{}}),this.authenticate=n,this.needs=a}};function z(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 H(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:"&&z(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 C=(e,t,n)=>`/admin/credentials/${encodeURIComponent(e)}${t}${n?"?workspace":""}`,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}`},P=new Set(["completed","failed","cancelled"]),A=class{url;fetchImpl;organization;renewal;onError;token;cookie;constructor(e,t,n={}){if(this.cookie="cookie"in t,this.url=e?H(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 b(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={run:e=>this.post("/admin/tasks",e),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(P.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(C(e,"",t),{method:"DELETE"}),setDefault:(e,{workspace:t}={})=>this.post(C(e,"/default",t)),login:e=>this.post("/admin/logins",{engine:e}),loginStatus:e=>this.request(`/admin/logins/${encodeURIComponent(e)}`),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,n)=>this.post(d(`/admin/apps/${encodeURIComponent(e)}/install`,{back:t,link:n})),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=>this.request(d("/admin/connections",{authorization:e})),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"),put:e=>this.request("/admin/config",{method:"PUT",body:JSON.stringify(e)}),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 A("",{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 N(){let{url:e}=await U.signOut();location.href=e??"/?signed_out=1"}function O(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 D(e,t,n=[]){let s=S(e);s.current=e;let a=!!e;_(()=>{if(!a)return;let r=new AbortController,i=O(async()=>s.current?.(r.signal),t);return()=>{r.abort(),i()}},[a,t,...n])}import{$2a as q,$2b as j,$2c as V,$2j as J,$2l as B}from"./shared-init-e8b9eb1e537215ed-2.js";var Z=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:--Z,__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 q.vnode&&q.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 K(){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 E(e,t={}){let n=F(X(e,t.params??{})),s=Y(t.search),a=te(t.hash);return`${n}${s}${a}`}function W(){return window.__PNEXT_TRAILING_SLASH__===!0}function G(){let e=window.__PNEXT_PREFETCH__;return e===void 0?"visible":e}function F(e){let[,t="",n=""]=/^([^?#]*)([\s\S]*)$/.exec(e)??[];return t.startsWith("/")?W()?t==="/"||t.endsWith("/")||/\.[^/]+$/.test(t)?e:`${t}/${n}`:t==="/"||!t.endsWith("/")||/\.[^/]+\/$/.test(t)?e:`${t.replace(/\/+$/,"")}${n}`:e}function X(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 Q(n)}function Q(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 Y(e){if(!e)return"";let t=(e instanceof URLSearchParams?e:ee(e)).toString();return t?`?${t}`:""}function ee(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 te(e){return e?e.startsWith("#")?e:`#${e}`:""}function L({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 k=E(e,{params:t??{},search:r,hash:i}),u=n??G(),m=ne(l,$);return j("a",{...w,ref:m,href:k,"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||!ae(v))return;let I=se();h(I),I.defaultPrevented&&v.preventDefault()}},M)}function ne(e,t){let n=B(null);return J(()=>{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 se(){return{defaultPrevented:!1,preventDefault(){this.defaultPrevented=!0}}}function ae(e){return e.button===0&&!e.altKey&&!e.ctrlKey&&!e.metaKey&&!e.shiftKey&&!e.currentTarget.target&&!e.currentTarget.download}var re="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",ie="M22 12h-4l-3 9L9 3l-3 9H2",oe="M3 3v18h18M18 17V9M13 17V5M8 17v-3",de="m15 18-6-6 6-6",he="m6 9 6 6 6-6",ce="m9 18 6-6-6-6",le="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",pe="M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z",ue="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",me="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",fe="M7 17 17 7M8 7h9v9",ve="M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4M16 17l5-5-5-5M21 12H9",ge="m12 3 1.9 5.1L19 10l-5.1 1.9L12 17l-1.9-5.1L5 10l5.1-1.9ZM19 3v4M17 5h4",$e="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",Me="M4 6h16M4 12h16M4 18h16",we="M18 6 6 18M6 6l12 12",ke="M20 6 9 17l-5-5",ye="M3 6h18M8 6V4h8v2M19 6l-1 14H6L5 6M10 11v6M14 11v6",Ie="M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4M17 8l-5-5-5 5M12 3v12",Ce="M12 16v-4M12 8h.01M3 12a9 9 0 1 0 18 0a9 9 0 1 0-18 0",be="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",qe="M4 12h12M12 6l6 6-6 6",Ee="M16 4h4v4M20 4l-7 7M4 20l6-6M16 20h4v-4M20 20l-5-5M4 4l5 5",Le="M4 11a7 7 0 1 0 14 0a7 7 0 1 0 -14 0M20 20l-3.5-3.5",xe="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",Te="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",Se="M12 7v5l3 2M3 12a9 9 0 1 0 18 0a9 9 0 1 0 -18 0",ze="M9 2v6M15 2v6M6 8h12v4a6 6 0 0 1-12 0ZM12 18v4",He="M9 9h11v11H9ZM5 15H4V4h11v1",Pe="M4 21v-7M4 10V3M12 21v-9M12 8V3M20 21v-5M20 12V3M1 14h6M9 8h6M17 16h6",x=({variant:e,danger:t,size:n,wide:s,class:a})=>["btn",e!=="primary"&&e,t&&"danger",n,s&&"wide",a].filter(Boolean).join(" ");function T({leftIcon:e,rightIcon:t,loading:n,children:s}){let a=c("i",{class:"btn-spin"});return c(V,{children:[e?n?a:c(g,{d:e}):null,s,t?n&&!e?a:c(g,{d:t}):null]})}function Ae({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:k,...u}){let m=x({variant:e,danger:t,size:n,wide:s,class:w}),f=c(T,{leftIcon:a,rightIcon:r??(l?fe:void 0),loading:i,children:k});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 Ne({variant:e,danger:t,size:n,wide:s,leftIcon:a,rightIcon:r,class:i,children:o,...h}){return c(L,{...h,class:x({variant:e,danger:t,size:n,wide:s,class:i}),children:c(T,{leftIcon:a,rightIcon:r,children:o})})}function Oe({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{b as $0a,R as $0b,U as $0c,N as $0d,D as $0e,Ue as $1A,qe as $1B,Ee as $1C,Le as $1D,xe as $1E,Te as $1F,_e as $1G,Se as $1H,ze as $1I,He as $1J,Pe as $1K,Ae as $1L,Ne as $1M,Oe as $1N,c as $1a,g as $1b,K as $1c,E as $1d,L as $1e,re as $1f,ie as $1g,oe as $1h,de as $1i,he as $1j,ce as $1k,le as $1l,pe as $1m,ue as $1n,me as $1o,ve as $1p,ge as $1q,$e as $1r,Me as $1s,we as $1t,ke as $1u,ye as $1v,Ie as $1w,Ce as $1x,be as $1y,Re as $1z};
@@ -1 +0,0 @@
1
- var f=a=>a.source==="upload"||a.source==="home"||a.local&&a.source==="repo";import{a as d}from"./defaults-dcc0eccad4e8585b.js";import{c as u}from"./model-options-3a57918eaa4a2a82.js";var c="What should the agent do? Type / for flows and reviews.",m={repo:"",cwd:"",agent:"",engine:"",model:"",effort:"",permissions:"",runner:""};function i(a,e){let n=e.agents.map(([t])=>t);return!n.length||n.includes(a.agent)?a:{...a,agent:e.defaultAgent??n[0]}}function p(a){let e=a.match(/(?:^|; )compose=([^;]*)/)?.[1];try{return e?JSON.parse(decodeURIComponent(e)):{}}catch{return{}}}var s=a=>[...a].sort((e,n)=>Number(n.default)-Number(e.default)||e.name.localeCompare(n.name)),g=a=>{let e=a.find(n=>n.default);return[["",e?`Default \xB7 ${e.name}`:"Default"],...s(a).filter(n=>n!==e).map(n=>[n.id,n.name])]};async function h(a){let e=await a.composer(),n=e.agents.find(r=>r.default)?.id,t={agents:e.agents.map(({id:r,name:l})=>[r,l]),...n?{defaultAgent:n}:{},...e.agents.length?{}:{agentsOff:!0},models:u(e.models),runners:g(e.runners),flows:e.flows,folders:e.folders},o={engine:e.engine??d,engines:e.engines};return{data:t,defaults:o,connectLabel:e.connectLabel??"Connect repositories"}}export{f as $0a,c as $1a,m as $1b,i as $1c,p as $1d,s as $1e,h as $1f};
@@ -1 +0,0 @@
1
- var at={observedLocationKey:V()};function V(){return location.pathname+location.search}var we=[];function st(){return we.splice(0)}var Ot,Ee;function ke(t){return/^[\u0000-\u0020]*javascript:/i.test(t)}function Ht(t){return ke(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||Ee?.(e)?null:e}function Mt(t){let e=t.target;return e instanceof Element?e.closest("a[data-pnext-link]"):null}function ct(t){if(t.defaultPrevented||t.button!==0||t.metaKey||t.ctrlKey||t.shiftKey||t.altKey)return null;let e=Mt(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(Ht(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 ut=new Map;window.__PNEXT_REGISTER_ENTRY__=(t,e)=>{let n=Ut(t);ut.has(n)||ut.set(n,e)};function Ne(){return(window.__PNEXT_ROUTER_IMPORTS__??0)>0}function Ut(t){return new URL(t,location.href).href}var jt;function dt(t){return jt??=import("./runtime-e8b9eb1e537215ed-1.js").then(async e=>(await Promise.all(st().map(n=>n())),e)),jt.then(t)}function Te(t,e){return dt(n=>n.softNavigate(t,e))}function Se(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 dt(o=>o.prefetchRoute(n.href,e))}var Ae=3e3,Z=[],ft=!1,Dt=!1,pt;function Bt(t){let e=ct(t);e&&(t.preventDefault(),Z.push(e),pt??=setTimeout(()=>{let n=Z[0];n&&(location.href=n.url.href)},Ae),ht())}function Ft(){ft=!0,ht()}function ht(){return dt(t=>{Dt||(Dt=!0,document.removeEventListener("click",Bt),window.removeEventListener("popstate",Ft),t.installRouterFull()),clearTimeout(pt),pt=void 0;let e=Z;Z=[];for(let n of e)t.commitLinkNavigation(n);ft&&(ft=!1,t.onPopState())})}function Ce(t){typeof requestIdleCallback=="function"?requestIdleCallback(()=>t(),{timeout:1e3}):setTimeout(t,1)}function Pe(){window.__PNEXT_ROUTER_INSTALLED__||(window.__PNEXT_ROUTER_INSTALLED__=!0,"scrollRestoration"in history&&(history.scrollRestoration="manual"),at.activeRouteKey=V(),document.addEventListener("click",Bt),window.addEventListener("popstate",Ft),Ce(()=>void ht()))}var lt,x,ee,Re,H,Wt,ne,re,mt,Q,W,oe,wt,yt,gt,$e,nt={},rt=[],Le=/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 Et(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?lt.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 tt(t,a,o,i,null)}function tt(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??++ee,__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 Ie(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),kt(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,ae(o,r,i),e.__e=e.__=null,r.__e!=n&&ie(r)}}function ie(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}),ie(t)}function Xt(t){(!t.__d&&(t.__d=!0)&&H.push(t)&&!ot.__r++||Wt!=x.debounceRendering)&&((Wt=x.debounceRendering)||ne)(ot)}function ot(){try{for(var t,e=1;H.length;)H.length>e&&H.sort(re),t=H.shift(),e=H.length,Ie(t)}finally{H.length=ot.__r=0}}function le(t,e,n,o,i,r,a,p,m,s,v){var l,y,h,N,S,E,g,b=o&&o.__k||rt,$=e.length;for(m=Oe(n,e,b,m,$),l=0;l<$;l++)(h=n.__k[l])!=null&&(y=h.__i!=-1&&b[h.__i]||nt,h.__i=l,E=kt(t,h,y,i,r,a,p,m,s,v),N=h.__e,h.ref&&y.ref!=h.ref&&(y.ref&&Nt(y.ref,null,h),v.push(h.ref,h.__c||N,h)),S==null&&N!=null&&(S=N),(g=!!(4&h.__u))||y.__k===h.__k?(m=_e(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=S,m}function Oe(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]=tt(null,a,null,null,null):X(a)?a=t.__k[r]=tt(q,{children:a},null,null,null):a.constructor===void 0&&a.__b>0?a=t.__k[r]=tt(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=He(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)),ce(p,p));return o}function _e(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=_e(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 ue(t,e){return e=e||[],t==null||typeof t=="boolean"||(X(t)?t.some(function(n){ue(n,e)}):e.push(t)),e}function He(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 qt(t,e,n){e[0]=="-"?t.setProperty(e,n??""):t[e]=n==null?"":typeof n!="number"||Le.test(e)?n:n+"px"}function J(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||qt(t.style,e,"");if(n)for(e in n)o&&n[e]==o[e]||qt(t.style,e,n[e])}else if(e[0]=="o"&&e[1]=="n")r=e!=(e=e.replace(oe,"$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]=wt,t.addEventListener(e,r?gt:yt,r)):t.removeEventListener(e,r?gt:yt,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 zt(t){return function(e){if(this.l){var n=this.l[e.type+t];if(e[Q]==null)e[Q]=wt++;else if(e[Q]<n[W])return;return n(x.event?x.event(e):e)}}}function kt(t,e,n,o,i,r,a,p,m,s){var v,l,y,h,N,S,E,g,b,$,P,A,K,U,B,C=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 C=="function")try{if(g=e.props,b=C.prototype&&C.prototype.render,$=(v=C.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 C(g,P):(e.__c=l=new j(g,P),l.constructor=C,l.render=Ue),$&&$.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&&C.getDerivedStateFromProps!=null&&(l.__s==l.state&&(l.__s=I({},l.__s)),I(l.__s,C.getDerivedStateFromProps(g,l.__s))),h=l.props,N=l.state,l.__v=e,y)b&&C.getDerivedStateFromProps==null&&l.componentWillMount!=null&&l.componentWillMount(),b&&l.componentDidMount!=null&&l.__h.push(l.componentDidMount);else{if(b&&C.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(O){O&&(O.__=e)}),rt.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,S)})}if(l.context=P,l.props=g,l.__P=t,l.__e=!1,A=x.__r,K=0,b)l.state=l.__s,l.__d=!1,A&&A(e),v=l.render(l.props,l.state,l.context),rt.push.apply(l.__h,l._sb),l._sb=[];else do l.__d=!1,A&&A(e),v=l.render(l.props,l.state,l.context),l.state=l.__s;while(l.__d&&++K<25);l.state=l.__s,l.getChildContext!=null&&(o=I(I({},o),l.getChildContext())),b&&!y&&l.getSnapshotBeforeUpdate!=null&&(S=l.getSnapshotBeforeUpdate(h,N)),U=v!=null&&v.type===q&&v.key==null?se(v.props.children):v,p=le(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(O){if(e.__v=null,m||r!=null)if(O.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--;)Et(r[B]);bt(e)}else e.__e=n.__e,e.__k=n.__k,O.then||bt(e);x.__e(O,e,n)}else r==null&&e.__v==n.__v?(e.__k=n.__k,e.__e=n.__e):p=e.__e=Me(n.__e,e,n,o,i,r,a,m,s);return(v=x.diffed)&&v(e),128&e.__u?void 0:p}function bt(t){t&&(t.__c&&(t.__c.__e=!0),t.__k&&t.__k.some(bt))}function ae(t,e,n){for(var o=0;o<n.length;o++)Nt(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 se(t){return typeof t!="object"||t==null||t.__b>0?t:X(t)?t.map(se):t.constructor!==void 0?null:I({},t)}function Me(t,e,n,o,i,r,a,p,m){var s,v,l,y,h,N,S,E=n.props||nt,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&&lt.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||J(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"?S=h:p&&typeof h!="function"||E[s]===h||J(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=""),le(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--;)Et(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])&&J(t,s,N,E[s],i),s="checked",S!=null&&S!=t[s]&&J(t,s,S,E[s],i))}return t}function Nt(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 ce(t,e,n){var o,i;if(x.unmount&&x.unmount(t),(o=t.ref)&&(o.current&&o.current!=t.__e||Nt(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]&&ce(o[i],e,n||typeof t.type!="function");n||Et(t.__e),t.__c=t.__=t.__e=void 0}function Ue(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=[],kt(e,t=(!o&&n||e).__k=T(q,null,[t]),i||nt,nt,e.namespaceURI,!o&&n?[n]:i?null:e.firstChild?lt.call(e.childNodes):null,r,!o&&n?n:i?i.__e:e.firstChild,o,a),ae(r,t,a)}function _t(t,e){M(t,e,_t)}lt=rt.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}},ee=0,Re=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),Xt(this))},j.prototype.forceUpdate=function(t){this.__v&&(this.__e=!0,t&&this.__h.push(t),Xt(this))},j.prototype.render=q,H=[],ne=typeof Promise=="function"?Promise.prototype.then.bind(Promise.resolve()):setTimeout,re=function(t,e){return t.__v.__b-e.__v.__b},ot.__r=0,mt=Math.random().toString(8),Q="__d"+mt,W="__a"+mt,oe=/(PointerCapture)$|Capture$/i,wt=0,yt=zt(!1),gt=zt(!0),$e=0;var D,w,vt,Kt,it=0,fe=[],k=x,Gt=k.__b,Vt=k.__r,Yt=k.diffed,Zt=k.__c,Jt=k.unmount,Qt=k.__;function z(t,e){k.__h&&k.__h(w,t,it||e),it=0;var n=w.__H||(w.__H={__:[],__h:[]});return t>=n.__.length&&n.__.push({}),n.__[t]}function je(t){return it=1,pe(he,t)}function pe(t,e,n){var o=z(D++,2);if(o.t=t,!o.__c&&(o.__=[n?n(e):he(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 Tt(t,e){var n=z(D++,3);!k.__s&&St(n.__H,e)&&(n.__=t,n.u=e,w.__H.__h.push(n))}function De(t,e){var n=z(D++,4);!k.__s&&St(n.__H,e)&&(n.__=t,n.u=e,w.__h.push(n))}function Be(t){return it=5,de(function(){return{current:t}},[])}function de(t,e){var n=z(D++,7);return St(n.__H,e)&&(n.__=t(),n.__H=e,n.__h=t),n.__}function Fe(){var t=z(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 We(){for(var t;t=fe.shift();){var e=t.__H;if(t.__P&&e)try{e.__h.some(et),e.__h.some(xt),e.__h=[]}catch(n){e.__h=[],k.__e(n,t.__v)}}}k.__b=function(t){w=null,Gt&&Gt(t)},k.__=function(t,e){t&&e.__k&&e.__k.__m&&(t.__m=e.__k.__m),Qt&&Qt(t,e)},k.__r=function(t){Vt&&Vt(t),D=0;var e=(w=t.__c).__H;e&&(vt===w?(e.__h=[],w.__h=[],e.__.some(function(n){n.__N&&(n.__=n.__N),n.u=n.__N=void 0})):(e.__h.some(et),e.__h.some(xt),e.__h=[],D=0)),vt=w},k.diffed=function(t){Yt&&Yt(t);var e=t.__c;e&&e.__H&&(e.__H.__h.length&&(fe.push(e)!==1&&Kt===k.requestAnimationFrame||((Kt=k.requestAnimationFrame)||Xe)(We)),e.__H.__.some(function(n){n.u&&(n.__H=n.u),n.u=void 0})),vt=w=null},k.__c=function(t,e){e.some(function(n){try{n.__h.some(et),n.__h=n.__h.filter(function(o){return!o.__||xt(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){Jt&&Jt(t);var e,n=t.__c;n&&n.__H&&(n.__H.__.some(function(o){try{et(o)}catch(i){e=i}}),n.__H=void 0,e&&k.__e(e,n.__v))};var te=typeof requestAnimationFrame=="function";function Xe(t){var e,n=function(){clearTimeout(o),te&&cancelAnimationFrame(e),setTimeout(t)},o=setTimeout(n,35);te&&(e=requestAnimationFrame(n))}function et(t){var e=w,n=t.__c;typeof n=="function"&&(t.__c=void 0,n()),w=e}function xt(t){var e=w;t.__c=t.__(),w=e}function St(t,e){return!t||t.length!==e.length||e.some(function(n,o){return n!==t[o]})}function he(t,e){return typeof e=="function"?e(t):e}var qe="$$pnext_typed_array",ze="$$pnext_array_buffer",Ke="$$pnext_ref",Rt="__pnextPromise",Ge="$$pnextErrorReset";function Ve(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=tn(t,a)??e?.(a)??Qe(a)??Ye(a);if(p!==void 0){o[i]=p;continue}n(a)}};return n(t),t}function Ye(t){return t[Ge]===!0?Ze:void 0}function Ze(){location.reload()}function Je(t){let e=globalThis[t];return typeof e=="function"&&"BYTES_PER_ELEMENT"in e?e:void 0}function me(t){return Uint8Array.from(atob(t),e=>e.charCodeAt(0))}function Qe(t){let e=t[ze];if(typeof e=="string")return me(e).buffer;let n=t[qe];if(n===null||typeof n!="object")return;let{type:o,data:i}=n;if(typeof o!="string"||typeof i!="string")return;let r=Je(o);return r?new r(me(i).buffer):void 0}function tn(t,e){let n=e[Ke];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 en(t){return t.includes(Rt)}function nn(t,e){return $t(t,new Set,e)}var rn=new Set(["params","searchParams"]);function $t(t,e,n,o){if(t===null||typeof t!="object"||e.has(t))return t;if(Rt in t){let r=t[Rt],a=on(r);return!n||!o||!rn.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]=$t(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]=$t(i[r],e,n,r);return t}function on(t){let e=Promise.resolve(t);return e.status="fulfilled",e.value=t,e}var ve="data-pnext-static-slot",ye="$$pnext_slot";function ln(t){return t.includes(ye)}async function _n(t,e,n,o){return await ge(t,e,n,o,new Set)}async function ge(t,e,n,o,i){if(t===null||typeof t!="object"||i.has(t))return t;let r=t[ye];if(typeof r=="string"){let m=e.querySelector(`[${ve}="${un(r)}"]`);return m?o("pnext-static-slot",{[ve]: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 ge(p[m],e,n,o,i);return t}function un(t){return t.replace(/["\\]/g,"\\$&")}function an(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 an(r,i),r}function Ct(t,e,n,o){let i=sn(t);return ln(t)?_n(i,e,n,o):i}function sn(t){let e=JSON.parse(t||"{}"),n=Ve(e);return en(t||"")?nn(n):n}function cn(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 Pt(t){let e={};for(let n of t.attributes)e[n.name]=n.value;return e}function fn(t){return t.parentElement?.closest("pnext-client")}var pn=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 dn(t){let e=t;for(;e.parentElement&&getComputedStyle(e).display==="contents";)e=e.parentElement;return e}async function hn(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 mn(){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))}})}mn();function vn(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 yn(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?_t: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 A(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 S(){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=fn(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 hn(_,()=>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 G=At(T,f,await Ct(c,d,A,T),await P(d,u.id),_);M(G,_)}i.add(_);return}d&&(_.replaceChildren(...d.childNodes),_.__pnextLive=void 0,_.__pnextMask=[d.getAttribute("data-pnext-id"),0]);let L=At(T,f,await Ct(c,_,A,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(dn(_))}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 A(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 A(_){let u=(await Promise.all(Array.from(_.childNodes,K))).filter(f=>f!=null&&f!==!1);if(u.length!==0)return u.length===1?u[0]:u}async function K(_){if(_.nodeType===3)return _.textContent;if(_.nodeType!==1)return null;let u=_;if(u.localName==="pnext-boundary-error")return cn(u);if(u.localName==="pnext-hole")return T(pn,{attrs:Pt(u)},await A(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,Pt(u),await A(u));let d=u.getAttribute("data-pnext-props")??"{}",R=await P(u,c.id),L=await g(c);return At(T,L,await Ct(d,u,A,T),R,u)}return n&&u.id==="pnext-page"?T(n,B()):T(u.localName,Pt(u),await A(u))}async function U(){await r,!document.getElementById("pnext-page")?.closest("pnext-client")&&C()}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 C(){if(document.documentElement.hasAttribute("data-pnext-ssr-error"))return;let _=window.__PNEXT_CLIENT_PAGE_ROOT__;if(_&&i.has(_))return;let u=O();u&&(window.__PNEXT_CLIENT_PAGE_ROOT__=u,m(u,T(n,B())))}function O(){let _=document.getElementById("pnext-page");if(!_||!_.parentNode||_.closest("pnext-client")||_.closest("pnext-layout[data-pnext-segment]"))return _;let u=_.parentNode,f="";for(let G of _.attributes)f+=" "+G.name+'="'+G.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=be(d,R,u);return L.__pnextAnchors=[d,R],L}function be(_,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 xe(){return e.length>0&&(a=S(),r=a.done.then(()=>a.mounted)),n&&(e.length>0?p=U():C()),window.__PNEXT_ACTIVE_ENTRY__={unmount:It},r}function Lt(){return e.length>0&&(a=S(),r=a.done.then(()=>a.mounted)),n&&(e.length>0?p=U():C()),r}window.__PNEXT_MOUNT_ISLANDS__=Lt;function It(_){for(let c of i)vn(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:xe,remountRoute:Lt,unmountRoute:It}}function gn(){return Tt(()=>{let t=Intl.DateTimeFormat().resolvedOptions().timeZone;t&&!document.cookie.includes(`tz=${encodeURIComponent(t)}`)&&(document.cookie=`tz=${encodeURIComponent(t)}; path=/; max-age=31536000; samesite=lax`)},[]),null}export{at as $0a,V as $0b,st as $0c,Ht as $0d,Y as $0e,Mt as $0f,ct as $0g,ut as $0h,Ne as $0i,Ut as $0j,Te as $1a,Se as $1b,Pe as $1c,x as $2a,T as $2b,q as $2c,j as $2d,ue as $2e,M as $2f,_t as $2g,je as $2h,pe as $2i,Tt as $2j,De as $2k,Be as $2l,de as $2m,Fe as $2n,yn as $3a,gn as $3b};
@@ -1 +0,0 @@
1
- import{$3a as B}from"./shared-init-02aaa49ed4606a76.js";import{$2b as g,$2d as R,$2f as T,$2k as P,$2m as A}from"./shared-init-02aaa49ed4606a76.js";import{$0d as y}from"./shared-init-03e620f936463465.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-03e620f936463465.js";import{$2c as l,$2h as a,$2j as p,$2k as h,$2l as k}from"./shared-init-e8b9eb1e537215ed-2.js";var $=3600*24*365,v=[["light","Light",E],["dark","Dark",O],["system","System",C]];function F({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=${$}; samesite=lax`,s(e)};return t(l,{children:v.map(([e,o,c])=>t(A,{on:r===e,onPick:()=>i(e),icon:c,children:o},e))})}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 rt(){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 pt({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(I,{anchor:c,current:o})]})}function I({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}var H="side";function bt({collapsed:n}){let[r,s]=a(n);p(()=>{let o=document.querySelector(".app");if(!o)return;let c=()=>s(o.classList.contains("side-min"));c();let u=new MutationObserver(c);return u.observe(o,{attributes:!0,attributeFilter:["class"]}),()=>u.disconnect()},[]);let i=()=>{let o=!r;document.querySelector(".app")?.classList.toggle("side-min",o),document.cookie=`${H}=${o?"min":"max"}; path=/; max-age=31536000; samesite=lax`},e=r?"Expand sidebar":"Collapse sidebar";return t(f,{icon:r?S:L,label:e,tip:e,class:"side-toggle",onClick:i})}function xt({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"})}export{F as a,J as b,rt as c,pt as d,bt as e,xt as f};
@@ -1 +0,0 @@
1
- import{$0d as i}from"./shared-init-02aaa49ed4606a76.js";import{$1L as o,$1a as t}from"./shared-init-03e620f936463465.js";import{$2c as n}from"./shared-init-e8b9eb1e537215ed-2.js";function g({sentinel:r,more:l,busy:a,error:e,retry:s,noun:u}){return!l&&!e?null:t("div",{class:e?"tail err":"tail",ref:r,role:"status",children:e?t(n,{children:[e," ",t(o,{variant:"ghost",size:"sm",onClick:s,children:"Retry"})]}):a?t(i,{label:`Loading more ${u}`,inline:!0}):null})}export{g as a};
@@ -1 +0,0 @@
1
- import{b as i,c as n}from"./defaults-dcc0eccad4e8585b.js";var p=[["","Recent"],["active","Active"],["waiting","Needs approval"],["running","Running"],["queued","Queued"],["completed","Completed"],["failed","Failed"],["cancelled","Cancelled"],["archived","Archived"]];function R(t){let{status:e,...r}=t;return e==="archived"?{...r,archived:!0}:{...r,status:e}}var u=[["","All sources"],["dashboard","Dashboard"],["cli","CLI"],["schedule","Schedule"]],T=t=>(u.find(([e])=>e===t)??[t,t])[1],m=t=>t.status==="queued"||t.status==="running"||t.status==="waiting",o=t=>({rank:i(t.status),createdAt:t.createdAt,id:t.task.id}),d=(t,e)=>n(o(t),o(e));function w(t,e){let r=new Set(e.map(a=>a.task.id));return[...e,...t.filter(a=>!r.has(a.task.id))].sort(d)}function g(t,e,r={}){let a=new Set(t.map(s=>s.task.id));return[...e.filter(s=>!a.has(s.task.id)),...t].map(s=>r[s.task.id]??s).sort(d)}function f(t,e,r,a){let s=t.at(-1);return{rows:t.filter(c=>(r[c.task.id]??0)<=a),cursor:s?{since:s.updatedAt,sinceId:s.task.id}:e}}var x=t=>t.task.name?.trim()||t.task.prompt?.trim()||t.task.event?.text?.trim()||`${t.task.event?.type??"task"} on ${t.task.agent}`,h=t=>t.split(/[\\/]/).filter(Boolean).at(-1)??t;export{p as a,R as b,u as c,T as d,m as e,w as f,g,f as h,x as i,h as j};
@@ -1 +0,0 @@
1
- import{a as I}from"./confirm-1cb4d8df3974f34a.js";import{b as v}from"./action-977f2355e308d7d0.js";import{$1c as b}from"./shared-init-02aaa49ed4606a76.js";import{$2B as x,$2a as D,$2k as f}from"./shared-init-02aaa49ed4606a76.js";import{$0a as R,$0k as M}from"./shared-init-02aaa49ed4606a76.js";import{$0c as m}from"./shared-init-03e620f936463465.js";import{$1L as u,$1a as o,$1b as B,$1y as T}from"./shared-init-03e620f936463465.js";import{$2c as h,$2h as p}from"./shared-init-e8b9eb1e537215ed-2.js";function z(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 V({task:t,live:i}){let n=D(),s=x(),e=v(),a=v({leaves:!0}),[g,r]=p(""),[c,l]=p(!!t.archivedAt),[y,k]=p(!1),w=async d=>{r("");let A=await e.run(d,()=>m.tasks[d](t.task.id));return A&&r(d==="cancel"?"Stop requested.":"Archived."),A},S=()=>void a.run("delete",async()=>{await m.tasks.delete(t.task.id),n.push("/dash/[org]/tasks",{params:{org:s}})}).then(d=>d||k(!1)),C=()=>void w("archive").then(l);return o(h,{children:[o("span",{class:"flash",role:"status",children:g}),i?o(u,{variant:"outline",disabled:!!e.pending,loading:e.pending==="cancel",onClick:()=>void w("cancel"),children:"Stop"}):c?null:o(u,{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&&!c?o(f,{title:"Archive",onClick:C}):null,o(f,{title:"Copy task id",onClick:()=>void navigator.clipboard.writeText(t.task.id).then(()=>b("Copied",t.task.id))}),o(f,{title:"Delete",danger:!0,onClick:()=>k(!0)})]}),o(I,{open:y,title:"Delete this task?",body:"Its conversation, activity and diff go with it.",confirmLabel:"Delete",busy:!!a.pending,onConfirm:S,onClose:()=>k(!1)})]})}function W({task:t}){let i=v({toast:"Not sent"}),n=i.pending,[s,e]=p(),{id:a,action:g,reason:r}=z(t.approval),c=async l=>{await i.run(l,()=>m.tasks.approve(t.task.id,a??"",l))&&(e(a),b(l==="accept"?"Allowed":"Denied","The task continues."))};return a&&s===a?null:o(R,{tone:"accent",title:"Approval needed",actions:t.task.flow==="default"?o(h,{children:[o(u,{variant:"outline",size:"sm",disabled:!!n,loading:n==="decline",onClick:()=>void c("decline"),children:"Deny"}),o(u,{size:"sm",disabled:!!n,loading:n==="accept",onClick:()=>void c("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{z as a,V as b,W as c};