@wular/coder 0.5.2 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (193) hide show
  1. package/dist/dash/standalone/server/build-index.json +1 -1
  2. package/dist/dash/standalone/server/manifest.json +1354 -1346
  3. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/create/[id]/{page.ff03c26886d248d2.js → page.182d84c6c82e23ce.js} +2 -2
  4. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/account/{loading.56c14183236be231.js → loading.d336cb9556ff8727.js} +1 -1
  5. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/account/{notify.5b9c5a4ab975b01e.js → notify.62f2ed40b52a8634.js} +1 -1
  6. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/account/{page.6e80433ca86c927d.js → page.ff2419800c956e8d.js} +3 -3
  7. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/account/{sign-out.e419e0eae59a1394.js → sign-out.e125b18b5682b3eb.js} +1 -1
  8. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/(list)/{agent-menu.5c780867b82081b1.js → agent-menu.eae818909ed5becf.js} +1 -1
  9. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/(list)/{agents-grid.53dc6597be8d6049.js → agents-grid.dcc8b20efd8850e6.js} +4 -4
  10. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/(list)/{loading.0130f8533d8f1b1e.js → loading.061efc737835250f.js} +2 -2
  11. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/(list)/{page.82a238c790c19a6c.js → page.6704febb2a60975e.js} +4 -4
  12. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/{layout.4a5c6f90ebaccf6f.js → layout.32acdff971049f4d.js} +5 -5
  13. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/{page.ed696703c6fb5796.js → page.1208c1115d309a62.js} +3 -3
  14. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/platforms/{loading.d56ef50b0694f975.js → loading.e4f77e054d5a5f00.js} +2 -2
  15. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/platforms/{page.12dbb62edaa16b4f.js → page.630dd03a59048b88.js} +11 -11
  16. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/platforms/{platform-actions.1e7bb5f00112eeac.js → platform-actions.184f6c441ac3d1c7.js} +4 -4
  17. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/platforms/{platform-step.45adc3fb28e7d33b.js → platform-step.d97e9a2290dbfae3.js} +1 -1
  18. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/settings/{agent-settings-form.1693e7dc34f5b94a.js → agent-settings-form.840d93eb2ba648bd.js} +7 -7
  19. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/settings/{loading.2800c65e45a4a1d9.js → loading.707d269a647b6f56.js} +1 -1
  20. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/settings/{page.fbbcdf8fde222f1e.js → page.b79c235f7735fc3e.js} +3 -3
  21. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/tasks/{loading.099f0e549e964a5c.js → loading.10ca51cc6fb65391.js} +1 -1
  22. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/tasks/{page.577e64210260faf2.js → page.a09314f795d5e740.js} +1 -1
  23. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/usage/{loading.3a615597ca648452.js → loading.10a0ff0d99710f70.js} +2 -2
  24. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/(tabs)/usage/{page.2d10853615403293.js → page.d88040124d4d2053.js} +1 -1
  25. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/edit/{loading.f0dfaf4552b8cde1.js → loading.5228229c48332ccd.js} +3 -3
  26. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/edit/{page.9f09979ad3435fe3.js → page.c60cf1ea8ede39f6.js} +4 -4
  27. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/platforms/[app]/{app-cards.adaebe98ec9d32e8.js → app-cards.f17ab135e3e31e00.js} +2 -2
  28. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/platforms/[app]/{loading.f0d91d48e2b79e50.js → loading.de17198764c127f5.js} +2 -2
  29. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/[slug]/platforms/[app]/{page.e2dc60bbcac65b1f.js → page.706499514893c5e0.js} +3 -3
  30. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/agent/{agent-pills.1012e04bfbc7bffd.js → agent-pills.bd9808856ef860f3.js} +1 -1
  31. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/agent/{agent-toggle.d795b7112534872c.js → agent-toggle.901667176840cd25.js} +1 -1
  32. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/agent/{hero.b74c6eb40c45b498.js → hero.fd2ffbf999c6c1e9.js} +3 -3
  33. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/editor/{editor.288736c2a52c7df4.js → editor.edcfc2f0692e9059.js} +9 -9
  34. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/editor/{import-picker.58bad50dd8e60d63.js → import-picker.515ab6c14afe14ac.js} +3 -3
  35. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/new/{loading.9b65a8c1cdc8346f.js → loading.0cf7535fa7af7fbd.js} +2 -2
  36. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/agents/new/{page.83a490948f585e69.js → page.95eb2cd0671e7f6e.js} +3 -3
  37. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/{layout.61ad05aceb425910.js → layout.87f5bb00d4e34e6b.js} +6 -6
  38. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/operator/{operator-apps.6f71999915848a2c.js → operator-apps.6a9975e2f64a9e5b.js} +4 -4
  39. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/operator/{page.4758811b7fc86d84.js → page.3691b55916b17d14.js} +4 -4
  40. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/{advanced-list.851275e04f8e7305.js → advanced-list.c7821de9a79fb144.js} +1 -1
  41. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/{connection-add.45a224c5e612b15f.js → connection-add.f102abaca93416ff.js} +6 -6
  42. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/{connections-list.6cacd41c18de261d.js → connections-list.098f57fd6b1570d8.js} +7 -7
  43. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/{credentials-list.79a1355d894b8642.js → credentials-list.2a2d391b2fc563fc.js} +6 -6
  44. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/{credentials.30db114aef2c6ff6.js → credentials.0eeab14f7a6236bb.js} +6 -6
  45. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/{list.fa3b9eff6657bc57.js → list.5a1847f3ed97bc5b.js} +2 -2
  46. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/{models-list.2a8f6a5679fc5c4d.js → models-list.d0954eca1a1ca3d2.js} +8 -8
  47. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/{page.7681780b48e2aa3e.js → page.f0e75930eb08c4bc.js} +12 -12
  48. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/{runners-list.e9834546550a3c2c.js → runners-list.74bcad5271e5de01.js} +5 -5
  49. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/[tab]/{secrets-list.ff9f3b3d88f2b8df.js → secrets-list.d0c1121f216e0bcb.js} +3 -3
  50. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/{layout.3f8a61434ceaa186.js → layout.05700d93abe5a3d4.js} +3 -3
  51. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/{model-pick.695538b2edf9dd15.js → model-pick.1d99ed9c886cabe5.js} +2 -2
  52. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/settings/{settings-head.004ced21e02ffa48.js → settings-head.08ab3f9bad326d47.js} +1 -1
  53. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/setup/{create-link.371225925a83e900.js → create-link.161d0d636ca45721.js} +2 -2
  54. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/setup/{outcome-toast.c7d02e38464dec0b.js → outcome-toast.d6d0bd8663377fda.js} +1 -1
  55. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/setup/{page.885e5ae7913d8f5b.js → page.5f90915ba7faa83d.js} +3 -3
  56. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/[id]/{loading.779ecdd9c9d2ff09.js → loading.3966ea5aa984c177.js} +4 -4
  57. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/[id]/{page.70ce5ef3bcf56310.js → page.8ad4907125ab2593.js} +13 -7
  58. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/[id]/{task-actions.783070d7dbd198e4.js → task-actions.f4e6ea3320e0ae23.js} +13 -21
  59. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/[id]/{task-missing.33ec27a4a5eafefe.js → task-missing.66dc41e2c7b199fb.js} +1 -1
  60. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/[id]/{task-view.db256c7f111b8f23.js → task-view.b7b9a82526087a6f.js} +66 -16
  61. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/{composer.6a331de70f3baff4.js → composer.91fe18526ebad717.js} +8 -8
  62. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/list/{pending-approvals.7ff2eadf13a3ee90.js → pending-approvals.319cefed5e3adb15.js} +1 -1
  63. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/list/{task.a25847399a4dfb30.js → task.fcd21a71424503e9.js} +27 -7
  64. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/list/{tasks-list.57c90c66384141a0.js → tasks-list.550288bcec62fea5.js} +60 -43
  65. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/list/{tasks-section.22e4f86847e1a3e2.js → tasks-section.7e3bc3398baec1bd.js} +5 -5
  66. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/{page.c6b9db3ca88aaa1f.js → page.98767f77d0fd9a05.js} +2 -2
  67. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/usage/{loading.5b973a8bb29197d5.js → loading.d2482006f8adc43a.js} +2 -2
  68. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/usage/{page.743fe359f09f5648.js → page.26319c38995aceca.js} +2 -2
  69. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/usage/{range-bar.0b9038e9df707843.js → range-bar.3086edd9a97046c2.js} +2 -2
  70. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/frame/{loading-card.77bea8c5870b5d3c.js → loading-card.94d5645c958c77e9.js} +2 -2
  71. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/frame/{page-head.2eb1e0213eb50349.js → page-head.a6bd4a75087e6e53.js} +1 -1
  72. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/frame/{task-toasts.b0ba5a1b4976ae27.js → task-toasts.168a3d3f5fd52cb4.js} +1 -1
  73. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/frame/{theme-choices.fc86071c1b634176.js → theme-choices.9d0674c72d0ce188.js} +1 -1
  74. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/nav/{back.7aa0ae82dbec38cd.js → back.95ed3b5a6128d557.js} +2 -2
  75. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/nav/{org.853d173b55368728.js → org.efcee1c3404f6345.js} +1 -1
  76. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{combo.e4e08287494081a3.js → combo.3acd48652c3a66a6.js} +2 -2
  77. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{filter.0730dccad6332327.js → filter.6468dec3a8faed6f.js} +6 -6
  78. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{menu-items.759a1b1f7c5ee365.js → menu-items.725ede2a88ea76a9.js} +7 -3
  79. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/comps/ui/{select.0ee9e8f04ddd8b47.js → select.b712227920cd0845.js} +1 -1
  80. package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/utils/{action.44115286faf6c0f8.js → action.55bd1d3e1b67a67e.js} +1 -1
  81. package/dist/dash/standalone/static/assets/chunks/{advanced-list-4a393f37c461986f.js → advanced-list-d9a68433a13416df.js} +1 -1
  82. package/dist/dash/standalone/static/assets/chunks/{agent-pills-f07bea43753a9342.js → agent-pills-1414a96077ec37de.js} +1 -1
  83. package/dist/dash/standalone/static/assets/chunks/{agent-settings-form-6c1b6776328cd046.js → agent-settings-form-73da6b4b714e49b4.js} +1 -1
  84. package/dist/dash/standalone/static/assets/chunks/{agent-toggle-dabbca2fe4006852.js → agent-toggle-d14e2838d11ab0f7.js} +1 -1
  85. package/dist/dash/standalone/static/assets/chunks/{agents-grid-a9440caa1768bfd8.js → agents-grid-aea25444710f2634.js} +1 -1
  86. package/dist/dash/standalone/static/assets/chunks/{back-8ca96656264a0d1c.js → back-57d4a59bf80377e6.js} +1 -1
  87. package/dist/dash/standalone/static/assets/chunks/{chain-hint-c7994aad798ef430.js → chain-hint-dcb6933d6f8a6324.js} +1 -1
  88. package/dist/dash/standalone/static/assets/chunks/{combo-7b125f3927083749.js → combo-460bff876882c694.js} +1 -1
  89. package/dist/dash/standalone/static/assets/chunks/{composer-3efd63e2e0192937.js → composer-8d12a215b107c9b3.js} +1 -1
  90. package/dist/dash/standalone/static/assets/chunks/composer-fe63697f84a538c2.js +1 -0
  91. package/dist/dash/standalone/static/assets/chunks/{confirm-6e26ab941d655b9f.js → confirm-c0c0642856e64b11.js} +1 -1
  92. package/dist/dash/standalone/static/assets/chunks/{connect-repositories-90f1aedea6de7a99.js → connect-repositories-3a317a5db3ea50b1.js} +1 -1
  93. package/dist/dash/standalone/static/assets/chunks/{connections-list-90935e956e8f4626.js → connections-list-0110d160a25b388c.js} +1 -1
  94. package/dist/dash/standalone/static/assets/chunks/{copy-38fa78628f39ec10.js → copy-eeb076af6e19e501.js} +1 -1
  95. package/dist/dash/standalone/static/assets/chunks/create-link-e72ff4dd7ef06e1c.js +1 -0
  96. package/dist/dash/standalone/static/assets/chunks/{credentials-list-ae950b9891d30c29.js → credentials-list-90e6a2436041b18d.js} +1 -1
  97. package/dist/dash/standalone/static/assets/chunks/{custom-range-e9185a23187b3fe6.js → custom-range-721477a24237c90d.js} +1 -1
  98. package/dist/dash/standalone/static/assets/chunks/{editor-e0cc472111713852.js → editor-64f6563f28d53ec5.js} +1 -1
  99. package/dist/dash/standalone/static/assets/chunks/{field-444bab2e16b91c26.js → field-7c895f6d8d5d9eb3.js} +1 -1
  100. package/dist/dash/standalone/static/assets/chunks/{instructions-9f173d4229d9b77e.js → instructions-7b1485330fc4e8fd.js} +1 -1
  101. package/dist/dash/standalone/static/assets/chunks/instructions-ed61f719baf13b12.js +1 -0
  102. package/dist/dash/standalone/static/assets/chunks/{list-84356c9286747b10.js → list-c0633e5e742dff16.js} +1 -1
  103. package/dist/dash/standalone/static/assets/chunks/{models-list-eca9705ab89a2ce5.js → models-list-228b3503307bc1ff.js} +1 -1
  104. package/dist/dash/standalone/static/assets/chunks/{outcome-dialog-c4d61a288688f53a.js → outcome-dialog-36842dfe50be1c85.js} +1 -1
  105. package/dist/dash/standalone/static/assets/chunks/outcome-dialog-630b20ddff39b01d.js +1 -0
  106. package/dist/dash/standalone/static/assets/chunks/outcome-toast-b7e33ff0d984f359.js +1 -0
  107. package/dist/dash/standalone/static/assets/chunks/{platform-actions-267a43c805e3c3a6.js → platform-actions-055a2e246fca7af9.js} +1 -1
  108. package/dist/dash/standalone/static/assets/chunks/platform-actions-9e198b0c88df3206.js +1 -0
  109. package/dist/dash/standalone/static/assets/chunks/platform-step-111051da80de6577.js +1 -0
  110. package/dist/dash/standalone/static/assets/chunks/{platform-step-adfc87c1fa86e7e1.js → platform-step-c7473e57e0b2f824.js} +1 -1
  111. package/dist/dash/standalone/static/assets/chunks/{runners-list-c858c5546c6fd513.js → runners-list-973253df985a8306.js} +1 -1
  112. package/dist/dash/standalone/static/assets/chunks/{runtime-3fcac605fffcc273-1.js → runtime-9b28886f3cbe0ed3-1.js} +1 -1
  113. package/dist/dash/standalone/static/assets/chunks/{secrets-list-06cd41b5a2627452.js → secrets-list-4aa6e2bf0fef06d6.js} +1 -1
  114. package/dist/dash/standalone/static/assets/chunks/{segmented-15503e745dd97f56.js → segmented-a994b4c20434c0ad.js} +1 -1
  115. package/dist/dash/standalone/static/assets/chunks/shared-init-4f4cac48ca0ef193.js +9 -0
  116. package/dist/dash/standalone/static/assets/chunks/{shared-init-02666a6f76606589.js → shared-init-5734a91cdb78a173.js} +1 -1
  117. package/dist/dash/standalone/static/assets/chunks/shared-init-9b28886f3cbe0ed3-2.js +1 -0
  118. package/dist/dash/standalone/static/assets/chunks/{shared-init-a69029db2d72fb52.js → shared-init-e8cf924a73e46497.js} +1 -1
  119. package/dist/dash/standalone/static/assets/chunks/side-toggle-a2d07f99f136e975.js +1 -0
  120. package/dist/dash/standalone/static/assets/chunks/{tail-3024b828bce41f94.js → tail-d3ba4c4035c5453e.js} +1 -1
  121. package/dist/dash/standalone/static/assets/chunks/task-3b17e45e271a6480.js +1 -0
  122. package/dist/dash/standalone/static/assets/chunks/task-actions-e0c202536048edc0.js +3 -0
  123. package/dist/dash/standalone/static/assets/chunks/task-view-3822a8fe44f4aa92.js +3 -0
  124. package/dist/dash/standalone/static/assets/chunks/tasks-list-cb838b88110bbbb4.js +1 -0
  125. package/dist/dash/standalone/static/assets/chunks/{versions-list-6642a24e9cef352b.js → versions-list-7cb9db8c25cdfaa7.js} +1 -1
  126. package/dist/dash/standalone/static/assets/chunks/{wular-pnext-3fcac605fffcc273-0.js → wular-pnext-9b28886f3cbe0ed3-0.js} +1 -1
  127. package/dist/dash/standalone/static/assets/{dash-param-org-agents-param-slug-dd4ac319a0d62432.css → dash-param-org-agents-param-slug-ea5e0d8593150b35.css} +1 -1
  128. package/dist/dash/standalone/static/assets/{dash-param-org-agents-param-slug-platforms-9d2e1439f3f7e81b.css → dash-param-org-agents-param-slug-platforms-b45dbb9122cc7338.css} +1 -1
  129. package/dist/dash/standalone/static/assets/{dash-param-org-agents-param-slug-usage-9cc128ba8af6ef62.css → dash-param-org-agents-param-slug-settings-2a7be18387a422ff.css} +1 -1
  130. package/dist/dash/standalone/static/assets/{dash-param-org-agents-param-slug-tasks-c8d6aa06f6e75f4c.css → dash-param-org-agents-param-slug-tasks-d12ff8047806bbf5.css} +1 -1
  131. package/dist/dash/standalone/static/assets/{dash-param-org-agents-param-slug-settings-f21d4fcd3948139b.css → dash-param-org-agents-param-slug-usage-72b55bb80667080b.css} +1 -1
  132. package/dist/dash/standalone/static/assets/{dash-param-org-tasks-be3cb3d64573f3d9.css → dash-param-org-tasks-e040b6497646a8a0.css} +1 -1
  133. package/dist/dash/standalone/static/assets/{dash-param-org-tasks-param-id-c20a0537bc82620d.css → dash-param-org-tasks-param-id-7df5e6c891e9e77f.css} +1 -1
  134. package/dist/dash/standalone/static/assets/pnext-client-019fddb658ef621e.js +1 -0
  135. package/dist/dash/standalone/static/assets/pnext-client-025682238ebc1ccd.js +1 -0
  136. package/dist/dash/standalone/static/assets/pnext-client-05cb69349250f079.js +1 -0
  137. package/dist/dash/standalone/static/assets/pnext-client-0abd872e45d259dd.js +1 -0
  138. package/dist/dash/standalone/static/assets/pnext-client-19072249ab9d929f.js +1 -0
  139. package/dist/dash/standalone/static/assets/pnext-client-24b6f98a5e678977.js +1 -0
  140. package/dist/dash/standalone/static/assets/pnext-client-2ed3001f7f4597c0.js +1 -0
  141. package/dist/dash/standalone/static/assets/pnext-client-3028d0d201243815.js +1 -0
  142. package/dist/dash/standalone/static/assets/pnext-client-63d9e54053266337.js +1 -0
  143. package/dist/dash/standalone/static/assets/pnext-client-7bfb634b06062acf.js +1 -0
  144. package/dist/dash/standalone/static/assets/pnext-client-915218deeaa531f2.js +1 -0
  145. package/dist/dash/standalone/static/assets/pnext-client-a62685439dab6db4.js +1 -0
  146. package/dist/dash/standalone/static/assets/{pnext-client-5fc693a6184e48a4.js → pnext-client-a793df411dc27890.js} +1 -1
  147. package/dist/dash/standalone/static/assets/pnext-client-ae5f820b1e3add50.js +1 -0
  148. package/dist/dash/standalone/static/assets/pnext-client-ba17d46e9f8417f8.js +1 -0
  149. package/dist/dash/standalone/static/assets/pnext-client-dbca01dae6b3ad8c.js +1 -0
  150. package/dist/dash/standalone/static/assets/pnext-client-ec303fb1cec93d9f.js +1 -0
  151. package/dist/dash/standalone/static/assets/pnext-client-ec8fde62be82a077.js +1 -0
  152. package/dist/dash/standalone/static/assets/pnext-client-f659576f3d4fea61.js +1 -0
  153. package/dist/dash/standalone/static/assets/pnext-client-f715825f54bb8e89.js +1 -0
  154. package/dist/runner.json +1 -1
  155. package/dist/runner.tgz +0 -0
  156. package/package.json +1 -1
  157. package/plugins/claude/.claude-plugin/plugin.json +1 -1
  158. package/plugins/cursor/.cursor-plugin/plugin.json +1 -1
  159. package/dist/dash/standalone/static/assets/chunks/composer-a6cf207b9c69b43f.js +0 -1
  160. package/dist/dash/standalone/static/assets/chunks/create-link-a3c963721aa06a72.js +0 -1
  161. package/dist/dash/standalone/static/assets/chunks/instructions-7d9131eb37c4619e.js +0 -1
  162. package/dist/dash/standalone/static/assets/chunks/outcome-dialog-3006ae63624b3940.js +0 -1
  163. package/dist/dash/standalone/static/assets/chunks/outcome-toast-ba59a3c06c25f0fd.js +0 -1
  164. package/dist/dash/standalone/static/assets/chunks/platform-actions-0c61a03082f9d169.js +0 -1
  165. package/dist/dash/standalone/static/assets/chunks/platform-step-fd1616528b2f6f12.js +0 -1
  166. package/dist/dash/standalone/static/assets/chunks/shared-init-3fcac605fffcc273-2.js +0 -1
  167. package/dist/dash/standalone/static/assets/chunks/shared-init-7a7f1e623f0f5861.js +0 -9
  168. package/dist/dash/standalone/static/assets/chunks/side-toggle-800f7bacd6de5aa8.js +0 -1
  169. package/dist/dash/standalone/static/assets/chunks/task-1e6f9ba22fb5e29f.js +0 -1
  170. package/dist/dash/standalone/static/assets/chunks/task-actions-c8fe1201a56901d9.js +0 -3
  171. package/dist/dash/standalone/static/assets/chunks/task-view-531e243f8222f802.js +0 -3
  172. package/dist/dash/standalone/static/assets/chunks/tasks-list-5373f9a2772a386a.js +0 -1
  173. package/dist/dash/standalone/static/assets/pnext-client-02b9bb5ae78a37d6.js +0 -1
  174. package/dist/dash/standalone/static/assets/pnext-client-063d14b5b5c893a3.js +0 -1
  175. package/dist/dash/standalone/static/assets/pnext-client-1710a65c5b8280af.js +0 -1
  176. package/dist/dash/standalone/static/assets/pnext-client-2936b44e963219bc.js +0 -1
  177. package/dist/dash/standalone/static/assets/pnext-client-2f14cc4bf71bf456.js +0 -1
  178. package/dist/dash/standalone/static/assets/pnext-client-2f81535a69d0c8a3.js +0 -1
  179. package/dist/dash/standalone/static/assets/pnext-client-368d90341055d7ff.js +0 -1
  180. package/dist/dash/standalone/static/assets/pnext-client-58e0efbceb6c595f.js +0 -1
  181. package/dist/dash/standalone/static/assets/pnext-client-6ee756a74310a9fe.js +0 -1
  182. package/dist/dash/standalone/static/assets/pnext-client-713f7a6bc55d23fb.js +0 -1
  183. package/dist/dash/standalone/static/assets/pnext-client-7c91f8543cd360fa.js +0 -1
  184. package/dist/dash/standalone/static/assets/pnext-client-827b030f2c8e738e.js +0 -1
  185. package/dist/dash/standalone/static/assets/pnext-client-8b165b7e5c14a1f3.js +0 -1
  186. package/dist/dash/standalone/static/assets/pnext-client-95a81597ac1bdea0.js +0 -1
  187. package/dist/dash/standalone/static/assets/pnext-client-a4c2fb8a94ccce04.js +0 -1
  188. package/dist/dash/standalone/static/assets/pnext-client-a7faaaf8c4cc8145.js +0 -1
  189. package/dist/dash/standalone/static/assets/pnext-client-bab8ffb68e7dd229.js +0 -1
  190. package/dist/dash/standalone/static/assets/pnext-client-d9fab2611c2e7246.js +0 -1
  191. package/dist/dash/standalone/static/assets/pnext-client-f3804c9ffb299fe0.js +0 -1
  192. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/[id]/{task-view.440367ae07204ee7.css.pnext-asset.js → task-view.61d4afa987d59596.css.pnext-asset.js} +0 -0
  193. /package/dist/dash/standalone/server/modules-server-server-react-server/src/server/dash/app/dash/[org]/tasks/list/{tasks-list.f3737549b4696cc8.css.pnext-asset.js → tasks-list.835b11dc95c95cb5.css.pnext-asset.js} +0 -0
