@wular/coder 0.4.7 → 0.4.9

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 (631) hide show
  1. package/README.md +2 -2
  2. package/dist/actions-5TDwmn_z.js +20 -0
  3. package/dist/adapter-B2RXnvqt.js +49845 -0
  4. package/dist/adapter-YCvP9H2n.js +94 -0
  5. package/dist/adapter-sKt1J1Cm.js +1 -0
  6. package/dist/{add-B3zygDO5.js → add-BftLUw05.js} +1 -1
  7. package/dist/add-CXAGrCnC.js +1 -0
  8. package/dist/add-Ck_y_nKX.js +2 -0
  9. package/dist/{add-DpsjB8Mp.js → add-CvBTpxgY.js} +1 -1
  10. package/dist/agent-ChnedLBv.js +8 -0
  11. package/dist/agent-vYm7Geh-.js +1 -0
  12. package/dist/{alias-CZjD1F0F.js → alias-BpgVDY6_.js} +1 -1
  13. package/dist/api-qdpx8FD0.js +1 -0
  14. package/dist/{app-CE5j7IDN.js → app-CJPFaLIV.js} +1 -1
  15. package/dist/approvals-CE8dXZhE.js +2 -0
  16. package/dist/approve-CBuGu3du.js +1 -0
  17. package/dist/{approve-D5Dkw1Lo.js → approve-dWW4qt76.js} +2 -2
  18. package/dist/apps-B60OpAHX.js +242 -0
  19. package/dist/{archive-RBPoB4cr.js → archive-C89Z4kSx.js} +2 -2
  20. package/dist/{archive-Br2eM_A2.js → archive-CmRVm4iS.js} +2 -2
  21. package/dist/archive-sweep-EiiXIqjr.js +1 -0
  22. package/dist/args-CxsMr9Un.js +1 -0
  23. package/dist/{ask-zjX8kQz0.js → ask-Bou8zg-4.js} +2 -2
  24. package/dist/auth-CImjIcG5.js +1 -0
  25. package/dist/auth-CWzSsiSC.js +1 -0
  26. package/dist/build-CmtlB7pX.js +1 -0
  27. package/dist/builtin/coder/agent.json +19 -4
  28. package/dist/chat-Bbzlea60.js +1 -0
  29. package/dist/chat-Djps0Seg.js +13 -0
  30. package/dist/{chat-bridge-18koyS7c.js → chat-bridge-CvspGKBc.js} +1 -1
  31. package/dist/chunk-7WDLOIRP-B_IWkVtZ.js +1 -0
  32. package/dist/cli-ZUdhZnuW.js +9 -0
  33. package/dist/cli.js +1 -1
  34. package/dist/config-CF3_A3NX.js +3 -0
  35. package/dist/config-D2FxHWwi.js +14 -0
  36. package/dist/connection-BCRJHTgp.js +1 -0
  37. package/dist/connection-BtUZA2St.js +1 -0
  38. package/dist/core-DwsAMCnL.js +65 -0
  39. package/dist/create-Z0QxarzN.js +1 -0
  40. package/dist/credentials-Dt2uP3AQ.js +1 -0
  41. package/dist/dash/standalone/server/build-index.json +1 -1
  42. package/dist/dash/standalone/server/manifest.json +2761 -1589
  43. package/dist/dash/standalone/server/modules-server-server-react-server/src/client/{index.b7c6e5f49704993d.js → index.8e150ef2bc6a5f4e.js} +68 -16
  44. package/dist/dash/standalone/server/modules-server-server-react-server/src/core/{defaults.36612942475445c3.js → defaults.e6ce0944639198a2.js} +5 -1
  45. package/dist/dash/standalone/server/modules-server-server-react-server/src/core/{errors.e10960fe4c66b9d8.js → errors.5954bd9bd05e8230.js} +1 -0
  46. package/dist/dash/standalone/server/modules-server-server-react-server/src/core/task/{log-view.58ba9a3d545808d7.js → log-view.871cbff2605b5cfd.js} +3 -2
  47. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/api/{load.35be1b07171553e7.js → load.4f942c7f68b2e273.js} +10 -5
  48. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/connect/{page.72b248cd95237fb6.js → page.a2a16ead424b2185.js} +9 -6
  49. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/create/[id]/page.90e312759b87cfa2.js +29 -0
  50. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/{account/loading.fce966caba9308e4.js → [org]/account/loading.787d09fb0b2b6b57.js} +3 -3
  51. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/{account/notify.fc4ba1b51ee26296.js → [org]/account/notify.5fc5e4346dcbfc32.js} +3 -3
  52. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/{account/page.6c8e958aeab2678e.js → [org]/account/page.1641da62504df30a.js} +27 -21
  53. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/account/sign-out.5dac3bf780c74354.js +20 -0
  54. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/(list)/agent-menu.f1dacbfebc27a656.js +13 -0
  55. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/{agents/(list)/agents-grid.0813591f217e9dbb.js → [org]/agents/(list)/agents-grid.5da78e9a741b028a.js} +23 -21
  56. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/(list)/connect-apps.722bc3e4ec1f9fad.js +36 -0
  57. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/(list)/loading.2815a010098aa676.js +18 -0
  58. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/{agents/(list)/page.e0ad2df8b7c9a0af.js → [org]/agents/(list)/page.b01992337eeca2dc.js} +19 -20
  59. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/layout.8aeb0fddffe22ad5.js +120 -0
  60. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/loading.50692149df9abb28.js +5 -0
  61. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/{agents/[slug]/(tabs)/page.1ba2497fa9116713.js → [org]/agents/[slug]/(tabs)/page.e2e23101c05b9548.js} +40 -30
  62. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/platforms/loading.31d2c13229ae9222.js +29 -0
  63. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/platforms/page.11c7b50d6119efe6.js +343 -0
  64. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/platforms/platform-actions.92ac7aa258e706a4.js +574 -0
  65. 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 +405 -0
  66. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/settings/loading.bf17bd39f41db826.js +8 -0
  67. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/settings/page.6e95dfe07dfebf4b.js +46 -0
  68. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/{agents/[slug]/(tabs)/tasks/loading.f5c0c1c727da9f57.js → [org]/agents/[slug]/(tabs)/tasks/loading.7b17368ee81275ab.js} +2 -2
  69. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/{agents/[slug]/(tabs)/tasks/page.9324e2d909d55c6f.js → [org]/agents/[slug]/(tabs)/tasks/page.0bd3da9b3227b12f.js} +2 -2
  70. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/{agents/[slug]/(tabs)/usage/loading.5e1f922969ab7016.js → [org]/agents/[slug]/(tabs)/usage/loading.d2cc33cf044a92a3.js} +16 -8
  71. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/usage/page.91c43fbc54e37646.js +209 -0
  72. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/{agents/[slug]/(tabs)/versions-list.e2427d618decaf7a.js → [org]/agents/[slug]/(tabs)/versions-list.23e4131cdf71daa5.js} +7 -7
  73. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/edit/loading.47c4c8f31b4f17cc.js +23 -0
  74. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/{agents/[slug]/edit/page.057807354396ea77.js → [org]/agents/[slug]/edit/page.cbd2bad8fede6fef.js} +20 -16
  75. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/agent/agent-pills.d8e785c45f5410a6.js +100 -0
  76. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/agent/agent-toggle.a6e27ac4171bfdb0.js +42 -0
  77. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/agent/hero.96bdca9762ff3e2e.js +94 -0
  78. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/{agents/agent/instructions.2f4229d42e7c99ef.js → [org]/agents/agent/instructions.ca0c09d4849bfc30.js} +4 -4
  79. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/{agents/editor/connect-repositories.329ac182c8242a67.js → [org]/agents/editor/connect-repositories.258f6c2c5f1b1b17.js} +1 -1
  80. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/{agents/editor/editor.d28d4afe11d7ff71.js → [org]/agents/editor/editor.20c42102ed262db7.js} +176 -137
  81. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/{agents/editor/import-picker.5e76549e7934b718.js → [org]/agents/editor/import-picker.b8093a7ca97656a5.js} +61 -71
  82. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/new/loading.6012b36c10c68657.js +28 -0
  83. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/{agents/new/page.c3396459a9ba5c13.js → [org]/agents/new/page.1ebdb0247922fc14.js} +13 -12
  84. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/{layout.53a8a3b0e4a7917f.js → [org]/layout.6d2242d49ae9dd35.js} +107 -133
  85. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/operator/operator-apps.a56516bc0ba79187.js +144 -0
  86. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/operator/page.af19494c89ac62c0.js +84 -0
  87. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/page.c720853404d94114.js +11 -0
  88. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/connections-list.9b96914a4fa4e2a9.js +637 -0
  89. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/credentials-list.dbaa8f3d82445b90.js +522 -0
  90. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/credentials.c4b01484d183549d.js +44 -0
  91. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/{settings/[tab]/engines-list.6c02a7e6d3c965cc.js → [org]/settings/[tab]/engines-list.5c03e83663a6a9b7.js} +13 -15
  92. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/{settings/[tab]/list.db2e212e3c8b5d32.js → [org]/settings/[tab]/list.df5ee5d74bec0f5b.js} +17 -43
  93. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/loading.480b8f915bae18c1.js +6 -0
  94. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/{settings/[tab]/models-list.052f3ccc66833937.js → [org]/settings/[tab]/models-list.2835a48d1edeb6d1.js} +45 -41
  95. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/page.1d53415d55e77fee.js +133 -0
  96. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/{settings/[tab]/runners-list.b5296983ba8007aa.js → [org]/settings/[tab]/runners-list.bf5746f48e3f78f5.js} +82 -133
  97. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/secrets-list.b0dedc1567efc09f.js +137 -0
  98. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/layout.567d27e39d42d719.js +49 -0
  99. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/page.bac05d6e87953d0e.js +11 -0
  100. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/{settings/settings-head.d0f5ac9cbf170a77.js → [org]/settings/settings-head.5e2dff2550b3b73e.js} +8 -7
  101. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/{settings/tunnel-guide.f6685b045ccccdcd.js → [org]/settings/tunnel-guide.d6fae1c5d62f2c74.js} +5 -3
  102. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/setup/create-link.03989d2f7585a045.js +33 -0
  103. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/setup/outcome-dialog.4debc1a8c644df4b.js +32 -0
  104. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/setup/outcome.cbbc8cd1bbbee01b.js +71 -0
  105. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/setup/page.43c969f59a710781.js +45 -0
  106. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/[id]/activity.3755ae6065c3fc28.js +318 -0
  107. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/{tasks/[id]/loading.d88d1139ea3ff52a.js → [org]/tasks/[id]/loading.9efbed6531879838.js} +8 -8
  108. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/[id]/page.7b92dcd08095b934.js +24 -0
  109. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/[id]/task-actions.62422b873f98ee8e.js +149 -0
  110. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/{tasks/[id]/task-view.1c54f267d127f4e3.js → [org]/tasks/[id]/task-view.ae0e9c9dffe0ff9f.js} +107 -102
  111. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/composer-data.ff108c0ef82a4d7b.js +69 -0
  112. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/{tasks/composer.f232cc1bf2d7b08a.js → [org]/tasks/composer.fdad306647cbaa59.js} +157 -160
  113. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/{tasks/list/status.b90b76ffa62e957a.js → [org]/tasks/list/status.16190fdd5fd7daad.js} +2 -2
  114. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/{tasks/list/task.465c2af602cce783.js → [org]/tasks/list/task.af5001e51d2f612b.js} +12 -1
  115. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/{tasks/list/tasks-list.2a0e1eb5c396be42.js → [org]/tasks/list/tasks-list.952f37a9486aebe7.js} +119 -115
  116. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/{tasks/list/tasks-section.2cbc1550d723661d.js → [org]/tasks/list/tasks-section.1247d4765d0e1bdc.js} +14 -13
  117. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/page.cf74c55e6528c7c9.js +16 -0
  118. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/usage/custom-range.2d55812ec086b540.js +63 -0
  119. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/{usage/day-chart.5e716070459d785c.js → [org]/usage/day-chart.08d378cca93d3ab1.js} +4 -4
  120. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/usage/loading.7aed78a276b08a4f.js +15 -0
  121. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/{usage/metric.ca0466e33225f184.js → [org]/usage/metric.ada350d2b7449b39.js} +1 -1
  122. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/{usage/page.c2b88b495780b12a.js → [org]/usage/page.fed9345ebac3e1b3.js} +20 -19
  123. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/usage/range-bar.b1296c2378128472.js +57 -0
  124. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/{usage/stats.4793e81a32ea5e8f.js → [org]/usage/stats.de820599cf126120.js} +2 -2
  125. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/{usage/top-agents.b228062d012dc17b.js → [org]/usage/top-agents.e215d44e00192271.js} +21 -15
  126. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/{layout.c762b39aafb84a1f.js → layout.b7e3af142b17941b.js} +1 -1
  127. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/login/{page.3ddaa1a675a04c5a.js → page.226544940a39fd3a.js} +11 -6
  128. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/frame/{drawer.b337ce209ff621e9.js → drawer.8287e5a02144e4f1.js} +12 -11
  129. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/frame/foreign-link.86f0cc228353da6e.js +28 -0
  130. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/frame/{heads.fa2157b3b36647f3.js → heads.20414ddcb2d08bcd.js} +18 -14
  131. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/frame/loading-card.0c6ac62ff3ccf38a.js +40 -0
  132. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/frame/{page-head.a2336c95004aed4b.js → page-head.bd54e52ac4a7a89c.js} +16 -8
  133. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/frame/{stream.77a2ec038d97b2b8.js → stream.1cc355a530dcc5e3.js} +2 -2
  134. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/frame/{task-toasts.10b46a8b8db1791f.js → task-toasts.63f673632770924d.js} +108 -24
  135. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/frame/{theme-choices.ea23f57dd753683f.js → theme-choices.5f59814a635caeec.js} +8 -17
  136. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/nav/back-cookie.942c0904e944d8d6.js +12 -0
  137. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/nav/back.5681714d0cf45454.js +42 -0
  138. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/nav/{current-link.844899810531977f.js → current-link.727b350a40b9ca13.js} +1 -1
  139. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/nav/org.4d84ad0ac340fbe2.js +29 -0
  140. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/nav/{side-toggle.55d3e6c43ca5e1f9.js → side-toggle.249400957d6a7527.js} +9 -9
  141. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/nav/{to.0116bedfbe5f1133.js → to.a2c840c09bd4bf4a.js} +2 -0
  142. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/badge.0851f234f300c694.js +83 -0
  143. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/button.983daea9e687fc5d.js +91 -0
  144. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{card.b0873d38765c9d20.js → card.c08471eaa0bc1cec.js} +41 -2
  145. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{collapse.dab7f208cbbe6a33.js → collapse.762eba56417214ca.js} +5 -3
  146. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{combo.ca0efacf2ce15578.js → combo.efb84f0cca771948.js} +13 -20
  147. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/confirm.53edc755945b0563.js +27 -0
  148. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/copy.0b23d7dc05757df5.js +31 -0
  149. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/copy.fb3240de6c9479cd.css.pnext-asset.js +0 -0
  150. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{field.7b2a2075ee8c6e29.js → field.75588c33b72824a7.js} +0 -7
  151. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{filter.f19b6d5ebd6a3c2b.js → filter.1983b85dd0679af6.js} +34 -53
  152. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/filter.b53f21acc3e2cfef.css.pnext-asset.js +0 -0
  153. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{icons.1777c0350d5d215e.js → icons.a34176f37808cd66.js} +4 -0
  154. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/menu-items.a8e580a0c90631ff.js +145 -0
  155. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/menu.25b184f68cba7b46.css.pnext-asset.js +0 -0
  156. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/menu.a41edd5cde1c90cf.js +94 -0
  157. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/modal.9db07d368dcf5981.css.pnext-asset.js +0 -0
  158. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/modal.b5f74ebf59590fa6.js +66 -0
  159. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/notice.f395f231cbb96445.js +13 -0
  160. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{segmented.5ac52bb38fb64ae5.js → segmented.a08dc08338d080e9.js} +13 -2
  161. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{select.f036fdc3fce02b92.js → select.36c6f21ce6aa720f.js} +47 -41
  162. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/select.419208bb34700af2.css.pnext-asset.js +0 -0
  163. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{sentinel.d3d29747fe976f88.js → sentinel.17cffebfc3103b9f.js} +1 -1
  164. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/sentinel.1e3ec9bd6008d811.css.pnext-asset.js +0 -0
  165. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{tabs.d00fc01ad9c1b91e.js → tabs.66b2e54963f6901b.js} +3 -2
  166. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{tail.9377d261fe9e91df.js → tail.a8a951c757376590.js} +5 -4
  167. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/toolbar.19e1ce5224a23acf.css.pnext-asset.js +0 -0
  168. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{toolbar.b2c59c5fc015d08d.js → toolbar.9621ef221a896a8e.js} +11 -6
  169. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/utils/action.1a6356d5b722cafb.js +34 -0
  170. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/utils/client.d25e6dcc6704eb60.js +59 -0
  171. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/utils/{paged.7e5713a82abf0211.js → paged.18f5872fc5aebe96.js} +1 -0
  172. package/dist/dash/standalone/static/assets/chunks/action-977f2355e308d7d0.js +1 -0
  173. package/dist/dash/standalone/static/assets/chunks/agent-pills-e75e6ac80d515ffc.js +1 -0
  174. package/dist/dash/standalone/static/assets/chunks/agent-settings-form-09f23ed893d441c7.js +1 -0
  175. package/dist/dash/standalone/static/assets/chunks/agent-toggle-b2f2c22e63dedc1f.js +1 -0
  176. package/dist/dash/standalone/static/assets/chunks/agents-grid-bb4f3e4d38b2f459.js +1 -0
  177. package/dist/dash/standalone/static/assets/chunks/back-1d1b062f0e1b29b7.js +1 -0
  178. package/dist/dash/standalone/static/assets/chunks/combo-126d5709a0b3a5bd.js +1 -0
  179. package/dist/dash/standalone/static/assets/chunks/composer-6bf94d1087a6e6a6.js +1 -0
  180. package/dist/dash/standalone/static/assets/chunks/composer-9c1fe67a0de73997.js +1 -0
  181. package/dist/dash/standalone/static/assets/chunks/confirm-1cb4d8df3974f34a.js +1 -0
  182. package/dist/dash/standalone/static/assets/chunks/connect-apps-32c169b6e00711ff.js +1 -0
  183. package/dist/dash/standalone/static/assets/chunks/{connect-repositories-8864a63f83ffd411.js → connect-repositories-995d55b3f166337d.js} +1 -1
  184. package/dist/dash/standalone/static/assets/chunks/connections-list-a102e909edff14d4.js +1 -0
  185. package/dist/dash/standalone/static/assets/chunks/copy-c938369a1bfe75fd.js +1 -0
  186. package/dist/dash/standalone/static/assets/chunks/create-link-a147953f343355ec.js +1 -0
  187. package/dist/dash/standalone/static/assets/chunks/credentials-list-31e0fbc1ef0d003e.js +1 -0
  188. package/dist/dash/standalone/static/assets/chunks/custom-range-4eeb710748887f3a.js +1 -0
  189. package/dist/dash/standalone/static/assets/chunks/defaults-dcc0eccad4e8585b.js +1 -0
  190. package/dist/dash/standalone/static/assets/chunks/editor-79560c0f91cfc2f6.js +7 -0
  191. package/dist/dash/standalone/static/assets/chunks/engines-list-d22f50040e6842ae.js +1 -0
  192. package/dist/dash/standalone/static/assets/chunks/field-657227821326b5b3.js +1 -0
  193. package/dist/dash/standalone/static/assets/chunks/instructions-a08bb02650dedb8d.js +2 -0
  194. package/dist/dash/standalone/static/assets/chunks/instructions-a1f10bc3c2866e3f.js +1 -0
  195. package/dist/dash/standalone/static/assets/chunks/list-a0cc9bdb05fc71d4.js +1 -0
  196. package/dist/dash/standalone/static/assets/chunks/model-options-3a57918eaa4a2a82.js +1 -0
  197. package/dist/dash/standalone/static/assets/chunks/models-list-63ab774de3bf3788.js +1 -0
  198. package/dist/dash/standalone/static/assets/chunks/notice-cd32ca98bbc10844.js +1 -0
  199. package/dist/dash/standalone/static/assets/chunks/outcome-dialog-4ab62d613bee243a.js +1 -0
  200. package/dist/dash/standalone/static/assets/chunks/platform-actions-40824017c7b5b910.js +1 -0
  201. package/dist/dash/standalone/static/assets/chunks/platform-actions-a515643f341df568.js +1 -0
  202. package/dist/dash/standalone/static/assets/chunks/runners-list-a9f4f71695f7b376.js +1 -0
  203. package/dist/dash/standalone/static/assets/chunks/{runtime-37175329f2865f15-1.js → runtime-e8b9eb1e537215ed-1.js} +1 -1
  204. package/dist/dash/standalone/static/assets/chunks/secrets-list-34e09c332363564c.js +1 -0
  205. package/dist/dash/standalone/static/assets/chunks/segmented-24da438244eedc8f.js +1 -0
  206. package/dist/dash/standalone/static/assets/chunks/shared-init-02aaa49ed4606a76.js +2 -0
  207. package/dist/dash/standalone/static/assets/chunks/shared-init-03e620f936463465.js +5 -0
  208. package/dist/dash/standalone/static/assets/chunks/shared-init-6f8c76316a2cd9da.js +1 -0
  209. package/dist/dash/standalone/static/assets/chunks/shared-init-e8b9eb1e537215ed-2.js +1 -0
  210. package/dist/dash/standalone/static/assets/chunks/side-toggle-8563e6056e862225.js +1 -0
  211. package/dist/dash/standalone/static/assets/chunks/tail-ebdefca4d5c23266.js +1 -0
  212. package/dist/dash/standalone/static/assets/chunks/task-6ae2bb4f1b384140.js +1 -0
  213. package/dist/dash/standalone/static/assets/chunks/task-actions-462507b76bda4657.js +1 -0
  214. package/dist/dash/standalone/static/assets/chunks/task-view-341d79730a341007.js +5 -0
  215. package/dist/dash/standalone/static/assets/chunks/tasks-list-6037ecd098332564.js +1 -0
  216. package/dist/dash/standalone/static/assets/chunks/versions-list-31f31eb1923a0ded.js +1 -0
  217. package/dist/dash/standalone/static/assets/chunks/{wular-pnext-37175329f2865f15-0.js → wular-pnext-e8b9eb1e537215ed-0.js} +1 -1
  218. package/dist/dash/standalone/static/assets/connect-a550b6f3a8c00186.css +1 -0
  219. package/dist/dash/standalone/static/assets/create-param-id-8fa3e9101430f26a.css +1 -0
  220. package/dist/dash/standalone/static/assets/dash-param-org-67f7811b1343c064.css +1 -0
  221. package/dist/dash/standalone/static/assets/dash-param-org-account-3f646d473e3bd795.css +1 -0
  222. package/dist/dash/standalone/static/assets/dash-param-org-agents-0ddb989cab5b0fbf.css +1 -0
  223. package/dist/dash/standalone/static/assets/dash-param-org-agents-new-504d1a906feabb6f.css +1 -0
  224. package/dist/dash/standalone/static/assets/dash-param-org-agents-param-slug-edit-7cd987a1a42a3b44.css +1 -0
  225. package/dist/dash/standalone/static/assets/dash-param-org-agents-param-slug-fcdddf2dc26453ce.css +1 -0
  226. package/dist/dash/standalone/static/assets/dash-param-org-agents-param-slug-platforms-26b84d659dbca7f4.css +1 -0
  227. package/dist/dash/standalone/static/assets/dash-param-org-agents-param-slug-settings-97ff652f9fe5979d.css +1 -0
  228. package/dist/dash/standalone/static/assets/dash-param-org-agents-param-slug-tasks-d47377c0f877c5c0.css +1 -0
  229. package/dist/dash/standalone/static/assets/dash-param-org-agents-param-slug-usage-6a09580f11d669b7.css +1 -0
  230. package/dist/dash/standalone/static/assets/dash-param-org-operator-56742192a9aafc19.css +1 -0
  231. package/dist/dash/standalone/static/assets/dash-param-org-settings-a851a659784d94b5.css +1 -0
  232. package/dist/dash/standalone/static/assets/dash-param-org-settings-param-tab-06283106fffbd5c6.css +1 -0
  233. package/dist/dash/standalone/static/assets/dash-param-org-setup-1b708aa5bb2f83ef.css +1 -0
  234. package/dist/dash/standalone/static/assets/dash-param-org-tasks-9cb2bb12389c9a04.css +1 -0
  235. package/dist/dash/standalone/static/assets/dash-param-org-tasks-param-id-a87fa0eaa02e4008.css +1 -0
  236. package/dist/dash/standalone/static/assets/dash-param-org-usage-786c91a7640542e6.css +1 -0
  237. package/dist/dash/standalone/static/assets/global-eee296f070a9bb95.css +1 -0
  238. package/dist/dash/standalone/static/assets/login-9760b85feae40270.css +1 -0
  239. package/dist/dash/standalone/static/assets/pnext-client-17c3ee29b7487596.js +1 -0
  240. package/dist/dash/standalone/static/assets/pnext-client-1eaa8deb5395345f.js +1 -0
  241. package/dist/dash/standalone/static/assets/pnext-client-29e2b964470f6587.js +1 -0
  242. package/dist/dash/standalone/static/assets/pnext-client-2a1e756934e7be1a.js +1 -0
  243. package/dist/dash/standalone/static/assets/pnext-client-31e64d49f6132b26.js +1 -0
  244. package/dist/dash/standalone/static/assets/pnext-client-3d13328ad0b1148b.js +1 -0
  245. package/dist/dash/standalone/static/assets/pnext-client-4ac29d3e9f1a91be.js +1 -0
  246. package/dist/dash/standalone/static/assets/pnext-client-7d479b3375e3c07e.js +1 -0
  247. package/dist/dash/standalone/static/assets/pnext-client-9eac45990b233b55.js +1 -0
  248. package/dist/dash/standalone/static/assets/pnext-client-a8c9c169322e7e3d.js +1 -0
  249. package/dist/dash/standalone/static/assets/pnext-client-b622d087a38b1b77.js +1 -0
  250. package/dist/dash/standalone/static/assets/pnext-client-b7fea94dfda72453.js +1 -0
  251. package/dist/dash/standalone/static/assets/pnext-client-cc8e5e6c95040688.js +1 -0
  252. package/dist/dash/standalone/static/assets/pnext-client-d16e2a42b0a274c0.js +1 -0
  253. package/dist/dash/standalone/static/assets/pnext-client-dbccfef0cbb6b18d.js +1 -0
  254. package/dist/dash/standalone/static/assets/pnext-client-e74706ae238018e5.js +1 -0
  255. package/dist/dash/standalone/static/assets/pnext-client-ebe7c9692619ea00.js +1 -0
  256. package/dist/dash/standalone/static/assets/pnext-client-ef8d348060493085.js +1 -0
  257. package/dist/dash/standalone/static/assets/pnext-client-fcdfa8b2c8824449.js +1 -0
  258. package/dist/dash/standalone/static/assets/pnext-client-ff36e2f8a0522759.js +1 -0
  259. package/dist/{default-B3ValFJp.js → default-DcYwZCnl.js} +1 -1
  260. package/dist/default-EXRzdZUY.js +1 -0
  261. package/dist/{delete-6T7ujDtY.js → delete-Bmn2_TiV.js} +2 -2
  262. package/dist/{delete-k7pxp5B6.js → delete-DS6P_fun.js} +2 -2
  263. package/dist/{disable-BJXxuJ9s.js → disable-CnCxTC3X.js} +1 -1
  264. package/dist/discover-CBP4Uw0N.js +1 -0
  265. package/dist/{discover-CRUU1hdS.js → discover-pKrMDvpW.js} +2 -2
  266. package/dist/dispatch-D3Dqxijf.js +8 -0
  267. package/dist/dist-BTornX7Y.js +101 -0
  268. package/dist/dist-C3wD7GfG.js +4 -0
  269. package/dist/dist-DkATuPBB.js +6 -0
  270. package/dist/dist-node-Bv1kCqyi.js +20 -0
  271. package/dist/docs-3SW1O9iS.js +2 -0
  272. package/dist/{docs-PmFB2aMA.js → docs-sFUXzJbk.js} +1 -1
  273. package/dist/{enable-DZ7rw7iL.js → enable-BWvDv7dP.js} +1 -1
  274. package/dist/env-C_DoQYl5.js +1 -0
  275. package/dist/exec-BsXFIdTl.js +11 -0
  276. package/dist/executor-5j-Ewzzb.js +11 -0
  277. package/dist/flow/builtin/review.d.ts +1 -156
  278. package/dist/flow/builtin/review.js +7 -7
  279. package/dist/flow/index.d.ts +1 -1
  280. package/dist/flow/index.js +1 -1
  281. package/dist/{flow-D8T71fyu.js → flow-CuUq-MDm.js} +1 -1
  282. package/dist/http-Cg_wYcZT.js +1 -0
  283. package/dist/{index-Xe8n_t2Z.d.ts → index-vd37q3fn.d.ts} +103 -1
  284. package/dist/{init-BfXdsU46.js → init-Dgj6V-aS.js} +1 -1
  285. package/dist/integrations-D3OgJk6Y.js +1 -0
  286. package/dist/integrations-DsFX2KCq.js +1 -0
  287. package/dist/lib/broker.js +2 -2
  288. package/dist/list-B6lwbCEp.js +1 -0
  289. package/dist/{list-NtMN55g0.js → list-BDpYPbJF.js} +1 -1
  290. package/dist/{list-F-PN6ieH.js → list-BE3xmX_4.js} +1 -1
  291. package/dist/{list-erdHI-w9.js → list-BVIAyAAE.js} +2 -2
  292. package/dist/{list-DedQA2pn.js → list-Bggy3HZY.js} +2 -2
  293. package/dist/list-CLtqMYPK.js +2 -0
  294. package/dist/{list-yoGxyIlx.js → list-CaFQOnfI.js} +1 -1
  295. package/dist/{list-CO8x2rgz.js → list-DkO78ZEF.js} +1 -1
  296. package/dist/load-CRmQB1LD.js +2 -0
  297. package/dist/local-ccKBhpQc.js +1 -0
  298. package/dist/log-view-DB4nXHXO.js +3 -0
  299. package/dist/{login-CJjcqCg4.js → login-BCdXHQ7z.js} +1 -1
  300. package/dist/login-CpHx_RCq.js +1 -0
  301. package/dist/{logout-B7mHWeWr.js → logout-zSQBDPCK.js} +1 -1
  302. package/dist/maintenance-DuIspk-y.js +1 -0
  303. package/dist/match-Kt3vFTl1.js +1 -0
  304. package/dist/mcp-O8VTfzdL.js +12 -0
  305. package/dist/mcp-YhyTUMIM.js +11 -0
  306. package/dist/{model-Cti-OOdV.js → model-Bzpwl_95.js} +1 -1
  307. package/dist/models-CdvmuaLv.js +1 -0
  308. package/dist/prompt-C--TI1qn.js +8 -0
  309. package/dist/push-vt81gcxD.js +1 -0
  310. package/dist/reconnect-BfghDbl1.js +1 -0
  311. package/dist/refresh-yXJ13FAf.js +1 -0
  312. package/dist/remote-oQs6My_3.js +1 -0
  313. package/dist/remove-5iAM2aTO.js +1 -0
  314. package/dist/remove-BZCA-gdU.js +1 -0
  315. package/dist/remove-BcewhH1U.js +1 -0
  316. package/dist/remove-BwhcR6ig.js +1 -0
  317. package/dist/rename-lyssPQfD.js +1 -0
  318. package/dist/result-Bg557zR6.js +5 -0
  319. package/dist/{result-DtVw6XYk.js → result-jeiRJTzA.js} +7 -7
  320. package/dist/{resume-D7XcEIbu.js → resume-fnx4FUQF.js} +2 -2
  321. package/dist/{review-DZGyNO5h.js → review-CAHDqPq8.js} +3 -3
  322. package/dist/review-CJS59vO-.d.ts +157 -0
  323. package/dist/{rotate-key-pIfcaeCd.js → rotate-key-Dpx_WmuU.js} +1 -1
  324. package/dist/{run-Co36tfya.js → run-CLy9a2MO.js} +1 -1
  325. package/dist/{run-BlXCPJzq.js → run-DU4G8gNw.js} +2 -2
  326. package/dist/{run-B-2NnW4r.js → run-D_pl9GF_.js} +2 -2
  327. package/dist/runner-DME7ohjt.js +1 -0
  328. package/dist/runner-zT5Oyrfr.js +1 -0
  329. package/dist/runners-CNhxPjg8.js +36 -0
  330. package/dist/schema-BSlHRFSP.js +8 -0
  331. package/dist/schema.config.d.ts +12 -0
  332. package/dist/schema.config.js +1 -0
  333. package/dist/schema.d.ts +2 -0
  334. package/dist/schema.js +1 -0
  335. package/dist/sdk-CWerLcF5.d.ts +12371 -0
  336. package/dist/sdk.d.ts +5 -1549
  337. package/dist/sdk.js +1 -1
  338. package/dist/serve-FG2LgXxM.js +9 -0
  339. package/dist/serve-UE1fcf4t.js +1 -0
  340. package/dist/serve-w-9qRCP1.js +2 -0
  341. package/dist/serve-wQgyxwdY.js +1 -0
  342. package/dist/server-Bw_YmgCf.js +1 -0
  343. package/dist/{setup-host-ON6zJGqS.js → setup-host-BsbDs4lJ.js} +1 -1
  344. package/dist/show-Cajmf606.js +1 -0
  345. package/dist/{show-jdaVKG0f.js → show-D0qTuXRU.js} +1 -1
  346. package/dist/slack-C_RlVDz7.js +3 -0
  347. package/dist/{status-BO1jm6NW.js → status-PO1YXbt4.js} +1 -1
  348. package/dist/steer-i6w87g_t.js +4 -0
  349. package/dist/{stop-BS2MB4CQ.js → stop-CJ0PHvKp.js} +1 -1
  350. package/dist/{stop-B-dQ2-Gm.js → stop-CkvoZEAH.js} +2 -2
  351. package/dist/task-DTN_fIGC.js +1 -0
  352. package/dist/task-DXHKWB_J.js +5 -0
  353. package/dist/task-IoBYe7ok.js +1 -0
  354. package/dist/test-BTkKFbnx.js +1 -0
  355. package/dist/tools-B-2oi2wI.js +1 -0
  356. package/dist/types-B42Oh0zF.js +1 -0
  357. package/dist/types-C1tWi5lP.d.ts +1710 -0
  358. package/dist/{unalias-DpkgCs_c.js → unalias-Cqx7i_L0.js} +1 -1
  359. package/dist/{update-ChIiUO1Z.js → update-MNyeVXyy.js} +1 -1
  360. package/dist/{upgrade-Cq24oWFZ.js → upgrade-CGSkY0FY.js} +2 -2
  361. package/dist/{usage-CazoINYM.js → usage-sx-FR0bz.js} +1 -1
  362. package/dist/views-BhsnL0nr.js +5 -0
  363. package/dist/watch-IL2eEgwD.js +9 -0
  364. package/dist/{watch-B3gAEK1N.js → watch-qfr7aSfo.js} +2 -2
  365. package/dist/wire-B5rc5Av6.js +1 -0
  366. package/dist/worker-BBZ36xL0.js +1 -0
  367. package/dist/worker-D2csFtoH.js +9 -0
  368. package/dist/{workflow-BOPHazbM.js → workflow-BKxG9OUk.js} +1 -1
  369. package/dist/zod-BoqHoRCH.js +1 -0
  370. package/dist/zod.d.ts +3 -0
  371. package/dist/zod.js +1 -0
  372. package/docs/agents/coder.md +9 -2
  373. package/docs/agents/index.md +28 -18
  374. package/docs/cli.md +24 -13
  375. package/docs/config.md +1 -1
  376. package/docs/dash.md +3 -3
  377. package/docs/flows.md +3 -3
  378. package/docs/mcp.md +8 -16
  379. package/docs/sdk.md +4 -4
  380. package/docs/self-host.md +29 -18
  381. package/package.json +22 -14
  382. package/plugins/claude/.claude-plugin/plugin.json +1 -1
  383. package/plugins/cursor/.cursor-plugin/plugin.json +1 -1
  384. package/dist/actions-CmfXOVXQ.js +0 -20
  385. package/dist/adapter-7SEiVsmp.js +0 -1
  386. package/dist/adapter-BLEfUqoQ.js +0 -1
  387. package/dist/adapter-DaiJMOYo.js +0 -1
  388. package/dist/adapter-H4GlcKQz.js +0 -1
  389. package/dist/adapter-PeKziOUg.js +0 -1
  390. package/dist/add-8Z5bNm74.js +0 -1
  391. package/dist/add-DiwLZmjp.js +0 -1
  392. package/dist/add-json-wOUPHwUD.js +0 -1
  393. package/dist/agent-B69nSuTY.js +0 -1
  394. package/dist/agent-D0pQ_ewc.js +0 -3
  395. package/dist/approvals-Gv7x14u3.js +0 -2
  396. package/dist/apps-CaHoLNE7.js +0 -1
  397. package/dist/archive-sweep-jE6TPk2F.js +0 -1
  398. package/dist/args-DEMOfLz2.js +0 -1
  399. package/dist/auth-DSE3SIuI.js +0 -1
  400. package/dist/auth-DsxfkPsx.js +0 -1
  401. package/dist/chat-3Znsevah.js +0 -1
  402. package/dist/chat-cknlIhVh.js +0 -13
  403. package/dist/cli-DtTdpTy3.js +0 -9
  404. package/dist/cli.d.ts +0 -71
  405. package/dist/client-31YzOj-i.js +0 -1
  406. package/dist/config-BAkyRxp-.js +0 -3
  407. package/dist/create-BF6VHUst.js +0 -1
  408. package/dist/credentials-6PHXj8k7.js +0 -1
  409. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/account/sign-out.5d3bca9efecd6f70.js +0 -13
  410. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/agents/(list)/agent-menu.6d3339a02f02460d.js +0 -12
  411. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/agents/(list)/connect-apps.8d218b96f9939819.js +0 -42
  412. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/agents/(list)/loading.02dd47fe59680cc8.js +0 -18
  413. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/agents/[slug]/(tabs)/layout.f2464375e393c96e.js +0 -105
  414. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/agents/[slug]/(tabs)/loading.b27b95d8ccf0581e.js +0 -5
  415. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/agents/[slug]/(tabs)/platforms/loading.572d3404b984b163.js +0 -10
  416. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/agents/[slug]/(tabs)/platforms/page.9b30598fa84dd0df.js +0 -170
  417. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/agents/[slug]/(tabs)/platforms/platform-actions.bc640252ecf046c6.js +0 -70
  418. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/agents/[slug]/(tabs)/settings/agent-settings-form.d3e6dc6bcfcfc928.js +0 -268
  419. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/agents/[slug]/(tabs)/settings/loading.a55efbdbdd995213.js +0 -8
  420. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/agents/[slug]/(tabs)/settings/page.44eabcf6cf9fbfbd.js +0 -35
  421. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/agents/[slug]/(tabs)/usage/page.30a31e2464417a08.js +0 -160
  422. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/agents/[slug]/edit/loading.21eb60e655c125c7.js +0 -29
  423. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/agents/agent/agent-pills.6a0eea1ec99dffd7.js +0 -67
  424. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/agents/agent/hero.9af8c50df6487ca5.js +0 -62
  425. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/agents/new/loading.02e30b3a7f1ab9f1.js +0 -28
  426. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/page.a4be8e0779589f4e.js +0 -10
  427. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/settings/[tab]/credentials-list.c25242f7f4ef6399.js +0 -538
  428. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/settings/[tab]/credentials.a62d1642ca580836.js +0 -34
  429. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/settings/[tab]/loading.f4024074bf71b11b.js +0 -6
  430. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/settings/[tab]/mcp-list.0ce34ed7d7e756a7.js +0 -249
  431. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/settings/[tab]/page.3458e42728e30f54.js +0 -86
  432. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/settings/layout.85946d20d7e48767.js +0 -39
  433. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/settings/page.9d2087e0e33d57f8.js +0 -6
  434. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/tasks/[id]/activity.4aeb0734da711e10.js +0 -177
  435. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/tasks/[id]/page.e5b562dd47e19043.js +0 -24
  436. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/tasks/[id]/task-actions.ee523c68a38a7975.js +0 -184
  437. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/tasks/composer-data.5f12d8ef1db38026.js +0 -63
  438. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/tasks/page.107706655a927e59.js +0 -16
  439. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/usage/custom-range.d85de32fb6ec4fe6.js +0 -64
  440. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/usage/loading.8aabf89dabaf1c3f.js +0 -15
  441. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/usage/range-bar.76e3de97583e6eab.js +0 -60
  442. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/frame/loading-card.bf58af8330a78704.js +0 -64
  443. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/badge.5abdef72e9189fdc.js +0 -31
  444. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/confirm.1328a7ede6c27bb9.js +0 -53
  445. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/menu.a4dd9fb9f566689a.js +0 -103
  446. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/utils/client.a8205c524e63d4a9.js +0 -26
  447. package/dist/dash/standalone/static/assets/chunks/agent-pills-c5d56f60f9e17aea.js +0 -1
  448. package/dist/dash/standalone/static/assets/chunks/agent-settings-form-738f9ac4b9fb67ef.js +0 -1
  449. package/dist/dash/standalone/static/assets/chunks/agents-grid-37e2e7f7a37b7a35.js +0 -1
  450. package/dist/dash/standalone/static/assets/chunks/badge-9984d2fd0e7f995d.js +0 -1
  451. package/dist/dash/standalone/static/assets/chunks/card-818c7a0d580e2e0d.js +0 -1
  452. package/dist/dash/standalone/static/assets/chunks/combo-8aa7545cfda42090.js +0 -1
  453. package/dist/dash/standalone/static/assets/chunks/composer-a969037cf22215c7.js +0 -1
  454. package/dist/dash/standalone/static/assets/chunks/composer-data-6f7608fed13f3dd7.js +0 -1
  455. package/dist/dash/standalone/static/assets/chunks/composer-f433a2e64648633a.js +0 -1
  456. package/dist/dash/standalone/static/assets/chunks/confirm-be929e2de15876a6.js +0 -1
  457. package/dist/dash/standalone/static/assets/chunks/connect-apps-97c10fa6e35ccae6.js +0 -1
  458. package/dist/dash/standalone/static/assets/chunks/credentials-list-08cd5dfe29f42bf2.js +0 -2
  459. package/dist/dash/standalone/static/assets/chunks/custom-range-63f577240e5d5d85.js +0 -1
  460. package/dist/dash/standalone/static/assets/chunks/editor-9752c8ab26ebd328.js +0 -7
  461. package/dist/dash/standalone/static/assets/chunks/engines-list-dab79c4e3e22eefe.js +0 -1
  462. package/dist/dash/standalone/static/assets/chunks/field-43fea54c1c287e30.js +0 -1
  463. package/dist/dash/standalone/static/assets/chunks/filter-02bba5796258deb0.js +0 -1
  464. package/dist/dash/standalone/static/assets/chunks/heads-8f40675f508ebe33.js +0 -1
  465. package/dist/dash/standalone/static/assets/chunks/instructions-0b968d5d0a58c716.js +0 -2
  466. package/dist/dash/standalone/static/assets/chunks/instructions-f3ecfb5c50f270c2.js +0 -1
  467. package/dist/dash/standalone/static/assets/chunks/list-591905f0aaa57629.js +0 -1
  468. package/dist/dash/standalone/static/assets/chunks/mcp-list-bae4d2186f67849e.js +0 -1
  469. package/dist/dash/standalone/static/assets/chunks/model-options-15c53331a2f28a4f.js +0 -1
  470. package/dist/dash/standalone/static/assets/chunks/models-list-c758db0c40f5173f.js +0 -1
  471. package/dist/dash/standalone/static/assets/chunks/paged-3ddb6077bef42752.js +0 -1
  472. package/dist/dash/standalone/static/assets/chunks/platform-actions-4454493d02a1c172.js +0 -1
  473. package/dist/dash/standalone/static/assets/chunks/runners-list-9d27c76eed33cb05.js +0 -1
  474. package/dist/dash/standalone/static/assets/chunks/segmented-bf5a4c06605249e0.js +0 -1
  475. package/dist/dash/standalone/static/assets/chunks/select-adccc9ac86ac833f.js +0 -1
  476. package/dist/dash/standalone/static/assets/chunks/sentinel-b4c91a38a5d79219.js +0 -1
  477. package/dist/dash/standalone/static/assets/chunks/shared-init-17c1fd399ac53851.js +0 -5
  478. package/dist/dash/standalone/static/assets/chunks/shared-init-37175329f2865f15-2.js +0 -1
  479. package/dist/dash/standalone/static/assets/chunks/shared-init-3a95c0e0cc27e0cb.js +0 -2
  480. package/dist/dash/standalone/static/assets/chunks/shared-init-8f2ac936c95a7f7b.js +0 -1
  481. package/dist/dash/standalone/static/assets/chunks/tail-74153aeac1f0baec.js +0 -1
  482. package/dist/dash/standalone/static/assets/chunks/task-actions-189775b88ef7ada4.js +0 -1
  483. package/dist/dash/standalone/static/assets/chunks/task-ddfddeaf07fb684c.js +0 -1
  484. package/dist/dash/standalone/static/assets/chunks/task-view-0b3d7ea9cc41888b.js +0 -5
  485. package/dist/dash/standalone/static/assets/chunks/tasks-list-1b0195e3fd68714f.js +0 -1
  486. package/dist/dash/standalone/static/assets/chunks/toolbar-035d33d1e7ad11bf.js +0 -1
  487. package/dist/dash/standalone/static/assets/chunks/versions-list-875a9a0ebb3f7d08.js +0 -1
  488. package/dist/dash/standalone/static/assets/connect-382b1729a7ae7808.css +0 -1
  489. package/dist/dash/standalone/static/assets/dash-49ca85b59ac65c20.css +0 -1
  490. package/dist/dash/standalone/static/assets/dash-account-edc56e85dbaaabe0.css +0 -1
  491. package/dist/dash/standalone/static/assets/dash-agents-edba57b67e4005d0.css +0 -1
  492. package/dist/dash/standalone/static/assets/dash-agents-new-fe22253fbada2fbf.css +0 -1
  493. package/dist/dash/standalone/static/assets/dash-agents-param-slug-adf52e9dacb2d825.css +0 -1
  494. package/dist/dash/standalone/static/assets/dash-agents-param-slug-edit-a2937a347689ef29.css +0 -1
  495. package/dist/dash/standalone/static/assets/dash-agents-param-slug-platforms-265ba13db32a460d.css +0 -1
  496. package/dist/dash/standalone/static/assets/dash-agents-param-slug-settings-8afc52eb0372bc4b.css +0 -1
  497. package/dist/dash/standalone/static/assets/dash-agents-param-slug-tasks-6193e646be68dbd2.css +0 -1
  498. package/dist/dash/standalone/static/assets/dash-agents-param-slug-usage-ceadb3a1c911c402.css +0 -1
  499. package/dist/dash/standalone/static/assets/dash-settings-cf1997cd7f72e518.css +0 -1
  500. package/dist/dash/standalone/static/assets/dash-settings-param-tab-b44dac8e79a560e6.css +0 -1
  501. package/dist/dash/standalone/static/assets/dash-tasks-916c7100a8058aa3.css +0 -1
  502. package/dist/dash/standalone/static/assets/dash-tasks-param-id-24265771fd1e3f78.css +0 -1
  503. package/dist/dash/standalone/static/assets/dash-usage-40940b289f85e0b6.css +0 -1
  504. package/dist/dash/standalone/static/assets/global-d2adbf01910d9df5.css +0 -1
  505. package/dist/dash/standalone/static/assets/login-c129b1ce237be260.css +0 -1
  506. package/dist/dash/standalone/static/assets/pnext-client-105d2264e4064f32.js +0 -1
  507. package/dist/dash/standalone/static/assets/pnext-client-140064bc22718639.js +0 -1
  508. package/dist/dash/standalone/static/assets/pnext-client-2825c0ea7bfa1240.js +0 -1
  509. package/dist/dash/standalone/static/assets/pnext-client-39ac7ac446e20cfb.js +0 -1
  510. package/dist/dash/standalone/static/assets/pnext-client-43cbb846cb4c167f.js +0 -1
  511. package/dist/dash/standalone/static/assets/pnext-client-7d88eb36e6e3c301.js +0 -1
  512. package/dist/dash/standalone/static/assets/pnext-client-9172198a969bd1e1.js +0 -1
  513. package/dist/dash/standalone/static/assets/pnext-client-9c9c88e5c2fe31bc.js +0 -1
  514. package/dist/dash/standalone/static/assets/pnext-client-a629391487c4b8e3.js +0 -1
  515. package/dist/dash/standalone/static/assets/pnext-client-aace561f07b06542.js +0 -1
  516. package/dist/dash/standalone/static/assets/pnext-client-b7d6355b1323fff1.js +0 -1
  517. package/dist/dash/standalone/static/assets/pnext-client-c4be2f807668e35c.js +0 -1
  518. package/dist/dash/standalone/static/assets/pnext-client-ce83b85e9562a049.js +0 -1
  519. package/dist/dash/standalone/static/assets/pnext-client-dd2046446844a78b.js +0 -1
  520. package/dist/dash/standalone/static/assets/pnext-client-e62f31aae8ce2c3b.js +0 -1
  521. package/dist/dash/standalone/static/assets/pnext-client-ffab25199333314f.js +0 -1
  522. package/dist/default-DgP-hBmn.js +0 -1
  523. package/dist/discover-CaAtyC0h.js +0 -1
  524. package/dist/dispatch-YW1aqjEg.js +0 -14
  525. package/dist/docs-Byrpar10.js +0 -2
  526. package/dist/env-LsVTi18f.js +0 -1
  527. package/dist/exec-DgI3boHa.js +0 -11
  528. package/dist/executor-HWnIIYUL.js +0 -10
  529. package/dist/github-actions-CvLya8ve.js +0 -24
  530. package/dist/http-DG54kyx4.js +0 -1
  531. package/dist/integrations-B2CavXR1.js +0 -5
  532. package/dist/integrations-DNz6PHFV.js +0 -1
  533. package/dist/lib/broker.d.ts +0 -1
  534. package/dist/list-CJhHYVb2.js +0 -2
  535. package/dist/list-Cr4c8mT6.js +0 -1
  536. package/dist/load-DDZfByUe.js +0 -2
  537. package/dist/local-B0GiaLV0.js +0 -1
  538. package/dist/log-view-DeJstSkw.js +0 -3
  539. package/dist/login-p2VknR9f.js +0 -1
  540. package/dist/maintenance-C02_cNLp.js +0 -1
  541. package/dist/match-DMI54zg4.js +0 -1
  542. package/dist/mcp--MIvjMWZ.js +0 -1
  543. package/dist/mcp-DgMoPoUo.js +0 -1
  544. package/dist/migrate-CSwkAInI.js +0 -2
  545. package/dist/migrate-rwTojdkz.js +0 -1
  546. package/dist/models-DGPrMV51.js +0 -1
  547. package/dist/prompt-K7-bKcTC.js +0 -7
  548. package/dist/push-D3vxfhc_.js +0 -1
  549. package/dist/queue-EvplGOuk.js +0 -117
  550. package/dist/refresh-BFuahSFK.js +0 -1
  551. package/dist/remote-AcWWfKVS.js +0 -1
  552. package/dist/remove-7y1b_gHT.js +0 -1
  553. package/dist/remove-BRj1kPYm.js +0 -1
  554. package/dist/remove-C57QDigT.js +0 -1
  555. package/dist/remove-UVD3W2OE.js +0 -1
  556. package/dist/rename-CCv5pca3.js +0 -1
  557. package/dist/result-BWrYnt0u.js +0 -5
  558. package/dist/rolldown-runtime-DT7IzrpZ.js +0 -1
  559. package/dist/runner-DRgQvMiZ.js +0 -1
  560. package/dist/runner-c-2w6Eoj.js +0 -1
  561. package/dist/schema-DoNO0dPh.js +0 -1
  562. package/dist/serve-CcqX_2qk.js +0 -8
  563. package/dist/serve-Ci0AFWtY.js +0 -2
  564. package/dist/serve-DeX0lpXj.js +0 -12
  565. package/dist/serve-SWjydoBC.js +0 -1
  566. package/dist/serve-xMihn4g-.js +0 -1
  567. package/dist/server-CWbtW4W_.js +0 -1
  568. package/dist/shared-D64pQ0XU.js +0 -1
  569. package/dist/show-U0XPh927.js +0 -1
  570. package/dist/steer-DwSAYYqb.js +0 -4
  571. package/dist/store-B0RLMUR9.js +0 -42
  572. package/dist/store-Cxc2GYyj.js +0 -19
  573. package/dist/task-DEp3GHwH.js +0 -1
  574. package/dist/task-DhZ5vhyY.js +0 -5
  575. package/dist/task-gKnlLOGe.js +0 -1
  576. package/dist/test-TvJAUf4S.js +0 -1
  577. package/dist/tools-BQQfMQB9.js +0 -1
  578. package/dist/types-D0q15RJa.js +0 -1
  579. package/dist/types-DMGBYB_K.d.ts +0 -391
  580. package/dist/usage-Bw7fQeFC.js +0 -1
  581. package/dist/watch-DJATTJw_.js +0 -8
  582. package/dist/wire-DxxfWapP.js +0 -1
  583. package/dist/worker-C3dzIzd3.js +0 -1
  584. package/dist/worker-C4Lo6rLS.js +0 -9
  585. package/migrations/0000_initial.sql +0 -260
  586. package/migrations/meta/0000_snapshot.json +0 -1861
  587. package/migrations/meta/_journal.json +0 -13
  588. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/{account/page.78ecdcf250ebe4bd.css.pnext-asset.js → [org]/account/page.061f6006f2685f5e.css.pnext-asset.js} +0 -0
  589. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/{agents/(list)/page.c2085e3ab40a8b66.css.pnext-asset.js → [org]/agents/(list)/page.76589c15dee1732d.css.pnext-asset.js} +0 -0
  590. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/{agents/[slug]/(tabs)/page.31a5f9731d946f4f.css.pnext-asset.js → [org]/agents/[slug]/(tabs)/page.1a97b8d4b955c464.css.pnext-asset.js} +0 -0
  591. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/{agents/[slug]/(tabs)/platforms/page.b036494aace45edf.css.pnext-asset.js → [org]/agents/[slug]/(tabs)/platforms/page.3ffef848a0b0dda3.css.pnext-asset.js} +0 -0
  592. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/{agents/[slug]/(tabs)/settings/agent-settings-form.204e3ec0b23d58c7.css.pnext-asset.js → [org]/agents/[slug]/(tabs)/settings/agent-settings-form.2d19ea3a4d380e0d.css.pnext-asset.js} +0 -0
  593. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/{agents/[slug]/(tabs)/usage/@/app/dash/usage/range-bar.034280ed1ab2616b.css.pnext-asset.js → [org]/agents/[slug]/(tabs)/usage/@/app/dash/[org]/usage/range-bar.e8f6f0c7ee443262.css.pnext-asset.js} +0 -0
  594. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/{agents/[slug]/(tabs)/usage/@/comps/ui/segmented.4db9cac358865634.css.pnext-asset.js → [org]/agents/[slug]/(tabs)/usage/@/comps/ui/segmented.2cb43dc7d1f1588a.css.pnext-asset.js} +0 -0
  595. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/{agents/[slug]/(tabs)/usage/page.6bf93d41ec4a1fab.css.pnext-asset.js → [org]/agents/[slug]/(tabs)/usage/page.80adb3d2ea31d080.css.pnext-asset.js} +0 -0
  596. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/{agents/agent/agent-pills.1708253f0232e88e.css.pnext-asset.js → [org]/agents/agent/agent-pills.183f03f1e7e5ac9f.css.pnext-asset.js} +0 -0
  597. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/{agents/agent/hero.8dd7556828e78b07.css.pnext-asset.js → [org]/agents/agent/hero.13019680f38b0630.css.pnext-asset.js} +0 -0
  598. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/{agents/agent/instructions.532dc545ddb11e88.css.pnext-asset.js → [org]/agents/agent/instructions.446bccc375f30eeb.css.pnext-asset.js} +0 -0
  599. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/{agents/editor/@/app/dash/agents/(list)/page.1e19c72828fbd611.css.pnext-asset.js → [org]/agents/editor/@/app/dash/[org]/agents/(list)/page.81c825592da30a32.css.pnext-asset.js} +0 -0
  600. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/{agents/editor/editor.52403b9719fb5157.css.pnext-asset.js → [org]/agents/editor/editor.c496247a81ed832c.css.pnext-asset.js} +0 -0
  601. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/{agents/editor/names.afb112f2a5a6f0f5.js → [org]/agents/editor/names.1ee5bba8d2b6ac41.js} +0 -0
  602. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/{layout.4b31e7e60256f6d1.css.pnext-asset.js → [org]/layout.a4efa8d807fe5416.css.pnext-asset.js} +0 -0
  603. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/{settings/[tab]/credentials-list.0953506d95c86a2f.css.pnext-asset.js → [org]/operator/@/app/dash/[org]/agents/[slug]/(tabs)/platforms/page.944b02c09bbf6c22.css.pnext-asset.js} +0 -0
  604. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/{settings/[tab]/engines-list.c04c712adfc0ca48.css.pnext-asset.js → [org]/operator/@/app/dash/[org]/settings/[tab]/list.83f35dd8a36acdfd.css.pnext-asset.js} +0 -0
  605. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/{settings/[tab]/list.4835150fd34d0c4f.css.pnext-asset.js → [org]/operator/page.9002a449f872a10e.css.pnext-asset.js} +0 -0
  606. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/{settings/[tab]/mcp-list.a2b3bf3c7c5fa42e.css.pnext-asset.js → [org]/settings/[tab]/@/app/dash/[org]/setup/outcome.3ad5f7ec67e5238d.css.pnext-asset.js} +0 -0
  607. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/{settings/[tab]/runners-list.0e2d8a76197cde60.css.pnext-asset.js → [org]/settings/[tab]/connections-list.f742847e4887f072.css.pnext-asset.js} +0 -0
  608. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/{tasks/[id]/task-view.2110bc4a16798cde.css.pnext-asset.js → [org]/settings/[tab]/credentials-list.98e0b34932a6ee4c.css.pnext-asset.js} +0 -0
  609. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/{tasks/composer.80a979f079b29681.css.pnext-asset.js → [org]/settings/[tab]/engines-list.9927d602ebe9e7fc.css.pnext-asset.js} +0 -0
  610. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/{tasks/list/status.d71a946ed749ca30.css.pnext-asset.js → [org]/settings/[tab]/list.e0ce46919b75ef76.css.pnext-asset.js} +0 -0
  611. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/{tasks/list/tasks-list.291e81e56d54513c.css.pnext-asset.js → [org]/settings/[tab]/runners-list.a835c9a264cf8903.css.pnext-asset.js} +0 -0
  612. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/{settings/model-options.bccfaced52fc0c00.js → [org]/settings/model-options.2eacf7f8ac0032df.js} +0 -0
  613. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/{usage/@/app/dash/usage/range-bar.53967f3261c8387e.css.pnext-asset.js → [org]/setup/outcome.2a3073f895357275.css.pnext-asset.js} +0 -0
  614. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/{usage/@/comps/ui/segmented.2ca6fee7dd2830ad.css.pnext-asset.js → [org]/tasks/[id]/task-view.38b1b7ef3976ba71.css.pnext-asset.js} +0 -0
  615. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/{usage/day-chart.c566c1a55d15bf58.css.pnext-asset.js → [org]/tasks/composer.79c015348f861749.css.pnext-asset.js} +0 -0
  616. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/{usage/range-bar.5504dd2c591a3056.css.pnext-asset.js → [org]/tasks/list/status.7e63f2b02469ca40.css.pnext-asset.js} +0 -0
  617. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/{usage/stats.cd1d20f46f1347bf.css.pnext-asset.js → [org]/tasks/list/tasks-list.2282a7cef8b15bd8.css.pnext-asset.js} +0 -0
  618. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/{usage/top-agents.47aecd65c0c8fa2e.css.pnext-asset.js → [org]/usage/@/app/dash/[org]/usage/range-bar.85d30ec5f022f124.css.pnext-asset.js} +0 -0
  619. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/{usage/usage.0f646568d57d13e8.css.pnext-asset.js → [org]/usage/@/comps/ui/segmented.41728247cda62f82.css.pnext-asset.js} +0 -0
  620. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/{globals.e9ce0eb6697f992d.css.pnext-asset.js → dash/[org]/usage/day-chart.4b3dbef8704de0e0.css.pnext-asset.js} +0 -0
  621. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/{login/page.57e5198339e9ca28.css.pnext-asset.js → dash/[org]/usage/range-bar.476c059123ef6c23.css.pnext-asset.js} +0 -0
  622. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/{comps/frame/@/comps/ui/toast.a4c3e977997216cf.css.pnext-asset.js → app/dash/[org]/usage/stats.bb7cb568c0174557.css.pnext-asset.js} +0 -0
  623. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/{comps/frame/drawer.e8201d78154045bc.css.pnext-asset.js → app/dash/[org]/usage/top-agents.20a1d4451784792b.css.pnext-asset.js} +0 -0
  624. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/{comps/frame/page-head.a6e3c4204ca45e94.css.pnext-asset.js → app/dash/[org]/usage/usage.775df2f43187c487.css.pnext-asset.js} +0 -0
  625. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/{comps/ui/card.146f70c7049b5b31.css.pnext-asset.js → app/globals.dccea8b03fa4b6d2.css.pnext-asset.js} +0 -0
  626. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/{comps/ui/confirm.fb57a29a70e9df56.css.pnext-asset.js → app/login/page.586a41a7ab9988e0.css.pnext-asset.js} +0 -0
  627. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/{ui/filter.e20fbd035f24ed01.css.pnext-asset.js → frame/drawer.0b0220d1edabce29.css.pnext-asset.js} +0 -0
  628. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/{ui/menu.6341c87b5bec4256.css.pnext-asset.js → frame/page-head.364ec93a8e7857b3.css.pnext-asset.js} +0 -0
  629. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/{ui/select.03a695573b914d6f.css.pnext-asset.js → frame/task-toasts.d13d9f628e530552.css.pnext-asset.js} +0 -0
  630. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{sentinel.bcff411a9f2355ec.css.pnext-asset.js → button.d7f4433f4e7faa80.css.pnext-asset.js} +0 -0
  631. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{toolbar.40284b41c03c5dcb.css.pnext-asset.js → card.15f7435f202831c3.css.pnext-asset.js} +0 -0