@@ -6,7 +6,7 @@ import { client } from "../../utils/client.b9225923da59febe.js";
6
6
  import { Link } from "../../../../../../../node_modules/@wular/pnext/src/api/link.tsx";
7
7
  import { usePathname, useRouter } from "../../../../../../../node_modules/@wular/pnext/src/api/client-navigation.ts";
8
8
  import { Status, STATUS_LABEL } from "../../app/dash/[org]/tasks/list/status.d2c05c397780b833.js";
9
- import { useOrg } from "../nav/org.853d173b55368728.js";
9
+ import { useOrg } from "../nav/org.efcee1c3404f6345.js";
10
10
  import { IconButton } from "../ui/button.b62fa52e18fa338b.js";
11
11
  import { iX } from "../ui/icons.f769275420d072ce.js";
12
12
  import { jsx as _jsx, jsxs as _jsxs } from "../../../../../../../node_modules/preact/jsx-runtime/dist/jsxRuntime.mjs";
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  import { useState } from "../../../../../../../node_modules/preact/hooks/dist/hooks.mjs";
3
3
  import { iMonitor, iMoon, iSun } from "../ui/icons.f769275420d072ce.js";
4
- import { MenuRadio } from "../ui/menu-items.759a1b1f7c5ee365.js";
4
+ import { MenuRadio } from "../ui/menu-items.725ede2a88ea76a9.js";
5
5
  import { jsx as _jsx, Fragment as _Fragment } from "../../../../../../../node_modules/preact/jsx-runtime/dist/jsxRuntime.mjs";
6
6
  const YEAR = 60 * 60 * 24 * 365;
7
7
  const THEMES = [
@@ -1,8 +1,8 @@
1
1
  "use client";
2
2
  import { useEffect } from "../../../../../../../node_modules/preact/hooks/dist/hooks.mjs";
3
- import { Back } from "../frame/page-head.2eb1e0213eb50349.js";
3
+ import { Back } from "../frame/page-head.a6bd4a75087e6e53.js";
4
4
  import { LinkButton } from "../ui/button.b62fa52e18fa338b.js";
5
- import { useOrg } from "./org.853d173b55368728.js";
5
+ import { useOrg } from "./org.efcee1c3404f6345.js";
6
6
  import { BACK_COOKIE, rememberedBack } from "./back-cookie.942c0904e944d8d6.js";
7
7
  import { jsx as _jsx } from "../../../../../../../node_modules/preact/jsx-runtime/dist/jsxRuntime.mjs";
8
8
  /** Settings' credentials tab; it links back to this page, named `label` where its section name is not enough. */
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  import { Link } from "../../../../../../../node_modules/@wular/pnext/src/api/link.tsx";
3
3
  import { useParams } from "../../../../../../../node_modules/@wular/pnext/src/api/client-navigation.ts";
4
- import { Back } from "../frame/page-head.2eb1e0213eb50349.js";
4
+ import { Back } from "../frame/page-head.a6bd4a75087e6e53.js";
5
5
  import { linkOf } from "./to.a2c840c09bd4bf4a.js";
6
6
  import { jsx as _jsx } from "../../../../../../../node_modules/preact/jsx-runtime/dist/jsxRuntime.mjs";
7
7
  /** The organization in the address, `/dash/<org>/…`. */
@@ -1,6 +1,6 @@
1
1
  import { useId, useLayoutEffect, useRef, useState } from "../../../../../../../node_modules/preact/hooks/dist/hooks.mjs";
2
- import { MenuOption } from "./menu-items.759a1b1f7c5ee365.js";
3
- import { SelectList, usePlace } from "./select.0ee9e8f04ddd8b47.js";
2
+ import { MenuOption } from "./menu-items.725ede2a88ea76a9.js";
3
+ import { SelectList, usePlace } from "./select.b712227920cd0845.js";
4
4
  import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "../../../../../../../node_modules/preact/jsx-runtime/dist/jsxRuntime.mjs";
5
5
  const SHOWN = 50;
6
6
  /** A text input with suggestions under it, filtered as you type; any text is still a value. */
@@ -6,7 +6,7 @@ import { iLeft, iRight, iX } from "./icons.f769275420d072ce.js";
6
6
  import { Chip } from "./badge.9f63fd615cf0ee22.js";
7
7
  import { Icon } from "./icon.0874ca2f58f7db14.js";
8
8
  import { Menu } from "./menu.7f558c7c6f6345d5.js";
9
- import { LoadingMenu, MenuItem, MenuLabel, MenuNote, MenuRadio } from "./menu-items.759a1b1f7c5ee365.js";
9
+ import { LoadingMenu, MenuItem, MenuLabel, MenuNote, MenuRadio } from "./menu-items.725ede2a88ea76a9.js";
10
10
  import { Search } from "./toolbar.ff8367c641d28c1e.js";
11
11
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "../../../../../../../node_modules/preact/jsx-runtime/dist/jsxRuntime.mjs";
12
12
  const RECENT = "coder:filters";
@@ -15,11 +15,11 @@ const FIND = 5;
15
15
  /** How many of a facet's picks the menu lists before "More". */
16
16
  const SHOWN = 5;
17
17
  /** The picks the menu lists for a facet: the first few, keeping the current pick in view. */
18
- export function inlineRows(picks, value) {
19
- if (picks.length <= SHOWN) return picks;
20
- const shown = picks.slice(0, SHOWN);
18
+ export function inlineRows(picks, value, count = SHOWN) {
19
+ if (picks.length <= count) return picks;
20
+ const shown = picks.slice(0, count);
21
21
  const current = picks.find(([key]) => key === value);
22
- return current && !shown.includes(current) ? [...shown.slice(0, SHOWN - 1), current] : shown;
22
+ return current && !shown.includes(current) ? [...shown.slice(0, count - 1), current] : shown;
23
23
  }
24
24
  /** Whether a facet's own list needs a find box. */
25
25
  const findable = (facet) => facet.options.filter(([value]) => value).length >= FIND;
@@ -203,7 +203,7 @@ function FilterPanel({ name, facets, values, seen, onFound, onPick }) {
203
203
  ] }) : facets.map((facet) => {
204
204
  const picks = facet.options.filter(([value]) => facet.inline || value);
205
205
  if (!picks.length) return null;
206
- const shown = inlineRows(picks, values[facet.key]);
206
+ const shown = inlineRows(picks, values[facet.key], facet.shown);
207
207
  return /* @__PURE__ */ _jsxs(Fragment, { children: [
208
208
  /* @__PURE__ */ _jsx(MenuLabel, { children: facet.label }),
209
209
  /* @__PURE__ */ _jsx("div", {
@@ -1,6 +1,6 @@
1
1
  import "./menu.cd96fa0495fe0fde.css.pnext-asset.js";
2
2
  import { Link } from "../../../../../../../node_modules/@wular/pnext/src/api/link.tsx";
3
- import { iCheck } from "./icons.f769275420d072ce.js";
3
+ import { iCheck, iExternal } from "./icons.f769275420d072ce.js";
4
4
  import { Icon } from "./icon.0874ca2f58f7db14.js";
5
5
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "../../../../../../../node_modules/preact/jsx-runtime/dist/jsxRuntime.mjs";
6
6
  const classOf = (...names) => ["pop-item", ...names].filter(Boolean).join(" ");
@@ -15,12 +15,12 @@ function Content({ icon, sub, end, children }) {
15
15
  ] });
16
16
  }
17
17
  /** A menu row that acts; with `sub` it aligns to its top. */
18
- export function MenuItem({ icon, title, sub, end, href, type = "button", disabled, danger, ...rest }) {
18
+ export function MenuItem({ icon, title, sub, end, href, external, type = "button", disabled, danger, ...rest }) {
19
19
  const cls = classOf(sub ? "rich" : false, danger && "danger");
20
20
  const content = /* @__PURE__ */ _jsx(Content, {
21
21
  icon,
22
22
  sub,
23
- end,
23
+ end: end ?? (external ? /* @__PURE__ */ _jsx(Icon, { d: iExternal }) : undefined),
24
24
  children: title
25
25
  });
26
26
  if (disabled) return /* @__PURE__ */ _jsx("div", {
@@ -30,6 +30,10 @@ export function MenuItem({ icon, title, sub, end, href, type = "button", disable
30
30
  });
31
31
  if (href) return /* @__PURE__ */ _jsx("a", {
32
32
  ...rest,
33
+ ...external ? {
34
+ target: "_blank",
35
+ rel: "noopener noreferrer"
36
+ } : {},
33
37
  class: cls,
34
38
  href,
35
39
  children: content
@@ -3,7 +3,7 @@ import { Fragment } from "../../../../../../../node_modules/preact/dist/preact.m
3
3
  import { useId, useLayoutEffect, useRef, useState } from "../../../../../../../node_modules/preact/hooks/dist/hooks.mjs";
4
4
  import { iDown, iPlus } from "./icons.f769275420d072ce.js";
5
5
  import { Icon } from "./icon.0874ca2f58f7db14.js";
6
- import { MenuLabel, MenuOption, MenuPanel } from "./menu-items.759a1b1f7c5ee365.js";
6
+ import { MenuLabel, MenuOption, MenuPanel } from "./menu-items.725ede2a88ea76a9.js";
7
7
  import { jsx as _jsx, jsxs as _jsxs } from "../../../../../../../node_modules/preact/jsx-runtime/dist/jsxRuntime.mjs";
8
8
  const PAGE = 10;
9
9
  /** A top-layer list's place at `anchor`, flipped up near the bottom, following scrolls and resizes; a dialog or scroll box never clips it. */
@@ -1,7 +1,7 @@
1
1
  "use client";
2
2
  import { useState } from "../../../../../../node_modules/preact/hooks/dist/hooks.mjs";
3
3
  import { useRouter } from "../../../../../../node_modules/@wular/pnext/src/api/client-navigation.ts";
4
- import { toastError } from "../comps/frame/task-toasts.b0ba5a1b4976ae27.js";
4
+ import { toastError } from "../comps/frame/task-toasts.168a3d3f5fd52cb4.js";
5
5
  import { reasonText } from "./format.ceeaafa10a0563f3.js";
6
6
  const FAILED = "Something went wrong";
7
7
  /** A failure no action ran, as the same toast. */
@@ -1 +1 @@
1
- "use client";import{a as u}from"./list-84356c9286747b10.js";import"./confirm-6e26ab941d655b9f.js";import"./shared-init-a69029db2d72fb52.js";import"./shared-init-a69029db2d72fb52.js";import"./shared-init-7a7f1e623f0f5861.js";import"./shared-init-7a7f1e623f0f5861.js";import{$0o as h}from"./shared-init-7a7f1e623f0f5861.js";import"./wular-pnext-3fcac605fffcc273-0.js";import"./shared-init-7a7f1e623f0f5861.js";import{$4Q as e,$4R as p,$4v as d}from"./shared-init-7a7f1e623f0f5861.js";import"./shared-init-3fcac605fffcc273-2.js";import"./shared-init-3fcac605fffcc273-2.js";import{$2h as c}from"./shared-init-3fcac605fffcc273-2.js";function T({first:f,admin:r}){let n=u(f.config),o=n.value.network?.allowedHosts??[],[l,a]=c(""),i=t=>n.patch({network:{allowedHosts:t}});return e(h,{look:"filled",title:"Network",children:[e("p",{class:"body muted",children:"Hosts tasks reach without review, with their subdomains."}),e("div",{class:"hosts",children:[o.map(t=>e("span",{class:"host mono",children:[t,r?e("button",{type:"button","aria-label":`Remove ${t}`,onClick:()=>void i(o.filter(s=>s!==t)),children:e(p,{d})}):null]},t)),r?e("input",{class:"mono",value:l,onInput:t=>a(t.currentTarget.value),onKeyDown:t=>{let s=l.trim();t.key!=="Enter"||!s||(t.preventDefault(),a(""),o.includes(s)||i([...o,s]))},placeholder:o.length?"Add a host, then Enter":"registry.npmjs.org, then Enter","aria-label":"Add a host",autocomplete:"off",spellcheck:!1}):null]}),e("label",{class:"hosts-switch",children:[e("input",{type:"checkbox",role:"switch",class:"switch",checked:n.value.network?.readOnlyTasks??!1,disabled:!r,onChange:t=>void n.patch({network:{readOnlyTasks:t.currentTarget.checked}})}),"Read-only tasks reach these hosts too"]})]})}export{T as AdvancedList};
1
+ "use client";import{a as u}from"./list-c0633e5e742dff16.js";import"./confirm-c0c0642856e64b11.js";import"./shared-init-e8cf924a73e46497.js";import"./shared-init-e8cf924a73e46497.js";import"./shared-init-4f4cac48ca0ef193.js";import"./shared-init-4f4cac48ca0ef193.js";import{$1o as h}from"./shared-init-4f4cac48ca0ef193.js";import"./wular-pnext-9b28886f3cbe0ed3-0.js";import"./shared-init-4f4cac48ca0ef193.js";import{$3Q as e,$3R as p,$3v as d}from"./shared-init-4f4cac48ca0ef193.js";import"./shared-init-9b28886f3cbe0ed3-2.js";import"./shared-init-9b28886f3cbe0ed3-2.js";import{$3h as c}from"./shared-init-9b28886f3cbe0ed3-2.js";function T({first:f,admin:r}){let n=u(f.config),o=n.value.network?.allowedHosts??[],[l,a]=c(""),i=t=>n.patch({network:{allowedHosts:t}});return e(h,{look:"filled",title:"Network",children:[e("p",{class:"body muted",children:"Hosts tasks reach without review, with their subdomains."}),e("div",{class:"hosts",children:[o.map(t=>e("span",{class:"host mono",children:[t,r?e("button",{type:"button","aria-label":`Remove ${t}`,onClick:()=>void i(o.filter(s=>s!==t)),children:e(p,{d})}):null]},t)),r?e("input",{class:"mono",value:l,onInput:t=>a(t.currentTarget.value),onKeyDown:t=>{let s=l.trim();t.key!=="Enter"||!s||(t.preventDefault(),a(""),o.includes(s)||i([...o,s]))},placeholder:o.length?"Add a host, then Enter":"registry.npmjs.org, then Enter","aria-label":"Add a host",autocomplete:"off",spellcheck:!1}):null]}),e("label",{class:"hosts-switch",children:[e("input",{type:"checkbox",role:"switch",class:"switch",checked:n.value.network?.readOnlyTasks??!1,disabled:!r,onChange:t=>void n.patch({network:{readOnlyTasks:t.currentTarget.checked}})}),"Read-only tasks reach these hosts too"]})]})}export{T as AdvancedList};
@@ -1,2 +1,2 @@
1
- import{$2E as b}from"./shared-init-7a7f1e623f0f5861.js";import{$0g as h,$0i as m,$0j as f,$0k as n}from"./shared-init-7a7f1e623f0f5861.js";import{$4Q as r,$4R as a,$4t as l}from"./shared-init-7a7f1e623f0f5861.js";import{$2c as u,$2n as g}from"./shared-init-3fcac605fffcc273-2.js";var k=(e,o)=>e.replace(/\bid="([^"]+)"/g,`id="$1${o}"`).replace(/url\(#([^)]+)\)/g,`url(#$1${o})`).replace(/href="#([^"]+)"/g,`href="#$1${o}"`);function y({brand:e}){let o=g().replace(/[^a-zA-Z0-9_-]/g,"");return e.svg?r("span",{class:"brand-icon","aria-hidden":"true",dangerouslySetInnerHTML:{__html:k(e.svg,`-${o}`)}}):r("svg",{class:"brand-icon",width:"12",height:"12",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true",style:{color:e.dark?`light-dark(${e.color}, ${e.dark})`:e.color},children:r("path",{d:e.icon})})}function B({id:e,info:o,state:s}){let i=o?.name??e;return r("span",{class:`pf ${s}`,children:[o?r(y,{brand:o.brand}):null,i]})}function S({platforms:e,catalog:o,agent:s}){let i=e.length>=m?f:e.length,c=({id:t,state:I},d)=>{let p=r(B,{id:t,info:o.find(L=>L.id===t),state:I});return s?r(b,{class:d,href:"/dash/[org]/agents/[slug]/platforms",params:{slug:s},children:p},t):r("span",{class:d,children:p},t)};return r("span",{class:"pfs",children:[e.slice(0,i).map(t=>c(t)),e.length>i?r(h,{label:`+${e.length-i}`,children:e.map(t=>c(t,"pf-row"))}):null]})}var R={builtin:"built-in",upload:"dashboard",repo:"repository",home:"local"};function w(){return r(n,{tone:"warn",title:"Disabled in this workspace",children:"disabled"})}function E({agent:e,fix:o}){return r(u,{children:[e.source==="repo"&&e.repo?e.sourceUrl?r(n,{class:"link-pill",href:e.sourceUrl,external:!0,title:`Repository agent, opens ${e.repo}`,children:[r(a,{d:l}),e.repo]}):r(n,{class:"link-pill",title:"Repository agent",children:[r(a,{d:l}),e.repo]}):r(n,{tone:e.source==="builtin"?"acc":void 0,title:e.local&&e.source==="repo"?"Repo agent, a folder in this repository":e.source==="home"?"Local agent, a folder on this machine":e.source!=="upload"?"Ships with Coder":e.local?"Local agent, a folder on this machine":"Dashboard agent, made and edited here",children:e.local&&e.source==="upload"?"local":R[e.source]??e.source}),e.local?e.commit&&r(n,{title:"Last commit of the agent's folder",children:e.commit.slice(0,7)}):r(n,{children:["v",e.currentVersion]}),e.settings?.disabled?r(w,{}):null,e.problems?.length?r(n,{tone:"bad",title:e.problems.join(`
1
+ import{$4E as b}from"./shared-init-4f4cac48ca0ef193.js";import{$1g as h,$1i as m,$1j as f,$1k as n}from"./shared-init-4f4cac48ca0ef193.js";import{$3Q as r,$3R as a,$3t as l}from"./shared-init-4f4cac48ca0ef193.js";import{$3c as u,$3n as g}from"./shared-init-9b28886f3cbe0ed3-2.js";var k=(e,o)=>e.replace(/\bid="([^"]+)"/g,`id="$1${o}"`).replace(/url\(#([^)]+)\)/g,`url(#$1${o})`).replace(/href="#([^"]+)"/g,`href="#$1${o}"`);function y({brand:e}){let o=g().replace(/[^a-zA-Z0-9_-]/g,"");return e.svg?r("span",{class:"brand-icon","aria-hidden":"true",dangerouslySetInnerHTML:{__html:k(e.svg,`-${o}`)}}):r("svg",{class:"brand-icon",width:"12",height:"12",viewBox:"0 0 24 24",fill:"currentColor","aria-hidden":"true",style:{color:e.dark?`light-dark(${e.color}, ${e.dark})`:e.color},children:r("path",{d:e.icon})})}function B({id:e,info:o,state:s}){let i=o?.name??e;return r("span",{class:`pf ${s}`,children:[o?r(y,{brand:o.brand}):null,i]})}function S({platforms:e,catalog:o,agent:s}){let i=e.length>=m?f:e.length,c=({id:t,state:I},d)=>{let p=r(B,{id:t,info:o.find(L=>L.id===t),state:I});return s?r(b,{class:d,href:"/dash/[org]/agents/[slug]/platforms",params:{slug:s},children:p},t):r("span",{class:d,children:p},t)};return r("span",{class:"pfs",children:[e.slice(0,i).map(t=>c(t)),e.length>i?r(h,{label:`+${e.length-i}`,children:e.map(t=>c(t,"pf-row"))}):null]})}var R={builtin:"built-in",upload:"dashboard",repo:"repository",home:"local"};function w(){return r(n,{tone:"warn",title:"Disabled in this workspace",children:"disabled"})}function E({agent:e,fix:o}){return r(u,{children:[e.source==="repo"&&e.repo?e.sourceUrl?r(n,{class:"link-pill",href:e.sourceUrl,external:!0,title:`Repository agent, opens ${e.repo}`,children:[r(a,{d:l}),e.repo]}):r(n,{class:"link-pill",title:"Repository agent",children:[r(a,{d:l}),e.repo]}):r(n,{tone:e.source==="builtin"?"acc":void 0,title:e.local&&e.source==="repo"?"Repo agent, a folder in this repository":e.source==="home"?"Local agent, a folder on this machine":e.source!=="upload"?"Ships with Coder":e.local?"Local agent, a folder on this machine":"Dashboard agent, made and edited here",children:e.local&&e.source==="upload"?"local":R[e.source]??e.source}),e.local?e.commit&&r(n,{title:"Last commit of the agent's folder",children:e.commit.slice(0,7)}):r(n,{children:["v",e.currentVersion]}),e.settings?.disabled?r(w,{}):null,e.problems?.length?r(n,{tone:"bad",title:e.problems.join(`
2
2
  `),...o,children:"not running"}):null]})}export{y as a,S as b,w as c,E as d};
@@ -1 +1 @@
1
- "use client";import{a as ne}from"./chain-hint-c7994aad798ef430.js";import{a as Z}from"./agent-pills-f07bea43753a9342.js";import{a as ee}from"./agent-toggle-dabbca2fe4006852.js";import{$1c as X}from"./shared-init-02666a6f76606589.js";import{d as H,h as R,l as W}from"./model-options-5e07b3318d69d218.js";import{b as I,c as Y}from"./types-3eca2c7f47c46054.js";import{a as K}from"./confirm-6e26ab941d655b9f.js";import{a as f}from"./field-444bab2e16b91c26.js";import{$1b as F}from"./shared-init-a69029db2d72fb52.js";import"./shared-init-a69029db2d72fb52.js";import{$1m as J}from"./shared-init-7a7f1e623f0f5861.js";import{$2D as G,$2a as _,$2v as z,$2z as w}from"./shared-init-7a7f1e623f0f5861.js";import{$0c as P}from"./shared-init-7a7f1e623f0f5861.js";import"./wular-pnext-3fcac605fffcc273-0.js";import"./shared-init-7a7f1e623f0f5861.js";import{$4Q as e,$4S as D,$4b as y}from"./shared-init-7a7f1e623f0f5861.js";import"./shared-init-3fcac605fffcc273-2.js";import"./shared-init-3fcac605fffcc273-2.js";import{$2c as b,$2h as d,$2k as V,$2l as Q}from"./shared-init-3fcac605fffcc273-2.js";function Ie({agent:t,catalog:te,shape:k,runners:$,connections:q}){let se=_(),p=G(),[m,x]=d("run"),B=F({refresh:!0}),N=F({leaves:!0}),oe=!!B.pending,[S,ae]=d(""),[h,ie]=d(),[le,A]=d(!1),O=Q(null),l=t.settings??{},[C,re]=d(l.model?.includes("/")?l.model:[l.engine,l.model,l.effort].filter(Boolean).join("/")),[E,ce]=d(l.connections?"some":""),L=t.definition?.integrations??{},g=Object.keys(L).sort(),T=t.definition,j=t.source!=="builtin";V(()=>{let n=S.trim().toLowerCase(),o=[];O.current.querySelectorAll(".vpanel").forEach(i=>{let a=!1;i.querySelectorAll(".field").forEach(s=>{let r=[...s.querySelectorAll("input")].map(v=>v.value).join(" "),c=s.closest(".vplatform")?.querySelector("h3")?.textContent??"",u=!n||`${c} ${s.textContent} ${r}`.toLowerCase().includes(n);s.hidden=!u,a||=u}),i.querySelectorAll(".vplatform").forEach(s=>{s.hidden=!s.querySelector(".field:not([hidden])")}),a&&o.push(i.dataset.panel)}),ie(n?o:void 0),n&&o.length&&!o.includes(m)&&x(o[0])},[S]);let de=()=>void N.run("delete",async()=>{await P.agents.remove(t.id),se.push("/dash/[org]/agents",{params:{org:p}})}).then(n=>n||A(!1)),M=(n,o)=>e("button",{type:"button","aria-current":m===n?"true":void 0,class:h&&!h.includes(n)?"miss":void 0,onClick:()=>x(n),children:o});return e("form",{ref:O,class:"vsettings card frame",onSubmit:async n=>{n.preventDefault();let o=new FormData(n.currentTarget),i=c=>String(o.get(c)??"").trim(),a={};i("runner")&&(a.runner=i("runner")),i("access")!==(T?.access??"auto")&&(a.access=i("access")),C.trim()&&(a.model=C.trim()),E&&(a.connections=o.getAll("connection").map(String));for(let c of g){let u={},v=I(L[c]?.events),U=o.getAll(`event:${c}`).map(String);v.length&&U.length<v.length&&(u.allowedEvents=U),Object.keys(u).length&&((a.integrations??={})[c]=u)}t.settings?.disabled&&(a.disabled=!0);let s;await B.run("save",async()=>{({warning:s}=await P.agents.settings(t.id,a))})&&J("Saved",s??"New tasks use these settings.",s?"warning":"success")},children:[e("nav",{class:"tabs vertical","aria-label":"Settings sections",children:[e("p",{class:"tabs-label",children:"Runtime"}),M("run","How it runs"),g.length?M("platforms","Platforms"):null,e("p",{class:"tabs-label",children:"Agent"}),M("manage","Manage")]}),e("div",{class:"vbody",children:[e("div",{class:"vsearch",children:[e(z,{value:S,label:"Search settings",onInput:ae}),h&&!h.length?e("span",{class:"muted",children:"No setting matches."}):null]}),e("section",{class:"vpanel","data-panel":"run",hidden:m!=="run",children:[e("h2",{children:"How it runs"}),e("p",{class:"muted",children:"Anything left empty follows the agent's own definition, then the workspace chain."}),e("div",{class:"fields",children:[e(f,{label:"Model",hint:e(ne,{org:p,own:t.definition?.model&&R(t.definition.model,k.builtin)}),group:!0,children:e(X,{shape:k,empty:t.definition?.model?{label:`Its own, ${R(t.definition.model,k.builtin)}`,sub:"from agent.json"}:W(),value:C,onChange:re})}),e(f,{label:"Access",hint:"what its tasks, platforms and connections may do",group:!0,children:e(w,{name:"access",label:"Access",defaultValue:l.access??T?.access??"auto",options:T?.access==="read-only"?H.filter(([n])=>n==="read-only"):H})}),$.length>1?e(f,{label:"Runs on",group:!0,children:e(w,{name:"runner",label:"Runs on",defaultValue:l.runner??"",options:$})}):null,e(f,{label:"Connections",hint:"which workspace connections its tasks can use",group:!0,children:e(w,{label:"Connections",value:E,options:[["","Every workspace connection"],["some","Only the ones picked"]],onChange:ce})}),E?e("div",{class:"field picked",children:[e("span",{children:["Picked connections ",e("small",{children:"tasks can use only these"})]}),q.length?e("div",{class:"checks",children:q.map(n=>e("label",{class:"check",children:[e("input",{type:"checkbox",name:"connection",value:n.id,defaultChecked:l.connections?.includes(n.id)}),n.name]},n.id))}):e("span",{class:"muted",children:["This workspace has no connections yet."," ",e(y,{class:"link",href:"/dash/[org]/settings/[tab]",params:{org:p,tab:"connections"},children:"Add one in Settings"})]})]}):null]})]}),g.length?e("section",{class:"vpanel","data-panel":"platforms",hidden:m!=="platforms",children:[e("h2",{children:"Platforms"}),e("p",{class:"muted",children:["Turn events off for this workspace."," ",Y(t)?e(b,{children:["To add an event or a platform,"," ",e(y,{href:"/dash/[org]/agents/[slug]/edit",params:{org:p,slug:t.id},search:{section:"platforms"},children:["edit ",t.name]}),"."]}):t.source==="repo"?e(b,{children:[t.name," comes from ",t.repo??"a repository","; add an event or a platform in its"," ",t.sourceUrl?e("a",{href:t.sourceUrl,target:"_blank",rel:"noreferrer",children:"agent.json"}):"agent.json"," ","there."]}):e(b,{children:[t.name," is built in, so its events and platforms ship with Coder. To listen anywhere else,"," ",e(y,{href:"/dash/[org]/agents/new",params:{org:p},children:"create your own agent"}),"."]})]}),g.map(n=>{let o=l.integrations?.[n]??{},i=I(L[n]?.events),a=o.allowedEvents,s=te.find(r=>r.id===n);return e("div",{class:"vplatform",children:[e("h3",{children:[s?e(Z,{brand:s.brand}):null,s?.name??n]}),i.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:i.map(r=>e("label",{class:"check",children:[e("input",{type:"checkbox",name:`event:${n}`,value:r,defaultChecked:!a||a.includes(r)}),r]},r))})]}):null]},n)})]}):null,e("section",{class:"vpanel","data-panel":"manage",hidden:m!=="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(ee,{agent:t})]}),e("div",{class:"field row-action",children:[e("span",{children:["Delete agent",e("small",{children:j?"removes it and every version; its tasks and platform apps stay":`${t.name} is built in and cannot be deleted; disable it above instead`})]}),e(D,{variant:"secondary",danger:!0,disabled:!j,onClick:()=>A(!0),children:"Delete agent"})]})]}),m==="manage"?null:e("div",{class:"form-actions save",children:e(D,{type:"submit",loading:oe,children:"Save"})})]}),le?e(K,{open:!0,title:`Delete ${t.name}?`,body:"It stops answering on every platform. This cannot be undone.",confirmLabel:"Delete agent",busy:!!N.pending,onClose:()=>A(!1),onConfirm:de}):null]})}export{Ie as AgentSettingsForm};
1
+ "use client";import{a as ne}from"./chain-hint-dcb6933d6f8a6324.js";import{a as Z}from"./agent-pills-1414a96077ec37de.js";import{a as ee}from"./agent-toggle-d14e2838d11ab0f7.js";import{$1c as X}from"./shared-init-5734a91cdb78a173.js";import{d as H,h as R,l as W}from"./model-options-5e07b3318d69d218.js";import{b as I,c as Y}from"./types-3eca2c7f47c46054.js";import{a as K}from"./confirm-c0c0642856e64b11.js";import{a as f}from"./field-7c895f6d8d5d9eb3.js";import{$1b as F}from"./shared-init-e8cf924a73e46497.js";import"./shared-init-e8cf924a73e46497.js";import{$2m as J}from"./shared-init-4f4cac48ca0ef193.js";import{$4D as G,$4a as _,$4v as z,$4z as w}from"./shared-init-4f4cac48ca0ef193.js";import{$1c as P}from"./shared-init-4f4cac48ca0ef193.js";import"./wular-pnext-9b28886f3cbe0ed3-0.js";import"./shared-init-4f4cac48ca0ef193.js";import{$3Q as e,$3S as D,$3b as y}from"./shared-init-4f4cac48ca0ef193.js";import"./shared-init-9b28886f3cbe0ed3-2.js";import"./shared-init-9b28886f3cbe0ed3-2.js";import{$3c as b,$3h as d,$3k as V,$3l as Q}from"./shared-init-9b28886f3cbe0ed3-2.js";function Ie({agent:t,catalog:te,shape:k,runners:$,connections:q}){let se=_(),p=G(),[m,x]=d("run"),B=F({refresh:!0}),N=F({leaves:!0}),oe=!!B.pending,[S,ae]=d(""),[h,ie]=d(),[le,A]=d(!1),O=Q(null),l=t.settings??{},[C,re]=d(l.model?.includes("/")?l.model:[l.engine,l.model,l.effort].filter(Boolean).join("/")),[E,ce]=d(l.connections?"some":""),L=t.definition?.integrations??{},g=Object.keys(L).sort(),T=t.definition,j=t.source!=="builtin";V(()=>{let n=S.trim().toLowerCase(),o=[];O.current.querySelectorAll(".vpanel").forEach(i=>{let a=!1;i.querySelectorAll(".field").forEach(s=>{let r=[...s.querySelectorAll("input")].map(v=>v.value).join(" "),c=s.closest(".vplatform")?.querySelector("h3")?.textContent??"",u=!n||`${c} ${s.textContent} ${r}`.toLowerCase().includes(n);s.hidden=!u,a||=u}),i.querySelectorAll(".vplatform").forEach(s=>{s.hidden=!s.querySelector(".field:not([hidden])")}),a&&o.push(i.dataset.panel)}),ie(n?o:void 0),n&&o.length&&!o.includes(m)&&x(o[0])},[S]);let de=()=>void N.run("delete",async()=>{await P.agents.remove(t.id),se.push("/dash/[org]/agents",{params:{org:p}})}).then(n=>n||A(!1)),M=(n,o)=>e("button",{type:"button","aria-current":m===n?"true":void 0,class:h&&!h.includes(n)?"miss":void 0,onClick:()=>x(n),children:o});return e("form",{ref:O,class:"vsettings card frame",onSubmit:async n=>{n.preventDefault();let o=new FormData(n.currentTarget),i=c=>String(o.get(c)??"").trim(),a={};i("runner")&&(a.runner=i("runner")),i("access")!==(T?.access??"auto")&&(a.access=i("access")),C.trim()&&(a.model=C.trim()),E&&(a.connections=o.getAll("connection").map(String));for(let c of g){let u={},v=I(L[c]?.events),U=o.getAll(`event:${c}`).map(String);v.length&&U.length<v.length&&(u.allowedEvents=U),Object.keys(u).length&&((a.integrations??={})[c]=u)}t.settings?.disabled&&(a.disabled=!0);let s;await B.run("save",async()=>{({warning:s}=await P.agents.settings(t.id,a))})&&J("Saved",s??"New tasks use these settings.",s?"warning":"success")},children:[e("nav",{class:"tabs vertical","aria-label":"Settings sections",children:[e("p",{class:"tabs-label",children:"Runtime"}),M("run","How it runs"),g.length?M("platforms","Platforms"):null,e("p",{class:"tabs-label",children:"Agent"}),M("manage","Manage")]}),e("div",{class:"vbody",children:[e("div",{class:"vsearch",children:[e(z,{value:S,label:"Search settings",onInput:ae}),h&&!h.length?e("span",{class:"muted",children:"No setting matches."}):null]}),e("section",{class:"vpanel","data-panel":"run",hidden:m!=="run",children:[e("h2",{children:"How it runs"}),e("p",{class:"muted",children:"Anything left empty follows the agent's own definition, then the workspace chain."}),e("div",{class:"fields",children:[e(f,{label:"Model",hint:e(ne,{org:p,own:t.definition?.model&&R(t.definition.model,k.builtin)}),group:!0,children:e(X,{shape:k,empty:t.definition?.model?{label:`Its own, ${R(t.definition.model,k.builtin)}`,sub:"from agent.json"}:W(),value:C,onChange:re})}),e(f,{label:"Access",hint:"what its tasks, platforms and connections may do",group:!0,children:e(w,{name:"access",label:"Access",defaultValue:l.access??T?.access??"auto",options:T?.access==="read-only"?H.filter(([n])=>n==="read-only"):H})}),$.length>1?e(f,{label:"Runs on",group:!0,children:e(w,{name:"runner",label:"Runs on",defaultValue:l.runner??"",options:$})}):null,e(f,{label:"Connections",hint:"which workspace connections its tasks can use",group:!0,children:e(w,{label:"Connections",value:E,options:[["","Every workspace connection"],["some","Only the ones picked"]],onChange:ce})}),E?e("div",{class:"field picked",children:[e("span",{children:["Picked connections ",e("small",{children:"tasks can use only these"})]}),q.length?e("div",{class:"checks",children:q.map(n=>e("label",{class:"check",children:[e("input",{type:"checkbox",name:"connection",value:n.id,defaultChecked:l.connections?.includes(n.id)}),n.name]},n.id))}):e("span",{class:"muted",children:["This workspace has no connections yet."," ",e(y,{class:"link",href:"/dash/[org]/settings/[tab]",params:{org:p,tab:"connections"},children:"Add one in Settings"})]})]}):null]})]}),g.length?e("section",{class:"vpanel","data-panel":"platforms",hidden:m!=="platforms",children:[e("h2",{children:"Platforms"}),e("p",{class:"muted",children:["Turn events off for this workspace."," ",Y(t)?e(b,{children:["To add an event or a platform,"," ",e(y,{href:"/dash/[org]/agents/[slug]/edit",params:{org:p,slug:t.id},search:{section:"platforms"},children:["edit ",t.name]}),"."]}):t.source==="repo"?e(b,{children:[t.name," comes from ",t.repo??"a repository","; add an event or a platform in its"," ",t.sourceUrl?e("a",{href:t.sourceUrl,target:"_blank",rel:"noreferrer",children:"agent.json"}):"agent.json"," ","there."]}):e(b,{children:[t.name," is built in, so its events and platforms ship with Coder. To listen anywhere else,"," ",e(y,{href:"/dash/[org]/agents/new",params:{org:p},children:"create your own agent"}),"."]})]}),g.map(n=>{let o=l.integrations?.[n]??{},i=I(L[n]?.events),a=o.allowedEvents,s=te.find(r=>r.id===n);return e("div",{class:"vplatform",children:[e("h3",{children:[s?e(Z,{brand:s.brand}):null,s?.name??n]}),i.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:i.map(r=>e("label",{class:"check",children:[e("input",{type:"checkbox",name:`event:${n}`,value:r,defaultChecked:!a||a.includes(r)}),r]},r))})]}):null]},n)})]}):null,e("section",{class:"vpanel","data-panel":"manage",hidden:m!=="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(ee,{agent:t})]}),e("div",{class:"field row-action",children:[e("span",{children:["Delete agent",e("small",{children:j?"removes it and every version; its tasks and platform apps stay":`${t.name} is built in and cannot be deleted; disable it above instead`})]}),e(D,{variant:"secondary",danger:!0,disabled:!j,onClick:()=>A(!0),children:"Delete agent"})]})]}),m==="manage"?null:e("div",{class:"form-actions save",children:e(D,{type:"submit",loading:oe,children:"Save"})})]}),le?e(K,{open:!0,title:`Delete ${t.name}?`,body:"It stops answering on every platform. This cannot be undone.",confirmLabel:"Delete agent",busy:!!N.pending,onClose:()=>A(!1),onConfirm:de}):null]})}export{Ie as AgentSettingsForm};
@@ -1 +1 @@
1
- import{$1b as b}from"./shared-init-a69029db2d72fb52.js";import{$0c as r}from"./shared-init-7a7f1e623f0f5861.js";import{$4Q as s,$4S as c}from"./shared-init-7a7f1e623f0f5861.js";import{$2h as g}from"./shared-init-3fcac605fffcc273-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};
1
+ import{$1b as b}from"./shared-init-e8cf924a73e46497.js";import{$1c as r}from"./shared-init-4f4cac48ca0ef193.js";import{$3Q as s,$3S as c}from"./shared-init-4f4cac48ca0ef193.js";import{$3h as g}from"./shared-init-9b28886f3cbe0ed3-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};
@@ -1 +1 @@
1
- "use client";import{a as P,b as R,d as q}from"./agent-pills-f07bea43753a9342.js";import{a as L}from"./tail-3024b828bce41f94.js";import{c as N}from"./types-3eca2c7f47c46054.js";import{$0g as k}from"./shared-init-a69029db2d72fb52.js";import{$2D as a,$2t as A,$2u as w,$2v as C,$2w as I,$2x as v}from"./shared-init-7a7f1e623f0f5861.js";import{$0c as f,$0q as y,$0s as b}from"./shared-init-7a7f1e623f0f5861.js";import"./wular-pnext-3fcac605fffcc273-0.js";import{$4Q as e,$4T as h,$4b as g,$4c as u}from"./shared-init-7a7f1e623f0f5861.js";import"./shared-init-3fcac605fffcc273-2.js";import"./shared-init-3fcac605fffcc273-2.js";import{$2c as c}from"./shared-init-3fcac605fffcc273-2.js";function B(){return e(h,{href:"/dash/[org]/agents/new",params:{org:a()},leftIcon:u,children:"New agent"})}function x({agent:t,catalog:i}){let n=a(),o=`/dash/${n}/agents/${encodeURIComponent(t.id)}`,l=N(t)?{href:`${o}/edit?section=platforms`}:t.source==="repo"&&t.sourceUrl?{href:t.sourceUrl,external:!0}:{href:`${o}/settings`};return e("li",{class:"agent-card",children:[e("div",{class:"bc-head",children:[e("span",{class:"mark",children:k(t.name)}),e("div",{class:"grow",children:[e("h3",{children:e(g,{class:"cover",href:"/dash/[org]/agents/[slug]",params:{org:n,slug:t.id},children:t.name})}),e("span",{class:"pills",children:e(q,{agent:t,fix:l})})]})]}),e("div",{class:"lead-clamp",children:e("span",{children:t.problems?.length?t.problems.join(" "):t.description??"No description yet."})}),t.platforms.length?e(R,{platforms:t.platforms,catalog:i,agent:t.id}):e("span",{class:"pfs muted",children:"No handles yet"})]})}var O=[["","All agents"],["dashboard","Dashboard agents"],["repository","Repository agents"],["builtin","Built-in"]];function te({first:t,limit:i,filters:n,catalog:o,head:l,children:K}){let{values:m,set:p,query:S}=w(n),s=b({name:"agents",fetchPage:r=>f.agents.list({cursor:r,limit:i,...m}),query:S,first:t,initial:A(n)});return e(c,{children:[e(I,{head:l,action:e(B,{}),children:[e(C,{value:m.q,label:"Search agents",onInput:r=>p("q",r,250)}),e(v,{name:"agents",facets:[{key:"platform",label:"Platform",options:o.map(r=>[r.id,r.name]),icon:r=>{let d=o.find(T=>T.id===r);return d?e(P,{brand:d.brand}):void 0}},{key:"type",label:"Source",options:O}],values:m,onChange:p})]}),K,s.rows.length?e("ul",{class:"agent-grid","aria-busy":s.stale,children:s.rows.map(r=>e(x,{agent:r,catalog:o},r.id))}):s.stale?null:e(y,{title:"No agents match",children:"Try another search or filter."}),e(L,{noun:"agents",...s})]})}export{te as AgentsGrid};
1
+ "use client";import{a as P,b as R,d as q}from"./agent-pills-1414a96077ec37de.js";import{a as L}from"./tail-d3ba4c4035c5453e.js";import{c as N}from"./types-3eca2c7f47c46054.js";import{$0g as k}from"./shared-init-e8cf924a73e46497.js";import{$4D as a,$4t as A,$4u as w,$4v as C,$4w as I,$4x as v}from"./shared-init-4f4cac48ca0ef193.js";import{$1c as f,$1q as y,$1s as b}from"./shared-init-4f4cac48ca0ef193.js";import"./wular-pnext-9b28886f3cbe0ed3-0.js";import{$3Q as e,$3T as h,$3b as g,$3c as u}from"./shared-init-4f4cac48ca0ef193.js";import"./shared-init-9b28886f3cbe0ed3-2.js";import"./shared-init-9b28886f3cbe0ed3-2.js";import{$3c as c}from"./shared-init-9b28886f3cbe0ed3-2.js";function B(){return e(h,{href:"/dash/[org]/agents/new",params:{org:a()},leftIcon:u,children:"New agent"})}function x({agent:t,catalog:i}){let n=a(),o=`/dash/${n}/agents/${encodeURIComponent(t.id)}`,l=N(t)?{href:`${o}/edit?section=platforms`}:t.source==="repo"&&t.sourceUrl?{href:t.sourceUrl,external:!0}:{href:`${o}/settings`};return e("li",{class:"agent-card",children:[e("div",{class:"bc-head",children:[e("span",{class:"mark",children:k(t.name)}),e("div",{class:"grow",children:[e("h3",{children:e(g,{class:"cover",href:"/dash/[org]/agents/[slug]",params:{org:n,slug:t.id},children:t.name})}),e("span",{class:"pills",children:e(q,{agent:t,fix:l})})]})]}),e("div",{class:"lead-clamp",children:e("span",{children:t.problems?.length?t.problems.join(" "):t.description??"No description yet."})}),t.platforms.length?e(R,{platforms:t.platforms,catalog:i,agent:t.id}):e("span",{class:"pfs muted",children:"No handles yet"})]})}var O=[["","All agents"],["dashboard","Dashboard agents"],["repository","Repository agents"],["builtin","Built-in"]];function te({first:t,limit:i,filters:n,catalog:o,head:l,children:K}){let{values:m,set:p,query:S}=w(n),s=b({name:"agents",fetchPage:r=>f.agents.list({cursor:r,limit:i,...m}),query:S,first:t,initial:A(n)});return e(c,{children:[e(I,{head:l,action:e(B,{}),children:[e(C,{value:m.q,label:"Search agents",onInput:r=>p("q",r,250)}),e(v,{name:"agents",facets:[{key:"platform",label:"Platform",options:o.map(r=>[r.id,r.name]),icon:r=>{let d=o.find(T=>T.id===r);return d?e(P,{brand:d.brand}):void 0}},{key:"type",label:"Source",options:O}],values:m,onChange:p})]}),K,s.rows.length?e("ul",{class:"agent-grid","aria-busy":s.stale,children:s.rows.map(r=>e(x,{agent:r,catalog:o},r.id))}):s.stale?null:e(y,{title:"No agents match",children:"Try another search or filter."}),e(L,{noun:"agents",...s})]})}export{te as AgentsGrid};
@@ -1 +1 @@
1
- import{$2B as c,$2D as a}from"./shared-init-7a7f1e623f0f5861.js";import{$4Q as r,$4T as i}from"./shared-init-7a7f1e623f0f5861.js";import{$2j as m}from"./shared-init-3fcac605fffcc273-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};
1
+ import{$4B as c,$4D as a}from"./shared-init-4f4cac48ca0ef193.js";import{$3Q as r,$3T as i}from"./shared-init-4f4cac48ca0ef193.js";import{$3j as m}from"./shared-init-9b28886f3cbe0ed3-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};
@@ -1 +1 @@
1
- import{$4Q as n,$4R as e,$4b as o,$4q as s}from"./shared-init-7a7f1e623f0f5861.js";import{$2c as r}from"./shared-init-3fcac605fffcc273-2.js";var f=({org:t,own:i})=>i?n(r,{children:[i," from agent.json, unless picked here"]}):n(r,{children:[n(o,{class:"link",href:"/dash/[org]/settings/[tab]",params:{org:t,tab:"models"},children:["default chain",n(e,{d:s})]})," ","unless picked here"]});export{f as a};
1
+ import{$3Q as n,$3R as e,$3b as o,$3q as s}from"./shared-init-4f4cac48ca0ef193.js";import{$3c as r}from"./shared-init-9b28886f3cbe0ed3-2.js";var f=({org:t,own:i})=>i?n(r,{children:[i," from agent.json, unless picked here"]}):n(r,{children:[n(o,{class:"link",href:"/dash/[org]/settings/[tab]",params:{org:t,tab:"models"},children:["default chain",n(e,{d:s})]})," ","unless picked here"]});export{f as a};
@@ -1 +1 @@
1
- import{$2A as S,$2n as E,$2y as M}from"./shared-init-7a7f1e623f0f5861.js";import{$4Q as r}from"./shared-init-7a7f1e623f0f5861.js";import{$2c as L,$2h as u,$2k as $,$2l as d,$2n as C}from"./shared-init-3fcac605fffcc273-2.js";var H=50;function F({label:m,name:D,class:I,options:g,placeholder:O,value:f,onChange:k,onOpen:y}){let[T,o]=u(!1),[A,a]=u(!1),[l,c]=u(0),h=d(null),p=d(null),i=C(),w=A?f.trim().toLowerCase():"",s=(w?g.filter(e=>e.toLowerCase().includes(w)):g).slice(0,H),n=T&&s.length>0,b=e=>{let t=s[e];t&&k(t),o(!1),a(!1)},v=M(h,p,n,360,[s.length]);return $(()=>{n&&p.current?.querySelector(`[data-index="${l}"]`)?.scrollIntoView({block:"nearest"})},[n,l,v]),r(L,{children:[r("input",{ref:h,name:D,class:I,role:"combobox","aria-label":m,"aria-autocomplete":"list","aria-expanded":n,"aria-controls":`${i}-list`,"aria-activedescendant":n?`${i}-${l}`:void 0,autocomplete:"off",placeholder:O,value:f,onInput:e=>{k(e.currentTarget.value),a(!0),c(0),o(!0)},onFocus:()=>{a(!1),o(!0),y?.()},onClick:()=>{o(!0),y?.()},onBlur:()=>{o(!1),a(!1)},onKeyDown:e=>{if(n){if(e.key==="ArrowDown")c((l+1)%s.length);else if(e.key==="ArrowUp")c((l-1+s.length)%s.length);else if(e.key==="Enter")b(l);else if(e.key==="Escape")o(!1);else return;e.preventDefault()}}}),n?r(S,{id:i,label:m,listRef:p,place:v,children:s.map((e,t)=>r(E,{id:`${i}-${t}`,"data-index":t,active:t===l,selected:e===f,check:!0,onPointerMove:()=>t!==l&&c(t),onClick:()=>b(t),children:e},e))}):null]})}export{F as a};
1
+ import{$4A as S,$4n as E,$4y as M}from"./shared-init-4f4cac48ca0ef193.js";import{$3Q as r}from"./shared-init-4f4cac48ca0ef193.js";import{$3c as L,$3h as u,$3k as $,$3l as d,$3n as C}from"./shared-init-9b28886f3cbe0ed3-2.js";var H=50;function F({label:m,name:D,class:I,options:g,placeholder:O,value:f,onChange:k,onOpen:y}){let[T,o]=u(!1),[A,a]=u(!1),[l,c]=u(0),h=d(null),p=d(null),i=C(),w=A?f.trim().toLowerCase():"",s=(w?g.filter(e=>e.toLowerCase().includes(w)):g).slice(0,H),n=T&&s.length>0,b=e=>{let t=s[e];t&&k(t),o(!1),a(!1)},v=M(h,p,n,360,[s.length]);return $(()=>{n&&p.current?.querySelector(`[data-index="${l}"]`)?.scrollIntoView({block:"nearest"})},[n,l,v]),r(L,{children:[r("input",{ref:h,name:D,class:I,role:"combobox","aria-label":m,"aria-autocomplete":"list","aria-expanded":n,"aria-controls":`${i}-list`,"aria-activedescendant":n?`${i}-${l}`:void 0,autocomplete:"off",placeholder:O,value:f,onInput:e=>{k(e.currentTarget.value),a(!0),c(0),o(!0)},onFocus:()=>{a(!1),o(!0),y?.()},onClick:()=>{o(!0),y?.()},onBlur:()=>{o(!1),a(!1)},onKeyDown:e=>{if(n){if(e.key==="ArrowDown")c((l+1)%s.length);else if(e.key==="ArrowUp")c((l-1+s.length)%s.length);else if(e.key==="Enter")b(l);else if(e.key==="Escape")o(!1);else return;e.preventDefault()}}}),n?r(S,{id:i,label:m,listRef:p,place:v,children:s.map((e,t)=>r(E,{id:`${i}-${t}`,"data-index":t,active:t===l,selected:e===f,check:!0,onPointerMove:()=>t!==l&&c(t),onClick:()=>b(t),children:e},e))}):null]})}export{F as a};
@@ -1 +1 @@
1
- import{a as ne,b as ze,c as We,d as Je,f as Xe}from"./composer-data-b05f3d93fdc472d7.js";import{m as qe}from"./task-1e6f9ba22fb5e29f.js";import{a as Ie}from"./connect-repositories-90f1aedea6de7a99.js";import{$0a as Ge}from"./shared-init-02666a6f76606589.js";import{$1a as Ke,$1b as Ue}from"./shared-init-02666a6f76606589.js";import{c as He,d as je,h as oe}from"./model-options-5e07b3318d69d218.js";import{$1a as H,$1b as Fe}from"./shared-init-a69029db2d72fb52.js";import{$0h as $}from"./shared-init-a69029db2d72fb52.js";import{a as Qe}from"./back-8ca96656264a0d1c.js";import{$1o as Be}from"./shared-init-7a7f1e623f0f5861.js";import{$2D as De,$2a as ve,$2c as Me,$2k as Te,$2m as ee,$2n as Ae,$2o as E,$2p as Ne,$2r as Pe,$2s as I,$2z as te}from"./shared-init-7a7f1e623f0f5861.js";import{$0c as b,$0r as xe}from"./shared-init-7a7f1e623f0f5861.js";import{$4B as Re,$4G as Le,$4J as $e,$4P as Oe,$4Q as t,$4R as F,$4S as _,$4U as Se,$4i as Ce,$4v as Ee}from"./shared-init-7a7f1e623f0f5861.js";import{$2c as y,$2h as f,$2j as B,$2k as ye,$2l as w,$2n as Z}from"./shared-init-3fcac605fffcc273-2.js";var ht=(a,r)=>[...a.split("/").filter(s=>!He.some(([l])=>l===s)),r].join("/"),j="coder:draft",Ve="+connect",Ye="+refresh",re="+other",se="+pick",ie="+clone",bt=/^\/(flow)(?:\s+(\S+))?\s*([\s\S]*)$/,wt=(a,r,s)=>[["",a],...[...new Set([r,...s])].filter(Boolean).map(l=>[l,l])],Ze=(a,r,s)=>{let l=[...a.recent,...r].map(u=>u.path);return[["","No folder"],...[...new Set([...l,s])].filter(u=>u&&u!==a.current.path).map(u=>[u,qe(u)]),a.picker?[se,"Choose\u2026"]:[re,"Type a path\u2026"],[ie,"Repository\u2026"]]};function _e({label:a,options:r,value:s,onPick:l}){let u=`${Z()}-pick`;return t(Pe,{children:[t(Te,{title:r.find(([d])=>d===s)?.[1]??r[0]?.[1],"aria-label":a,"data-keep":!0,popovertarget:u}),t("button",{type:"button",class:"pop-chev","data-keep":!0,popovertarget:u,"aria-label":`${a} options`,children:t(F,{d:Ce})}),t(I,{id:u,class:"pop-flyout",popover:"auto",role:"group","aria-label":a,onBeforeToggle:Ue,children:r.map(([d,m])=>t(ee,{on:d===s,onPick:()=>l(d),children:m},d))})]})}function kt(a){let r=a.currentTarget,s=document.querySelector(`[popovertarget="${r.id}"]`)?.getBoundingClientRect();if(a.newState!=="open"||!s)return;let l=Math.round(s.bottom+6);r.style.top=`${l}px`,r.style.right=`${Math.round(document.documentElement.clientWidth-s.right)}px`,r.style.maxHeight=`${Math.max(160,window.innerHeight-l-16)}px`}function yt(a){return Object.fromEntries(a.split(/\s+/).filter(Boolean).map(r=>{let s=r.indexOf("="),l=s<0?"true":r.slice(s+1);try{return[s<0?r:r.slice(0,s),JSON.parse(l)]}catch{return[r.slice(0,s),l]}}))}function vt({id:a,entries:r,active:s,selected:l,onActive:u}){return t(y,{children:r.flatMap((d,m)=>[d.head?t(E,{role:"presentation",children:d.head},`h:${d.key}`):null,t(Ae,{id:`${a}-${m}`,active:m===s,selected:l===void 0?m===s:d.key===l,check:l!==void 0,end:d.hint?t("small",{children:d.hint}):null,onMouseDown:i=>i.preventDefault(),onPointerMove:()=>m!==s&&u(m),onClick:d.pick,children:d.label},d.key)])})}var Mt=(a,r,s,l)=>{let u={ArrowDown:1,ArrowUp:-1}[a.key];return!u||!s?!1:(a.preventDefault(),l((r+u+s)%s),!0)};function Ct({reason:a,label:r}){return t(Ge,{tone:"warning",slim:!0,children:[t(F,{d:$e}),t("span",{class:"grow",children:a||"Tasks need a model credential to run."}),t(Qe,{variant:"outline",size:"sm",label:r,children:"Add credential"})]})}function Et({initial:a,data:r,defaults:s,missing:l,connectLabel:u}){let d=ve(),m=De(),[i,K]=f(()=>We({...ze,...a},r)),[c,R]=f(r),g=w(),[U,ae]=f(!1),[le,et]=f(),[O,q]=f(""),[tt,v]=f(!1),[ot,A]=f(0),[z,nt]=f([]),[M,S]=f(""),[L,ce]=f(!1),ue=w(null),h=w(null),de=w(null),pe=w(null),C=Z();B(()=>void(M&&pe.current?.focus()),[M]),B(()=>{let e=localStorage.getItem(j);e&&h.current&&!h.current.value&&(h.current.value=e),q(h.current?.value??""),N(h.current?.value??""),h.current?.focus(),v(!0)},[]);let N=(e,o=i.repo)=>{!e.startsWith("/")||!o||g.current===o||(g.current=o,b.flows.list(o).then(n=>R(Q=>({...Q,flows:n.map(D=>D.name)}))).catch(n=>console.error("coder dashboard: flows",n)))},W=w(!!r.repos),rt=()=>{W.current||(W.current=!0,b.repositories.list().catch(e=>(console.error("coder dashboard: repositories",e),[])).then(e=>R(o=>({...o,repos:e.map(n=>n.repo)}))))},fe=Fe(),me=!!fe.pending,st=()=>{W.current=!0,fe.run("refresh",async()=>{let e=await b.repositories.refresh();R(o=>({...o,repos:e.map(n=>n.repo)}))})},J=(e,o)=>{if(o===re)return S("path");if(o===ie)return S("url");if(o===se)return void at();if(o===Ye)return me?void 0:st();if(o===Ve)return void Ie(`/dash/${m}/tasks`).catch(H);x({[e]:o}),(e==="repo"||e==="cwd")&&h.current?.focus({preventScroll:!0})},x=e=>{let o={...i,...e};K(o),N(O,o.repo),document.cookie=`compose=${encodeURIComponent(JSON.stringify(o))}; path=/; max-age=31536000; samesite=lax`},X=e=>{if(!e.ok)return H(e.detail);S(""),nt(o=>[...o.filter(n=>n.path!==e.folder.path),e.folder]),J("cwd",e.folder.path===c.folders?.current.path?"":e.folder.path)},it=async e=>{e.trim()&&X(await b.folders.check(e.trim()).catch(o=>({ok:!1,detail:$(o)})))},at=async()=>{document.body.style.cursor="progress";let e=await b.folders.pick().catch(o=>({ok:!1,detail:$(o)}));document.body.style.cursor="",(e.ok||e.detail)&&X(e)},lt=async e=>{if(!e.trim())return;ce(!0),document.body.style.cursor="progress";let o=await b.folders.clone(e.trim()).catch(n=>({ok:!1,detail:$(n)}));document.body.style.cursor="",ce(!1),X(o)},ge=e=>{let o=h.current;o.value=e,localStorage.setItem(j,e),q(e),N(e),A(0),v(!1),o.focus(),o.setSelectionRange(e.length,e.length)},G=async()=>{let e=h.current?.value.trim()??"";if(U||L||c.agentsOff||!e)return;let[,o,n="",Q=""]=bt.exec(e)??[];if(o&&!n)return void v(!1);let{agent:D,model:dt,effort:V,access:we,runner:pt}=i,[ft,mt]=c.folders?["",i.cwd]:[i.repo,""],Y=dt||(V?s.chain[0]:""),ke=Object.fromEntries(Object.entries({repo:ft,cwd:mt,model:Y&&V?ht(Y,V):Y,access:we==="auto"?"":we,runner:pt}).filter(([,k])=>k));ae(!0);try{let k=o==="flow"?await b.flows.run(n,{...ke,agent:D,args:yt(Q)}):await b.tasks.create({...ke,agent:D,prompt:e});localStorage.removeItem(j),Be(k.task.id,"queued",e),d.push("/dash/[org]/tasks/[id]",{params:{org:m,id:k.task.id}})}catch(k){ae(!1),k.status===409?et($(k)):H(k)}},p=(()=>{let e=/^\/(\S*)$/.exec(O)?.[1]?.toLowerCase();if(e!==void 0)return{label:"Commands",entries:[...c.flows.map(n=>({key:`flow ${n}`,label:`/flow ${n}`,hint:`Run the ${n} flow`,pick:()=>ge(`/flow ${n} `)}))].filter(n=>n.key.includes(e)),note:"No command matches."};let o=/^\/flow\s+(\S*)$/.exec(O)?.[1];if(o!==void 0)return{label:"Flows",entries:c.flows.filter(n=>n.includes(o)).map(n=>({key:n,label:n,hint:`Run the ${n} flow`,pick:()=>n===o?void G():ge(`/flow ${n} `)})),note:"No flow matches."}})(),T=!!(p&&!tt),P=p?Math.min(ot,Math.max(0,p.entries.length-1)):0;ye(()=>{let e=de.current;if(!e)return;if(!T)return void(e.matches(":popover-open")&&e.hidePopover());let o=()=>{let n=ue.current.getBoundingClientRect();e.style.top=`${Math.round(n.bottom+6)}px`,e.style.left=`${Math.round(n.left)}px`,e.style.width=`${Math.round(Math.min(n.width,460))}px`};return o(),e.matches(":popover-open")||e.showPopover(),addEventListener("scroll",o,!0),addEventListener("resize",o),()=>{removeEventListener("scroll",o,!0),removeEventListener("resize",o)}},[T,O]);let ct=s.chain[0]??"",he=c.agents.some(([e])=>e===i.agent)?c.agents:[...c.agents,[i.agent,i.agent]],ut=[[i.model||oe(ct,s.builtin),!!i.model],[i.effort,!!i.effort],[i.access,i.access!=="auto"]].filter(([e])=>e),be=[i.agent!==c.defaultAgent&&i.agent,i.runner&&(c.runners.find(([e])=>e===i.runner)?.[1]??i.runner)].filter(Boolean).join(" \xB7 ");return t(y,{children:[t("form",{ref:ue,class:"composer",onSubmit:e=>{e.preventDefault(),G()},children:[t("textarea",{ref:h,name:"prompt",rows:1,role:"combobox","aria-label":"What should the agent do?","aria-autocomplete":"list","aria-expanded":T,"aria-controls":`${C}-slash`,"aria-activedescendant":T&&p?.entries.length?`${C}-slash-${P}`:void 0,placeholder:ne,autofocus:!0,onFocus:()=>v(!1),onBlur:()=>v(!0),onInput:e=>{let o=e.currentTarget.value;localStorage.setItem(j,o),q(o),N(o),A(0),v(!1)},onKeyDown:e=>{if(!e.isComposing){if(T&&p){if(Mt(e,P,p.entries.length,A))return;if(e.key==="Escape")return e.preventDefault(),v(!0);if(p.entries.length&&(e.key==="Enter"&&!e.shiftKey||e.key==="Tab"))return e.preventDefault(),p.entries[P].pick()}e.key!=="Enter"||e.shiftKey||(e.preventDefault(),G())}}}),t("div",{class:"composer-line",children:[c.folders?M?t(y,{children:[t("input",{class:"folder-path","aria-label":M==="url"?"Repository URL":"Folder path",ref:pe,placeholder:M==="url"?"https://github.com/owner/repo":"Absolute path or ~/\u2026",readOnly:L,"aria-busy":L,onKeyDown:e=>{if(L)return e.preventDefault();if(e.key==="Escape")return e.preventDefault(),S("");e.key!=="Enter"||e.isComposing||(e.preventDefault(),(M==="url"?lt:it)(e.currentTarget.value))},onBlur:e=>!L&&!e.currentTarget.value.trim()&&S("")}),L?t("span",{class:"folder-busy",children:"Cloning\u2026"}):null]}):t("span",{class:"folder",title:i.cwd||c.folders.current.path,children:t(te,{label:"Folder",value:i.cwd,options:Ze(c.folders,z,i.cwd),subs:Object.fromEntries(Ze(c.folders,z,i.cwd).flatMap(([e])=>e&&e!==re&&e!==se&&e!==ie?[[e,z.find(o=>o.path===e)?.url??e]]:[])),onChange:e=>J("cwd",e)})}):t(te,{label:"Repository",value:i.repo,options:[...wt("No repository",i.repo,c.repos??[]),[Ye,me?"Refreshing repositories\u2026":"Refresh repositories"],[Ve,u]],onChange:e=>J("repo",e),onFocus:rt}),t("button",{type:"button",class:"quiet",popovertarget:`${C}-settings`,"aria-label":"Run options",title:"Model, effort, access and more",children:[t(F,{d:Oe}),t("span",{class:"run-picks",children:ut.map(([e,o],n)=>t("span",{class:o?void 0:"dim",children:n?` \xB7 ${e}`:e},n))}),be?t("span",{children:be}):null]}),t(_,{type:"submit",size:"sm",class:"send",leftIcon:Le,disabled:!O.trim()||c.agentsOff,loading:U,"aria-label":U?"Starting task":"Start task",title:"Start task (Enter)"})]}),c.agentsOff?t("small",{class:"folder-hint",children:"Every agent here is disabled. Enable one in its settings to start tasks."}):null,M==="url"?t("small",{class:"folder-hint",children:"Uses this machine's git logins"}):null,t(I,{id:`${C}-settings`,class:"composer-settings",popover:"auto",onBeforeToggle:kt,children:[t(E,{children:"Model"}),t(Ke,{groups:c.models,first:{label:`Default: ${s.chain.map(e=>oe(e,s.builtin)).join(", then ")}`,efforts:!0},model:i.model,effort:i.effort,onPick:(e,o)=>{x({model:e,effort:o}),document.getElementById(`${C}-settings`)?.hidePopover()}}),t(E,{children:"Access"}),t("div",{role:"group","aria-label":"Access",children:je.map(([e,o])=>t(ee,{on:i.access===e,onPick:()=>x({access:e}),children:o},e))}),he.length>1?t(y,{children:[t(E,{children:"Agent"}),t(_e,{label:"Agent",options:he,value:i.agent,onPick:e=>x({agent:e})})]}):null,c.runners.length>1?t(y,{children:[t(E,{children:"Runs on"}),t(_e,{label:"Runs on",options:c.runners,value:i.runner,onPick:e=>x({runner:e})})]}):null]}),t(I,{panelRef:de,id:`${C}-slash`,class:"composer-slash",popover:"manual",role:"listbox","aria-label":p?.label??"Commands",children:p?t(y,{children:[t(E,{children:p.label}),t(vt,{id:`${C}-slash`,entries:p.entries,active:P,onActive:A}),p.note==="loading"?t(xe,{label:"Loading pull requests",inline:!0}):p.note&&!p.entries.length?t(Ne,{children:p.note}):null]}):null})]}),le===void 0||l?null:t(Ct,{reason:le})]})}function Rt(){return t("div",{class:"composer","aria-hidden":"true",children:[t("textarea",{rows:1,disabled:!0,tabIndex:-1,placeholder:ne}),t("div",{class:"composer-line"})]})}function Yt({agent:a}){let r=w(null),[s,l]=f(),[u,d]=f(""),[m,i]=f(!1),K=w(),c=()=>{i(!0),r.current?.showModal(),K.current??=Xe(b).then(l,g=>d($(g)))},R=Me().has("new");return B(()=>{if(!R)return;let g=new URL(location.href);g.searchParams.delete("new"),history.replaceState(history.state,"",g),c()},[R]),t(y,{children:[t(_,{class:"new-task",leftIcon:Re,onClick:c,children:"New task"}),t("dialog",{ref:r,class:"compose-dialog","aria-label":a?`New task for ${a}`:"New task",onClose:()=>i(!1),onClick:g=>g.target===g.currentTarget&&r.current?.close(),children:[t("header",{children:[t("h2",{children:"New task"}),a?t("span",{class:"sub",children:a}):null,t(Se,{icon:Ee,label:"Close",onClick:()=>r.current?.close()})]}),m?s?t(Et,{...s,initial:{...Je(document.cookie),...a?{agent:a}:{}}}):u?t("p",{class:"flash err",role:"alert",children:u}):t(Rt,{}):null]})]})}export{ht as a,Ct as b,Yt as c};
1
+ import{a as ne,b as ze,c as We,d as Je,f as Xe}from"./composer-data-b05f3d93fdc472d7.js";import{n as qe}from"./task-3b17e45e271a6480.js";import{a as Ie}from"./connect-repositories-3a317a5db3ea50b1.js";import{$0a as Ge}from"./shared-init-5734a91cdb78a173.js";import{$1a as Ke,$1b as Ue}from"./shared-init-5734a91cdb78a173.js";import{c as He,d as je,h as oe}from"./model-options-5e07b3318d69d218.js";import{$1a as H,$1b as Fe}from"./shared-init-e8cf924a73e46497.js";import{$0h as $}from"./shared-init-e8cf924a73e46497.js";import{a as Qe}from"./back-57d4a59bf80377e6.js";import{$2o as Be}from"./shared-init-4f4cac48ca0ef193.js";import{$4D as De,$4a as ve,$4c as Me,$4k as Te,$4m as ee,$4n as Ae,$4o as E,$4p as Ne,$4r as Pe,$4s as I,$4z as te}from"./shared-init-4f4cac48ca0ef193.js";import{$1c as b,$1r as xe}from"./shared-init-4f4cac48ca0ef193.js";import{$3B as Re,$3G as Le,$3J as $e,$3P as Oe,$3Q as t,$3R as F,$3S as _,$3U as Se,$3i as Ce,$3v as Ee}from"./shared-init-4f4cac48ca0ef193.js";import{$3c as y,$3h as f,$3j as B,$3k as ye,$3l as w,$3n as Z}from"./shared-init-9b28886f3cbe0ed3-2.js";var ht=(a,r)=>[...a.split("/").filter(s=>!He.some(([l])=>l===s)),r].join("/"),j="coder:draft",Ve="+connect",Ye="+refresh",re="+other",se="+pick",ie="+clone",bt=/^\/(flow)(?:\s+(\S+))?\s*([\s\S]*)$/,wt=(a,r,s)=>[["",a],...[...new Set([r,...s])].filter(Boolean).map(l=>[l,l])],Ze=(a,r,s)=>{let l=[...a.recent,...r].map(u=>u.path);return[["","No folder"],...[...new Set([...l,s])].filter(u=>u&&u!==a.current.path).map(u=>[u,qe(u)]),a.picker?[se,"Choose\u2026"]:[re,"Type a path\u2026"],[ie,"Repository\u2026"]]};function _e({label:a,options:r,value:s,onPick:l}){let u=`${Z()}-pick`;return t(Pe,{children:[t(Te,{title:r.find(([d])=>d===s)?.[1]??r[0]?.[1],"aria-label":a,"data-keep":!0,popovertarget:u}),t("button",{type:"button",class:"pop-chev","data-keep":!0,popovertarget:u,"aria-label":`${a} options`,children:t(F,{d:Ce})}),t(I,{id:u,class:"pop-flyout",popover:"auto",role:"group","aria-label":a,onBeforeToggle:Ue,children:r.map(([d,m])=>t(ee,{on:d===s,onPick:()=>l(d),children:m},d))})]})}function kt(a){let r=a.currentTarget,s=document.querySelector(`[popovertarget="${r.id}"]`)?.getBoundingClientRect();if(a.newState!=="open"||!s)return;let l=Math.round(s.bottom+6);r.style.top=`${l}px`,r.style.right=`${Math.round(document.documentElement.clientWidth-s.right)}px`,r.style.maxHeight=`${Math.max(160,window.innerHeight-l-16)}px`}function yt(a){return Object.fromEntries(a.split(/\s+/).filter(Boolean).map(r=>{let s=r.indexOf("="),l=s<0?"true":r.slice(s+1);try{return[s<0?r:r.slice(0,s),JSON.parse(l)]}catch{return[r.slice(0,s),l]}}))}function vt({id:a,entries:r,active:s,selected:l,onActive:u}){return t(y,{children:r.flatMap((d,m)=>[d.head?t(E,{role:"presentation",children:d.head},`h:${d.key}`):null,t(Ae,{id:`${a}-${m}`,active:m===s,selected:l===void 0?m===s:d.key===l,check:l!==void 0,end:d.hint?t("small",{children:d.hint}):null,onMouseDown:i=>i.preventDefault(),onPointerMove:()=>m!==s&&u(m),onClick:d.pick,children:d.label},d.key)])})}var Mt=(a,r,s,l)=>{let u={ArrowDown:1,ArrowUp:-1}[a.key];return!u||!s?!1:(a.preventDefault(),l((r+u+s)%s),!0)};function Ct({reason:a,label:r}){return t(Ge,{tone:"warning",slim:!0,children:[t(F,{d:$e}),t("span",{class:"grow",children:a||"Tasks need a model credential to run."}),t(Qe,{variant:"outline",size:"sm",label:r,children:"Add credential"})]})}function Et({initial:a,data:r,defaults:s,missing:l,connectLabel:u}){let d=ve(),m=De(),[i,K]=f(()=>We({...ze,...a},r)),[c,R]=f(r),g=w(),[U,ae]=f(!1),[le,et]=f(),[O,q]=f(""),[tt,v]=f(!1),[ot,A]=f(0),[z,nt]=f([]),[M,S]=f(""),[L,ce]=f(!1),ue=w(null),h=w(null),de=w(null),pe=w(null),C=Z();B(()=>void(M&&pe.current?.focus()),[M]),B(()=>{let e=localStorage.getItem(j);e&&h.current&&!h.current.value&&(h.current.value=e),q(h.current?.value??""),N(h.current?.value??""),h.current?.focus(),v(!0)},[]);let N=(e,o=i.repo)=>{!e.startsWith("/")||!o||g.current===o||(g.current=o,b.flows.list(o).then(n=>R(Q=>({...Q,flows:n.map(D=>D.name)}))).catch(n=>console.error("coder dashboard: flows",n)))},W=w(!!r.repos),rt=()=>{W.current||(W.current=!0,b.repositories.list().catch(e=>(console.error("coder dashboard: repositories",e),[])).then(e=>R(o=>({...o,repos:e.map(n=>n.repo)}))))},fe=Fe(),me=!!fe.pending,st=()=>{W.current=!0,fe.run("refresh",async()=>{let e=await b.repositories.refresh();R(o=>({...o,repos:e.map(n=>n.repo)}))})},J=(e,o)=>{if(o===re)return S("path");if(o===ie)return S("url");if(o===se)return void at();if(o===Ye)return me?void 0:st();if(o===Ve)return void Ie(`/dash/${m}/tasks`).catch(H);x({[e]:o}),(e==="repo"||e==="cwd")&&h.current?.focus({preventScroll:!0})},x=e=>{let o={...i,...e};K(o),N(O,o.repo),document.cookie=`compose=${encodeURIComponent(JSON.stringify(o))}; path=/; max-age=31536000; samesite=lax`},X=e=>{if(!e.ok)return H(e.detail);S(""),nt(o=>[...o.filter(n=>n.path!==e.folder.path),e.folder]),J("cwd",e.folder.path===c.folders?.current.path?"":e.folder.path)},it=async e=>{e.trim()&&X(await b.folders.check(e.trim()).catch(o=>({ok:!1,detail:$(o)})))},at=async()=>{document.body.style.cursor="progress";let e=await b.folders.pick().catch(o=>({ok:!1,detail:$(o)}));document.body.style.cursor="",(e.ok||e.detail)&&X(e)},lt=async e=>{if(!e.trim())return;ce(!0),document.body.style.cursor="progress";let o=await b.folders.clone(e.trim()).catch(n=>({ok:!1,detail:$(n)}));document.body.style.cursor="",ce(!1),X(o)},ge=e=>{let o=h.current;o.value=e,localStorage.setItem(j,e),q(e),N(e),A(0),v(!1),o.focus(),o.setSelectionRange(e.length,e.length)},G=async()=>{let e=h.current?.value.trim()??"";if(U||L||c.agentsOff||!e)return;let[,o,n="",Q=""]=bt.exec(e)??[];if(o&&!n)return void v(!1);let{agent:D,model:dt,effort:V,access:we,runner:pt}=i,[ft,mt]=c.folders?["",i.cwd]:[i.repo,""],Y=dt||(V?s.chain[0]:""),ke=Object.fromEntries(Object.entries({repo:ft,cwd:mt,model:Y&&V?ht(Y,V):Y,access:we==="auto"?"":we,runner:pt}).filter(([,k])=>k));ae(!0);try{let k=o==="flow"?await b.flows.run(n,{...ke,agent:D,args:yt(Q)}):await b.tasks.create({...ke,agent:D,prompt:e});localStorage.removeItem(j),Be(k.task.id,"queued",e),d.push("/dash/[org]/tasks/[id]",{params:{org:m,id:k.task.id}})}catch(k){ae(!1),k.status===409?et($(k)):H(k)}},p=(()=>{let e=/^\/(\S*)$/.exec(O)?.[1]?.toLowerCase();if(e!==void 0)return{label:"Commands",entries:[...c.flows.map(n=>({key:`flow ${n}`,label:`/flow ${n}`,hint:`Run the ${n} flow`,pick:()=>ge(`/flow ${n} `)}))].filter(n=>n.key.includes(e)),note:"No command matches."};let o=/^\/flow\s+(\S*)$/.exec(O)?.[1];if(o!==void 0)return{label:"Flows",entries:c.flows.filter(n=>n.includes(o)).map(n=>({key:n,label:n,hint:`Run the ${n} flow`,pick:()=>n===o?void G():ge(`/flow ${n} `)})),note:"No flow matches."}})(),T=!!(p&&!tt),P=p?Math.min(ot,Math.max(0,p.entries.length-1)):0;ye(()=>{let e=de.current;if(!e)return;if(!T)return void(e.matches(":popover-open")&&e.hidePopover());let o=()=>{let n=ue.current.getBoundingClientRect();e.style.top=`${Math.round(n.bottom+6)}px`,e.style.left=`${Math.round(n.left)}px`,e.style.width=`${Math.round(Math.min(n.width,460))}px`};return o(),e.matches(":popover-open")||e.showPopover(),addEventListener("scroll",o,!0),addEventListener("resize",o),()=>{removeEventListener("scroll",o,!0),removeEventListener("resize",o)}},[T,O]);let ct=s.chain[0]??"",he=c.agents.some(([e])=>e===i.agent)?c.agents:[...c.agents,[i.agent,i.agent]],ut=[[i.model||oe(ct,s.builtin),!!i.model],[i.effort,!!i.effort],[i.access,i.access!=="auto"]].filter(([e])=>e),be=[i.agent!==c.defaultAgent&&i.agent,i.runner&&(c.runners.find(([e])=>e===i.runner)?.[1]??i.runner)].filter(Boolean).join(" \xB7 ");return t(y,{children:[t("form",{ref:ue,class:"composer",onSubmit:e=>{e.preventDefault(),G()},children:[t("textarea",{ref:h,name:"prompt",rows:1,role:"combobox","aria-label":"What should the agent do?","aria-autocomplete":"list","aria-expanded":T,"aria-controls":`${C}-slash`,"aria-activedescendant":T&&p?.entries.length?`${C}-slash-${P}`:void 0,placeholder:ne,autofocus:!0,onFocus:()=>v(!1),onBlur:()=>v(!0),onInput:e=>{let o=e.currentTarget.value;localStorage.setItem(j,o),q(o),N(o),A(0),v(!1)},onKeyDown:e=>{if(!e.isComposing){if(T&&p){if(Mt(e,P,p.entries.length,A))return;if(e.key==="Escape")return e.preventDefault(),v(!0);if(p.entries.length&&(e.key==="Enter"&&!e.shiftKey||e.key==="Tab"))return e.preventDefault(),p.entries[P].pick()}e.key!=="Enter"||e.shiftKey||(e.preventDefault(),G())}}}),t("div",{class:"composer-line",children:[c.folders?M?t(y,{children:[t("input",{class:"folder-path","aria-label":M==="url"?"Repository URL":"Folder path",ref:pe,placeholder:M==="url"?"https://github.com/owner/repo":"Absolute path or ~/\u2026",readOnly:L,"aria-busy":L,onKeyDown:e=>{if(L)return e.preventDefault();if(e.key==="Escape")return e.preventDefault(),S("");e.key!=="Enter"||e.isComposing||(e.preventDefault(),(M==="url"?lt:it)(e.currentTarget.value))},onBlur:e=>!L&&!e.currentTarget.value.trim()&&S("")}),L?t("span",{class:"folder-busy",children:"Cloning\u2026"}):null]}):t("span",{class:"folder",title:i.cwd||c.folders.current.path,children:t(te,{label:"Folder",value:i.cwd,options:Ze(c.folders,z,i.cwd),subs:Object.fromEntries(Ze(c.folders,z,i.cwd).flatMap(([e])=>e&&e!==re&&e!==se&&e!==ie?[[e,z.find(o=>o.path===e)?.url??e]]:[])),onChange:e=>J("cwd",e)})}):t(te,{label:"Repository",value:i.repo,options:[...wt("No repository",i.repo,c.repos??[]),[Ye,me?"Refreshing repositories\u2026":"Refresh repositories"],[Ve,u]],onChange:e=>J("repo",e),onFocus:rt}),t("button",{type:"button",class:"quiet",popovertarget:`${C}-settings`,"aria-label":"Run options",title:"Model, effort, access and more",children:[t(F,{d:Oe}),t("span",{class:"run-picks",children:ut.map(([e,o],n)=>t("span",{class:o?void 0:"dim",children:n?` \xB7 ${e}`:e},n))}),be?t("span",{children:be}):null]}),t(_,{type:"submit",size:"sm",class:"send",leftIcon:Le,disabled:!O.trim()||c.agentsOff,loading:U,"aria-label":U?"Starting task":"Start task",title:"Start task (Enter)"})]}),c.agentsOff?t("small",{class:"folder-hint",children:"Every agent here is disabled. Enable one in its settings to start tasks."}):null,M==="url"?t("small",{class:"folder-hint",children:"Uses this machine's git logins"}):null,t(I,{id:`${C}-settings`,class:"composer-settings",popover:"auto",onBeforeToggle:kt,children:[t(E,{children:"Model"}),t(Ke,{groups:c.models,first:{label:`Default: ${s.chain.map(e=>oe(e,s.builtin)).join(", then ")}`,efforts:!0},model:i.model,effort:i.effort,onPick:(e,o)=>{x({model:e,effort:o}),document.getElementById(`${C}-settings`)?.hidePopover()}}),t(E,{children:"Access"}),t("div",{role:"group","aria-label":"Access",children:je.map(([e,o])=>t(ee,{on:i.access===e,onPick:()=>x({access:e}),children:o},e))}),he.length>1?t(y,{children:[t(E,{children:"Agent"}),t(_e,{label:"Agent",options:he,value:i.agent,onPick:e=>x({agent:e})})]}):null,c.runners.length>1?t(y,{children:[t(E,{children:"Runs on"}),t(_e,{label:"Runs on",options:c.runners,value:i.runner,onPick:e=>x({runner:e})})]}):null]}),t(I,{panelRef:de,id:`${C}-slash`,class:"composer-slash",popover:"manual",role:"listbox","aria-label":p?.label??"Commands",children:p?t(y,{children:[t(E,{children:p.label}),t(vt,{id:`${C}-slash`,entries:p.entries,active:P,onActive:A}),p.note==="loading"?t(xe,{label:"Loading pull requests",inline:!0}):p.note&&!p.entries.length?t(Ne,{children:p.note}):null]}):null})]}),le===void 0||l?null:t(Ct,{reason:le})]})}function Rt(){return t("div",{class:"composer","aria-hidden":"true",children:[t("textarea",{rows:1,disabled:!0,tabIndex:-1,placeholder:ne}),t("div",{class:"composer-line"})]})}function Yt({agent:a}){let r=w(null),[s,l]=f(),[u,d]=f(""),[m,i]=f(!1),K=w(),c=()=>{i(!0),r.current?.showModal(),K.current??=Xe(b).then(l,g=>d($(g)))},R=Me().has("new");return B(()=>{if(!R)return;let g=new URL(location.href);g.searchParams.delete("new"),history.replaceState(history.state,"",g),c()},[R]),t(y,{children:[t(_,{class:"new-task",leftIcon:Re,onClick:c,children:"New task"}),t("dialog",{ref:r,class:"compose-dialog","aria-label":a?`New task for ${a}`:"New task",onClose:()=>i(!1),onClick:g=>g.target===g.currentTarget&&r.current?.close(),children:[t("header",{children:[t("h2",{children:"New task"}),a?t("span",{class:"sub",children:a}):null,t(Se,{icon:Ee,label:"Close",onClick:()=>r.current?.close()})]}),m?s?t(Et,{...s,initial:{...Je(document.cookie),...a?{agent:a}:{}}}):u?t("p",{class:"flash err",role:"alert",children:u}):t(Rt,{}):null]})]})}export{ht as a,Ct as b,Yt as c};
@@ -0,0 +1 @@
1
+ "use client";import{a,b,c}from"./composer-8d12a215b107c9b3.js";import"./composer-data-b05f3d93fdc472d7.js";import"./task-3b17e45e271a6480.js";import"./connect-repositories-3a317a5db3ea50b1.js";import"./shared-init-5734a91cdb78a173.js";import"./shared-init-5734a91cdb78a173.js";import"./model-options-5e07b3318d69d218.js";import"./types-3eca2c7f47c46054.js";import"./shared-init-e8cf924a73e46497.js";import"./shared-init-e8cf924a73e46497.js";import"./back-57d4a59bf80377e6.js";import"./shared-init-4f4cac48ca0ef193.js";import"./shared-init-4f4cac48ca0ef193.js";import"./shared-init-4f4cac48ca0ef193.js";import"./wular-pnext-9b28886f3cbe0ed3-0.js";import"./shared-init-4f4cac48ca0ef193.js";import"./shared-init-9b28886f3cbe0ed3-2.js";import"./shared-init-9b28886f3cbe0ed3-2.js";import"./shared-init-9b28886f3cbe0ed3-2.js";export{b as NeedsCredential,c as NewTaskButton,a as withEffort};
@@ -1 +1 @@
1
- import{$3a as r}from"./shared-init-7a7f1e623f0f5861.js";import{$4Q as o,$4S as i,$4x as e}from"./shared-init-7a7f1e623f0f5861.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};
1
+ import{$0a as r}from"./shared-init-4f4cac48ca0ef193.js";import{$3Q as o,$3S as i,$3x as e}from"./shared-init-4f4cac48ca0ef193.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};
@@ -1 +1 @@
1
- import{$0c as i}from"./shared-init-7a7f1e623f0f5861.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{$1c as i}from"./shared-init-4f4cac48ca0ef193.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 +1 @@
1
- "use client";import{a as K}from"./agent-pills-f07bea43753a9342.js";import{a as on}from"./platform-step-adfc87c1fa86e7e1.js";import{d as pn}from"./model-options-5e07b3318d69d218.js";import{b as Fn,c as $n}from"./list-84356c9286747b10.js";import"./platform-actions-267a43c805e3c3a6.js";import"./copy-38fa78628f39ec10.js";import"./confirm-6e26ab941d655b9f.js";import{a as Mn}from"./segmented-15503e745dd97f56.js";import"./outcome-dialog-c4d61a288688f53a.js";import{a as E}from"./field-444bab2e16b91c26.js";import{$1a as Bn,$1b as X}from"./shared-init-a69029db2d72fb52.js";import{$0h as Pn}from"./shared-init-a69029db2d72fb52.js";import"./shared-init-7a7f1e623f0f5861.js";import{$2D as tn,$2c as G,$2k as _,$2v as Rn,$2z as An}from"./shared-init-7a7f1e623f0f5861.js";import{$0c as N,$0f as vn,$0k as H,$0o as Cn,$0q as Sn,$0r as In}from"./shared-init-7a7f1e623f0f5861.js";import"./wular-pnext-3fcac605fffcc273-0.js";import{$3a as Z}from"./shared-init-7a7f1e623f0f5861.js";import{$4A as bn,$4B as J,$4Q as n,$4R as j,$4S as F,$4U as wn,$4c as gn,$4g as hn,$4m as yn,$4o as kn}from"./shared-init-7a7f1e623f0f5861.js";import"./shared-init-3fcac605fffcc273-2.js";import"./shared-init-3fcac605fffcc273-2.js";import{$2c as S,$2h as A,$2j as fn,$2l as Y}from"./shared-init-3fcac605fffcc273-2.js";var Dn=e=>(e.match(/"[^"]*"|'[^']*'|(?:\{[^}]+\}|[^\s])+/g)??[]).map(a=>a.replace(/^(["'])(.*)\1$/,"$2")),un=e=>/^https?:\/\//.test(e.trim()),En=e=>e.url??[e.command,...(e.args??[]).map(a=>a.replace(/\{((?:runtime|package):[^}]+)\}/g,(i,c)=>`{${e.argumentInputs?.find(r=>r.name===c)?.label??c}}`))].join(" ").trim(),Nn=e=>e.split("/")[0].split(".").reverse().join("."),Un=e=>[...e?.headers??[],...e?.env??[]].filter(a=>a.secret),Ln=e=>e.map(a=>a.name).join(", "),jn=[["workspace","Workspace"],["personal","Personal"]];function sn(e){let a=new URL(e,location.origin);return a.origin===location.origin&&a.pathname.startsWith("/connect/")&&a.searchParams.set("return",location.pathname),a.href}function an(e){let a=X({leaves:!0}),i=(r,m)=>void a.run("add",async()=>{let{authorize:u,...l}=await N.connections.add(r).catch(g=>{throw m?.(g),g});if(u)return location.assign(sn(u));e(l)}),c=r=>void a.run("add",async()=>location.assign(sn((await N.connections.authorize(r)).url)));return{busy:!!a.pending,add:i,signIn:c}}function mn({kind:e,list:a}){return n(S,{children:a.map(i=>n(E,{label:n("span",{class:"mono",children:i.label??i.name}),hint:i.description??(i.required?"required":"optional"),children:n("input",{name:`${e}:${i.name}`,placeholder:i.placeholder,defaultValue:e==="arg"?i.placeholder:void 0,autocomplete:"off",required:i.required})},i.name))})}function xn({platforms:e,onPick:a}){let[i,c]=A(""),[r,m]=A(),u=Y(),l=i.trim(),g=un(l)||/\s/.test(l),I=s=>{m(h=>h?.q===s?h:{q:s}),N.mcp.search(s).then(h=>m(v=>v?.q===s?{q:s,items:h}:v)).catch(h=>m(v=>v?.q===s?{q:s,error:Pn(h)}:v))},f=s=>{if(c(s),clearTimeout(u.current),!s.trim()||un(s)||/\s/.test(s.trim()))return m(void 0);m({q:s.trim()}),u.current=setTimeout(()=>I(s.trim()),250)},w=e.filter(s=>s.name.toLowerCase().includes(l.toLowerCase()));return n("div",{class:"conn-find",children:[n(Rn,{value:i,label:"Search platforms and MCP servers, or paste an MCP server URL",onInput:f,autofocus:!0}),n("div",{class:"conn-hits",role:"listbox","aria-label":"Services","aria-busy":!!(r&&!r.items),children:[g?n(_,{icon:J,title:"Use as an MCP server",sub:n("span",{class:"mono",children:l}),onClick:()=>a({kind:"mcp",target:l})}):null,g?null:w.map(s=>n(_,{icon:n(K,{brand:s.brand}),title:s.name,end:n("small",{class:"dim",children:"platform"}),onClick:()=>a({kind:"platform",info:s})},s.id)),g?null:r?.error?n("p",{class:"registry-note err",role:"alert",children:r.error}):r?r.items?r.items.length?n(S,{children:r.items.map(s=>n(_,{title:n(S,{children:[s.title,s.verified?n(H,{tone:"ok",children:["by ",Nn(s.name)]}):null]}),sub:s.description||s.name,end:n("small",{class:"dim",children:"MCP"}),onClick:()=>a({kind:"mcp",server:s})},s.name))}):l&&!w.length?n("p",{class:"registry-note",children:"Nothing matches. Paste the server's URL or command."}):null:n("p",{class:"registry-note",children:n(In,{label:"Searching MCP servers",inline:!0,dots:!0})}):null]})]})}function Hn({info:e,rows:a,scope:i,operator:c,builtin:r,onAdded:m}){let u=tn(),{busy:l,add:g,signIn:I}=an(m),f=a.find(h=>h.provider===e.id&&h.asker),w=r?.steps[e.id],s=w?n("div",{class:"conn-step",children:n(on,{step:w,info:e,org:u,agent:r.id,builtin:!0,operator:c})}):null;return i==="workspace"?{busy:l,status:null,hint:"The agent's app. Every turn.",notice:s?null:n("p",{class:"muted",children:["No agent here uses ",e.name,"."]}),submit:()=>{},actions:s}:{busy:l,status:e.connectable?f?n(H,{tone:f.status==="needs-auth"?"warn":"ok",children:f.status==="needs-auth"?"needs sign-in":f.account??"connected"}):n(H,{children:"not connected"}):null,hint:"The member\u2019s own account. Their turns only.",notice:null,submit:()=>{if(e.connectable){if(f)return I(f.id);g({name:e.name,provider:e.id})}},actions:e.connectable?n(F,{type:"submit",loading:l,children:[n(K,{brand:e.brand}),f?"Sign in again":`Sign in to ${e.name}`]}):s}}function _n({server:e,target:a,name:i,scope:c,onAdded:r}){let m=G(),[u,l]=A(i??e?.title??m.get("add")??""),[g,I]=A(e?En(e):a??""),[f,w]=A(!1),[s,h]=A(m.get("access")??"auto"),{busy:v,add:B}=an(r),P=Y(null),k=!g.trim()||un(g),$=Un(e),rn=!k||f||$.length>0,U=k?s:"auto",T=$.find(d=>d.required)??$[0],W=$.filter(d=>d!==T),L=W.some(d=>d.required),V=[...e?.argumentInputs??[],...e?.env??[],...e?.headers??[]].some(d=>!d.secret),nn=d=>{let x=[...new FormData(d)].map(([y,R])=>[y,String(R).trim()]),q=y=>x.find(([R])=>R===y)?.[1]??"",Q=y=>Object.fromEntries(x.filter(([R,D])=>R.startsWith(y)&&D).map(([R,D])=>[R.slice(y.length),D])),z=g.trim();if(!u.trim()||!z||L)return;let cn=e?.command?En(e):void 0,ln=e&&z===cn?[e.command,...e.args??[]]:Dn(z),[dn,...t]=ln.map(y=>y.replace(/\{([^}]+)\}/g,(R,D)=>{let M=e?.argumentInputs?.find(en=>en.name===D||en.label===D);return M?q(`arg:${M.name}`):R})),p=Q("env:"),o=Q("header:"),C=k?{url:z,...e?.url===z?{type:e.type}:{},...Object.keys(o).length?{headers:o}:{}}:{command:dn,...t.length?{args:t}:{},...Object.keys(p).length?{env:p}:{}};e?.description&&(C.description=e.description);let b=q("key");B({name:u.trim(),provider:"mcp",...c==="personal"?{scope:"personal"}:{},...U==="auto"?{}:{access:U},endpoint:C,...b?{auth:"key",key:b,keyIn:k?{header:q("header")}:{env:q("env")}}:k?{}:{auth:"none"}},y=>{y.needs==="key"&&(w(!0),requestAnimationFrame(()=>P.current?.querySelector("input[name=key]")?.focus()))})},O=n("div",{ref:P,class:"add-form",children:[e?.description?n("p",{class:"muted",children:e.description}):null,n("div",{class:"add-grid",children:[n(E,{label:"Name",children:n("input",{name:"name",value:u,onInput:d=>l(d.currentTarget.value),placeholder:"Acme docs",autocomplete:"off",required:!0})}),n(E,{label:"URL or command",children:n("input",{name:"target",class:"mono",value:g,onInput:d=>I(d.currentTarget.value),placeholder:"https://mcp.acme.dev/mcp",autocomplete:"off",spellcheck:!1,required:!0})})]}),V?n("div",{class:"add-grid",children:[n(mn,{kind:"arg",list:e?.argumentInputs??[]}),n(mn,{kind:"env",list:(e?.env??[]).filter(d=>!d.secret)}),n(mn,{kind:"header",list:(e?.headers??[]).filter(d=>!d.secret)})]}):null,W.length?n("p",{class:"muted",role:"note",children:L?`This server needs ${Ln($.filter(d=>d.required))}, and a connection holds one key. Add it in the server's own config instead.`:`A connection holds one key, sent as ${T.name}. Add ${Ln(W)} in the server's own config when needed.`}):null,rn?n("div",{class:"add-grid",children:[n(E,{label:"API key",hint:k?void 0:"optional",children:n("input",{name:"key",type:"password",placeholder:"acme_live_4f9a\u2026",autocomplete:"off",required:!!k},e?.name)}),k?n(E,{label:"Header",children:n("input",{name:"header",class:"mono",defaultValue:T?.name??"Authorization",placeholder:"Authorization",autocomplete:"off",required:!0},`header:${T?.name}`)}):n(E,{label:"Environment variable",children:n("input",{name:"env",class:"mono",defaultValue:T?.name,placeholder:"ACME_API_KEY",autocomplete:"off"},`env:${T?.name}`)})]}):null,n("details",{class:"add-more",children:[n("summary",{children:"More options"}),n("div",{class:"add-grid",children:n(E,{label:"Access",hint:"read-only keeps only its read-only tools",group:!0,children:n(An,{label:"Access",options:k?pn:pn.filter(([d])=>d==="auto"),value:U,onChange:h})})})]})]});return{busy:v,body:O,submit:nn,actions:n(F,{type:"submit",disabled:L,loading:v,children:"Add connection"})}}function Kn({pick:e,rows:a,local:i,admin:c,operator:r,builtin:m,scope:u,onBack:l,onAdded:g,onClose:I}){let f=e.kind==="platform",[w,s]=A(i?"workspace":u??(f||!c?"personal":"workspace")),h=f?Hn({info:e.info,rows:a,scope:w,operator:r,builtin:m,onAdded:g}):void 0,v=f?void 0:_n({...e,scope:w,onAdded:g}),B=h??v,P=f?e.info.name:e.server?.title??"MCP server";return n(Z,{class:"add-modal",title:n("span",{class:"conn-title",children:[l?n(wn,{label:"Back",onClick:l,children:n(j,{d:hn})}):null,f?n(K,{brand:e.info.brand}):null,P]}),dismiss:!0,busy:B.busy,onSubmit:k=>{k.preventDefault(),B.submit(k.currentTarget)},onClose:I,actions:B.actions,children:[i?null:n("div",{class:"conn-scope",children:[n(E,{label:"Acts as",group:!0,children:f||c?n(Mn,{label:"Acts as",options:jn,value:w,onChange:k=>s(k)}):n("p",{class:"muted",children:"Personal. Admins add workspace servers."})}),h?n("p",{class:"conn-state",children:[h.status,n("span",{class:"muted",children:h.hint})]}):n("p",{class:"muted",children:w==="workspace"?"An admin\u2019s account. Every turn.":"The member\u2019s own account. Their turns only."})]}),h?.notice??null,v?.body??null]})}function On({catalog:e,rows:a,local:i,admin:c,operator:r,builtin:m,start:u,onAdded:l,onClose:g}){let I=G(),f=I.get("add"),w=e.find(P=>P.id===f),[s,h]=A(u?.pick??(w?{kind:"platform",info:w}:I.has("url")?{kind:"mcp",target:I.get("url")??"",name:f??void 0}:void 0)),v=u?.scope??I.get("scope")??void 0,B=e.filter(P=>P.personal||a.some(k=>k.agent&&k.provider===P.id));return s?n(Kn,{pick:s,rows:a,local:i,admin:c,operator:r,builtin:m,scope:v,onBack:u?void 0:()=>h(void 0),onAdded:l,onClose:g},s.kind==="platform"?s.info.id:s.server?.name??s.target):n(Z,{class:"add-modal",title:"Add a connection",dismiss:!0,onClose:g,children:n(xn,{platforms:B,onPick:h})})}var Wn=e=>e.url?URL.canParse(e.url)?new URL(e.url).host:e.url:e.command;function Vn(e,a){let i=new Map;for(let c of a.filter(r=>r.personal))i.set(c.id,{key:c.id,name:c.name,info:c,rows:[]});for(let c of e){let r=a.find(l=>l.id===c.provider),m=r?r.id:`mcp:${c.name.replace(/-user$/,"")}`,u=i.get(m)??{key:m,name:r?.name??c.name.replace(/-user$/,""),info:r,where:r?void 0:Wn(c),rows:[]};u.rows.push(c),i.set(m,u)}return[...i.values()]}function qn({row:e,label:a,onReconnect:i,busy:c}){let r=e.status==="needs-auth";return n(S,{children:[n("i",{class:r?"conn-dot warn":e.status==="disabled"?"conn-dot off":"conn-dot"}),n("span",{class:"conn-name",children:r?"needs sign-in":a??e.account??e.name}),e.access==="read-only"?n("span",{class:"dim",title:"Read-only",children:n(j,{d:yn})}):null,r&&i?n(F,{variant:"ghost",size:"sm",loading:c,onClick:i,children:"Reconnect"}):null]})}function zn({row:e,onReconnect:a,onRemoved:i}){let c=Fn({title:`Remove ${e.name}?`,body:"Tasks stop using it, and its key or sign-in is deleted.",link:e.name,onRemove:()=>N.connections.remove(e.id).then(i,Bn)});return n(S,{children:[n(vn,{button:"icon",label:`${e.name} actions`,summary:n(j,{d:bn}),children:[n(_,{title:e.auth==="key"?"New key":"Sign in again",onClick:a}),c.item]}),c.dialog]})}function De({first:e,catalog:a,local:i,admin:c,operator:r,viewer:m,agents:u,builtins:l}){let[g,I]=A(e.filter(t=>t.provider!=="env")),f=G(),w=f.get("reconnect"),s=f.get("connect"),[h,v]=A(g.find(t=>t.name===w&&t.auth==="key")),B=$n("Add connection",["url","access","tools","scope"]),[P,k]=A(),$=X({leaves:!0}),rn=tn(),U=t=>I(p=>p.some(o=>o.id===t.id)?p.map(o=>o.id===t.id?t:o):[...p,t]),T=t=>I(p=>p.filter(o=>o.id!==t.id)),{add:W}=an(U),L=t=>{if(t.auth==="key")return v(t);$.run(t.id,async()=>location.assign(sn((await N.connections.authorize(t.id)).url)))},V=Vn(g,a),nn=()=>{k(void 0),B.close()},O=l[0],[d,x]=A(),q=({step:t,info:p,agent:o=O.id,quiet:C})=>n(on,{step:t,info:p,org:rn,agent:o,builtin:!0,operator:r,unreachable:a.some(b=>b.unreachable),quiet:C}),Q=({accounts:t,title:p})=>n(S,{children:[n("i",{class:"conn-dot"}),n("span",{class:"conn-name",title:p,children:[...new Set(t.filter(Boolean))].join(", ")||"installed"}),n("span",{class:"grow"})]}),z=({info:t})=>{let p=l.flatMap(o=>(o.steps[t.id]?.live??[]).map(C=>({agent:o.name,account:C.account})));return p.length?n(S,{children:[n(Q,{accounts:p.map(o=>o.account),title:p.map(o=>`${o.agent} in ${o.account??t.name}`).join(", ")}),n(F,{size:"sm",variant:"ghost",onClick:()=>x(t),children:"Manage"})]}):n(S,{children:[n(H,{children:"not set up"}),n(F,{size:"sm",onClick:()=>x(t),children:["Set up ",t.name]})]})},cn=t=>{let p=t.rows.filter(b=>b.agent),o=t.rows.find(b=>!b.owner&&!b.agent);if(t.info?.builtinApp==="own"&&l.some(b=>b.steps[t.info.id]))return n("div",{class:"conn-cell",children:n(z,{info:t.info})});if(t.info){let b=t.info,y=O?.steps[b.id],R=[...new Set(p.map(M=>M.agent))].filter(M=>M!==O?.id),D=M=>u.find(en=>en.id===M)?.name??M;return n("div",{class:"conn-cell",children:[y?.live.length?n(Q,{accounts:y.live.map(M=>M.account)}):null,R.length?n("span",{class:"conn-others",title:`Their own ${b.name} apps: ${R.map(D).join(", ")}`,children:[n(j,{d:gn}),R.length]}):null,y?n(q,{step:y,info:b,quiet:!0}):null,y||R.length?null:n("span",{class:"dim",children:"\u2014"})]})}if(o)return n("div",{class:"conn-cell",children:[n(qn,{row:o,label:o.name,busy:$.pending===o.id,onReconnect:c?()=>L(o):void 0}),n("span",{class:"grow"}),c?n(zn,{row:o,onReconnect:()=>L(o),onRemoved:()=>T(o)}):null]});let C=t.rows[0];return c&&C?n(F,{variant:"ghost",size:"sm",leftIcon:J,onClick:()=>k({pick:{kind:"mcp",target:C.url??C.command,name:t.name},scope:"workspace"}),children:"Connect"}):n("span",{class:"dim",children:"\u2014"})},ln=t=>{let p=t.rows.find(y=>y.asker),o=t.rows.filter(y=>y.owner&&!y.asker),C=t.rows[0],b=o.length?n("span",{class:"conn-others",title:o.map(y=>y.owner?.name??"A member").join(", "),children:[n(j,{d:kn}),o.length]}):null;return n("div",{class:"conn-cell",children:p?n(S,{children:[n(qn,{row:p,busy:$.pending===p.id,onReconnect:()=>L(p)}),n("span",{class:"grow"}),b,n(zn,{row:p,onReconnect:()=>L(p),onRemoved:()=>T(p)})]}):t.info&&!t.info.connectable?n(S,{children:[n("span",{class:"dim grow",children:"\u2014"}),b]}):n(S,{children:[n(F,{variant:"ghost",size:"sm",leftIcon:J,autoFocus:t.key===s,onClick:()=>t.info?W({name:t.info.name,provider:t.info.id}):k({pick:{kind:"mcp",target:C?.url??C?.command,name:t.name},scope:"personal"}),children:"Connect"}),n("span",{class:"grow"}),b]})})},dn=[["Platforms",V.filter(t=>t.info)],["MCP servers",V.filter(t=>!t.info)]].filter(([,t])=>t.length);return n(S,{children:[n(Cn,{look:"filled",title:"Connections",actions:B.button,children:[V.length?n(S,{children:[n("div",{class:"table-scroll",children:n("table",{class:"conns",children:[n("colgroup",{children:[n("col",{class:"conns-svc"}),n("col",{}),i?null:n("col",{})]}),n("thead",{children:n("tr",{children:[n("th",{children:"Service"}),n("th",{children:"Workspace"}),i?null:n("th",{children:m?`Personal \xB7 ${m}`:"Personal"})]})}),dn.map(([t,p])=>n("tbody",{children:[n("tr",{class:"conns-group",children:n("th",{colSpan:i?2:3,children:t})}),p.map(o=>n("tr",{class:o.key===s?"conns-marked":void 0,children:[n("td",{children:n("span",{class:"conn-svc",title:o.where,children:[o.info?n(K,{brand:o.info.brand}):n("span",{class:"conn-mark",children:o.name[0]}),n("b",{children:o.name})]})}),o.info&&!o.info.connectable&&!o.rows.length&&!l.some(C=>C.steps[o.info.id]?.live.length)?n("td",{colSpan:i?1:2,children:n("div",{class:"conn-cell",children:o.info.builtinApp==="own"&&l.some(C=>C.steps[o.info.id])?n(z,{info:o.info}):O?.steps[o.info.id]?n(q,{step:O.steps[o.info.id],info:o.info}):n("span",{class:"dim",children:"\u2014"})})}):n(S,{children:[n("td",{children:cn(o)}),i?null:n("td",{children:ln(o)})]})]},o.key))]},t))]})}),i?null:n("p",{class:"conns-hint",children:"Personal accounts run only on their owner's turns."})]}):n(Sn,{title:"No connections yet",children:"Add one so tasks can use another service, like an issue tracker or a database."}),h?n(Qn,{row:h,onSaved:t=>{U(t),v(void 0)},onClose:()=>v(void 0)}):null]}),d?n(Z,{title:`${d.name} apps`,dismiss:!0,onClose:()=>x(void 0),children:[n("p",{class:"muted",children:["Each agent has its own ",d.name," app, so each answers as its own @name in"," ",d.name,". Set one up for every built-in agent that should work there."]}),n("div",{class:"agent-apps",children:l.filter(t=>t.steps[d.id]).map(t=>n("div",{class:"agent-app",children:[n("b",{children:t.name}),n(q,{step:t.steps[d.id],info:d,agent:t.id})]},t.id))}),n("p",{class:"muted",children:"Other agents set theirs up on their own Platforms tab."})]}):null,B.open||P?n(On,{catalog:a,rows:g,local:i,admin:c,operator:r,builtin:O,start:P,onAdded:t=>{U(t),nn()},onClose:nn}):null]})}function Qn({row:e,onSaved:a,onClose:i}){let c=X({leaves:!0}),r=!!c.pending,m=Y(null);return fn(()=>m.current?.focus(),[]),n("form",{class:"add-row conn-key",method:"post",onSubmit:u=>{u.preventDefault();let l=String(new FormData(u.currentTarget).get("key")??"").trim();l&&c.run("save",async()=>a(await N.connections.update(e.id,{key:l})))},children:[n("input",{name:"key",type:"password","aria-label":`New key for ${e.name}`,placeholder:`New key for ${e.name}, then Enter`,ref:m,autocomplete:"off",required:!0}),n(F,{type:"submit",loading:r,children:"Save key"}),n(F,{variant:"ghost",disabled:r,onClick:i,children:"Cancel"})]})}export{De as ConnectionsList};
1
+ "use client";import{a as on}from"./platform-step-c7473e57e0b2f824.js";import{a as K}from"./agent-pills-1414a96077ec37de.js";import{d as pn}from"./model-options-5e07b3318d69d218.js";import{b as Fn,c as $n}from"./list-c0633e5e742dff16.js";import"./platform-actions-055a2e246fca7af9.js";import"./copy-eeb076af6e19e501.js";import{a as Mn}from"./segmented-a994b4c20434c0ad.js";import"./confirm-c0c0642856e64b11.js";import"./outcome-dialog-36842dfe50be1c85.js";import{a as E}from"./field-7c895f6d8d5d9eb3.js";import{$1a as Bn,$1b as X}from"./shared-init-e8cf924a73e46497.js";import{$0h as Pn}from"./shared-init-e8cf924a73e46497.js";import"./shared-init-4f4cac48ca0ef193.js";import{$4D as tn,$4c as G,$4k as _,$4v as Rn,$4z as An}from"./shared-init-4f4cac48ca0ef193.js";import{$1c as N,$1f as vn,$1k as H,$1o as Cn,$1q as Sn,$1r as In}from"./shared-init-4f4cac48ca0ef193.js";import"./wular-pnext-9b28886f3cbe0ed3-0.js";import{$0a as Z}from"./shared-init-4f4cac48ca0ef193.js";import{$3A as bn,$3B as J,$3Q as n,$3R as j,$3S as F,$3U as wn,$3c as gn,$3g as hn,$3m as yn,$3o as kn}from"./shared-init-4f4cac48ca0ef193.js";import"./shared-init-9b28886f3cbe0ed3-2.js";import"./shared-init-9b28886f3cbe0ed3-2.js";import{$3c as S,$3h as A,$3j as fn,$3l as Y}from"./shared-init-9b28886f3cbe0ed3-2.js";var Dn=e=>(e.match(/"[^"]*"|'[^']*'|(?:\{[^}]+\}|[^\s])+/g)??[]).map(a=>a.replace(/^(["'])(.*)\1$/,"$2")),un=e=>/^https?:\/\//.test(e.trim()),En=e=>e.url??[e.command,...(e.args??[]).map(a=>a.replace(/\{((?:runtime|package):[^}]+)\}/g,(i,c)=>`{${e.argumentInputs?.find(r=>r.name===c)?.label??c}}`))].join(" ").trim(),Nn=e=>e.split("/")[0].split(".").reverse().join("."),Un=e=>[...e?.headers??[],...e?.env??[]].filter(a=>a.secret),Ln=e=>e.map(a=>a.name).join(", "),jn=[["workspace","Workspace"],["personal","Personal"]];function sn(e){let a=new URL(e,location.origin);return a.origin===location.origin&&a.pathname.startsWith("/connect/")&&a.searchParams.set("return",location.pathname),a.href}function an(e){let a=X({leaves:!0}),i=(r,m)=>void a.run("add",async()=>{let{authorize:u,...l}=await N.connections.add(r).catch(g=>{throw m?.(g),g});if(u)return location.assign(sn(u));e(l)}),c=r=>void a.run("add",async()=>location.assign(sn((await N.connections.authorize(r)).url)));return{busy:!!a.pending,add:i,signIn:c}}function mn({kind:e,list:a}){return n(S,{children:a.map(i=>n(E,{label:n("span",{class:"mono",children:i.label??i.name}),hint:i.description??(i.required?"required":"optional"),children:n("input",{name:`${e}:${i.name}`,placeholder:i.placeholder,defaultValue:e==="arg"?i.placeholder:void 0,autocomplete:"off",required:i.required})},i.name))})}function xn({platforms:e,onPick:a}){let[i,c]=A(""),[r,m]=A(),u=Y(),l=i.trim(),g=un(l)||/\s/.test(l),I=s=>{m(h=>h?.q===s?h:{q:s}),N.mcp.search(s).then(h=>m(v=>v?.q===s?{q:s,items:h}:v)).catch(h=>m(v=>v?.q===s?{q:s,error:Pn(h)}:v))},f=s=>{if(c(s),clearTimeout(u.current),!s.trim()||un(s)||/\s/.test(s.trim()))return m(void 0);m({q:s.trim()}),u.current=setTimeout(()=>I(s.trim()),250)},w=e.filter(s=>s.name.toLowerCase().includes(l.toLowerCase()));return n("div",{class:"conn-find",children:[n(Rn,{value:i,label:"Search platforms and MCP servers, or paste an MCP server URL",onInput:f,autofocus:!0}),n("div",{class:"conn-hits",role:"listbox","aria-label":"Services","aria-busy":!!(r&&!r.items),children:[g?n(_,{icon:J,title:"Use as an MCP server",sub:n("span",{class:"mono",children:l}),onClick:()=>a({kind:"mcp",target:l})}):null,g?null:w.map(s=>n(_,{icon:n(K,{brand:s.brand}),title:s.name,end:n("small",{class:"dim",children:"platform"}),onClick:()=>a({kind:"platform",info:s})},s.id)),g?null:r?.error?n("p",{class:"registry-note err",role:"alert",children:r.error}):r?r.items?r.items.length?n(S,{children:r.items.map(s=>n(_,{title:n(S,{children:[s.title,s.verified?n(H,{tone:"ok",children:["by ",Nn(s.name)]}):null]}),sub:s.description||s.name,end:n("small",{class:"dim",children:"MCP"}),onClick:()=>a({kind:"mcp",server:s})},s.name))}):l&&!w.length?n("p",{class:"registry-note",children:"Nothing matches. Paste the server's URL or command."}):null:n("p",{class:"registry-note",children:n(In,{label:"Searching MCP servers",inline:!0,dots:!0})}):null]})]})}function Hn({info:e,rows:a,scope:i,operator:c,builtin:r,onAdded:m}){let u=tn(),{busy:l,add:g,signIn:I}=an(m),f=a.find(h=>h.provider===e.id&&h.asker),w=r?.steps[e.id],s=w?n("div",{class:"conn-step",children:n(on,{step:w,info:e,org:u,agent:r.id,builtin:!0,operator:c})}):null;return i==="workspace"?{busy:l,status:null,hint:"The agent's app. Every turn.",notice:s?null:n("p",{class:"muted",children:["No agent here uses ",e.name,"."]}),submit:()=>{},actions:s}:{busy:l,status:e.connectable?f?n(H,{tone:f.status==="needs-auth"?"warn":"ok",children:f.status==="needs-auth"?"needs sign-in":f.account??"connected"}):n(H,{children:"not connected"}):null,hint:"The member\u2019s own account. Their turns only.",notice:null,submit:()=>{if(e.connectable){if(f)return I(f.id);g({name:e.name,provider:e.id})}},actions:e.connectable?n(F,{type:"submit",loading:l,children:[n(K,{brand:e.brand}),f?"Sign in again":`Sign in to ${e.name}`]}):s}}function _n({server:e,target:a,name:i,scope:c,onAdded:r}){let m=G(),[u,l]=A(i??e?.title??m.get("add")??""),[g,I]=A(e?En(e):a??""),[f,w]=A(!1),[s,h]=A(m.get("access")??"auto"),{busy:v,add:B}=an(r),P=Y(null),k=!g.trim()||un(g),$=Un(e),rn=!k||f||$.length>0,U=k?s:"auto",T=$.find(d=>d.required)??$[0],W=$.filter(d=>d!==T),L=W.some(d=>d.required),V=[...e?.argumentInputs??[],...e?.env??[],...e?.headers??[]].some(d=>!d.secret),nn=d=>{let x=[...new FormData(d)].map(([y,R])=>[y,String(R).trim()]),q=y=>x.find(([R])=>R===y)?.[1]??"",Q=y=>Object.fromEntries(x.filter(([R,D])=>R.startsWith(y)&&D).map(([R,D])=>[R.slice(y.length),D])),z=g.trim();if(!u.trim()||!z||L)return;let cn=e?.command?En(e):void 0,ln=e&&z===cn?[e.command,...e.args??[]]:Dn(z),[dn,...t]=ln.map(y=>y.replace(/\{([^}]+)\}/g,(R,D)=>{let M=e?.argumentInputs?.find(en=>en.name===D||en.label===D);return M?q(`arg:${M.name}`):R})),p=Q("env:"),o=Q("header:"),C=k?{url:z,...e?.url===z?{type:e.type}:{},...Object.keys(o).length?{headers:o}:{}}:{command:dn,...t.length?{args:t}:{},...Object.keys(p).length?{env:p}:{}};e?.description&&(C.description=e.description);let b=q("key");B({name:u.trim(),provider:"mcp",...c==="personal"?{scope:"personal"}:{},...U==="auto"?{}:{access:U},endpoint:C,...b?{auth:"key",key:b,keyIn:k?{header:q("header")}:{env:q("env")}}:k?{}:{auth:"none"}},y=>{y.needs==="key"&&(w(!0),requestAnimationFrame(()=>P.current?.querySelector("input[name=key]")?.focus()))})},O=n("div",{ref:P,class:"add-form",children:[e?.description?n("p",{class:"muted",children:e.description}):null,n("div",{class:"add-grid",children:[n(E,{label:"Name",children:n("input",{name:"name",value:u,onInput:d=>l(d.currentTarget.value),placeholder:"Acme docs",autocomplete:"off",required:!0})}),n(E,{label:"URL or command",children:n("input",{name:"target",class:"mono",value:g,onInput:d=>I(d.currentTarget.value),placeholder:"https://mcp.acme.dev/mcp",autocomplete:"off",spellcheck:!1,required:!0})})]}),V?n("div",{class:"add-grid",children:[n(mn,{kind:"arg",list:e?.argumentInputs??[]}),n(mn,{kind:"env",list:(e?.env??[]).filter(d=>!d.secret)}),n(mn,{kind:"header",list:(e?.headers??[]).filter(d=>!d.secret)})]}):null,W.length?n("p",{class:"muted",role:"note",children:L?`This server needs ${Ln($.filter(d=>d.required))}, and a connection holds one key. Add it in the server's own config instead.`:`A connection holds one key, sent as ${T.name}. Add ${Ln(W)} in the server's own config when needed.`}):null,rn?n("div",{class:"add-grid",children:[n(E,{label:"API key",hint:k?void 0:"optional",children:n("input",{name:"key",type:"password",placeholder:"acme_live_4f9a\u2026",autocomplete:"off",required:!!k},e?.name)}),k?n(E,{label:"Header",children:n("input",{name:"header",class:"mono",defaultValue:T?.name??"Authorization",placeholder:"Authorization",autocomplete:"off",required:!0},`header:${T?.name}`)}):n(E,{label:"Environment variable",children:n("input",{name:"env",class:"mono",defaultValue:T?.name,placeholder:"ACME_API_KEY",autocomplete:"off"},`env:${T?.name}`)})]}):null,n("details",{class:"add-more",children:[n("summary",{children:"More options"}),n("div",{class:"add-grid",children:n(E,{label:"Access",hint:"read-only keeps only its read-only tools",group:!0,children:n(An,{label:"Access",options:k?pn:pn.filter(([d])=>d==="auto"),value:U,onChange:h})})})]})]});return{busy:v,body:O,submit:nn,actions:n(F,{type:"submit",disabled:L,loading:v,children:"Add connection"})}}function Kn({pick:e,rows:a,local:i,admin:c,operator:r,builtin:m,scope:u,onBack:l,onAdded:g,onClose:I}){let f=e.kind==="platform",[w,s]=A(i?"workspace":u??(f||!c?"personal":"workspace")),h=f?Hn({info:e.info,rows:a,scope:w,operator:r,builtin:m,onAdded:g}):void 0,v=f?void 0:_n({...e,scope:w,onAdded:g}),B=h??v,P=f?e.info.name:e.server?.title??"MCP server";return n(Z,{class:"add-modal",title:n("span",{class:"conn-title",children:[l?n(wn,{label:"Back",onClick:l,children:n(j,{d:hn})}):null,f?n(K,{brand:e.info.brand}):null,P]}),dismiss:!0,busy:B.busy,onSubmit:k=>{k.preventDefault(),B.submit(k.currentTarget)},onClose:I,actions:B.actions,children:[i?null:n("div",{class:"conn-scope",children:[n(E,{label:"Acts as",group:!0,children:f||c?n(Mn,{label:"Acts as",options:jn,value:w,onChange:k=>s(k)}):n("p",{class:"muted",children:"Personal. Admins add workspace servers."})}),h?n("p",{class:"conn-state",children:[h.status,n("span",{class:"muted",children:h.hint})]}):n("p",{class:"muted",children:w==="workspace"?"An admin\u2019s account. Every turn.":"The member\u2019s own account. Their turns only."})]}),h?.notice??null,v?.body??null]})}function On({catalog:e,rows:a,local:i,admin:c,operator:r,builtin:m,start:u,onAdded:l,onClose:g}){let I=G(),f=I.get("add"),w=e.find(P=>P.id===f),[s,h]=A(u?.pick??(w?{kind:"platform",info:w}:I.has("url")?{kind:"mcp",target:I.get("url")??"",name:f??void 0}:void 0)),v=u?.scope??I.get("scope")??void 0,B=e.filter(P=>P.personal||a.some(k=>k.agent&&k.provider===P.id));return s?n(Kn,{pick:s,rows:a,local:i,admin:c,operator:r,builtin:m,scope:v,onBack:u?void 0:()=>h(void 0),onAdded:l,onClose:g},s.kind==="platform"?s.info.id:s.server?.name??s.target):n(Z,{class:"add-modal",title:"Add a connection",dismiss:!0,onClose:g,children:n(xn,{platforms:B,onPick:h})})}var Wn=e=>e.url?URL.canParse(e.url)?new URL(e.url).host:e.url:e.command;function Vn(e,a){let i=new Map;for(let c of a.filter(r=>r.personal))i.set(c.id,{key:c.id,name:c.name,info:c,rows:[]});for(let c of e){let r=a.find(l=>l.id===c.provider),m=r?r.id:`mcp:${c.name.replace(/-user$/,"")}`,u=i.get(m)??{key:m,name:r?.name??c.name.replace(/-user$/,""),info:r,where:r?void 0:Wn(c),rows:[]};u.rows.push(c),i.set(m,u)}return[...i.values()]}function qn({row:e,label:a,onReconnect:i,busy:c}){let r=e.status==="needs-auth";return n(S,{children:[n("i",{class:r?"conn-dot warn":e.status==="disabled"?"conn-dot off":"conn-dot"}),n("span",{class:"conn-name",children:r?"needs sign-in":a??e.account??e.name}),e.access==="read-only"?n("span",{class:"dim",title:"Read-only",children:n(j,{d:yn})}):null,r&&i?n(F,{variant:"ghost",size:"sm",loading:c,onClick:i,children:"Reconnect"}):null]})}function zn({row:e,onReconnect:a,onRemoved:i}){let c=Fn({title:`Remove ${e.name}?`,body:"Tasks stop using it, and its key or sign-in is deleted.",link:e.name,onRemove:()=>N.connections.remove(e.id).then(i,Bn)});return n(S,{children:[n(vn,{button:"icon",label:`${e.name} actions`,summary:n(j,{d:bn}),children:[n(_,{title:e.auth==="key"?"New key":"Sign in again",onClick:a}),c.item]}),c.dialog]})}function De({first:e,catalog:a,local:i,admin:c,operator:r,viewer:m,agents:u,builtins:l}){let[g,I]=A(e.filter(t=>t.provider!=="env")),f=G(),w=f.get("reconnect"),s=f.get("connect"),[h,v]=A(g.find(t=>t.name===w&&t.auth==="key")),B=$n("Add connection",["url","access","tools","scope"]),[P,k]=A(),$=X({leaves:!0}),rn=tn(),U=t=>I(p=>p.some(o=>o.id===t.id)?p.map(o=>o.id===t.id?t:o):[...p,t]),T=t=>I(p=>p.filter(o=>o.id!==t.id)),{add:W}=an(U),L=t=>{if(t.auth==="key")return v(t);$.run(t.id,async()=>location.assign(sn((await N.connections.authorize(t.id)).url)))},V=Vn(g,a),nn=()=>{k(void 0),B.close()},O=l[0],[d,x]=A(),q=({step:t,info:p,agent:o=O.id,quiet:C})=>n(on,{step:t,info:p,org:rn,agent:o,builtin:!0,operator:r,unreachable:a.some(b=>b.unreachable),quiet:C}),Q=({accounts:t,title:p})=>n(S,{children:[n("i",{class:"conn-dot"}),n("span",{class:"conn-name",title:p,children:[...new Set(t.filter(Boolean))].join(", ")||"installed"}),n("span",{class:"grow"})]}),z=({info:t})=>{let p=l.flatMap(o=>(o.steps[t.id]?.live??[]).map(C=>({agent:o.name,account:C.account})));return p.length?n(S,{children:[n(Q,{accounts:p.map(o=>o.account),title:p.map(o=>`${o.agent} in ${o.account??t.name}`).join(", ")}),n(F,{size:"sm",variant:"ghost",onClick:()=>x(t),children:"Manage"})]}):n(S,{children:[n(H,{children:"not set up"}),n(F,{size:"sm",onClick:()=>x(t),children:["Set up ",t.name]})]})},cn=t=>{let p=t.rows.filter(b=>b.agent),o=t.rows.find(b=>!b.owner&&!b.agent);if(t.info?.builtinApp==="own"&&l.some(b=>b.steps[t.info.id]))return n("div",{class:"conn-cell",children:n(z,{info:t.info})});if(t.info){let b=t.info,y=O?.steps[b.id],R=[...new Set(p.map(M=>M.agent))].filter(M=>M!==O?.id),D=M=>u.find(en=>en.id===M)?.name??M;return n("div",{class:"conn-cell",children:[y?.live.length?n(Q,{accounts:y.live.map(M=>M.account)}):null,R.length?n("span",{class:"conn-others",title:`Their own ${b.name} apps: ${R.map(D).join(", ")}`,children:[n(j,{d:gn}),R.length]}):null,y?n(q,{step:y,info:b,quiet:!0}):null,y||R.length?null:n("span",{class:"dim",children:"\u2014"})]})}if(o)return n("div",{class:"conn-cell",children:[n(qn,{row:o,label:o.name,busy:$.pending===o.id,onReconnect:c?()=>L(o):void 0}),n("span",{class:"grow"}),c?n(zn,{row:o,onReconnect:()=>L(o),onRemoved:()=>T(o)}):null]});let C=t.rows[0];return c&&C?n(F,{variant:"ghost",size:"sm",leftIcon:J,onClick:()=>k({pick:{kind:"mcp",target:C.url??C.command,name:t.name},scope:"workspace"}),children:"Connect"}):n("span",{class:"dim",children:"\u2014"})},ln=t=>{let p=t.rows.find(y=>y.asker),o=t.rows.filter(y=>y.owner&&!y.asker),C=t.rows[0],b=o.length?n("span",{class:"conn-others",title:o.map(y=>y.owner?.name??"A member").join(", "),children:[n(j,{d:kn}),o.length]}):null;return n("div",{class:"conn-cell",children:p?n(S,{children:[n(qn,{row:p,busy:$.pending===p.id,onReconnect:()=>L(p)}),n("span",{class:"grow"}),b,n(zn,{row:p,onReconnect:()=>L(p),onRemoved:()=>T(p)})]}):t.info&&!t.info.connectable?n(S,{children:[n("span",{class:"dim grow",children:"\u2014"}),b]}):n(S,{children:[n(F,{variant:"ghost",size:"sm",leftIcon:J,autoFocus:t.key===s,onClick:()=>t.info?W({name:t.info.name,provider:t.info.id}):k({pick:{kind:"mcp",target:C?.url??C?.command,name:t.name},scope:"personal"}),children:"Connect"}),n("span",{class:"grow"}),b]})})},dn=[["Platforms",V.filter(t=>t.info)],["MCP servers",V.filter(t=>!t.info)]].filter(([,t])=>t.length);return n(S,{children:[n(Cn,{look:"filled",title:"Connections",actions:B.button,children:[V.length?n(S,{children:[n("div",{class:"table-scroll",children:n("table",{class:"conns",children:[n("colgroup",{children:[n("col",{class:"conns-svc"}),n("col",{}),i?null:n("col",{})]}),n("thead",{children:n("tr",{children:[n("th",{children:"Service"}),n("th",{children:"Workspace"}),i?null:n("th",{children:m?`Personal \xB7 ${m}`:"Personal"})]})}),dn.map(([t,p])=>n("tbody",{children:[n("tr",{class:"conns-group",children:n("th",{colSpan:i?2:3,children:t})}),p.map(o=>n("tr",{class:o.key===s?"conns-marked":void 0,children:[n("td",{children:n("span",{class:"conn-svc",title:o.where,children:[o.info?n(K,{brand:o.info.brand}):n("span",{class:"conn-mark",children:o.name[0]}),n("b",{children:o.name})]})}),o.info&&!o.info.connectable&&!o.rows.length&&!l.some(C=>C.steps[o.info.id]?.live.length)?n("td",{colSpan:i?1:2,children:n("div",{class:"conn-cell",children:o.info.builtinApp==="own"&&l.some(C=>C.steps[o.info.id])?n(z,{info:o.info}):O?.steps[o.info.id]?n(q,{step:O.steps[o.info.id],info:o.info}):n("span",{class:"dim",children:"\u2014"})})}):n(S,{children:[n("td",{children:cn(o)}),i?null:n("td",{children:ln(o)})]})]},o.key))]},t))]})}),i?null:n("p",{class:"conns-hint",children:"Personal accounts run only on their owner's turns."})]}):n(Sn,{title:"No connections yet",children:"Add one so tasks can use another service, like an issue tracker or a database."}),h?n(Qn,{row:h,onSaved:t=>{U(t),v(void 0)},onClose:()=>v(void 0)}):null]}),d?n(Z,{title:`${d.name} apps`,dismiss:!0,onClose:()=>x(void 0),children:[n("p",{class:"muted",children:["Each agent has its own ",d.name," app, so each answers as its own @name in"," ",d.name,". Set one up for every built-in agent that should work there."]}),n("div",{class:"agent-apps",children:l.filter(t=>t.steps[d.id]).map(t=>n("div",{class:"agent-app",children:[n("b",{children:t.name}),n(q,{step:t.steps[d.id],info:d,agent:t.id})]},t.id))}),n("p",{class:"muted",children:"Other agents set theirs up on their own Platforms tab."})]}):null,B.open||P?n(On,{catalog:a,rows:g,local:i,admin:c,operator:r,builtin:O,start:P,onAdded:t=>{U(t),nn()},onClose:nn}):null]})}function Qn({row:e,onSaved:a,onClose:i}){let c=X({leaves:!0}),r=!!c.pending,m=Y(null);return fn(()=>m.current?.focus(),[]),n("form",{class:"add-row conn-key",method:"post",onSubmit:u=>{u.preventDefault();let l=String(new FormData(u.currentTarget).get("key")??"").trim();l&&c.run("save",async()=>a(await N.connections.update(e.id,{key:l})))},children:[n("input",{name:"key",type:"password","aria-label":`New key for ${e.name}`,placeholder:`New key for ${e.name}, then Enter`,ref:m,autocomplete:"off",required:!0}),n(F,{type:"submit",loading:r,children:"Save key"}),n(F,{variant:"ghost",disabled:r,onClick:i,children:"Cancel"})]})}export{De as ConnectionsList};
@@ -1 +1 @@
1
- import{$4O as l,$4Q as e,$4U as c,$4w as r}from"./shared-init-7a7f1e623f0f5861.js";import{$2h as n}from"./shared-init-3fcac605fffcc273-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};
1
+ import{$3O as l,$3Q as e,$3U as c,$3w as r}from"./shared-init-4f4cac48ca0ef193.js";import{$3h as n}from"./shared-init-9b28886f3cbe0ed3-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{a as u,e as g}from"./platform-actions-055a2e246fca7af9.js";import"./copy-eeb076af6e19e501.js";import"./segmented-a994b4c20434c0ad.js";import"./confirm-c0c0642856e64b11.js";import"./outcome-dialog-36842dfe50be1c85.js";import"./field-7c895f6d8d5d9eb3.js";import{$1a as l}from"./shared-init-e8cf924a73e46497.js";import"./shared-init-e8cf924a73e46497.js";import"./shared-init-4f4cac48ca0ef193.js";import"./shared-init-4f4cac48ca0ef193.js";import{$1c as c,$1r as f}from"./shared-init-4f4cac48ca0ef193.js";import"./wular-pnext-9b28886f3cbe0ed3-0.js";import"./shared-init-4f4cac48ca0ef193.js";import{$3Q as e,$3S as m}from"./shared-init-4f4cac48ca0ef193.js";import"./shared-init-9b28886f3cbe0ed3-2.js";import"./shared-init-9b28886f3cbe0ed3-2.js";import{$3h as t,$3j as p}from"./shared-init-9b28886f3cbe0ed3-2.js";function v({integration:r,state:i,info:o}){let[d,C]=t(!1),[b,a]=t(!0),[n,h]=t(),s=()=>c.apps.start(r,i);return p(()=>{u(o?.create,i,s).then(h).catch(y=>{C(!0),l(y)})},[]),d?null:n?b?e(g,{integration:r,step:n,start:s,unreachable:o?.unreachable,onClose:()=>a(!1)}):e(m,{onClick:()=>a(!0),children:n.submit}):e(f,{label:`Opening ${o?.name??r}`})}export{v as CreateLink};
@@ -1 +1 @@
1
- "use client";import{a as te}from"./combo-7b125f3927083749.js";import{e as Z,n as Q}from"./model-options-5e07b3318d69d218.js";import{a as X}from"./types-3eca2c7f47c46054.js";import{d as ee,e as ne,f as Y}from"./list-84356c9286747b10.js";import{a as F}from"./copy-38fa78628f39ec10.js";import"./confirm-6e26ab941d655b9f.js";import{$1a as E,$1b as O}from"./shared-init-a69029db2d72fb52.js";import{$0h as M}from"./shared-init-a69029db2d72fb52.js";import"./shared-init-7a7f1e623f0f5861.js";import{$2D as J,$2a as z,$2k as K,$2z as q}from"./shared-init-7a7f1e623f0f5861.js";import{$0c as g,$0e as N,$0k as W,$0o as A,$0r as L}from"./shared-init-7a7f1e623f0f5861.js";import"./wular-pnext-3fcac605fffcc273-0.js";import{$3a as V}from"./shared-init-7a7f1e623f0f5861.js";import{$4Q as e,$4R as _,$4S as S,$4w as D}from"./shared-init-7a7f1e623f0f5861.js";import"./shared-init-3fcac605fffcc273-2.js";import"./shared-init-3fcac605fffcc273-2.js";import{$2c as k,$2h as C,$2j as B,$2l as $}from"./shared-init-3fcac605fffcc273-2.js";var P=[{id:"claude",name:"Claude",key:"ANTHROPIC_API_KEY",signIn:"Claude"},{id:"codex",name:"Codex",key:"OPENAI_API_KEY",signIn:"ChatGPT"}],ie=[...P.map(t=>t.key),...Q.flatMap(t=>t.envKey||[])],se=(t,u)=>ie.find(l=>l!==u&&!t.some(f=>f.name===l))??"";function re({keys:t,admin:u,focus:l,ask:f}){let[c,h]=C(P.find(p=>p.id===l)?.key??(/^[A-Z][A-Z0-9_]*$/.test(l)?l:se(t))),[m,y]=C(u?"workspace":"personal"),o=$(null),d=O({toast:"Not saved",refresh:!0});return B(()=>{l&&o.current?.focus()},[]),e("form",{class:"cred-add",method:"post",onSubmit:p=>{p.preventDefault();let a=p.currentTarget,s=c.trim(),b=String(new FormData(a).get("key")??"").trim();if(!s||!b)return;let I=()=>void d.run("add",async()=>{await g.credentials.add({env:{[s]:b},...m==="workspace"?{workspace:!0}:{}}),a.reset(),h(se(t,s))});t.some(w=>w.name===s&&w.scope===m)?f(ee(s,m),I):I()},children:[e(te,{label:"Variable",name:"name",class:"mono cred-var",options:ie,placeholder:"OPENAI_API_KEY",value:c,onChange:h}),e("input",{type:"password",name:"key",autocomplete:"off","aria-label":"API key",placeholder:"API key",ref:o,"aria-busy":!!d.pending,required:!0}),u?e(q,{label:"Who can use this key",options:Z,value:m,onChange:y}):null,e(S,{type:"submit",loading:!!d.pending,children:"Add"})]})}function de({login:t,engine:u,onChange:l,onDone:f,onError:c,onCancel:h}){let[m,y]=C();N(t.id&&t.state!=="done"&&t.state!=="failed"?a=>g.credentials.loginStatus(t.id).then(s=>{if(!a.aborted){if(s.state==="done")return f();if(s.state==="failed")return c(s.error??"Sign-in failed. Try again.");t.state==="verifying"&&s.state==="open"&&s.url===m||l(s)}}).catch(s=>{if(a.aborted)return;let b=s.status;if(b===void 0||b>=500)return console.error("coder dashboard: sign-in status",s);c(M(s))}):void 0,800,[t.id]);let o=a=>{y(t.url),l({...t,state:"verifying"}),g.credentials.loginCode(t.id,a).catch(s=>c(M(s)))},d=t.state==="verifying",p=!!m&&t.state==="open"&&t.url!==m;return e(V,{class:"sign-in",title:`Sign in with ${u.signIn}`,cancelDanger:!0,onClose:h,children:[e("p",{class:"muted",children:"Coder signs in on a private machine and keeps the sign-in for your tasks."}),e("div",{class:"sign-link",children:t.url?e(k,{children:[e(S,{href:t.url,external:!0,autoFocus:!0,children:["Open ",new URL(t.url).host]}),e(F,{value:t.url,label:"Copy link"})]}):e(L,{label:"Starting the sign-in machine\u2026",inline:!0})}),e("ol",{class:"steps-list sign-steps",role:"status",children:t.engine==="codex"?e(k,{children:[e("li",{children:["Open the sign-in page and enter this code.",t.code?e("span",{class:"code-box",children:[t.code,e(F,{value:t.code,label:"Copy code"})]}):null]}),e("li",{children:t.url?e(L,{label:"Waiting for your approval on the sign-in page\u2026",inline:!0}):"Approve it there."})]}):e(k,{children:[e("li",{children:["Open the ",u.signIn," sign-in and approve it."]}),e("li",{children:[p?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 ${u.signIn} sign-in page`,placeholder:"Paste the code from the sign-in page",disabled:t.state!=="open",onPaste:a=>{let s=a.clipboardData?.getData("text").trim();s&&(a.preventDefault(),a.currentTarget.value=s,o(s))},onKeyDown:a=>{let s=a.currentTarget.value.trim();a.key==="Enter"&&s&&o(s)}},t.url),d?e(L,{label:"Checking the code\u2026",inline:!0}):null]})]})})]})}function Te({status:t}){let[u,l]=C(t),f=O(),[c,h]=C(),m=f.pending??(c?`${c.engine}:login`:"");N(c?async o=>{let d=await g.engines.status();o.aborted||(l(d),(d[c.engine]?.signedIn||Date.now()>c.until)&&h(void 0))}:void 0,2e3,[c]);let y=(o,d)=>void f.run(`${o}:${d}`,async()=>{l(await g.engines[d](o)),d==="login"&&h({engine:o,until:Date.now()+5*6e4})});return e(k,{children:[P.map(o=>{let d=u[o.id],p=m===`${o.id}:login`;return e(A,{look:"filled",title:o.name,children:e("div",{class:"cred-new",children:[d?.signedIn?e("span",{class:"signed grow",children:[e(_,{d:D}),"Signed in to ",o.name]}):p?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(S,{variant:"secondary",danger:!0,size:"sm",loading:m===`${o.id}:logout`,onClick:()=>y(o.id,"logout"),children:"Sign out"}):e(S,{variant:"secondary",size:"sm",loading:p,disabled:!!m,onClick:()=>y(o.id,"login"),children:"Sign in"}),p?e(S,{variant:"ghost",size:"sm",onClick:()=>h(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 Be({rows:t,me:u,focus:l}){let f=z(),c=J(),[h,m]=C({}),[y,o]=C(!1),d=X(u),p=P.filter(n=>u.user&&u.server?.subscriptions?.[n.id]),a=t.filter(n=>!n.subscription),s=O({refresh:!0}),b=ne(),I=`coder-logins:${c}`,w=()=>{try{return JSON.parse(sessionStorage.getItem(I)??"{}")}catch{return{}}},v=(n,i)=>{m(r=>({...r,[n]:i}));try{let r={...w(),[n]:i?.id||void 0};sessionStorage.setItem(I,JSON.stringify(r))}catch{}},R=$(new Set);B(()=>{for(let[n,i]of Object.entries(w()))g.credentials.loginStatus(i).then(r=>{if(!R.current.has(n)){if(r.state==="done")return x(n);if(r.state==="failed")return v(n),E(r.error??"Sign-in failed. Try again.");v(n,r)}}).catch(()=>{R.current.has(n)||v(n)})},[]);let x=n=>{v(n),f.refresh()},U=n=>{R.current.add(n),v(n,{id:"",engine:n,state:"starting"}),g.credentials.login(n).then(i=>v(n,i)).catch(i=>{v(n),E(i)})},G=n=>t.find(i=>i.subscription&&i.name===n),H=(n,i)=>G(n.id)?b.ask(`Replace the personal ${n.name} subscription?`,i):i(),j=n=>s.run(`remove:${n.scope}/${n.name}`,()=>g.credentials.remove(n.name,{workspace:n.scope==="workspace"}));return e(k,{children:[p.length?e(A,{look:"filled",title:"Subscriptions",children:e("div",{class:"cred-engine",children:[e("p",{class:"muted cred-note",children:["Personal: each member signs in with their own. A subscription runs its owner's tasks, and platform turns from accounts connected on"," ",e("a",{class:"link",href:`/dash/${c}/settings/connections`,children:"Connections"}),"."]}),e("table",{class:"rows creds",children:e("tbody",{children:p.map(n=>{let i=G(n.id),r=h[n.id],oe=[i?.account?.email,i?.account?.plan];return e(Y,{title:n.name,sub:i?oe.filter(Boolean).join(" \xB7 "):void 0,actions:e(k,{children:[i?e("span",{class:"signed",children:[e(_,{d:D}),"Connected"]}):e(S,{autoFocus:l===n.id,disabled:!!r,onClick:()=>U(n.id),children:["Sign in with ",n.signIn]}),r?e(de,{login:r,engine:n,onChange:T=>v(r.engine,T),onDone:()=>x(r.engine),onError:T=>{v(r.engine),E(T)},onCancel:()=>{v(r.engine),r.id&&g.credentials.cancelLogin(r.id).catch(E)}}):null]}),alignMenu:!0,menu:i||n.id==="claude"?e(k,{children:[i?e(K,{title:"Sign in again",disabled:!!r,onClick:()=>H(n,()=>U(n.id))}):null,n.id==="claude"?e(K,{title:"Paste a setup token",onClick:()=>o(!0)}):null]}):void 0,remove:i?{label:"Sign out",title:`Sign out of ${n.name}?`,body:"Tasks that use it stop running.",onRemove:()=>j(i)}:void 0},n.id)})})}),y?e("div",{class:"cred-new",children:e("form",{class:"cred-add",method:"post",onSubmit:n=>{n.preventDefault();let i=String(new FormData(n.currentTarget).get("token")??"");i.trim()&&H(P[0],()=>void s.run("token",async()=>{await g.credentials.add({env:{CLAUDE_CODE_OAUTH_TOKEN:i.trim()}}),o(!1)}))},children:[e("input",{type:"password",name:"token",autocomplete:"off","aria-label":"Your claude setup-token",placeholder:"Paste a claude setup-token",ref:n=>n?.focus(),required:!0}),e(S,{type:"submit",loading:s.pending==="token",children:"Add"})]})}):null]})}):null,e(A,{look:"filled",title:"API keys",count:a.length||void 0,children:e("div",{class:"cred-engine",children:[e("p",{class:"muted cred-note",children:["Tasks read each key as its variable. Claude uses ANTHROPIC_API_KEY, Codex uses OPENAI_API_KEY, and a"," ",e("a",{class:"link",href:`/dash/${c}/settings/models`,children:"custom model"})," ","uses the one it names."]}),a.length?e("table",{class:"rows creds",children:e("tbody",{children:a.map(n=>e(Y,{title:n.name,badges:e(W,{children:n.scope}),sub:n.masked,remove:n.scope==="personal"||d?{title:`Remove ${n.name}?`,body:"Tasks that use it stop running.",link:n.name,onRemove:()=>j(n)}:void 0},`${n.scope}/${n.name}`))})}):null,e("div",{class:"cred-new",children:e(re,{keys:a,admin:d,focus:p.some(n=>n.id===l)?"":l,ask:b.ask})})]})}),b.dialog]})}export{Be as CredentialsList,Te as EngineLogins};
1
+ "use client";import{a as te}from"./combo-460bff876882c694.js";import{e as Z,n as Q}from"./model-options-5e07b3318d69d218.js";import{a as X}from"./types-3eca2c7f47c46054.js";import{d as ee,e as ne,f as Y}from"./list-c0633e5e742dff16.js";import{a as F}from"./copy-eeb076af6e19e501.js";import"./confirm-c0c0642856e64b11.js";import{$1a as E,$1b as O}from"./shared-init-e8cf924a73e46497.js";import{$0h as M}from"./shared-init-e8cf924a73e46497.js";import"./shared-init-4f4cac48ca0ef193.js";import{$4D as J,$4a as z,$4k as K,$4z as q}from"./shared-init-4f4cac48ca0ef193.js";import{$1c as g,$1e as N,$1k as W,$1o as A,$1r as L}from"./shared-init-4f4cac48ca0ef193.js";import"./wular-pnext-9b28886f3cbe0ed3-0.js";import{$0a as V}from"./shared-init-4f4cac48ca0ef193.js";import{$3Q as e,$3R as _,$3S as S,$3w as D}from"./shared-init-4f4cac48ca0ef193.js";import"./shared-init-9b28886f3cbe0ed3-2.js";import"./shared-init-9b28886f3cbe0ed3-2.js";import{$3c as k,$3h as C,$3j as B,$3l as $}from"./shared-init-9b28886f3cbe0ed3-2.js";var P=[{id:"claude",name:"Claude",key:"ANTHROPIC_API_KEY",signIn:"Claude"},{id:"codex",name:"Codex",key:"OPENAI_API_KEY",signIn:"ChatGPT"}],ie=[...P.map(t=>t.key),...Q.flatMap(t=>t.envKey||[])],se=(t,u)=>ie.find(l=>l!==u&&!t.some(f=>f.name===l))??"";function re({keys:t,admin:u,focus:l,ask:f}){let[c,h]=C(P.find(p=>p.id===l)?.key??(/^[A-Z][A-Z0-9_]*$/.test(l)?l:se(t))),[m,y]=C(u?"workspace":"personal"),o=$(null),d=O({toast:"Not saved",refresh:!0});return B(()=>{l&&o.current?.focus()},[]),e("form",{class:"cred-add",method:"post",onSubmit:p=>{p.preventDefault();let a=p.currentTarget,s=c.trim(),b=String(new FormData(a).get("key")??"").trim();if(!s||!b)return;let I=()=>void d.run("add",async()=>{await g.credentials.add({env:{[s]:b},...m==="workspace"?{workspace:!0}:{}}),a.reset(),h(se(t,s))});t.some(w=>w.name===s&&w.scope===m)?f(ee(s,m),I):I()},children:[e(te,{label:"Variable",name:"name",class:"mono cred-var",options:ie,placeholder:"OPENAI_API_KEY",value:c,onChange:h}),e("input",{type:"password",name:"key",autocomplete:"off","aria-label":"API key",placeholder:"API key",ref:o,"aria-busy":!!d.pending,required:!0}),u?e(q,{label:"Who can use this key",options:Z,value:m,onChange:y}):null,e(S,{type:"submit",loading:!!d.pending,children:"Add"})]})}function de({login:t,engine:u,onChange:l,onDone:f,onError:c,onCancel:h}){let[m,y]=C();N(t.id&&t.state!=="done"&&t.state!=="failed"?a=>g.credentials.loginStatus(t.id).then(s=>{if(!a.aborted){if(s.state==="done")return f();if(s.state==="failed")return c(s.error??"Sign-in failed. Try again.");t.state==="verifying"&&s.state==="open"&&s.url===m||l(s)}}).catch(s=>{if(a.aborted)return;let b=s.status;if(b===void 0||b>=500)return console.error("coder dashboard: sign-in status",s);c(M(s))}):void 0,800,[t.id]);let o=a=>{y(t.url),l({...t,state:"verifying"}),g.credentials.loginCode(t.id,a).catch(s=>c(M(s)))},d=t.state==="verifying",p=!!m&&t.state==="open"&&t.url!==m;return e(V,{class:"sign-in",title:`Sign in with ${u.signIn}`,cancelDanger:!0,onClose:h,children:[e("p",{class:"muted",children:"Coder signs in on a private machine and keeps the sign-in for your tasks."}),e("div",{class:"sign-link",children:t.url?e(k,{children:[e(S,{href:t.url,external:!0,autoFocus:!0,children:["Open ",new URL(t.url).host]}),e(F,{value:t.url,label:"Copy link"})]}):e(L,{label:"Starting the sign-in machine\u2026",inline:!0})}),e("ol",{class:"steps-list sign-steps",role:"status",children:t.engine==="codex"?e(k,{children:[e("li",{children:["Open the sign-in page and enter this code.",t.code?e("span",{class:"code-box",children:[t.code,e(F,{value:t.code,label:"Copy code"})]}):null]}),e("li",{children:t.url?e(L,{label:"Waiting for your approval on the sign-in page\u2026",inline:!0}):"Approve it there."})]}):e(k,{children:[e("li",{children:["Open the ",u.signIn," sign-in and approve it."]}),e("li",{children:[p?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 ${u.signIn} sign-in page`,placeholder:"Paste the code from the sign-in page",disabled:t.state!=="open",onPaste:a=>{let s=a.clipboardData?.getData("text").trim();s&&(a.preventDefault(),a.currentTarget.value=s,o(s))},onKeyDown:a=>{let s=a.currentTarget.value.trim();a.key==="Enter"&&s&&o(s)}},t.url),d?e(L,{label:"Checking the code\u2026",inline:!0}):null]})]})})]})}function Te({status:t}){let[u,l]=C(t),f=O(),[c,h]=C(),m=f.pending??(c?`${c.engine}:login`:"");N(c?async o=>{let d=await g.engines.status();o.aborted||(l(d),(d[c.engine]?.signedIn||Date.now()>c.until)&&h(void 0))}:void 0,2e3,[c]);let y=(o,d)=>void f.run(`${o}:${d}`,async()=>{l(await g.engines[d](o)),d==="login"&&h({engine:o,until:Date.now()+5*6e4})});return e(k,{children:[P.map(o=>{let d=u[o.id],p=m===`${o.id}:login`;return e(A,{look:"filled",title:o.name,children:e("div",{class:"cred-new",children:[d?.signedIn?e("span",{class:"signed grow",children:[e(_,{d:D}),"Signed in to ",o.name]}):p?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(S,{variant:"secondary",danger:!0,size:"sm",loading:m===`${o.id}:logout`,onClick:()=>y(o.id,"logout"),children:"Sign out"}):e(S,{variant:"secondary",size:"sm",loading:p,disabled:!!m,onClick:()=>y(o.id,"login"),children:"Sign in"}),p?e(S,{variant:"ghost",size:"sm",onClick:()=>h(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 Be({rows:t,me:u,focus:l}){let f=z(),c=J(),[h,m]=C({}),[y,o]=C(!1),d=X(u),p=P.filter(n=>u.user&&u.server?.subscriptions?.[n.id]),a=t.filter(n=>!n.subscription),s=O({refresh:!0}),b=ne(),I=`coder-logins:${c}`,w=()=>{try{return JSON.parse(sessionStorage.getItem(I)??"{}")}catch{return{}}},v=(n,i)=>{m(r=>({...r,[n]:i}));try{let r={...w(),[n]:i?.id||void 0};sessionStorage.setItem(I,JSON.stringify(r))}catch{}},R=$(new Set);B(()=>{for(let[n,i]of Object.entries(w()))g.credentials.loginStatus(i).then(r=>{if(!R.current.has(n)){if(r.state==="done")return x(n);if(r.state==="failed")return v(n),E(r.error??"Sign-in failed. Try again.");v(n,r)}}).catch(()=>{R.current.has(n)||v(n)})},[]);let x=n=>{v(n),f.refresh()},U=n=>{R.current.add(n),v(n,{id:"",engine:n,state:"starting"}),g.credentials.login(n).then(i=>v(n,i)).catch(i=>{v(n),E(i)})},G=n=>t.find(i=>i.subscription&&i.name===n),H=(n,i)=>G(n.id)?b.ask(`Replace the personal ${n.name} subscription?`,i):i(),j=n=>s.run(`remove:${n.scope}/${n.name}`,()=>g.credentials.remove(n.name,{workspace:n.scope==="workspace"}));return e(k,{children:[p.length?e(A,{look:"filled",title:"Subscriptions",children:e("div",{class:"cred-engine",children:[e("p",{class:"muted cred-note",children:["Personal: each member signs in with their own. A subscription runs its owner's tasks, and platform turns from accounts connected on"," ",e("a",{class:"link",href:`/dash/${c}/settings/connections`,children:"Connections"}),"."]}),e("table",{class:"rows creds",children:e("tbody",{children:p.map(n=>{let i=G(n.id),r=h[n.id],oe=[i?.account?.email,i?.account?.plan];return e(Y,{title:n.name,sub:i?oe.filter(Boolean).join(" \xB7 "):void 0,actions:e(k,{children:[i?e("span",{class:"signed",children:[e(_,{d:D}),"Connected"]}):e(S,{autoFocus:l===n.id,disabled:!!r,onClick:()=>U(n.id),children:["Sign in with ",n.signIn]}),r?e(de,{login:r,engine:n,onChange:T=>v(r.engine,T),onDone:()=>x(r.engine),onError:T=>{v(r.engine),E(T)},onCancel:()=>{v(r.engine),r.id&&g.credentials.cancelLogin(r.id).catch(E)}}):null]}),alignMenu:!0,menu:i||n.id==="claude"?e(k,{children:[i?e(K,{title:"Sign in again",disabled:!!r,onClick:()=>H(n,()=>U(n.id))}):null,n.id==="claude"?e(K,{title:"Paste a setup token",onClick:()=>o(!0)}):null]}):void 0,remove:i?{label:"Sign out",title:`Sign out of ${n.name}?`,body:"Tasks that use it stop running.",onRemove:()=>j(i)}:void 0},n.id)})})}),y?e("div",{class:"cred-new",children:e("form",{class:"cred-add",method:"post",onSubmit:n=>{n.preventDefault();let i=String(new FormData(n.currentTarget).get("token")??"");i.trim()&&H(P[0],()=>void s.run("token",async()=>{await g.credentials.add({env:{CLAUDE_CODE_OAUTH_TOKEN:i.trim()}}),o(!1)}))},children:[e("input",{type:"password",name:"token",autocomplete:"off","aria-label":"Your claude setup-token",placeholder:"Paste a claude setup-token",ref:n=>n?.focus(),required:!0}),e(S,{type:"submit",loading:s.pending==="token",children:"Add"})]})}):null]})}):null,e(A,{look:"filled",title:"API keys",count:a.length||void 0,children:e("div",{class:"cred-engine",children:[e("p",{class:"muted cred-note",children:["Tasks read each key as its variable. Claude uses ANTHROPIC_API_KEY, Codex uses OPENAI_API_KEY, and a"," ",e("a",{class:"link",href:`/dash/${c}/settings/models`,children:"custom model"})," ","uses the one it names."]}),a.length?e("table",{class:"rows creds",children:e("tbody",{children:a.map(n=>e(Y,{title:n.name,badges:e(W,{children:n.scope}),sub:n.masked,remove:n.scope==="personal"||d?{title:`Remove ${n.name}?`,body:"Tasks that use it stop running.",link:n.name,onRemove:()=>j(n)}:void 0},`${n.scope}/${n.name}`))})}):null,e("div",{class:"cred-new",children:e(re,{keys:a,admin:d,focus:p.some(n=>n.id===l)?"":l,ask:b.ask})})]})}),b.dialog]})}export{Be as CredentialsList,Te as EngineLogins};
@@ -1 +1 @@
1
- import{a as e}from"./field-444bab2e16b91c26.js";import{$2a as s,$2f as f,$2h as c}from"./shared-init-7a7f1e623f0f5861.js";import{$0f as p}from"./shared-init-7a7f1e623f0f5861.js";import{$4Q as t,$4R as u,$4S as l,$4h as i}from"./shared-init-7a7f1e623f0f5861.js";import{$2c as n}from"./shared-init-3fcac605fffcc273-2.js";function x({page:o,from:d,to:g,today:m,on:h}){let y=s();return t(p,{class:h?"custom on":"custom",align:"left",summary:t(n,{children:["Custom",t(u,{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:f(o).params,search:c(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(l,{type:"submit",size:"sm","data-keep":!0,children:"Apply"})]})})}export{x as a};
1
+ import{a as e}from"./field-7c895f6d8d5d9eb3.js";import{$4a as s,$4f as f,$4h as c}from"./shared-init-4f4cac48ca0ef193.js";import{$1f as p}from"./shared-init-4f4cac48ca0ef193.js";import{$3Q as t,$3R as u,$3S as l,$3h as i}from"./shared-init-4f4cac48ca0ef193.js";import{$3c as n}from"./shared-init-9b28886f3cbe0ed3-2.js";function x({page:o,from:d,to:g,today:m,on:h}){let y=s();return t(p,{class:h?"custom on":"custom",align:"left",summary:t(n,{children:["Custom",t(u,{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:f(o).params,search:c(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(l,{type:"submit",size:"sm","data-keep":!0,children:"Apply"})]})})}export{x as a};