@@ -1,5 +1,5 @@
1
1
  "use client";
2
- import "./sentinel.bcff411a9f2355ec.css.pnext-asset.js";
2
+ import "./sentinel.1e3ec9bd6008d811.css.pnext-asset.js";
3
3
  import { useEffect, useRef } from "../../../../../../../node_modules/preact/hooks/dist/hooks.mjs";
4
4
  import { jsx as _jsx } from "../../../../../../../node_modules/preact/jsx-runtime/dist/jsxRuntime.mjs";
5
5
  /** Goes right before a page head: the head sticks under the top bar and turns compact there, its old height kept as margin so nothing under it moves. */
@@ -1,5 +1,6 @@
1
1
  import "./tabs.ca13e40ff54128d0.css.pnext-asset.js";
2
- import { CurrentLink } from "../nav/current-link.844899810531977f.js";
2
+ import { CurrentLink } from "../nav/current-link.727b350a40b9ca13.js";
3
+ import { linkOf } from "../nav/to.a2c840c09bd4bf4a.js";
3
4
  import { jsx as _jsx, jsxs as _jsxs } from "../../../../../../../node_modules/preact/jsx-runtime/dist/jsxRuntime.mjs";
4
5
  const compact = new Intl.NumberFormat("en", { notation: "compact" });
5
6
  /** Tabs that are pages under one header; the current one follows the address. */
@@ -8,7 +9,7 @@ export function Tabs({ label, items }) {
8
9
  class: "tabs",
9
10
  "aria-label": label,
10
11
  children: items.map(({ label, count, ...to }) => /* @__PURE__ */ _jsxs(CurrentLink, {
11
- ...to,
12
+ ...linkOf(to),
12
13
  prefetch: "intent",
13
14
  children: [label, count !== undefined ? /* @__PURE__ */ _jsx("span", {
14
15
  class: "count",
@@ -1,5 +1,6 @@
1
1
  import "./tail.0a5f3c0595e68610.css.pnext-asset.js";
2
- import { Loading } from "./card.b0873d38765c9d20.js";
2
+ import { Button } from "./button.983daea9e687fc5d.js";
3
+ import { Loading } from "./card.c08471eaa0bc1cec.js";
3
4
  import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "../../../../../../../node_modules/preact/jsx-runtime/dist/jsxRuntime.mjs";
4
5
  /** Below the rows: what is loading, what failed, and the mark that pulls in the next page. */
5
6
  export function Tail({ sentinel, more, busy, error, retry, noun }) {
@@ -11,9 +12,9 @@ export function Tail({ sentinel, more, busy, error, retry, noun }) {
11
12
  children: error ? /* @__PURE__ */ _jsxs(_Fragment, { children: [
12
13
  error,
13
14
  " ",
14
- /* @__PURE__ */ _jsx("button", {
15
- type: "button",
16
- class: "btn ghost sm",
15
+ /* @__PURE__ */ _jsx(Button, {
16
+ variant: "ghost",
17
+ size: "sm",
17
18
  onClick: retry,
18
19
  children: "Retry"
19
20
  })
@@ -1,9 +1,9 @@
1
- import "./toolbar.40284b41c03c5dcb.css.pnext-asset.js";
1
+ import "./toolbar.19e1ce5224a23acf.css.pnext-asset.js";
2
2
  import { useEffect, useRef, useState } from "../../../../../../../node_modules/preact/hooks/dist/hooks.mjs";
3
- import { iSearch } from "./icons.1777c0350d5d215e.js";
4
- import { readQuery, writeQuery } from "../../utils/paged.7e5713a82abf0211.js";
3
+ import { iSearch } from "./icons.a34176f37808cd66.js";
4
+ import { readQuery, writeQuery } from "../../utils/paged.18f5872fc5aebe96.js";
5
5
  import { Icon } from "./icon.0874ca2f58f7db14.js";
6
- import { Sentinel } from "./sentinel.d3d29747fe976f88.js";
6
+ import { Sentinel } from "./sentinel.17cffebfc3103b9f.js";
7
7
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "../../../../../../../node_modules/preact/jsx-runtime/dist/jsxRuntime.mjs";
8
8
  /** The query string for a set of filters, empty ones left out. */
9
9
  export const queryOf = (values) => new URLSearchParams(Object.entries(values).filter(([, value]) => value)).toString();
@@ -40,15 +40,20 @@ export function useFilters(initial) {
40
40
  query: queryOf(applied)
41
41
  };
42
42
  }
43
- export function Search({ value, label, onInput }) {
43
+ /** A search field; `disabled` shows it inert, for a loading page. */
44
+ export function Search({ value, label, onInput, disabled, ...rest }) {
44
45
  return /* @__PURE__ */ _jsxs("label", {
45
46
  class: "search",
47
+ "aria-hidden": disabled || undefined,
46
48
  children: [/* @__PURE__ */ _jsx(Icon, { d: iSearch }), /* @__PURE__ */ _jsx("input", {
49
+ ...rest,
47
50
  type: "search",
48
51
  value,
49
52
  placeholder: label,
50
53
  "aria-label": label,
51
- onInput: (event) => onInput(event.currentTarget.value)
54
+ disabled,
55
+ tabIndex: disabled ? -1 : undefined,
56
+ onInput: (event) => onInput?.(event.currentTarget.value)
52
57
  })]
53
58
  });
54
59
  }
@@ -0,0 +1,34 @@
1
+ "use client";
2
+ import { useState } from "../../../../../../node_modules/preact/hooks/dist/hooks.mjs";
3
+ import { useRouter } from "../../../../../../node_modules/@wular/pnext/src/api/client-navigation.ts";
4
+ import { toastError } from "../comps/frame/task-toasts.63f673632770924d.js";
5
+ import { reasonText } from "./format.6a7d1beaf4d09d9c.js";
6
+ const FAILED = "Something went wrong";
7
+ /** A failure no action ran, as the same toast. */
8
+ export const toastFailure = (reason) => toastError(FAILED, reasonText(reason));
9
+ /** Runs an action: `pending` names the one in flight, a failure shows as a toast, and the answer says whether it worked. */
10
+ export function useAction(defaults = {}) {
11
+ const nav = useRouter();
12
+ const [pending, setPending] = useState();
13
+ const run = async (name, work, options = {}) => {
14
+ const { toast = FAILED, refresh, leaves } = {
15
+ ...defaults,
16
+ ...options
17
+ };
18
+ setPending(name);
19
+ try {
20
+ await work();
21
+ } catch (reason) {
22
+ setPending(undefined);
23
+ toastError(toast, reasonText(reason));
24
+ return false;
25
+ }
26
+ if (!leaves) setPending(undefined);
27
+ if (refresh) nav.refresh();
28
+ return true;
29
+ };
30
+ return {
31
+ pending,
32
+ run
33
+ };
34
+ }
@@ -0,0 +1,59 @@
1
+ "use client";
2
+ import { useEffect, useRef } from "../../../../../../node_modules/preact/hooks/dist/hooks.mjs";
3
+ import { ServerClient } from "../../../client/index.8e150ef2bc6a5f4e.js";
4
+ export const client = new ServerClient("", { cookie: true }, {
5
+ // The page's organization, so a tab open in another one never changes what this one acts on.
6
+ fetch(input, init) {
7
+ const org = /^\/dash\/([^/]+)/.exec(globalThis.location?.pathname ?? "")?.[1];
8
+ if (!org) return fetch(input, init);
9
+ const headers = new Headers(init?.headers);
10
+ headers.set("x-coder-organization", decodeURIComponent(org));
11
+ return fetch(input, {
12
+ ...init,
13
+ headers
14
+ });
15
+ },
16
+ onError(error) {
17
+ if (error.status === 401 && (error.authenticate || /^Sign in/.test(error.message))) location.href = `/login?return=${encodeURIComponent(location.pathname + location.search)}`;
18
+ }
19
+ });
20
+ export async function signOut() {
21
+ const { url } = await client.signOut();
22
+ location.href = url ?? "/?signed_out=1";
23
+ }
24
+ /** Runs `work` every `ms` once the last run settles, skipping while the tab is hidden; returns its stop. */
25
+ function poll(work, ms) {
26
+ let timer;
27
+ let stopped = false;
28
+ const next = () => {
29
+ if (!stopped) timer = setTimeout(run, ms);
30
+ };
31
+ const run = () => {
32
+ if (document.visibilityState === "hidden") return next();
33
+ void work().catch((reason) => console.error("coder dashboard: poll", reason)).finally(next);
34
+ };
35
+ next();
36
+ return () => {
37
+ stopped = true;
38
+ clearTimeout(timer);
39
+ };
40
+ }
41
+ /** Polls `work` while it is set, and stops on unmount or when `inputs` change; `signal` says a run's poll has stopped. */
42
+ export function usePoll(work, ms, inputs = []) {
43
+ const latest = useRef(work);
44
+ latest.current = work;
45
+ const on = Boolean(work);
46
+ useEffect(() => {
47
+ if (!on) return;
48
+ const abort = new AbortController();
49
+ const stop = poll(async () => latest.current?.(abort.signal), ms);
50
+ return () => {
51
+ abort.abort();
52
+ stop();
53
+ };
54
+ }, [
55
+ on,
56
+ ms,
57
+ ...inputs
58
+ ]);
59
+ }
@@ -55,6 +55,7 @@ export function usePaged({ name, query, first, initial, root, fetchPage }) {
55
55
  setError("");
56
56
  failed.current = undefined;
57
57
  setState((current) => {
58
+ if (append && (current.query !== forQuery || current.next !== cursor)) return current;
58
59
  const next = append && current.query === forQuery ? {
59
60
  ...current,
60
61
  rows: [...current.rows, ...page.items],
@@ -0,0 +1 @@
1
+ import{g as e}from"./format-b19b8eec331414f4.js";import{$1d as o}from"./shared-init-02aaa49ed4606a76.js";import{$2a as s}from"./shared-init-02aaa49ed4606a76.js";import{$2h as r}from"./shared-init-e8b9eb1e537215ed-2.js";var i="Something went wrong",b=n=>o(i,e(n));function k(n={}){let a=s(),[u,t]=r();return{pending:u,run:async(f,c,p={})=>{let{toast:m=i,refresh:g,leaves:l}={...n,...p};t(f);try{await c()}catch(d){return t(void 0),o(m,e(d)),!1}return l||t(void 0),g&&a.refresh(),!0}}}export{b as a,k as b};
@@ -0,0 +1 @@
1
+ import{$2C as b}from"./shared-init-02aaa49ed4606a76.js";import{$0l as h,$0n as m,$0o as f,$0p as i}from"./shared-init-02aaa49ed4606a76.js";import{$1a as e,$1b as l,$1r as a}from"./shared-init-03e620f936463465.js";import{$2c as u,$2n as g}from"./shared-init-e8b9eb1e537215ed-2.js";var k=(r,o)=>r.replace(/\bid="([^"]+)"/g,`id="$1${o}"`).replace(/url\(#([^)]+)\)/g,`url(#$1${o})`).replace(/href="#([^"]+)"/g,`href="#$1${o}"`);function y({brand:r}){let o=g().replace(/[^a-zA-Z0-9_-]/g,"");return r.svg?e("span",{class:"brand-icon","aria-hidden":"true",dangerouslySetInnerHTML:{__html:k(r.svg,`-${o}`)}}):e("svg",{class:"brand-icon",width:"12",height:"12",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true",style:{color:r.dark?`light-dark(${r.color}, ${r.dark})`:r.color},children:e("path",{d:r.icon})})}function B({id:r,info:o,state:s}){let n=o?.name??r;return e("span",{class:`pf ${s}`,children:[o?e(y,{brand:o.brand}):null,n]})}function S({platforms:r,catalog:o,agent:s}){let n=r.length>=m?f:r.length,c=({id:t,state:I},d)=>{let p=e(B,{id:t,info:o.find(L=>L.id===t),state:I});return s?e(b,{class:d,href:"/dash/[org]/agents/[slug]/platforms",params:{slug:s},children:p},t):e("span",{class:d,children:p},t)};return e("span",{class:"pfs",children:[r.slice(0,n).map(t=>c(t)),r.length>n?e(h,{label:`+${r.length-n}`,children:r.map(t=>c(t,"pf-row"))}):null]})}var R={builtin:"built-in",upload:"dashboard",repo:"repository",home:"local"};function w(){return e(i,{tone:"warn",title:"Disabled in this workspace",children:"disabled"})}function E({agent:r}){return e(u,{children:[r.source==="repo"&&r.repo?r.sourceUrl?e(i,{class:"link-pill",href:r.sourceUrl,external:!0,title:`Repository agent, opens ${r.repo}`,children:[e(l,{d:a}),r.repo]}):e(i,{class:"link-pill",title:"Repository agent",children:[e(l,{d:a}),r.repo]}):e(i,{tone:r.source==="builtin"?"acc":void 0,title:r.local&&r.source==="repo"?"Repo agent, a folder in this repository":r.source==="home"?"Local agent, a folder on this machine":r.source!=="upload"?"Ships with Coder":r.local?"Local agent, a folder on this machine":"Dashboard agent, made and edited here",children:r.local&&r.source==="upload"?"local":R[r.source]??r.source}),r.local?r.commit&&e(i,{title:"Last commit of the agent's folder",children:r.commit.slice(0,7)}):e(i,{children:["v",r.currentVersion]}),r.settings?.disabled?e(w,{}):null]})}export{y as a,S as b,w as c,E as d};
@@ -0,0 +1 @@
1
+ "use client";import{a as re}from"./agent-pills-e75e6ac80d515ffc.js";import{a as ce}from"./agent-toggle-b2f2c22e63dedc1f.js";import{$0a as ie}from"./shared-init-6f8c76316a2cd9da.js";import{b as oe,d as b,e as ae,f as q,g as B,h as le}from"./model-options-3a57918eaa4a2a82.js";import{a as se}from"./confirm-1cb4d8df3974f34a.js";import{a as v}from"./field-657227821326b5b3.js";import{b as j}from"./action-977f2355e308d7d0.js";import"./format-b19b8eec331414f4.js";import"./shared-init-02aaa49ed4606a76.js";import"./shared-init-02aaa49ed4606a76.js";import{$2B as te,$2a as Z,$2u as ne,$2x as h}from"./shared-init-02aaa49ed4606a76.js";import{$0r as ee}from"./shared-init-02aaa49ed4606a76.js";import"./wular-pnext-e8b9eb1e537215ed-0.js";import{$0c as H}from"./shared-init-03e620f936463465.js";import{$1L as x,$1a as e,$1e as O}from"./shared-init-03e620f936463465.js";import"./shared-init-e8b9eb1e537215ed-2.js";import{$2c as L,$2h as p,$2k as X,$2l as Y}from"./shared-init-e8b9eb1e537215ed-2.js";import"./shared-init-e8b9eb1e537215ed-2.js";var ye=["low","medium","high"],we=["read-only","workspace-write","auto"],M=["observe","comment","write"],de=n=>Array.isArray(n)?n.map(String):n&&typeof n=="object"?Object.keys(n):[];function V({name:n,label:y,hint:w,value:d,options:f,blank:k}){let R=d&&!f.includes(d)?[...f,d]:f;return e(v,{label:y,hint:w,group:!0,children:e(h,{name:n,label:y,defaultValue:d??"",options:[["",k],...R.map(u=>[u,u])]})})}function Be({agent:n,catalog:y,models:w,defaults:d,runners:f,connections:k}){let R=Z(),u=te(),[g,U]=p("run"),_=j({refresh:!0}),G=j({leaves:!0}),me=!!_.pending,[Q,z]=p(""),[D,pe]=p(""),[S,ue]=p(),[fe,F]=p(!1),J=Y(null),l=n.settings??{},[$,ge]=p(q(l.engine,l.model)),[I,he]=p(l.connections?"some":""),A=n.definition?.integrations??{},E=Object.keys(A).sort(),T=n.definition,C=T?.engine??d.engine,K=n.source!=="builtin";X(()=>{let t=D.trim().toLowerCase(),a=[];J.current.querySelectorAll(".vpanel").forEach(r=>{let i=!1;r.querySelectorAll(".field").forEach(s=>{let o=[...s.querySelectorAll("input")].map(P=>P.value).join(" "),c=s.closest(".vplatform")?.querySelector("h3")?.textContent??"",m=!t||`${c} ${s.textContent} ${o}`.toLowerCase().includes(t);s.hidden=!m,i||=m}),r.querySelectorAll(".vplatform").forEach(s=>{s.hidden=!s.querySelector(".field:not([hidden])")}),i&&a.push(r.dataset.panel)}),ue(t?a:void 0),t&&a.length&&!a.includes(g)&&U(a[0])},[D]);let ve=()=>void G.run("delete",async()=>{await H.agents.remove(n.id),R.push("/dash/[org]/agents",{params:{org:u}})}).then(t=>t||F(!1)),N=(t,a)=>e("button",{type:"button","aria-current":g===t?"true":void 0,class:S&&!S.includes(t)?"miss":void 0,onClick:()=>U(t),children:a});return e("form",{ref:J,class:"vsettings card frame",onSubmit:async t=>{t.preventDefault();let a=new FormData(t.currentTarget),r=o=>String(a.get(o)??"").trim(),i={};for(let o of["effort","permissions","runner"])r(o)&&(i[o]=r(o));let s=B($);s.engine&&(i.engine=s.engine),s.model&&(i.model=s.model),I&&(i.connections=a.getAll("connection").map(String));for(let o of E){let c=l.integrations?.[o]??{},m={};Array.isArray(c.allowedTools)?m.allowedTools=c.allowedTools:r(`tools:${o}`)&&(m.allowedTools=r(`tools:${o}`));let P=de(A[o]?.events),W=a.getAll(`event:${o}`).map(String);P.length&&W.length<P.length&&(m.allowedEvents=W),Object.keys(m).length&&((i.integrations??={})[o]=m)}n.settings?.disabled&&(i.disabled=!0),z(""),await _.run("save",()=>H.agents.settings(n.id,i))&&z("Saved. New tasks use these settings.")},children:[e("nav",{class:"tabs vertical","aria-label":"Settings sections",children:[e("p",{class:"tabs-label",children:"Runtime"}),N("run","How it runs"),E.length?N("platforms","Platforms"):null,e("p",{class:"tabs-label",children:"Agent"}),N("manage","Manage")]}),e("div",{class:"vbody",children:[e("div",{class:"vsearch",children:[e(ne,{value:D,label:"Search settings",onInput:pe}),S&&!S.length?e("span",{class:"muted",children:"No setting matches."}):null]}),e("section",{class:"vpanel","data-panel":"run",hidden:g!=="run",children:[e("h2",{children:"How it runs"}),e("p",{class:"muted",children:"Anything left on Default follows the agent's own definition."}),e("div",{class:"fields",children:[e(v,{label:"Model",hint:"picking a model picks its engine",group:!0,children:e(h,{label:"Model",value:$,options:[...ae(w,b([oe[C]??C,T?.model??d.engines[C]?.model].filter(Boolean).join(" \xB7 "))),...!l.engine&&l.model?[[q(void 0,l.model),l.model]]:[]],headings:le(w),onChange:ge})}),e(V,{name:"effort",label:"Effort",value:l.effort,options:ye,blank:b(T?.effort??d.engines[B($).engine??C]?.effort)}),e(V,{name:"permissions",label:"Permissions",hint:"what the runner may change in the checkout",value:l.permissions,options:we,blank:b(T?.permissions??"read-only")}),f.length>1?e(v,{label:"Runs on",group:!0,children:e(h,{name:"runner",label:"Runs on",defaultValue:l.runner??"",options:f})}):null,e(v,{label:"Connections",hint:"which workspace connections its tasks can use",group:!0,children:e(h,{label:"Connections",value:I,options:[["","Every workspace connection"],["some","Only the ones picked"]],onChange:he})}),I?e("div",{class:"field picked",children:[e("span",{children:["Picked connections ",e("small",{children:"tasks can use only these"})]}),k.length?e("div",{class:"checks",children:k.map(t=>e("label",{class:"check",children:[e("input",{type:"checkbox",name:"connection",value:t.id,defaultChecked:l.connections?.includes(t.id)}),t.name]},t.id))}):e("span",{class:"muted",children:["This workspace has no connections yet."," ",e(O,{class:"link",href:"/dash/[org]/settings/[tab]",params:{org:u,tab:"connections"},children:"Add one in Settings"})]})]}):null]})]}),E.length?e("section",{class:"vpanel","data-panel":"platforms",hidden:g!=="platforms",children:[e("h2",{children:"Platforms"}),e("p",{class:"muted",children:["Overrides for this workspace: turn events off or lower access."," ",ie(n)?e(L,{children:["To add an event or a platform,"," ",e(O,{href:"/dash/[org]/agents/[slug]/edit",params:{org:u,slug:n.id},search:{section:"platforms"},children:["edit ",n.name]}),"."]}):n.source==="repo"?e(L,{children:[n.name," comes from ",n.repo??"a repository","; add an event or a platform in its"," ",n.sourceUrl?e("a",{href:n.sourceUrl,target:"_blank",rel:"noreferrer",children:"agent.json"}):"agent.json"," ","there."]}):e(L,{children:[n.name," is built in, so its events and platforms ship with Coder. To listen anywhere else,"," ",e(O,{href:"/dash/[org]/agents/new",params:{org:u},children:"create your own agent"}),"."]})]}),E.map(t=>{let a=l.integrations?.[t]??{},r=de(A[t]?.events),i=a.allowedEvents,s=A[t]?.tools,o=y.find(c=>c.id===t);return e("div",{class:"vplatform",children:[e("h3",{children:[o?e(re,{brand:o.brand}):null,o?.name??t]}),Array.isArray(a.allowedTools)?e("div",{class:"field",children:[e("span",{children:"Platform access"}),e(ee,{values:a.allowedTools})]}):e(V,{name:`tools:${t}`,label:"Platform access",hint:`observe reads, comment also replies, write also pushes and merges; at most ${typeof s=="string"?s:s?"its tools":"observe"}, as the definition grants`,value:typeof a.allowedTools=="string"?a.allowedTools:void 0,options:typeof s=="string"?M.slice(0,M.indexOf(s)+1):s?M:M.slice(0,1),blank:b(typeof s=="string"?s:s?"custom":"observe")}),r.length?e("div",{class:"field",children:[e("span",{children:["Events"," ",e("small",{children:"the definition's events; turn off any it should ignore here"})]}),e("div",{class:"checks",children:r.map(c=>e("label",{class:"check",children:[e("input",{type:"checkbox",name:`event:${t}`,value:c,defaultChecked:!i||i.includes(c)}),c]},c))})]}):null]},t)})]}):null,e("section",{class:"vpanel","data-panel":"manage",hidden:g!=="manage",children:[e("h2",{children:"Manage"}),e("div",{class:"field row-action",children:[e("span",{children:["Disable agent",e("small",{children:"stops its events and new tasks in this workspace; its apps and tasks stay"})]}),e(ce,{agent:n})]}),e("div",{class:"field row-action",children:[e("span",{children:["Delete agent",e("small",{children:K?"removes it and every version; its tasks and platform apps stay":`${n.name} is built in and cannot be deleted; disable it above instead`})]}),e(x,{variant:"secondary",danger:!0,disabled:!K,onClick:()=>F(!0),children:"Delete agent"})]})]}),g==="manage"?null:e("div",{class:"form-actions save",children:[Q?e("span",{class:"flash",role:"status",children:Q}):null,e(x,{type:"submit",loading:me,children:"Save"})]})]}),fe?e(se,{open:!0,title:`Delete ${n.name}?`,body:"It stops answering on every platform. This cannot be undone.",confirmLabel:"Delete agent",busy:!!G.pending,onClose:()=>F(!1),onConfirm:ve}):null]})}export{Be as AgentSettingsForm};
@@ -0,0 +1 @@
1
+ import{b}from"./action-977f2355e308d7d0.js";import{$0c as r}from"./shared-init-03e620f936463465.js";import{$1L as c,$1a as s}from"./shared-init-03e620f936463465.js";import{$2h as g}from"./shared-init-e8b9eb1e537215ed-2.js";function A({agent:o,link:u}){let i=b({refresh:!0}),e=!!i.pending,t=!!o.settings?.disabled,[l,m]=g({saved:t,disabled:t}),n=l.saved===t?l.disabled:t,a=()=>void i.run("toggle",async()=>{await r.agents.settings(o.id,{...o.settings,disabled:!n}),m({saved:t,disabled:!n})}),d=n?"Enable":"Disable";return u?s("button",{type:"button",class:"link",disabled:e,"aria-busy":e,onClick:a,children:d}):s(c,{variant:"outline",loading:e,onClick:a,children:d})}export{A as a};
@@ -0,0 +1 @@
1
+ "use client";import{a as R}from"./tail-ebdefca4d5c23266.js";import{a as k,b as N,d as P}from"./agent-pills-e75e6ac80d515ffc.js";import{f as c}from"./format-b19b8eec331414f4.js";import{$2B as a,$2s as A,$2t as w,$2u as v,$2v as C,$2w as I}from"./shared-init-02aaa49ed4606a76.js";import{$0c as y,$0f as b}from"./shared-init-02aaa49ed4606a76.js";import"./wular-pnext-e8b9eb1e537215ed-0.js";import{$0c as d}from"./shared-init-03e620f936463465.js";import{$1M as h,$1a as t,$1e as f,$1f as u}from"./shared-init-03e620f936463465.js";import"./shared-init-e8b9eb1e537215ed-2.js";import{$2c as g}from"./shared-init-e8b9eb1e537215ed-2.js";import"./shared-init-e8b9eb1e537215ed-2.js";function q(){return t(h,{href:"/dash/[org]/agents/new",params:{org:a()},leftIcon:u,children:"New agent"})}function O({agent:r,catalog:s}){let o=a();return t("li",{class:"agent-card",children:[t("div",{class:"bc-head",children:[t("span",{class:"mark",children:c(r.name)}),t("div",{class:"grow",children:[t("h3",{children:t(f,{class:"cover",href:"/dash/[org]/agents/[slug]",params:{org:o,slug:r.id},children:r.name})}),t("span",{class:"pills",children:t(P,{agent:r})})]})]}),t("div",{class:"lead-clamp",children:t("span",{children:r.description??"No description yet."})}),r.platforms.length?t(N,{platforms:r.platforms,catalog:s,agent:r.id}):t("span",{class:"pfs muted",children:"No handles yet"})]})}var D=[["","All agents"],["dashboard","Dashboard agents"],["repository","Repository agents"],["builtin","Built-in"]];function j({first:r,limit:s,filters:o,catalog:i,head:L,children:B}){let{values:l,set:m,query:K}=w(o),n=b({name:"agents",fetchPage:e=>d.agents.list({cursor:e,limit:s,...l}),query:K,first:r,initial:A(o)});return t(g,{children:[t(C,{head:L,action:t(q,{}),children:[t(v,{value:l.q,label:"Search agents",onInput:e=>m("q",e,250)}),t(I,{name:"agents",facets:[{key:"platform",label:"Platform",options:i.map(e=>[e.id,e.name]),icon:e=>{let p=i.find(S=>S.id===e);return p?t(k,{brand:p.brand}):void 0}},{key:"type",label:"Source",options:D}],values:l,onChange:m})]}),B,n.rows.length?t("ul",{class:"agent-grid","aria-busy":n.stale,children:n.rows.map(e=>t(O,{agent:e,catalog:i},e.id))}):n.stale?null:t(y,{title:"No agents match",children:"Try another search or filter."}),t(R,{noun:"agents",...n})]})}export{j as AgentsGrid,D as KINDS};
@@ -0,0 +1 @@
1
+ import{$2B as a,$2z as c}from"./shared-init-02aaa49ed4606a76.js";import{$1M as i,$1a as r}from"./shared-init-03e620f936463465.js";import{$2j as m}from"./shared-init-e8b9eb1e537215ed-2.js";var n="coder-back";function s(o){let t=new RegExp(`(?:^|; )${n}=([^;]*)`).exec(o)?.[1];try{let e=t&&JSON.parse(decodeURIComponent(t));return e&&typeof e.path=="string"&&e.path.startsWith("/dash/")?e:null}catch{return null}}function x({label:o,children:t,...e}){let p=()=>{let l=encodeURIComponent(JSON.stringify({path:location.pathname,label:o}));document.cookie=`${n}=${l}; path=/dash; max-age=600; samesite=lax`};return r(i,{...e,href:"/dash/[org]/settings/[tab]",params:{org:a(),tab:"credentials"},onClick:p,children:t})}function B({initial:o}){let t=a(),e=typeof document>"u"?o:s(document.cookie);return m(()=>()=>void setTimeout(()=>{location.pathname.split("/")[3]!=="settings"&&(document.cookie=`${n}=; path=/dash; max-age=0`)}),[]),e?r(c,{href:"/dash/[org]",params:{org:t},label:"Back",back:e.path,named:e.label}):null}export{x as a,B as b};
@@ -0,0 +1 @@
1
+ import{$2n as C,$2y as H}from"./shared-init-02aaa49ed4606a76.js";import{$1a as i}from"./shared-init-03e620f936463465.js";import{$2c as E,$2h as l,$2k as m,$2l as g,$2n as x}from"./shared-init-e8b9eb1e537215ed-2.js";var R=50;function F({label:M,name:S,class:D,options:v,placeholder:I,value:f,onChange:b,onOpen:w}){let[O,s]=l(!1),[T,a]=l(!1),[n,c]=l(0),[$,A]=l(""),k=g(null),u=g(null),p=x(),y=T?f.trim().toLowerCase():"",r=(y?v.filter(e=>e.toLowerCase().includes(y)):v).slice(0,R),o=O&&r.length>0,L=e=>{let t=r[e];t&&b(t),s(!1),a(!1)};return m(()=>{if(!o)return;u.current?.showPopover();let e=()=>{let t=k.current?.getBoundingClientRect(),d=u.current;if(!t||!d)return;let h=innerHeight-t.bottom-12,P=h<Math.min(d.scrollHeight,240)&&t.top>h;A(`left:${Math.round(Math.min(t.left,innerWidth-d.offsetWidth-8))}px;min-width:${Math.round(t.width)}px;`+(P?`bottom:${Math.round(innerHeight-t.top+4)}px;max-height:${Math.round(Math.min(360,t.top-12))}px`:`top:${Math.round(t.bottom+4)}px;max-height:${Math.round(Math.min(360,h))}px`))};return e(),addEventListener("resize",e),addEventListener("scroll",e,!0),()=>{removeEventListener("resize",e),removeEventListener("scroll",e,!0)}},[o,r.length]),m(()=>{o&&u.current?.querySelector(`[data-index="${n}"]`)?.scrollIntoView({block:"nearest"})},[o,n,$]),i(E,{children:[i("input",{ref:k,name:S,class:D,role:"combobox","aria-label":M,"aria-autocomplete":"list","aria-expanded":o,"aria-controls":`${p}-list`,"aria-activedescendant":o?`${p}-${n}`:void 0,autocomplete:"off",placeholder:I,value:f,onInput:e=>{b(e.currentTarget.value),a(!0),c(0),s(!0)},onFocus:()=>{a(!1),s(!0),w?.()},onClick:()=>{s(!0),w?.()},onBlur:()=>{s(!1),a(!1)},onKeyDown:e=>{if(o){if(e.key==="ArrowDown")c((n+1)%r.length);else if(e.key==="ArrowUp")c((n-1+r.length)%r.length);else if(e.key==="Enter")L(n);else if(e.key==="Escape")s(!1);else return;e.preventDefault()}}}),o?i(H,{id:p,label:M,listRef:u,place:$,children:r.map((e,t)=>i(C,{id:`${p}-${t}`,"data-index":t,active:t===n,selected:e===f,check:!0,onPointerMove:()=>t!==n&&c(t),onClick:()=>L(t),children:e},e))}):null]})}export{F as a};
@@ -0,0 +1 @@
1
+ import{$1a as pe,$1b as Ye,$1c as et,$1d as tt,$1f as nt}from"./shared-init-6f8c76316a2cd9da.js";import{j as Qe}from"./task-6ae2bb4f1b384140.js";import{a as Xe}from"./connect-repositories-995d55b3f166337d.js";import{a as Ze,b as ue,d as de,f as V,g as _e}from"./model-options-3a57918eaa4a2a82.js";import{a as ot}from"./notice-cd32ca98bbc10844.js";import{a as rt}from"./back-1d1b062f0e1b29b7.js";import{a as D,b as Ve}from"./action-977f2355e308d7d0.js";import{a as De,g as A}from"./format-b19b8eec331414f4.js";import{$1e as Je}from"./shared-init-02aaa49ed4606a76.js";import{$2B as Ge,$2a as qe,$2l as ze,$2m as J,$2n as Ke,$2o as S,$2p as We,$2q as Ue,$2r as ce,$2x as q}from"./shared-init-02aaa49ed4606a76.js";import{$0d as je}from"./shared-init-02aaa49ed4606a76.js";import{$0c as g}from"./shared-init-03e620f936463465.js";import{$1B as Fe,$1E as Ie,$1K as Be,$1L as le,$1N as He,$1a as t,$1b as G,$1k as Te,$1t as Pe,$1z as ae}from"./shared-init-03e620f936463465.js";import{$2c as h,$2h as f,$2j as H,$2k as Ne,$2l as M,$2n as Ae}from"./shared-init-e8b9eb1e537215ed-2.js";var Mt=[["","Default"],["low","Low"],["medium","Medium"],["high","High"]],Ct=[["","Default"],["read-only","Read-only"],["workspace-write","Write"],["auto","Auto"]],X="coder:draft",Z="+connect",st="+refresh",fe="+other",me="+pick",ge="+clone",Lt=/^\/(review|flow)(?:\s+(\S+))?\s*([\s\S]*)$/,Rt=(l,s,i)=>[["",l],...[...new Set([s,...i])].filter(Boolean).map(c=>[c,c])],it=(l,s,i)=>{let c=[...l.recent,...s].map(d=>d.path);return[["","No folder"],...[...new Set([...c,i])].filter(d=>d&&d!==l.current.path).map(d=>[d,Qe(d)]),l.picker?[me,"Choose\u2026"]:[fe,"Type a path\u2026"],[ge,"Repository\u2026"]]};function $t(l,s){let i=[["",[["",`Default \xB7 ${[ue[s.engine]??s.engine,s.engines[s.engine]?.model].filter(Boolean).join(" ")}`]]]];for(let c of Ze)l[c]?.length&&i.push([ue[c]??c,[[V(c,""),de(s.engines[c]?.model)],...l[c].map(d=>[V(c,d),d])]]);return i}var at=(l,s)=>{let i=l.find(([c])=>c&&c===s)?.[1];return[["",de(i?.toLowerCase())],...l.slice(1)]};function Ot(l){let s=l.currentTarget,i=document.querySelector(`[popovertarget="${s.id}"]`)?.getBoundingClientRect();if(l.newState!=="open"||!i)return;let c=Math.round(i.bottom+6);s.style.top=`${c}px`,s.style.right=`${Math.round(document.documentElement.clientWidth-i.right)}px`,s.style.maxHeight=`${Math.max(160,window.innerHeight-c-16)}px`}function xt(l){return Object.fromEntries(l.split(/\s+/).filter(Boolean).map(s=>{let i=s.indexOf("="),c=i<0?"true":s.slice(i+1);try{return[i<0?s:s.slice(0,i),JSON.parse(c)]}catch{return[s.slice(0,i),c]}}))}function St({id:l,entries:s,active:i,selected:c,onActive:d}){return t(h,{children:s.flatMap((m,b)=>[m.head?t(S,{role:"presentation",children:m.head},`h:${m.key}`):null,t(Ke,{id:`${l}-${b}`,active:b===i,selected:c===void 0?b===i:m.key===c,check:c!==void 0,end:m.hint?t("small",{children:m.hint}):null,onMouseDown:y=>y.preventDefault(),onPointerMove:()=>b!==i&&d(b),onClick:m.pick,children:m.label},m.key)])})}var Nt=(l,s,i,c)=>{let d={ArrowDown:1,ArrowUp:-1}[l.key];return!d||!i?!1:(l.preventDefault(),c((s+d+i)%i),!0)};function At({reason:l,label:s}){return t(ot,{tone:"warning",slim:!0,children:[t(G,{d:Ie}),t("span",{class:"grow",children:l||"Tasks need a model credential to run."}),t(rt,{variant:"outline",size:"sm",label:s,children:"Add credential"})]})}function Dt({initial:l,data:s,defaults:i,missing:c,connectLabel:d,tz:m}){let b=qe(),y=Ge(),[r,he]=f(()=>et({...Ye,...l},s)),[u,_]=f(s),[j,Q]=f(),[Y,be]=f(!1),[we,lt]=f(),[ct,ut]=f(),[C,ee]=f(""),[dt,L]=f(!1),[pt,z]=f(0),[te,ft]=f([]),[R,T]=f(""),[N,ye]=f(!1),ke=M(null),w=M(null),ve=M(null),Ee=M(null),k=Ae();H(()=>void(R&&Ee.current?.focus()),[R]),H(()=>{let e=localStorage.getItem(X);e&&w.current&&!w.current.value&&(w.current.value=e),ee(w.current?.value??""),w.current?.focus(),L(!0)},[]);let Me=C.startsWith("/");H(()=>{let e=r.repo;!Me||!e||j?.repo===e||(Q({repo:e}),g.pulls.list(e).then(n=>Q({repo:e,items:n})).catch(n=>{Q({repo:e,items:[]}),D(n)}),g.flows.list(e).then(n=>_(a=>({...a,flows:n.map(o=>o.name)}))).catch(()=>{}))},[Me,r.repo]);let ne=M(!!s.repos),Ce=()=>{ne.current||(ne.current=!0,g.repositories.list().catch(e=>(console.error("coder dashboard: repositories",e),[])).then(e=>_(n=>({...n,repos:e.map(a=>a.repo)}))))},Le=Ve(),Re=!!Le.pending,mt=()=>{ne.current=!0,Le.run("refresh",async()=>{let e=await g.repositories.refresh();_(n=>({...n,repos:e.map(a=>a.repo)}))})},$e=!r.repo&&/^\/review\s/.test(C);H(()=>void($e&&Ce()),[$e]);let P=(e,n)=>{if(n===fe)return T("path");if(n===ge)return T("url");if(n===me)return void ht();if(n===st)return Re?void 0:mt();if(n===Z)return void Xe(`/dash/${y}/tasks`).catch(D);$({[e]:n}),(e==="repo"||e==="cwd")&&w.current?.focus({preventScroll:!0})},$=e=>{let n={...r,...e};he(n),document.cookie=`compose=${encodeURIComponent(JSON.stringify(n))}; path=/; max-age=31536000; samesite=lax`},oe=e=>{if(!e.ok)return D(e.detail);T(""),ft(n=>[...n.filter(a=>a.path!==e.folder.path),e.folder]),P("cwd",e.folder.path===u.folders?.current.path?"":e.folder.path)},gt=async e=>{e.trim()&&oe(await g.folders.check(e.trim()).catch(n=>({ok:!1,detail:A(n)})))},ht=async()=>{document.body.style.cursor="progress";let e=await g.folders.pick().catch(n=>({ok:!1,detail:A(n)}));document.body.style.cursor="",(e.ok||e.detail)&&oe(e)},bt=async e=>{if(!e.trim())return;ye(!0),document.body.style.cursor="progress";let n=await g.folders.clone(e.trim()).catch(a=>({ok:!1,detail:A(a)}));document.body.style.cursor="",ye(!1),oe(n)},re=e=>{let n=w.current;n.value=e,localStorage.setItem(X,e),ee(e),z(0),L(!1),n.focus(),n.setSelectionRange(e.length,e.length)},K=async e=>{let n=w.current?.value.trim()??"";if(Y||N||u.agentsOff||!(n||e))return;let[,a,o="",O=""]=Lt.exec(n)??[];if(!e&&a&&!(a==="flow"?o:/^#?\d+$/.test(o)))return void L(!1);let v=e??(a==="review"?Number(o.replace("#","")):void 0);if(v&&!r.repo)return D("Pick a repository first.");let{agent:I,engine:U,model:B,effort:x,permissions:se,runner:yt}=r,[kt,vt]=u.folders?["",r.cwd]:[r.repo,""],ie=Object.fromEntries(Object.entries({repo:kt,cwd:vt,engine:U,model:B,effort:x,permissions:se,runner:yt}).filter(([,E])=>E));be(!0);try{let E=v?await g.review({...ie,repo:r.repo,pr:v}):a==="flow"?await g.flows.run(o,{...ie,agent:I,args:xt(O)}):await g.tasks.create({...ie,agent:I,prompt:n});(!e||a)&&localStorage.removeItem(X),Je(E.task.id,"queued",n||`Review of #${v}`),b.push("/dash/[org]/tasks/[id]",{params:{org:y,id:E.task.id}})}catch(E){be(!1),E.status===409?lt(A(E)):D(E)}},p=(()=>{let e=/^\/(\S*)$/.exec(C)?.[1]?.toLowerCase();if(e!==void 0)return{label:"Commands",entries:[{key:"review",label:"/review",hint:"Review a pull request",pick:()=>re("/review ")},...u.flows.map(o=>({key:`flow ${o}`,label:`/flow ${o}`,hint:`Run the ${o} flow`,pick:()=>re(`/flow ${o} `)}))].filter(o=>o.key.includes(e)),note:"No command matches."};let n=/^\/flow\s+(\S*)$/.exec(C)?.[1];if(n!==void 0)return{label:"Flows",entries:u.flows.filter(o=>o.includes(n)).map(o=>({key:o,label:o,hint:`Run the ${o} flow`,pick:()=>o===n?void K():re(`/flow ${o} `)})),note:"No flow matches."};let a=/^\/review\s+#?(\S*)$/.exec(C)?.[1];if(a!==void 0)return r.repo?j?.items?{label:`Pull requests in ${r.repo}`,entries:[...j.items.filter(o=>String(o.number).startsWith(a)||o.title.toLowerCase().includes(a.toLowerCase())).sort((o,O)=>+(String(O.number)===a)-+(String(o.number)===a)).map(o=>({key:`#${o.number}`,label:`#${o.number} ${o.title}`,hint:[o.author,o.createdAt?De(Date.parse(o.createdAt),m):""].filter(Boolean).join(" \xB7 "),pick:()=>void K(o.number)})),...a?[]:[{key:"",label:r.repo,hint:"Pick another repository",pick:()=>$({repo:""})}]],note:j.items.length?"No open pull request matches.":"No open pull requests."}:{label:`Pull requests in ${r.repo}`,entries:[],note:"loading"}:{label:"Pick a repository",entries:[...(u.repos??[]).filter(o=>o.includes(a)).map(o=>({key:o,label:o,pick:()=>P("repo",o)})),{key:Z,label:d,pick:()=>P("repo",Z)}]}})(),F=!!(p&&!dt),W=p?Math.min(pt,Math.max(0,p.entries.length-1)):0;Ne(()=>{let e=ve.current;if(!e)return;if(!F)return void(e.matches(":popover-open")&&e.hidePopover());let n=()=>{let a=ke.current.getBoundingClientRect();e.style.top=`${Math.round(a.bottom+6)}px`,e.style.left=`${Math.round(a.left)}px`,e.style.width=`${Math.round(Math.min(a.width,460))}px`};return n(),e.matches(":popover-open")||e.showPopover(),addEventListener("scroll",n,!0),addEventListener("resize",n),()=>{removeEventListener("scroll",n,!0),removeEventListener("resize",n)}},[F,C]);let wt=r.engine||i.engine,Oe=i.engines[wt]??{},xe=u.agents.some(([e])=>e===r.agent)?u.agents:[...u.agents,[r.agent,r.agent]],Se=[r.agent!==u.defaultAgent&&r.agent,r.engine!==i.engine&&r.engine,...["model","effort","permissions"].map(e=>r[e]!==Oe[e]&&r[e]),r.runner&&(u.runners.find(([e])=>e===r.runner)?.[1]??r.runner)].filter(Boolean).join(" \xB7 ");return t(h,{children:[t("form",{ref:ke,class:"composer",onSubmit:e=>{e.preventDefault(),K()},children:[t("textarea",{ref:w,name:"prompt",rows:1,role:"combobox","aria-label":"What should the agent do?","aria-autocomplete":"list","aria-expanded":F,"aria-controls":`${k}-slash`,"aria-activedescendant":F&&p?.entries.length?`${k}-slash-${W}`:void 0,placeholder:pe,autofocus:!0,onFocus:()=>L(!1),onBlur:()=>L(!0),onInput:e=>{let n=e.currentTarget.value;localStorage.setItem(X,n),ee(n),z(0),L(!1)},onKeyDown:e=>{if(!e.isComposing){if(F&&p){if(Nt(e,W,p.entries.length,z))return;if(e.key==="Escape")return e.preventDefault(),L(!0);if(p.entries.length&&(e.key==="Enter"&&!e.shiftKey||e.key==="Tab"))return e.preventDefault(),p.entries[W].pick()}e.key!=="Enter"||e.shiftKey||(e.preventDefault(),K())}}}),t("div",{class:"composer-line",children:[u.folders?R?t(h,{children:[t("input",{class:"folder-path","aria-label":R==="url"?"Repository URL":"Folder path",ref:Ee,placeholder:R==="url"?"https://github.com/owner/repo":"Absolute path or ~/\u2026",readOnly:N,"aria-busy":N,onKeyDown:e=>{if(N)return e.preventDefault();if(e.key==="Escape")return e.preventDefault(),T("");e.key!=="Enter"||e.isComposing||(e.preventDefault(),(R==="url"?bt:gt)(e.currentTarget.value))},onBlur:e=>!N&&!e.currentTarget.value.trim()&&T("")}),N?t("span",{class:"folder-busy",children:"Cloning\u2026"}):null]}):t("span",{class:"folder",title:r.cwd||u.folders.current.path,children:t(q,{label:"Folder",value:r.cwd,options:it(u.folders,te,r.cwd),subs:Object.fromEntries(it(u.folders,te,r.cwd).flatMap(([e])=>e&&e!==fe&&e!==me&&e!==ge?[[e,te.find(n=>n.path===e)?.url??e]]:[])),onChange:e=>P("cwd",e)})}):t(q,{label:"Repository",value:r.repo,options:[...Rt("No repository",r.repo,u.repos??[]),[st,Re?"Refreshing repositories\u2026":"Refresh repositories"],[Z,d]],onChange:e=>P("repo",e),onFocus:Ce}),t("button",{type:"button",class:"quiet",popovertarget:`${k}-settings`,"aria-label":"Run options",title:"Model, effort, permissions and more",children:[t(G,{d:Be}),Se?t("span",{children:Se}):null]}),t(le,{type:"submit",size:"sm",class:"send",leftIcon:Fe,disabled:!C.trim()||u.agentsOff,loading:Y,"aria-label":Y?"Starting task":"Start task",title:"Start task (Enter)"})]}),u.agentsOff?t("small",{class:"folder-hint",children:"Every agent here is disabled. Enable one in its settings to start tasks."}):null,R==="url"?t("small",{class:"folder-hint",children:"Uses this machine's git logins"}):null,t(ce,{id:`${k}-settings`,class:"composer-settings",popover:"auto",onBeforeToggle:Ot,children:[t(S,{children:"Model"}),t("div",{role:"group","aria-label":"Model",class:"pop-radios",children:[$t(u.models,i).map(([e,n])=>t(h,{children:[e?t("p",{class:"pop-group",children:e}):null,n.map(([a,o])=>{let O=a===V(r.engine,r.model),v=_e(a),I=at(Mt,i.engines[v.engine||i.engine]?.effort),U=O&&r.effort?I.find(([x])=>x===r.effort)?.[1]:void 0,B=ct===a;return t(h,{children:[t(Ue,{children:[t(J,{on:O,onPick:()=>{$({...v,effort:""}),document.getElementById(`${k}-settings`)?.hidePopover()},end:U?t("small",{children:U.toLowerCase()}):null,children:o}),t("button",{type:"button",class:"pop-chev","data-keep":!0,"aria-label":`Effort for ${o}`,"aria-expanded":B,onClick:()=>ut(B?void 0:a),children:t(G,{d:Te})})]}),B?t("div",{role:"group","aria-label":`Effort for ${o}`,class:"pop-sub",children:I.map(([x,se])=>t(J,{on:O&&r.effort===x,onPick:()=>{$({...v,effort:x}),document.getElementById(`${k}-settings`)?.hidePopover()},children:se},x))}):null]},a)})]},e)),t(ze,{class:"add-models",href:"/dash/[org]/settings/[tab]",params:{org:y,tab:"models"},icon:ae,children:"Add models"})]}),t(S,{children:"Permissions"}),t("div",{role:"group","aria-label":"Permissions",children:at(Ct,Oe.permissions??"auto").map(([e,n])=>t(J,{on:r.permissions===e,onPick:()=>$({permissions:e}),children:n},e))}),xe.length>1?t(h,{children:[t(S,{children:"Agent"}),t(q,{label:"Agent",value:r.agent,options:xe,onChange:e=>$({agent:e})})]}):null,u.runners.length>1?t(h,{children:[t(S,{children:"Runs on"}),t(q,{label:"Runs on",options:u.runners,value:r.runner,onChange:e=>$({runner:e})})]}):null]}),t(ce,{panelRef:ve,id:`${k}-slash`,class:"composer-slash",popover:"manual",role:"listbox","aria-label":p?.label??"Commands",children:p?t(h,{children:[t(S,{children:p.label}),t(St,{id:`${k}-slash`,entries:p.entries,active:W,onActive:z}),p.note==="loading"?t(je,{label:"Loading pull requests",inline:!0}):p.note&&!p.entries.length?t(We,{children:p.note}):null]}):null})]}),we===void 0||c?null:t(At,{reason:we})]})}function Tt(){return t("div",{class:"composer","aria-hidden":"true",children:[t("textarea",{rows:1,disabled:!0,tabIndex:-1,placeholder:pe}),t("div",{class:"composer-line"})]})}function an({agent:l}){let s=M(null),[i,c]=f(),[d,m]=f(""),[b,y]=f(!1),r=M();return t(h,{children:[t(le,{class:"new-task",leftIcon:ae,onClick:()=>{y(!0),s.current?.showModal(),r.current??=nt(g).then(c,u=>m(A(u)))},children:"New task"}),t("dialog",{ref:s,class:"compose-dialog","aria-label":l?`New task for ${l}`:"New task",onClose:()=>y(!1),onClick:u=>u.target===u.currentTarget&&s.current?.close(),children:[t("header",{children:[t("h2",{children:"New task"}),l?t("span",{class:"sub",children:l}):null,t(He,{icon:Pe,label:"Close",onClick:()=>s.current?.close()})]}),b?i?t(Dt,{...i,initial:{...tt(document.cookie),...l?{agent:l}:{}},tz:Intl.DateTimeFormat().resolvedOptions().timeZone}):d?t("p",{class:"flash err",role:"alert",children:d}):t(Tt,{}):null]})]})}export{At as a,Dt as b,Tt as c,an as d};
@@ -0,0 +1 @@
1
+ "use client";import{a,b,c,d}from"./composer-6bf94d1087a6e6a6.js";import"./shared-init-6f8c76316a2cd9da.js";import"./task-6ae2bb4f1b384140.js";import"./defaults-dcc0eccad4e8585b.js";import"./shared-init-6f8c76316a2cd9da.js";import"./connect-repositories-995d55b3f166337d.js";import"./model-options-3a57918eaa4a2a82.js";import"./notice-cd32ca98bbc10844.js";import"./back-1d1b062f0e1b29b7.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"./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{b as Composer,c as LoadingComposer,a as NeedsCredential,d as NewTaskButton};
@@ -0,0 +1 @@
1
+ import{$3a as r}from"./shared-init-02aaa49ed4606a76.js";import{$1L as i,$1a as o,$1v as e}from"./shared-init-03e620f936463465.js";function b({open:l,title:m,body:n,confirmLabel:p,onConfirm:a,onClose:f,busy:t}){return o(r,{open:l,class:"confirm",title:m,busy:t,onSubmit:C=>{C.preventDefault(),a()},onClose:f,actions:o(i,{type:"submit",danger:!0,leftIcon:e,loading:t,children:p}),children:n?o("p",{children:n}):null})}export{b as a};
@@ -0,0 +1 @@
1
+ "use client";import{a as c}from"./notice-cd32ca98bbc10844.js";import{b as l}from"./action-977f2355e308d7d0.js";import"./format-b19b8eec331414f4.js";import"./shared-init-02aaa49ed4606a76.js";import{$2B as a}from"./shared-init-02aaa49ed4606a76.js";import"./shared-init-02aaa49ed4606a76.js";import"./wular-pnext-e8b9eb1e537215ed-0.js";import{$0c as i}from"./shared-init-03e620f936463465.js";import{$1L as s,$1a as o,$1b as e,$1z as r}from"./shared-init-03e620f936463465.js";import"./shared-init-e8b9eb1e537215ed-2.js";import"./shared-init-e8b9eb1e537215ed-2.js";import"./shared-init-e8b9eb1e537215ed-2.js";function C({apps:d}){let m=a(),t=l({toast:"Not installed",leaves:!0}),g=({id:n,agent:p})=>void t.run(n,async()=>{let u=`/dash/${m}/agents/${encodeURIComponent(p)}/platforms`;location.href=(await i.apps.install(n,u)).url});return o(c,{children:[o(e,{d:r}),o("span",{class:"grow",children:"Add the built-in agent to your repositories and channels."}),d.map(n=>o(s,{variant:"outline",size:"sm",disabled:!!t.pending,loading:t.pending===n.id,onClick:()=>g(n),children:n.label},n.id))]})}export{C as ConnectApps};
@@ -1 +1 @@
1
- import{$1b as i}from"./shared-init-17c1fd399ac53851.js";async function u(o){let[a,n]=await Promise.all([i.apps.list(),i.integrations.list()]),r=new Set(n.filter(t=>t.repositories).map(t=>t.id)),e=a.map(t=>t.value).sort((t,l)=>+!!l.builtin-+!!t.builtin).find(t=>r.has(t.integration));if(!e)throw new Error("No app here can reach repositories yet.");let{url:s}=await i.apps.install(e.id,o);location.href=s}export{u as a};
1
+ import{$0c as i}from"./shared-init-03e620f936463465.js";async function u(o){let[a,n]=await Promise.all([i.apps.list(),i.integrations.list()]),r=new Set(n.filter(t=>t.repositories).map(t=>t.id)),e=a.map(t=>t.value).sort((t,l)=>+!!l.builtin-+!!t.builtin).find(t=>r.has(t.integration));if(!e)throw new Error("No app here can reach repositories yet.");let{url:s}=await i.apps.install(e.id,o);location.href=s}export{u as a};
@@ -0,0 +1 @@
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};
@@ -0,0 +1 @@
1
+ import{$1J as l,$1N as c,$1a as e,$1u as r}from"./shared-init-03e620f936463465.js";import{$2h as n}from"./shared-init-e8b9eb1e537215ed-2.js";function p({value:o,label:i="Copy"}){let[t,d]=n(!1);return e(c,{icon:t?r:l,label:t?"Copied":i,class:t?"copied":void 0,onClick:()=>void navigator.clipboard.writeText(o).then(()=>d(!0))})}function g({value:o,label:i="Copy command",link:t}){return e("div",{class:"copy-line",children:[t?e("a",{href:o,target:"_blank",rel:"noreferrer",children:e("code",{children:o})}):e("code",{children:o}),e(p,{value:o,label:i})]})}export{p as a,g as b};
@@ -0,0 +1 @@
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};
@@ -0,0 +1 @@
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};
@@ -0,0 +1 @@
1
+ import{a as e}from"./field-657227821326b5b3.js";import{$2a as l,$2e as p,$2g as f}from"./shared-init-02aaa49ed4606a76.js";import{$0k as c}from"./shared-init-02aaa49ed4606a76.js";import{$1L as u,$1a as t,$1b as s,$1j as i}from"./shared-init-03e620f936463465.js";import{$2c as n}from"./shared-init-e8b9eb1e537215ed-2.js";function x({page:o,from:d,to:g,today:m,on:h}){let y=l();return t(c,{class:h?"custom on":"custom",align:"left",summary:t(n,{children:["Custom",t(s,{d:i})]}),children:t("form",{class:"date-pop",onSubmit:r=>{r.preventDefault();let a=new FormData(r.currentTarget),[S,T]=[String(a.get("from")),String(a.get("to"))].sort();r.currentTarget.closest("[popover]")?.hidePopover(),y.push(o.href,{params:p(o).params,search:f(o.search,{from:String(S),to:String(T)}),scroll:!1})},children:[t(e,{label:"From",children:t("input",{type:"date",name:"from",defaultValue:d,max:m,required:!0})}),t(e,{label:"To",children:t("input",{type:"date",name:"to",defaultValue:g,max:m,required:!0})}),t(u,{type:"submit",size:"sm","data-keep":!0,children:"Apply"})]})})}export{x as a};
@@ -0,0 +1 @@
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};
@@ -0,0 +1,7 @@
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};
@@ -0,0 +1 @@
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};
@@ -0,0 +1 @@
1
+ import{$1a as n}from"./shared-init-03e620f936463465.js";function m({label:l,hint:e,group:o,children:a}){return n(o?"div":"label",{class:"field",children:[n("span",{children:[l,e?n("small",{children:e}):null]}),a]})}export{m as a};
@@ -0,0 +1,2 @@
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};
@@ -0,0 +1 @@
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};
@@ -0,0 +1 @@
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};
@@ -0,0 +1 @@
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};
@@ -0,0 +1 @@
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};
@@ -0,0 +1 @@
1
+ import{$1a as o}from"./shared-init-03e620f936463465.js";function t({tone:n,slim:e,children:i}){return o("div",{class:["notice",e&&"slim",n].filter(Boolean).join(" "),role:"status",children:i})}export{t as a};
@@ -0,0 +1 @@
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};